Difference: AMC13Tool (1 vs. 18)

Revision 1803 Dec 2013 - EricHazen

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

Using AMC13Tool

Line: 59 to 59
 
    • '<ena_list>' is the comma/space/hyphen separated list of AMC inputs to be enabled (of ports 0-11)
    • 'd' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1)
    • 'f' is an optional flag to enable the 'Fake Data Generation' bit on register 'CONTROL1' (address 0x1)
Changed:
<
<
    • 't' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1)
>
>
    • 'r' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1)
    • 't' is an optional flag which causes the AMC13 to send TTC protocol out the TTS output
 
    • 'b' is an optional flag to enable the 'Stop EVB when Monitor Buffer Full' bit on register 'CONTROL1' (address 0x1)
    • NOTE: 'en' is a synonym to 'i'
    • e.g.

Revision 1715 Aug 2013 - DavidZou

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

Using AMC13Tool

Revision 1614 May 2013 - CharlieHill

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

Using AMC13Tool

Line: 14 to 14
  Spartan Firmware Version: 0xf
Changed:
<
<
Using the tool on an ownsorced teststand (at Boston University):
  • e.g. 11_5_3:
>
>
Using the tool on an ownsorced teststand to connect to Serial Number 9 (at Boston University):
  • e.g. 11_9_1:
 

Changed:
<
<
cd ${HOME}/src/11_5_3/hcal/hcalUpgrade/amc13
>
>
cd ${HOME}/src/11_9_2/hcal/hcalUpgrade/amc13
  source ~daqowner/dist/etc/env.sh
Changed:
<
<
source environ.sh
>
>
export AMC13_SERIAL_NO=9
  ./bin/linux/x86_64_slc5/AMC13Tool.exe

Revision 1506 May 2013 - CharlieHill

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

Using AMC13Tool

Line: 29 to 29
 

Important Notes

Changed:
<
<
  • Address Tables are looked for in two locations: ${pwd} and ./map. If they are not found there, then the XDAQ_ROOT AMC13 Address Tables are used, and these may not be up-to-date with the most current software (if one has update their source tree from CVS since the release)
  • As of 11_5_3, the most current Tool lives at 11_5_3/hcal/hcalUpgrade/amc13/bin/linux/x86_64_slc5/AMC13Tool.exe
>
>
  • Address Tables are looked for in two locations: ${pwd} and ./map. If they are not found there, then the XDAQ_ROOT AMC13 Address Tables from the release are used.
  • You can copy the executable to your ${HOME}/bin directory if you don't want to specify the path explicitly
 

Functionality

Changed:
<
<
General
>
>
Command-line Arguments
  • -h: get list of allowed command-line arguments
  • -x: execute an AMC13Tool script file
  • -u: disable the use of uHAL ControlHub
  • -n: Manually set the AMC13 serial number (overriding the environment variable AMC13_SERIAL_NO)
  • -s: Manutally set the AMC13 slot number
  • -vi: Manually set the T1 IP address. If used, the Spartan IP address must be set manually as well
  • -si: Manually set the T2 IP address. If used, the Kintex IP address must be set manually as well
  • -i: Manually set the Spartan IP address to the one specified, and implicitly set the Kintex IP address to one LSB higher
  • -va: Manually set the T1 Address table path. If used, the Spartan Address table path must be set manually as well
  • -sa: Manually set the T2 Address table path. If used, the Kintex Address table path must be set manually as well

General Commands

 
  • 'q': quit program
  • 'do <file>': execute an AMC13Tool command script
  • 'sh <command>': execute a shell <command>

Changed:
<
<
Run Control
>
>
Run Control Commands
 
  • 'i <ena_list> (d) (f) (t) (b)': enable AMC13
    • '<ena_list>' is the comma/space/hyphen separated list of AMC inputs to be enabled (of ports 0-11)
    • 'd' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1)
Line: 80 to 92
 
    • 'o' resets internal TTC orbit number
    • 'e' resets internal TTC event number
Changed:
<
<
Register Access
>
>
Commands for Register Access
 
  • 'rs(v) <add> [count]': read registers from the Spartan (Virtex) chip
    • '<add>' is the address to be read. Can either be the numeric register address or the register name from the Address Table
    • '[count]' is the number of words to be read from the chip. The addresses are read incrementally starting from <add> (default to 1)
Line: 146 to 158
 

Changed:
<
<
DAQ
>
>
DAQ Commands
 
  • 'de': enable DAQ link. This can be done from the receiver end only! However, it does enable both the LSC and LDC functionalities on either side of the DAQ Link
  • 'dsv (e)/(d)': enable or disable the saveing received DAQ data to the monitor buffer. This can be done from the receiver end only!
    • '(e)' enables the saving of DAQ Link received data to the SDRAM buffer
Line: 177 to 189
 
      • if enabled, only the EvN, BcN, and OrN will be read, and they will be written to the file in a '.csv' format
      • if disabled, the entire event will be written to the file in a binary format
Changed:
<
<
Flash
>
>
Flash Commands
 
  • 'fv': display both Virtex and Spartan firmware versions
  • 'rf <add>': read one page (256 bytes) from Flash Memory
    • '<add>' is the flash address from which to read
