Line: 1 to 1 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
Line: 27 to 26 | ||||||||||||||||||||||||||
Before data can be acquired through the link, the S-Link Express core must be properly configured by taking action on the receiver side (see uFEDKIT![]() | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | After changing the DAQ output configuration the logic and high-speed transceivers may be reset by writing to ACTION.RESETS.DAQ (AMC13Tool2 command rd) but after this the links must be reconfigured from the receiver end. | |||||||||||||||||||||||||
> > | After changing the DAQ output configuration the logic and high-speed transceivers may be reset by writing to ACTION.RESETS.DAQ (AMC13Tool2 command rd) but after this the links must be reconfigured from the receiver end. | |||||||||||||||||||||||||
The DAQ sender firmware itself was provided by the CMS cDAQ group. Links to the firmware in the CERN SVN and it's documentation may be found here: | ||||||||||||||||||||||||||
Line: 35 to 34 | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | See also MonitorBufferBugs for some details about event sizes and segmentation. | |||||||||||||||||||||||||
> > | See also MonitorBufferBugs for some details about event sizes and segmentation. | |||||||||||||||||||||||||
TTS | ||||||||||||||||||||||||||
Line: 86 to 83 | ||||||||||||||||||||||||||
(A value of 0 means "ready") The TTS state is sent over the same 5.0Gb/s link as the DAQ data. There's an input port in our link logic on the AMC side: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
-- TTS port | |||||||||||||||||||||||||
> > | -- TTS port | |||||||||||||||||||||||||
TTSclk : in std_logic; -- clock source which clocks TTS signals TTS : in std_logic_vector (3 downto 0); | ||||||||||||||||||||||||||
Line: 102 to 97 | ||||||||||||||||||||||||||
Additionally, up to 12 TTS states are received as described above from AMC cards. The final TTS output state is simply a priority encoding of the 12 AMC states plus the local AM13 one.
| ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
TTC Simulator | ||||||||||||||||||||||||||
Line: 171 to 164 | ||||||||||||||||||||||||||
Here is Christoph Schwick's description of how this facility works: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
is issued to reset all Event Counters of all sub-systems to '1'. | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
Here is Mr Wu's description of how the AMC13 processes resync: | ||||||||||||||||||||||||||
Line: 227 to 218 | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
Rule 1 is always enforced. The rules parameter to AMC13::configureLocalL1A or the CONF.LOCAL_TRIG.RULES item may be set as follows to suppress other rules: | ||||||||||||||||||||||||||
Line: 242 to 233 | ||||||||||||||||||||||||||
The AMC13 can generate fake AMC data for testing. This works even if the AMC13 is not in the normal slot (it can be in any MicroTCA crate slot). Enable this feature using the f option to the enable command, e.g. | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | > en 1-12 f t | |||||||||||||||||||||||||
> > |
> en 1-12 f t | |||||||||||||||||||||||||
Added: | ||||||||||||||||||||||||||
> > | ||||||||||||||||||||||||||
The size of each fake event may be set with: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | > wv CONF.AMC.FAKE_DATA_SIZE | |||||||||||||||||||||||||
> > |
> wv CONF.AMC.FAKE_DATA_SIZE | |||||||||||||||||||||||||
Added: | ||||||||||||||||||||||||||
> > | ||||||||||||||||||||||||||
where the value is the number of 64-bit words in the body of the event. Here is an example for a small event (size set to 3): | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
> wv CONF.AMC.FAKE_DATA_SIZE 3 > en 1 f t > lt > re all | |||||||||||||||||||||||||
> > | > wv CONF.AMC.FAKE_DATA_SIZE 3 > en 1 f t > lt > re all | |||||||||||||||||||||||||
+--------------+------------------+
| ||||||||||||||||||||||||||
Line: 290 to 281 | ||||||||||||||||||||||||||
750kHz. The AMC13 can do this but two settings must be changed from the defaults. First, the fake data generator event size must be reduced. This can be accomplished with the following (setting the size to 0x10 allows triggers well above 750kHz if only one fake AMC is enabled). | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
> wv CONF.AMC.FAKE_DATA_SIZE 0x10 | |||||||||||||||||||||||||
> > | > wv CONF.AMC.FAKE_DATA_SIZE 0x10 | |||||||||||||||||||||||||
Second, to get above about 670kHz the CMS trigger rules must be disabled: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
> wv CONF.LOCAL_TRIG.RULES 3 | |||||||||||||||||||||||||
> > | > wv CONF.LOCAL_TRIG.RULES 3 | |||||||||||||||||||||||||
(see section above for detailed documentation). To get 800kHz fixed rate one can use: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
> localL1A b 50 | |||||||||||||||||||||||||
> > | > localL1A b 50 | |||||||||||||||||||||||||
Or 800kHz random: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
> localL1A r 800000 | |||||||||||||||||||||||||
> > | > localL1A r 800000 | |||||||||||||||||||||||||
Finally, note that various commands in the AMC13Tool2 reset the CONF.LOCAL_TRIG.RULES to | ||||||||||||||||||||||||||
Line: 320 to 303 | ||||||||||||||||||||||||||
TTC History Capture | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | (See also AMC13Tool2 documentation on this topic. | |||||||||||||||||||||||||
> > | (See also AMC13Tool2 documentation on this topic. | |||||||||||||||||||||||||
This feature added to the T2 (Spartan) firmware starting in version 0x26 allows the capture of up to 512 TTC short-format broadcast commands in a buffer. | ||||||||||||||||||||||||||
Line: 332 to 315 | ||||||||||||||||||||||||||
than being stored in the history. Each filter item has the following 3 fields: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
bits 0-7 TTC command value to match | |||||||||||||||||||||||||
> > | bits 0-7 TTC command value to match | |||||||||||||||||||||||||
bits 8-15 Mask applied before match. '1' to ignore specified bit bit 16 This filter item is enabled if '1' | ||||||||||||||||||||||||||
Line: 343 to 324 | ||||||||||||||||||||||||||
See the nightly
API documentation![]() | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
void setTTCHistoryEna( bool ena); // enable/disable history capture | |||||||||||||||||||||||||
> > | void setTTCHistoryEna( bool ena); // enable/disable history capture | |||||||||||||||||||||||||
void setTTCFilterEna( bool ena); // enable/disable history filter void setTTCHistoryFilter( int n, uint32_t filterVal); // set individual filter item uint32_t getTTCHistoryFilter( int n); // get individual filter item | ||||||||||||||||||||||||||
Line: 361 to 340 | ||||||||||||||||||||||||||
occupying 512k bytes. The default mode at power-up is that up to 1024 blocks are stored
(independent of DAQ outputs), storing stops and the bit STATUS.MONITOR_BUFFER.FULL is set.
At any time the number of occupied buffers may be read from STATUS.MONITOR_BUFFER.UNREAD_EVENTS . | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | Note that if any AMC payload is > 32k bytes the event will be segmented and the number of buffers | |||||||||||||||||||||||||
> > | Note that if any AMC payload is > 32k bytes the event will be segmented and the number of buffers | |||||||||||||||||||||||||
will be greater than the number of events.
One buffer at a time may be read at MONITOR_BUFFER_RAM , which | ||||||||||||||||||||||||||
Line: 469 to 443 | ||||||||||||||||||||||||||
External Clock / Trigger Inputs | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | The AMC13 clock and external trigger can come from one of 3 sources (optical fiber, internal or external copper signal). | |||||||||||||||||||||||||
> > | The AMC13 external trigger can come from one of 3 sources (optical fiber, internal or external copper signal). The AMC operating clock can only come from the fiber input, though this can be provided in a self-contained way using a loop-back fiber . | |||||||||||||||||||||||||
The choices are enumerated in the following table.
| ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||
Deleted: | ||||||||||||||||||||||||||
< < | ||||||||||||||||||||||||||
Notes: | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
The control bits above can be accessed in the AMC13 software using the following names: | ||||||||||||||||||||||||||
Line: 497 to 469 | ||||||||||||||||||||||||||
> en 1-6 t > wv CONF.TTC.ENABLE_INTERNAL_L1A 1 | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | > wv CONF.TTC.T3_TRIG 1 | |||||||||||||||||||||||||
> > | > wv CONF.TTC.T3_TRIG 1 | |||||||||||||||||||||||||
HCAL Orbit Gap Calibration | ||||||||||||||||||||||||||
Line: 521 to 488 | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
Deleted: | ||||||||||||||||||||||||||
< < | ||||||||||||||||||||||||||
Wu's Debugging Guide | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
AMC13 quick trobleshooting with register dump | |||||||||||||||||||||||||
> > | AMC13 quick trobleshooting with register dump | |||||||||||||||||||||||||
Last updated on 3/19/2015 Following description is accurate only for T1 versions | ||||||||||||||||||||||||||
Line: 655 to 618 | ||||||||||||||||||||||||||
Monitoring RegistersThis section provides documentation on a few of the monitoring registers which have proven to be confusing. Eventually there should be detailed description for all registers, but who knows when this will get done! | ||||||||||||||||||||||||||
Deleted: | ||||||||||||||||||||||||||
< < | ||||||||||||||||||||||||||
Added: | ||||||||||||||||||||||||||
> > | ||||||||||||||||||||||||||
AMC_EvN_Mismatch (offset 0x6/0x7) This checks that the EvN in bits 32-55 of the first word sent by the AMC Matches the current EvN in the AMC13 (reset to 1 on EcR, increment each L1A) |