38 research outputs found

    A Hardware Security Solution against Scan-Based Attacks

    Get PDF
    Scan based Design for Test (DfT) schemes have been widely used to achieve high fault coverage for integrated circuits. The scan technique provides full access to the internal nodes of the device-under-test to control them or observe their response to input test vectors. While such comprehensive access is highly desirable for testing, it is not acceptable for secure chips as it is subject to exploitation by various attacks. In this work, new methods are presented to protect the security of critical information against scan-based attacks. In the proposed methods, access to the circuit containing secret information via the scan chain has been severely limited in order to reduce the risk of a security breach. To ensure the testability of the circuit, a built-in self-test which utilizes an LFSR as the test pattern generator (TPG) is proposed. The proposed schemes can be used as a countermeasure against side channel attacks with a low area overhead as compared to the existing solutions in literature

    A built-in self-test technique for high speed analog-to-digital converters

    Get PDF
    Fundação para a Ciência e a Tecnologia (FCT) - PhD grant (SFRH/BD/62568/2009

    Innovative Techniques for Testing and Diagnosing SoCs

    Get PDF
    We rely upon the continued functioning of many electronic devices for our everyday welfare, usually embedding integrated circuits that are becoming even cheaper and smaller with improved features. Nowadays, microelectronics can integrate a working computer with CPU, memories, and even GPUs on a single die, namely System-On-Chip (SoC). SoCs are also employed on automotive safety-critical applications, but need to be tested thoroughly to comply with reliability standards, in particular the ISO26262 functional safety for road vehicles. The goal of this PhD. thesis is to improve SoC reliability by proposing innovative techniques for testing and diagnosing its internal modules: CPUs, memories, peripherals, and GPUs. The proposed approaches in the sequence appearing in this thesis are described as follows: 1. Embedded Memory Diagnosis: Memories are dense and complex circuits which are susceptible to design and manufacturing errors. Hence, it is important to understand the fault occurrence in the memory array. In practice, the logical and physical array representation differs due to an optimized design which adds enhancements to the device, namely scrambling. This part proposes an accurate memory diagnosis by showing the efforts of a software tool able to analyze test results, unscramble the memory array, map failing syndromes to cell locations, elaborate cumulative analysis, and elaborate a final fault model hypothesis. Several SRAM memory failing syndromes were analyzed as case studies gathered on an industrial automotive 32-bit SoC developed by STMicroelectronics. The tool displayed defects virtually, and results were confirmed by real photos taken from a microscope. 2. Functional Test Pattern Generation: The key for a successful test is the pattern applied to the device. They can be structural or functional; the former usually benefits from embedded test modules targeting manufacturing errors and is only effective before shipping the component to the client. The latter, on the other hand, can be applied during mission minimally impacting on performance but is penalized due to high generation time. However, functional test patterns may benefit for having different goals in functional mission mode. Part III of this PhD thesis proposes three different functional test pattern generation methods for CPU cores embedded in SoCs, targeting different test purposes, described as follows: a. Functional Stress Patterns: Are suitable for optimizing functional stress during I Operational-life Tests and Burn-in Screening for an optimal device reliability characterization b. Functional Power Hungry Patterns: Are suitable for determining functional peak power for strictly limiting the power of structural patterns during manufacturing tests, thus reducing premature device over-kill while delivering high test coverage c. Software-Based Self-Test Patterns: Combines the potentiality of structural patterns with functional ones, allowing its execution periodically during mission. In addition, an external hardware communicating with a devised SBST was proposed. It helps increasing in 3% the fault coverage by testing critical Hardly Functionally Testable Faults not covered by conventional SBST patterns. An automatic functional test pattern generation exploiting an evolutionary algorithm maximizing metrics related to stress, power, and fault coverage was employed in the above-mentioned approaches to quickly generate the desired patterns. The approaches were evaluated on two industrial cases developed by STMicroelectronics; 8051-based and a 32-bit Power Architecture SoCs. Results show that generation time was reduced upto 75% in comparison to older methodologies while increasing significantly the desired metrics. 3. Fault Injection in GPGPU: Fault injection mechanisms in semiconductor devices are suitable for generating structural patterns, testing and activating mitigation techniques, and validating robust hardware and software applications. GPGPUs are known for fast parallel computation used in high performance computing and advanced driver assistance where reliability is the key point. Moreover, GPGPU manufacturers do not provide design description code due to content secrecy. Therefore, commercial fault injectors using the GPGPU model is unfeasible, making radiation tests the only resource available, but are costly. In the last part of this thesis, we propose a software implemented fault injector able to inject bit-flip in memory elements of a real GPGPU. It exploits a software debugger tool and combines the C-CUDA grammar to wisely determine fault spots and apply bit-flip operations in program variables. The goal is to validate robust parallel algorithms by studying fault propagation or activating redundancy mechanisms they possibly embed. The effectiveness of the tool was evaluated on two robust applications: redundant parallel matrix multiplication and floating point Fast Fourier Transform

    Delay Measurements and Self Characterisation on FPGAs

    No full text
    This thesis examines new timing measurement methods for self delay characterisation of Field-Programmable Gate Arrays (FPGAs) components and delay measurement of complex circuits on FPGAs. Two novel measurement techniques based on analysis of a circuit's output failure rate and transition probability is proposed for accurate, precise and efficient measurement of propagation delays. The transition probability based method is especially attractive, since it requires no modifications in the circuit-under-test and requires little hardware resources, making it an ideal method for physical delay analysis of FPGA circuits. The relentless advancements in process technology has led to smaller and denser transistors in integrated circuits. While FPGA users benefit from this in terms of increased hardware resources for more complex designs, the actual productivity with FPGA in terms of timing performance (operating frequency, latency and throughput) has lagged behind the potential improvements from the improved technology due to delay variability in FPGA components and the inaccuracy of timing models used in FPGA timing analysis. The ability to measure delay of any arbitrary circuit on FPGA offers many opportunities for on-chip characterisation and physical timing analysis, allowing delay variability to be accurately tracked and variation-aware optimisations to be developed, reducing the productivity gap observed in today's FPGA designs. The measurement techniques are developed into complete self measurement and characterisation platforms in this thesis, demonstrating their practical uses in actual FPGA hardware for cross-chip delay characterisation and accurate delay measurement of both complex combinatorial and sequential circuits, further reinforcing their positions in solving the delay variability problem in FPGAs

    Self-Test Mechanisms for Automotive Multi-Processor System-on-Chips

    Get PDF
    L'abstract è presente nell'allegato / the abstract is in the attachmen

    Testability and redundancy techniques for improved yield and reliability of CMOS VLSI circuits

    Get PDF
    The research presented in this thesis is concerned with the design of fault-tolerant integrated circuits as a contribution to the design of fault-tolerant systems. The economical manufacture of very large area ICs will necessitate the incorporation of fault-tolerance features which are routinely employed in current high density dynamic random access memories. Furthermore, the growing use of ICs in safety-critical applications and/or hostile environments in addition to the prospect of single-chip systems will mandate the use of fault-tolerance for improved reliability. A fault-tolerant IC must be able to detect and correct all possible faults that may affect its operation. The ability of a chip to detect its own faults is not only necessary for fault-tolerance, but it is also regarded as the ultimate solution to the problem of testing. Off-line periodic testing is selected for this research because it achieves better coverage of physical faults and it requires less extra hardware than on-line error detection techniques. Tests for CMOS stuck-open faults are shown to detect all other faults. Simple test sequence generation procedures for the detection of all faults are derived. The test sequences generated by these procedures produce a trivial output, thereby, greatly simplifying the task of test response analysis. A further advantage of the proposed test generation procedures is that they do not require the enumeration of faults. The implementation of built-in self-test is considered and it is shown that the hardware overhead is comparable to that associated with pseudo-random and pseudo-exhaustive techniques while achieving a much higher fault coverage through-the use of the proposed test generation procedures. The consideration of the problem of testing the test circuitry led to the conclusion that complete test coverage may be achieved if separate chips cooperate in testing each other's untested parts. An alternative approach towards complete test coverage would be to design the test circuitry so that it is as distributed as possible and so that it is tested as it performs its function. Fault correction relies on the provision of spare units and a means of reconfiguring the circuit so that the faulty units are discarded. This raises the question of what is the optimum size of a unit? A mathematical model, linking yield and reliability is therefore developed to answer such a question and also to study the effects of such parameters as the amount of redundancy, the size of the additional circuitry required for testing and reconfiguration, and the effect of periodic testing on reliability. The stringent requirement on the size of the reconfiguration logic is illustrated by the application of the model to a typical example. Another important result concerns the effect of periodic testing on reliability. It is shown that periodic off-line testing can achieve approximately the same level of reliability as on-line testing, even when the time between tests is many hundreds of hours

    Accurate and robust spectral testing with relaxed instrumentation requirements

    Get PDF
    Spectral testing has been widely used to characterize the dynamic performances of the electrical signals and devices, such as Analog-to-Digital Converters (ADCs) for many decades. One of the difficulties faced is to accurately and cost-effectively test the continually higher performance devices. Standard test methods can be difficult to implement accurately and cost effectively, due to stringent requirements. To relax these necessary conditions and to reduce test costs, while achieving accurate spectral test results, several new algorithms are developed to perform accurate spectral and linearity test without requiring precise, expensive instruments. In this dissertation, three classes of methods for overcoming the above difficulties are presented. The first class of methods targeted the accurate, single-tone spectral testing. The first method targets the non-coherent sampling issue on spectral testing, especially when the non-coherently sampled signal has large distortions. The second method resolves simultaneous amplitude and frequency drift with non-coherent sampling. The third method achieves accurate linearity results for DAC-ADC co-testing, and generates high-purity sine wave using the nonlinear DAC in the system via pre-distortion. The fourth method targets ultra-pure sine wave generation with two nonlinear DACs, two simple filters, and a nonlinear ADC. These proposed methods are validated by both simulation and measurement results, and have demonstrated their high accuracy and robustness against various test conditions. The second class of methods deals with the accurate multi-tone spectral testing. The first method in this class resolves the non-coherent sampling issue in multi-tone spectral testing. The second method in this class introduces another proposed method to deal with multi-tone impure sources in spectral testing. The third method generates the multi-tone sine wave with minimum peak-to-average power ratio, which can be implemented in many applications, such as spectral testing and signal analysis. Similarly, simulation and measurement results validate the functionality and robustness of these proposed methods. Finally, the third class introduces two proposed methods to accurately test linearity characteristics of high-performance ADCs using low purity sinusoidal or ramp stimulus in the presence of flicker noise. Extensive simulation results have verified their effectiveness to reduce flicker noise influence and achieve accurate linearity results

    Contributions to the detection and diagnosis of soft errors in radiation environments

    Get PDF
    Texto completo descargado desde Teseo1. Introducción Los efectos de la radiación ionizante sobre dispositivos semiconductores es objeto de estudio desde la invención del transistor bipolar en 1947. El espacio es un entorno de alta radiación, como pusieron de manifiesto los primeros satélites puestos en órbita, y fue durante la carrera espacial de los años 50 cuando se impulsó el estudio de errores generados en componentes electrónicos críticos a bordo de las primeras misiones espaciales. La necesidad de robustecer la electrónica frente a la radiación ha estado siempre presente en el sector aeroespacial, además, el progresivo escalado de las tecnologías microelectrónicas, hace que el problema sea cada vez más acuciante, afectando incluso a dispositivos que operan a nivel del mar. El advenimiento de tecnologías nanométricas augura que serán necesarias nuevas y más eficaces técnicas de robustecimiento que garanticen la fiabilidad de equipos electrónicos críticos en sectores tan importantes como la aviación, automoción o energía nuclear. Existen dos métodos de robustecimiento para los dispositivos electrónicos, por proceso y por diseño. En el primer caso, el circuito integrado es fabricado en una tecnología que presenta baja sensibilidad a los efectos de la radiación, como la ampliamente utilizada SOI (Silicon On Insulator). En el segundo caso, el circuito presenta topologías en su diseño que mitigan en mayor o menor grado el daño por radiación. La efectividad de cualquier medida de protección debe ser validada en el correspondiente ensayo de radiación de acuerdo a los estándares vigentes (ESA, NASA, JEDEC, AEC,...). Existen varios tipos de daño por radiación, asociados a dosis acumulada (TID) y a eventos únicos (SEE), fundamentalmente. Estos últimos están asociados al paso de una única partícula energética a través del dispositivo, que genera una estela de carga y puede dar lugar a respuestas eléctricas no deseadas, como conmutación 2 2 Antecedentes de biestables, enclavamiento de un bit o excursiones de voltaje transitorias. A su vez, dentro de los errores asociados a eventos únicos se puede distinguir entre daños físicos, que pueden destruir el dispositivo de manera irreversible, y errores lógicos o soft errors que conllevan la corrupción del estado de un circuito digital, por ejemplo por la conmutación del valor lógico de un biestable. Los tests en aceleradores de partículas o con fuentes radiactivas, se consideran los ensayos más representativos para conocer la inmunidad de un componente frente al daño de tipo SEE. Sin embargo, la complejidad de estos ensayos dificulta la observabilidad experimental y la interpretación de los resultados obtenidos. En particular los tests dinámicos, que implican que el chip esté operando durante la irradiacón, comportan una dificultad añadida a la hora de interpretar los errores observados en las salidas del circuito. El test dinámico de radiación es el más realista, ya que introduce la variable temporal en el experimento y da lugar a efectos reales que no son reproducibles en condiciones estáticas, como el evento único transitorio (SET). El trabajo a realizar durante esta tesis pretende aportar una metodología de test que mejore la observabilidad de errores lógicos en un test dinámico de radiación de circuitos digitales mediante detección y diagnóstico en tiempo real. 2. Antecedentes La experiencia investigadora del grupo al que pertenece el autor de esta tesis en el campo de los efectos de la radiación sobre dispositivos electrónicos, ha puesto de manifiesto la necesidad de establecer una metodología que permita el diagnóstico de los errores observados en un componente electrónico sometido a radiación ionizante. Generalmente, no es posible correlacionar con certeza el efecto (anomalía detectada en los puertos de salida) con la causa del mismo. La complejidad inherente a la instrumentación de un ensayo de radiación en un acelerador 3 3 Hipótesis y Objetivos de partículas, así como la propia comlejidad del circuito bajo estudio, requieren algún criterio de clasificación de los errores observados que pueden ser de muy diversa naturaleza. Algunos autores han aportado técnicas que combinan inyección de fallos dinámica con test en acelerador estáticos para estimar la probabilidad de fallo real del circuito, salvando la complejidad del test de radiación dinámico. La protección selectiva, consistente en adoptar topologías de diseño robustas en ¿puntos calientes¿ o críticos del circuito, requiere técnicas de ensayo que permita el diagnóstico y localización del daño por radiación. El uso de microsondas nucleares permite la focalización de un haz de iones en una región relativamente pequeña, facilitando el diagnóstico. La disponibilidad de uso de la microsonda nuclear en el Centro Nacional de Aceleradores puede contribuir al desarrollo de la técnica de detección y diagnóstico que es objeto de esta tesis. La curva de sección eficaz de fallo SEE es la forma más extendida de representación de resultados de experimentación. Estas curvas representan una colección de datos experimentales que deben ser minuciosamente clasificados. Lo mismo ocurre en los tests destinados a evaluar la tasa de errores lógicos en tiempo real (RTSER). En este sentido, la norma JEDEC JESD89-1A recomienda que se sigan ¿criterios de fallo¿ para la correcta identificación de los errores detectados a la salida de un circuito en tests de radiación. 3. Hipótesis y Objetivos El grupo de investigación al que pertenece el doctorando, posee una contrastada experiencia en el uso de emuladores hardware para la evaluación temprana de la robustez de diseños digitales ante errores lógicos. Estos emuladores inyectan fallos en la netlist de un diseño digital y estudian la evolución del estado del circuito durante la ejecución de un conjunto de estímulos. La principal ventaja de estas herramientas frente a la simulación, radica en la aceleración hardware de los 4 3 Hipótesis y Objetivos tests que permite la finalización de campañas de inyección masivas en un tiempo relativamente corto. Las campañas masivas o sistemáticas de inyección de fallos permiten comprobar de forma exhaustiva la respuesta de un diseño digital a un entorno de alta radiación. Estas campañas arrojan una ingente cantidad de información acerca de las vulnerabilidades del diseño que debe ser procesada generalmente de forma estadística. La correlación entre el instante y lugar de inyección del fallo emulado y la respuesta del mismo, sería una información que permitiría establecer la causa de un error (comportamiento anómalo) observado durante un test de radiación, donde generalmente sólo están accesibles las salidas del dispositivo. Los resultados de una campaña de inyección dependen, además del diseño bajo test, del conjunto de estímulos aplicado (workload). A partir de los resultados de la campaña de inyección masiva, se puede realizar un estudio estadístico que determine la calidad de los vectores de test desde el punto de vista del diagnóstico. Es de esperar que diferentes fallos inyectados compartan la misma firma, de manera que en caso de obtener dicha firma en un test de radiación, sea imposible determinar exactamente el punto de inyección del fallo. A la hora de preparar un test de radiación, es recomendable emplear vectores de test que garanticen que la certidumbre del diagnóstico sea máxima, lo cual es un aporte adicional de la tesis. Esta tesis pretende establecer un procedimiento que permita obtener ¿diccionarios de fallos¿ en los que se establece una correlación entre el punto de inyección y la respuesta del circuito codificada en una firma de pocos bytes. Durante un test de radiación se pueden obtener en tiempo real las firmas generadas por el circuito, que servirán para diagnosticar en cada caso el origen del daño empleando los diccionarios de fallos previamente generados en un emulador hardware. En el supuesto de que la firma generada durante la irradiación no estuviera contenida en un diccionario exhaustivo, se puede decir que el error no ha sido originado por el 5 4 Metodología y Trabajo Realizado modelo de fallo empleado en la generación del diccionario, debiéndose por tanto a un tipo de daño no contemplado (por ejemplo daño físico). La culminación de la tesis es el test de radiación en un acelerador de partículas. La Universidad de Sevilla cuenta con las instalaciones del Centro Nacional de Aceleradores, que puede ser un banco de pruebas idóneo para comprobar la validez de la metodología y comprobar las ventajas e inconvenientes de la misma. 4. Metodología y Trabajo Realizado El plan de trabajo incluyó los siguientes hitos en el orden expuesto: Estudio de la base de conocimiento genérica relacionada con los efectos de la radiación en circuitos electrónicos Análisis del Estado del Arte en técnicas de inyección de fallos en circuitos digitales. Recopilación de normas y estándares relacionados con los test radiación de componentes electrónicos. Estudio simulado de bajo nivel de los efectos de la radiación en tecnologías submicrométricas. Selección de un módulo adecuado para creación de firmas a partir de las salidas de un circuito digital. Adecuación del emulador hardware FT-UNSHADES para la generación de firmas durante las campañas de inyección. Selección de un vehículo de test para el experimento en la microsonda nuclear del CNA. 6 4 Metodología y Trabajo Realizado Realización de campañas de inyección masivas para la generación de diccionarios de fallos sobre diseños digitales y análisis de resultados. Preparación del setup experimental para el acelerador de partículas. Experimento en la microsonda nuclear del CNA y análisis de resultados. El estudio bibliográfico de la base de conocimiento en el campo de los efectos de la radiación sobre circuitos electrónicos ha sido fundamental para poder establecer el ámbito de aplicación de la tesis. El papel de la emulación hardware para inyección de fallos en esta investigación fue crítica y ha sido necesario un estudio de las plataformas existentes para entender qué puede aportar cada herramienta. Para acabar con la documentación, es necesario además recopilar las normas y estándares relacionados con test de radiación de circuitos electrónicos. La simulación de bajo nivel de los efectos de la radiación sobre una determinada tecnología engloba herramientas como SPICE, SRIM y TCAD. Estas simulaciones permiten estimar cuales deben ser las características del haz de iones empleado en un futuro ensayo en el acelerador de partículas. Los resultados de estas simulaciones fueron discutidos con los técnicos del acelerador para estudiar la viabilidad de los parámetros deseados. Un elemento clave en la metodología fue el bloque que debe generar las firmas a partir de las salidas del circuito digital. Es deseable que se trate de un módulo sencillo y que pueda ser implementado en un dispositivo programable sin suponer un consumo excesivo de recursos. El emulador FT-UNSHADES fue adaptado par incorporar el módulo de firmas. Se dispuso de un circuito integrado que servió vehículo de test para un experimento en el CNA. Es necesaria además la descripción VHDL del mismo para su emulación en FT-UNSHADES. No es objeto de esta tesis el desarrollo de este componente, su diseño y fabricación está fuera del alcance de esta tesis. Se gener- 7 4 Metodología y Trabajo Realizado aron diccionarios de fallos del vehículo de tests y de otros diseños digitales y, a partir de estos diccionarios, se han confeccionado estudios estadísticos de diagnóstico. En una fase ulterior, se desarrolló el hardware necesario para el setup experimental. Todo el hardware se probó en el laboratorio, antes de acudir al CNA. El resultado de esta etapa es la configuración del equipamiento de test automático (ATE) que se encargó de introducir estímulos en el chip y monitorizarlo durante el experimento en el acelerador de partículas. Finalmente, se llevó a cabo un experimento en el Centro Nacional de Aceleradores sobre el vehículo de test elegido para completar una prueba de concepto de la metodología propuesta.

    Design and debugging of multi-step analog to digital converters

    Get PDF
    With the fast advancement of CMOS fabrication technology, more and more signal-processing functions are implemented in the digital domain for a lower cost, lower power consumption, higher yield, and higher re-configurability. The trend of increasing integration level for integrated circuits has forced the A/D converter interface to reside on the same silicon in complex mixed-signal ICs containing mostly digital blocks for DSP and control. However, specifications of the converters in various applications emphasize high dynamic range and low spurious spectral performance. It is nontrivial to achieve this level of linearity in a monolithic environment where post-fabrication component trimming or calibration is cumbersome to implement for certain applications or/and for cost and manufacturability reasons. Additionally, as CMOS integrated circuits are accomplishing unprecedented integration levels, potential problems associated with device scaling – the short-channel effects – are also looming large as technology strides into the deep-submicron regime. The A/D conversion process involves sampling the applied analog input signal and quantizing it to its digital representation by comparing it to reference voltages before further signal processing in subsequent digital systems. Depending on how these functions are combined, different A/D converter architectures can be implemented with different requirements on each function. Practical realizations show the trend that to a first order, converter power is directly proportional to sampling rate. However, power dissipation required becomes nonlinear as the speed capabilities of a process technology are pushed to the limit. Pipeline and two-step/multi-step converters tend to be the most efficient at achieving a given resolution and sampling rate specification. This thesis is in a sense unique work as it covers the whole spectrum of design, test, debugging and calibration of multi-step A/D converters; it incorporates development of circuit techniques and algorithms to enhance the resolution and attainable sample rate of an A/D converter and to enhance testing and debugging potential to detect errors dynamically, to isolate and confine faults, and to recover and compensate for the errors continuously. The power proficiency for high resolution of multi-step converter by combining parallelism and calibration and exploiting low-voltage circuit techniques is demonstrated with a 1.8 V, 12-bit, 80 MS/s, 100 mW analog to-digital converter fabricated in five-metal layers 0.18-µm CMOS process. Lower power supply voltages significantly reduce noise margins and increase variations in process, device and design parameters. Consequently, it is steadily more difficult to control the fabrication process precisely enough to maintain uniformity. Microscopic particles present in the manufacturing environment and slight variations in the parameters of manufacturing steps can all lead to the geometrical and electrical properties of an IC to deviate from those generated at the end of the design process. Those defects can cause various types of malfunctioning, depending on the IC topology and the nature of the defect. To relive the burden placed on IC design and manufacturing originated with ever-increasing costs associated with testing and debugging of complex mixed-signal electronic systems, several circuit techniques and algorithms are developed and incorporated in proposed ATPG, DfT and BIST methodologies. Process variation cannot be solved by improving manufacturing tolerances; variability must be reduced by new device technology or managed by design in order for scaling to continue. Similarly, within-die performance variation also imposes new challenges for test methods. With the use of dedicated sensors, which exploit knowledge of the circuit structure and the specific defect mechanisms, the method described in this thesis facilitates early and fast identification of excessive process parameter variation effects. The expectation-maximization algorithm makes the estimation problem more tractable and also yields good estimates of the parameters for small sample sizes. To allow the test guidance with the information obtained through monitoring process variations implemented adjusted support vector machine classifier simultaneously minimize the empirical classification error and maximize the geometric margin. On a positive note, the use of digital enhancing calibration techniques reduces the need for expensive technologies with special fabrication steps. Indeed, the extra cost of digital processing is normally affordable as the use of submicron mixed signal technologies allows for efficient usage of silicon area even for relatively complex algorithms. Employed adaptive filtering algorithm for error estimation offers the small number of operations per iteration and does not require correlation function calculation nor matrix inversions. The presented foreground calibration algorithm does not need any dedicated test signal and does not require a part of the conversion time. It works continuously and with every signal applied to the A/D converter. The feasibility of the method for on-line and off-line debugging and calibration has been verified by experimental measurements from the silicon prototype fabricated in standard single poly, six metal 0.09-µm CMOS process

    Low-cost and efficient fault detection and diagnosis schemes for modern cores

    Get PDF
    Continuous improvements in transistor scaling together with microarchitectural advances have made possible the widespread adoption of high-performance processors across all market segments. However, the growing reliability threats induced by technology scaling and by the complexity of designs are challenging the production of cheap yet robust systems. Soft error trends are haunting, especially for combinational logic, and parity and ECC codes are therefore becoming insufficient as combinational logic turns into the dominant source of soft errors. Furthermore, experts are warning about the need to also address intermittent and permanent faults during processor runtime, as increasing temperatures and device variations will accelerate inherent aging phenomena. These challenges specially threaten the commodity segments, which impose requirements that existing fault tolerance mechanisms cannot offer. Current techniques based on redundant execution were devised in a time when high penalties were assumed for the sake of high reliability levels. Novel light-weight techniques are therefore needed to enable fault protection in the mass market segments. The complexity of designs is making post-silicon validation extremely expensive. Validation costs exceed design costs, and the number of discovered bugs is growing, both during validation and once products hit the market. Fault localization and diagnosis are the biggest bottlenecks, magnified by huge detection latencies, limited internal observability, and costly server farms to generate test outputs. This thesis explores two directions to address some of the critical challenges introduced by unreliable technologies and by the limitations of current validation approaches. We first explore mechanisms for comprehensively detecting multiple sources of failures in modern processors during their lifetime (including transient, intermittent, permanent and also design bugs). Our solutions embrace a paradigm where fault tolerance is built based on exploiting high-level microarchitectural invariants that are reusable across designs, rather than relying on re-execution or ad-hoc block-level protection. To do so, we decompose the basic functionalities of processors into high-level tasks and propose three novel runtime verification solutions that combined enable global error detection: a computation/register dataflow checker, a memory dataflow checker, and a control flow checker. The techniques use the concept of end-to-end signatures and allow designers to adjust the fault coverage to their needs, by trading-off area, power and performance. Our fault injection studies reveal that our methods provide high coverage levels while causing significantly lower performance, power and area costs than existing techniques. Then, this thesis extends the applicability of the proposed error detection schemes to the validation phases. We present a fault localization and diagnosis solution for the memory dataflow by combining our error detection mechanism, a new low-cost logging mechanism and a diagnosis program. Selected internal activity is continuously traced and kept in a memory-resident log whose capacity can be expanded to suite validation needs. The solution can catch undiscovered bugs, reducing the dependence on simulation farms that compute golden outputs. Upon error detection, the diagnosis algorithm analyzes the log to automatically locate the bug, and also to determine its root cause. Our evaluations show that very high localization coverage and diagnosis accuracy can be obtained at very low performance and area costs. The net result is a simplification of current debugging practices, which are extremely manual, time consuming and cumbersome. Altogether, the integrated solutions proposed in this thesis capacitate the industry to deliver more reliable and correct processors as technology evolves into more complex designs and more vulnerable transistors.El continuo escalado de los transistores junto con los avances microarquitectónicos han posibilitado la presencia de potentes procesadores en todos los segmentos de mercado. Sin embargo, varios problemas de fiabilidad están desafiando la producción de sistemas robustos. Las predicciones de "soft errors" son inquietantes, especialmente para la lógica combinacional: soluciones como ECC o paridad se están volviendo insuficientes a medida que dicha lógica se convierte en la fuente predominante de soft errors. Además, los expertos están alertando acerca de la necesidad de detectar otras fuentes de fallos (causantes de errores permanentes e intermitentes) durante el tiempo de vida de los procesadores. Los segmentos "commodity" son los más vulnerables, ya que imponen unos requisitos que las técnicas actuales de fiabilidad no ofrecen. Estas soluciones (generalmente basadas en re-ejecución) fueron ideadas en un tiempo en el que con tal de alcanzar altos nivel de fiabilidad se asumían grandes costes. Son por tanto necesarias nuevas técnicas que permitan la protección contra fallos en los segmentos más populares. La complejidad de los diseños está encareciendo la validación "post-silicon". Su coste excede el de diseño, y el número de errores descubiertos está aumentando durante la validación y ya en manos de los clientes. La localización y el diagnóstico de errores son los mayores problemas, empeorados por las altas latencias en la manifestación de errores, por la poca observabilidad interna y por el coste de generar las señales esperadas. Esta tesis explora dos direcciones para tratar algunos de los retos causados por la creciente vulnerabilidad hardware y por las limitaciones de los enfoques de validación. Primero exploramos mecanismos para detectar múltiples fuentes de fallos durante el tiempo de vida de los procesadores (errores transitorios, intermitentes, permanentes y de diseño). Nuestras soluciones son de un paradigma donde la fiabilidad se construye explotando invariantes microarquitectónicos genéricos, en lugar de basarse en re-ejecución o en protección ad-hoc. Para ello descomponemos las funcionalidades básicas de un procesador y proponemos tres soluciones de `runtime verification' que combinadas permiten una detección de errores a nivel global. Estas tres soluciones son: un verificador de flujo de datos de registro y de computación, un verificador de flujo de datos de memoria y un verificador de flujo de control. Nuestras técnicas usan el concepto de firmas y permiten a los diseñadores ajustar los niveles de protección a sus necesidades, mediante compensaciones en área, consumo energético y rendimiento. Nuestros estudios de inyección de errores revelan que los métodos propuestos obtienen altos niveles de protección, a la vez que causan menos costes que las soluciones existentes. A continuación, esta tesis explora la aplicabilidad de estos esquemas a las fases de validación. Proponemos una solución de localización y diagnóstico de errores para el flujo de datos de memoria que combina nuestro mecanismo de detección de errores, junto con un mecanismo de logging de bajo coste y un programa de diagnóstico. Cierta actividad interna es continuamente registrada en una zona de memoria cuya capacidad puede ser expandida para satisfacer las necesidades de validación. La solución permite descubrir bugs, reduciendo la necesidad de calcular los resultados esperados. Al detectar un error, el algoritmo de diagnóstico analiza el registro para automáticamente localizar el bug y determinar su causa. Nuestros estudios muestran un alto grado de localización y de precisión de diagnóstico a un coste muy bajo de rendimiento y área. El resultado es una simplificación de las prácticas actuales de depuración, que son enormemente manuales, incómodas y largas. En conjunto, las soluciones de esta tesis capacitan a la industria a producir procesadores más fiables, a medida que la tecnología evoluciona hacia diseños más complejos y más vulnerables
    corecore