Difference: AMC13UserManual (40 vs. 41)

Revision 4118 Jun 2018 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
THIS MANUAL IS INCOMPLETE but what is written here should be more accurate and up to date than the old "functional specification". Please e-mail me if you find mistakes/omissions here (Eric H).
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 documentation for details)
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.

Transition FIFO level
Changed:
<
<
RDY->OFW 96
OFW->RDY 63
OFW->BSY 224
BSY->OFW 223
BSY->SYN 225
>
>
  RDY->OFW 96
  OFW->RDY 63
  OFW->BSY 224
  BSY->OFW 223
  BSY->SYN 225
 

TTC Simulator

Line: 171 to 164
  Here is Christoph Schwick's description of how this facility works:
Changed:
<
<
  1. When the Re-sync sTTS state is detected by the Trigger for 8 orbits no L1 Triggers are issued.
  2. In BX 2000 of the following orbit the BGO 0101 (Re-sync) is issued.
  3. It follows another gap of 8 orbits without triggers. This interval is used by sub systems to do whatever they need to do. If they need more time they are allowed to issue sTTS BUSY.
  4. If the gap of 8 orbits has passed AND all sub-systems are in ready state in the following orbit at BX 2000 an EC0 (BGO 0111)
>
>
  1. When the Re-sync sTTS state is detected by the Trigger for 8 orbits no L1 Triggers are issued.
  2. In BX 2000 of the following orbit the BGO 0101 (Re-sync) is issued.
  3. It follows another gap of 8 orbits without triggers. This interval is used by sub systems to do whatever they need to do. If they need more time they are allowed to issue sTTS BUSY.
  4. If the gap of 8 orbits has passed AND all sub-systems are in ready state in the following orbit at BX 2000 an EC0 (BGO 0111)
  is issued to reset all Event Counters of all sub-systems to '1'.
Changed:
<
<
  1. After the next BC0 'normal operation' is resumed.
>
>
  1. After the next BC0 'normal operation' is resumed.
  Here is Mr Wu's description of how the AMC13 processes resync:
Line: 227 to 218
 
  • CONF.LOCAL_TRIG.RATE sets the rate or spacing (0 means spacing=1)
  • CONF.LOCAL_TRIG.NUM_TRIG sets the burst count (0 means count=1)
  • CONF.LOCAL_TRIG.TYPE is the mode (0 for orbit, 2 for BX, 3 for random)
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

 +--------------+------------------+
FED ID 0x000
Channel SFP0
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 for details.
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.

Clock Source Trigger Source Hardware T1 0x1 bit 15 T1 0x1 bit 8 T1 0x1 bit 2
Internal Internal Loop-back fiber (Note 1) 0 1 1
Fiber Internal Fiber with TTC input 0 0 1
Changed:
<
<
?? Lemo Special T3 with clock input 1 0 1
>
>
Fiber Lemo Special T3 with LEMO inputs 1 0 1
 
- - Not used 1 0 0
Deleted:
<
<
 Notes:
Changed:
<
<
  1. SFP transceiver with loop-back fiber from Tx to Rx must be installed in bottom site
>
>
  1. SFP transceiver with loop-back fiber from Tx to Rx must be installed in bottom site
  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
 
01100000 (0x60) Gap-Pedestal BGo-13 Pedestal in next gap Enable gap trigger this orbit only
10000000 (0x80) Gap-Sequence-Step BGo-13 Advance laser Increment current laser position
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 Registers

This 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)
 
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