Line: 186 to 198
 
  • 'vs(v)': verify Spartan (Virtex) Flash, flash address 0x200000 (0x400000)
  • 'pfh': program flash header, flash address 0x00000
  • 'pbs': program Golden Flash, flash address 0x100000
Changed:
<
<
  • 'ps(v)': program Spartan (Virtex) Flash, flash address 0x200000 (0x400000)
>
>
  • 'ps(v) (M)': program Spartan (Virtex) Flash, flash address 0x200000 (0x400000)
    • If 'M' is present, file selection rules will be bypassed and the user will be able to choose from a list of all MCS files in the current directory
 
  • 'L': load Spartan and Virtex chips from Flash Memory
Changed:
<
<
uHTRs and other IP Devices
>
>
Commands for uHTRs and other IP Devices
 
  • 'ipadd <ip_addr>': add IP device to list of IP devices (which is initially empty). List of devices starts at 0!
    • '<ip_addr>' is the ip address of the device to be added
  • 'ipr <n> <addr>': read from an IP device

Revision 1415 Nov 2012 - CharlieHill

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

Using AMC13Tool

Line: 73 to 73
 
    • 'd' disables mega monitor scaling
  • 'st <level>': displays the status of the AMC13 registers and counters
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed, default to 1)
Changed:
<
<
  • 'lst': displays the status of the SFP connections
>
>
  • 'lst': displays the status of the SFP connections and DAQ Link
 
  • 'rg': issues a reset to both Spartan and Virtex chips (by writing 0x1 to address 0x0 on both chips)
  • 'rc': resets the counters on the Virtex chip
  • 'tre (o) (e)': reset internal TTC orbit number and/or event number
Line: 147 to 147
  DAQ
Changed:
<
<
  • 'de': enable DAQ link. This can be done from the receiver end only! However, it does enable both the LSC and LDC functionalities on either side of the SLINK
  • 'dsv': save received DAQ data to the monitor buffer. This can be done from the receiver end only!
>
>
  • 'de': enable DAQ link. This can be done from the receiver end only! However, it does enable both the LSC and LDC functionalities on either side of the DAQ Link
  • 'dsv (e)/(d)': enable or disable the saveing received DAQ data to the monitor buffer. This can be done from the receiver end only!
    • '(e)' enables the saving of DAQ Link received data to the SDRAM buffer
    • '(d)' disabled the saving of DAQ Link received data to the SDRAM buffer
 
  • 'nw': display number of words in the next event in the SDRAM buffer
  • 'rd': display the data of the current event in the SDRAM buffer without advancing to the next event (without advancing the read pointer)
  • 'rk': display an unpacked, checked event. NOTE: this command doesn't do much yet

Revision 1314 Nov 2012 - CharlieHill

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

Using AMC13Tool

Line: 10 to 10
  source /nfshome0/hcalsw/bin/env.sh (or .csh) AMC13Tool.exe Pick an action (h for menu): fv
Changed:
<
<
Virtex Firmware Version: 0x17 Spartan Firmware Version: 0xb
>
>
Virtex Firmware Version: 0x20 Spartan Firmware Version: 0xf
 

Using the tool on an ownsorced teststand (at Boston University):

Line: 24 to 24
 
   Pick an action (h for menu): fv

Changed:
<
<
Virtex Firmware Version: 0x17 Spartan Firmware Version: 0xb
>
>
Virtex Firmware Version: 0x20 Spartan Firmware Version: 0xf
 

Important Notes

Line: 73 to 73
 
    • 'd' disables mega monitor scaling
  • 'st <level>': displays the status of the AMC13 registers and counters
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed, default to 1)
Added:
>
>
  • 'lst': displays the status of the SFP connections
 
  • 'rg': issues a reset to both Spartan and Virtex chips (by writing 0x1 to address 0x0 on both chips)
  • 'rc': resets the counters on the Virtex chip
  • 'tre (o) (e)': reset internal TTC orbit number and/or event number

Revision 1213 Nov 2012 - CharlieHill

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

Using AMC13Tool

Line: 63 to 63
 
    • '<n>' is the number of 'single'/random triggers to be sent
    • 'e' enables periodic local triggers
    • 'd' disables periodic local triggers
Changed:
<
<
  • 'tsp <n>': set the OrN spacing between periodic local L1A generation
    • '<n>' is the number of orbits between each periodically generated local L1A
>
>
  • 'tsp (o)/(b)/(r) <n>': set the spacing between periodic local L1A generation
    • 'o' specifies that the trigger spacing will be defined by orbit-number increments of <n>
    • 'b' specifies that the trigger spacing will be defined by bunch-crossing-number increments of <n>
    • 'r' specifies that the trigger spacing will be defined by random orbit-number increments around value <n>
    • '<n>' is the number of orbits/bunch-crossings/average-orbits between each periodically generated local L1A
 
  • 'mm (e)/(d)': enable mega monitor scaling. This saves only saves one in every 0x100000 events to the SDRAM buffer
    • 'e' enables mega monitor scaling
    • 'd' disables mega monitor scaling
