Difference: TTTSoftwareDocumentation (1 vs. 5)

Revision 506 Feb 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
This page overview the functionalities of the TTT software packages, including descriptions of the trigger scripts and the TTTtool commands.
Line: 61 to 61
 
  • Descriptions of script arguments are in the table below
Argument Description
-o <length> Set the orbit length to <length> bunch crossings (default 3563)
Changed:
<
<
-d <delay> Set the trigger delay to <delay> bunch crossings (default 100)
-n <num_orbits> Set the number of orbits per trigger to <num_orbits> (default 10)
>
>
-d <delay> Set the delay for first L1A in orbit to <delay> bunch crossings (default 100)
-n <num_orbits> Set the number of orbits with triggers to <num_orbits> (default 10)
 
-s <trig_spacing> Set the number of bunch crossings between triggers to <trig_spacing> (default 25)
-t <trigs_per_orbit> Set the number of triggers per orbit to <trigs_per_orbit> (default 4)
Changed:
<
<
-r <repeat_period> Set the repeat period (I have no idea what this means) to <repeat_period> number of orbits
>
>
-r <repeat_period> Set the repeat period (time in orbits between groups) to <repeat_period> number of orbits
 
-b Enable TTS backpressure. This is to say, force the triggers to respond to the AMC13's TTS signal
-p <random_period> Set random trigger period to <random_period>. A <random_period> value of 155 is 100kHz (max), and the rate scales linearly (i.e. 98 = 64kHz, 75 = 49kHz, etc). Default value is 0
-L <latency> Allow for TTS backpressure latency of <latency> bunch crossings, maximum 255 (default 0)

Revision 430 May 2013 - DavidZou

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
This page overview the functionalities of the TTT software packages, including descriptions of the trigger scripts and the TTTtool commands.
Line: 8 to 8
 
setup_tts
Trigger Rules
Changed:
<
<
NOTE: The environment variable TTTIPADDRESS must be set correctly to talk to your board. As shipped the boards have fixed IP addresses set by jumpers. See "serial number table" on this page to find the address of your board. It is easiest to edit the "environ.sh" or "environ.csh" to set this variable before you start.
>
>
NOTE: The environment variable TTT_SERIAL_NUMBER must be set correctly to talk to your board. As shipped, the boards have fixed IP addresses which are uniquely determined by the board's serial number, which can be found printed on the front of your TTT module. It is easiest to edit the "environ.sh" or "environ.csh" scripts to set this variable before you start.
 

TTTtool

Revision 322 May 2013 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
This page overview the functionalities of the TTT software packages, including descriptions of the trigger scripts and the TTTtool commands.
Line: 8 to 8
 
setup_tts
Trigger Rules
Added:
>
>
NOTE: The environment variable TTTIPADDRESS must be set correctly to talk to your board. As shipped the boards have fixed IP addresses set by jumpers. See "serial number table" on this page to find the address of your board. It is easiest to edit the "environ.sh" or "environ.csh" to set this variable before you start.
 

TTTtool

Revision 218 Apr 2013 - CharlieHill

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
This page overview the functionalities of the TTT software packages, including descriptions of the trigger scripts and the TTTtool commands.
Added:
>
>
Contents
TTTtool
Trigger Scripts
setup_tts
Trigger Rules

 

TTTtool

Command Description
Line: 16 to 23
 
  • NOTE that all commands are case insensitive.
  • NOTE that in order for the tool to be run properly, the environ.[c]sh script must be run from the release home directory.
Added:
>
>
 

Trigger scripts

All of the following script use the program setup_tts to send L1As via the TTT board's SFP optical transceivers.

Line: 36 to 44
 
stop_trigs Stop sending triggers

  • NOTE that these scripts will only run if environ.[c]sh has been run from the project's home directory
Added:
>
>
  • These are the scripts that come with the release, but there is nothing stopping you from making your own to meet your specific needs. See the setup_tts section below for more info on creating your own trigger scripts.

setup_tts

  • Running the script (must compile the C++ code prior to running executable)
          $ ${TTT_HOME}/bin/setup_tts [<arguments>]
          
  • Descriptions of script arguments are in the table below
