In a world heading towards an increasing amount of technologies available to science and industry, the ability to elaborate streams of data is becoming each day more important. Applications of various nature, ranging from biology to chemistry, from medical imaging to spectroscopy, which are able to generate huge amount of data in short periods of time, need systems able to detect, elaborate and store these data in real-time. In this context, in order to fulfill these needs, techniques such as histogramming come into play. Being histograms basic, yet fundamental instruments, they are able to represent data shapes and allow to retrieve statistical insights of the involved data, favouring a possible further elaboration. This kind of processing is usually brought out with the help of general purpose processors like CPUs, relying on temporal computing, with its pros (fast operating frequencies) and cons (unability to exploit parallel computation). Both Industry and Academia have however proposed many solutions to this need, delivering histogram generators both in full-custom Application-Specific Integrated Circuits (ASICs) and Field-Programmable Gate Arrays (FPGAs) IP-Cores, preferred over CPUs thanks to their superior parallel computing power. In the first part of this thesis work a full-FPGA approach to this problem is proposed, resulting in a high-performance IP-Core solution that is able to manage up to 200 MSps, translated into a flux of 4.8 Gb/s . However, despite being mostly satisfying in performance, these solutions often lack ease of use, upgrade and interfacing. Moreover, in particular applications, large storage capabilities are needed, in order to guarantee the user the possibility to build large enough histograms. To address these issues, the second part of these thesis work was aimed to create an hybrid hardware and software implementation of a Histogram generator in an FPGA-based system, with the help of a soft processor core implemented in the FPGA fabric. In this way the best performance of parallel and temporal computing merge into a firmware/software co-design. This solution features large availability of DDR memory, accessible through a Direct Memory Access (DMA), lower utilization of the precious FPGA resources with respect to the full FPGA approach, real-time behavior and simplified, yet efficient, interface to the MicroBlaze, the soft core Reduced Instruction Set Computer (RISC) optimized for implementation in Xilinx FPGAs. A set of IP-Cores and libraries relaxes the effort for the interfacing between the two worlds, so that the user-friendly Processing System can be connected to the programmable logic part to exploit its high-performance in an easy and flexible way. The system has been successfully validated on Xilinx 7 Series devices. All these histogrammers are completely tested in hardware using a state–of–the–art, FPGA-based, multi-channel, Time-to-Digital Converter (TDC) designed by DigiLAB (Politecnico di Milano).
In un mondo indirizzato verso una continua crescita tecnologica sia scientifica che industriale, la capacità di elaborare flussi di dati diventa ogni giorno più importante. Applicazioni di varia natura, dalla biologia alla chimica, dal medical imaging alla spettroscopia, in grado di generare enormi moli di dati in piccoli periodi di tempo, necessitano di sistemi in grado di rilevare, elaborare e immagazzinare questi dati in tempo reale. In questo contesto, per poter soddisfare tali necessità, entrano in gioco tecniche come l'istogrammazione. Essendo gli istrogrammi strumenti semplici ma fondamentali, essi permettono di rappresentare in maniera molto intuitiva e funzionale i dati ed i relativi aspetti statistici, favorendo una possibile successiva elaborazione, che in genere è portata avanti grazie a processori general purpose come le CPU, le quali si affidano al temporal computing, con relativi pro (alte frequenze di funzionamento) e contro (impossibilità di eseguire calcolo in parallelo). Sia l'industria che l'accademia hanno proposto soluzioni diverse a questi bisogni, mettendo a disposione generatori di istogrammi sia come Application-Specific Integrated Circuits (ASIC) che come IP-Core per Field-Programmable Gate Arrays (FPGA), preferiti rispetto alle CPU per le loro superiori potenze di calcolo parallelo. La prima parte di questo lavoro di tesi rigudarda la progettazione di una soluzione full-FPGA a questo problema, dalla quale si è di conseguenza ottenenutoun IP-Core ad alte performance, in grado di gestire fino a 200 MSps, che si traducono in un flusso di 4.8 Gb/s. Nonostante le soluzioni spatial computing siano più che soddisfacenti a livello prestazionale, spesso sono carenti nella facilità di utilizzo, aggiornamento e interfacciamento. In aggiunta, in certe applicazioni è richiesta una discreta capacità di immagazzinamento dati, per garantire la possibilità di poter costruire istogrammi di grosse dimensioni. Per affrontare questo tipo di problematica, la seconda parte di questo lavoro di tesi ha avuto come obiettivo la creazione di una implementazione ibrida firmware e software di un generatore di istogrammi in un sistema basato su FPGA, affiancato da un soft core processor, anch'esso implementato in FPGA. Questa soluzione mette a disposizione una grossa quantità di memoria DDR, accessibile tramite un Direct Memory Access (DMA), una minore utilizzazione delle preziose risorse dell'FPGA rispetto all'approccio full-FPGA, un comportamento comunque in tempo reale e un semplificato ma efficiente interfacciamento con il MicroBlaze, un soft core Reduced Instruction Set Computer (RISC) ottimizzato per l'implementazione nelle FPGA di Xilinx. Un insieme di IP-Core e librerie facilita l'interfacciamento tra i due mondi, in modo che il Processing System, più user-friendly, possa essere connesso alla parte di logica programmabile, sfruttandone le sue alte performance in modo facile e flessibile. Il sistema è stato validato con successo su FPGA 7 Series di Xilinx. Tutti questi sistemi sono stati testati sperimentalmente usando un TDC progettato al DigiLAB (Politecnico di Milano), multi-canale, allo stato dell'arte ed interamente implementato in FPGA.
Digital architectures for real-time multi-channel histogramming at high-performance
Costa, Andrea
2019/2020
Abstract
In a world heading towards an increasing amount of technologies available to science and industry, the ability to elaborate streams of data is becoming each day more important. Applications of various nature, ranging from biology to chemistry, from medical imaging to spectroscopy, which are able to generate huge amount of data in short periods of time, need systems able to detect, elaborate and store these data in real-time. In this context, in order to fulfill these needs, techniques such as histogramming come into play. Being histograms basic, yet fundamental instruments, they are able to represent data shapes and allow to retrieve statistical insights of the involved data, favouring a possible further elaboration. This kind of processing is usually brought out with the help of general purpose processors like CPUs, relying on temporal computing, with its pros (fast operating frequencies) and cons (unability to exploit parallel computation). Both Industry and Academia have however proposed many solutions to this need, delivering histogram generators both in full-custom Application-Specific Integrated Circuits (ASICs) and Field-Programmable Gate Arrays (FPGAs) IP-Cores, preferred over CPUs thanks to their superior parallel computing power. In the first part of this thesis work a full-FPGA approach to this problem is proposed, resulting in a high-performance IP-Core solution that is able to manage up to 200 MSps, translated into a flux of 4.8 Gb/s . However, despite being mostly satisfying in performance, these solutions often lack ease of use, upgrade and interfacing. Moreover, in particular applications, large storage capabilities are needed, in order to guarantee the user the possibility to build large enough histograms. To address these issues, the second part of these thesis work was aimed to create an hybrid hardware and software implementation of a Histogram generator in an FPGA-based system, with the help of a soft processor core implemented in the FPGA fabric. In this way the best performance of parallel and temporal computing merge into a firmware/software co-design. This solution features large availability of DDR memory, accessible through a Direct Memory Access (DMA), lower utilization of the precious FPGA resources with respect to the full FPGA approach, real-time behavior and simplified, yet efficient, interface to the MicroBlaze, the soft core Reduced Instruction Set Computer (RISC) optimized for implementation in Xilinx FPGAs. A set of IP-Cores and libraries relaxes the effort for the interfacing between the two worlds, so that the user-friendly Processing System can be connected to the programmable logic part to exploit its high-performance in an easy and flexible way. The system has been successfully validated on Xilinx 7 Series devices. All these histogrammers are completely tested in hardware using a state–of–the–art, FPGA-based, multi-channel, Time-to-Digital Converter (TDC) designed by DigiLAB (Politecnico di Milano).File | Dimensione | Formato | |
---|---|---|---|
thesis.pdf
non accessibile
Descrizione: Tesi di Laurea Magistrale
Dimensione
8.35 MB
Formato
Adobe PDF
|
8.35 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/171381