Line: 72 to 75
 
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed, default to 1)
  • 'rg': issues a reset to both Spartan and Virtex chips (by writing 0x1 to address 0x0 on both chips)
  • 'rc': resets the counters on the Virtex chip
Added:
>
>
  • 'tre (o) (e)': reset internal TTC orbit number and/or event number
    • 'o' resets internal TTC orbit number
    • 'e' resets internal TTC event number
  Register Access
  • 'rs(v) <add> [count]': read registers from the Spartan (Virtex) chip
Line: 140 to 146
  DAQ
Added:
>
>
  • 'de': enable DAQ link. This can be done from the receiver end only! However, it does enable both the LSC and LDC functionalities on either side of the SLINK
  • 'dsv': save received DAQ data to the monitor buffer. This can be done from the receiver end only!
 
  • 'nw': display number of words in the next event in the SDRAM buffer
  • 'rd': display the data of the current event in the SDRAM buffer without advancing to the next event (without advancing the read pointer)
  • 'rk': display an unpacked, checked event. NOTE: this command doesn't do much yet

Revision 1122 Oct 2012 - CharlieHill

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

Using AMC13Tool

Line: 64 to 64
 
    • 'e' enables periodic local triggers
    • 'd' disables periodic local triggers
  • 'tsp <n>': set the OrN spacing between periodic local L1A generation
Changed:
<
<
    • '<n>'; is the number of orbits between each periodically generated local L1A
>
>
    • '<n>' is the number of orbits between each periodically generated local L1A
 
  • 'mm (e)/(d)': enable mega monitor scaling. This saves only saves one in every 0x100000 events to the SDRAM buffer
    • 'e' enables mega monitor scaling
    • 'd' disables mega monitor scaling

Revision 1011 Oct 2012 - CharlieHill

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

Using AMC13Tool

Line: 59 to 59
  Enable TTCrx Commands
'CONTROL1'
00140023
Added:
>
>
  • 'lt <n>/(e)/(d)': send local L1As
    • '<n>' is the number of 'single'/random triggers to be sent
    • 'e' enables periodic local triggers
    • 'd' disables periodic local triggers
  • 'tsp <n>': set the OrN spacing between periodic local L1A generation
    • '<n>'; is the number of orbits between each periodically generated local L1A
  • 'mm (e)/(d)': enable mega monitor scaling. This saves only saves one in every 0x100000 events to the SDRAM buffer
    • 'e' enables mega monitor scaling
    • 'd' disables mega monitor scaling
 
  • 'st <level>': displays the status of the AMC13 registers and counters
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed, default to 1)
  • 'rg': issues a reset to both Spartan and Virtex chips (by writing 0x1 to address 0x0 on both chips)

Revision 923 Sep 2012 - EricHazen

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

Using AMC13Tool

Using the tool at P5:
Changed:
<
<
  • ssh cmsusr0
  • ssh hcaldaq12 (use bash shell and .bashrc to set enironment)
  • AMC13Tool.exe
>
>
 

Added:
>
>
ssh cmsusr0 ssh hcaldaq12 source /nfshome0/hcalsw/bin/env.sh (or .csh) AMC13Tool.exe
  Pick an action (h for menu): fv Virtex Firmware Version: 0x17 Spartan Firmware Version: 0xb

Revision 821 Sep 2012 - CharlieHill

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

Using AMC13Tool

Using the tool at P5:
  • ssh cmsusr0
Line: 30 to 31
 
  • As of 11_5_3, the most current Tool lives at 11_5_3/hcal/hcalUpgrade/amc13/bin/linux/x86_64_slc5/AMC13Tool.exe

Added:
>
>
 

Functionality

General

  • 'q': quit program
Changed:
<
<
  • 'do <file>': execute a AMC13Tool command script
>
>
  • 'do <file>': execute an AMC13Tool command script
 
  • 'sh <command>': execute a shell <command>
Added:
>
>
  Run Control
  • 'i <ena_list> (d) (f) (t) (b)': enable AMC13
    • '<ena_list>' is the comma/space/hyphen separated list of AMC inputs to be enabled (of ports 0-11)
Line: 124 to 127
  00000000: 00000001 00000002 00000003 00000004 00000005
Added:
>
>
  DAQ
  • 'nw': display number of words in the next event in the SDRAM buffer
  • 'rd': display the data of the current event in the SDRAM buffer without advancing to the next event (without advancing the read pointer)

Revision 719 Sep 2012 - CharlieHill

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

Using AMC13Tool

Using the tool at P5:
  • ssh cmsusr0
  • ssh hcaldaq12 (use bash shell and .bashrc to set enironment)
Changed:
<
<
>
>
  • AMC13Tool.exe
 
    Pick an action (h for menu): fv
    Virtex Firmware Version: 0x17

Revision 619 Sep 2012 - CharlieHill

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

Using AMC13Tool

 Using the tool at P5:
  • ssh cmsusr0
  • ssh hcaldaq12 (use bash shell and .bashrc to set enironment)
Line: 10 to 11
  Spartan Firmware Version: 0xb
