Dec 3 – 4, 2012
Zentralinstitut für Elektronik, Forschungszentrum Jülich
Europe/Berlin timezone

FPGA-based algorithm for center of gravity calculation of clustered signals using RAM for history storing

Dec 3, 2012, 2:25 PM
25m
Room 110 in Building 2.5 (Zentralinstitut für Elektronik, Forschungszentrum Jülich)

Room 110 in Building 2.5

Zentralinstitut für Elektronik, Forschungszentrum Jülich

Speaker

Dr Andriy Ushakov (Helmholtz zentrum Berlin)

Description

FPGA-based algorithm for center of gravity calculation of clustered signals using RAM for history storing A.A. Ushakov, Ch. Schulz, Th. Wilpert Helmholtz-Zentrum Berlin für Materialen und Energie The acquisition system for a neutron detector consisting of 157Gd-CsI converter and a Micro-Strip Gas Chamber has been developed earlier [1]. For the prototype it incorporates 4 ASICs able to process 128 stripes of one detector coordinate delivering analog signals and digitized timing of incoming events. Further, analog signals are digitized on an additional ADC board. The examination of extracted signals is going on further with the help of FPGA. One neutron can create signals on 3-5 detector strips, thus the main task is to identify such clusters and determine their center of gravity. The center of gravity calculation takes place in a FPGA allowing real time processing. The data for calculation are arranged in 4 FIFOs with individual buffers each assigned to an ASIC. A cluster is identified by the following rules: signals have to have neighboring coordinates within a maximum distance of 5 strips and having a time stamp within a period of maximum three clock cycles. Due to the nature of the token-ring buffer the ASIC output is not well-ordered in time; however signals are unambiguously identifiable by their time stamp. The developed algorithm collects data from input FIFO buffers and stores data in Dual Port RAM with asymmetrical inputs and outputs. The data reading from input buffer is going sequentially therefore size of input Port corresponds to 64 bit of incoming data from one stripe. The row of RAM stores data about all 121 stripes of sensor including real and empty data. Input FIFO before RAM stores only essential data therefore the second input data Port initiates the next memory row with empty cells during one write cycle. The whole RAM block has an additional combinatorial logic which helps to recognize the situation when the next row initialization is necessary. The row output is accessible at any time and maintains full data right before next row initialization. After the full row was read out from RAM it is combined in register buffer. This helps to recognize out of date events which could be unambiguously recognized as clusters by the neighboring coordinates and time stamps within some time limit. After cluster recognition this data is eliminated from buffer at the same time this data used for center of gravity calculation. The available memory block resources allow us to keep the history about 4 ASIC reading cycles. The arithmetic core involves DSP resources like adders, accumulators and dividers which consume significant resources of a Virtex-5 FPGA and limits the performance. The optimal Virtex-5 FPGA utilization is reached with 12 dividers each of them accomplishes operation during 7 clocks with 125 MHz base frequency. The final design performs center of gravity calculation in pipelined mode in 3 stages of 4 dividers. In such a way we recognize and calculate up to 4 clusters at one 32.5 MHz clock. The algorithm delivers a calculated position resolution of 0.08 mm compared to a detector strip pitch of 0.635 mm. The memory based approach occupies approximately 90% of Block RAM and 65% of DSP48E resources implemented on Virtex-5 xc5vfx70t chip. The plan was defined plan to develop a new more intelligent division control block which dynamically distributes available DSP resources for clusters processing. So, we will have a number of engaged dividers and number of dividers ready to perform the division. The alternative solution could be the replacement of existent solution based on Virtex-5 mini-module to more powerful Kintex-7. We will benefit from resources which are 5 times higher. In the final design we are aiming to handle a count rate as high as 5•107 n/s/module. [1] Alimov, S. S. et al., "Development of very high rate and resolution neutron detectors with novel readout and DAQ hard- and software in DETNI," Nuclear Science Symposium Conference Record, 2008. NSS '08. IEEE , pp.1887-1900, 19-25 Oct. 2008 doi: 10.1109/NSSMIC.2008.4774759

Primary author

Dr Andriy Ushakov (Helmholtz zentrum Berlin)

Co-authors

Dr Christian Schulz (Helmholtz Zentrum Berlin) Dr Thomas Wilpert (Helmholtz Zentrum Berlin)

Presentation materials