CMX_topo_data_format_spec

advertisement
CMX  L1 Topo fiber data format and
protocol proposal
Wojtek Fedorko
Version 0.1, Dated 23 May 2013
Introduction
In this document the format of the data sent from CMX to L1Topo processor
is proposed. The format builds on trigger object (TO) formats previously proposed
by S. Hillier. It also specifies line encoding, positioning of the TO data within the
transmission, provisions for data alignment and error checking.
Each CMX provides up to 24 fibers outputs. The current working assumption
is that each type of CMX (Jet, EM/Tau and energy sum) provides 6 fiber outputs to a
given L1Topo processor and this document follows this 6-fiber assumption. Within
this limit up to 24 Jet TOs and up to 30 EM/Tau TOs can be sent per event. The CMX
provides 0 suppression to this amount of TOs from a greater number sent on the
backplane and signals backplane or zero-suppression overflow to L1Topo. At the
time of writing preliminary studies suggest that limiting number of TOs to the
number mentioned may jeopardize physics performance. If these findings are
confirmed extending the number of fiber links between CMX and L1Topo following
the patterns presented in this document will be straightforward. Duplication of the
data stream (for instance to two L1Topo processors or L1Topo and topo function
CMX) may be provided if required by duplicating data from fiber 0 on fiber 6, data
from fiber 1 on fiber 7 etc.
Line rate and encoding
The line rate on the CMX -> Topo serial links is 6.4 Gbps. The data will be
encoded using 8b/10b encoding providing sufficient number of transitions for PLL
lock on the RX side and DC balancing of the lines. Virex 6 and 7 FPGAs provide
hardware support for 8b/10b encoding making the implementation very
convenient. Given the line rate and the encoding the data rate on a single serial link
is 5.12 Gbps providing 128 bits of information per fiber per event. In the rest of this
document this unencoded (or ‘parallel’) data will be discussed as this is the data
available for processing in the FPGA logic
1
TO formats
The TO Formats were presented previously. The proposal is reproduced in
Fig. 1 with a modification that the overflow bit has been removed from the JET and
EM/Tau TO
TO Type: Electron or Tau
4b
3b
3b Local
CPM Num CP Chip Coords
Length: 23
5b isolation
8b electron energy
TO Type: Jet
4b
JEM Num
Length: 28
3b RoI
Frame
2b
LC
9b jet energy (small size)
10b jet energy (large size)
Local Coordinates
TO Type: Energy
Exactly 6 Energy RoI words (in order shown) Length: 96
X
X
15b Signed Ex (restricted eta range)
15b Signed Ex
O
O
Y
Y
15b Signed Ey (restricted eta range)
15b Signed Ey
O
O
T
T
15b Unsigned Sum E (reweighted by JEM)
or
15b Unsigned Sum Et
Sum Et with restricted eta range
O
O
Ex, Ey, ET Overflows
CPM Local Coordinates
JEM Frame
2
3
6
7
0,1,0 0,1,1 1,1,0 1,1,1
3
7
0,1,1 1,1,1
JEM Local Coordinates
2 1,0 3 1,1
0
1
4
5
0,0,0 0,0,1 1,0,0 1,0,1
2
6
0,1,0 1,1,0
0 0,0 1 0,1
1
5
0,0,1 1,0,1
0
4
0,0,0 1,0,0
2013-05-15
Figure 1.
Proposed Trigger Object formats
Trigger Object, alignment data, overflow bit and CRC checksum
placement within the 128 bit transmission
The maximum number of EM/Tau trigger objects possible to transmit on a
single serial link is five per event taking 115 bits of the 128 available. Maximally
2
four jet TO’s can be sent per fiber using 112 bits. A single bit signaling presence of
backplane or zero-suppression overflow also needs to be sent on at least one of the
channels leaving 12 bits on any given channel for error checksum. Based on the
available bandwidth for error checking a Cyclic Redundancy Check of length 12 was
chosen for signaling transmission errors. The error-detection properties and the
computation of the 12 bit CRC checksum are discussed in the next section. The
formats of the Jet and EM CMX to L1 Topo data transmission are shown in Fig. 2 and
3.
3
63
56
55
28
Jet TO 2
27
0
Jet TO 1
127
116 115 114
CRC
63
Ov
56
Jet TO 0
112 111
84
Reserved 0
28
27
0
Jet TO 1
127
116 115
CRC
63
Jet TO 0
112 111
84
Reserved 0
56
83
Jet TO 2
55
28
27
0
Jet TO 1
116 115
CRC
Jet TO 0
112 111
Reserved 0
64
Jet TO 3
Jet TO 2
127
64
Jet TO 2
55
Jet TO 2
83
Jet TO 3
84
Jet TO 3
83
64
Jet TO 2
}
}
}
fiber 0
fiber 1
fiber 5
Figure 2.
Data format of the Jet CMX to L1 Topo transmission. Data shown before the 8b/10b encoding. 16 lowest significant bits of each
channel are loaded first into the megabit transceiver data interface, next bits 31-16 etc. Overflow bit is indicated by ‘Ov’. Reserved
bits are set to 0.
4
63
46
45
23
EM TO 2
127
116 115 114
CRC
92
46
23
92
46
0
69
23
R0
64
EM TO 2
22
0
EM TO 1
116 115 114
68
EM TO 3
45
EM TO 2
EM TO 2
91
EM TO 4
63
64
EM TO 0
112 111
R0
68
22
EM TO 1
116 115 114
CRC
69
EM TO 3
45
EM TO 2
127
91
EM TO 4
63
CRC
0
EM TO 0
112 111
Ov
127
22
EM TO 1
EM TO 0
112 111
92
EM TO 4
91
69
EM TO 3
68
64
EM TO 2
}
}
}
fiber 0
fiber 1
fiber 5
Figure 3.
Data format of the EM CMX to L1 Topo transmission. Data shown before the 8b/10b encoding. 16 lowest significant bits of each
channel are loaded first into the megabit transceiver data interface, next bits 31-16 etc. Overflow bit is indicated by ‘Ov’ and the
reserved bits (set to 0) by ‘R 0’.
5
In the (likely) case that there are less than the maximum number of TOs to be sent in
a given event the existing TOs are front loaded onto the serial links starting with the
first channel and all fields for the non-existent TOs are set to 0. For example in case
there are only two jet TOs to be sent to Topo from a given CMX the first jet TO will
appear as ‘Jet TO 0’ on fiber 0 and the second jet to will appear as ‘Jet TO 0’ on fiber
1. For the Jet CMX, in case that the Jet TOs 2 and 3 on a given fiber are not present
and for the EM CMX, in case EM TOs 2, 3 and 4 are not present on a given fiber, bits
64 to 83 are replaced by a 20-bit alignment word containing K28.5 character and 12
bit BCID. The K character is needed for RX byte alignment and monitoring. The fixed
position of the K character (always on byte 8) (if it appears) gives the receiver
necessary information for initial alignment and subsequent monitoring of the event
boundaries within the data stream, while inclusion of the BCID counter allows for
aligning the information to the same event and subsequent monitoring. The
alignment word is shown in Fig 4.
19
8
BCID
7
0
K28.5
Figure 4. The alignment word
The energy sum information takes up 96 bits including the 6 overflow bits. The 128
bit per event bandwidth allows for fitting the 96 bits of physics information together
with the alignment word and the CRC sum to be sent on every event. However the
constant position of the alignment word demands partitioning of the energy sum TO
as shown on Figure 5.
6
63
X
Y
62
48
Signed Ey (restricted eta range)
127
CRC
47
Y
O
46
32
Signed Ey
116 115 114
100
T
Unsigned Sum E (reweighted by JEM) or Sum Et with restricted eta range
O
99
T
O
31
X
O
30
16
Signed Ex (restricted eta range)
98
84
Unsigned Sum Et
15
X
O
14
0
Signed Ex
83
72
BCID
71
64
K28.5
Figure 5.
Energy TO transmission. Sixteen lowest significant bits are sent first then nits 31-16 etc. ‘ XO’ ‘YO’ and ‘TO’ designate the
overflow bits for the energy sums immediately preceding them.
7
CRC calculation and performance
The cyclic redundancy check provides varying level of transmission error
detection depending on the length of the transmitted data (‘message’) and the length
of the checksum and the choice of so called ‘generator polynomial’. The CRC is
especially well suited for detecting errors common to communication channels. In
particular, provided that the generator polynomial is well chosen the CRC will detect
any transmission error where odd number of bits are flipped and any burst error1 of
length up to the length of the checksum. Protection against arbitrary bit flips
scattered through the transmission is highly dependent on the generator polynomial
choice. Note that since the data is 8b/10b encoded protection against burst errors is
highly desired. If a bit flip occurs in the serialized (10b) data the resulting ten bit
pattern may not be in the in the encoding table, or it is in the table and therefore is
interpreted by the receiver as a different eight bit payload. The megabit transceiver
hardware checks for the first possibility – user logic must monitor the appropriate
port (RXNOTINTABLE) of the transceiver. Error resulting in a valid 10-bit character
will be detected by the CRC performed on the decoded data. A failure resulting in
dark fiber will also be caught by RXNOTINTABLE as within the 8b/10b encoding
long strings of 0’s or 1’s are not permitted. Alternatively the receiver PLL will lose
synchronization. The CRC check does not need to protect against this failure mode.
Since the maximum length of the ‘message’ (or physics+alignment data)
present in the system is 116 bits and the transmission length is 128 we are left with
12 bits for the CRC check. Following recommendations in [1] a generating
polynomial 0x80f has been chosen (in notation with implied leading 1).
Performance of the error check provided by this choice of CRC has been tested using
a software model. The results are:
 All burst errors of length up to 12 bits are caught.
 99.97% of burst errors of length up to 32 bits (inclusive) are caught.
 All errors where two arbitrary bits are flipped in the transmission are caught.
 99.93% of errors where arbitrary four bits are flipped within the
transmission are caught.
 99.95% of errors where arbitrary six bits are flipped within the transmission
are caught.
Detection of more complicated errors was not tested, however it may be desirable to
test against possible single bit flips giving valid 10-bit characters resulting in more
than one length 8 burst errors scattered through the transmission.
8
Download