Changed:
<
<
Using the tool at Boston University:
  • ssh daq@cms2
  • cd amc13
  • source hcalupgrade.csh (using tcsh shell)
  • ./bin/linux/x86_64_slc5/AMC13Tool.exe
>
>
Using the tool on an ownsorced teststand (at Boston University):
  • e.g. 11_5_3:
       cd ${HOME}/src/11_5_3/hcal/hcalUpgrade/amc13
       source ~daqowner/dist/etc/env.sh
       source environ.sh
       ./bin/linux/x86_64_slc5/AMC13Tool.exe
       
 
    Pick an action (h for menu): fv
    Virtex Firmware Version: 0x17

Line: 26 to 30
 
  • As of 11_5_3, the most current Tool lives at 11_5_3/hcal/hcalUpgrade/amc13/bin/linux/x86_64_slc5/AMC13Tool.exe

Changed:
<
<
Funtionality
>
>

Functionality

General

 
  • 'q': quit program
Changed:
<
<
  • 'do <file>': execute a shell script
>
>
  • 'do <file>': execute a AMC13Tool command script
 
  • 'sh <command>': execute a shell <command>
Added:
>
>
Run Control
 
  • 'i <ena_list> (d) (f) (t) (b)': enable AMC13
    • '<ena_list>' is the comma/space/hyphen separated list of AMC inputs to be enabled (of ports 0-11)
    • 'd' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1)
Line: 50 to 58
 
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed, default to 1)
  • 'rg': issues a reset to both Spartan and Virtex chips (by writing 0x1 to address 0x0 on both chips)
  • 'rc': resets the counters on the Virtex chip
Added:
>
>
Register Access
 
  • 'rs(v) <add> [count]': read registers from the Spartan (Virtex) chip
    • '<add>' is the address to be read. Can either be the numeric register address or the register name from the Address Table
    • '[count]' is the number of words to be read from the chip. The addresses are read incrementally starting from <add> (default to 1)
Line: 113 to 123
  FIFO writing to T1 at address 0x0: 00000000: 00000001 00000002 00000003 00000004 00000005
Added:
>
>
DAQ
 
  • 'nw': display number of words in the next event in the SDRAM buffer
  • 'rd': display the data of the current event in the SDRAM buffer without advancing to the next event (without advancing the read pointer)
  • 'rk': display an unpacked, checked event. NOTE: this command doesn't do much yet
Line: 138 to 150
 
    • '(r)' enables reduced reading [optional]
      • if enabled, only the EvN, BcN, and OrN will be read, and they will be written to the file in a '.csv' format
      • if disabled, the entire event will be written to the file in a binary format
Added:
>
>
Flash
 
  • 'fv': display both Virtex and Spartan firmware versions
  • 'rf <add>': read one page (256 bytes) from Flash Memory
    • '<add>' is the flash address from which to read
Line: 148 to 162
 
  • 'pbs': program Golden Flash, flash address 0x100000
  • 'ps(v)': program Spartan (Virtex) Flash, flash address 0x200000 (0x400000)
  • 'L': load Spartan and Virtex chips from Flash Memory
Added:
>
>
uHTRs and other IP Devices
 
  • 'ipadd <ip_addr>': add IP device to list of IP devices (which is initially empty). List of devices starts at 0!
    • '<ip_addr>' is the ip address of the device to be added
  • 'ipr <n> <addr>': read from an IP device

Revision 517 Sep 2012 - CharlieHill

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
Using the tool at P5:
  • ssh cmsusr0
Line: 29 to 29
 Funtionality
  • 'q': quit program
  • 'do <file>': execute a shell script
Changed:
<
<
  • 'sh <command>': execute a shell
>
>
  • 'sh <command>': execute a shell <command>
 
  • 'i <ena_list> (d) (f) (t) (b)': enable AMC13
Changed:
<
<
    • '<ena_list>' is the list of AMC inputs to be enabled (of ports 0-11)
>
>
    • '<ena_list>' is the comma/space/hyphen separated list of AMC inputs to be enabled (of ports 0-11)
 
    • 'd' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1)
    • 'f' is an optional flag to enable the 'Fake Data Generation' bit on register 'CONTROL1' (address 0x1)
    • 't' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1)
    • 'b' is an optional flag to enable the 'Stop EVB when Monitor Buffer Full' bit on register 'CONTROL1' (address 0x1)
    • NOTE: 'en' is a synonym to 'i'
Added:
>
>
    • e.g.
            Pick an action (h for menu): en 1,2 4-7 d t
            Enabling AMC inputs from list: 1, 2, 4, 5, 6, 7
            Link status: 000000f6
            Enable DAQ Link
            Enable TTCrx Commands
            'CONTROL1': 00140023
            
 
  • 'st <level>': displays the status of the AMC13 registers and counters
Changed:
<
<
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed)
  • 'rg': sends a reset to both Spartan and Virtex chips by writing a 0x1 to their 'CONTROL0' regisers (address 0x0)
>
>
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed, default to 1)
  • 'rg': issues a reset to both Spartan and Virtex chips (by writing 0x1 to address 0x0 on both chips)
 
  • 'rc': resets the counters on the Virtex chip
  • 'rs(v) <add> [count]': read registers from the Spartan (Virtex) chip
