@phdthesis{Misera2007, author = {Misera, Silvio Andr{\´e}}, title = {Simulation von Fehlern in digitalen Schaltungen mit SystemC}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-opus-4063}, school = {BTU Cottbus - Senftenberg}, year = {2007}, abstract = {Elektronische Systeme sind in vielen Bereichen des t{\"a}glichen Lebens zur Selbstverst{\"a}ndlichkeit geworden. Dabei werden diese zunehmend komplexer und leistungsf{\"a}higer. F{\"u}r den Entwurf entstehen dadurch Herausforderungen, die z. B. zunehmend mit Hilfe von SystemC gel{\"o}st werden. SystemC, eine C++- Klassenbibliothek, erlaubt die Modellierung von Hardwarekomponenten in einer Programmiersprache, wie sie zuvor nur mittels spezieller Hardwarebeschreibungssprachen m{\"o}glich war. Die Simulation des Systems im Zusammenhang mit Fehlererscheinungen ist ein wichtiger Schritt f{\"u}r den Zuverl{\"a}ssigkeitsnachweis. F{\"u}r die Simulation von Fehlern ergeben sich dabei im wesentlichen zwei Einsatzbereiche. Zum einen ist es die Fehlersimulation, welche Testmuster hinsichtlich ihrer Effektivit{\"a}t f{\"u}r den Produktionstest beurteilt. Zum anderen dient sie, h{\"a}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{\"a}ngigen Ablauf und in der M{\"o}glichkeit einer schnellen Ausf{\"u}hrung. Voraussetzung f{\"u}r die Simulation von Hardware ist eine entsprechende Modellierungsm{\"o}glichkeit. Neben der Betrachtung der Register-Transfer- und Gatterebene wird eine neue Modellierung auf der Schalterebene pr{\"a}sentiert. Der Vorteil liegt hierbei in einer h{\"o}heren Aufl{\"o}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{\"o}rungen realit{\"a}tsn{\"a}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{\"u}hrt. Bei der Einf{\"u}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{\"a}tzlichen Kommunikationsaufwand und der Synchronisation, welche die Ausf{\"u}hrungszeit oft deutlich erh{\"o}hen. Die hier pr{\"a}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{\"u}r Simulationsaufgaben besteht in ihren Ausf{\"u}hrungen in einer akzeptablen Zeit. Es werden verschiedene Implementierungen der beschleunigten Simulation pr{\"a}sentiert. Dabei kommen unterschiedliche Ebenen der Parallelisierung zur Verwendung und zur Untersuchung in Bezug auf ihre Performance. Eine Kombination verschiedener Methoden f{\"u}hrt zu einer zus{\"a}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.}, subject = {Digitalschaltung; SystemC; Fehlererkennung; Fehlerbehandlung; Fehlersimulation; SystemC; Fehlersimulation; Fehlerinjektion; SystemC; Simulation; Fault injection}, language = {de} }