Professional Documents
Culture Documents
FPGA Co-Processor For The ALICE High Level Trigger: Gaute Grastveit University of Bergen Norway
FPGA Co-Processor For The ALICE High Level Trigger: Gaute Grastveit University of Bergen Norway
Gaute Grastveit
University of Bergen
Norway
1
Bergen College, Norway
2
Kirchhoff Institute for Physics, University of Heidelberg, Germany
3
Departement of Physics, University of Bergen, Norway
4
Departement of Physics, University of Oslo, Norway
5
Institute of Nuclear Physics, University of Frankfurt, Germany
ALICE – A Large Ion Collider Experiment
TPC
- Time Projection Chamber
Very High Data Rate
Compression/selection is needed
Conventional, lossless methods: factor 2
HLT functionality
• Compress
• Reduce the amount of data required to encode the event
as far as possible without loosing physics information
• Trigger
• Accept/reject events on the basis of physics application
• Select
• Select regions of interest within an event
• remove pile-up in p-p
• ...
RcvBd
PCI
NIC
Pad
FPGA implementation of a cluster
finder - the algorithm
• Calculate the mean for every Memory of clusters
sequence
• Adjacent pads with similar
means are merged begin
• Two lists of sequences are Searchrange /
used: one for clusters on the Previous pad
previous pad one for clusters
end
on the current pad
• Clusters are removed from the Inputrange /
searchrange when a match is Current pad
found or we know it is finished
• Clusters are inserted in the insert
inputrange after merging or
when we start a new cluster
Block Diagram, Verification
Testbench
Top structure
RAM (lpm)
T
Decoder FIFO (lpm) Merger cluster
seq seq
C++ program
C++ model File: C++ clusters compares
the results
Relative Scales
As before
the mean is
calculated by:
charge scalevalue
charge
smaller
Alternative, (absolute):
Pre_Calc
Decoder FIFO (lpm) Merger
(2 mult, 1 add)
Deconvolution
Simplified implementation, almost for free – splits
at minima in both directions (time and pad)
off on
Merger Goals
•spend few clock cycles per sequence
Clock cycles spent in the diff erent states
•high clockspeed 22 %
30 %
& n e w d a ta &
n e xt p a d
send
n e w ro w o r m any
s k ip p a d 5%
n e w s e a rc h ra n g e 4% 11 %
0%
m e rg e send 11 %
id le &
11 %
s to re a ll
W idle - 30%
merge_mult
& send merge_add
e m p ty one merge_store
in s e rt
m e rg e send_all
seq
add W
+ + o ld is a b o v e send_many
send_one
o ld is b e lo w
calc_dist
m e rg e c a lc
m u lt w ith in m a tc h d is ta n c e d is t insert_seq
* * + - -
Cluster Finder Performance
Histogram 2
Histogram
HistogramN-1
N-1
Histogram
HistogramNN
Conclusion
18 sectors on
each side, each
sector is
readout in 6
subsectors
Total is ca.
570.000 pads