Changed:
<
<
    • '<add>' is the address to be read. Can either be the numeric register address or the register name from the Address Table
    • '[count]' is the number of words to be read from the chip. The addresses are read incrementally starting from
>
>
    • '<add>' is the address to be read. Can either be the numeric register address or the register name from the Address Table
    • '[count]' is the number of words to be read from the chip. The addresses are read incrementally starting from <add> (default to 1)
 
    • e.g.
            Pick an action (h for menu): rv 0x0 10
      
      
Line: 61 to 70
 
  • 'brs(v) <add> [count]': block read Spartan (Virtex) chip
    • '<add>' is the starting address of the block read
Changed:
<
<
    • '[count]' is the number of addresses to be read from the block
>
>
    • '[count]' is the number of addresses to be read from the block (default to 1)
 
  • 'frs(v) <add> [count]': FIFO read from the Spartan (Virtex) chip
    • '<add>' is the address to be FIFO read
Changed:
<
<
    • '[count]' is the number of reads to be carried out at
>
>
    • '[count]' is the number of reads to be carried out at <add> (default to 1)
 
  • 'ws(v) <add> <data> [count]': write to Spartan (Virtex) chip
Changed:
<
<
    • '<add>' is the address to be written to
>
>
    • '<add>' is the starting address to be written to
 
    • '<data>' is the data to be written
Changed:
<
<
    • '[count]' is the number of addresses to be read incrementally from '=<add>'=
>
>
    • '[count]' is the number of addresses to be written to incrementally from '=<add>'= (default to 1)
 
  • 'bws(v) <add> [<data_list>]': block write a data list to Spartan (Virtex)
    • '<add>' is the starting address of the block write
Changed:
<
<
    • '[<data_list>]' is the comma/space separated list of data to be written
>
>
    • '[<data_list>]' is the comma/space/hyphen separated list of data to be written
 
    • e.g.
      
      
Changed:
<
<
Pick an action (h for menu): bws CONTROL0 1 2 3 Block writing to T2 from address 0x0 to address 0x2:
>
>
Pick an action (h for menu): bwv CONTROL0 1,2 3-5 Block writing to T1 from address 0x0 to address 0x4:
  00000000: 00000001 00000001: 00000002 00000002: 00000003
Added:
>
>
00000003: 00000004 00000004: 00000005
 
  • 'qws(v) <add> [<data_list>]': queued write to Spartan (Virtex) chip
    • '<add>' is the starting address for the queued write
Changed:
<
<
    • '[<data_list>]' is the comma/space separated list of data to be written
>
>
    • '[<data_list>]' is the comma/space/hyphen separated list of data to be written
 
    • e.g.
      
      
Changed:
<
<
qws CONTROL0 1 2 3 Queue writing to T2 from address 0x0 to address 0x2:
>
>
Pick an action (h for menu): qwv CONTROL0 1,2 3-5 Queue writing to T1 from address 0x0 to address 0x4:
  00000000: 00000001 00000001: 00000002 00000002: 00000003
Added:
>
>
00000003: 00000004 00000004: 00000005
 
  • 'fws(v) <add> [<data_list>]': FIFO write to Spartan (Virtex) chip
Changed:
<
<
    • '<add>' is the address to FIFO written to
>
>
    • '<add>' is the address to be FIFO written to
 
    • '[<data_list>]' is the comma/space separated list of data to be written
    • e.g.
      
      
Changed:
<
<
fws CONTROL0 1 2 3 FIFO writing to T2 at address 0x0: 00000000: 00000001 00000002 00000003
>
>
Pick an action (h for menu): fwv CONTROL0 1,2 3-5 FIFO writing to T1 at address 0x0: 00000000: 00000001 00000002 00000003 00000004 00000005
 
  • 'nw': display number of words in the next event in the SDRAM buffer
  • 'rd': display the data of the current event in the SDRAM buffer without advancing to the next event (without advancing the read pointer)
Changed:
<
<
  • 'rk': display a unpacked, checked event. NOTE: this command doesn't do much yet
>
>
  • 'rk': display an unpacked, checked event. NOTE: this command doesn't do much yet
 
  • 'ne': advance to the next event in the buffer (advances the read pointer)
  • 'df <file> (c) (r) (v) [count]': dump a given number of events to a file
    • '<file>' is the name of the file to which the data will be written [required]
    • '(c)' enables continuous reading [optional]
      • if enabled, the program waits for the next event when it reaches the end of the buffer (when there are no more events to be read out)
      • if disabled, the read finishes when the end of the buffer is reached
Added:
>
>
      • careful: if you ^C out of a continuous read, then the data will not be written to a file. You must let the process finish. A better way to handle this is a coming attraction. For now, thoughtfully specify the number of events you want to read.
 
    • '(r)' enables reduced reading [optional]
      • if enabled, only the EvN, BcN, and OrN will be read, and they will be written to the file in a '.csv' format
      • if disabled, the entire event will be written to the file in a binary format
    • '(v)' enables verbose mode [optional]
Changed:
<
<
      • if enabled, the program will produce standard output for every event written to the file (for minute debugging only)
