Title: CMS GCT
1CMS GCT
- CMS GCT Modified Algorithm Response to ESR
recommendations - Magnus Hansen, Greg Iles, Matt Stettler
- 20060524
2Functional description 1Energy Summary (Leaf
Card, Implemented)
- The sums for three RCT crates are performed on
each leaf card - Leaf card sum performed in Master FPGA
- The data format to the Energy Summary
- Two strips of 11 regions from one RCT crate
- Calculate Total Et
- Sum Et from all Regions
- Now keep 12 bits overflow
- Mod No truncation
- 10 4 1 bit in each leaf FPGA
- One more bit added on leaf card
- Calculate Missing Et
- For each of the two Region Strips, Sum Et
- 10 4 bits
- Using ROM, calculate Ex and Ey considering the
physical location of the - Keep 14 bits sign for each Ex and Ey
- Sum the Ex over all Region strips (idem Ey)
- Keep 14 2 bits sign overflow in each leaf
FPGA - Keep 16 bits sign overflow on leaf card
(excessive)
Eta10
Eta0
3Functional description 2 Jet Finder
Eta10
Eta0
- The data format on the input to the Jet Finder
- A 2 by (111) matrix of regions from one RCT
crate - Find Jet Seeds
- Compare every region with its neighbors within
the data set - Region considered as a jet seed if greater then
or greater than or equal to all neighbors as in
picture at the right
Eta
Seed GT?
Seed GT?
Seed GT?
Seed?
Seed GT?
Seed GT/EQ?
Seed GT/EQ?
Seed GT/EQ?
Seed GT/EQ?
Phi
4Functional description 3 Jet Finder (Leaf Card,
Modification)
- Pre-cluster seeds
- Let every jet seed absorb all its neighbors
- Truncation made to 10 bits Jet Et, overflowing to
0x3FF - Double Et counting for Ht
- Communicate with the two neighboring jet finders
in Phi - Store the raw regions
- Send up to three pre-clustered jets on the
positive edge to neighbor(phi 1) - Idem for negative edge
Eta10
Eta0
Negative edge
Positive edge
Etc.
5Functional description 4 Jet Finder (Leaf Card,
modification)
- Compare pre-clustered Jets
- Compare every Pre-clustered jets
- Add 31 sub-strip corresponding to the greatest
RECEIVED pre-clustered jets - Truncation made to 10 bits Jet Et , overflowing
to 0x3FF
Eta10
Eta0
Negative edge
Positive edge
6Functional description 4Jet Finder (Leaf Card,
modification)
7Functional description 5 Jet Finder (Leaf Card,
Modified)
- No more Non-complete jet
- Transform and then Report Complete jets and Ht to
Wheel card - Et -gt Rank transform using LUT
- One LUT per eta/phi combination
- Et, Tau veto bit on input
- Eta and Phi geographical
- Implements Threshold
- 6 bit Rank, 1 bit valid_Ht on output
- Total Ht calculated at this stage
- Not including Non-complete jets (Done in Conc.
card) - 13 bits Et overflow
Eta0
Eta10
Complete Jets
8Functional description 6 Jet Finder (Wheel card,
code exist)
9 6 jets from 9 Jet Finders on three Leaf cards
- Receive Complete jets from nine Jet Finders on
Leaf cards - Three leaf cards
- Distinguish between jet type
- Central, Tau, and Forward
- Create jet counts
- Select the four highest rank jets of each type
and report to Concentrator card
Jet type Distinction
Up to Four jets of each type to Concentrator card
Central
Tau
Forward
Central jets
Tau jets
Forward jets
9Functional description 9(Concentrator card, not
implemented)
Wheel
To GT
- Wheel
- Select four highest Rank jets of each type
- And electrons, of course
- Finish Energy Summary, Jet counts, etc.
- Report to GT
10Conclusions
- Reasonable modifications
- Some additional complication
- More hardware, less modular vhdl code, more
permutations - We might decide to keep the current jet finder
algorithm for the first tests - Will take O(one additional man-month) to
implement - Only on firmare, Some effort can be saved
- More Source cards
- More optics
- Potentially more latency
- To be evaluated, we will know when the new design
has been routed, which might be after Christmas.
11Program until September
- Code assemblies for all FPGAs
- Electron leaf card
- U1, U2 Just started (Greg I, Matt, Magnus)
- Jet leaf card
- U1, U2 Ongoing (Greg I, Matt, Magnus)
- Wheel card
- Jet FPGA Just started (Greg I, Matt, Magnus)
- Some functionality moved from leaf card (minor)
- Energy summary FPGA not started (Greg I, Matt)
- Concentrator card
- Jet FPGA not started (Greg I, Matt, Magnus)
- Energy summary FPGA not started (Greg I, Matt)
- Control FPGA Started, advanced ( Greg I, Matt)
- VME / TTCrx interface from TTCci / LTC
12Functional description 3 Jet Finder (Leaf Card,
Implemented)
- Sort, allocate regions to seeds, Pre-cluster
seeds - Let the greatest jet seed absorb all its
neighbors - Let the second greatest absorb all its neighbors
that were not already taken - Etc.
- Truncation made to 10 bits Jet Et, overflowing to
0x3FF - Communicate with the two neighboring jet finders
in Phi - Store up to six pre-clustered jets on the
Receive edge in a pipe until receiving data
from neighbor(phi 1)s Send edge - Send up to six pre-clustered jets on the Send
edge to neighbor(phi 1)
Eta10
Eta0
Etc.
13Functional description 4 Jet Finder (Leaf Card,
Implemented)
- Find Jet Seeds
- Compare every Pre-clustered jet seed with its
neighbors within the new data set - Consisting of the Send edge from the
neighbor(phi 1) and my Receive edge - Sort, allocate regions to seeds, Cluster seeds
- Let the greatest Pre-clustered jet seed absorb
all its neighbors - Let the second greatest absorb all its neighbors
that were not already taken - Etc.
- Truncation made to 10 bits Jet Et , overflowing
to 0x3FF
Eta10
Eta0
Receive edge
Send edge
Receive edge
Send edge
14Functional description 5 Jet Finder (Leaf Card,
Implemented)
- Report Non-complete jet
- Clustered jet seed on Eta 0
- Sent to the Concentrator card
- Transform and then Report Complete jets and Ht to
Wheel card - Et -gt Rank transform using LUT
- One LUT per eta/phi combination
- Et, Tau veto bit on input
- Eta and Phi geographical
- Implements Threshold
- 6 bit Rank, 1 bit valid_Ht on output
- Total Ht calculated at this stage
- Not including Non-complete jets (Done in Conc.
card) - 13 bits Et overflow
Eta0
Eta10
Complete Jets
Non-complete jets
15Functional description 7 Energy Summary (Wheel
card, not impl.)
- Calculate Total Et
- For three leaf cards
- 18 bits overflow (Three sources of 16 bits
overflow) - Calculate Total Ht
- For three leaf cards
- 16 bits overflow (Nine sources of 13 bits Et
overflow) - Calculate Missing Et
- For three leaf cards
- 2 17 bits overflow (Three sources of 2 16
bits overflow) - Report to Concentrator card
16Functional description 7 Jet Finder
(Concentrator card, not impl.)
- Receive nine Non-finished Clustered jets from
each wheel card - Actually, one from each Jet Finder
- Find Jet Seeds
- Compare every Clustered jet seed with its
neighbors within the data set - Arranged as a 2 by 18 tail-biting matrix of
Non-finished Clustered jets - Sort, allocate Non-finished Clustered jets to
seeds, Cluster these seeds - Let the greatest Clustered jet seed absorb all
its neighbors - Let the second greatest absorb all its neighbors
that were not already taken - Etc.
17Functional description 8 Jet Finder
(Concentrator card, not impl.)
- Transform Et to Rank
- Et -gt Rank transform using LUT
- One LUT per eta/phi combination
- Et, Tau veto bit on input
- Eta and Phi geographical
- 6 bit Rank on output
- Distinguish between jet type
- Central, Tau, and Forward
- Create jet counts
- Select the four highest rank jets of each type
- Total Ht for Non-complete jets calculated at this
stage
18Functional description 9(Concentrator card, not
implemented)
Wheel
Eta 0
To GT
- Wheel
- Select four highest Rank jets of each type
- And electrons, of course
- Finish Energy Summary, Jet counts, etc.
- Report to GT
19Functional block diagram of one Complete Jet
Finder
20Leaf card functional block diagram
- Three Complete Jet Finders
U2, contains JF1
U1, contains JF2 and JF3
21Firmware status 1
- Pipeline / Derandomiser
- Advanced (Magnus)
- MGT array
- Advanced (Magnus with Input from T. Romanteau,
LLR, Paris) - Instantiation of MGT successfully simulated
- Including Loop-Back function for pattern
injection - Clock domain change circuitry implemented and
simulated - Includes data de-multiplexer
- Utilizes a Block RAM
- Latency programmable through simple interface
22Firmware status 2
- Jet Finder algorithm (Leaf Card)
- implemented, simulated, synthesized, and verified
in hardware - Bugs fixed with help from Greg Heath (Many
Thanks!) - Utilizes 2Mgates / Jet Finder (before bug
fixes) - Jet Selection
- Select the (4) best from (2) sources with (4)
features each - (numbers) passed as generics
- VHDL code written, simulated, and routed
- not tested in hardware
- Can be used also for electronsJet Selection
- Jet Finder algorithm (Concentrator Card)
- Not implemented
- Control interfaces
- Serial VME Advanced state (Matt)
- Slink Advanced state (Matt)
- Synchronous Control Advanced state (Greg I)