Lechner, J. (2014). Building robust GALS circuits : fault-tolerant and variation-aware design. Techniques for reliable circuit operation [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2014.25096
Fehlertoleranz; Single point of failure; globally asynchronous locally synchronous; delay insensitive coding
de
fault tolerance; single point of failure; globally asynchronous locally synchronous; delay insensitive coding
en
Abstract:
Digitale integrierte Schaltungen führen Berechnungen auf Basis einer genau definierten Spezifikation durch. Jegliche Abweichung vom erwarten Verhalten einer Schaltung kann diese Spezifikation verletzten und daher zu unbekannten und unerwünschten Schaltungszuständen, Fehlberechnungen und letztendlich zum Totalausfall der Schaltung führen. In den allermeisten Fällen sind heutzutage transiente Fehler, ausgelöst durch ungünstige externe Einflüsse wie Strahlung, elektromagnetische Interferenzen oder Spannungs- und Temperaturvariationen, verantwortlich für solche Ausfälle. Kann eine Schaltung ihre korrekte Funktion trotz dieser Effekte aufrecht erhalten, so spricht man von einem fehlertoleranten Design. In dieser Arbeit untersuchen wir die Anwendung von Fehlertoleranz-Mechanismen im Kontext von sogenannten GALS-Schaltungen. Charakteristisch für GALS, abgekürzt für global asynchron, lokal synchron, ist die Aufteilung von komplexen Schaltungen auf mehrere lokal synchronisierte Module und der Einsatz von asynchronen Übertragungskanälen zum Datenaustausch. Dieser systematische Designansatz begrenzt Zeitabhängigkeiten auf einzelne Module und erleichtert somit die physische Umsetzung der Gesamtschaltung. Im ersten Teil dieser Arbeit werden zwei neue Ansätze präsentiert, um GALS-Module mittels Mehrfachredundanz gegen Fehler zu schützen. Die Kernidee ist in beiden Fällen die vollständige Replikation aller Schaltungsbestandteile des entsprechenden GALS-Moduls, was insbesondere auch den Taktgeber und das Taktnetz einschließt. Im Gegensatz zu konventionellen redundanten Schaltungen, können replizierte Einheiten daher mit einem unabhängigen Taktsignal versorgt werden. Das vereinfacht das Zeitverhalten der Schaltungen und erhöht die Flexibilität bei der Aufteilung von redundanten Komponenten. Die Detektion und Korrektur von fehlerhaften Schaltungszuständen erfolgt zu bestimmten Kontrollpunkten, die zwischen den regulären Rechenvorgängen eingeschoben werden. Anhaltbare Taktgeneratoren, die häufig in GALS Schaltungen für den sicheren Datenaustausch zwischen lokal-synchronen Modulen Verwendung finden, bilden die Basis für die Implementierung dieses Wiederherstellungsprozesses. Zur zuverlässigen Kommunikation zwischen GALS-Modulen wird dann im zweiten Teil der Arbeit eine Lösung vorstellt, die zeit-insensitive (engl. delay-insensitive) und fehlerdetektierende Codes verbindet. Durch diesen Verband ist es dem Empfänger möglich sowohl Variationen im Zeitbereich, als auch Fehler im Wertebereich des übertragenen Signals zu tolerieren. Zunächst analysieren wir bekannte zeit-insensitive Codes systematisch auf ihre Widerstandsfähigkeit gegen Fehler und bestimmen die benötigte Stärke der komplementären fehlerdetektierenden Codes, um einer gewissen Anzahl von Fehlern während der Datenübertragung standzuhalten. Auf Basis dieser theoretischen Ergebnisse werden dann verschiedene Implementierungen für Kodierungs- und Dekodierungsschaltungen entwickelt und deren Eigenschaften evaluiert.
de
Digital integrated circuits perform computations following a well-defined functional specification. Any deviation from the circuit-s expected behaviour breaks the boundaries of this specification and can therefore lead to unknown and unwanted circuit states, miscomputations and ultimately a service failure. Today transient faults are responsible for most of the circuit failures. They are typically triggered by adverse external influences like radiation, electromagnetic interference or variations of supply voltage and ambient temperature during operation. Fault tolerance is the capability of a circuit to maintain its correct operation despite of such effects. In this thesis we investigate fault-tolerance mechanisms applied to GALS-style circuits. GALS, short for globally asynchronous locally synchronous, is a design paradigm, which partitions a complex circuit into several locally synchronized modules and performs data transfers between these modules by means of asynchronous handshake channels. This is a systematic approach to reduce timing dependencies in circuits and therefore ease their physical implementation. Based on the fundamental structure of GALS circuits, this thesis is split into a part dedicated to fault-tolerant computation in synchronous modules and a part, where mechanisms for reliable data transfers in asynchronous communication channels are explored. For fault-tolerant computation we propose two new modular redundant circuit architectures. The key concept in both cases is to apply full replication to all circuit elements of the targeted GALS module, including the clock source and the clock tree. In contrast to conventional modular redundant circuits, replicated units can therefore be operated with independent clock signals. This simplifies circuit timing and increases flexibility with respect to the physical partitioning of redundant components. State restoration is performed at dedicated checkpoints, which are interwoven with regular computation cycles. Stoppable clocks, commonly used in GALS circuits for safe data exchange among locally synchronous modules, provide the underlying framework for executing the recovery process at these checkpoints. While the proposed architectures share the same basic idea, we engage two different methods for state exchange and majority voting during the recovery and compare their area, performance and reliability properties. In the second part of the thesis we advocate for the combination of delay-insensitive and error detecting codes to build asynchronous communication channels between GALS modules. This approach integrates variation tolerance and fault tolerance and therefore provides a comprehensive form of robustness. First we present a systematic analysis of common delayinsensitive codes to determine their resilience against transient faults and what capabilities associated error detecting codes need to have to mitigate a certain number of such faults during a transmission. Based on these theoretical results, implementations for various encoder and decoder circuits are developed, which can offer protection against single or double faults.