Refine
Document Type
- Doctoral thesis (2)
Has Fulltext
- yes (2)
Is part of the Bibliography
- no (2)
Language
- German (2)
Keywords
- Digitalschaltung (2) (remove)
Institute
- FG Systeme (1)
- FG Technische Informatik (1)
In dieser Arbeit wird ein neues Konzept für den Entwurf fehlertoleranter digitaler Schaltungen vorgestellt. Die als spezifische Fehlertoleranz bezeichnete Entwurfsmethode erweitert den Stand der Technik um die Möglichkeit, Fehlertoleranz gezielt für gewünschte Ein- und Ausgabezuweisungen einer Schaltung bereitzustellen. Die generell sehr aufwändigen Maßnahmen zur Realisierung von Fehlertoleranz lassen sich so an die tatsächlich vorhandenen Zuverlässigkeitsanforderungen einer gegebenen Anwendung anpassen, was im Vergleich zu herkömmlichen Verfahren zu erheblichen Kosteneinsparungen im Hinblick auf Hardware und Stromverbrauch führt. Die Eingaben einer Schaltung werden dazu mit ihren zugehörigen Ausgaben in kritische und unkritische Signale unterteilt. Für kritische Signale wird das gleiche Maß an Fehlertoleranz bereitgestellt, wie es auch durch das Verfahren der dreifach modularen Redundanz garantiert wird. Unkritische Signale werden nicht fehlertolerant ausgelegt, da das für solche Signale nicht gefordert werden muss. Im Bezug auf kombinatorische Schaltungen wird dieses Grundprinzip auf eine beliebig wählbare Teilmenge aller möglichen Eingaben mit ihren zugehörigen Ausgaben angewendet. Die nicht zu schützenden, unkritischen Signale werden zu Optimierungszwecken genutzt. Genau diese Freiheit im Entwurfsprozess ermöglicht beim Entwurf fehlertoleranter Schaltungen signifikante Kosteneinsparungen, die bislang durch andere Verfahren nicht berücksichtigt wurden. Bei sequentiellen Schaltungen wird das Konzept auf Eingabefolgen und ihre entsprechend zugehörigen Ausgabefolgen abgebildet. Ab einem bestimmten Zustand werden in Schaltungen, die nach diesem Prinzip entworfen wurden, alle als kritisch eingestuften Eingabefolgen fehlertolerant verarbeitet, woraufhin die sequentielle Schaltung entsprechend fehlertolerante Ausgabefolgen liefert. Die Länge der kritischen Eingabefolgen und die Anzahl der Zustände, von denen aus eine fehlertolerante Verarbeitung der Eingaben gefordert wird, ist beliebig wählbar. Neben der Beschreibung des Grundkonzeptes der spezifischen Fehlertoleranz für kombinatorische und sequentielle Schaltungen beinhaltet die Arbeit Erweiterungen, mit denen sich die durch das Verfahren bereitgestellte Fehlertoleranz erhöhen lässt. Es wird zudem erläutert, wie die spezifische Fehlertoleranz ohne besonderen Aufwand mit Hilfe gängiger Werkzeuge im Schaltungsentwurf umgesetzt werden kann. Vom Entwerfer werden dazu keine speziellen Kenntnisse über das eigentliche Verfahren vorausgesetzt. Anhand experimenteller Ergebnisse wird auch gezeigt, welche Einsparungen sich durch die spezifische Fehlertoleranz im Vergleich zu herkömmlichen Verfahren aus diesem Bereich ergeben. Dazu wurden verschiedene Benchmark-Schaltungen mit der spezifischen Fehlertoleranz implementiert und ihre Gesamtflächen den Flächen entsprechender Schaltungen, die nach dem Prinzip der dreifach modularen Redundanz entworfen wurden, gegenübergestellt.
Elektronische Systeme sind in vielen Bereichen des täglichen Lebens zur Selbstverständlichkeit geworden. Dabei werden diese zunehmend komplexer und leistungsfähiger. Für den Entwurf entstehen dadurch Herausforderungen, die z. B. zunehmend mit Hilfe von SystemC gelöst werden. SystemC, eine C++- Klassenbibliothek, erlaubt die Modellierung von Hardwarekomponenten in einer Programmiersprache, wie sie zuvor nur mittels spezieller Hardwarebeschreibungssprachen möglich war. Die Simulation des Systems im Zusammenhang mit Fehlererscheinungen ist ein wichtiger Schritt für den Zuverlässigkeitsnachweis. Für die Simulation von Fehlern ergeben sich dabei im wesentlichen zwei Einsatzbereiche. Zum einen ist es die Fehlersimulation, welche Testmuster hinsichtlich ihrer Effektivität für den Produktionstest beurteilt. Zum anderen dient sie, häufig als simulierte Fehlerinjektion bezeichnet, dem Nachweis der Fehlertoleranz oder des Systemverhaltens im Betrieb. In dieser Arbeit werden erstmals verschiedene Aspekte und Strategien zur Simulation von Fehlern in digitalen Schaltungen als SystemC-Beschreibungen methodisch untersucht. Vorteile mit der Verwendung von SystemC bestehen z. B. in der Verwendung eines einheitlichen Beschreibungsmittels in einem durchgängigen Ablauf und in der Möglichkeit einer schnellen Ausführung. Voraussetzung für die Simulation von Hardware ist eine entsprechende Modellierungsmöglichkeit. Neben der Betrachtung der Register-Transfer- und Gatterebene wird eine neue Modellierung auf der Schalterebene präsentiert. Der Vorteil liegt hierbei in einer höheren Auflösung bei einer akzeptablen Geschwindigkeitseinbuße, wie sie insbesondere bei der Simulation von Fehlern sinnvoll ist. Bei der Modellierung der Fehler wurden neben dem klassischen Haftfehlermodell weitere Modelle kreiert, die Defekte und Störungen realitätsnäher abbilden. Die Injektion der Fehler in die Hardware-Beschreibung erfolgt mit Hilfe verschiedener Strategien. Neben der Umsetzung von Methoden, wie sie aus anderen Hardwarebeschreibungssprachen bekannt sind, werden weitere Wege in SystemC gezeigt. Hierbei nutzt man spezielle Eigenschaften der Sprache C++ und des SystemC-Kernels. Ergebnis dieser Techniken ist eine Modifikation der SystemC-Bibliothek, die zu einer sehr effizienten Fehlerinjektion führt. Bei der Einführung neuer Entwurfswerkzeuge entsteht oft das Problem der Portierung des bestehenden Know-hows. Eine Alternative kann die Kopplung von bestehenden und neuen Simulationsprogrammen sein. Probleme solcher gekoppelten Simulationen liegen z. B. im zusätzlichen Kommunikationsaufwand und der Synchronisation, welche die Ausführungszeit oft deutlich erhöhen. Die hier präsentierte Mixed-Language-Co-Simulation in Form einer Thread-Implementierung und einer weiteren Modifikation der SystemC-Bibliothek erweist sich aber als sehr effizient im Vergleich zu anderen Co-Simulationen. Eine wesentliche Herausforderung für Simulationsaufgaben besteht in ihren Ausführungen in einer akzeptablen Zeit. Es werden verschiedene Implementierungen der beschleunigten Simulation präsentiert. Dabei kommen unterschiedliche Ebenen der Parallelisierung zur Verwendung und zur Untersuchung in Bezug auf ihre Performance. Eine Kombination verschiedener Methoden führt zu einer zusätzlichen Verbesserung. Mit dieser Arbeit wird gezeigt, dass die Simulation von Fehlern in Hardware mit SystemC praktikabel und sinnvoll ist. Anhand von Simulationen und Bewertungen an Beispielschaltungen wird dies unterstrichen.