Difference: AMC13ToolRecipes (3 vs. 4)

Revision 427 Sep 2012 - CharlieHill

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

AMC13Tool Common Procedures

Added:
>
>
Actions
Update Firmware
Initialize AMC13
Read Out Data

 

Update Firmware

Changed:
<
<
  • Make sure that you have the latest firmware files for both the Spartan and Virtex chips by downloading the latest '.mcs' files from here, if needed e.g.
>
>
  • Make sure that you have the latest firmware files for both the Spartan and Virtex chips by downloading the latest '.mcs' files from here, if needed e.g.
 
   cd ~/amc13_mcs
   wget http://physics.bu.edu/~wusx/download/AMC13/AMC13T1v0x0017_6vlx130t.mcs
   
Changed:
<
<
  • Go to the directory which contains the desired firmware files and run AMC13Tool from this directory e.g.
>
>
  • Go to the directory which contains the desired firmware files and run AMC13Tool from this directory e.g.
 
   cd ~/amc13_mcs 
   ~/src/11_5_3/hcal/hcalUpgrade/amc13/bin/linux/x86_64_slc5/AMC13Tool.exe
Line: 18 to 24
  Pick an action (h for menu): pv Current Virtex firmware version: 0x14
Deleted:
<
<
Invalid file name: AMC13T1v0x00gy_6slx130t.mcs Version number is not a hex integer!
 
  1. ) AMC13T1v0x000f_6vlx130t.mcs
  2. ) AMC13T1v0x0010_6vlx130t.mcs
  3. ) AMC13T1v0x0012_6vlx130t.mcs
Line: 31 to 34
  Select desired MCS file. Hit to select best highlighted option Type '1-6' to select or '0' for menu:
Changed:
<
<
  • Check to make sure that the Current Virtex Firmware Version is not already the latest. If it is, then your firmware does not need to be updated; type '0' to return to the main menu
  • Hit enter to select the highlighted file, which is the latest-version firmware file found in the current directory
>
>
  • Check to make sure that the Current Virtex Firmware Version is not already the latest! If it is, then your firmware does not need to be updated; type '0' to return to the main menu
  • Type <CR> to select the highlighted file, which is the latest-version firmware file found in the current directory
 

Changed:
<
<
./AMC13T1v0x0017_6vlx130t.mcs=
>
>
./AMC13T1v0x0017_6vlx130t.mcs
  WARNING: you are about to reprogram flash memory. Are you sure? (y)
Changed:
<
<
  • Type 'y' to program the flash or hit enter (or any other key) to quit flash programming
>
>
  • Type 'y' to program the flash or hit any other key to quit flash programming
 
  • After the flash has been programmed, you should see the following message:
       Flash successfully programmed and verified.
       Load the new flash memory to the chips to complete firmware update
       
  • This message indicates that the flash has been successfully programmed and verified! You are now ready to load the new firmware to the chip from flash memory.
Changed:
<
<
  • The same exact process should be followed to program the Spartan Flash memory, using the initial command
    • Pick an action (h for menu): ps
  • Now that your flash memory has been successfully programmed, you are ready to load the flash to your Spartan and Virtex FPGAs.
>
>
  • The same exact process should be followed to program the Spartan Flash memory, using the initial command:
        Pick an action (h for menu): ps
       
  • Now that your flash memory has been successfully programmed, you are ready to load the flash to your Spartan and Virtex FPGAs:
 
   Pick an action (h for menu): L
   WARNING: you are about to reconfigure both spartan and virtex from flash memory. Are you sure? (y) y

Line: 61 to 66
 
  • As we can see, the Virtex Firmware version has been updated to 0x17. Our AMC13 now has new Firmware!
Added:
>
>
 

Initialize AMC13

  • Before enabling your AMC13, it is a good idea to reset both chips and all counters:
    
    
Line: 70 to 76
  Pick an action (h for menu): rc * Virtex Counters have been issued a reset *