Argument Description
-o <length> Set the orbit length to <length> bunch crossings (default 3563)
-d <delay> Set the trigger delay to <delay> bunch crossings (default 100)
-n <num_orbits> Set the number of orbits per trigger to <num_orbits> (default 10)
-s <trig_spacing> Set the number of bunch crossings between triggers to <trig_spacing> (default 25)
-t <trigs_per_orbit> Set the number of triggers per orbit to <trigs_per_orbit> (default 4)
-r <repeat_period> Set the repeat period (I have no idea what this means) to <repeat_period> number of orbits
-b Enable TTS backpressure. This is to say, force the triggers to respond to the AMC13's TTS signal
-p <random_period> Set random trigger period to <random_period>. A <random_period> value of 155 is 100kHz (max), and the rate scales linearly (i.e. 98 = 64kHz, 75 = 49kHz, etc). Default value is 0
-L <latency> Allow for TTS backpressure latency of <latency> bunch crossings, maximum 255 (default 0)
-m <tts_mask> Set TTS four-bit mask to <tts_mask> to override the AMC13 TTS signal
-w <ttc_bcn> Set TTC trigger output BcN to <ttc_bcn> (default 1000)
-g Allow triggers within the orbit gap
-z <back_porch> <front_porch> Currently unavailable. Set the orbit gap from (Bc0 - <back_porch>) to (Bc0 + <front_porch>) (default values are 250 for back, 500 for front)
-u <rule> <value> Set trigger rule <rule> to value <value> (all four rules default to zero and hence are not enabled).

Trigger Rules

CMS Standard Trigger Rule Number Description
1 No more than 1 trigger per every 2 bunch crossings (50ns)
2 No more than 2 triggers per every 25 bunch crossings (625ns)
3 No more than 3 triggers per every 100 bunch crossings (2.5us)
4 No more than 4 triggers per every 240 bunch crossings (6us)

  • These rules can be enabled and set to whatever is desired via the setup_tts program, but do keep in mind that the above specifications are the CMS-wide standard for the TTC!
 

Revision 118 Apr 2013 - CharlieHill

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="HcalDTC"
This page overview the functionalities of the TTT software packages, including descriptions of the trigger scripts and the TTTtool commands.

TTTtool

Command Description
Z Zero the TTT flash memory by writing 0xFF to all bytes
V Verify the flash memory against a user-specified MCS file from ../firmware
P Zero the flash memory, program it using a user-specified MCS file from ../firmware, and then read back the flash and verify it against the chosen MCS file
RF Read pages (default 1) from address from the flash and print the output byte-by-byte in the terminal window
RS Read address (defult 1) from address from the Spartan FPGA and print the output word-by-word in the terminal window
WS Write to address on the Spartan FPGA
Q Quit the program

  • NOTE that all commands are case insensitive.
  • NOTE that in order for the tool to be run properly, the environ.[c]sh script must be run from the release home directory.

Trigger scripts

All of the following script use the program setup_tts to send L1As via the TTT board's SFP optical transceivers.

Script Description
single_trig Sends one "single" trigger
10_trigs Sends ten "single" triggers in a burst (non-periodic)
periodic_12hz Sends triggers periodically at 12hz. Run stop_trigs to terminate L1As
periodic_12hz_gap Sends triggers periodically at 12hz, allowing triggers in the orbit gap. Run stop_trigs to terminate L1As
periodic_120hz Sends triggers periodically at 120hz. Run stop_trigs to terminate L1As
periodic_fast Sends triggers periodically at 10 triggers per orbit with a repeat period of 2. Run stop_trigs to terminate L1As
random_49kHz_rules Sends triggers randomly at approximately 49kHz while obeying all four trigger rules. Run stop_trigs to terminate L1As
random_49kHz_rules_latency Sends triggers randomly at approximately 49kHz while obeying all four trigger rules and TTS backpressure latency. Run stop_trigs to terminate L1As
random_64kHz_rules Sends triggers randomly at approximately 64kHz while obeying all four trigger rules. Run stop_trigs to terminate L1As
random_100kHz_rules Sends triggers randomly at approximately 100kHz while obeying all four trigger rules. Run stop_trigs to terminate L1As
random_100kHz_no_rules Sends triggers randomly at approximately 100kHz while not obeying any of the trigger rules. Run stop_trigs to terminate L1As
random_100kHz_rules_latency Sends triggers randomly at approximately 100kHz while obeying all four trigger rules and TTS backpressure latency. Run stop_trigs to terminate L1As
stop_trigs Stop sending triggers

  • NOTE that these scripts will only run if environ.[c]sh has been run from the project's home directory

-- CharlieHill - 18 Apr 2013

 
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