>
>
      • if enabled, the program will produce standard output for every event written to the file (for meticulous debugging only)
 
      • if disabled, the program will produce standard output for every 1000 events written to the file (recommended)
    • '[count]' is the number of events to read out [optional]
      • if not specified...
Line: 125 to 139
 
      • if enabled, only the EvN, BcN, and OrN will be read, and they will be written to the file in a '.csv' format
      • if disabled, the entire event will be written to the file in a binary format
  • 'fv': display both Virtex and Spartan firmware versions
Changed:
<
<
  • 'rf <add>': read page (256 bytes) from Flash Memory
>
>
  • 'rf <add>': read one page (256 bytes) from Flash Memory
 
    • '<add>' is the flash address from which to read
  • 'vfh': verify Flash Header, flash address 0x000000
  • 'vbs': verify Golden Flash, flash address 0x100000

Revision 417 Sep 2012 - CharlieHill

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
Using the tool at P5:
  • ssh cmsusr0
Line: 21 to 21
  Spartan Firmware Version: 0xb
Added:
>
>
Important Notes
  • Address Tables are looked for in two locations: ${pwd} and ./map. If they are not found there, then the XDAQ_ROOT AMC13 Address Tables are used, and these may not be up-to-date with the most current software (if one has update their source tree from CVS since the release)
  • As of 11_5_3, the most current Tool lives at 11_5_3/hcal/hcalUpgrade/amc13/bin/linux/x86_64_slc5/AMC13Tool.exe

 Funtionality
Changed:
<
<
*=q=
quit program *=do =: execute a shell script *=sh =: execute a shell *=i (d) (f) (t) (b)=: enable AMC13 *== is the list of AMC inputs to be enabled (of ports 0-11) *'=d=' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1) *'=f=' is an optional flag to enable the 'Fake Data Generation' bit on register 'CONTROL1' (address 0x1) *'=t=' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1) *'=b=' is an optional flag to enable the 'Stop EVB when Monitor Buffer Full' bit on register 'CONTROL1' (address 0x1)
*NOTE
'=en=' is a synonym to '=i=' *=st =: displays the status of the AMC13 registers and counters *== is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed)
*=rg=
sends a reset to both Spartan and Virtex chips by writing a 0x1 to their 'CONTROL0' regisers (address 0x0)
*=rc=
resets the counters on the Virtex chip *=rs(v) [count]=: read registers from the Spartan (Virtex) chip *== is the address to be read. Can either be the numeric register address or the register name from the Address Table *=[count]= is the number of words to be read from the chip. The addresses are read incrementally starting from
>
>
  • 'q': quit program
  • 'do <file>': execute a shell script
  • 'sh <command>': execute a shell
  • 'i <ena_list> (d) (f) (t) (b)': enable AMC13
    • '<ena_list>' is the list of AMC inputs to be enabled (of ports 0-11)
    • 'd' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1)
    • 'f' is an optional flag to enable the 'Fake Data Generation' bit on register 'CONTROL1' (address 0x1)
    • 't' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1)
    • 'b' is an optional flag to enable the 'Stop EVB when Monitor Buffer Full' bit on register 'CONTROL1' (address 0x1)
    • NOTE: 'en' is a synonym to 'i'
  • 'st <level>': displays the status of the AMC13 registers and counters
    • '<level>' is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed)
  • 'rg': sends a reset to both Spartan and Virtex chips by writing a 0x1 to their 'CONTROL0' regisers (address 0x0)
  • 'rc': resets the counters on the Virtex chip
  • 'rs(v) <add> [count]': read registers from the Spartan (Virtex) chip
    • '<add>' is the address to be read. Can either be the numeric register address or the register name from the Address Table
    • '[count]' is the number of words to be read from the chip. The addresses are read incrementally starting from
  *e.g.
      Pick an action (h for menu): rv 0x0 10

Line: 54 to 59
  00000008: 00000000 00000009: 0d800d80
Changed:
<
<
*=brs(v) [count]=: block read Spartan (Virtex) chip *== is the starting address of the block read *=[count]= is the number of addresses to be read from the block *=frs(v) [count]=: FIFO read from the Spartan (Virtex) chip *== is the address to be FIFO read *=[count]= is the number of reads to be carried out at *=ws(v) [count]=: write to Spartan (Virtex) chip *== is the address to be written to *= is the data to be written to *=[count]= is the number of addresses to be read incrementally from

