Contributions to the design of high-performance digital systems using Field Programmable System-on-Chip platforms
DATE:
2019-01-09
UNIVERSAL IDENTIFIER: http://hdl.handle.net/11093/1114
DOCUMENT TYPE: doctoralThesis
ABSTRACT
Field-Programmable System-on-Chip (FPSoC) systems contain processors, memory, high-speed communications and reconfigurable logic (FPGA) in a single chip. Using only a FPSoC chip complex digital systems can be implemented almost completely, where the processor and FPGA work simultaneously (software/hardware co-processing) obtaining lower power consumption and better performance than traditional multi-chip solutions.
In spite of the promising characteristics of these devices, its penetration into industrial applications is still small. The main reason is a lack of knowledge about the processor-FPGA interconnect, which acts many times as the bottleneck of the application. For this reason, the first part of the thesis is dedicated to do a deep study on those interconnect mechanisms, making time measurements in function of different parameters that can affect the data transfer speed. From these numeric values a set of design guidelines that permit to extract the full potential of these devices are developed.
Based on the proposed guidelines, in the second part of the thesis the implementation of two of the most common implementations for these devices are carried out. On the one hand a sensor, typically built using more than one chip, is implemented. The sensor is a high accuracy frequency measurement system to be part of a QCM (Quartz Chrystal Microbalance) mass sensor. The FPGA is used to perform high accuracy frequency measurements in hardware and the processor provides intelligence and flexibility. For the second application example a software acceleration is implemented. In this case Particle Swarm Optimization (PSO) is implemented where the processor is in charge of the most part of the algorithm while the FPGA executes the most time-consuming parts of the algorithm in parallel in hardware to speed it up. Los dispositivos Field-Programmable System-on-Chip (FPSoC) contienen procesadores, memoria, comunicaciones de alta velocidad y lógica reconfigurable (FPGA) en un solo chip. Con ellos se pueden implementar casi por completo sistemas electrónicos digitales complejos en los que procesador y FPGA trabajan simultáneamente (co-procesamiento software/hardware) obteniendo menor consumo de energía y mayores prestaciones que con las implementaciones tradicionales utilizando varios chips.
A pesar de las características prometedoras de estos dispositivos, su penetración en aplicaciones industriales es todavía pequeña, debido principalmente al desconocimiento de los mecanismos de interconexión entre los procesadores y la FPGA, que se convierten muchas veces en el cuello de botella de la aplicación. Por este motivo, la primera parte de la tesis se centra en el estudio en profundidad de dichos mecanismos de interconexión, realizando medidas de tiempo en función de los diferentes parámetros que puedan afectar a la velocidad de transferencia de datos. A partir de estos datos se desarrolla una metodología de uso que permita sacar el máximo partido de la plataforma.
Basándose en la metodología propuesta, en la segunda parte de la tesis se realiza la implementación de dos de las aplicaciones más comunes para las que se utilizan este tipo de chips. Por un lado se implementa un sensor que típicamente se realizaba con varios chips. En concreto se implementa un sistema de medida de frecuencia para medida de masa utilizando sensores QCM (microbalanza de cristal de cuarzo). La FPGA se usa para realizar medidas de frecuencia de alta precisión y el procesador aporta inteligencia y flexibilidad al sistema. Por otro lado, como segunda aplicación, se implementa una aceleración de un programa software. En concreto implementa el algoritmo Particle Swarm Optimization (PSO). En este caso el procesador se encarga de la ejecución de la mayor parte del algoritmo mientras que en la FPGA se ejecutan las partes más lentas en paralelo para acelerarlo. Os dispositivos Field-Programmable System-on-Chip (FPSoC) conteñen procesadores, memoria, comunicacións de alta velocidade e lóxica reconfigurable (FPGA) nun so chip. Con eles pódense implementar casi por completo sistemas dixitais complexos nos que o procesador e a FPGA traballan simultáneamente (co-procesamento software/hardware) obtendo menor consumo de enerxía e maiores prestacións que coas implementacións tradicionais usando varios chips.
A pesar das características prometedoras destes dispositivos, a súa penetración en aplicacións industriais é todavía pequena, debido principalmente ao descoñecemento dos mecanismos de interconexión entre o procesador e a FPGA, que se convirten moitas veces no cuello de botella da aplicación. Por este motivo, a primeira parte da tese céntrase no estudio en profundidade deses mecanismos de interconxión, realizando medidas de tempo en función dos diferentes parámetros que poidan afectar á velocidade de transferencia de datos. A partir destes datos se realiza unha metodoloxía de uso que permita saca-lo máximo partido da plataforma.
Baseándose na metodoloxía proposta, na segunda parte da tese realízase a implementación de duas das aplicacións máis comúns para as que se utilizan este tipo de chips. Por un lado impleméntase un sistema hardware que típicamente se realizaba con varios chips. En concreto impleméntase un sistema de medida de frecuencia para medida de masa en sensores QCM (microbalanza de cristal de cuarzo). A FPGA úsase para realizar medidas de frecuencia de alta precisión e o procesador aporta intelixencia e flexibilidade ao sistema. Por outro lado, como segunda aplicación, impleméntase a aceleración dun programa de software. En concreto implementase o algoritmo Particle Swarm Optimization (PSO). Neste caso o procesador encárgase da execución da mayor parte do algoritmo mentras que na FPGA execútanse as partes máis lentas en paralelo para aceleralo.