University of Oxford Department of Physics Interim Report

advertisement
NP-ATL-ROD-ABCDEC1-001-RPT
University of Oxford
Department of Physics
Interim Report
Project Name:
Atlas Binary Chip Decoder (ABC Decoder)
Project Code:
NP-ATL-ROD-ABCDEC1
Group:
ATLAS
Version:
DRAFT
Date:
04 February 1998
Distribution List:
A. Grillo
D. Cambell
S. Cooper
M. Goodrich
N. Kundu
A. J. Lankford
G. Myatt
G. Noyes
R. Nickerson
A. Parker
A. Segar
P. Shield
R. L. Wastie
A. R. Weidberg
UCSC
RAL
Cambridge
UCI
RAL
Cambridge
Additional copies may be obtained from S. Geddes (s.geddes1@physics.ox.ac.uk)
1 of 8
NP-ATL-ROD-ABCDEC1-001-RPT
1.0 Related projects and documents
1.1 Projects
NP-ATL-FEE-ABCRDOT
NP-ATL-ROD-BIPHALD
NP-ATL-ROD-ABCDEC1
ABC readout
BiLED
ABC decoder
Oxford University
Oxford University
Oxford University
1.2 Documents
[1] ABC (Atlas Binary Chip) Project Specification, D. Campbell, RAL,
web page:- http://scipp.ucsc.edu/groups/atlas/sct-docs.html
[2] SCT Off-Detector Electronics Requirements Document, A. J. Lankford, UCI,
web page:- http://scipp.ucsc.edu/groups/atlas/sct-docs.html
[3] NP-ATL-FEE-ABCRDOT-001-RPD, ABC Readout Report, N. Kundu, Oxford.
[4] DORIC, A Front End Clock and L1 Distribution Chip, J. R. Gorbold and P. Seller.
[5] DORIC (Digital Opto-Receiver Integrated Circuit) Project Specification, D. J.
White, RAL.
[6] LDC (LED Driver Circuit) Project Specification, D. J. White, RAL.
[7] Trigger-DAQ Steering Group Requirement Document, web page: http://scipp.ucsc.edu/groups/atlas/sct-docs.html
[8] N-ATL-ROD-BLD-001-PRS, Biphase Mark Encoder and LED Drive Control
Chip, R.L.Wastie, Oxford University.
[9] Digital Readout Chip for Silicon Strip Detectors at SDC, K. Shankar, RAL, N.
Kundu, Oxford.
[10] NP-ATL-ROD-ABCDEC1-001-PRS, Atlas Binary Chip Decoder (ABC
Decoder) Project Specification, R.L.Wastie, Oxford University.
2.0 Introduction
This document describes a ROD ABC Decoder based on one chip. This chip would be
implemented with an FPGA or a cell based ASIC design.
As shown in the “ROD Data Paths”( page 7 ), a ROD would consist of four ABC
Decoder ASICs each with it own external buffer (Buffer 1). These four buffers are
read by one Event Builder which assembles whole events into an external buffer
(Buffer2) supplying a 1Gbit/s ROD-ROB link (delivering event data to a ROB). There
is a Host CPU for control, monitoring and various other housekeeping tasks.
The ABC Decoder receives eight serial links form the front-end modules, decodes the
data, check and handling various data errors and building the event fragments for each
channel. These fragments are stored in chip/strip order in the external buffer (Buffer
1).
2 of 8
NP-ATL-ROD-ABCDEC1-001-RPT
3.0 ROD Model
3.1 Physics Model
The physics data was take from the TDR. Several assumptions have been made about
the data, which are listed as follows: The occupancy in the silicon detector is 2% (1% TDR) with a Poisson distribution to
allow for fluctuations and to allow for any error in the Monte Carlo simulations.
The distribution of strips hit in the module is assumed to be uniform with 50% of the
hits having neighbours. The strip hit distribution don’t affect the data rate. The L1
trigger rate is 100 kHz with a exponential distribution of interval time.
The decoder must not be the limiting factor in the data flow. That is it must take data
at 40 Mbits/s or approx. 19 hits with 50% neighbours per L1 accept continues at 100
kHz average trigger rate. Figure 1 shows the L1 trigger interval distribution with 106
L1 triggers 10s of LHC real-time. Figure 2 shows the distribution of the number of
hits per trigger for the same simulation.
The model generates data for one ABC module which is fed into all eight decoder
channels.
Figure 1
Distribution of L1 triggers
12000
10000
Number of trigger
8000
6000
Series1
4000
2000
0
0
20
40
60
Interval time uS
3 of 8
80
100
120
NP-ATL-ROD-ABCDEC1-001-RPT
Figure 2
Hit Distribution
70000
60000
The mean is 23 hits per
trigger
50000
40000
Series1
30000
20000
10000
0
0
10
20
30
40
50
60
70
Number of Hits per trigger
3.2 Decoder Model
Data
The ADC Decoder model can handle all the physics data types and all the ABC error
codes. The configuration data is not included yet.
The data is written into the output buffer (buffer 0) as 32-bit words. The data format is
as Table 1. If there is an odd number of hits the 2nd hit will be padded by zeros.
Each block of data for an event (L1 accept) is written in the buffer with a header word
at the beginning which contains the trigger information. At the end of the event a
trailer word is written into the buffer as shown in Table 2. This format allows for a
variable number of hits to be identified in the buffer. There can be several events in
the buffer. This is an intermediate data format used by the event builder.
4 of 8
NP-ATL-ROD-ABCDEC1-001-RPT
Table 1
Packet
type
[31:28]
Hit data
tttt
0000
Strip
address
[20:14]
Hit data
[27:25]
Chip
addesss
[24:21]
[13:11]
Chip
addesss
[10:7]
Strip
address
[6:0]
ddd
cccc
sssssss
ddd
cccc
sssssss
2nd hit data
1st hit data
Table 2
Packet
type
1111
1110
L1ID
BCID
0000 0000 0000 0000 LLLL
bbbbbbbbbbbb
0000 0000 0000 0000 0000 0000 0000
Header Word
Trailer Word
Errors
Error handling is implemented in the model in a limited fashion. One or many errors
can be selected to be counted in one error counter. The counter can be masked to
count only selected errors if required. Errors are also written into a buffer, but that is
as far as this implementation is modeled. I need to know from the wider ATLAS
community what error information is need at the ROB/DAQ level.
Buffers
The results of the simulation show that the buffers sizes are relatively small.
Buffer Zero the internal buffer in the decoder would have a depth of 2 by 32 bits for
each channel. Buffer One the buffer between the decoder and the event builder would
have a depth of 416 by 32 bits for each channel. Buffer One would have to be
implemented as 512 x 32bits.
Data is read from buffer zero for each decoder channel in turn starting with channel
one. When channel eight has been read out there is a delay equivalent to the readout
time of 24 decoder channels. This was done to simulate the event builder handling 32
decoder channels.
L1 & BC
The checking of the L1ID and BCID would best be implemented in the event builder.
I came to this conclusion from evaluating the first decoder architecture. In that
architecture the check was implemented for each receiver channel (module). This
5 of 8
NP-ATL-ROD-ABCDEC1-001-RPT
required that each channel needed a LIID/BCID buffer, consequently this made the
design much larger that the second approach.
4.0 Model simulation results
Total number of L1 Accepts
Total number of Hits
Average hits
Maximum hits per trigger
Number of errors
Maximun nuber of L1’s waiting
Maximum words in Buffer Zero
Channel
Max Words
1
409
1000000
23754903
23b
66
30616a
16
2
Maximum words in Buffer One
2
3
4
5
410
411
413
413
6
414
7
415
8
416
Note a
These errors are ABC buffer overflow errors. This happens when the number of
triggers in the ABC event FIFO exceeds eight. This number of errors is a 0.51% data
loss.
Note b
This is an occupancy of 3%.
5.0 Further work
Module
To improve the model the module data would have to be generated for each decoder
channel separately and with different data.
Decoder
The issue of the error data needs to be addressed, where and what to do with the error
data. There needs to be a global look at errors, and where they are processed. Some
errors could be better handled in the event builder or somewhere else. Then the error
handling can have a more complete implementation.
Event Builder
6 of 8
NP-ATL-ROD-ABCDEC1-001-RPT
The formatting of the event packets to the slink is still to be implemented. The amount
of data to the slink is far to high, data compression encoding schemes to reduce the
data to an acceptable level will need to be investigated.
5.0 Document Control
All documentation will be archived according to the ATLAS Document Management
Protocol. All documents will be kept for the lifetime of the ATLAS experiment.
7 of 8
1Gb/s
ROD Data Paths
Fibre to ROB
Slink Fibre Tx
32
For Local Data readout during
Barrel testing.
Derandomizing
FIFO
32Kx32
Host Bus: Event Builder
Setup
Trigger Type
Module ID
Control
Status
Error Statistics
Errors
Buffer 2
32
L1A
L1ID
EVENT BUILDER
BCID
Data
WR1 RD0 RD1
BCR
32
Buffer 1
VME
WR1
0
DUAL PORT
RAM
RD1
4Kx32
WR1
1
DUAL PORT
RAM
RD1
4Kx32
WR1
2
DUAL PORT
RAM
RD1
4Kx32
WR1
3
DUAL PORT
RAM
RD1
4Kx32
Host
CPU
4
32
32
32
32
16
Host Bus: Decoders
Setup
Channel Masking
Control
Status
Error Statistics
Errors
0
ABC
Decoder
RD0
L1A
A
1
ABC
Decoder
RD0
8 Links
8 Links
8 of 8
L1A
2
ABC
Decoder
RD0
L1A
8 Links
3
ABC
Decoder
RD0
8 Links
Buffer 0
L1A
Download