fv get firmware version
i init (reset spartan and virtex and enable TTC)
res reset spartan
rev reset virtex
v virtex voltages
t virtex die temperature
enT enable TTC
erT TTC error counts
s(v)T n read spartan (virtex) TTC n times
ras(v) read all spartan (virtex) registers
rs(v) add n single read spartan (virtex) n words from add
rrs(v) read spartan (virtex) by register name
ws(v) add n single write spartan (virtex) n words from add
brs(v) add n block read spartan (virtex) n words from add
frs(v) add n read spartan (virtex) fifo
wrs(v) write spartan (virtex) by register name
bws(v) add data n block write spartan (virtex)
qws(v) add data queued write spartan (virtex) data
fws(v) add data n write spartan (virtex) fifo
rf add read 256 bytes from flash at add
vfh verify flash header
vs(v) verify spartan (virtex) flash
vbs verify spartan backup flash
PFH program flash header
PS(V) program spartan (virtex) flash
PBS program spartan backup flash
L load (both spartan and virtex) firmware from flash
>
>
  • 'brs(v) <add> [count]': block read Spartan (Virtex) chip
    • '<add>' is the starting address of the block read
    • '[count]' is the number of addresses to be read from the block
  • 'frs(v) <add> [count]': FIFO read from the Spartan (Virtex) chip
    • '<add>' is the address to be FIFO read
    • '[count]' is the number of reads to be carried out at
  • 'ws(v) <add> <data> [count]': write to Spartan (Virtex) chip
    • '<add>' is the address to be written to
    • '<data>' is the data to be written
    • '[count]' is the number of addresses to be read incrementally from '=<add>'=
  • 'bws(v) <add> [<data_list>]': block write a data list to Spartan (Virtex)
    • '<add>' is the starting address of the block write
    • '[<data_list>]' is the comma/space separated list of data to be written
    • e.g.
            Pick an action (h for menu): bws CONTROL0 1 2 3
            Block writing to T2 from address 0x0 to address 0x2:
              00000000: 00000001
              00000001: 00000002
              00000002: 00000003
            
  • 'qws(v) <add> [<data_list>]': queued write to Spartan (Virtex) chip
    • '<add>' is the starting address for the queued write
    • '[<data_list>]' is the comma/space separated list of data to be written
    • e.g.
            qws CONTROL0 1 2 3
            Queue writing to T2 from address 0x0 to address 0x2:
              00000000: 00000001
              00000001: 00000002
              00000002: 00000003
            
  • 'fws(v) <add> [<data_list>]': FIFO write to Spartan (Virtex) chip
    • '<add>' is the address to FIFO written to
    • '[<data_list>]' is the comma/space separated list of data to be written
    • e.g.
            fws CONTROL0 1 2 3
            FIFO writing to T2 at address 0x0:
              00000000: 00000001 00000002 00000003
            
  • 'nw': display number of words in the next event in the SDRAM buffer
  • 'rd': display the data of the current event in the SDRAM buffer without advancing to the next event (without advancing the read pointer)
  • 'rk': display a unpacked, checked event. NOTE: this command doesn't do much yet
  • 'ne': advance to the next event in the buffer (advances the read pointer)
  • 'df <file> (c) (r) (v) [count]': dump a given number of events to a file
    • '<file>' is the name of the file to which the data will be written [required]
    • '(c)' enables continuous reading [optional]
      • if enabled, the program waits for the next event when it reaches the end of the buffer (when there are no more events to be read out)
      • if disabled, the read finishes when the end of the buffer is reached
    • '(r)' enables reduced reading [optional]
      • if enabled, only the EvN, BcN, and OrN will be read, and they will be written to the file in a '.csv' format
      • if disabled, the entire event will be written to the file in a binary format
    • '(v)' enables verbose mode [optional]
      • if enabled, the program will produce standard output for every event written to the file (for minute debugging only)
      • if disabled, the program will produce standard output for every 1000 events written to the file (recommended)
    • '[count]' is the number of events to read out [optional]
      • if not specified...
        • if 'c' is enabled, 1,000,000 events will be read out by default
        • if 'c' is not enabled, 2048 events (the size of the buffer) will be read out be default
  • 'dft <file> (r)' send a given number of triggers and reads them to a file [Boston University ONLY]
    • '<file>' is the name of the file to which the data will be written [required]
    • '(r)' enables reduced reading [optional]
      • if enabled, only the EvN, BcN, and OrN will be read, and they will be written to the file in a '.csv' format
      • if disabled, the entire event will be written to the file in a binary format
  • 'fv': display both Virtex and Spartan firmware versions
  • 'rf <add>': read page (256 bytes) from Flash Memory
    • '<add>' is the flash address from which to read
  • 'vfh': verify Flash Header, flash address 0x000000
  • 'vbs': verify Golden Flash, flash address 0x100000
  • 'vs(v)': verify Spartan (Virtex) Flash, flash address 0x200000 (0x400000)
  • 'pfh': program flash header, flash address 0x00000
  • 'pbs': program Golden Flash, flash address 0x100000
  • 'ps(v)': program Spartan (Virtex) Flash, flash address 0x200000 (0x400000)
  • 'L': load Spartan and Virtex chips from Flash Memory
  • 'ipadd <ip_addr>': add IP device to list of IP devices (which is initially empty). List of devices starts at 0!
    • '<ip_addr>' is the ip address of the device to be added
  • 'ipr <n> <addr>': read from an IP device
    • '<n>' is the device number in the list of IP devices created by 'ipadd'. List of devices starts at 0!
    • '<addr>' is the address to be read from the specified IP device
  • 'ipw <n> <addr> <data>': write to an IP device
    • '<n>' is the device number in the list of IP devices created by 'ipadd'. List of devices starts at 0!
    • '<addr>' is the address to be written to on the specified IP device
    • '<data>' is the data to be written
  • 'ipst': display the status of all uHTRs whose IP addresses are have been added via 'ipadd'

 
