|
META TOPICPARENT |
name="HcalDTC" |
Using the tool at P5: |
| Spartan Firmware Version: 0xb
|
|
> > | 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 |
|
< < |
- *=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
|
| 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 |
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)
-
'qws(v) <add> [<data_list>]' : queued write to Spartan (Virtex) chip
-
'fws(v) <add> [<data_list>]' : FIFO write to Spartan (Virtex) chip
-
'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'
|
| |
|
< < | -- JimRohlf - 26 May 2012 |
> > | -- Main. Charlie Hill - 17 Sept 2012 |