CSC DCC Output Data Format (update on Jun. 18, 2010)

Data Format:

The DCC data are aligned in 64-bit words.  Each event is one SLINK package, but maybe several Gigabit Ethernet packages.  The Data include: two SLINK header words, DDU data load, and two SLINK trailer words.
Here is a sample event from run#79035:

5100 86a1 3f52 f308     DCC-Slink Header 1 -------------- Slink64 header format -----------

d900 1005 28e0 01f0     DCC-Slink Header 2                                                |

5000 86a1 3f5d 1960           DDU1 Header 1  ---------------------------------- Refer     |

8000 0001 8000 0000           DDU1 Header 2                                   | to        |

2c2c 1010 0000 0080           DDU1 Header 3   Empty                           | DDU       |

8000 ffff 8000 8000           DDU1 Trailer1                                   | for       |

2000 0000 0000 0000           DDU1 Trailer2                                   | data      |

a000 0006 29ff 0080           DDU1 Trailer3  ---------------------------------- format    |

      ……                      other DDUs                                                  |

5000 86a1 3f5d 1760           DDUN Header 1  ----------------------------------           |

8000 0001 8000 0000           DDUN Header 2                                   |Refer      |

2c6c 1010 0008 0081           DDUN Header 3                                   |to         |

93f8 9e10 9008 96a1                 DMB1 Header 1 -----------------           |DDU        |

a3a1 a078 a348 aab0                 DMB1 Header 2                 |Refer      |for        |

d022 d6a1 d466 db0a                       ALCT Header ----Refer   |to         |Data       |

06d0 00eb 0071 03db                       ALCT data load |to      |DMB        |Format     |

      … …                                 … …            |ALCT    |for        |           |

da58 d328 d4ab de0d                       ALCT trailer ---        |data       |           |

d01e d6a1 d45b db0c                       TMB header -----Refer   |format     |           |

5172 777f 226a 00f0                       TMB data       |to      |           |           |

      … …                                 … …            |TMB     |           |           |

d99c ddb8 dbd6 de0f                       TMB Trailer ----        |           |           |

42a6 425f 42d1 4241                       CFEB data ------Refer   |           |           |

      … …                                 … …        ----|CFEB    |           |           |

f000 f01c f07f f8a1                 DMB1 trailer 1                |           |           |

e62e e26e e348 e01f                 DMB1 trailer 2 ----------------           |           |

      …     …                       … … Other DMB data                        |           |

8000 ffff 8000 8000           DDUN trailer1                                   |           |

0000 0000 0000 0000           DDUN trailer2                                   |           |

a000 01cf 1a36 0080           DDUN trailer3 -----------------------------------           |

ef50 0000 0000 00c8     DCC trailer1                                                      |

a000 01eb 2dab 0380     DCC trailer2 ------------------------------------------------------

Here you can find the detailed (and up to date) description of DCC-slink header and trailer constraint as defined by CMS as common data format, Follow the link to "DAQ/FE INTERFACING GUIDE", then link to "COMMON DATA FORMAT".

Header 1: 5XYY,YYYY,ZZZW,WWVU   --- SLINK required

            5: together with a special 65th bit, it defines the start of DCC data packet.

            X: Event_type: not defined yet,  Currently in DCC, it is: 1 for normal data, 2 for Calibration.

YYYYYY: 24-bit Event number counter (L1A number counter);

ZZZ: 12-bit beam crossing number counter;

WWW: 12-bit Slink ID (0x2EEΰ0x2F5 for FED crate slot#8 DCCs, 0x370ΰ0x377 for FED crate slot#17 as upgrade option)

V: Version identifier of the common FED encapsulation, currently it is 0

            U: bit3: =0 if the current header is the last header, =1 if more headers follows, currently 1;

                        bit2: reserved bit, currently 0

                        bit1, 0: used by S-Link Hardware, The DCC set them to ‘0’

Trailer 2: AVXX,XXXX,YYYY,VZWU   --- SLINK required

A: together with a special 65th bit, it defines the end of DCC data packet.

V: reserved bits, currently 0

XXXXXX: 24-bit package (in 64-bit) word count

YYYY: 16-bit CRC (USB format, including header and trailer)

V: DCC is required to set to 0;

Z: Event Status, not defined yet.  Currently DCC defines as: bit3: Slink_stop, bit2: Data_dumped; bit1: No_L1A, bit0: DDU_Available[1], for slink0, the DDU is in slot#3 FIFOINUSE[0]; for slink1, the DDU is in slot#11, same as FIFOINUSE[5].

W: TTS status, Allowed values are: 0x0 for not_implemented; 0x1 Overflow Warning; 0x2 Out of Sync; 0x4 Busy; 0x8 Ready; 0xC error;

U: Bit3: =0 if the current trailer is the last trailer, currently 0.

Bit2: =1 if the CSC value has been modified by the S-link sender card, the DCC must set it to ‘0’

Bit1,0: used by S-link Hardware, the DCC set them to ‘0’

Header 2: DVXX,XXXX,XXYY,YYZU   --- USER optional

            V: bit3: L1A delayed; bit2: Data_Dumped; bit1: NoL1A; Bit0: L1A

XXXXXXXX: 32-bit orbit counter number

YYYY: FIFOs status: Slink_FIFO_Status[4:0] (~Full, ~Almost_full, ~HF, ~Almost_empty, ~Empty), IN_FIFO_PAEs[5:1] (0 means almost empty), IN_FIFO_EMPTY[5:1] (0 means empty), dummy bit
Z: DDU_Available[5:2]; to indicate available DDU. For slink0, the DDU slots are 5, 12, 4, 13 (same as FIFOINUSE[4:1]); for slink1, the DDU slots are 9, 7, 10, 6 (same as FIFOINUSE[9:6]).
U: Same definition as Header 1’s U, currently 0

Trailer 1: EFZZ,XXXX,XXXX,XXYU   --- USER optional

XXXXXXXXXX: DDU data status, 8 bit each

Y: Bit3: currently 1, bit2: currently 1, bit1: DDU#4 or DDU#5 no_end timeout; bit0: DDU#3, DDU#2 or DDU#1 no_end timeout

U: same definition as header’s U, currently b’1000’

ZZ: Time used to readout the current event.  This is a coded 8-bit timer.  'a b c d e f g h', readout time is: (bcdefgh)*(16**a)*0.41us.

 

As defined by CMS DAQ, there is an extra bit (65th bit) in Slink hardware to indicate DCC (Slink) header and trailer.  This bit is lost when the data is readout by computer and stored in 64-bit format.  In exchange,

For CFEB data format, refer to CFEB data format .

For DAQMB data format, refer to DAQMB production data format .

For DDU data format, refer to DDU data format