Este trabajo de tesis doctoral presenta nuevas técnicas de inyección de fallostransitorios en elementos de memoria, que permiten la evaluación del comportamientode los complejos circuitos digitales actuales en presencia de fallos SEU (Single EventUpset).Se han propuesto técnicas de inyección que dan solución a la evaluación de latolerancia a fallos SEU para distintos componentes de los sistemas digitales actuales, enlos que se tiende a integrar distintos tipos de circuitos en un mismo chip, SoCs (Systemon Chip). El entorno de inyección en las soluciones propuestas en esta tesis se basa enemulación con dispositivos programables, FPGAs, realizándose las tareas relacionadascon la inyección desde la plataforma hardware de emulación. La implementaciónhardware del sistema de inyección minimiza la comunicación necesaria entre elhardware y un computador, siendo dicha comunicación la mayor limitación en lavelocidad del proceso de inyección. En primer lugar, se presenta una técnica deinyección de fallos basada en la emulación de fallos con FPGA, que permite evaluar uncircuito digital cuando se dispone de su descripción en un lenguaje de alto nivel, comoVHDL. Por otro lado, se propone una solución para la inyección de fallos en circuitosmicroprocesadores basada en el uso de la infraestructura de depuración integrada en elpropio microprocesador (OCD, On-Chip Debugger), para acceder a sus recursosinternos (memorias y registros), en un componente comercial o prototipo final delmicroprocesador.Cuando se dispone de la descripción del circuito, éste se implementa junto con elsistema de inyección en la FPGA y no es necesario establecer una comunicación con elexterior durante el desarrollo de una campaña de inyección, por lo que esta propuesta seha denominado Emulación Autónoma. Al implementar el sistema completo deinyección en un único dispositivo (la FPGA) se aumentan la observabilidad ycontrolabilidad de los elementos del circuito. En este trabajo de investigación se hanpropuesto optimizaciones del proceso de inyección, basadas en la mayor accesibilidadal circuito que proporciona la Emulación Autónoma, para mejorar la eficiencia de lastareas de inyección de fallos y observación del comportamiento del circuito enpresencia de fallos.En esta tesis se describen y desarrollan tres implementaciones de técnicas deinyección basadas en Emulación Autónoma, denominadas Time-Multiplexed, State-Scany Mask-Scan. Cada una de las tres implementaciones ofrece un compromiso distintoentre velocidad del proceso de inyección y recursos necesarios para su aplicación. Latécnica Time-Multiplexed incluye el mayor número de optimizaciones y mejoras por loque es la técnica que mayor velocidad consigue en el proceso de evaluación pero, paraello, requiere una cantidad de recursos también mayor que las otras dosimplementaciones. Las otras dos técnicas son simplificaciones de la primera, por lo queutilizan menos recursos hardware en la emulación de fallos.Además, se han desarrollado modelos de memoria que permiten aplicar latécnica Time-Multiplexed a circuitos con memorias empotradas. Los modelos se basanen controlar (para insertar los fallos) y observar (para detectar los errores y sus efectos)el contenido de memoria a través de las señales de control, el bus de datos y el bus dedirecciones, evitando recorrer todas las palabras de datos. La inyección de fallos encircuitos con memorias empotradas es un problema de gran interés, puesto que éstasúltimas son un componente cada vez más habitual en los diseños actuales. Además nose había propuesto hasta la fecha ninguna solución eficiente para la emulación de fallosen memorias. Esta aportación de la tesis permite inyectar fallos de forma rápida enmemorias empotradas resolviendo el problema de su limitada accesibilidad. Tambiénpara los modelos de memoria, se han propuesto distintas implementaciones en funciónde las prestaciones conseguidas y recursos hardware necesarios, denominados modeloBásico y modelo ECAM. El modelo Básico requiere menos recursos para suimplementación, mientras que el modelo ECAM proporciona una mayor capacidad deanálisis de los fallos.Los experimentos realizados, tanto sobre circuitos de prueba como sobrecircuitos industriales reales, prueban que la Emulación Autónoma acelera el proceso deinyección con respecto a otras soluciones propuestas, permitiendo inyectar millones defallos en unos pocos segundos. La aceleración conseguida es de dos órdenes demagnitud, con la técnica Time-Multiplexed, con respecto a otras soluciones basadas enemulación, que a su vez proporcionan una aceleración de cuatro órdenes de magnitudcon respecto a técnicas basadas en simulación. Esta notable aceleración en la inyecciónde fallos permite evaluar circuitos de gran tamaño, como los circuitos actuales, dondelos posibles fallos suponen un número elevado, y para obtener una medida significativade su tolerancia a fallos es necesario inyectar un gran conjunto de fallos en un tiemporazonable. Se ha comprobado experimentalmente la viabilidad de la solución presentadapara la inyección de fallos en memoria y las características de los modelos de memoriapropuestos, para ello se han realizado campañas de inyección sobre un microprocesadorindustrial en el que se inyectan fallos tanto en los biestables como en la memoria.Por otro lado, la técnica de inyección que se propone en la tesis orientada amicroprocesadores realiza la inyección de fallos y observación de sus efectos en elcircuito a través de su OCD. El avance de las capacidades e infraestructuras dedepuración en los microprocesadores actuales se debe al auge de SoCs y sistemasempotrados en los que, de otra forma, el acceso para depuración a dicho componentesería inviable o muy costoso. Estas capacidades proporcionan un mecanismo eficaz paraacceder a los recursos internos del microprocesador, necesario para realizar la inyecciónde fallos y observar el comportamiento del circuito. El sistema de inyección propuestocontrola el OCD mediante su interfaz JTAG, el más común para acceder a losmicroprocesadores actuales. Al igual que en el sistema de Emulación Autónoma, todaslas tareas de inyección se realizan desde el hardware, una FPGA, que se conecta almicroprocesador bajo estudio a través de su interfaz JTAG. Esta solución es aplicable acualquier microprocesador con OCD e interfaz JTAG, lo que son característicashabituales en la actualidad.Los experimentos desarrollados sobre microprocesadores comerciales (ARM yPowerPC) demuestran que esta técnica proporciona una solución para la inyección defallos en componentes microprocesadores comerciales eficiente, de gran generalidad yque alcanza un compromiso entre velocidad y coste.En resumen, se ha propuesto una solución precisa, rápida y de bajo coste paraevaluar la tolerancia a fallos de tipo SEU de los circuitos digitales actuales, permitiendola inyección de fallos en circuitos de gran tamaño con memorias y microprocesadoresempotrados.____________________________________________
展开▼