-
Die vorliegende Erfindung betrifft ein Verfahren zum Entwurf einer Single-Event-Effekt-(SEE-)toleranten Schaltung, insbesondere, aber nicht ausschließlich, einer Schaltung in Doppelmodular-Redundanzstruktur.
-
Weiterhin betrifft die vorliegende Erfindung eine Vorrichtung zum Entwurf einer SEE-toleranten Schaltung, insbesondere, aber nicht ausschließlich, einer Schaltung in Doppelmodular-Redundanzstruktur.
-
Außerdem betrifft die Erfindung ein Computergerät zur Ausführung eines Verfahrens zum Entwurf einer SEE-toleranten Schaltung und ein Computerprogramm zum Bewirken einer Ausführung eines Verfahrens zum Entwurf einer SEE-toleranten Schaltung auf einem Computer sowie ein entsprechendes maschinenlesbares Medium.
-
Bei dem Betrieb einer Schaltung in einem Anwendungsfeld, das einer erhöhten elektromagnetischen Strahlung oder einer Teilchenstrahlung, wie Alpha-Strahlung, Neutronen- und/oder Protonen-Strahlung oder kosmische Strahlung ausgesetzt ist, können bekanntlich sogenannte Single-Event-Effekte zu einem fehlerhaften Verhalten der Schaltung führen. Derartige Umgebungsbedingungen findet man beispielsweise im Weltraum, in der Nähe von Kernreaktoren oder in der Nähe von Teilchenbeschleunigern vor. Die Single-Event-Effekte treten in Bezug auf die Taktfrequenz der Schaltung selten auf, so dass sie daher zeitlich als einzelne und nicht etwa als gleichzeitig mehrfach auftretende Ereignisse betrachtet werden.
-
Zu den Single-Event-Effekten zählt zunächst insbesondere der sogenannte Single-Event-Upset (SEU), aufgrund dessen sich der Zustand mindestens einer Einbitspeicherzelle ändert. Im Gegensatz zu einem sogleich beschriebenen Single-Event-Latchup (SEL) bewirkt der Single-Event-Upset keinen dauerhaften Schaden in der Schaltung. Jedoch kann der Single-Event-Upset zu einem fehlerhaften Verhalten der Schaltung führen.
-
Seltener tritt der Single-Event-Latchup auf, bei dem ein beispielsweise parasitäres Halbleiterbauelement der Schaltung, wie eine parasitäre Transistorschaltung, in einen niederohmigen Zustand übergeht, der zu einem elektrischen Kurzschluss zwischen Betriebsspannung und Masse führen kann und so eine irreversible thermische Zerstörung der Schaltung herbeiführen kann. Eine Möglichkeit, eine dauerhafte Zerstörung zu verhindern, besteht in der Unterbrechung des durch den niederohmigen Zustand erhöhten Stromflusses.
-
Zur Vermeidung von Single-Event-Latchups werden bekanntlich strukturelle Gegenmaßnahmen getroffen, bspw. eine Vergrößerung der Abstände der Source-Drain-Gebiete zu den Wannenrändern. Eine andere Strategie zielt nicht auf die Vermeidung von Single-Event-Latchups, sondern auf die Handhabung derselben, beispielsweise durch schaltungstechnische Gegenmaßnahmen, wie die Integration einer Schaltung zur Strombegrenzung der Energieversorgung der Schaltung. Zur Handhabung von Single-Event-Upsets werden im Wesentlichen bei dem Entwurf der Schaltung redundante Strukturen, wie beispielsweise die Triele-Modular-Redundancy (TMR)-Struktur, angestrebt. In dieser Struktur wird die Schaltung dreifach ausgeführt.
-
Aus der Patentanmeldung
DE 10 2006 055 867 ist ein elektrischer Schaltkreis mit einer sequenziellen Logikschaltung und einer der sequenziellen Logikschaltung nachgeschalteten Auswahlschaltung bekannt. Die Auswahlschaltung, welche im Rahmen der Beschreibung der vorliegenden Erfindung auch als Voter-Schaltung bezeichnet wird, wird dort im Zusammenhang mit einem TMR-Konzept verwendet. Ihr sind die Ausgangssignale von drei parallelen Speicherelementen zugeführt, die nominell gleiche Eingangssignale empfangen (doppelte Redundanz durch dreifache Ausführung). Am Ausgang der Voter-Schaltung liegt ein Ausgangssignal an, das einer Mehrheit der drei Eingangssignale entspricht. Selbstredend weist eine mit doppelter Redundanz ausgeführte Schaltung einen hohen Flächenbedarf auf; mit bekannten Nachteilen wie hohe Leistungsaufnahme, Schaltungsaufwand, Kosten und dergleichen mehr.
-
In der Patentanmeldung
DE 10 2007 024 983 der vorliegenden Anmelderin wird ein elektrischer Schaltkreis mit Doppel-Modular-Redundanz (DMR) zur Handhabung von Single-Event-Effekten vorgestellt. Hier ist die Schaltung zweifach ausgeführt, was einer einfachen Redundanz entspricht. Mit dieser Schaltung wird durch geschickte Rückkopplung eines Voterausgangssignals auf einen Votereingang desselben Voters ein wirksamer Schutz gegen Single-Event-Upsets erzielt, der einem mit Hilfe eines TMR-Designs erzielten Schutz in seiner Wirksamkeit nicht nachsteht. Die in DMR-Struktur ausgeführte Schaltung weist gegenüber der in TMR-Struktur ausgeführten Schaltung einen um ca. 25% reduzierten Flächenbedarf auf.
-
Wohingegen entsprechend den obigen Ausführungen Schaltungskonzepte zur Vermeidung oder Handhabung von Single-Event-Effekten durchaus bekannt sind, mangelt es an automatisierbaren Verfahren und Vorrichtungen zum Entwurf dieser SEE-toleranten Schaltungen, insbesondere an Verfahren, die mit Standardentwurfsprozessen, also Entwurfsprozessen für herkömmliche und nicht SEE-tolerante Schaltungen, kompatibel sind.
-
Aus der Literaturstelle K. Tiri et. al.: A VLSI Design Flow for Secure Side-Channel Attack Resistant ICs, Design Automation and Test in Europe Conference, DATE 2005, Proceedings March 2005 ist ein Verfahren bekannt, das auf den Entwurf einer Schaltung zielt, die gegen Seitenkanalattacken resistent sind.
-
Ein der vorliegenden Erfindung zugrunde liegendes technische Problem ist es daher, ein Verfahren oder eine Vorrichtung bereitzustellen, das einen weitestgehend automatisierbaren Entwurf einer SEE-toleranten Schaltung erlaubt.
-
Das technische Problem wird gemäß einem ersten Aspekt der Erfindung durch ein Verfahren gemäß dem Anspruch 1 gelöst. Das erfindungsgemäße Verfahren zum Entwurf einer SEE-toleranten Schaltung umfasst die Schritte:
- – Bereitstellen einer ersten Gatternetzliste, die ein Verhalten der zu entwertenden SEE-toleranten Schaltung durch Spezifizierung einer Vielzahl Logikschaltungsmodelle und/oder Speicherschaltungsmodelle sowie deren Verschaltung untereinander abbildet;
- – Bereitstellen einer Zellenbibliothek, die ein fehlertolerantes Logikschaltungsmodell umfasst, das eine selbe logische Funktion wie eines aus der Vielzahl Logikschaltungsmodelle der ersten Gatternetzliste erfüllt und diesem zugeordnet ist, und/oder ein fehlertolerantes Speicherschaltungsmodell, das eine selbe Speicherfunktion wie eines aus der Vielzahl Speicherschaltungsmodelle der ersten Gatternetzliste erfüllt und diesem zugeordnet ist;
- – Modifizieren der ersten Gatternetzliste derart, dass mindestens ein Logikschaltungsmodell der ersten Gatternetzliste durch das zugeordnete fehlertolerante Logikschaltungsmodell und/oder mindestens ein Speicherschaltungsmodell durch das zugeordnete fehlertolerante Speicherschaltungsmodell aus der Zellenbibliothek ersetzt wird;
- – Erzeugen einer redundanten zweiten Gatternetzliste aus der ersten Gatternetzliste, wobei die zweite Gatternetzliste mit der ersten Gatternetzliste identisch ist; und
- – Verknüpfen der ersten und der zweiten Gatternetzliste zu einer dritten Gatternetzliste, anhand der die SEE-tolerante Schaltung hergestellt werden kann, wobei für ein jeweiliges Logikschaltungsmodell und/oder ein jeweiliges Speicherschaltungsmodell der ersten Gatternetzliste eine erste Verbindungsleitung zu einem ersten Versorgungsspannungsanschluss eines für die zu entwerfende Schaltung designierten Trägerelements sowie für ein jeweiliges Logikschaltungsmodell und/oder ein jeweiliges Speicherschaltungsmodell der zweiten Gatternetzliste eine zweite Verbindungsleitung zu einem zweiten Versorgungsspannungsanschluss des Trägerelementes vorgesehen werden und
- – eine dritte Verbindungsleitung zwischen einem Ausgang eines jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste und einem Eingang eines zu dem jeweiligen fehlertoleranten Logikschaltungsmodell redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste sowie eine vierte Verbindungsleitung zwischen einem Ausgang des redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste und einem Eingang des jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste vorgesehen werden und/oder
- – zwischen einem jeweiligen fehlertoleranten Speicherschaltungsmodell der ersten Gatternetzliste und einem zu diesem redundanten fehlertoleranten Speicherschaltungsmodell der zweiten Gatternetzliste eine Synchronisationsleitung vorgesehen wird.
-
Der Erfindung liegt die Überlegung zugrunde, dass ein Standard-Entwurfsverfahren einer Schaltung, beispielsweise einer anwendungsspezifischen Schaltung (engl.: Application Specific Integrated Circuit, ASIC), häufig mit dem Festlegen einer Design-Spezifikation beginnt, aus der im Groben hervorgeht, welche Funktion die Schaltung erfüllen soll. Die Design-Spezifikation kann bereits in einigen Handskizzen bestehen. Aus dieser Spezifikation wird anschließend ein logischer Designentwurf, also ein genaues Verhaltensmodell, in einer Hardware-Beschreibungssprache erstellt. Der Begriff Hardware-Beschreibungssprache wird im Rahmen der Beschreibung der vorliegenden Erfindung für alle Eingabezeichen verwendet, die ein funktionelles Verhalten der zu entwerfenden Schaltung beschreiben, also Hardwarebeschreibungssprache im weiteren Sinne. Beispielhafte bekannte Vertreter sind Sprachen wie Verilog und VHDL (engl.: Very High Speed Integrated Circuit Hardware Description Language), aber auch graphische Eingaben, die durch graphische Entwurfswerkzeuge (engl.: Schematic Editors) erstellt wurden oder Sprachen anderweitiger Editoren. Die Festlegung des logischen Designs der zu entwerfenden Schaltung kann auch durch eine Logiksynthese einer sogenannten Register-Transfer-Level-(RTL-)Spezifikation erfolgen.
-
Weiter sehen Standardentwurfsprozesse vor, dass das erstellte Verhaltensmodell anschließend durch ein Synthesemittel in ein Modell auf der Gatterebene, also in eine Gatternetzliste übertragen wird. Dazu werden die Modelle einer Standardlogikzellenbibliothek sowie bestimmte Entwurfsvorgaben des Designers verwendet.
-
Hier zeigt sich bereits der erste Vorteil des erfindungsgemäßen Verfahrens. Denn bis zu diesem Stand, dem Stand der Logiksynthese, werden keine Modifikationen an Standardentwurfsverfahren vorgenommen. Das heißt zum einen, dass alle bereits synthetisierten, vorhandenen Inhalte einer Zellenbibliothek für einen späteren SEE-toleranten Entwurf verwendet werden können. Das ist besonders wichtig, da anderenfalls sämtliche Designs von umfangreichen Standardzellenbibliotheken vollständig überarbeitet werden müssten. Durch Anwendung des erfindungsgemäßen Verfahrens entfällt dieser Aufwand. Zum anderen kann die erste Gatternetzliste im Rahmen eines Standardentwurfs bereitgestellt werden, ohne das vorab besondere Anforderungen an ein SEE-tolerantes Design beachtet werden müssen. Es sind allenfalls geringere zusätzliche Verzögerungszeiten für die fehlertoleranten Logikschaltungsmodelle sowie ggf. längere Verbindungsleitungen zu berücksichtigen, die eine geringfügig reduzierte Taktgeschwindigkeit bedeuten können.
-
Ein Logikschaltungsmodell bezeichnet im Rahmen der Beschreibung der vorliegenden Erfindung ein digital gespeichertes logisches Modell einer Schaltungskomponente, wie beispielsweise ein Flipflop, ein sogenanntes Latch, ein Zähler, ein Komparator, ein sogenannter IP-Core etc.. Ein solches Logikschaltungsmodell spezifiziert zum einen die spätere hardwaretechnische Realisierung der modellierten Logikschaltung und gibt zum anderen das Ein-Ausgangsverhalten der modellierten Logikschaltung logisch wieder. Logikschaltungsmodelle sind gewöhnlich Inhalt einer jeden Standardzellenbibliothek und stehen einem Designer bei einem Entwurf einer Schaltung zur Verfügung.
-
Ein Speicherschaltungsmodell bezeichnet im Rahmen der Beschreibung der vorliegenden Erfindung ein digital gespeichertes Modell einer Mehrbitspeicherschaltungskomponente, wie beispielsweise ein Modell eines Random Access Memorys (RAM) oder eines langen Schieberegisters.
-
-
Ein weiterer Vorteil des erfindungsgemäßen Verfahrens ist, dass die folgenden Schritte, nämlich das Modifizieren, das Erzeugen der zweiten Gatternetzliste und Verknüpfen leicht durch Ausführung eines entsprechend programmierten Skriptes automatisiert durchgeführt werden können. Somit erfordert das erfindungsgemäße Verfahren kein neues vollständiges Entwurfsprogramm, sondern kann mit geringem Aufwand vorteilhaft in ein Standardentwurfsverfahren eingebettet werden.
-
Das vorgestellte Verfahren erzielt daher einen zeiteffizienten Entwurf einer SEE-toleranten Schaltung. Insbesondere kann die dritte Gatternetzliste mit Standardentwurfsmethoden und -werkzeugen entsprechend einem typischen Schaltungsentwurfsprozess weiterverarbeitet werden und letztlich die SEE-tolerante Schaltung gemäß der dritten Gatternetzliste auf dem Trägerelement realisiert werden.
-
Für die Realisierung eines SEL-Schutzes sieht das erfindungsgemäße Verfahren vor, dass jeweilig zueinander redundante Schaltungsabschnitte, also Logik- und/oder Speicherschaltungen, mit voneinander getrennten Versorgungsspannungsanschlüssen verbunden werden. Durch die getrennten Spannungsversorgungen einerseits und aufgrund des sehr seltenen Auftretens eines SELs andererseits ist quasi sicher gestellt, dass zu jeder Zeit zumindest einer der zwei zueinander redundanten Schaltungs- oder Speicherabschnitte nicht von einem SEL betroffen ist und somit ungestört funktionieren kann. Mehr noch sind durch das Verfahren Voraussetzungen dafür geschaffen, dass im Falle eines SELs ein nicht betroffener Schaltungsabschnitt, der an den ersten oder zweiten Versorgungsspannungsanschluss angeschlossen ist, den betroffenen Schaltungsabschnitt von seinem Versorgungsspannungsanschluss trennen kann und nach Abklingen des SELs wieder mit dem Versorgungsspannungsanschluss verbinden kann. Die Realisierung einer getrennten Spannungsversorgung für jeweils zwei zueinander redundante Schaltungsabschnitte erfolgt beispielsweise durch Nutzung eines gemeinsamen negativen Spannungspols, wie Masse oder Ground, und zweier voneinander getrennten positiven Spannungspole oder durch Nutzung eines gemeinsamen positiven Spannungspols und zweier voneinander getrennten negativen Spannungspolen.
-
Die Trennung eines jeweiligen Spannungspols kann durch dafür ausgelegte Schalter fingiert sein. Beispielsweise ist also ein erster Schaltungsabschnitt über einen ersten Schalter mit dem positiven Spannungspol verbunden und ein zweiter Schaltungsabschnitt über einen zweiten Schalter mit dem positiven Spannungspol verbunden, wobei beide Schaltungsabschnitte mit Masse/Ground verbunden sind.
-
Durch das Verknüpfen der ersten und der zweiten Gatternetzliste zu einer dritten Gatternetzliste, bei dem zueinander redundante fehlertolerante Logikschaltungsmodelle miteinander auf koppelnde Weise verbunden werden, wirken die zunächst voneinander unabhängigen Schaltungen gemäß der ersten und zweiten Gatternetzliste in redundanter Weise einheitlich. Einigen Schaltungsabschnitten sind also eingangsseitig zum einen nominell gleiche Eingangssignale zugeführt und zum anderen jeweils ein Ausgangssignal des redundanten Schaltungsabschnitt. Durch diese Kopplung wird insbesondere ein wirksamer Schutz gegen SEUs erzielt. An dieser Stelle sei erwähnt, dass ein fehlertolerantes Logikschaltungsmodell der ersten Gatternetzliste und ein dazu redundantes fehlertolerantes Logikschaltungsmodell der zweiten Gatternetzliste den wirksamen Schutz gegen SEUs erst durch die geschilderte koppelnde Verbindung zueinander entfalten. Das Prinzip einer Schaltung, die durch eine oben dargestellte Kopplung von Ausgangssignalen redundanter Schaltungsabschnitte ein SEU-tolerantes Verhalten aufweist, ist in der Veröffentlichung
DE 10 2007 024 983 A1 beschrieben.
-
Durch die Synchronisationsleitung ist sichergestellt, dass zueinander redundante Speicherschaltungen mit jeweils gleichen Werten belegt sind.
-
Außerdem eignet sich das erfindungsgemäße Verfahren sowohl zur Erzeugung einer TMR- als auch DMR-Schaltungsstruktur sowie weiterer redundanter Schaltungsstrukturen. Die durch Anwendung des Verfahrens gewonnene SEE-tolerante Schaltung weist mit ihren redundanten Strukturen einen wirksamen Schutz gegen SEUs und SELs auf.
-
Insgesamt ermöglicht das vorgestellte erfindungsgemäße Verfahren zum Entwurf einer SEE-toleranten Schaltung eine einfache und schnelle Implementierung SEE-toleranter Entwurfstechniken für strahlungsbelastete Anwendungen. Ein Vorteil liegt insbesondere darin, dass bereits existierende Designs auf dem Stand der Logiksynthese ohne weitere Änderungen in ein solches SEE-tolerantes Design überführt werden können. Außerdem erlaubt das erfindungsgemäße Entwurfsverfahren die Verwendung von Standardentwurfswerkzeugen wie Editoren, Simulatoren, Kompilatoren und Layoutrouter. Somit können Standardentwurfsverfahren leicht auf Entwurfsverfahren für SEE-tolerante Schaltungen erweitert werden oder bestehende nicht SEE-tolerante Designs weitestgehend automatisch in SEE-tolerante Designs überführt werden.
-
Nachfolgend werden weitere Ausführungsbeispiele des ersten Aspektes der Erfindung beschrieben. Die zusätzlichen Merkmale der Ausführungsbeispiele können zur Bildung zusätzlicher Ausführungsformen miteinander kombiniert werden, soweit sie nicht als Alternativen zueinander beschrieben sind.
-
Fehlertolerante Logik- und Speicherschaltungsmodelle können zur Modifikation der ersten Gatternetzliste auf mehrere Weisen aus der Zellenbibliothek bezogen werden. Eine Möglichkeit ist es, die fehlertoleranten Logik- und Speicherschaltungsmodelle durch eine geeignete Kombination bereits in der Zellenbibliothek vorhandener Modelle zu gewinnen. Eine andere Möglichkeit ist die Erweiterung der Zellenbibliothek um eigenständige fehlertolerante Logik- und Speicherschaltungsmodelle. Für ein Logik- oder Speicherschaltungsmodell können in der Zellenbibliothek auch mehrere verschiedene fehlertolerante Logik- oder Speicherschaltungsmodelle abgelegt sein.
-
Die folgenden Schritte, das Modifizieren der ersten Gatternetzliste und das Erstellen einer redundanten zweiten, zur modifizierten ersten identischen Gatternetzliste und nachfolgende Verknüpfen erfolgt bevorzugt automatisiert, beispielsweise durch Ausführung eines entsprechend programmierten Skriptes. Damit erfordern diese Schritte folglich, abgesehen von geringer zusätzlicher Rechenzeit, keinen hohen Aufwand und vor allem keine grundlegende Abänderung eines Standardentwurfsverfahrens.
-
Ein Logikschaltungsmodell kann insbesondere ein Flipflop sein. Beim dem Modifizieren der ersten Gatternetzliste werden bevorzugt alle Flipflops der ersten Gatternetzliste durch fehlertolerante Flipflops ersetzt. Alternativ können aber auch nur ausgewählte Flipflops ersetzt werden, wenn beispielsweise nur bestimmte Schaltungsabschnitte einer Schaltung SEE-tolerant sein sollen. Ebenso werden bevorzugt alle Speicherschaltungsmodelle durch fehlertolerante Speicherschaltungsmodelle ersetzt.
-
Wie bereits oben erläutert, erfolgt das Modifizieren der ersten Gatternetzliste nach Bereitstellung der Zellenbibliothek bevorzugt automatisiert, beispielsweise durch Ausführung eines entsprechend programmierten Skriptes.
-
Vor dem Verknüpfen sind die erste und die zweite Gatternetzliste, obgleich beide dasselbe Schaltungsverhalten abbilden, zunächst unabhängig voneinander. Es ergeben sich nun mehrere Möglichkeiten, an dieser Stelle weiter zu verfahren: Wenn die Redundanz später außerhalb des Trägerelements weitergeführt werden soll, werden Dateneingänge und -ausgänge der zwei zueinander redundanten Schaltungsabschnitte gemäß der ersten und der zweiten Gatternetzliste an den äußeren Anschlüssen des Trägerelements nicht zusammengeführt, so dass mehrere Trägerelemente mit ihren redundanten Ein- und Ausgängen miteinander verbunden werden können. Soll andererseits die Redundanz nur der fehlertoleranten Schaltung auf dem Trägerelement selbst inhärent sein, dann werden die Dateneingänge und -ausgänge zusammengeführt. Die Gatternetzlisten sind an dieser Stelle in Abhängigkeit der Auswahl der oben dargestellten Möglichkeiten anzupassen.
-
Das Erzeugen der zweiten Gatternetzliste erfolgt ebenfalls bevorzugt unmittelbar nach dem Modifizieren automatisiert. Ferner erfolgt das Erzeugen der zweiten Gatternetzliste bevorzugt derart, dass die Logik- und Speicherschaltungsmodelle der ersten und der zweiten Gatternetzliste eindeutig referenzierbar bleiben, d. h. jeweils unterschiedliche Instanzennamen haben. Dies kann beispielsweise dadurch erreicht werden, dass ein Skript beim Erzeugen der zweiten Gatternetzliste für jedes Element der zweiten Gatternetzliste neue Namen vergibt. Durch eindeutig referenzierbare Elemente der ersten und der zweiten Gatternetzliste können diese leicht angesprochen werden, was insbesondere für das Vorsehen der ersten Verbindungsleitung zum ersten Versorgungsspannungsanschluss und der zweiten Verbindungsleitung zum zweiten Versorgungsspannungsanschluss vorteilhaft ist. Außerdem kann die dritte Gatternetzliste unter Beibehaltung eindeutiger Instanzennamen durch weitere Standardentwurfswerkzeuge simuliert werden.
-
Das nachfolgende Verknüpfen der ersten und der zweiten Gatternetzliste zu einer dritten Gatternetzliste, anhand der die SEE-tolerante Schaltung auf einem Trägerelement hergestellt werden kann, erfolgt bevorzugt in der Weise, dass die SEE-tolerante Schaltung eine Doppel-Modular-Redundanz Struktur aufweist. Ein Trägerelement bezeichnet im Rahmen der Beschreibung der vorliegenden Erfindung sämtliche in Frage kommende Trägertypen einer Schaltung, also beispielsweise ein programmierbarer Logikbaustein, einen Wafer, einen Halbleiterchip etc..
-
Auch das Verknüpfen der Gatternetzlisten erfolgt bevorzugt automatisiert, beispielsweise durch Ausführung eines Skriptes.
-
In einer vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens folgt nach dem Verknüpfen eine Simulation und Verifikation der dritten Gatternetzliste durch Standardsimulations- und -verifikationswerkzeuge. Bevorzugt wird dabei insbesondere ein SEE-tolerantes Verhalten der Schaltung gemäß der dritten Gatternetzliste überprüft, beispielsweise durch Simulation der Schaltung bei gleichzeitiger Berücksichtigung von Störsignalen (engl.: fault injection).
-
Die durch das erfindungsgemäße Verfahren erzeugte dritte Gatternetzliste kann mit üblichen Entwurfswerkzeugen weiterverarbeitet und simuliert werden und nach entsprechender Weiterverarbeitung auf das Trägerelement programmiert werden. Bevorzugt werden dabei bei einem sogenannten Floorplan Schritt der erste und der zweite Versorgungsspannungsanschluss alternierend angeordnet, so dass zwei jeweils zueinander redundante Schaltungsabschnitte einfach mit getrennter Spannung versorgt werden können. Bevorzugt werden dafür jeweilig zueinander redundanten Logik- oder Speicherschaltungen an zwei um einen bestimmten Abstand versetzten Orten im Trägerelement platziert. Dadurch hat die aufgrund der redundanten Struktur und der Kopplungsleitungen, also der dritten und vierten Verbindungsleitungen, verhältnismäßig aufwendige Verdrahtung der durch Anwendung des erfindungsgemäßen Verfahrens gewonnenen fehlertoleranten Schaltung kaum negative Auswirkungen auf das zeitliche Verhalten der fehlertoleranten Schaltung. Der Begriff „Verdrahtung” ist im Übrigen im übertragenden Sinne zu verstehen: er umfasst im Rahmen der Beschreibung der vorliegenden Erfindung allgemein die Verlegung von Signalleitungen.
-
Es ist in allen Ausführungsformen des erfindungsgemäßen Verfahrens insgesamt vorteilig, das Zielverhalten der fehlertoleranten Schaltung vorab durch Simulation nach den verschiedenen Entwurfsschritten im Entwurfsprozess zu überprüfen. Die Simulation umfasst bevorzugt die Berücksichtigung von Störsignalen, insbesondere SEUs und SELs. Die Berücksichtigung kann beispielsweise durch eine sogenannte fault-injection gewährleistet werden.
-
In einer Ausführungsform des Verfahrens wird die erste Gatternetzliste derart modifiziert, dass mindestens ein Flipflop durch ein fehlertolerantes Flipflop in Form einer Kombinationsschaltung aus einem Flipflop und einer Auswahlschaltung ersetzt wird. Es versteht sich, dass ein Flipflop in diesem Zusammenhang auch als ein Latch realisiert sein kann. Ein Flipflop ist beispielsweise ein D-Flipflop, ein RS-Flipflop, ein JK-Flipflop, ein T-Flipflop, zumeist ein D-Flipflop.
-
Eine solche Kombinationsschaltung stellt ein geeignetes fehlertolerantes Logikschaltungsmodell zur Erzielung eines SEU-Schutzes dar. Die Kombinationsschaltung kann bereits als eine solche in der Zellenbibliothek vorhanden sein oder durch Kombination bereits vorhandener Zellen der Zellenbibliothek generiert werden. Bei redundanten Schaltungsstrukturen ist die Integration von Auswahlschaltungen zweckmäßig, um aus einer Vielzahl gleicher Ausgangssignale von zueinander redundanten Schaltungsabschnitten, denen nominell gleiche Eingangssignale zugeführt sind, ein Ausgangssignal auszuwählen bzw. ein Signal auszugeben, welches einen Pegel aufweist, der dem Pegel der Mehrheit der Ausgangssignale entspricht. Eine Auswahlschaltung wird in der Fachsprache und ebenfalls im Rahmen der Beschreibung der vorliegenden Erfindung auch als Voter bezeichnet.
-
Bevorzugt erfolgt in dieser Ausführungsform des Verfahrens das Modifizieren also derart, dass ein Ausgang des Flipflops der Kombinationsschaltung einem ersten Eingang der Auswahlschaltung zugeführt ist und ein Ausgang der Auswahlschaltung auf einen zweiten Eingang der Auswahlschaltung zurückgekoppelt ist.
-
In dieser Ausführungsform des Verfahrens erfolgt ferner das Verknüpfen derart, dass
- – die dritte Verbindungsleitung derart angeordnet ist, dass der Ausgang des Flipflops der Kombinationsschaltung der ersten Gatternetzliste zusätzlich mit einem dritten Eingang der Auswahlschaltung der zu der Kombinationsschaltung der ersten Gatternetzliste redundanten Kombinationsschaltung der zweiten Gatternetzliste verbunden ist, und
- – die vierte Verbindungsleitung derart angeordnet ist, dass der Ausgang des Flipflops der redundanten Kombinationsschaltung der zweiten Gatternetzliste mit einem dritten Eingang der Auswahlschaltung der Kombinationsschaltung der ersten Gatternetzliste mit verbunden ist.
-
Diese bevorzugte Ausführungsform des Verfahrens des ersten Aspektes der Erfindung beruht auf der Erkenntnis, dass eine gegen SEUs besonders sichere redundante Struktur erzielt wird, wenn ein Ausgang des Flipflops der Kombinationsschaltung der ersten Gatternetzliste auf einen dritten Eingang der Auswahlschaltung der zur Kombinationsschaltung der ersten Gatternetzliste redundanten Kombinationsschaltung der zweiten Gatternetzliste geschaltet ist und umgekehrt auch ein Ausgang des Flipflops der redundanten Kombinationsschaltung der zweiten Gatternetzliste auf einen dritten Eingang der Auswahlschaltung der Kombinationsschaltung der ersten Gatternetzliste. Auf diese Weise wird eine neue Regel für die Signalausgabe erzielt: Wenn Ausgangssignale der zwei redundanten Flipflops unterschiedlich sind, gibt das in zeitlicher Hinsicht letzte Ausgangssignal der Auswahlschaltung den Ausschlag für den aktuellen Auswahlzyklus der Auswahlschaltung. Mit Hilfe dieser Auswahlregel lässt sich ein besonders wirksamer Schutz gegen SEUs erzielen. Die vorteilhafte Wirkung einer solchen Rückkopplung ist ausführlich in der Veröffentlichung
DE 10 2007 024 983 A1 beschrieben.
-
In einer besonders bevorzugten Ausführungsform des Verfahrens wird die erste Gatternetzliste derart modifiziert, dass alle Flipflops der ersten Gatternetzliste durch jeweils ein fehlertolerantes Flipflop aus der Zellenbibliothek ersetzt werden. Ein fehlertolerantes Flipflop wird dabei bevorzugt durch die oben dargestellte Kombinationsschaltung gebildet. Diese Ausführungsform ist insbesondere in verfahrensökonomischer Hinsicht vorteilhaft.
-
In einer weiteren bevorzugten Ausführungsform umfasst das Modifizieren zusätzlich: Ersetzen mindestens eines Mehrbitspeicherelements durch eine Zusammenschaltung aus einem erweiterten Mehrbitspeicherelement umfassend mindestens ein Schutzbit und einer Fehlererkennungs- und Fehlerkorrekturlogik.
-
Ein Mehrbitspeicherelement wird also mit zusätzlichen Schutzbits, wie beispielsweise Paritätsbits, Hamming-Code Bits oder Hsiao-Code Bits generiert und mit zugehöriger Fehlererkennungs- und Fehlerkorrekturlogik (engl.: Error Detection and Correction, EDAC) aus der Zellenbibliothek versehen. Dadurch weist die erzielte Schaltung einen verbesserten Schutz gegen SEEs auf. Die EDAC-Blöcke sind ausgebildet, mit Hilfe der zusätzlichen Schutzbits einen fehlerhaften Speicherwert zu detektieren und zu korrigieren. Sollte eine Korrektur aufgrund eines Mehrbitfehlers nicht möglich sein, so kann der betroffene Speicher die korrekten Werte des redundanten Speichers übernehmen. Für eine ausführliche Darstellung der Synchronisation redundanter Speicherblöcke wird auf die Veröffentlichung
DE 10 2007 024 983 A1 verwiesen.
-
Bevorzugt werden alle Mehrbitspeicherelemente mit zusätzlichen Schutzbits generiert und mit zugehöriger Fehlererkennungs- und Fehlerkorrekturlogik versehen.
-
Bevorzugt umfasst das Verknüpfen der ersten und der zweiten Gatternetzliste zu der dritten Gatternetzliste ein Einbinden mindestens einer Kontrollschaltung, wobei die Kontrollschaltung nach ihrer Herstellung in dem Trägerelement ausgebildet ist, eine von einem Single-Event-Effekt betroffene zweier zueinander redundanten Logik- oder Speicherschaltungen von dem ersten oder dem zweiten Versorgungsspannungsanschluss zu trennen und nach dem Ablauf einer Zeitspanne wieder mit dem ersten respektive dem zweiten Versorgungsspannungsanschluss zu verbinden.
-
Diese Ausführungsform hat den Vorteil, dass die Strahlungsfestigkeit der SEE-toleranten Schaltung durch einen verbesserten SEE-Schutz weiter erhöht ist. Bevorzugt umfasst eine Kontrollschaltung auch einen Timer, der den Ablauf einer Zeitspanne anzeigt. Bevorzugt ist die Zeitspanne vordefiniert und an eine Erholungszeit der Schaltung angepasst. Derartige Timer sind in fast allen Standardzellenbibliotheken verfügbar. Die nachfolgende Synchronisation der Schaltung erfolgt bevorzugt über die Auswahlschaltungen der Kombinationsschaltungen.
-
Bevorzugt ist die Kontrollschaltung dazu ausgebildet, die von dem ersten respektive zweiten Versorgungsspannungsanschluss getrennte Logik- oder Speicherschaltung mit einem Masse- bzw. Ground-Anschluss des Trägerelementes zu verbinden. Damit ist das Potential der vom Versorgungsspannungsanschluss getrennten Logik- oder Speicherschaltung definiert und nimmt keine, möglicherweise schädigende, unbestimmten Spannungspegel an.
-
Vorrangig eignen sich für den SEL-Schutz Kontrollschaltungen wie Single-Event-Latchup Controller oder Single-Event-Latchup Timer. Es sind auch vorteilhafte Erweiterungen ihrer Funktion denkbar, die beispielsweise das Ab- und Zuschalten von anderen, beispielsweise redundanten Logikblöcken ermöglichen. SEL-Controller und SEL-Timer sind entweder bereits in der Zellenbibliothek vorhanden oder werden ihr hinzugefügt. Sie ersetzen teilweise die standardmäßigen Filler-Zellen, die sich in der Regel unter Kreuzungspunkten von Spannungsversorgungsleitungen befinden und die dort zunächst als Platzhalter dienen. Filler-Zellen sind Zellen, welche außer den Stromversorgungsbahnen keine weitere Logik beinhalten.
-
Zur Herstellung der Kontrollschaltungen müssen vorab, dass heißt während des Entwurfsverfahrens, auf dem Trägerelement Platz für dieselben reserviert werden und einige Verbindungsleitungen vorgesehen werden. Da sich normalerweise ohnehin Filler-Zellen unter den Kreuzungspunkten befinden, wird aber im Wesentlichen kein zusätzlicher Platz benötigt. Die erste Gatternetzliste kann folglich unabhängig davon, ob Kontrollschaltungen vorgesehen werden oder nicht, bereitgestellt werden. Eine Simulation erfolgt in dieser Ausführungsform ohne Einbezug der Kontrollschaltungen. Da die Kontrollschaltungen keinen Einfluss auf das zeitliche Verhalten der fehlertoleranten Schaltung haben, ist eine abschließende Überprüfung, ob Entwurfsregeln beibehalten worden sind (engl.: Design Rule Check, DRC), durchaus ausreichend. Auch dieser Verfahrensschritt erfordert keine Änderung an Standardentwurfswerkzeugen.
-
Soll indes eine Simulation mit den Kontrollschaltungen während allen Entwurfsstadien erfolgen können, müssen die Kontrollschaltungen vorab in der ersten bereitgestellten Gatternetzliste vorhanden sein.
-
Das erfindungsgemäße Verfahren bildet insbesondere ein Betriebsverfahren für eine Datenverarbeitungsvorrichtung zum Entwurf von elektrischen Schaltungen.
-
Gemäß einem Vorrichtungsaspekt der Erfindung wird das technische Problem gelöst für eine Vorrichtung zum Entwurf einer SEE-toleranten Schaltung, umfassend:
- – einen Eingang für den Empfang einer ersten Gatternetzliste, die ein Verhalten der zu entwerfenden SEE-toleranten Schaltung durch Spezifizierung einer Vielzahl Logikschaltungsmodelle und/oder Speicherschaltungsmodelle sowie deren Verschaltung untereinander abbildet;
- – eine Modifiziereinheit, die ausgebildet ist, auf eine Zellenbibliothek, die ein fehlertolerantes Logikschaltungsmodell umfasst, das eine selbe logische Funktion wie eines aus der Vielzahl Logikschaltungsmodelle der ersten Gatternetzliste erfüllt und diesem zugeordnet ist, und/oder ein fehlertolerantes Speicherschaltungsmodell, das eine selbe Speicherfunktion wie eines aus der Vielzahl Speicherschaltungsmodelle der ersten Gatternetzliste erfüllt und diesem zugeordnet ist, zuzugreifen und bei der ersten Gatternetzliste mindestens ein Logikschaltungsmodell der ersten Gatternetzliste durch das zugeordnete fehlertolerante Logikschaltungsmodell und/oder mindestens ein Speicherschaltungsmodell durch das zugeordnete fehlertolerante Speicherschaltungsmodell aus der Zellenbibliothek zu ersetzen; und
- – eine Vervielfältigungseinheit, die ausgebildet ist, die erste Gatternetzliste von der Modifiziereinheit zu empfangen und eine redundante zweite, mit der ersten Gatternetzliste identischen Gatternetzliste zu erzeugen;
- – eine Verarbeitungseinheit, die ausgebildet ist, die erste und die zweite Gatternetzliste zu einer dritten Gatternetzliste zu verknüpfen, anhand der die SEE-tolerante Schaltung hergestellt werden kann, wobei die Verarbeitungseinheit ausgebildet ist, beim Verknüpfen für ein jeweiliges Logikschaltungsmodell und/oder ein jeweiliges Speicherschaltungsmodell der ersten Gatternetzliste eine erste Verbindungsleitung zu einem ersten Versorgungsspannungsanschluss eines für die zu entwerfende Schaltung designierten Trägerelements sowie für ein jeweiliges Logikschaltungsmodell und/oder ein jeweiliges Speicherschaltungsmodell der zweiten Gatternetzliste eine zweite Verbindungsleitung zu einem zweiten Versorgungsspannungsanschluss des Trägerelementes vorzusehen und
- – eine dritte Verbindungsleitung zwischen einem Ausgang eines jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste und einem Eingang eines zu dem jeweiligen fehlertoleranten Logikschaltungsmodell redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste sowie eine vierte Verbindungsleitung zwischen einem Eingang des jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste und einem Ausgang des redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste vorzusehen und/oder
- – zwischen einem jeweiligen fehlertoleranten Speicherschaltungsmodell der ersten Gatternetzliste und einem zu diesem redundanten fehlertoleranten Speicherschaltungsmodell der zweiten Gatternetzliste eine Synchronisationsleitung vorzusehen.
-
Die erfindungsgemäße Vorrichtung teilt die Vorteile des Verfahrens des ersten Aspektes der Erfindung und seiner hierin genannten Ausführungsbeispiele.
-
Die Gatternetzliste kann der Vorrichtung sowohl von extern her zugeführt werden als auch vorrichtungsintern mit geeigneten Mitteln generiert werden. Auch die Zellenbibliothek kann sowohl Teil der Vorrichtung sein als auch sich außerhalb der Vorrichtung befinden, beispielsweise auf einem Server eines Netzwerkes. In einer Ausführungsform der Vorrichtung ist die Verarbeitungseinheit ebenfalls ausgebildet, auf die Zellenbibliothek zuzugreifen, beispielsweise, um oben beschriebene Kontrollschaltungen der dritten Gatternetzliste hinzuzufügen.
-
Gemäß einem dritten Aspekt der Erfindung wird das technische Problem gelöst für ein Computergerät, umfassend einen Prozessor und einen in Kommunikation mit dem Prozessor stehenden Speicher, wobei der Speicher maschinenausführbaren Code speichert, der durch den Prozessor ausgeführt werden kann, um zu bewirken, dass das Computergerät das Verfahren des ersten Aspektes der Erfindung ausführt.
-
Das erfindungsgemäße Computergerät teilt die Vorteile des Verfahrens des ersten Aspektes der Erfindung und seiner hierin genannten Ausführungsbeispiele.
-
Gemäß einem vierten Aspekt der Erfindung wird das technische Problem gelöst für ein Computerprogramm, das ausgebildet ist, ein Ausführen des Verfahrens des ersten Aspektes der Erfindung auf einem Computer zu bewirken.
-
Das erfindungsgemäße Computerprogramm impliziert die Vorteile des Verfahrens des ersten Aspektes der Erfindung und seiner hierin genannten Ausführungsbeispiele.
-
Gemäß einem fünften Aspekt der Erfindung wird das technische Problem gelöst für ein maschinenlesbares Medium, das maschinenausführbaren Code enthält, welcher bewirkt, dass ein Computer das Verfahren des ersten Aspektes der Erfindung ausführt.
-
Das erfindungsgemäße Computerprogramm impliziert die Vorteile des Verfahrens des ersten Aspektes der Erfindung und seiner hierin genannten Ausführungsbeispiele.
-
Weitere Vorteile der Erfindung werden bei der folgenden Beschreibung einiger Ausführungsbeispiele anhand der Figuren erläutert. Es zeigen in schematischer Darstellung:
-
1 die durch Anwendung des erfindungsgemäßen Verfahrens erzielte Struktur der SEE-toleranten Schaltung;
-
2 eine geeignete Verschaltung einer Kontrollschaltung innerhalb der SEE-toleranten Schaltung;
-
3 ein Blockdiagramm einer Ausführungsform der erfindungsgemäßen Vorrichtung zum Entwurf der SEE-toleranten Schaltung; und
-
4 ein Flussdiagramm einer Ausführungsform des Verfahrens des ersten Aspektes der Erfindung.
-
1 zeigt die durch Anwendung eines erfindungsgemäßen Verfahrens erzielte Struktur 100 der SEE-toleranten Schaltung. Das erfindungsgemäße Verfahren ist in einer Ausführungsform so konzipiert, dass die beiden Versorgungsspannungsanschlüsse und -leitungen 106 (VDD_1) und 108 (VDD_2) alternierend angeordnet sind. Sowohl der erste Versorgungsspannungsanschluss 106 als auch der zweite Versorgungsspannungsanschluss 108 sind beide über in 1 nicht näher dargestellte Schalter mit einem Hauptversorgungsspannungsanschluss bzw. -leitung 104 (VDD) verbunden. Zwischen den Masseleitungen 102, den Hauptversorgungsspannungsleitungen 104 und der ersten Versorgungsspanungsleitung 106 oder zweiten Versorgungsspannungsleitung 108 sind Logikzellen 110 angeordnet und entweder mit dem Masseanschluss 102 und der ersten Versorgungsspannungsleitung 106 oder mit dem Masseanschluss 102 und der zweiten Versorgungsspannungsleitung 108 verbunden.
-
Die Leerräume 190 zwischen den vertikalen Masseleitungen 102 und den vertikalen Hauptversorgungsspannungsleitungen 104 werden üblicherweise durch Fillerzellen belegt. Manche Fillerzellen werden erfindungsgemäß durch Kontrollschaltungen ersetzt. In 1 markieren die grauschraffierten Zwischenräume 120 den Bereich, wo eine Kontrollschaltung vorgesehen ist. Die Kontrollschaltungen überwachen in 1 von ihnen rechts gelegenen Logikzellen 130 und 140.
-
Die überwachte Logikzelle 130 ist mit dem Masseanschluss 102 und der ersten Versorgungsspannungsleitung 106 verbunden und die überwachte Logikzelle 140 ist mit dem Masseanschluss 102 und der zweiten Versorgungsspannungsleitung 108 verbunden. Alternativ ist es ebenfalls möglich, dass zwei zueinander redundante Schaltungsabschnitte mit einem gemeinsamen Versorgungsspannungsanschluss verbunden sind und über Kontrollschaltungen mit jeweils zwei voneinander getrennten Massenanschlüsse verbunden sind. Die Kontrollschaltungen sind zur Überwachung und Sicherung ihres zugeordneten Schaltungsabschnittes jeweils ausgebildet, die erste oder zweite Versorgungsspannungsleitung zwischen der jeweiligen Kontrollschaltung und des zugeordneten Schaltungsabschnittes zu schalten; d. h. also zu unterbrechen und nach Ablauf einer Zeitspanne wieder einzuschalten. Die genaue Funktion einer Kontrollschaltung wird nun anhand 2 näher erläutert.
-
2 zeigt eine geeignete Verschaltung einer Kontrollschaltung 300 innerhalb der SEE-toleranten Schaltung, wie sie das erfindungsgemäße Verfahren in einer Ausführungsform vorsieht. Eine Kontrollschaltung umfasst eine erste Steuerschaltung 310 zum Überwachen eines mit der ersten Versorgungsspannung 312 (VDD_1) versorgten (in 2 nicht gezeigten) Schaltungsabschnittes und eine zweite Steuerschaltung 320 zum Überwachen eines mit der zweiten Versorgungsspannung 322 (VDD_2) versorgten (in 2 nicht gezeigten) Schaltungsabschnittes. Die erste Versorgungsspannungsleitung 312 ist über einen ersten Schalter 314 mit der Hauptversorgungsspannungsleitung 302 (VDD) verbunden. Der erste Schalter 314 wird von der ersten Steuerschaltung 310 betrieben. Analog ist die zweite Versorgungsspannungsleitung 322 über einen zweiten Schalter 324 mit der Hauptversorgungsspannungsleitung 302 (VDD) verbunden. Der zweite Schalter 324 wird von der zweiten Steuerschaltung 320 betrieben. Die erste 310 und die zweite Steuerschaltung 320 erfassen über einen ersten Sensor 316 oder über einen zweiten Sensor 326 wahlweise den Betrag der ersten oder zweiten Versorgungsspannung oder den Betrag eines ersten oder zweiten Stromes, der über die erste 312 oder zweite Versorgungsspannungsleitung 322 fließt. In Abhängigkeit des erfassten Betrages und in Abhängigkeit eines Ablaufs einer Zeitspanne werden die Schalter geschaltet. Insbesondere werden die Schalter geöffnet, wenn ein Strom einen bestimmten Schwellenwert überschreitet und somit wahrscheinlich ein SEL vorliegt. In einer anderen Ausführungsform werden die Schalter geöffnet, wenn eine der beiden Versorgungsspannungen einen bestimmten Schwellenwert unterschreitet und somit wahrscheinlich ein SEL vorliegt. Bevorzugt umfassen die Steuerschaltungen jeweils einen Timer, der den Ablauf der Zeitspanne anzeigt. Über die komplementären Schalter 315 und 325 können die Kapazitäten nach einem aufgetretenen SEL entladen werden. Der komplementäre Schalter 315 oder 325 wird nur dann geschlossen, wenn der Schalter 314 bzw. 324 geöffnet ist. Damit die Steuerschaltungen unabhängig sind, ist die erste Steuerschaltung 310 an die zweite Versorgungsspannung 322 angeschlossen und die zweite Steuerschaltung 320 an die erste Versorgungsspannung 312.
-
3 zeigt ein Blockdiagramm einer Ausführungsform der erfindungsgemäßen Vorrichtung 200 zum Entwurf der SEE-toleranten Schaltung. Die Vorrichtung 200 umfasst die Modifiziereinheit 210, die mit einer Zellenbibliothek 230 verbunden ist, eine Vervielfältigungseinheit 220, und schließlich eine Verarbeitungseinheit 240. Die Zellenbibliothek kann, wie bereits ausgeführt, Teil der Vorrichtung sein oder sich außerhalb der Vorrichtung befinden. In dieser Ausführungsform ist die Modifiziereinheit direkt mit der Zellenbibliothek über die Leitung 225 verbunden. Es ist aber auch denkbar, dass die Modifiziereinheit 210 auf eine sich extern befindliche Zellenbibliothek 230 zugreift. Es sei ferner angemerkt, dass die folgende Figurenbeschreibung eine rein funktionale Beschreibung bietet. Die dargestellte Anordnung steht in keinem bewussten Zusammenhang zu einer tatsächlichen räumlichen Anordnung der Verarbeitungseinheiten der Vorrichtung und ihrer Verbindung untereinander.
-
Die Modifiziereinheit empfängt die erste Gatternetzliste 204 über den Eingang 201 und modifiziert die erste Gatternetzliste 204 in der oben beschriebenen Art und Weise unter Verwendung von fehlertoleranten Modellen der Zellenbibliothek 230. Die Vervielfältigungseinheit empfängt die (modifizierte) erste Gatternetzliste 205 erzeugt eine redundante zweite Gatternetzliste 207, die mit der ersten Gatternetzliste 205 identisch ist. Dabei bleiben alle Logik- und Speicherschaltungsmodelle der beiden Listen eindeutig referenzierbar. D. h., dass alle Elemente der jeweiligen Gatternetzlisten eindeutige Instanzennamen haben.
-
Beide Gatternetzlisten 205 und 207 werden der Verarbeitungseinheit 240 zugeführt. Die Verarbeitungseinheit 240 verknüpft die erste 205 und die zweite Gatternetzliste 207 zu einer dritten Gatternetzliste 242, anhand der die SEE-tolerante Schaltung hergestellt werden kann. Für ein jeweiliges Logikschaltungsmodell und ein jeweiliges Speicherschaltungsmodell der ersten Gatternetzliste wird dabei eine erste Verbindungsleitung zu einem ersten Versorgungsspannungsanschluss eines für die zu entwerfende Schaltung designierten Trägerelements vorgesehen. Analog wird für ein jeweiliges Logikschaltungsmodell und ein jeweiliges Speicherschaltungsmodell der zweiten Gatternetzliste eine zweite Verbindungsleitung zu einem zweiten, vom ersten getrennten Versorgungsspannungsanschluss des Trägerelementes vorgesehen.
-
Ferner wird eine dritte Verbindungsleitung zwischen einem Ausgang eines jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste und einem Eingang eines zu dem jeweiligen fehlertoleranten Logikschaltungsmodell redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste vorgesehen und eine vierte Verbindungsleitung zwischen einem Eingang des jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste und einem Ausgang des redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste vorgesehen. Außerdem werden redundante Speicherschaltungsmodelle durch Synchronisationsleitungen miteinander verbunden.
-
Die Vorrichtung 200 zum Entwurf der SEE-toleranten Schaltung gibt die dritte Gatternetzliste 242 über ihren Ausgang 203 aus. Anhand der dritten Gatternetzliste lässt sich nach einem dann üblichen Designprozess die SEE-tolerante Schaltung herstellen.
-
4 zeigt ein Flussdiagramm einer Ausführungsform des Verfahrens des ersten Aspektes der Erfindung zum Entwurf einer SEE-toleranten Schaltung. In einem ersten Schritt 410 wird die erste Gatternetzliste, die das Verhalten der zu entwerfenden SEE-Schaltung durch Spezifizierung einer Vielzahl Logikschaltungsmodelle und deren Verschaltung untereinander abbildet, bereitgestellt. Diese erste Gatternetzliste wird gewöhnlich durch Logiksynthese eines mittels einer Hardwarebeschreibungssprache, wie beispielsweise VHDL oder Verilog, festgelegten Designs erzeugt. Bei der Logiksynthese wird gewöhnlich auf Standardzellen einer Standardzellenbibliothek zugegriffen.
-
In einem zweiten Schritt 420 wird die Zellenbibliothek bereitgestellt, die ein fehlertolerantes Logikschaltungsmodell umfasst, das eine selbe logische Funktion wie eines aus der Vielzahl Logikschaltungsmodelle der ersten Gatternetzliste erfüllt und diesem zugeordnet ist sowie ein fehlertolerantes Speicherschaltungsmodell, das eine selbe Speicherfunktion wie eines aus der Vielzahl Speicherschaltungsmodelle der ersten Gatternetzliste erfüllt und diesem zugeordnet ist. Dieser Schritt kann beispielsweise durch Erweiterung der oben beschriebenen Standardzellenbibliothek erfolgen. Es ist möglich, das fehlertolerante Logikschaltungsmodell als ein neues, in sich geschlossenes Modell in der Standardzellenbibliothek aufzunehmen oder durch Kombinieren bereits vorhandener Modelle der Standardzellenbibliothek zu generieren.
-
Im dritten Schritt 430 erfolgt das Modifizieren der ersten Gatternetzliste. Das Modifizieren der ersten Gatternetzliste erfolgt in der in 4 dargestellten Ausführungsform derart, dass alle Flipflops der ersten Gatternetzliste durch fehlertolerante Flipflops ersetzt werden. Ein fehlertolerantes Flipflop umfasst in der betrachteten Ausführungsform ein reguläres Flipflop sowie einen diesem nachgeschalteten Voter. Ebenso werden alle geeigneten Mehrbitspeicherelemente jeweils durch eine Zusammenschaltung aus einem erweiterten Mehrbitspeicherelement umfassend mindestens ein Schutzbit und einer Fehlererkennungs- und Fehlerkorrekturlogik (EDAC-Logik) ersetzt. Kleinere Mehrbitspeicherelemente, wie beispielsweise vergleichsweise kurze Schieberegister mit einer Vielzahl Flipflops werden bevorzugt durch eine Vielzahl fehlertolerante Flipflops ersetzt.
-
Im vierten Schritt 440 erfolgt das Duplizieren der ersten Gatternetzliste durch Erzeugen einer redundanten zweiten, zur ersten Gatternetzliste identischen Gatternetzliste. Beim Erzeugen der zweiten Gatternetzliste werden alle Elemente der zweiten Gatternetzliste neu benannt, so dass jedes Element der ersten und der zweiten Gatternetzliste eindeutig angesprochen werden kann. Den redundanten fehlertoleranten Flipflops sind nominell gleiche Eingangssignale zugeführt.
-
Im fünften Schritt 450 werden die erste und die zweite Gatternetzliste miteinander verknüpft. Zunächst werden dabei für ein jeweiliges Logik- und Speicherschaltungsmodell der ersten Gatternetzliste die erste Verbindungsleitung zu dem ersten Versorgungsspannungsanschluss des für die zu entwerfende Schaltung designierten Trägerelements sowie für ein jeweiliges Logik- und Speicherschaltungsmodell der zweiten Gatternetzliste die zweite Verbindungsleitung zu dem zweiten Versorgungsspannungsanschluss des Trägerelementes vorgesehen. Dies ist eine Voraussetzung zur Erzielung eines wirksamen Schutzes gegen SELs. Im Falle eines SELs kann so ein nicht betroffener Schaltungsabschnitt, der an den ersten oder zweiten Versorgungsspannungsanschluss angeschlossen ist, den betroffenen Schaltungsabschnitt von seinem Versorgungsspannungsanschluss trennen und nach Abklingen des SELs wieder mit dem Versorgungsspannungsanschluss verbinden.
-
Ferner werden im fünften Schritt 450 die dritte Verbindungsleitung zwischen dem Ausgang des jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste und dem Eingang des zu dem jeweiligen fehlertoleranten Logikschaltungsmodell redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste sowie die vierte Verbindungsleitung zwischen dem Ausgang des redundanten fehlertoleranten Logikschaltungsmodells der zweiten Gatternetzliste und dem Eingang des jeweiligen fehlertoleranten Logikschaltungsmodells der ersten Gatternetzliste vorgesehen. In der dargestellten Ausführungsform bedeutet dieser Verfahrensschritt, dass zwei Eingänge jedes Voters innerhalb der jeweils eigenen Gatternetzliste des fehlertoleranten Flipflops wie oben dargestellt angeschlossen sind und das ein dritter Eingang jedes Voters mit dem Ausgang des redundanten fehlertoleranten Flipflops verbunden ist. Zwischen den redundanten EDAC-Speichern werden ferner Synchronisationsleitungen vorgesehen.
-
Durch das Verknüpfen der ersten und der zweiten Gatternetzliste zu einer dritten Gatternetzliste, bei dem zueinander redundante fehlertolerante Logikschaltungsmodelle miteinander auf koppelnde Weise verbunden werden, wirken die zunächst voneinander unabhängigen Schaltungen gemäß der ersten und zweiten Gatternetzliste in redundanter Weise einheitlich. Redundanten Schaltungsabschnitten sind also eingangsseitig zum einen nominell gleiche Eingangssignale zugeführt und zum anderen jeweils ein Ausgangssignal des redundanten Schaltungsabschnittes. Durch diese Kopplung wird insbesondere ein wirksamer Schutz gegen SEUs erzielt.
-
Der fünfte Schritt 450 umfasst zur Erzielung eines wirksamen SEL-Schutzes in der dargestellten Ausführungsform ebenfalls das Einfügen der Kontrollschaltungen gemäß der Darstellung in 2.
-
Die Schritte 430, 440 und 450 werden bevorzugt automatisiert durch ein entsprechend programmiertes Skript durchgeführt.
-
Die so erzeugte dritte Gatternetzliste wird vorteilhaft simuliert und verifiziert, wobei bei der Simulation bevorzugt Störsignale eingeprägt werden, um den SEE-Schutz der Schaltung zu überprüfen.
-
Bevorzugt werden außerdem in (in 4 nicht weiter dargestellten) abschließenden Entwurfsschritten bei dem sogenannten Floorplan Schritt der erste und der zweite Versorgungsspannungsanschluss alternierend angeordnet, so dass zwei jeweils zueinander redundante Schaltungsteile einfach mit getrennter Spannung versorgt werden können. Bevorzugt werden dafür jeweilig zueinander redundanten Logikschaltungen oder Schaltungsabschnitte an zwei um einen bestimmten Abstand versetzten Orten im Trägerelement platziert, so wie in 1 dargestellt. Dadurch hat die aufgrund der Rückkopplung und Kopplung verhältnismäßig aufwendige Verdrahtung der durch Anwendung des erfindungsgemäßen Verfahrens gewonnenen fehlertoleranten Schaltung kaum negative Auswirkungen auf das zeitliche Verhalten der fehlertoleranten Schaltung. Ein sogenanntes Technologie-File wird folglich auch für zwei Versorgungsspannungen vorbereitet.
-
Nachdem die Kontrollschaltungen eingefügt sind, geht es in den üblichen Entwurfsverfahren weiter mit dem Platzieren der Standardzellen, dem Generieren der Taktversorgung und allen weiteren Schritten, die für einen Entwurfsprozess notwendig sind.
-
In einem abschließenden Simulationsprozess ist eine sogenannte Fault-Injection Technik vorteilhaft, um die SEE-Toleranz der Schaltung zu überprüfen.
-
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Entwurf einer SEE-toleranten Schaltung. Das vorgestellte Verfahren und die Vorrichtung zeichnen sich durch den Vorteil aus, dass eine erste Gatternetzliste, die ohne besondere Berücksichtigung eines SEE-tolerante Designs erstellt worden ist, schnell und einfach in ein SEE-tolerantes Design transformiert werden kann. Die Transformation umfasst ein Modifizieren der ersten Gatternetzliste, ein Duplizieren der modifizierten Liste sowie ein anschließendes Verknüpfen beider Gatternetzlisten. Diese Transformation erfolgt bevorzugt automatisiert durch Ausführung eines entsprechend programmierten Skriptes. Der Standardentwurfsprozess für eine integrierte Schaltung kann somit im Wesentlichen beibehalten werden. Außerdem betrifft die Erfindung ein Computergerät zur Ausführung eines Verfahrens zum Entwurf einer SEE-toleranten Schaltung und ein Computerprogramm zum Bewirken einer Ausführung eines Verfahrens zum Entwurf einer SEE-toleranten Schaltung auf einem Computer sowie ein entsprechendes maschinenlesbares Medium.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102006055867 [0008]
- DE 102007024983 [0009]
- DE 102006055867 A1 [0019]
- DE 102007024983 A1 [0019, 0024, 0044, 0047]
-
Zitierte Nicht-Patentliteratur
-
- K. Tiri et. al.: A VLSI Design Flow for Secure Side-Channel Attack Resistant ICs, Design Automation and Test in Europe Conference, DATE 2005, Proceedings March 2005 [0011]