11 research outputs found
Efficient FPGA implementation of high-throughput mixed radix multipath delay commutator FFT processor for MIMO-OFDM
This article presents and evaluates pipelined architecture designs for an improved high-frequency Fast Fourier
Transform (FFT) processor implemented on Field Programmable Gate Arrays (FPGA) for Multiple Input Multiple Output
Orthogonal Frequency Division Multiplexing (MIMO-OFDM). The architecture presented is a Mixed-Radix Multipath Delay
Commutator. The presented parallel architecture utilizes fewer hardware resources compared to Radix-2 architecture,
while maintaining simple control and butterfly structures inherent to Radix-2 implementations. The high-frequency
design presented allows enhancing system throughput without requiring additional parallel data paths common in
other current approaches, the presented design can process two and four independent data streams in parallel
and is suitable for scaling to any power of two FFT size N. FPGA implementation of the architecture demonstrated
significant resource efficiency and high-throughput in comparison to relevant current approaches within
literature. The proposed architecture designs were realized with Xilinx System Generator (XSG) and evaluated
on both Virtex-5 and Virtex-7 FPGA devices. Post place and route results demonstrated maximum frequency
values over 400 MHz and 470 MHz for Virtex-5 and Virtex-7 FPGA devices respectively
A 128-point Multi-Path SC FFT Architecture
This paper presents a new radix-2^k multi-path FFT architecture, named MSC
FFT, which is based on a single-path radix-2 serial commutator (SC) FFT
architecture. The proposed multi-path architecture has a very high hardware
utilization that results in a small chip area, while providing high throughput.
In addition, the adoption of radix-2^k FFT algorithms allows for simplifying
the rotators even further. It is achieved by optimizing the structure of the
processing element (PE). The implemented architecture is a 128-point 4-parallel
multi-path SC FFT using 90 nm process. Its area and power consumption at 250
MHz are only 0.167 mm2 and 14.81 mW, respectively. Compared with existing
works, the proposed design reduces significantly the chip rea and the power
consumption, while providing high throughput.Comment: Conference paper, ISCAS 2020, 5 page
Baseband Processing for 5G and Beyond: Algorithms, VLSI Architectures, and Co-design
In recent years the number of connected devices and the demand for high data-rates have been significantly increased. This enormous growth is more pronounced by the introduction of the Internet of things (IoT) in which several devices are interconnected to exchange data for various applications like smart homes and smart cities. Moreover, new applications such as eHealth, autonomous vehicles, and connected ambulances set new demands on the reliability, latency, and data-rate of wireless communication systems, pushing forward technology developments. Massive multiple-input multiple-output (MIMO) is a technology, which is employed in the 5G standard, offering the benefits to fulfill these requirements. In massive MIMO systems, base station (BS) is equipped with a very large number of antennas, serving several users equipments (UEs) simultaneously in the same time and frequency resource. The high spatial multiplexing in massive MIMO systems, improves the data rate, energy and spectral efficiencies as well as the link reliability of wireless communication systems. The link reliability can be further improved by employing channel coding technique. Spatially coupled serially concatenated codes (SC-SCCs) are promising channel coding schemes, which can meet the high-reliability demands of wireless communication systems beyond 5G (B5G). Given the close-to-capacity error correction performance and the potential to implement a high-throughput decoder, this class of code can be a good candidate for wireless systems B5G. In order to achieve the above-mentioned advantages, sophisticated algorithms are required, which impose challenges on the baseband signal processing. In case of massive MIMO systems, the processing is much more computationally intensive and the size of required memory to store channel data is increased significantly compared to conventional MIMO systems, which are due to the large size of the channel state information (CSI) matrix. In addition to the high computational complexity, meeting latency requirements is also crucial. Similarly, the decoding-performance gain of SC-SCCs also do come at the expense of increased implementation complexity. Moreover, selecting the proper choice of design parameters, decoding algorithm, and architecture will be challenging, since spatial coupling provides new degrees of freedom in code design, and therefore the design space becomes huge. The focus of this thesis is to perform co-optimization in different design levels to address the aforementioned challenges/requirements. To this end, we employ system-level characteristics to develop efficient algorithms and architectures for the following functional blocks of digital baseband processing. First, we present a fast Fourier transform (FFT), an inverse FFT (IFFT), and corresponding reordering scheme, which can significantly reduce the latency of orthogonal frequency-division multiplexing (OFDM) demodulation and modulation as well as the size of reordering memory. The corresponding VLSI architectures along with the application specific integrated circuit (ASIC) implementation results in a 28 nm CMOS technology are introduced. In case of a 2048-point FFT/IFFT, the proposed design leads to 42% reduction in the latency and size of reordering memory. Second, we propose a low-complexity massive MIMO detection scheme. The key idea is to exploit channel sparsity to reduce the size of CSI matrix and eventually perform linear detection followed by a non-linear post-processing in angular domain using the compressed CSI matrix. The VLSI architecture for a massive MIMO with 128 BS antennas and 16 UEs along with the synthesis results in a 28 nm technology are presented. As a result, the proposed scheme reduces the complexity and required memory by 35%–73% compared to traditional detectors while it has better detection performance. Finally, we perform a comprehensive design space exploration for the SC-SCCs to investigate the effect of different design parameters on decoding performance, latency, complexity, and hardware cost. Then, we develop different decoding algorithms for the SC-SCCs and discuss the associated decoding performance and complexity. Also, several high-level VLSI architectures along with the corresponding synthesis results in a 12 nm process are presented, and various design tradeoffs are provided for these decoding schemes
Approximate hardening techniques for digital signal processing circuits against radiation-induced faults
RESUMEN NO TÉCNICO.
Se llama radiación al proceso por el cual una partícula o una onda es capaz de
transmitir energía a través del espacio o un medio material. Si la energía transmitida
es suficientemente alta, la radiación puede provocar que algunos electrones se desplacen
de su posición, en un proceso llamado ionización.
La radiación ionizante puede provocar problemas a los seres vivos, pero también a
los diversos materiales que componen los sistemas eléctricos y electrónicos utilizados en
entornos sujetos a radiación. Existen en La Tierra varios procesos que emiten radiación
ionizante, como la obtención de energía en centrales nucleares o ciertos procedimientos
médicos. Sin embargo, las fuentes de radiación más importantes se sitúan más allá de
nuestra atmósfera y afectan fundamentalmente a sistemas aeroespaciales y vuelos de gran
altitud.
Debido a la radiación, los sistemas electrónicos que se exponen a cualquiera de estas
fuentes sufren degradación en sus propiedades a lo largo del tiempo y pueden sufrir fallos
catastróficos que acorten su vida útil. El envejecimiento de los componentes se produce
por acumulación de carga eléctrica en el material, lo que se conoce como Dosis Ionizante
Total (TID por sus siglas en inglés), o por distorsiones en el silicio sobre el que se fabrican
los circuitos, lo que se conoce como Daño por Desplazamiento (DD). Una única partícula
ionizante puede, sin embargo, provocar también diversos tipos de fallos transitorios o
permanentes en los componentes de un circuito, generalmente por un cambio de estado
en un elemento de memoria o fallos destructivos en un transistor. Los diferentes tipos de
fallos producidos en circuitos por la acción de una única partícula ionizante se engloban
en la categoría de Efectos de Evento Único (SEE por sus siglas en inglés).
Para proteger los sistemas electrónicos frente a los efectos de la radiación se suele
recurrir a un conjunto de técnicas que llamamos endurecimiento frente a radiación.
Los procedimientos tradicionales de endurecimiento han consistido en la fabricación de
componentes electrónicos mediante procesos especiales que les confieran una resistencia
inherente frente a la TID, el DD y los SEE. A este conjunto de técnicas de endurecimiento
se lo conoce como Endurecimiento frente a la Radiación Por Proceso (RHBP por sus
siglas en inglés). Estos procedimientos suelen aumentar el coste de los componentes y
empeorar su rendimiento con respecto a los componentes que usamos en nuestros sistemas
electrónicos cotidianos.
En oposición a las técnicas RHBP encontramos las técnicas de Endurecimiento
frente a la Radiación Por Diseño (RHBD por sus siglas en inglés). Estas técnicas
permiten detectar y tratar de corregir fallos producidos por la radiación introduciendo
modificaciones en los circuitos. Estas modificaciones suelen aumentar la complejidad de
los circuitos que se quiere endurecer, haciendo que consuman más energía, ocupen más
espacio o funcionen a menor frecuencia, pero estas desventajas se pueden compensar con la disminución de los costes de fabricación y la mejora en las prestaciones que aportan
los sistemas modernos.
En un intento por reducir el coste de las misiones espaciales y mejorar sus
capacidades, en los últimos años se trata de introducir un mayor número de Componentes
Comerciales (COTS por sus siglas en inglés), endurecidos mediante técnicas RHBD.
Las técnicas RHBD habituales se basan en la adición de elementos redundantes
idénticos al original, cuyos resultados se pueden comparar entre sí para obtener
información acerca de la existencia de un error (si sólo se usa un circuito redundante,
Duplicación Con Comparación [DWC]) o llegar incluso a corregir un error detectado de
manera automática, si se emplean dos o más réplicas redundantes, siendo el caso más
habitual la Redundancia Modular Triple (TMR) en todas sus variantes.
El trabajo desarrollado en esta Tesis gira en torno a las técnicas de endurecimiento
RHBD de sistemas electrónicos comerciales. En concreto, se trata de proponer y
caracterizar nuevas técnicas de endurecimiento que permitan reducir el alto consumo
de recursos de las utilizadas habitualmente. Para ello, se han desarrollado técnicas de
endurecimiento que aprovechan cálculos aproximados para detectar y corregir fallos en
circuitos electrónicos digitales para procesamiento de señal implementados en FPGA
comerciales, dispositivos que permiten implementar circuitos electrónicos digitales a
medida y reconfigurarlos tantas veces como se quiera.
A lo largo de esta Tesis se han desarrollado diferentes circuitos de prueba endurecidos
mediante TMR y se ha comparado su rendimiento con los de otras técnicas de
Redundancia Aproximada, en concreto la Redundancia de Precisión Reducida (RPR),
la Redundancia de Resolución Reducida (RRR) y la Redundancia Optimizada para
Algoritmos Compuestos (ORCA):
• La Redundancia de Precisión Reducida se basa en la utilización de dos réplicas
redundantes que calculan resultados con un menor número de bits que el circuito
original. De este modo se pueden disminuir los recursos necesitados por el circuito,
aunque las correcciones en caso de fallo son menos precisas que en el TMR. En este
trabajo exploramos también la RPR Escalada como un método de obtener un balance
óptimo entre la precisión y el consumo de recursos.
• La Redundancia de Resolución Reducida es una técnica propuesta originalmente en
esta tesis. Está pensada para algoritmos que trabajan con información en forma de
paquetes cuyos datos individuales guardan alguna relación entre sí. Las réplicas
redundantes calculan los resultados con una fracción de los datos de entrada originales,
lo que reduce su tamaño y permite correcciones aproximadas en caso de fallo.
• La Redundancia Optimizada para Algoritmos Compuestos es también una aportación
original de esta tesis. Está indicada para algoritmos cuyo resultado final puede
expresarse como la composición de resultados intermedios calculados en etapas
anteriores. Las réplicas redundantes se forman como bloques que calculan resultados intermedios y el resultado de su composición se puede comparar con el resultado
original. Este método permite reducir recursos y proporciona resultados de corrección
exactos en la mayor parte de los casos, lo que supone una mejora importante con
respecto a las correcciones de los métodos anteriores.
La eficacia de las técnicas de endurecimiento desarrolladas se ha probado mediante
experimentos de inyección de fallos y mediante ensayos en instalaciones de aceleradores
de partículas preparadas para la irradiación de dispositivos electrónicos. En concreto, se
han realizado ensayos de radiación con protones en el Centro Nacional de Aceleradores
(CNA España), el Paul Scherrer Institut (PSI, Suiza) y ensayos de radiación con neutrones
en el laboratorio ISIS Neutron and Muon Source (ChipIR, Reino Unido).RESUMEN TÉCNICO.
Se llama radiación al proceso por el cual una partícula o una onda es capaz de
transmitir energía a través del espacio o un medio material. Si la energía transmitida
es suficientemente alta, la radiación puede provocar que algunos electrones se desplacen
de su posición, en un proceso llamado ionización.
La radiación ionizante puede provocar problemas a los seres vivos, pero también a
los diversos materiales que componen los sistemas eléctricos y electrónicos utilizados en
entornos sujetos a radiación. Existen en La Tierra varios procesos que emiten radiación
ionizante, como la obtención de energía en centrales nucleares o ciertos procedimientos
médicos. Sin embargo, las fuentes de radiación más importantes se sitúan más allá de
nuestra atmósfera y afectan fundamentalmente a sistemas aeroespaciales y vuelos de gran
altitud.
Debido a la radiación, los sistemas electrónicos que se exponen a cualquiera de estas
fuentes sufren degradación en sus propiedades a lo largo del tiempo y pueden sufrir fallos
catastróficos que acorten su vida útil. El envejecimiento de los componentes se produce
por acumulación de carga eléctrica en el material, lo que se conoce como Dosis Ionizante
Total (TID, Total Ionizing Dose), o por distorsiones acumuladas en la matriz cristalina del
silicio en el que se fabrican los circuitos, lo que se conoce como Daño por Desplazamiento
(DD, Displacement Damage). Una única partícula ionizante puede, sin embargo, provocar
también diversos tipos de fallos transitorios o permanentes en los componentes de un
circuito, generalmente por un cambio de estado en un elemento de memoria o la activación
de circuitos parasitarios en un transistor. Los diferentes tipos de fallos producidos en
circuitos por la acción de una única partícula ionizante se engloban en la categoría de
Efectos de Evento Único (SEE, Single Event Effects).
Para proteger los sistemas electrónicos frente a los efectos de la radiación se suele
recurrir a un conjunto de técnicas que llamamos endurecimiento frente a radiación.
Los procedimientos tradicionales de endurecimiento han consistido en la fabricación de
componentes electrónicos mediante procesos especiales que les confieran una resistencia
inherente frente a la TID, el DD y los SEE. A este conjunto de técnicas de endurecimiento
se lo conoce como Endurecimiento frente a la Radiación Por Proceso (RHBP, por sus
siglas en inglés). Estos procedimientos suelen aumentar el coste de los componentes y
empeorar su rendimiento con respecto a los componentes que usamos en nuestros sistemas
electrónicos cotidianos.
En oposición a las técnicas RHBP encontramos las técnicas de Endurecimiento
frente a la Radiación Por Diseño (RHBD, por sus siglas en inglés). Estas técnicas
permiten detectar y tratar de corregir fallos producidos por la radiación introduciendo
modificaciones en los circuitos. Estas modificaciones suelen aumentar la complejidad de
los circuitos que se quiere endurecer, haciendo que consuman más energía, ocupen más espacio o funcionen a menor frecuencia, pero estas desventajas se pueden compensar con
la disminución de los costes de fabricación y la mejora en las prestaciones que aportan
los sistemas modernos.
En un intento por reducir el coste de las misiones espaciales y mejorar sus
capacidades, en los últimos años se trata de introducir un mayor número de Componentes
Comerciales (COTS, por sus siglas en inglés), endurecidos mediante técnicas RHBD.
Las técnicas RHBD habituales se basan en la adición de elementos redundantes
idénticos al original, cuyos resultados se pueden comparar entre sí para obtener
información acerca de la existencia de un error (si sólo se usa un circuito redundante,
Duplicación Con Comparación [DWC, Duplication With Comparison]) o llegar incluso
a corregir un error detectado de manera automática, si se emplean dos o más réplicas
redundantes, siendo el caso más habitual la Redundancia Modular Triple (TMR, Triple
Modular Redundancy) en todas sus variantes.
El trabajo desarrollado en esta Tesis gira en torno a las técnicas de endurecimiento
RHBD de sistemas electrónicos comerciales. En concreto, se trata de proponer y
caracterizar nuevas técnicas de endurecimiento que permitan reducir el alto consumo de
recursos de las técnicas utilizadas habitualmente. Para ello, se han desarrollado técnicas
de endurecimiento que aprovechan cálculos aproximados para detectar y corregir fallos
en circuitos electrónicos digitales para procesamiento de señal implementados en FPGA
(Field Programmable Gate Array) comerciales.
Las FPGA son dispositivos que permiten implementar circuitos electrónicos digitales
diseñados a medida y reconfigurarlos tantas veces como se quiera. Su capacidad de
reconfiguración y sus altas prestaciones las convierten en dispositivos muy interesantes
para aplicaciones espaciales, donde realizar cambios en los diseños no suele ser posible
una vez comenzada la misión. La reconfigurabilidad de las FPGA permite corregir en
remoto posibles problemas en el diseño, pero también añadir o modificar funcionalidades
a los circuitos implementados en el sistema.
La eficacia de las técnicas de endurecimiento desarrolladas e implementadas en
FPGAs se ha probado mediante experimentos de inyección de fallos y mediante
ensayos en instalaciones de aceleradores de partículas preparadas para la irradiación de
dispositivos electrónicos.
Los ensayos de radiación son el estándar industrial para probar el comportamiento de
todos los sistemas electrónicos que se envían a una misión espacial. Con estos ensayos
se trata de emular de manera acelerada las condiciones de radiación a las que se verán
sometidos los sistemas una vez hayan sido lanzados y determinar su resistencia a TID, DD
y/o SEEs. Dependiendo del efecto que se quiera observar, las partículas elegidas para la
radiación varían, pudiendo elegirse entre electrones, neutrones, protones, iones pesados,
fotones... Particularmente, los ensayos de radiación realizados en este trabajo, tratándose
de un estudio de técnicas de endurecimiento para sistemas electrónicos digitales, están
destinados a establecer la sensibilidad de los circuitos estudiados frente a un tipo de SEE conocido como Single Event Upset (SEU), en el que la radiación modifica el valor lógico
de un elemento de memoria. Para ello, hemos recurrido a experimentos de radiación con
protones en el Centro Nacional de Aceleradores (CNA, España), el Paul Scherrer Institut
(PSI, Suiza) y experimentos de radiación con neutrones en el laboratorio ISIS Neutron
and Muon Source (ChipIR, Reino Unido).
La sensibilidad de un circuito suele medirse en términos de su sección eficaz (cross
section) con respecto a una partícula determinada, calculada como el cociente entre el
número de fallos encontrados y el número de partículas ionizantes por unidad de área
utilizadas en la campaña de radiación. Esta métrica sirve para estimar el número de
fallos que provocará la radiación a lo largo de la vida útil del sistema, pero también
para establecer comparaciones que permitan conocer la eficacia de los sistemas de
endurecimiento implementados y ayudar a mejorarlos.
El método de inyección de fallos utilizado en esta Tesis como complemento a la
radiación se basa en modificar el valor lógico de los datos almacenados en la memoria de
configuración de la FPGA. En esta memoria se guarda la descripción del funcionamiento
del circuito implementado en la FPGA, por lo que modificar sus valores equivale a
modificar el circuito. En FPGAs que utilizan la tecnología SRAM en sus memorias de
configuración, como las utilizadas en esta Tesis, este es el componente más sensible a la
radiación, por lo que es posible comparar los resultados de la inyección de fallos y de las
campañas de radiación. Análogamente a la sección eficaz, en experimentos de inyección
de fallos podemos hablar de la tasa de error, calculada como el cociente entre el número
de fallos encontrados y la cantidad de bits de memoria inyectados.
A lo largo de esta Tesis se han desarrollado diferentes circuitos endurecidos mediante
Redundancia Modular Triple y se ha comparado su rendimiento con los de otras
técnicas de Redundancia Aproximada, en concreto la Redundancia de Precisión Reducida
(RPR), la Redundancia de Resolución Reducida (RRR) y la Redundancia Optimizada
para Algoritmos Compuestos (ORCA). Estas dos últimas son contribuciones originales
presentadas en esta Tesis.
• La Redundancia de Precisión Reducida se basa en la utilización de dos réplicas
redundantes que calculan resultados con un menor número de bits que el circuito
original. Para cada dato de salida se comparan el resultado del circuito original y
los dos resultados de precisión reducida. Si los dos resultados de precisión reducida
son idénticos y su diferencia con el resultado de precisión completa es mayor que un
determinado valor umbral, se considera que existe un fallo en el circuito original y se
utiliza el resultado de precisión reducida para corregirlo. En cualquier otro caso, el
resultado original se considera correcto, aunque pueda contener errores tolerables por
debajo del umbral de comparación. En comparación con un circuito endurecido con
TMR, los diseños RPR utilizan menos recursos, debido a la reducción en la precisión
de los cálculos de los circuitos redundantes. No obstante, esto también afecta a la
calidad de los resultados obtenidos cuando se corrige un error. En este trabajo exploramos también la RPR Escalada como un método de obtener
un balance óptimo entre la precisión y el consumo de recursos. En esta variante de
la técnica RPR, los resultados de cada etapa de cálculo en los circuitos redundantes
tienen una precisión diferente, incrementándose hacia las últimas etapas, en las que el
resultado tiene la misma precisión que el circuito original. Con este método se logra
incrementar la calidad de los datos corregidos a la vez que se reducen los recursos
utilizados por el endurecimiento.
Los resultados de las campañas de radiación y de inyección de fallos realizadas sobre
los diseños endurecidos con RPR sugieren que la reducción de recursos no sólo es
beneficiosa por sí misma en términos de recursos y energía utilizados por el sistema,
sino que también conlleva una reducción de la sensibilidad de los circuitos, medida
tanto en cross section como en tasa de error.
• La Redundancia de Resolución Reducida es una técnica propuesta originalmente en
esta tesis. Está indicada para algoritmos que trabajan con información en forma de
paquetes cuyos datos individuales guardan alguna relación entre sí, como puede ser un
algoritmo de procesamiento de imágenes. En la técnica RRR, se añaden dos circuitos
redundantes que calculan los resultados con una fracción de los datos de entrada
originales. Tras el cálculo, los resultados diezmados pueden interpolarse para obtener
un resultado aproximado del mismo tamaño que el resultado del circuito original.
Una vez interpolados, los resultados de los tres circuitos pueden ser comparados para
detectar y corregir fallos de una manera similar a la que se utiliza en la técnica RPR.
Aprovechando las características del diseño hardware, la disminución de la cantidad
de datos que procesan los circuitos de Resolución Reducida puede traducirse en una
disminución de recursos, en lugar de una disminución de tiempo de cálculo. De esta
manera, la técnica RRR es capaz de reducir el consumo de recursos en comparación a
los que se necesitarían si se utilizase un endurecimiento TMR.
Los resultados de los experimentos realizados en diseños endurecidos mediante
Redundancia de Resolución Reducida sugieren que la técnica es eficaz en reducir los
recursos utilizados y, al igual que pasaba en el caso de la Redundancia de Precisión
Reducida, también su sensibilidad se ve reducida, comparada con la sensibilidad del
mismo circuito endurecido con Redundancia Modular Triple. Además, se observa una
reducción notable de la sensibilidad de los circuitos frente a errores no corregibles,
comparado con el mismo resultado en TMR y RPR. Este tipo de error engloba aquellos
producidos por fallos en la lógica de comparación y votación o aquellos en los que un
único SEU produce fallos en los resultados de dos o más de los circuitos redundantes
al mismo tiempo, lo que se conoce como Fallo en Modo Común (CMF). No obstante,
también se observa que la calidad de las correcciones realizadas utilizando este método
empeora ligeramente.
• La Redundancia Optimizada para Algoritmos Compuestos es también una aportación
original de esta tesis. Está indicada para algoritmos cuyo resultado final puede expresarse como la composición de resultados intermedios calculados en etapas
anteriores. Para endurecer un circuito usando esta técnica, se añaden dos circuitos
redundantes diferentes entre sí y que procesan cada uno una parte diferente del conjunto
de datos de entrada. Cada uno de estos circuitos aproximados calcula un resultado
intermedio. La composición de los dos resultados intermedios da un resultado idéntico
al del circuito original en ausencia de fallos.
La detección de fallos se realiza comparando el resultado del circuito original con el
de la composición de los circuitos aproximados. En caso de ser diferentes, se puede
determinar el origen del fallo comparando los resultados aproximados intermedios
frente a un umbral. Si la diferencia entre los resultados intermedios supera el umbral,
significa que el fallo se ha producido en uno de los circuitos aproximados y que el
resultado de la composición no debe ser utilizado en la salida. Al igual que ocurre
en la Redundancia de Precisión Reducida y la Redundancia de Resolución Reducida,
utilizar un umbral de comparación implica la existencia de errores tolerables. No
obstante, esta técnica de endurecimiento permite realizar correcciones exactas, en
lugar de aproximadas, en la mayor parte de los casos, lo que mejora la calidad de
los resultados con respecto a otras técnicas de endurecimiento aproximadas, al tiempo
que reduce los recursos utilizados por el sistema endurecido en comparación con las
técnicas tradicionales.
Los resultados de los experimentos realizados con diseños endurecidos mediante
Redundancia Optimizada para Algoritmos Compuestos confirman que esta técnica de
endurecimiento es capaz de producir correcciones exactas en un alto porcentaje de los
eventos. Su sensibilidad frente a todo tipo de errores y frente a errores no corregibles
también se ve disminuida, comparada con la obtenida con Redundancia Modular Triple.
Los resultados presentados en esta Tesis respaldan la idea de que las técnicas de
Redundancia Aproximada son alternativas viables a las técnicas de endurecimiento frente
a la radiación habituales, siempre que
Null convention logic circuits for asynchronous computer architecture
For most of its history, computer architecture has been able to benefit from a rapid scaling in semiconductor technology, resulting in continuous improvements to CPU design. During that period, synchronous logic has dominated because of its inherent ease of design and abundant tools. However, with the scaling of semiconductor processes into deep sub-micron and then to nano-scale dimensions, computer architecture is hitting a number of roadblocks such as high power and increased process variability. Asynchronous techniques can potentially offer many advantages compared to conventional synchronous design, including average case vs. worse case performance, robustness in the face of process and operating point variability and the ready availability of high performance, fine grained pipeline architectures. Of the many alternative approaches to asynchronous design, Null Convention Logic (NCL) has the advantage that its quasi delay-insensitive behavior makes it relatively easy to set up complex circuits without the need for exhaustive timing analysis. This thesis examines the characteristics of an NCL based asynchronous RISC-V CPU and analyses the problems with applying NCL to CPU design. While a number of university and industry groups have previously developed small 8-bit microprocessor architectures using NCL techniques, it is still unclear whether these offer any real advantages over conventional synchronous design. A key objective of this work has been to analyse the impact of larger word widths and more complex architectures on NCL CPU implementations. The research commenced by re-evaluating existing techniques for implementing NCL on programmable devices such as FPGAs. The little work that has been undertaken previously on FPGA implementations of asynchronous logic has been inconclusive and seems to indicate that asynchronous systems cannot be easily implemented in these devices. However, most of this work related to an alternative technique called bundled data, which is not well suited to FPGA implementation because of the difficulty in controlling and matching delays in a 'bundle' of signals. On the other hand, this thesis clearly shows that such applications are not only possible with NCL, but there are some distinct advantages in being able to prototype complex asynchronous systems in a field-programmable technology such as the FPGA. A large part of the value of NCL derives from its architectural level behavior, inherent pipelining, and optimization opportunities such as the merging of register and combina- tional logic functions. In this work, a number of NCL multiplier architectures have been analyzed to reveal the performance trade-offs between various non-pipelined, 1D and 2D organizations. Two-dimensional pipelining can easily be applied to regular architectures such as array multipliers in a way that is both high performance and area-efficient. It was found that the performance of 2D pipelining for small networks such as multipliers is around 260% faster than the equivalent non-pipelined design. However, the design uses 265% more transistors so the methodology is mainly of benefit where performance is strongly favored over area. A pipelined 32bit x 32bit signed Baugh-Wooley multiplier with Wallace-Tree Carry Save Adders (CSA), which is representative of a real design used for CPUs and DSPs, was used to further explore this concept as it is faster and has fewer pipeline stages compared to the normal array multiplier using Ripple-Carry adders (RCA). It was found that 1D pipelining with ripple-carry chains is an efficient implementation option but becomes less so for larger multipliers, due to the completion logic for which the delay time depends largely on the number of bits involved in the completion network. The average-case performance of ripple-carry adders was explored using random input vectors and it was observed that it offers little advantage on the smaller multiplier blocks, but this particular timing characteristic of asynchronous design styles be- comes increasingly more important as word size grows. Finally, this research has resulted in the development of the first 32-Bit asynchronous RISC-V CPU core. Called the Redback RISC, the architecture is a structure of pipeline rings composed of computational oscillations linked with flow completeness relationships. It has been written using NELL, a commercial description/synthesis tool that outputs standard Verilog. The Redback has been analysed and compared to two approximately equivalent industry standard 32-Bit synchronous RISC-V cores (PicoRV32 and Rocket) that are already fabricated and used in industry. While the NCL implementation is larger than both commercial cores it has similar performance and lower power compared to the PicoRV32. The implementation results were also compared against an existing NCL design tool flow (UNCLE), which showed how much the results of these implementation strategies differ. The Redback RISC has achieved similar level of throughput and 43% better power and 34% better energy compared to one of the synchronous cores with the same benchmark test and test condition such as input sup- ply voltage. However, it was shown that area is the biggest drawback for NCL CPU design. The core is roughly 2.5× larger than synchronous designs. On the other hand its area is still 2.9× smaller than previous designs using UNCLE tools. The area penalty is largely due to the unavoidable translation into a dual-rail topology when using the standard NCL cell library
Timing-Error Tolerance Techniques for Low-Power DSP: Filters and Transforms
Low-power Digital Signal Processing (DSP) circuits are critical to commercial System-on-Chip design for battery powered devices. Dynamic Voltage Scaling (DVS) of digital circuits can reclaim worst-case supply voltage margins for delay variation, reducing power consumption. However, removing static margins without compromising robustness is tremendously challenging, especially in an era of escalating reliability concerns due to continued process scaling. The Razor DVS scheme addresses these concerns, by ensuring robustness using explicit timing-error detection and correction circuits. Nonetheless, the design of low-complexity and low-power error correction is often challenging. In this thesis, the Razor framework is applied to fixed-precision DSP filters and transforms. The inherent error tolerance of many DSP algorithms is exploited to achieve very low-overhead error correction. Novel error correction schemes for DSP datapaths are proposed, with very low-overhead circuit realisations. Two new approximate error correction approaches are proposed. The first is based on an adapted sum-of-products form that prevents errors in intermediate results reaching the output, while the second approach forces errors to occur only in less significant bits of each result by shaping the critical path distribution. A third approach is described that achieves exact error correction using time borrowing techniques on critical paths. Unlike previously published approaches, all three proposed are suitable for high clock frequency implementations, as demonstrated with fully placed and routed FIR, FFT and DCT implementations in 90nm and 32nm CMOS. Design issues and theoretical modelling are presented for each approach, along with SPICE simulation results demonstrating power savings of 21 – 29%. Finally, the design of a baseband transmitter in 32nm CMOS for the Spectrally Efficient FDM (SEFDM) system is presented. SEFDM systems offer bandwidth savings compared to Orthogonal FDM (OFDM), at the cost of increased complexity and power consumption, which is quantified with the first VLSI architecture
Vector coprocessor sharing techniques for multicores: performance and energy gains
Vector Processors (VPs) created the breakthroughs needed for the emergence of computational science many years ago. All commercial computing architectures on the market today contain some form of vector or SIMD processing.
Many high-performance and embedded applications, often dealing with streams of data, cannot efficiently utilize dedicated vector processors for various reasons: limited percentage of sustained vector code due to substantial flow control; inherent small parallelism or the frequent involvement of operating system tasks; varying vector length across applications or within a single application; data dependencies within short sequences of instructions, a problem further exacerbated without loop unrolling or other compiler optimization techniques. Additionally, existing rigid SIMD architectures cannot tolerate efficiently dynamic application environments with many cores that may require the runtime adjustment of assigned vector resources in order to operate at desired energy/performance levels.
To simultaneously alleviate these drawbacks of rigid lane-based VP architectures, while also releasing on-chip real estate for other important design choices, the first part of this research proposes three architectural contexts for the implementation of a shared vector coprocessor in multicore processors. Sharing an expensive resource among multiple cores increases the efficiency of the functional units and the overall system throughput. The second part of the dissertation regards the evaluation and characterization of the three proposed shared vector architectures from the performance and power perspectives on an FPGA (Field-Programmable Gate Array) prototype. The third part of this work introduces performance and power estimation models based on observations deduced from the experimental results. The results show the opportunity to adaptively adjust the number of vector lanes assigned to individual cores or processing threads in order to minimize various energy-performance metrics on modern vector- capable multicore processors that run applications with dynamic workloads. Therefore, the fourth part of this research focuses on the development of a fine-to-coarse grain power management technique and a relevant adaptive hardware/software infrastructure which dynamically adjusts the assigned VP resources (number of vector lanes) in order to minimize the energy consumption for applications with dynamic workloads. In order to remove the inherent limitations imposed by FPGA technologies, the fifth part of this work consists of implementing an ASIC (Application Specific Integrated Circuit) version of the shared VP towards precise performance-energy studies involving high- performance vector processing in multicore environments
Efficient implementation of video processing algorithms on FPGA
The work contained in this portfolio thesis was carried out as part of an Engineering Doctorate (Eng.D) programme from the Institute for System Level Integration. The work was sponsored by Thales Optronics, and focuses on issues surrounding the implementation of video processing algorithms on field programmable gate arrays (FPGA).
A description is given of FPGA technology and the currently dominant methods of designing and verifying firmware. The problems of translating a description of behaviour into one of structure are discussed, and some of the latest methodologies for tackling this problem are introduced.
A number of algorithms are then looked at, including methods of contrast enhancement, deconvolution, and image fusion. Algorithms are characterised according to the nature of their execution flow, and this is used as justification for some of the design choices that are made. An efficient method of performing large two-dimensional convolutions is also described.
The portfolio also contains a discussion of an FPGA implementation of a PID control algorithm, an overview of FPGA dynamic reconfigurability, and the development of a demonstration platform for rapid deployment of video processing algorithms in FPGA hardware