6 research outputs found
VLSI design of configurable low-power coarse-grained array architecture
Biomedical signal acquisition from in- or on-body sensors often requires local (on-node) low-level pre-processing before the data are sent to a remote node for aggregation and further processing. Local processing is required for many different operations, which include signal cleanup (noise removal), sensor calibration, event detection and data compression. In this environment, processing is subject to aggressive energy consumption restrictions, while often operating under real-time requirements. These conflicting requirements impose the use of dedicated circuits addressing a very specific task or the use of domain-specific customization to obtain significant gains in power efficiency. However, economic and time-to-market constraints often make the development or use of application-specific platforms very risky.One way to address these challenges is to develop a sensor node with a general-purpose architecture combining a low-power, low-performance general microprocessor or micro-controller with a coarse-grained reconfigurable array (CGRA) acting as an accelerator. A CGRA consists of a fixed number of processing units (e.g., ALUs) whose function and interconnections are determined by some configuration data.The objective of this work is to create an RTL-level description of a low-power CGRA of ALUs and produce a low-power VLSI (standard cell) implementation, that supports power-saving features.The CGRA implementation should use as few resources as possible and fully exploit the intended operation environment. The design will be evaluated with a set of simple signal processing task
Embedded electronic systems driven by run-time reconfigurable hardware
Abstract
This doctoral thesis addresses the design of embedded electronic systems based on run-time reconfigurable hardware technology –available through SRAM-based FPGA/SoC devices– aimed at contributing to enhance the life quality of the human beings. This work does research on the conception of the system architecture and the reconfiguration engine that provides to the FPGA the capability of dynamic partial reconfiguration in order to synthesize, by means of hardware/software co-design, a given application partitioned in processing tasks which are multiplexed in time and space, optimizing thus its physical implementation –silicon area, processing time, complexity, flexibility, functional density, cost and power consumption– in comparison with other alternatives based on static hardware (MCU, DSP, GPU, ASSP, ASIC, etc.). The design flow of such technology is evaluated through the prototyping of several engineering applications (control systems, mathematical coprocessors, complex image processors, etc.), showing a high enough level of maturity for its exploitation in the industry.Resumen
Esta tesis doctoral abarca el diseño de sistemas electrónicos embebidos basados en tecnología hardware dinámicamente reconfigurable –disponible a través de dispositivos lógicos programables SRAM FPGA/SoC– que contribuyan a la mejora de la calidad de vida de la sociedad. Se investiga la arquitectura del sistema y del motor de reconfiguración que proporcione a la FPGA la capacidad de reconfiguración dinámica parcial de sus recursos programables, con objeto de sintetizar, mediante codiseño hardware/software, una determinada aplicación particionada en tareas multiplexadas en tiempo y en espacio, optimizando así su implementación física –área de silicio, tiempo de procesado, complejidad, flexibilidad, densidad funcional, coste y potencia disipada– comparada con otras alternativas basadas en hardware estático (MCU, DSP, GPU, ASSP, ASIC, etc.). Se evalúa el flujo de diseño de dicha tecnología a través del prototipado de varias aplicaciones de ingeniería (sistemas de control, coprocesadores aritméticos, procesadores de imagen, etc.), evidenciando un nivel de madurez viable ya para su explotación en la industria.Resum
Aquesta tesi doctoral està orientada al disseny de sistemes electrònics empotrats basats en tecnologia hardware dinàmicament reconfigurable –disponible mitjançant dispositius lògics programables SRAM FPGA/SoC– que contribueixin a la millora de la qualitat de vida de la societat. S’investiga l’arquitectura del sistema i del motor de reconfiguració que proporcioni a la FPGA la capacitat de reconfiguració dinàmica parcial dels seus recursos programables, amb l’objectiu de sintetitzar, mitjançant codisseny hardware/software, una determinada aplicació particionada en tasques multiplexades en temps i en espai, optimizant així la seva implementació física –àrea de silici, temps de processat, complexitat, flexibilitat, densitat funcional, cost i potència dissipada– comparada amb altres alternatives basades en hardware estàtic (MCU, DSP, GPU, ASSP, ASIC, etc.). S’evalúa el fluxe de disseny d’aquesta tecnologia a través del prototipat de varies aplicacions d’enginyeria (sistemes de control, coprocessadors aritmètics, processadors d’imatge, etc.), demostrant un nivell de maduresa viable ja per a la seva explotació a la indústria
On the automated compilation of UML notation to a VLIW chip multiprocessor
With the availability of more and more cores within architectures the process of extracting implicit and explicit parallelism in applications to fully utilise these cores is becoming complex. Implicit parallelism extraction is performed through the inclusion of intelligent software and hardware sections of tool chains although these reach their theoretical limit rather quickly.
Due to this the concept of a method of allowing explicit parallelism to be performed as fast a possible has been investigated. This method enables application developers to perform creation and synchronisation of parallel sections of an application at a finer-grained level than previously possible, resulting in smaller sections of code being executed in parallel while still reducing overall execution time.
Alongside explicit parallelism, a concept of high level design of applications destined for multicore systems was also investigated. As systems are getting larger it is becoming more difficult to design and track the full life-cycle of development. One method used to ease this process is to use a graphical design process to visualise the high level designs of such systems.
One drawback in graphical design is the explicit nature in which systems are required to be generated, this was investigated, and using concepts already in use in text based programming languages, the generation of platform-independent models which are able to be specialised to multiple hardware architectures was developed.
The explicit parallelism was performed using hardware elements to perform thread management, this resulted in speed ups of over 13 times when compared to threading libraries executed in software on commercially available processors. This allowed applications with large data dependent sections to be parallelised in small sections within the code resulting in a decrease of overall execution time.
The modelling concepts resulted in the saving of between 40-50% of the time and effort required to generate platform-specific models while only incurring an overhead of up to 15% the execution cycles of these models designed for specific architectures
Recommended from our members
High integrity hardware-software codesign
Programmable logic devices (PLDs) are increasing in complexity and speed, and are being used as important components in safety-critical systems. Methods for developing high-integrity software for these systems are well-known, but this is not true for programmable logic. We propose a process for developing a system incorporating software and PLDs, suitable for safety critical systems of the highest levels of integrity. This process incorporates the use of Synchronous Receptive Process Theory as a semantic basis for specifying and proving properties of programs executing on PLDs, and extends the use of SPARK Ada from a programming language for safety-critical systems software to cover the interface between software and programmable logic. We have validated this approach through the specification and development of a substantial safety-critical system incorporating both software and programmable logic components, and the development of tools to support this work. This enables us to claim that the methods demonstrated are not only feasible but also scale up to realistic system sizes, allowing development of such safety-critical software-hardware systems to the levels required by current system safety standards
Contribución al reconocimiento de huellas dactilares mediante técnicas de correlación y arquitecturas hardware para el aumento de prestaciones
Las huellas dactilares son un identificador biométrico ampliamente utilizado. Su
uso se extiende desde aplicaciones policiales y forenses hasta aplicaciones civiles
muy comunes, como el control de accesos. Con la aparición de los primeros
sistemas automáticos de reconocimiento de huellas (AFIS, “Automatic Fingerprint
Identification System”) se comenzó el desarrollo y utilización de algoritmos de
comparación de huellas dactilares basados en minucias, que son puntos singulares
dentro de la huella. Estos métodos se asemejan a la comparación visual realizada
por un experto, identificando la posición de los puntos singulares para su posterior
comparación. Los métodos de comparación basados en minucias proporcionan una
respuesta precisa pero presentan numerosos inconvenientes. En primer lugar, las
técnicas de comparación basadas en minucias requieren un fuerte preprocesado de
las imágenes que suelen introducir artefactos en las imágenes a comparar. En
segundo lugar, estas técnicas solo toman una parte muy concreta de la información
contenida en la huella, sesgando con ello en gran medida la comparación.
Actualmente los sensores de huellas dactilares son capaces de proporcionar
imágenes de alta resolución y con alta calidad, utilizar únicamente las minucias para
la comparación es desaprovechar el resto de la valiosa información contenida en la
huella.
Los algoritmos basados en técnicas de correlación se presentan como candidatos
para paliar los dos inconvenientes anteriormente mencionados. Estas técnicas
utilizan el cálculo de la correlación cruzada como medida de similitud de las
imágenes. Por lo tanto se compara toda la información contenida en la huella y además, como no se requiere la extracción de características, se evita la compleja
etapa de preprocesado requerida por los métodos basados en minucias. A pesar de
haber demostrado recientemente que con las técnicas basadas en correlación se
pueden obtener resultados precisos [FVC2002], [FVC2004], estas técnicas siguen
siendo minoritariamente estudiadas y utilizadas. La principal desventaja que
presentan es su alta carga computacional, requiriendo equipos de altas prestaciones,
coste y tamaño.
Esta tesis doctoral presenta algoritmos para la comparación de huellas dactilares
mediante técnicas de correlación así como arquitecturas hardware eficientes para
solventar los problemas de rendimiento que presentan estas técnicas.
Se han propuesto dos algoritmos de comparación de huellas dactilares mediante
técnicas de correlación que son aportación original de esta tesis. Los algoritmos
presentan dos soluciones diferenciadas según la resolución de las imágenes a
comparar. Los métodos de alineamiento propuestos para cada uno de los algoritmos
también utilizan técnicas novedosas y son por tanto aportación original de esta tesis.
El algoritmo de comparación de imágenes de baja resolución realiza una etapa
de alineamiento novedosa basada en la correlación del campo de orientación de las
huellas. A partir del desplazamiento y la rotación calculados se seleccionan las
zonas de las huellas a comparar teniendo en cuenta el solape que existe entre las
huellas así como la calidad de las zonas elegidas. Una vez determinadas las zonas se
utiliza la correlación cruzada como medida de similitud de las zonas.
El algoritmo de comparación para imágenes de alta resolución selecciona zonas
cercanas al núcleo para efectuar la comparación. La selección del núcleo se efectúa
mediante una técnica novedosa que utiliza la transformada wavelet para determinar
la posición del núcleo. La detección del núcleo se realiza sobre la imagen
directamente sin necesidad de aplicar ningún preprocesado previo. Una vez
seleccionadas las zonas que contienen al núcleo, se realiza el cálculo de la
correlación cruzada como medida de similitud de las imágenes.
Los resultados experimentales para ambos algoritmos determinan que ambos
métodos son precisos en la comparación pero su rendimiento en implementaciones software es bajo. Esto es debido a que el rendimiento en ambos algoritmos se ve
afectado por la elevada carga computacional que acarrea el cálculo de la correlación
cruzada.
En esta tesis también se han propuesto arquitecturas hardware para la
aceleración del cálculo de la correlación cruzada. En concreto, se han propuesto dos
arquitecturas hardware, una para el cálculo de la correlación en el dominio espacial
y otra para el cálculo de la correlación en el dominio espectral. Así como una
arquitectura para realizar por hardware la normalización y poder así obtener una
correlación normalizada. Todas las arquitecturas propuestas son aportación original
de esta tesis.
La arquitectura espacial consta de una matriz sistólica de DSP slices que
realizan MACs (“Multiplication ACcumulation”). En esta arquitectura cada DSP
slice realiza una MAC y pasa el resultado al siguiente DSP slice de su misma fila.
Por lo tanto, en cada fila de la matriz se calcula la correlación cruzada de una fila de
ambas imágenes. Después de un retardo inicial, los resultados se proporcionan cada
ciclo de reloj.
La arquitectura espectral se basa en la aplicación del teorema de la correlación y
en la utilización de la transformada rápida de Fourier (FFT). Se han utilizado
módulos de cálculo de la FFT, que se han denominado FFT slices. En la
arquitectura propuesta, cada FFT slice realiza la FFT de una fila de ambas
imágenes. La arquitectura gestiona los FFT slices, así como memorias intermedias,
para realizar el máximo número posible de FFTs en paralelo.
Para la normalización se presentan arquitecturas recursivas que aprovechan el
flujo de datos de las arquitecturas que calculan la correlación. Con esta
aproximación es posible combinar ambos circuitos para integrarlos en un solo chip.
Además de esto, al compartir el flujo de datos los resultados se generan a la vez, sin
disminuir el rendimiento del sistema.
Experimentalmente se ha comprobado la aceleración conseguida con las
arquitecturas propuestas mediante implementaciones de las arquitecturas en una
FPGA (“Field Programmable Gate Array”) de la familia Virtex 4 de Xilinx [Xil_V4]. Los resultados experimentales demuestran que con las arquitecturas
propuestas se pueden conseguir aceleraciones de hasta dos órdenes de magnitud
respecto a implementaciones en C en un PC de gama alta.
También se han propuesto soluciones a nivel de sistema para la comparación de
huellas dactilares mediante técnicas de correlación. Estas soluciones presentan la
integración de las arquitecturas hardware propuestas en un SoPC (“System On
Pogrammable Chip”). La arquitectura básica del SoPC propuesto consta de un
microprocesador empotrado junto con un coprocesador hardware que realiza las
tareas de complejidad elevada. Con esta arquitectura se busca una mejora en el
rendimiento del sistema, aliviando la carga computacional del microprocesador
empotrado.
Se proponen dos arquitecturas para el coprocesador hardware del SoPC que son
aportación original de esta tesis. La arquitectura estática se basa en la arquitectura
espacial propuesta, pero utilizando una única fila de DSP slices para realizar los
cálculos. En esta arquitectura, el coprocesador se encarga de realizar las tareas de
mayor carga computacional y el microprocesador el resto de tareas necesarias para
la comparación, incluyendo el envío de datos al coprocesador y la recomposición de
resultados.
La arquitectura dinámica se compone de un coprocesador reconfigurable de
grano grueso que puede cambiar en tiempo de ejecución tanto la operación a
realizar como el tamaño de las imágenes empleadas, implicando un
redimensionamiento de la matriz de DSP slices del coprocesador. La
reconfiguración la realiza directamente el microprocesador empotrado, sin
necesidad de utilizar los mecanismos internos de reconfiguración de la FPGA. Este
coprocesador presenta una solución versátil a la par que eficiente. La pérdida de
posibilidades frente a una reconfiguración de grano fino se ve compensada por una
disminución drástica del tiempo de reconfiguración que con la arquitectura
propuesta puede realizarse con tan solo cuatro transacciones de 32 bits.
El sistema se ha prototipado para una FPGA Virtex 5 de Xilinx [Xil_V5]
utilizando como microprocesador empotrado Microblaze [Xil_mblaze]. Los resultados experimentales obtenidos muestran que el SoPC diseñado es altamente
eficiente para diversas operaciones comunes en el campo del procesado de
imágenes (CC, S, SS y transformada wavelet) superando en rendimiento a
implementaciones software en un PC de altas prestaciones. En el SoPC propuesto
también se ha implementado el algoritmo para imágenes de alta resolución
propuesto consiguiendo el mismo rendimiento que un PC de altas prestaciones.
Con esta tesis doctoral se ha estudiado la comparación de huellas dactilares
mediante técnicas de correlación obteniendo resultados precisos con algoritmos
novedosos de comparación. Se ha demostrado que las técnicas de correlación son
unas técnicas prometedoras en el ámbito de la comparación de huellas dactilares,
por la precisión obtenida así como por su capacidad de comparar la totalidad de la
información contenida en la huella.
También se han solventado los problemas de rendimiento que presentan estas
técnicas mediante arquitecturas hardware específicas que proporcionan
rendimientos elevados. .Las arquitecturas propuestas hacen posible cálculos de
correlación en tiempo real y en sistemas de bajo coste y tamaño. El SoPC con
coprocesador dinámico propuesto presenta una solución muy versátil, ya que es
capaz de modificar en tiempo de ejecución la tarea a realizar por el coprocesador, el
tamaño de las imágenes y de la matriz de DSP slices, realizando el cálculo de forma
eficiente para un conjunto de datos de gran tamaño
Anales del XIII Congreso Argentino de Ciencias de la Computación (CACIC)
Contenido:
Arquitecturas de computadoras
Sistemas embebidos
Arquitecturas orientadas a servicios (SOA)
Redes de comunicaciones
Redes heterogéneas
Redes de Avanzada
Redes inalámbricas
Redes móviles
Redes activas
Administración y monitoreo de redes y servicios
Calidad de Servicio (QoS, SLAs)
Seguridad informática y autenticación, privacidad
Infraestructura para firma digital y certificados digitales
Análisis y detección de vulnerabilidades
Sistemas operativos
Sistemas P2P
Middleware
Infraestructura para grid
Servicios de integración (Web Services o .Net)Red de Universidades con Carreras en Informática (RedUNCI