The System Implementation presented in this Thesis Project has been developed to meet the necessity of a practical and efficient interface with a Tapped Delay-Line Time-to-Digital Converter (TDL-TDC). This is a time measurement application which started as a research project of the Digital Laboratories of Politecnico di Milano. The application was developed on FPGA, and needed an ecosystem of auxiliary applications to handle the row data to be stored and processed. This procedure enables achievement of a time information in picoseconds referring to the time intervals measured between events of every channel of the TDC. The idea behind the project was to integrate all the operations needed to store and process the TDC outputs on a single device. This thought led us to exploit a System-on-Chip (SoC) allowing us to provide the results rapidly and efficiently. Furthermore, said SoC facilitates the user in taking advantage of the omni-comprehensive application thanks to an intuitive interface, even if they are not expert in the system mechanism. The board selected as the starting point for the development of the system was s a Zedboard, integrating a System-on-Chip Zynq-7020. The FPGA part of the chip, called Programmable Logic (PL), hosted the TDC application as IP-Core. By its very nature, The SoC integrates a programmable logic part, a Xilinx series 7, and an ARM dual-core processor, Cortex™-A9. The choice of such a device was guided by the enormous possibilities offered by the synergy of a spatial elaboration, provided by the FPGA part, and the temporal elaboration, provided by the multi-core processor. The services supplied by the System were already available although managed by off-board applications requiring the human intervention. The presented project aimed to obtain the same results, but with a different methodology that required the development of completely new components, as subsequently defined. The following description sets forth the elements developed in this Thesis project. The first phase consisted of the development of the System structure which included: the TDC IP-Core, several Block RAMs (BRAMs) and handler blocks, all integrated on a Block Design Diagram on Xilinx VIVADO® Design Suite along with the Processing System and auxiliary blocks implementing the system bus. The handler blocks are VHDL blocks created in this project to handle the TDC outputs and provide data storage and a first elaboration step. In addition to this, the blocks provided auxiliary functions which guaranteed communication between the two worlds involved, through delivery of information about the state of the system. For this task the BRAMs are exploited by the blocks and connected by a second port to the Processing System (PS) through the system bus. The second phase of development consisted of addressing the Processing System (PS) tasks. The PS presented itself as perfect host for an Embedded Operating System (OS). The OS was customized for our board, following the Yocto Project guidelines and thanks to the development platform Architech provided by Silica. The System part in need of a temporal elaboration was implemented with a high-level C language, as the final stage of the thesis project, and uploaded as an application on the Operating System environment. One of the reasons that led us to this approach was the fact that the C Application is not bound to the platform it was conceived for, and with few adjustments it can be hosted on other devices hosting a similar OS. This approach, thanks to the user interface part of the C Application, made the system intuitive for the user approaching to the device who might have no knowledge of what is happening underneath. This System offers several further advantages, compared to the pre-existent method. The integration of the whole application ecosystem on a single device comes in very useful even for commercial purposes, allowing an easy interfacing with the TDC. As a result, the velocity is increased so the structure can pave the way for further developments. This would be possible since the presence of an Operating System ensures a vast amount of unexplored possibilities.
La necessità di sviluppare il Sistema presentato in questo elaborato è nata dall'esigenza di un pratico ed efficiente interfacciamento per un Tapped Delay-line Time-to-Digital Converter (TDL-TDC) sviluppato come progetto di ricerca presso il Laboratorio di Elettronica Digitale del Politecnico di Milano. L’applicazione, costituita dal TDC, era fino ad ora stata sviluppata su dispositivi FPGA, e necessitava di un ecosistema volto alla gestione degli output grezzi da essa prodotti. Si aveva la necessità di provvedere ad un immagazzinamento ed elaborazione dei dati per ricavare un’informazione numerica in picosecondi, in riferimento agli intervalli di tempo misurati tra gli eventi verificatisi sui vari canali del TDC. L’idea che ha guidato verso l’utilizzo di una piattaforma System-on-Chip (SoC), punto di partenza dello sviluppo del presente progetto, è stata quella di voler integrale in un solo dispositivo le operazioni necessarie all’elaborazione degli output del TDC, fornendo in modo rapido ed efficiente i risultati e permettendo ad un utente, inesperto a proposito dei meccanismi che regolano il sistema, di sfruttare l’applicazione tramite una interfaccia intuitiva. Il punto di partenza per lo sviluppo del Sistema è l’applicazione TDC appunto, implementata sulla parte di logica programmabile di un System-on-Chip Zynq-7020 ospitato dalla scheda Zedboard. L’interfacciamento è avvenuto integrando il TDC stesso in un Block Design Diagram come IP-Core, grazie agli strumenti di progettazione offerti da Xilinx VIVADO® Design Suite. Il SoC, per sua natura, integra una logica programmabile (FPGA) serie 7 della Xilinx e un processore ARM dual-core Cortex™-A9. La scelta di un dispositivo del genere è stata dettata dalle enormi possibilità offerte dall’accostamento di una elaborazione spaziale garantita dall’FPGA a quella temporale, garantita dal processore multi-core integrato. I servizi forniti da questo Sistema erano precedentemente svolti da una serie di strumenti off-board, che richiedevano tempistiche maggiori e l’intervento umano tra i vari step. Il Sistema in oggetto si prefigge di raggiungere gli stessi risultati utilizzando però una metodologia completamente diversa, che ha richiesto lo sviluppo da zero delle varie componenti qui di seguito presentate. Ciò che verrà descritto da questo momento in poi è stato sviluppato nel corso di questo progetto. La prima fase della creazione del Sistema è consistita nello sviluppo della struttura del Sistema stesso. Implementando un Block Design Diagram, sono stati integrati: l’IP-Core TDC, un ecosistema di BRAM che si interfaccia con il Processing System, e dei blocchi sviluppati ad hoc per la gestione del TDC nel corso di questo progetto, descritti in codice VHDL, integrati nel sistema anch’essi come IP-Core. Questi ultimi provvedono all’immagazzinamento dei dati e alle prime fasi di elaborazione, nonché suppliscono a funzioni ausiliarie come la possibilità di garantire ai due mondi convolti la consapevolezza dello stato del sistema nel suo complesso. La parte successiva delle elaborazioni necessarie è stata delegata al Processing System, il quale si offriva come ottimo ospite per un Sistema Operativo Embedded implementato anch’esso in modo customizzato per la board in oggetto. Ciò è stato possibile seguendo le linee guida fornite dallo Yocto Project e grazie alla piattaforma di sviluppo Architech messa a disposizione da Silica. Grazie alla presenza di un Sistema Operativo, la componente del sistema che necessitava una elaborazione temporale ha potuto essere descritta in linguaggio C di alto livello in un’applicazione, componente finale sviluppata in questo progetto di tesi, slegandoci di fatto dalla piattaforma per cui è stata concepita. Inoltre è risultato decisamente intuitivo usufruire del Sistema per l’utilizzatore che si approccia al dispositivo senza la necessità di conoscere cosa giace al di sotto dell’interfaccia utente. Gli ulteriori vantaggi apportati rispetto all’approccio preesistente sono ovviamente la possibilità di avere su un unico dispositivo tutto ciò che è necessario all’utente per l’interfacciamento con il TDC, in una eventuale ottica di commercializzazione del prodotto finale. Da ciò, la velocità con cui questi risultati sono ottenuti che è senza dubbio molto più elevata. Infine la struttura implementata si pone come punto di partenza per ulteriori sviluppi, garantiti dalle molte e interessanti possibilità che ci offre la presenza di un sistema operativo.
Hardware and software co-design of a system-on-chip for real-time bidirectional data transfer and processing
CIBIN, MARINA ALICE
2016/2017
Abstract
The System Implementation presented in this Thesis Project has been developed to meet the necessity of a practical and efficient interface with a Tapped Delay-Line Time-to-Digital Converter (TDL-TDC). This is a time measurement application which started as a research project of the Digital Laboratories of Politecnico di Milano. The application was developed on FPGA, and needed an ecosystem of auxiliary applications to handle the row data to be stored and processed. This procedure enables achievement of a time information in picoseconds referring to the time intervals measured between events of every channel of the TDC. The idea behind the project was to integrate all the operations needed to store and process the TDC outputs on a single device. This thought led us to exploit a System-on-Chip (SoC) allowing us to provide the results rapidly and efficiently. Furthermore, said SoC facilitates the user in taking advantage of the omni-comprehensive application thanks to an intuitive interface, even if they are not expert in the system mechanism. The board selected as the starting point for the development of the system was s a Zedboard, integrating a System-on-Chip Zynq-7020. The FPGA part of the chip, called Programmable Logic (PL), hosted the TDC application as IP-Core. By its very nature, The SoC integrates a programmable logic part, a Xilinx series 7, and an ARM dual-core processor, Cortex™-A9. The choice of such a device was guided by the enormous possibilities offered by the synergy of a spatial elaboration, provided by the FPGA part, and the temporal elaboration, provided by the multi-core processor. The services supplied by the System were already available although managed by off-board applications requiring the human intervention. The presented project aimed to obtain the same results, but with a different methodology that required the development of completely new components, as subsequently defined. The following description sets forth the elements developed in this Thesis project. The first phase consisted of the development of the System structure which included: the TDC IP-Core, several Block RAMs (BRAMs) and handler blocks, all integrated on a Block Design Diagram on Xilinx VIVADO® Design Suite along with the Processing System and auxiliary blocks implementing the system bus. The handler blocks are VHDL blocks created in this project to handle the TDC outputs and provide data storage and a first elaboration step. In addition to this, the blocks provided auxiliary functions which guaranteed communication between the two worlds involved, through delivery of information about the state of the system. For this task the BRAMs are exploited by the blocks and connected by a second port to the Processing System (PS) through the system bus. The second phase of development consisted of addressing the Processing System (PS) tasks. The PS presented itself as perfect host for an Embedded Operating System (OS). The OS was customized for our board, following the Yocto Project guidelines and thanks to the development platform Architech provided by Silica. The System part in need of a temporal elaboration was implemented with a high-level C language, as the final stage of the thesis project, and uploaded as an application on the Operating System environment. One of the reasons that led us to this approach was the fact that the C Application is not bound to the platform it was conceived for, and with few adjustments it can be hosted on other devices hosting a similar OS. This approach, thanks to the user interface part of the C Application, made the system intuitive for the user approaching to the device who might have no knowledge of what is happening underneath. This System offers several further advantages, compared to the pre-existent method. The integration of the whole application ecosystem on a single device comes in very useful even for commercial purposes, allowing an easy interfacing with the TDC. As a result, the velocity is increased so the structure can pave the way for further developments. This would be possible since the presence of an Operating System ensures a vast amount of unexplored possibilities.File | Dimensione | Formato | |
---|---|---|---|
2017_07_CIBIN_MARINA_ALICE.pdf
non accessibile
Descrizione: Testo della Tesi
Dimensione
4.61 MB
Formato
Adobe PDF
|
4.61 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/135620