CMS GCT ESR: Firmware - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

CMS GCT ESR: Firmware

Description:

Leaf card contains most ... Et & Missing Et from 3 Leaf cards. Distuingish between Central, Tau and ... Jet Finder (before bug fixes) Jet Selection ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 36
Provided by: magnus6
Category:
Tags: cms | esr | gct | bug | firmware | leaf

less

Transcript and Presenter's Notes

Title: CMS GCT ESR: Firmware


1
CMS GCT ESR Firmware
  • Based on CMS GCT Algorithm Review
  • Firmware Status Report
  • by Magnus Hansen 2006-04-26
  • Magnus Hansen, Greg Iles, Matt Stettler
  • 10th May 2006, Version 3

2
GCT Firmware
  • VHDL written from high level perspective
  • Does not use low level FPGA primatives except
    BlockRAM
  • Makes code easier to understand change
  • Let modern synthesis tools optimise the code
  • Allows code to be generic (e.g. electron sort
    could use same code as jet)
  • 2 processing channels
  • Jet
  • Electron

3
Jet Data received from RCT by Jet-Leaf card
  • 3 Leaf cards per Wheel card
  • Leaf card receives data from
  • 3 RCT crates
  • Neighbouring leaf card
  • Each RCT crate
  • 2 units in phi (1 unit 20 degrees)
  • 11 units in eta (1/2 of cms)
  • JetFinder operates on RCT crate
  • gt 3 JetFinders per Leaf
  • gt 9 JetFinders per Wheel

JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
JF
4
Jet Leaf Processing(implemented)
  • Receive data with MGT array
  • Calculate Total Et
  • Calculate Missing Et
  • Create Clustered Jet
  • See appendix for details of clustering algorithm
  • Only pre-cluster at eta-0 boundary
  • Calculate Ht from Clustered Jets
  • Convert Et of Clustered Jets to rank

Leaf card contains most challenging firmware
Most subsquent functionality implemented in some
form
5
Jet Wheel Processing (not implemented)
  • Receive
  • Up to 6 Complete Jets from 9 JetFinders
  • Total Ht from 9 JetFinders
  • Total Et Missing Et from 3 Leaf cards
  • Distuingish between Central, Tau and Forward Jets
  • Select 4 highest rank jets of each type
  • Sum 9 values of Ht
  • Sum 3 values of Total Et
  • Sum 3 values of Missing Et
  • Calculate JetCounts

6
Jet Concentrator Processing (partly implemented)
  • At eta-0 boundary
  • Receive 9 un-finished clustered jets from each
    wheel card (one per JetFinder
  • Create Clustered Jets
  • Convert Et of Clustered Jets to rank
  • Distinguish between Jets
  • Sum Ht Clustered Jets
  • Calculate Jet Count
  • From wheel cards and eta-0
  • Sort Complete Jets by rank
  • Sum Ht, Missing Et Total Et
  • Sum Jet Counts

7
Elec Leaf Processing (not implemented)
  • Receive from RCT 36 isolated and non-isolated
    candidates per leaf card.
  • Sort by rank
  • Forward to Concentrator

Elec Concentrator (not implemented)
  • Sort by rank
  • Forward to Global Trigger

8
Concentrator (advanced stage)
  • Additional functions
  • VME64x interface to VME
  • Master serial VME64x interface to rest of system
  • Slink interface
  • TTC distribution

9
Schedule
  • Source Card back end June
  • Need USB access.
  • Test firmware
  • Leaf Card back mid July
  • Leaf card firmware (electron sort priority)
  • Also require USB to Serial VME64x
  • Concentrator back beginning August
  • Essential VME64x, TTC
  • Electron Trigger Path
  • Important dates
  • October Source-Leaf-Concentrator Integration
  • November Concentrator-GT interface

10
Firmware 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

11
Firmware 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)

12
Program 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 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
  • Testing VME64x TTC distribution in LTC

13
Appendix (A)
  • CMS GCT Algorithm Review
  • Magnus Hansen
  • 2006-04-26

14
Functional 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
15
Functional description 2 Jet Finder (Leaf Card,
Implemented)
Eta10
Eta0
  • The data format on the input to the Jet Finder
  • A 2 by 11 matrix of regions from one GCT 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
16
Functional 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.
17
Functional 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
18
Functional 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
19
Functional 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
20
Functional 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

21
Functional 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.

22
Functional 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

23
Functional 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

24
Functional block diagram of one Complete Jet
Finder
25
Leaf card functional block diagram
  • Three Complete Jet Finders

U2, contains JF1
U1, contains JF2 and JF3
26
Appendix (B)
  • CMS GCT Latency
  • Brief algorithm description
  • Magnus Hansen
  • 2006-04-26

27
Jet Step 1a Leaf card- Before communication
with neighbors
1 cp
1 cp
1 cp
3 cp
(31)/2 1 cp
Find jet Centers
Sort Allocate Regions
Pre- Cluster Jet seeds
Data exchange
2 bit gain 12 bit ADC
De-serialize

28
Jet Step 1b Leaf card- After communication with
neighbors
1 cp
1 cp
1 cp
1 cp
1 cp
Find jet Centers
Sort Allocate Pre-clustered jets
Cluster Jets, Et-gtRank
SDR 2 DDR
Data formatting

29
Jet Step 2 Wheel card
1 cp
1 cp
1 cp
Distinguish jet types and select four Greatest of
each
SDR 2 QDR
DDR 2 SDR
Wheel Jets
Complete Jets
0 cp
Forward un-finished Jets to Concentrator card
Un-finished Jets

30
Jet Step 3a Concentrator card
1 cp
1 cp
1 cp
1 cp
1 cp
Find jet Centers
Sort Allocate Pre-clustered jets
Cluster Jets Et-gtrank
DDR 2 SDR
Distinguish jet types and select four Greatest of
each type
Un-finished Jets
Eta0 Jets
  • Un-finished jets are not on critical path since
    they arrive straight from leaf card without
    passing through wheel card FPGA
  • 3 cp not spent

31
Jet Step 3b Concentrator card
1 cp
1 cp
QDR 2 SDR
Select Four Greatest of each type
Wheel Jets
1 cp
SDR 2 DDR
Eta0 Jets
1 cp
QDR 2 SDR
Wheel - Jets
Virtex4 support this latency figure
  • Three Jet Source regions at this stage
  • Plus end of the barrel
  • Minus end of the Barrel
  • Eta 0 region

32
Electrons Step 1 Leaf card
1 cp
1 cp
(31)/2 1 cp
Select four Greatest of each
SDR 2 DDR
De-serialize
1 cp
1 cp
(31)/2 1 cp
Select four Greatest of each
SDR 2 DDR
De-serialize
  • Isolated and non-isolated mixed
  • Isolated on one fiber
  • Non-isolated on one fiber
  • Mix on one fiber

33
Electrons Step 2 Concentrator card
1 cp
1 cp
Select Four Greatest of each type
1 cp
DDR 2 SDR
DDR 2 SDR
Electrons b
Electrons a
1 cp
SDR 2 DDR
1 cp
1 cp
DDR 2 SDR
- Electrons b
DDR 2 SDR
- Electrons a
Virtex4 support this latency figure
  • Single stage

34
Concentrator card to GTDS92LV16
In GT 0.875 cp few ns
Any Output To GT
0.5 cp few ns
DS92LV16
DS92LV16
2m Cable delay
  • DS92LV16
  • Required technology
  • Running on the border of specification
  • Specified to 25 MHz to 80 MHz
  • Operating at 80.16 MHz
  • Prevision made to replace with other technology
  • 8b10b or equivalent
  • Latency may increase

35
Conclusion
  • Jet latency estimated to 25 cp
  • Routed to speed in XC2V4000-6
  • Requested contingency 3 cp for input alignment
  • Optimization possible
  • Electron latency estimated to 9 cp
  • Subset of jet algorithm
  • Requested contingency 3 cp for input alignment
  • Optimization possible
Write a Comment
User Comments (0)
About PowerShow.com