August 4th 2008Jacques Lefrancois1 Digital specification Keep signal treatment ( dynamic pedestal subtraction)Keep signal treatment ( dynamic pedestal.

Slides:



Advertisements
Similar presentations
Part 4: combinational devices
Advertisements

Programmable FIR Filter Design
Lecture 4. Topics covered in last lecture Multistage Switching (Clos Network) Architecture of Clos Network Routing in Clos Network Blocking Rearranging.
Internal Logic Analyzer Final presentation-part B
Internal Logic Analyzer Final presentation-part A
1 MICE Tracker Readout Update, Preparation for Cosmic Ray Tests Introduction/Overview AFE-IIt firmware development VLSB firmware development Hardware progress.
DSP online algorithms for the ATLAS TileCal Read Out Drivers Cristobal Cuenca Almenar IFIC (University of Valencia-CSIC)
Lecture 4: Computer Memory
Inside The CPU. Buses There are 3 Types of Buses There are 3 Types of Buses Address bus Address bus –between CPU and Main Memory –Carries address of where.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
By: Daniel BarskyNatalie Pistunovich Supervisors: Rolf HilgendorfInna Rivkin.
AICCSA’06 Sharja 1 A CAD Tool for Scalable Floating Point Adder Design and Generation Using C++/VHDL By Asim J. Al-Khalili.
Prototype Test of SPring-8 FADC Module Da-Shung Su Wen-Chen Chang 02/07/2002.
Chapter 8 Problems Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Data Handling Stephen Kaye Caltech Data Format in Pipeline 16 Bit data from ADC FPGA combines multiple conversions (subtract 5 reset, add.
Chapter 4 - Implementing Standard Program Structures in 8086 Assembly Language from Microprocessors and Interfacing by Douglas Hall.
April 9th 2009Jacques Lefrancois1 Data transmitted Now from FEPGA to SEQPGA to CROCNow from FEPGA to SEQPGA to CROC 12bits of ADC +8 bits trigger+1 bit.
Status of the Beam Phase and Intensity Monitor for LHCb Richard Jacobsson Zbigniew Guzik Federico Alessio TFC Team: Motivation Aims Overview of the board.
LANL FEM design proposal S. Butsyk For LANL P-25 group.
8279 KEYBOARD AND DISPLAY INTERFACING
HBD FEM Overall block diagram Individual building blocks Outlook ¼ detector build.
LZRW3 Decompressor dual semester project Part A Mid Presentation Students: Peleg Rosen Tal Czeizler Advisors: Moshe Porian Netanel Yamin
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Laboratoire d’Annecy-le-vieux de Physique des Particules, France Cyril Drancourt Tuesday 3 June 2003 Common L1 Workshop Use in Calorimeter Old design with.
Physics 335 project update Anton Kapliy April 2007.
FED RAL: Greg Iles5 March The 96 Channel FED Tester What needs to be tested ? Requirements for 96 channel tester ? Baseline design Functionality.
5/7/2004Tomi Mansikkala User guide for SVT/XTRP TX firmware v1.0 XTRP out Control FPGA Tomi: - Introduction - Control bit descriptions - Test Pattern format.
Transfering Trigger Data to USA15 V. Polychonakos, BNL.
CERN, 18 december 2003Coincidence Matrix ASIC PRR Coincidence ASIC modifications E.Petrolo, R.Vari, S.Veneziano INFN-Rome.
Physics 335 project update Anton Kapliy April 2007.
NSYNC and Data Format S. Cadeddu – INFN Cagliari P. Ciambrone – INFN LNF.
MEG trigger system This short presentation describes the present status of the trigger algorithms of the MEG experiment implemented on the Xilinx FPGA.
LHCb VELO Upgrade Strip Chip Option: Data Processing Algorithms Giulio Forcolin, Abdul Afandi, Chris Parkes, Tomasz Szumlak* * AGH-Krakow Part I: LCMS.
JRA-1 Meeting, Jan 25th 2007 A. Cotta Ramusino, INFN Ferrara 1 EUDRB: A VME-64x based DAQ card for MAPS sensors. STATUS REPORT.
A Super-TFC for a Super-LHCb (II) 1. S-TFC on xTCA – Mapping TFC on Marseille hardware 2. ECS+TFC relay in FE Interface 3. Protocol and commands for FE/BE.
CO5023 Latches, Flip-Flops and Decoders. Sequential Circuit What does this do? The OUTPUT of a sequential circuit is determined by the current output.
1 MICE Tracker Readout Update Introduction/Overview TriP-t hardware tests AFE IIt firmware development VLSB firmware development Hardware progress Summary.
Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
1 Level 1 Pre Processor and Interface L1PPI Guido Haefeli L1 Review 14. June 2002.
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
LKr readout and trigger R. Fantechi 3/2/2010. The CARE structure.
LAV firmware status Francesco Gonnella Mauro Raggi 28 th March 2012 TDAQ Working Group Meeting.
Specificities of Calorimeter data The zero-suppress in ECAL/HCAL is 2D : 3X3 cluster => keep the 8 cells around a seed with pt > pt threshold. This cannot.
LHCb upgrade Workshop, Oxford, Xavier Gremaud (EPFL, Switzerland)
General Tracker Meeting: Greg Iles4 December Status of the APV Emulator (APVE) First what whyhow –Reminder of what the APVE is, why we need it and.
CSNSM 14-16/09/2011 Frédéric DULUCQ Digital part of SPIROC 3.
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
Explain Half Adder and Full Adder with Truth Table.
FPGA based signal processing for the LHCb Vertex detector and Silicon Tracker Guido Haefeli EPFL, Lausanne Vertex 2005 November 7-11, 2005 Chuzenji Lake,
PC-based L0TP Status Report “on behalf of the Ferrara L0TP Group” Ilaria Neri University of Ferrara and INFN - Italy Ferrara, September 02, 2014.
Data Reduction Schemes for MicroBoone Wu, Jinyuan Fermilab.
DCH FEE STATUS Level 1 Triggered Data Flow FEE Implementation &
vXS fPGA-based Time to Digital Converter (vfTDC)
ATLAS calorimeter and topological trigger upgrades for Phase 1
CS2100 Computer Organization
Digital readout architecture for Velopix
ITEC 202 Operating Systems
96-channel, 10-bit, 20 MSPS ADC board with Gb Ethernet optical output
PID meeting SCATS Status on front end design
Christophe Beigbeder PID meeting
Multilevel Memories (Improving performance using alittle “cash”)
Programmable Interval Timer
Cache Memory Presentation I
Vertex 2005 November 7-11, 2005 Chuzenji Lake, Nikko, Japan
J. J. John on behalf of the team
Computer Science 210 Computer Organization
Registers.
ADC External RAM Config (4x1Mbit) EPROM Front LEDs LED Controller Box
Fiber Optic Transciever Buffer
Preliminary design of the behavior level model of the chip
Presentation transcript:

August 4th 2008Jacques Lefrancois1 Digital specification Keep signal treatment ( dynamic pedestal subtraction)Keep signal treatment ( dynamic pedestal subtraction) Keep present trigger constructionKeep present trigger construction Save space => 8 channels/FPGASave space => 8 channels/FPGA Decrease Fiber number by data compression in FE cards FPGADecrease Fiber number by data compression in FE cards FPGA It is not possible to send all data of one card into 2 fibers. 3 fibers is very ackward=> choose 4fibers/card =>one fiber/FPGA as the most straightforward solution. Find FPGA without ProAsic-Plus problems => proto testFind FPGA without ProAsic-Plus problems => proto test

August 4th 2008Jacques Lefrancois2 Format of output for 8 ADCs The data format every 25ns is from 8bytes to 16 bytes longThe data format every 25ns is from 8bytes to 16 bytes long Code on short or long data for each ADC (If ADC output between pedestal-8 and pedestal+ 23 => code ADC on 5 bits.Code on short or long data for each ADC (If ADC output between pedestal-8 and pedestal+ 23 => code ADC on 5 bits. Presently in TELL1 we use 4bits to code short ADC => at higher luminosity and larger pile-up this does not work. The justification for 5bits is given slide 23,24,25,26 of =1&materialId=slides&confId=59892 If N ADC output smaller or larger than limit => give the full 12 bits i.e. transmit also N X (12-5) = N X 7 but because of byte organisation => N X 8 If N ADC output smaller or larger than limit => give the full 12 bits i.e. transmit also N X (12-5) = N X 7 but because of byte organisation => N X 8 1byte for the map of 8 short or long ADC1byte for the map of 8 short or long ADC 5bytes for the data of 8 short ADC5bytes for the data of 8 short ADC up to 8 bytes for long ADC up to 8 bytes for long ADC

August 4th 2008Jacques Lefrancois3 Format output /Data coding using RAM One byte is used for the BXIDOne byte is used for the BXID One byte is used for the seed information (highest Et cluster 2X2 in the card, which is calculated by the TRIGPGA).One byte is used for the seed information (highest Et cluster 2X2 in the card, which is calculated by the TRIGPGA). Every 25ns the data to be sent is 8 to 16 bytes longEvery 25ns the data to be sent is 8 to 16 bytes long 8bytes in fixed format and 0 to 8 additional bytes for the long ADCs.8bytes in fixed format and 0 to 8 additional bytes for the long ADCs. The aim is to pack 256 events of 8 to 16 bytes long received in 256X25ns in a fiber which can send 10 bytes every 25ns.The aim is to pack 256 events of 8 to 16 bytes long received in 256X25ns in a fiber which can send 10 bytes every 25ns. A solution was presented in June using memory manipulation. It was rather easy to understand but required 52 out of 60 blocks of RAM in the A3PE1500 and required that the RAM be operated at 160 MHzA solution was presented in June using memory manipulation. It was rather easy to understand but required 52 out of 60 blocks of RAM in the A3PE1500 and required that the RAM be operated at 160 MHz

August 4th 2008Jacques Lefrancois4 Multiplexer solution After discussions with Federico and Richard it seems than another packing implementation is possible.After discussions with Federico and Richard it seems than another packing implementation is possible. It requires a massive use of A3PE cells used as multiplexer, demultiplexers. It can run at MHz and requires much less memory blocksIt requires a massive use of A3PE cells used as multiplexer, demultiplexers. It can run at MHz and requires much less memory blocks

August 4th 2008Jacques Lefrancois5 Pushing zeros in the 16 bytes From the map byte the number and position of long ADC data is known for example: From the map byte the number and position of long ADC data is known for example: The data has 8 bytes of fixed formats followed by the 8 long ADC's bytes of which in the case above 5 have zero'sThe data has 8 bytes of fixed formats followed by the 8 long ADC's bytes of which in the case above 5 have zero's In 8 pipeline steps the data can be shifted so that the non zero data are in the first 3 position. This uses 64 cells +64 registers 8 steps => 1024 cellsIn 8 pipeline steps the data can be shifted so that the non zero data are in the first 3 position. This uses 64 cells +64 registers 8 steps => 1024 cells The first 8 bytes of fixed format have to wait =>512 registersThe first 8 bytes of fixed format have to wait =>512 registers

August 4th 2008Jacques Lefrancois6 Packing in the FIFO (I) The Fiber FIFO is 10 bytes wide and has (for example) a depth of 256. It uses 10 dual port RAM (actually 8X512)The Fiber FIFO is 10 bytes wide and has (for example) a depth of 256. It uses 10 dual port RAM (actually 8X512) Use for the address of the FIFO I,J I=0,255 J=0,9Use for the address of the FIFO I,J I=0,255 J=0,9 Every 25ns the data bytes which are 8 to 16 have to be written in the FIFOEvery 25ns the data bytes which are 8 to 16 have to be written in the FIFO The address where each non zero byte of a data word is written is the last address of the previous word + K the byte location in the current word => I(N+1),J(N+1) = I(N),J(N) + KThe address where each non zero byte of a data word is written is the last address of the previous word + K the byte location in the current word => I(N+1),J(N+1) = I(N),J(N) + K but the adder is such that if J=9+1 => J=0 and I=I+1 (like a decimal adder)but the adder is such that if J=9+1 => J=0 and I=I+1 (like a decimal adder) This operation can take more than 25 ns but then it has to be done in pipeline fashionThis operation can take more than 25 ns but then it has to be done in pipeline fashion

August 4th 2008Jacques Lefrancois7 Packing in FIFO (II) The data bytes in any of 16 position can be written in any of the 10 Rams (this is the J part of the address) this is done by 16X10 byte multiplexers =>160X8 cells=>1280cells (+registers?)The data bytes in any of 16 position can be written in any of the 10 Rams (this is the J part of the address) this is done by 16X10 byte multiplexers =>160X8 cells=>1280cells (+registers?) In some cases two bytes have to be written simultaneously at the same J at two different but successive value of I this is done using for example leading and falling edge. For example the first 8 bytes of a 8-16 bytes data are written on leading edge of clock the last 8 bytes on falling edge. (This means using RAMs at 80 MHz =>no problem)In some cases two bytes have to be written simultaneously at the same J at two different but successive value of I this is done using for example leading and falling edge. For example the first 8 bytes of a 8-16 bytes data are written on leading edge of clock the last 8 bytes on falling edge. (This means using RAMs at 80 MHz =>no problem) VHDL simulation to check?VHDL simulation to check?

August 4th 2008Jacques Lefrancois8 Use of FIFO The FIFO can be used as "standard FIFO"The FIFO can be used as "standard FIFO" If many short ADCs => FIFO empty => no data sent into GBT If too many long ADCs FIFO full => truncate events Advantage :"standard"Advantage :"standard" Inconvenient: the synchronisation of the different fibers is lost!Inconvenient: the synchronisation of the different fibers is lost! Pseudo FIFO: Alternate between two groups (of 10 RAMs)Pseudo FIFO: Alternate between two groups (of 10 RAMs) Always start a new "package of 256 events" at the top of a RAMAlways start a new "package of 256 events" at the top of a RAM Delay the readout of the FIFO (by 64 clock cycles) such that empty location in the RAM are always at the end of the group of 256 events.Delay the readout of the FIFO (by 64 clock cycles) such that empty location in the RAM are always at the end of the group of 256 events. The truncation (if there is some) is also always at the end of the group of 256 events => write a trailer 80 bits in fiber giving fiber location +truncation informationThe truncation (if there is some) is also always at the end of the group of 256 events => write a trailer 80 bits in fiber giving fiber location +truncation information

August 4th 2008Jacques Lefrancois9 Empty bunches Every 256 bunches there is always at least 3 empty bunches=> No data is written (not even the short ADCs) this save some space used to decrease probability of overflow and allows to send the trailer.Every 256 bunches there is always at least 3 empty bunches=> No data is written (not even the short ADCs) this save some space used to decrease probability of overflow and allows to send the trailer.