110 likes | 282 Views
FEDkit. FED Slink64 readout kit Dominique Gigi, Eric Cano (CERN EP/CMD). CMS ECAL Week, July 2002. Eric CANO, CERN/EP-CMD. 1. Topics. Generic III board FEDkit-G3 boards (sender and receiver) FEDkit software library Current status. Generic III design.
E N D
FEDkit FED Slink64 readout kit Dominique Gigi, Eric Cano (CERN EP/CMD) CMS ECAL Week, July 2002 Eric CANO, CERN/EP-CMD 1
Topics • Generic III board • FEDkit-G3 boards (sender and receiver) • FEDkit software library • Current status Eric CANO, CERN/EP-CMD
Generic III design • Generic PCI 64/66 (3.3V) designed in EP/CMD group by D. Gigi • Flexible design for Slink64 to PCI with single FPGA • Optional high speed connectors (not soldered on picture) • PMC/Slink connectors used up to 100 MHz Eric CANO, CERN/EP-CMD
FEDkit-G3 receiver board features • FEDkit is Slink 64 to PC memory board through LVDS cable • Generic III plus 2 daughter-boards and cable • Board DMAs data from FED Slink to PC memory • Slink backpressure enables board to avoid overflow • Based on RUWG’s specifications • (http://cmsdoc.cern.ch/cms/TRIDAS/horizontal/) Eric CANO, CERN/EP-CMD
FED-G3 sender PC 1 • No FED available for the moment • So this board “emulates” the FED • Currently only support random generation tested • But sender used as PCI master and slave design done • Test and validation (hopefully) due mid-august Other board FED sender PC memory PC 2 FED receiver PC memory Real FED Eric CANO, CERN/EP-CMD
Driver model • Driver pre allocates data blocks • Blocks stored in software FIFO then pushed in board (interrupt driven) • Starvation (for free buffers) protection by interrupt (software FIFO feeds hardware FIFO on interrupt) • Board pushes word count in another FIFO • Driver builds event fragments • Event size limited only by exhaustion of data blocks (in practice, tested up to 512kB) • Event drop support to allow abortion of partially received event and continuous flow (not tested yet) • Supports user header reservation for zero-copy transmission (XDAQ) Eric CANO, CERN/EP-CMD
Interrupt driven feed Event fragment Free block FED-G3 receiver board Slink to LVDS adapter FED-G3 receiver board Slink connector Internal word counter Hardware FIFO For free blocks Host memory Software FIFO (free blocks addresses) This FIFO has arbitrary length Word count FIFO DATA blocks DATA blocks FIFO of blocks in board Eric CANO, CERN/EP-CMD
FEDkit receiver performance • Measurements with “infinite” source • Performance mainly limited by PCI throughput • Pure DMA Throughput 500MB/s • Fragment overhead 0.58µs • Additional block overhead 0.18µs • Test done with 4kB blocks Eric CANO, CERN/EP-CMD
User interface (API) • The FED-G3 driver called by the user in a way as simple as possible • User sets parameters (block size, block number) then starts driver • Simply get event fragments/free event fragments • Finally release the driver • Additional functions to handle and analyze fragments • Fragment is a collection of blocks • Reserved space for headers at beginning of blocks Eric CANO, CERN/EP-CMD
Current status and future • Receiver for single and double link (merger) tested • Sender used as generator only • Test software for slave and master sender over PCI in development • Event drop support to be done • Successful transmission of data from Endcap Muon FED by J.Gilmore at Ohio State University • The FEDkit was integrated in XDAQ as a data source • Ready to deliver to FED developers to test their Slink-64 port (non-merge version) Eric CANO, CERN/EP-CMD
Conclusion • Receiver behavior fine and tested • Sender partially tested • Next objective complete sender tests for mid-august (no guarantee) • Software and hardware documentation, software download • http://cern.ch/cano/fedkit • E. Cano (Eric.Cano@cern.ch) • Hardware web site (schematics, etc…) • http://cmsdoc.cern.ch/~dgigi • Hardware can be ordered : • contact A. Racz (Attila.Racz@cern.ch) Eric CANO, CERN/EP-CMD