Changed:
<
<
-- JimRohlf - 26 May 2012
>
>
-- Main. Charlie Hill - 17 Sept 2012

Revision 314 Sep 2012 - CharlieHill

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
Using the tool at P5:
  • ssh cmsusr0
  • ssh hcaldaq12 (use bash shell and .bashrc to set enironment)
  • AMC13Tool.exe
Changed:
<
<
  • fv
    • spartan firmware version = 6
    • virtex firmware version = 3
>
>
    Pick an action (h for menu): fv
    Virtex Firmware Version: 0x17
    Spartan Firmware Version: 0xb
  Using the tool at Boston University:
  • ssh daq@cms2
  • cd amc13
  • source hcalupgrade.csh (using tcsh shell)
  • ./bin/linux/x86_64_slc5/AMC13Tool.exe
Changed:
<
<
  • fv
    • spartan firmware version = 6
    • virtex firmware version = 3
>
>
    Pick an action (h for menu): fv
    Virtex Firmware Version: 0x17
    Spartan Firmware Version: 0xb
  Funtionality
Added:
>
>
*=q=
quit program *=do =: execute a shell script *=sh =: execute a shell *=i (d) (f) (t) (b)=: enable AMC13 *== is the list of AMC inputs to be enabled (of ports 0-11) *'=d=' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1) *'=f=' is an optional flag to enable the 'Fake Data Generation' bit on register 'CONTROL1' (address 0x1) *'=t=' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1) *'=b=' is an optional flag to enable the 'Stop EVB when Monitor Buffer Full' bit on register 'CONTROL1' (address 0x1)
*NOTE
'=en=' is a synonym to '=i=' *=st =: displays the status of the AMC13 registers and counters *== is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed)
*=rg=
sends a reset to both Spartan and Virtex chips by writing a 0x1 to their 'CONTROL0' regisers (address 0x0)
*=rc=
resets the counters on the Virtex chip *=rs(v) [count]=: read registers from the Spartan (Virtex) chip *== is the address to be read. Can either be the numeric register address or the register name from the Address Table *=[count]= is the number of words to be read from the chip. The addresses are read incrementally starting from *e.g.
      Pick an action (h for menu): rv 0x0 10
      Reading T1 from address 0x0 to address 0x9:
        00000000: 0300004b
        00000001: 00170001
        00000002: 00000000
        00000003: 04100410
        00000004: 12340111
        00000005: 0be90000
        00000006: 00000018
        00000007: 00000000
        00000008: 00000000
        00000009: 0d800d80
      
*=brs(v) [count]=: block read Spartan (Virtex) chip *== is the starting address of the block read *=[count]= is the number of addresses to be read from the block *=frs(v) [count]=: FIFO read from the Spartan (Virtex) chip *== is the address to be FIFO read *=[count]= is the number of reads to be carried out at *=ws(v) [count]=: write to Spartan (Virtex) chip *== is the address to be written to *= is the data to be written to *=[count]= is the number of addresses to be read incrementally from

 
fv get firmware version
i init (reset spartan and virtex and enable TTC)
res reset spartan

Revision 227 May 2012 - JimRohlf

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
Using the tool at P5:
  • ssh cmsusr0
Line: 17 to 17
 
    • spartan firmware version = 6
    • virtex firmware version = 3

Added:
>
>
Funtionality
fv get firmware version
i init (reset spartan and virtex and enable TTC)
res reset spartan
rev reset virtex
v virtex voltages
t virtex die temperature
enT enable TTC
erT TTC error counts
s(v)T n read spartan (virtex) TTC n times
ras(v) read all spartan (virtex) registers
rs(v) add n single read spartan (virtex) n words from add
rrs(v) read spartan (virtex) by register name
ws(v) add n single write spartan (virtex) n words from add
brs(v) add n block read spartan (virtex) n words from add
frs(v) add n read spartan (virtex) fifo
wrs(v) write spartan (virtex) by register name
bws(v) add data n block write spartan (virtex)
qws(v) add data queued write spartan (virtex) data
fws(v) add data n write spartan (virtex) fifo
rf add read 256 bytes from flash at add
vfh verify flash header
vs(v) verify spartan (virtex) flash
vbs verify spartan backup flash
PFH program flash header
PS(V) program spartan (virtex) flash
PBS program spartan backup flash
L load (both spartan and virtex) firmware from flash
 

-- JimRohlf - 26 May 2012

Revision 126 May 2012 - JimRohlf

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="HcalDTC"
Using the tool at P5:
  • ssh cmsusr0
  • ssh hcaldaq12 (use bash shell and .bashrc to set enironment)
  • AMC13Tool.exe
  • fv
    • spartan firmware version = 6
    • virtex firmware version = 3

Using the tool at Boston University:

  • ssh daq@cms2
  • cd amc13
  • source hcalupgrade.csh (using tcsh shell)
  • ./bin/linux/x86_64_slc5/AMC13Tool.exe
  • fv
    • spartan firmware version = 6
    • virtex firmware version = 3

-- JimRohlf - 26 May 2012

 
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