2,015 research outputs found
Efficient Simulation of Structural Faults for the Reliability Evaluation at System-Level
In recent technology nodes, reliability is considered a part of the standard design ¿ow at all levels of embedded system design. While techniques that use only low-level models at gate- and register transfer-level offer high accuracy, they are too inefficient to consider the overall application of the embedded system. Multi-level models with high abstraction are essential to efficiently evaluate the impact of physical defects on the system. This paper provides a methodology that leverages state-of-the-art techniques for efficient fault simulation of structural faults together with transaction-level modeling. This way it is possible to accurately evaluate the impact of the faults on the entire hardware/software system. A case study of a system consisting of hardware and software for image compression and data encryption is presented and the method is compared to a standard gate/RT mixed-level approac
Study of Single Event Transient Error Mitigation
Single Event Transient (SET) errors in ground-level electronic devices are a growing concern in the radiation hardening field. However, effective SET mitigation technologies which satisfy ground-level demands such as generic, flexible, efficient, and fast, are limited. The classic Triple Modular Redundancy (TMR) method is the most well-known and popular technique in space and nuclear environment. But it leads to more than 200% area and power overheads, which is too costly to implement in ground-level applications. Meanwhile, the coding technique is extensively utilized to inhibit upset errors in storage cells, but the irregularity of combinatorial logics limits its use in SET mitigation. Therefore, SET mitigation techniques suitable for ground-level applications need to be addressed.
Aware of the demands for SET mitigation techniques in ground-level applications, this thesis proposes two novel approaches based on the redundant wire and approximate logic techniques.
The Redundant Wire is a SET mitigation technique. By selectively adding redundant wire connections, the technique can prohibit targeted transient faults from propagating on the fly. This thesis proposes a set of signature-based evaluation equations to efficiently estimate the protecting effect provided by each redundant wire candidates. Based on the estimated results, a greedy algorithm is used to insert the best candidate repeatedly. Simulation results substantiate that the evaluation equations can achieve up to 98% accuracy on average. Regarding protecting effects, the technique can mask 18.4% of the faults with a 4.3% area, 4.4% power, and 5.4% delay overhead on average. Overall, the quality of protecting results obtained are 2.8 times better than the previous work. Additionally, the impact of synthesis constraints and signature length are discussed.
Approximate Logic is a partial TMR technique offering a trade-off between fault coverage and area overheads. The approximate logic consists of an under-approximate logic and an over-approximate logic. The under-approximate logic is a subset of the original min-terms and the over-approximate logic is a subset of the original max-terms. This thesis proposes a new algorithm for generating the two approximate logics. Through the generating process, the algorithm considers the intrinsic failure probabilities of each gate and utilizes a confidence interval estimate equation to minimize required computations. The technique is applied to two fault models, Stuck-at and SET, and the separate results are compared and discussed. The results show that the technique can reduce the error 75% with an area penalty of 46% on some circuits. The delay overheads of this technique are always two additional layers of logic.
The two proposed SET mitigation techniques are both applicable to generic combinatorial logics and with high flexibility. The simulation shows promising SET mitigation ability. The proposed mitigation techniques provide designers more choices in developing reliable combinatorial logic in ground-level applications
Partial TMR in FPGAs Using Approximate Logic Circuits
TMR is a very effective technique to mitigate SEU effects in FPGAs, but it is often expensive in terms of FPGA resource utilization and power consumption. For certain applications, Partial TMR can be used to trade off the reliability with the cost of mitigation. In this work we propose a new approach to build Partial TMR circuits for FPGAs using approximate logic circuits. This approach is scalable, with a fine granularity, and can provide a flexible balance between reliability and overheads. The proposed approach has been validated by the results of fault injection experiments and proton irradiation campaigns.This work was supported in part by the Spanish Ministry of Economy and Competitiveness under contract ESP2015-68245-C4-1-P
Error Mitigation Using Approximate Logic Circuits: A Comparison of Probabilistic and Evolutionary Approaches
Technology scaling poses an increasing challenge to the reliability of digital circuits. Hardware redundancy solutions, such as triple modular redundancy (TMR), produce very high area overhead, so partial redundancy is often used to reduce the overheads. Approximate logic circuits provide a general framework for optimized mitigation of errors arising from a broad class of failure mechanisms, including transient, intermittent, and permanent failures. However, generating an optimal redundant logic circuit that is able to mask the faults with the highest probability while minimizing the area overheads is a challenging problem. In this study, we propose and compare two new approaches to generate approximate logic circuits to be used in a TMR schema. The probabilistic approach approximates a circuit in a greedy manner based on a probabilistic estimation of the error. The evolutionary approach can provide radically different solutions that are hard to reach by other methods. By combining these two approaches, the solution space can be explored in depth. Experimental results demonstrate that the evolutionary approach can produce better solutions, but the probabilistic approach is close. On the other hand, these approaches provide much better scalability than other existing partial redundancy techniques.This work was supported by the Ministry of Economy and Competitiveness of Spain under project ESP2015-68245-C4-1-P, and by the Czech science foundation project GA16-17538S and the Ministry of Education, Youth and Sports of the Czech Republic from the National Programme of Sustainability (NPU II); project IT4Innovations excellence in science - LQ1602
Fault-tolerant computer study
A set of building block circuits is described which can be used with commercially available microprocessors and memories to implement fault tolerant distributed computer systems. Each building block circuit is intended for VLSI implementation as a single chip. Several building blocks and associated processor and memory chips form a self checking computer module with self contained input output and interfaces to redundant communications buses. Fault tolerance is achieved by connecting self checking computer modules into a redundant network in which backup buses and computer modules are provided to circumvent failures. The requirements and design methodology which led to the definition of the building block circuits are discussed
Approximate logic circuits: Theory and applications
CMOS technology scaling, the process of shrinking transistor dimensions based
on Moore's law, has been the thrust behind increasingly powerful integrated circuits
for over half a century. As dimensions are scaled to few tens of nanometers, process
and environmental variations can significantly alter transistor characteristics, thus
degrading reliability and reducing performance gains in CMOS designs with technology
scaling. Although design solutions proposed in recent years to improve reliability
of CMOS designs are power-efficient, the performance penalty associated with these
solutions further reduces performance gains with technology scaling, and hence these
solutions are not well-suited for high-performance designs.
This thesis proposes approximate logic circuits as a new logic synthesis paradigm
for reliable, high-performance computing systems. Given a specification, an approximate
logic circuit is functionally equivalent to the given specification for a "significant"
portion of the input space, but has a smaller delay and power as compared to a
circuit implementation of the original specification. This contributions of this thesis
include (i) a general theory of approximation and efficient algorithms for automated
synthesis of approximations for unrestricted random logic circuits, (ii) logic design solutions
based on approximate circuits to improve reliability of designs with negligible
performance penalty, and (iii) efficient decomposition algorithms based on approxiiii
mate circuits to improve performance of designs during logic synthesis. This thesis
concludes with other potential applications of approximate circuits and identifies. open
problems in logic decomposition and approximate circuit synthesis
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
Statistical Reliability Estimation of Microprocessor-Based Systems
What is the probability that the execution state of a given microprocessor running a given application is correct, in a certain working environment with a given soft-error rate? Trying to answer this question using fault injection can be very expensive and time consuming. This paper proposes the baseline for a new methodology, based on microprocessor error probability profiling, that aims at estimating fault injection results without the need of a typical fault injection setup. The proposed methodology is based on two main ideas: a one-time fault-injection analysis of the microprocessor architecture to characterize the probability of successful execution of each of its instructions in presence of a soft-error, and a static and very fast analysis of the control and data flow of the target software application to compute its probability of success. The presented work goes beyond the dependability evaluation problem; it also has the potential to become the backbone for new tools able to help engineers to choose the best hardware and software architecture to structurally maximize the probability of a correct execution of the target softwar
Transient error mitigation by means of approximate logic circuits
Mención Internacional en el título de doctorThe technological advances in the manufacturing of electronic circuits have allowed to
greatly improve their performance, but they have also increased the sensitivity of electronic
devices to radiation-induced errors. Among them, the most common effects are
the SEEs, i.e., electrical perturbations provoked by the strike of high-energy particles,
which may modify the internal state of a memory element (SEU) or generate erroneous
transient pulses (SET), among other effects. These events pose a threat for the reliability
of electronic circuits, and therefore fault-tolerance techniques must be applied to
deal with them.
The most common fault-tolerance techniques are based in full replication (DWC or
TMR). These techniques are able to cover a wide range of failure mechanisms present
in electronic circuits. However, they suffer from high overheads in terms of area and
power consumption. For this reason, lighter alternatives are often sought at the expense
of slightly reducing reliability for the least critical circuit sections. In this context a new
paradigm of electronic design is emerging, known as approximate computing, which
is based on improving the circuit performance in change of slight modifications of the
intended functionality. This is an interesting approach for the design of lightweight
fault-tolerant solutions, which has not been yet studied in depth.
The main goal of this thesis consists in developing new lightweight fault-tolerant
techniques with partial replication, by means of approximate logic circuits. These
circuits can be designed with great flexibility. This way, the level of protection as
well as the overheads can be adjusted at will depending on the necessities of each
application. However, finding optimal approximate circuits for a given application is
still a challenge.
In this thesis a method for approximate circuit generation is proposed, denoted
as fault approximation, which consists in assigning constant logic values to specific
circuit lines. On the other hand, several criteria are developed to generate the most
suitable approximate circuits for each application, by using this fault approximation
mechanism. These criteria are based on the idea of approximating the least testable
sections of circuits, which allows reducing overheads while minimising the loss of reliability.
Therefore, in this thesis the selection of approximations is linked to testability
measures.
The first criterion for fault selection developed in this thesis uses static testability
measures. The approximations are generated from the results of a fault simulation of
the target circuit, and from a user-specified testability threshold. The amount of approximated
faults depends on the chosen threshold, which allows to generate approximate circuits with different performances. Although this approach was initially intended for
combinational circuits, an extension to sequential circuits has been performed as well,
by considering the flip-flops as both inputs and outputs of the combinational part of
the circuit. The experimental results show that this technique achieves a wide scalability,
and an acceptable trade-off between reliability versus overheads. In addition, its
computational complexity is very low.
However, the selection criterion based in static testability measures has some drawbacks.
Adjusting the performance of the generated approximate circuits by means of
the approximation threshold is not intuitive, and the static testability measures do not
take into account the changes as long as faults are approximated. Therefore, an alternative
criterion is proposed, which is based on dynamic testability measures. With this
criterion, the testability of each fault is computed by means of an implication-based
probability analysis. The probabilities are updated with each new approximated fault,
in such a way that on each iteration the most beneficial approximation is chosen, that
is, the fault with the lowest probability. In addition, the computed probabilities allow
to estimate the level of protection against faults that the generated approximate circuits
provide. Therefore, it is possible to generate circuits which stick to a target error rate.
By modifying this target, circuits with different performances can be obtained. The
experimental results show that this new approach is able to stick to the target error rate
with reasonably good precision. In addition, the approximate circuits generated with
this technique show better performance than with the approach based in static testability
measures. In addition, the fault implications have been reused too in order to
implement a new type of logic transformation, which consists in substituting functionally
similar nodes.
Once the fault selection criteria have been developed, they are applied to different
scenarios. First, an extension of the proposed techniques to FPGAs is performed,
taking into account the particularities of this kind of circuits. This approach has been
validated by means of radiation experiments, which show that a partial replication with
approximate circuits can be even more robust than a full replication approach, because
a smaller area reduces the probability of SEE occurrence. Besides, the proposed
techniques have been applied to a real application circuit as well, in particular to the
microprocessor ARM Cortex M0. A set of software benchmarks is used to generate
the required testability measures. Finally, a comparative study of the proposed approaches
with approximate circuit generation by means of evolutive techniques have
been performed. These approaches make use of a high computational capacity to generate
multiple circuits by trial-and-error, thus reducing the possibility of falling into
local minima. The experimental results demonstrate that the circuits generated with
evolutive approaches are slightly better in performance than the circuits generated with
the techniques here proposed, although with a much higher computational effort.
In summary, several original fault mitigation techniques with approximate logic
circuits are proposed. These approaches are demonstrated in various scenarios, showing
that the scalability and adaptability to the requirements of each application are their
main virtuesLos avances tecnológicos en la fabricación de circuitos electrónicos han permitido mejorar
en gran medida sus prestaciones, pero también han incrementado la sensibilidad
de los mismos a los errores provocados por la radiación. Entre ellos, los más comunes
son los SEEs, perturbaciones eléctricas causadas por el impacto de partículas de alta
energía, que entre otros efectos pueden modificar el estado de los elementos de memoria
(SEU) o generar pulsos transitorios de valor erróneo (SET). Estos eventos suponen
un riesgo para la fiabilidad de los circuitos electrónicos, por lo que deben ser tratados
mediante técnicas de tolerancia a fallos.
Las técnicas de tolerancia a fallos más comunes se basan en la replicación completa
del circuito (DWC o TMR). Estas técnicas son capaces de cubrir una amplia variedad
de modos de fallo presentes en los circuitos electrónicos. Sin embargo, presentan un
elevado sobrecoste en área y consumo. Por ello, a menudo se buscan alternativas más
ligeras, aunque no tan efectivas, basadas en una replicación parcial. En este contexto
surge una nueva filosofía de diseño electrónico, conocida como computación aproximada,
basada en mejorar las prestaciones de un diseño a cambio de ligeras modificaciones
de la funcionalidad prevista. Es un enfoque atractivo y poco explorado para el diseño
de soluciones ligeras de tolerancia a fallos.
El objetivo de esta tesis consiste en desarrollar nuevas técnicas ligeras de tolerancia
a fallos por replicación parcial, mediante el uso de circuitos lógicos aproximados. Estos
circuitos se pueden diseñar con una gran flexibilidad. De este forma, tanto el nivel de
protección como el sobrecoste se pueden regular libremente en función de los requisitos
de cada aplicación. Sin embargo, encontrar los circuitos aproximados óptimos para
cada aplicación es actualmente un reto.
En la presente tesis se propone un método para generar circuitos aproximados, denominado
aproximación de fallos, consistente en asignar constantes lógicas a ciertas
líneas del circuito. Por otro lado, se desarrollan varios criterios de selección para, mediante
este mecanismo, generar los circuitos aproximados más adecuados para cada
aplicación. Estos criterios se basan en la idea de aproximar las secciones menos testables
del circuito, lo que permite reducir los sobrecostes minimizando la perdida de
fiabilidad. Por tanto, en esta tesis la selección de aproximaciones se realiza a partir de
medidas de testabilidad.
El primer criterio de selección de fallos desarrollado en la presente tesis hace uso de
medidas de testabilidad estáticas. Las aproximaciones se generan a partir de los resultados
de una simulación de fallos del circuito objetivo, y de un umbral de testabilidad
especificado por el usuario. La cantidad de fallos aproximados depende del umbral escogido, lo que permite generar circuitos aproximados con diferentes prestaciones.
Aunque inicialmente este método ha sido concebido para circuitos combinacionales,
también se ha realizado una extensión a circuitos secuenciales, considerando los biestables
como entradas y salidas de la parte combinacional del circuito. Los resultados
experimentales demuestran que esta técnica consigue una buena escalabilidad, y unas
prestaciones de coste frente a fiabilidad aceptables. Además, tiene un coste computacional
muy bajo.
Sin embargo, el criterio de selección basado en medidas estáticas presenta algunos
inconvenientes. No resulta intuitivo ajustar las prestaciones de los circuitos aproximados
a partir de un umbral de testabilidad, y las medidas estáticas no tienen en cuenta los
cambios producidos a medida que se van aproximando fallos. Por ello, se propone un
criterio alternativo de selección de fallos, basado en medidas de testabilidad dinámicas.
Con este criterio, la testabilidad de cada fallo se calcula mediante un análisis de probabilidades
basado en implicaciones. Las probabilidades se actualizan con cada nuevo
fallo aproximado, de forma que en cada iteración se elige la aproximación más favorable,
es decir, el fallo con menor probabilidad. Además, las probabilidades calculadas
permiten estimar la protección frente a fallos que ofrecen los circuitos aproximados
generados, por lo que es posible generar circuitos que se ajusten a una tasa de fallos
objetivo. Modificando esta tasa se obtienen circuitos aproximados con diferentes prestaciones.
Los resultados experimentales muestran que este método es capaz de ajustarse
razonablemente bien a la tasa de fallos objetivo. Además, los circuitos generados
con esta técnica muestran mejores prestaciones que con el método basado en medidas
estáticas. También se han aprovechado las implicaciones de fallos para implementar
un nuevo tipo de transformación lógica, consistente en sustituir nodos funcionalmente
similares.
Una vez desarrollados los criterios de selección de fallos, se aplican a distintos
campos. En primer lugar, se hace una extensión de las técnicas propuestas para FPGAs,
teniendo en cuenta las particularidades de este tipo de circuitos. Esta técnica se ha validado
mediante experimentos de radiación, los cuales demuestran que una replicación
parcial con circuitos aproximados puede ser incluso más robusta que una replicación
completa, ya que un área más pequeña reduce la probabilidad de SEEs. Por otro lado,
también se han aplicado las técnicas propuestas en esta tesis a un circuito de aplicación
real, el microprocesador ARM Cortex M0, utilizando un conjunto de benchmarks
software para generar las medidas de testabilidad necesarias. Por ´último, se realiza un
estudio comparativo de las técnicas desarrolladas con la generación de circuitos aproximados
mediante técnicas evolutivas. Estas técnicas hacen uso de una gran capacidad
de cálculo para generar múltiples circuitos mediante ensayo y error, reduciendo la posibilidad
de caer en algún mínimo local. Los resultados confirman que, en efecto, los
circuitos generados mediante técnicas evolutivas son ligeramente mejores en prestaciones
que con las técnicas aquí propuestas, pero con un coste computacional mucho
mayor.
En definitiva, se proponen varias técnicas originales de mitigación de fallos mediante
circuitos aproximados. Se demuestra que estas técnicas tienen diversas aplicaciones,
haciendo de la flexibilidad y adaptabilidad a los requisitos de cada aplicación
sus principales virtudes.Programa Oficial de Doctorado en Ingeniería Eléctrica, Electrónica y AutomáticaPresidente: Raoul Velazco.- Secretario: Almudena Lindoso Muñoz.- Vocal: Jaume Segura Fuste
- …