Changed:
<
<
  • To enable the AMC13 from a list of inputs, use the command 'en' followed by the list of inputs to be enabled and a set of desired initialization conditions (which are specified here), e.g.
>
>
  • To enable the AMC13 from a list of inputs, use the command 'i' followed by the list of inputs to be enabled and a set of desired initialization conditions (which are specified here).
    • For example, to initialize AMCs 4 and 10 and to assert TTS backpressure, the command looks like:
 

Changed:
<
<
Pick an action (h for menu): en 4 10 b
>
>
Pick an action (h for menu): i 4 10 b
  Enabling AMC inputs from list: 4, 10 Link status: 04100410 Stop EvB when Mon Buf Full
'CONTROL1'
00174001
Changed:
<
<
  • Check the status of the AMC13 counters and Control registers. It should look something like this (but not exactly!):
>
>
  • Check the status of the AMC13 counters and Control registers. It should look something like this (but not exactly):
 
   Pick an action (h for menu): st

   *****AMC13 Status*****
   Status display detail level: 1

Changed:
<
<
Control 0: 03002013
>
>
Control 0: 0300000b
  DAQ Link Down DAQ Link Almost Full
Changed:
<
<
Memory in fifo for ev ovfl L1A Overflow Warning
>
>
Monitor Buffer Empty
  Control 1: 00174001 MonBuff full stops EVB Run Mode
Line: 99 to 105
  --All AMC Link Versions Correct-- Unsynced AMC Ports: 00, 03, 05, 06, 07, 08, 09, 11 EVB Counters:
Changed:
<
<
LSCDAQ status [001b]: 0000c1ac Run time [0048]: 00000000 03889192 Ready time [004a]: 00000000 0388cd14
>
>
LSCDAQ status [001b]: 000031ac Run time [0048]: 00000000 04307312 Ready time [004a]: 00000000 0430ab94
  Busy time [004c]: 00000000 00000001 L1A ovfl warn time [0050]: 00000000 00000001 AMC Counters: <---Link 04-----> <---Link 10----->
Changed:
<
<
AMC Ctr ACK [000e]: 00000000 00000712 00000000 00000713
>
>
AMC Ctr ACK [000e]: 00000000 00000860 00000000 00000861
  Resend [004a]: 00000000 00000001 00000000 00000001
Changed:
<
<
Ctr Accept [004e]: 00000000 0000071d 00000000 0000071d
>
>
Ctr Accept [004e]: 00000000 0000086b 00000000 0000086c
  AMC13 ACK [0050]: 00000000 00000001 00000000 00000001
Added:
>
>
 
  • As you can see, 'Run Mode' is enabled and our 'Run time' counter is ticking away. We are now ready to accept triggers and create events
Added:
>
>
  • A complete list and description of the AMC13 registers, counters, and control bits can be found here
 
Added:
>
>
 

Reading out Events

Changed:
<
<
  • After you have initialized your AMC13, you are ready to receive triggers and read out events.
  • In the status display in the Initialize AMC13 section, the SDRAM buffer is empty, indicating that no events have been received.
  • After sending 100 L1As, the status display should now look something like (but not exactly!):
>
>
  • After you have initialized your AMC13 (as instructed here), you are ready to receive triggers and read out events.
  • In the status display in the Initialize AMC13 section, the SDRAM buffer is empty, indicating that no events have been received.
  • After sending 100 L1As, the status display should now look something like (but exactly):
 
   Pick an action (h for menu): st

Line: 162 to 171
  Received Evts [0052]: 00000000 00000064 00000000 00000064 Read Evts [0054]: 00000000 00000064 00000000 00000064
Added:
>
>
  • Descriptions of the AMC13 registers, counters, and control bits, can be found here
 
  • You can see that we now have '0x64' events in the SDRAM buffer, ready to be read out
  • In order to read out these events to a file for examination and further analysis use the 'df' command (whose specifics can be found here):
    
    
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback