90 likes | 104 Views
FELIX: Strips Requirements. Matt Warren (Bruce Gallop, Peter Phillips, Marcel Stanitzki, Tony Weidberg) 9 Sept 2014. Introduction. FELIX connects multiple Staves and Petals to counting room systems over GBT links We expect about 16 FE GBT links per FELIX
E N D
FELIX: Strips Requirements Matt Warren (Bruce Gallop, Peter Phillips, Marcel Stanitzki, Tony Weidberg) 9 Sept 2014
FELIX Requirements Introduction • FELIX connects multiple Staves and Petals to counting room systems over GBT links • We expect about 16 FE GBT links per FELIX • FELIX is essentially a media converter and data router: • Converts GBT e-links into Ethernet (or Infiniband) packets • Directs data of different types to different destinations • In the opposite direction (downlink, to FE), it is more of a fanout • Receives TTC, fans-out and forwards to the FE • For L1Track some data can be forwarded using repurposed GBT links • Good technical talk from Lorne here: https://indico.cern.ch/event/289737/session/25/contribution/115/material/slides/
FELIX Requirements Requirements (Uplink) – L1Track/DCS L1Track: • FELIX needs to transfer FE data direct to L1Track fast • Dedicated links on FELIX • For L0 rate readout: • (a copy of) ALL data ends up in L1Track • For R3/L1: • only R3-data needs to get to the track-finder • Needs fast extraction, or maybe ALL data is sent anyway • Data needs to be moved with low latency • But not fixed-latency • Can be aggregated onto faster links DCS: • Monitoring data needs to be separated and sent to DCS • Using a separate physical port? Or over the readout network
FELIX Requirements Requirements (Downlink) – TTC • The FELIX needs to forward and encode signals for the FE • These travel on 80Mb e-links via GBT • 2 40Mb signal lines are time-multiplexed onto an 80Mb e-link L0/Command and L1/R3: • L0 is broadcast, synchronous - needs deterministic latency • L1 is broadcast, asynchronous • COM can be broadcast or for a given GBT, asynchronous • R3 is unique to each link • Need complete manual control of these signals from local DAQ • Stand-alone, “desktop” operation • FELIX will receive TTC signals from various sources: • upstream TTC, probably via a single GBT • possibly local inputs • Internal generators configured using the FELIX control network • Local signal generate, with synchronised sending • Loaded into FELIX, and then issued on next ECR, L1, command etc.
FELIX Requirements FELIX Uplink Data Handling • GBT links are expanded into component e-links • Data on each e-link is deserialised and packets detected • Ideally the e-link is encoded using 8B/10B, and start-of-packet (SOP) and end-of-packet (EOP) symbols are used. • The packet type (aka destination) is encoded after the SOP symbol to allow for routing while receiving • With our 64b packets this adds enormous overhead, and not efficient • 64b with 8b/10b = 80b, add SOP and EOP = 100b = 50% higher BW • It followed we need a special ITk custom decoder • Not the FELIX way • BUT now Strips we have a new proposal for a much longer packet … (see Session 5 this morning) – does this fit better?
FELIX Requirements FELIX Packet Formats (from FELIX docs)
Strips Updated Data Format • For inner barrel hybrid: 12.5 clusters per event = 13 • Where cluster = Strip number + bitmap of 3 adjacent strips • Each cluster is 12b strip address + 3b adj-hit-map = 15b • Note: Wide spread of number of clusters per event • Fixed length packets not efficient • HCC packet data: FELIX Requirements
FELIX Requirements Uplink Options With 250b Packets • We need a robust way send our data • Reliable packet detection and recovery from errors Options (non exhaustive): • 8B/10B – 25% increase in BW • Could help (locked/synchronised link) • But we still need to recover from corrupted SOP • 64B/67B – 57% increase BW(!) • Syncing large frames wasteful (34b/packet!) • Could work async of frame boundary, but then no SOP • Long header/trailer with predictable format – 8% increase BW • “1101” header, 16 zero trailer + outlaw 16 zeros inside packet = 20b overhead • Fits with 320Mb/s hybrid links on stave • Scrambling of link may be required
FELIX Requirements Conclusion/Discussion points • Use header/trailer instead of 8B/10B • 8B/10B does not increase reliability, but consumes BW • Can we do calibrations with FELIX • We think yes, using bursts of 40-80 triggers • A copy of the draft requiments document is attached to the agenda