46 research outputs found

    Degradation in FPGAs: Monitoring, Modeling and Mitigation

    Get PDF
    This dissertation targets the transistor aging degradation as well as the associated thermal challenges in FPGAs (since there is an exponential relation between aging and chip temperature). The main objectives are to perform experimentation, analysis and device-level model abstraction for modeling the degradation in FPGAs, then to monitor the FPGA to keep track of aging rates and ultimately to propose an aging-aware FPGA design flow to mitigate the aging

    Digital Circuit Design Using Floating Gate Transistors

    Get PDF
    Floating gate (flash) transistors are used exclusively for memory applications today. These applications include SD cards of various form factors, USB flash drives and SSDs. In this thesis, we explore the use of flash transistors to implement digital logic circuits. Since the threshold voltage of flash transistors can be modified at a fine granularity during programming, several advantages are obtained by our flash-based digital circuit design approach. For one, speed binning at the factory can be controlled with precision. Secondly, an IC can be re-programmed in the field, to negate effects such as aging, which has been a significant problem in recent times, particularly for mission-critical applications. Thirdly, unlike a regular MOSFET, which has one threshold voltage level, a flash transistor can have multiple threshold voltage levels. The benefit of having multiple threshold voltage levels in a flash transistor is that it allows the ability to encode more symbols in each device, unlike a regular MOSFET. This allows us to implement multi-valued logic functions natively. In this thesis, we evaluate different flash-based digital circuit design approaches and compare their performance with a traditional CMOS standard cell-based design approach. We begin by evaluating our design approach at the cell level to optimize the design鈥檚 delay, power energy and physical area characteristics. The flash-based approach is demonstrated to be better than the CMOS standard cell approach, for these performance metrics. Afterwards, we present the performance of our design approach at the block level. We describe a synthesis flow to decompose a circuit block into a network of interconnected flash-based circuit cells. We also describe techniques to optimize the resulting network of flash-based circuit cells using don鈥檛 cares. Our optimization approach distinguishes itself from other optimization techniques that use don鈥檛 cares, since it a) targets a flash-based design flow, b) optimizes clusters of logic nodes at once instead of one node at a time, c) attempts to reduce the number of cubes instead of reducing the number of literals in each cube and d) performs optimization on the post-technology mapped netlist which results in a direct improvement in result quality, as compared to pre-technology mapping logic optimization that is typically done in the literature. The resulting network characteristics (delay, power, energy and physical area) are presented. These results are compared with a standard cell-based realization of the same block (obtained using commercial tools) and we demonstrate significant improvements in all the design metrics. We also study flash-based FPGA designs (both static and dynamic), and present the tradeoff of delay, power dissipation and energy consumption of the various designs. Our work differs from previously proposed flash-based FPGAs, since we embed the flash transistors (which store the configuration bits) directly within the logic and interconnect fabrics. We also present a detailed description of how the programming of the configuration bits is accomplished, for all the proposed designs

    Digital Circuit Design Using Floating Gate Transistors

    Get PDF
    Floating gate (flash) transistors are used exclusively for memory applications today. These applications include SD cards of various form factors, USB flash drives and SSDs. In this thesis, we explore the use of flash transistors to implement digital logic circuits. Since the threshold voltage of flash transistors can be modified at a fine granularity during programming, several advantages are obtained by our flash-based digital circuit design approach. For one, speed binning at the factory can be controlled with precision. Secondly, an IC can be re-programmed in the field, to negate effects such as aging, which has been a significant problem in recent times, particularly for mission-critical applications. Thirdly, unlike a regular MOSFET, which has one threshold voltage level, a flash transistor can have multiple threshold voltage levels. The benefit of having multiple threshold voltage levels in a flash transistor is that it allows the ability to encode more symbols in each device, unlike a regular MOSFET. This allows us to implement multi-valued logic functions natively. In this thesis, we evaluate different flash-based digital circuit design approaches and compare their performance with a traditional CMOS standard cell-based design approach. We begin by evaluating our design approach at the cell level to optimize the design鈥檚 delay, power energy and physical area characteristics. The flash-based approach is demonstrated to be better than the CMOS standard cell approach, for these performance metrics. Afterwards, we present the performance of our design approach at the block level. We describe a synthesis flow to decompose a circuit block into a network of interconnected flash-based circuit cells. We also describe techniques to optimize the resulting network of flash-based circuit cells using don鈥檛 cares. Our optimization approach distinguishes itself from other optimization techniques that use don鈥檛 cares, since it a) targets a flash-based design flow, b) optimizes clusters of logic nodes at once instead of one node at a time, c) attempts to reduce the number of cubes instead of reducing the number of literals in each cube and d) performs optimization on the post-technology mapped netlist which results in a direct improvement in result quality, as compared to pre-technology mapping logic optimization that is typically done in the literature. The resulting network characteristics (delay, power, energy and physical area) are presented. These results are compared with a standard cell-based realization of the same block (obtained using commercial tools) and we demonstrate significant improvements in all the design metrics. We also study flash-based FPGA designs (both static and dynamic), and present the tradeoff of delay, power dissipation and energy consumption of the various designs. Our work differs from previously proposed flash-based FPGAs, since we embed the flash transistors (which store the configuration bits) directly within the logic and interconnect fabrics. We also present a detailed description of how the programming of the configuration bits is accomplished, for all the proposed designs

    Self-healing concepts involving fine-grained redundancy for electronic systems

    Get PDF
    The start of the digital revolution came through the metal-oxide-semiconductor field-effect transistor (MOSFET) in 1959 followed by massive integration onto a silicon die by means of constant down scaling of individual components. Digital systems for certain applications require fault-tolerance against faults caused by temporary or permanent influence. The most widely used technique is triple module redundancy (TMR) in conjunction with a majority voter, which is regarded as a passive fault mitigation strategy. Design by functional resilience has been applied to circuit structures for increased fault-tolerance and towards self-diagnostic triggered self-healing. The focus of this thesis is therefore to develop new design strategies for fault detection and mitigation within transistor, gate and cell design levels. The research described in this thesis makes three contributions. The first contribution is based on adding fine-grained transistor level redundancy to logic gates in order to accomplish stuck-at fault-tolerance. The objective is to realise maximum fault-masking for a logic gate with minimal added redundant transistors. In the case of non-maskable stuck-at faults, the gate structure generates an intrinsic indication signal that is suitable for autonomous self-healing functions. As a result, logic circuitry utilising this design is now able to differentiate between gate faults and faults occurring in inter-gate connections. This distinction between fault-types can then be used for triggering selective self-healing responses. The second contribution is a logic matrix element which applies the three core redundancy concepts of spatial- temporal- and data-redundancy. This logic structure is composed of quad-modular redundant structures and is capable of selective fault-masking and localisation depending of fault-type at the cell level, which is referred to as a spatiotemporal quadded logic cell (QLC) structure. This QLC structure has the capability of cellular self-healing. Through the combination of fault-tolerant and masking logic features the QLC is designed with a fault-behaviour that is equal to existing quadded logic designs using only 33.3% of the equivalent transistor resources. The inherent self-diagnosing feature of QLC is capable of identifying individual faulty cells and can trigger self-healing features. The final contribution is focused on the conversion of finite state machines (FSM) into memory to achieve better state transition timing, minimal memory utilisation and fault protection compared to common FSM designs. A novel implementation based on content-addressable type memory (CAM) is used to achieve this. The FSM is further enhanced by creating the design out of logic gates of the first contribution by achieving stuck-at fault resilience. Applying cross-data parity checking, the FSM becomes equipped with single bit fault detection and correction

    Dependability-driven Strategies to Improve the Design and Verification of Safety-Critical HDL-based Embedded Systems

    Full text link
    [ES] La utilizaci贸n de sistemas empotrados en cada vez m谩s 谩mbitos de aplicaci贸n est谩 llevando a que su dise帽o deba enfrentarse a mayores requisitos de rendimiento, consumo de energ铆a y 谩rea (PPA). Asimismo, su utilizaci贸n en aplicaciones cr铆ticas provoca que deban cumplir con estrictos requisitos de confiabilidad para garantizar su correcto funcionamiento durante per铆odos prolongados de tiempo. En particular, el uso de dispositivos l贸gicos programables de tipo FPGA es un gran desaf铆o desde la perspectiva de la confiabilidad, ya que estos dispositivos son muy sensibles a la radiaci贸n. Por todo ello, la confiabilidad debe considerarse como uno de los criterios principales para la toma de decisiones a lo largo del todo flujo de dise帽o, que debe complementarse con diversos procesos que permitan alcanzar estrictos requisitos de confiabilidad. Primero, la evaluaci贸n de la robustez del dise帽o permite identificar sus puntos d茅biles, guiando as铆 la definici贸n de mecanismos de tolerancia a fallos. Segundo, la eficacia de los mecanismos definidos debe validarse experimentalmente. Tercero, la evaluaci贸n comparativa de la confiabilidad permite a los dise帽adores seleccionar los componentes predise帽ados (IP), las tecnolog铆as de implementaci贸n y las herramientas de dise帽o (EDA) m谩s adecuadas desde la perspectiva de la confiabilidad. Por 煤ltimo, la exploraci贸n del espacio de dise帽o (DSE) permite configurar de manera 贸ptima los componentes y las herramientas seleccionados, mejorando as铆 la confiabilidad y las m茅tricas PPA de la implementaci贸n resultante. Todos los procesos anteriormente mencionados se basan en t茅cnicas de inyecci贸n de fallos para evaluar la robustez del sistema dise帽ado. A pesar de que existe una amplia variedad de t茅cnicas de inyecci贸n de fallos, varias problemas a煤n deben abordarse para cubrir las necesidades planteadas en el flujo de dise帽o. Aquellas soluciones basadas en simulaci贸n (SBFI) deben adaptarse a los modelos de nivel de implementaci贸n, teniendo en cuenta la arquitectura de los diversos componentes de la tecnolog铆a utilizada. Las t茅cnicas de inyecci贸n de fallos basadas en FPGAs (FFI) deben abordar problemas relacionados con la granularidad del an谩lisis para poder localizar los puntos d茅biles del dise帽o. Otro desaf铆o es la reducci贸n del coste temporal de los experimentos de inyecci贸n de fallos. Debido a la alta complejidad de los dise帽os actuales, el tiempo experimental dedicado a la evaluaci贸n de la confiabilidad puede ser excesivo incluso en aquellos escenarios m谩s simples, mientras que puede ser inviable en aquellos procesos relacionados con la evaluaci贸n de m煤ltiples configuraciones alternativas del dise帽o. Por 煤ltimo, estos procesos orientados a la confiabilidad carecen de un soporte instrumental que permita cubrir el flujo de dise帽o con toda su variedad de lenguajes de descripci贸n de hardware, tecnolog铆as de implementaci贸n y herramientas de dise帽o. Esta tesis aborda los retos anteriormente mencionados con el fin de integrar, de manera eficaz, estos procesos orientados a la confiabilidad en el flujo de dise帽o. Primeramente, se proponen nuevos m茅todos de inyecci贸n de fallos que permiten una evaluaci贸n de la confiabilidad, precisa y detallada, en diferentes niveles del flujo de dise帽o. Segundo, se definen nuevas t茅cnicas para la aceleraci贸n de los experimentos de inyecci贸n que mejoran su coste temporal. Tercero, se define dos estrategias DSE que permiten configurar de manera 贸ptima (desde la perspectiva de la confiabilidad) los componentes IP y las herramientas EDA, con un coste experimental m铆nimo. Cuarto, se propone un kit de herramientas que automatiza e incorpora con eficacia los procesos orientados a la confiabilidad en el flujo de dise帽o semicustom. Finalmente, se demuestra la utilidad y eficacia de las propuestas mediante un caso de estudio en el que se implementan tres procesadores empotrados en un FPGA de Xilinx serie 7.[CA] La utilitzaci贸 de sistemes encastats en cada vegada m茅s 脿mbits d'aplicaci贸 est脿 portant al fet que el seu disseny haja d'enfrontar-se a majors requisits de rendiment, consum d'energia i 脿rea (PPA). Aix铆 mateix, la seua utilitzaci贸 en aplicacions cr铆tiques provoca que hagen de complir amb estrictes requisits de confiabilitat per a garantir el seu correcte funcionament durant per铆odes prolongats de temps. En particular, l'煤s de dispositius l貌gics programables de tipus FPGA 茅s un gran desafiament des de la perspectiva de la confiabilitat, ja que aquests dispositius s贸n molt sensibles a la radiaci贸. Per tot aix貌, la confiabilitat ha de considerar-se com un dels criteris principals per a la presa de decisions al llarg del tot flux de disseny, que ha de complementar-se amb diversos processos que permeten aconseguir estrictes requisits de confiabilitat. Primer, l'avaluaci贸 de la robustesa del disseny permet identificar els seus punts febles, guiant aix铆 la definici贸 de mecanismes de toler脿ncia a fallades. Segon, l'efic脿cia dels mecanismes definits ha de validar-se experimentalment. Tercer, l'avaluaci贸 comparativa de la confiabilitat permet als dissenyadors seleccionar els components predissenyats (IP), les tecnologies d'implementaci贸 i les eines de disseny (EDA) m茅s adequades des de la perspectiva de la confiabilitat. Finalment, l'exploraci贸 de l'espai de disseny (DSE) permet configurar de manera 貌ptima els components i les eines seleccionats, millorant aix铆 la confiabilitat i les m猫triques PPA de la implementaci贸 resultant. Tots els processos anteriorment esmentats es basen en t猫cniques d'injecci贸 de fallades per a poder avaluar la robustesa del sistema dissenyat. A pesar que existeix una 脿mplia varietat de t猫cniques d'injecci贸 de fallades, diverses problemes encara han d'abordar-se per a cobrir les necessitats plantejades en el flux de disseny. Aquelles solucions basades en simulaci贸 (SBFI) han d'adaptar-se als models de nivell d'implementaci贸, tenint en compte l'arquitectura dels diversos components de la tecnologia utilitzada. Les t猫cniques d'injecci贸 de fallades basades en FPGAs (FFI) han d'abordar problemes relacionats amb la granularitat de l'an脿lisi per a poder localitzar els punts febles del disseny. Un altre desafiament 茅s la reducci贸 del cost temporal dels experiments d'injecci贸 de fallades. A causa de l'alta complexitat dels dissenys actuals, el temps experimental dedicat a l'avaluaci贸 de la confiabilitat pot ser excessiu fins i tot en aquells escenaris m茅s simples, mentre que pot ser inviable en aquells processos relacionats amb l'avaluaci贸 de m煤ltiples configuracions alternatives del disseny. Finalment, aquests processos orientats a la confiabilitat manquen d'un suport instrumental que permeta cobrir el flux de disseny amb tota la seua varietat de llenguatges de descripci贸 de maquinari, tecnologies d'implementaci贸 i eines de disseny. Aquesta tesi aborda els reptes anteriorment esmentats amb la finalitat d'integrar, de manera efica莽, aquests processos orientats a la confiabilitat en el flux de disseny. Primerament, es proposen nous m猫todes d'injecci贸 de fallades que permeten una avaluaci贸 de la confiabilitat, precisa i detallada, en diferents nivells del flux de disseny. Segon, es defineixen noves t猫cniques per a l'acceleraci贸 dels experiments d'injecci贸 que milloren el seu cost temporal. Tercer, es defineix dues estrat猫gies DSE que permeten configurar de manera 貌ptima (des de la perspectiva de la confiabilitat) els components IP i les eines EDA, amb un cost experimental m铆nim. Quart, es proposa un kit d'eines (DAVOS) que automatitza i incorpora amb efic脿cia els processos orientats a la confiabilitat en el flux de disseny semicustom. Finalment, es demostra la utilitat i efic脿cia de les propostes mitjan莽ant un cas d'estudi en el qual s'implementen tres processadors encastats en un FPGA de Xilinx serie 7.[EN] Embedded systems are steadily extending their application areas, dealing with increasing requirements in performance, power consumption, and area (PPA). Whenever embedded systems are used in safety-critical applications, they must also meet rigorous dependability requirements to guarantee their correct operation during an extended period of time. Meeting these requirements is especially challenging for those systems that are based on Field Programmable Gate Arrays (FPGAs), since they are very susceptible to Single Event Upsets. This leads to increased dependability threats, especially in harsh environments. In such a way, dependability should be considered as one of the primary criteria for decision making throughout the whole design flow, which should be complemented by several dependability-driven processes. First, dependability assessment quantifies the robustness of hardware designs against faults and identifies their weak points. Second, dependability-driven verification ensures the correctness and efficiency of fault mitigation mechanisms. Third, dependability benchmarking allows designers to select (from a dependability perspective) the most suitable IP cores, implementation technologies, and electronic design automation (EDA) tools. Finally, dependability-aware design space exploration (DSE) allows to optimally configure the selected IP cores and EDA tools to improve as much as possible the dependability and PPA features of resulting implementations. The aforementioned processes rely on fault injection testing to quantify the robustness of the designed systems. Despite nowadays there exists a wide variety of fault injection solutions, several important problems still should be addressed to better cover the needs of a dependability-driven design flow. In particular, simulation-based fault injection (SBFI) should be adapted to implementation-level HDL models to take into account the architecture of diverse logic primitives, while keeping the injection procedures generic and low-intrusive. Likewise, the granularity of FPGA-based fault injection (FFI) should be refined to the enable accurate identification of weak points in FPGA-based designs. Another important challenge, that dependability-driven processes face in practice, is the reduction of SBFI and FFI experimental effort. The high complexity of modern designs raises the experimental effort beyond the available time budgets, even in simple dependability assessment scenarios, and it becomes prohibitive in presence of alternative design configurations. Finally, dependability-driven processes lack an instrumental support covering the semicustom design flow in all its variety of description languages, implementation technologies, and EDA tools. Existing fault injection tools only partially cover the individual stages of the design flow, being usually specific to a particular design representation level and implementation technology. This work addresses the aforementioned challenges by efficiently integrating dependability-driven processes into the design flow. First, it proposes new SBFI and FFI approaches that enable an accurate and detailed dependability assessment at different levels of the design flow. Second, it improves the performance of dependability-driven processes by defining new techniques for accelerating SBFI and FFI experiments. Third, it defines two DSE strategies that enable the optimal dependability-aware tuning of IP cores and EDA tools, while reducing as much as possible the robustness evaluation effort. Fourth, it proposes a new toolkit (DAVOS) that automates and seamlessly integrates the aforementioned dependability-driven processes into the semicustom design flow. Finally, it illustrates the usefulness and efficiency of these proposals through a case study consisting of three soft-core embedded processors implemented on a Xilinx 7-series SoC FPGA.Tuzov, I. (2020). Dependability-driven Strategies to Improve the Design and Verification of Safety-Critical HDL-based Embedded Systems [Tesis doctoral]. Universitat Polit猫cnica de Val猫ncia. https://doi.org/10.4995/Thesis/10251/159883TESI

    Characterisation and mitigation of long-term degradation effects in programmable logic

    No full text
    Reliability has always been an issue in silicon device engineering, but until now it has been managed by the carefully tuned fabrication process. In the future the underlying physical limitations of silicon-based electronics, plus the practical challenges of manufacturing with such complexity at such a small scale, will lead to a crunch point where transistor-level reliability must be forfeited to continue achieving better productivity. Field-programmable gate arrays (FPGAs) are built on state-of-the-art silicon processes, but it has been recognised for some time that their distinctive characteristics put them in a favourable position over application-specific integrated circuits in the face of the reliability challenge. The literature shows how a regular structure, interchangeable resources and an ability to reconfigure can all be exploited to detect, locate, and overcome degradation and keep an FPGA application running. To fully exploit these characteristics, a better understanding is needed of the behavioural changes that are seen in the resources that make up an FPGA under ageing. Modelling is an attractive approach to this and in this thesis the causes and effects are explored of three important degradation mechanisms. All are shown to have an adverse affect on FPGA operation, but their characteristics show novel opportunities for ageing mitigation. Any modelling exercise is built on assumptions and so an empirical method is developed for investigating ageing on hardware with an accelerated-life test. Here, experiments show that timing degradation due to negative-bias temperature instability is the dominant process in the technology considered. Building on simulated and experimental results, this work also demonstrates a variety of methods for increasing the lifetime of FPGA lookup tables. The pre-emptive measure of wear-levelling is investigated in particular detail, and it is shown by experiment how di fferent reconfiguration algorithms can result in a significant reduction to the rate of degradation

    Fault Tolerant Electronic System Design

    Get PDF
    Due to technology scaling, which means reduced transistor size, higher density, lower voltage and more aggressive clock frequency, VLSI devices may become more sensitive against soft errors. Especially for those devices used in safety- and mission-critical applications, dependability and reliability are becoming increasingly important constraints during the development of system on/around them. Other phenomena (e.g., aging and wear-out effects) also have negative impacts on reliability of modern circuits. Recent researches show that even at sea level, radiation particles can still induce soft errors in electronic systems. On one hand, processor-based system are commonly used in a wide variety of applications, including safety-critical and high availability missions, e.g., in the automotive, biomedical and aerospace domains. In these fields, an error may produce catastrophic consequences. Thus, dependability is a primary target that must be achieved taking into account tight constraints in terms of cost, performance, power and time to market. With standards and regulations (e.g., ISO-26262, DO-254, IEC-61508) clearly specify the targets to be achieved and the methods to prove their achievement, techniques working at system level are particularly attracting. On the other hand, Field Programmable Gate Array (FPGA) devices are becoming more and more attractive, also in safety- and mission-critical applications due to the high performance, low power consumption and the flexibility for reconfiguration they provide. Two types of FPGAs are commonly used, based on their configuration memory cell technology, i.e., SRAM-based and Flash-based FPGA. For SRAM-based FPGAs, the SRAM cells of the configuration memory highly susceptible to radiation induced effects which can leads to system failure; and for Flash-based FPGAs, even though their non-volatile configuration memory cells are almost immune to Single Event Upsets induced by energetic particles, the floating gate switches and the logic cells in the configuration tiles can still suffer from Single Event Effects when hit by an highly charged particle. So analysis and mitigation techniques for Single Event Effects on FPGAs are becoming increasingly important in the design flow especially when reliability is one of the main requirements

    Mitigation of single event upsets in a XILINX ARTIX-7 field programmable gate array

    Get PDF
    Field programmable gate arrays are increasingly being used in harsh environments like space where high energy particles from radiation affect the integrity of the data. Before deployment of satellites in space, characterisation and consequently mitigation of radiation effects is necessary to avoid failure. By irradiating a digital microelectronic device, using accelerated energetic particles, it is possible to predict the likelihood of an event effect happening. Such irradiation tests can only be done at a particle accelerator facility such as iThemba LABS in Cape Town. It is the one of the few particle accelerators in the southern hemisphere and offers the capacity to perform these event effect characterisation tests. Triple Modular Redundancy (TMR) is a commonly used mitigation technique in microelectronics. Although effective, it has the downside of increased resource area. A DMR-Filter combination mitigation technique was developed at the Nelson Mandela University. It uses fewer resources than TMR and it is envisaged to significantly reduce event upsets in a FPGA. This research project seeks to investigate the effectiveness of the DMR-Filter combination mitigation technique in reducing the likelihood of event upsets occurring in Xilinx鈥檚 Artix-7 FPGA when exposed to highly accelerated particles, similar to those in space

    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
    corecore