IEC 61508 (Kasten) legt die intensive Verwendung der Fehlermodellierung und -injektion im Design-, Verifikations- und Validierungsablauf nahe. Die faultRobust-FaultInjector- Tool-Suite (fRFI) ist ein Fehlerinjektor, der auf der Transistor- und Gatter- Ebene ebenso arbeiten kann wie auf dem Block-Level als der höchsten Abstraktionsebene. Mit Hilfe entsprechender Tools kann die Vollständigkeit jeder Fehlerinjektions-Maßnahme gemessen werden.
Um eine Hardware-Fehlertolerenz (HFT) von Null zu erreichen, sieht die Norm IEC 61508 vor, dass alle Aktivitäten der CPU und der damit verbundenen Subsysteme in Echtzeit von einem Diagnosekanal überwacht werden, der dafür von den zu überwachenden Komponenten unabhängige Hardware-Blöcke nutzt. Damit sollen Fehler, die durch Kurzschlüsse, Übersprechen, Spannungsschwankungen oder Temperaturschwankungen entstehen, von der Diagnose-Hardware ferngehalten werden. In Bild 3 sind die Diagnose-Empfehlungen für ICs der Norm IEC 61508 dargestellt.
Alternative zur CPU-Kopie
Eine Methode, HFT = 0 zu erreichen, besteht darin, eine redundante CPU einzusetzen, die mit der Master-CPU quasi im „Gleichschritt“ arbeitet (Lockstep-System). Die FaultRobust- Methode arbeitet anders: Statt den Cortex-M3 zu duplizieren, wird das frCPU-Modul angebunden, das zwar auch einen eigenen Core enthält, aber viel einfacher aufgebaut ist, da es ja „nur“ zur Überwachung und nicht zur redundanten Abarbeitung der Applikation dient (Bild 4). Bei einer redundanten Zwei-Core-Lösung würde man für den zweiten Cortex-M3 100 % mehr Gatter sowie weitere 69 % Gatter für den Dual-Core-Komparator, einen Wachdog-Timer und andere layout- spezifische Ergänzungen wie die Trennung der Spannungsversorgung investieren. Demgegenüber fallen für das frCPU-Modul (Bild 5) nur 34 % Zusatzgatter an, so dass diese Lösung insgesamt nur 50 % der Dual-Cortex- M3-Gatter benötigt – signifikante Einsparungen bei Silizium und Leistungsaufnahme sind die Folge.