DE102010006383B4 - Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten - Google Patents
Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten Download PDFInfo
- Publication number
- DE102010006383B4 DE102010006383B4 DE201010006383 DE102010006383A DE102010006383B4 DE 102010006383 B4 DE102010006383 B4 DE 102010006383B4 DE 201010006383 DE201010006383 DE 201010006383 DE 102010006383 A DE102010006383 A DE 102010006383A DE 102010006383 B4 DE102010006383 B4 DE 102010006383B4
- Authority
- DE
- Germany
- Prior art keywords
- binary
- output
- input
- circuit component
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00392—Modifications for increasing the reliability for protection by circuit redundancy
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/007—Fail-safe circuits
- H03K19/0075—Fail-safe circuits by using two redundant chains
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/0033—Radiation hardening
- H03K19/00338—In field effect transistor circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Logic Circuits (AREA)
Abstract
Description
- Die Erfindung liegt auf dem Gebiet der Fehlerkorrektur in einer elektronischen Schaltung.
- Hintergrund der Erfindung
- Der Integrationsgrad elektronischer Schaltungen nimmt seit vielen Jahren zu. Die Dimension der Schaltungselemente, etwa der Transistoren, die Abmessungen der Verbindungsstrukturen, die Stromstärken und Spannungswerte nehmen stark ab. Damit verbunden ist eine Zunahme der Häufigkeit von Fehlern.
- Es ist bekannt, Schaltungen oder Teile einer Schaltung durch Schaltungsverdreifachung gegen eine Vielzahl von Fehlern fehlertolerant zu machen. Eine Schaltung S wird in drei Schaltungen S1, S2 und S3 verdreifacht, die funktionell gleich der Schaltung S sind. Die Ausgänge der Schaltungen S1, S2 und S3 werden in einen Voter V geführt, der eine Mehrheitsentscheidung durchführt. Eine Systemverdreifachung, die auch als TMR bezeichnet wird, ist beispielsweise in Barry W. Johnson, „Design and Analysis of Fault Tolerant Digital Systems”, Addison Wesley Publ. Corp. Reading, Ma., 1989, S. 51–53 und
US 6,963,217 B2 beschrieben. Ein beliebiger Fehler in einem der drei Teilsysteme S1, S2, S3, der sich bei einem beliebigen Eingabewert auf den Ausgang einer der Schaltungen S1, S2, oder S3 auswirkt, wird von einem TMR-System toleriert. - In praktischen Anwendungen ist es zum Teil lediglich erforderlich, dass sich das fehlertolerante System nur bei der Eingabe ganz bestimmter Werte besonders zuverlässig verhält, während für andere Eingabewerte eine so hohe Zuverlässigkeit der Ausgabewerte nicht benötigt wird. So sollte etwa eine Schaltung zum Auslösen eines Airbags in Automobilen mit ganz besonders hoher Zuverlässigkeit die Steuersignale zum Auslösen des Airbags beim Eingeben des entsprechenden Auslösesignals erzeugen, während für die Erzeugung der Steuersignale zum Öffnen und Schließen der Zentralverriegelung die hohe Zuverlässigkeitsanforderung nicht zu stellen wäre.
- Nachteilig bei der bekannten Systemverdreifachung mit Voter ist der große Hardware-Aufwand und der mehr als verdreifachte Stromverbrauch im Vergleich zum Originalsystem und dass eine von Anfang an unterschiedliche Zuverlässigkeitsforderung für unterschiedliche Eingabewerte nicht erfolgen kann.
- Das Dokument „Su et al., „An overview of fault-tolerant digital system architecture”, Proceedings of the June 13–16, 1977, national computer conference (AFIPS '77), ACM, New York, NY, USA, S. 19–26” beschreibt einen Überblick zu bekannten Techniken von Fehlertoleranzen in digitalen Systemen.
- Zusammenfassung der Erfindung
- Aufgabe der Erfindung ist es, eine verbesserte elektronische Schaltungsanordnung mit mehreren kombinatorischen Schaltungsanordnungen zum fehlertoleranten Verarbeiten binärer Eingabewerte anzugeben, die mit vermindertem Aufwand realisierbar ist.
- Diese Aufgabe wird erfindungsgemäß durch eine elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten nach dem unabhängigen Anspruch 1 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von abhängigen Unteransprüchen.
- Aufgrund der gebildeten Fehlertoleranz für Eingabewerte aus einer nichtleeren echten Teilmenge X1 aller Eingabewerte X und der Nicht-Fehlertoleranz für Eingabewerte aus einer weiteren nichtleeren Teilmenge X2 aller Eingabewerte X kann der Aufwand für die Realisierung der Schaltungsanordnung gegenüber der bekannten Systemverdreifachung und dem Mehrheitsentscheid vermindert werden. Hierbei ist es vorteilhaft, dass die Teilmenge X1 der Eingabewerte, für die die Schaltungsanordnung fehlertolerant ist, so festgelegt werden kann, dass alle erforderlichen Anforderungen an die Fehlertoleranz der Schaltungsanordnung erfüllt werden. Ein unnötig großer Hardwareaufwand wird vermieden, da der Realisierungsaufwand an die erforderliche Fehlertoleranz anpassbar ist.
- Bei einer vorteilhaften Ausgestaltung der Erfindung kann vorgesehen sein, dass die zweite kombinatorische Schaltungskomponente konfiguriert ist, die binären Eingabewerte x zu verarbeiten, derart, dass der zweite binäre Ausgabewert gleich dem ersten binären Ausgabewert ist.
- Ein Ausführungsbeispiel der Erfindung sieht weitere kombinatorische Schaltungskomponenten vor, die jeweils konfiguriert sind, die binären Eingabewerte x zu dem ersten binären Ausgabewert zu verarbeiten, und deren Ausgang jeweils mit einem Eingang des Mehrheitsvoterelementes verbunden ist. Sind beispielsweise zwei weitere Schaltungskomponenten vorhanden, die binäre Eingabewerte in die ersten binären Ausgabewerte verarbeiten, so ist die Fehlertoleranz für Eingabewerte aus der Teilmenge X1 gleich der Fehlertoleranz eines verfünffachten Systems mit Mehrheitsentscheid, ohne dass der Hardwareaufwand für ein verfünffachtes System mit Mehrheitsentscheid erforderlich ist.
- Eine Fortbildung der Erfindung kann weitere Mehrheitsvoterelemente vorsehen, deren Eingang zum Empfang des jeweiligen binären Ausgabewertes mit dem Ausgang aller kombinatorischen Schaltungskomponenten verbunden ist und welche jeweils konfiguriert sind, in Abhängigkeit von den empfangenen binären Ausgabewerten an ihrem Ausgang ein Mehrheitssignal bereitzustellen. In einer Ausgestaltung sind genau zwei weitere Mehrheitsvoterelemente gebildet. Diese Ausgestaltung ermöglicht es, auch Fehler in einem Voterelement zu tolerieren.
- Bei einer bevorzugten Ausführungsform der Erfindung kann vorgesehen sein, dass der jeweilige Eingang aller kombinatorischen Schaltungskomponenten mit einem Ausgang einer vorgeschalteten Schaltungskomponente verbunden ist, wobei die vorgeschaltete Schaltungskomponente konfiguriert ist, binäre Eingabewerte u ∊ U zu binären Ausgabewerten W, welche zumindest teilweise von den binären Eingabewerten x ∊ X verschieden sind, zu verarbeiten, wobei gilt: X1 ⊂ W. Werden bestimmte Eingabewerte der kombinatorischen Schaltungskomponenten mittels einer vorgeschalteten Schaltung als Ausgabewerte nicht erzeugt, so kann von der vorgesehenen Schaltungsanordnung die Fehlertoleranz nur für die tatsächlich vorhandenen Eingabewerte oder für eine Teilmenge dieser Eingabewerte realisiert werden. Die als Ausgabewerte der vorgeschalteten Schaltung nicht auftretenden Werte brauchen nicht der Menge X1 zugerechnet werden, für die eine Fehlertoleranz erforderlich ist, wodurch sich der Aufwand für eine Realisierung reduzieren lässt, ohne dass Einbußen an Fehlertoleranz auftreten.
- Bei einer vorteilhaften Ausgestaltung der Erfindung sind eine weitere kombinatorische Schaltungskomponente, die konfiguriert ist, die binären Eingabewerte x zu binären Steuersignalen zu verarbeiten, und ein Multiplexerelement vorgesehen, wobei
- – der Ausgang der weiteren kombinatorischen Schaltungskomponente, welcher die binären Steuersignale trägt, mit dem Steuereingang des Multiplexerelementes verbunden ist,
- – ein erster Dateneingang des Multiplexerelementes mit dem Ausgang der ersten kombinatorischen Schaltungskomponente verbunden ist, und
- – ein zweiter Dateneingang des Multiplexerelementes mit dem Ausgang des Mehrheitsvoterelementes verbunden ist.
- In dieser Ausgestaltung werden Einzelfehler der Schaltungskomponenten besonders vorteilhaft toleriert.
- Eine zweckmäßige Fortbildung der Erfindung kann vorsehen, dass die binären Eingabewerte der echten nicht leeren Teilmenge X1 eine Teilmenge von binären Eingabewerten bilden, sodass für eine Menge Φ von Fehlern φ1, ..., φk, die in der ersten kombinatorischen Schaltungskomponente auftreten, gilt: S(x) ≠ S(φ, x) für x ∊ X1, wobei S(φ, x) der binäre Ausgabewert der ersten kombinatorischen Schaltungskomponente ist, wenn der Fehler φ ∊ Φ vorliegt und der binäre Eingabewert x eingegeben wird. Das System lässt sich so in kritischen Bereichen gegen bestimmte Fehler absichern.
- Ein Ausführungsbeispiel der Erfindung sieht vor, dass X2 = (X\X1) ist.
- Bei einer vorteilhaften Ausgestaltung der Erfindung ist vorgesehen, dass der binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente 1 ist und der binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente 0 ist für die binären Eingabewerte aus der weiteren nicht leeren Teilmenge X2.
- Beschreibung bevorzugter Ausführungsbeispiele der Erfindung
- Die Erfindung wird im Folgenden anhand von bevorzugten Ausführungsbeispielen unter Bezugnahme auf Figuren der Zeichnung näher erläutert. Hierbei zeigen:
-
1 eine schematische Darstellung einer bekannten kombinatorischen Schaltung, -
2 eine schematische Darstellung einer bekannten kombinatorischen Schaltung mit einer Verdreifachung, -
3 eine schematische Darstellung einer kombinatorischen Schaltung nach einem Ausführungsbeispiel, -
4 eine schematische Darstellung einer kombinatorischen Schaltung nach dem Ausführungsbeispiel in3 mit einer beispielhaften Schaltungsimplementierung, -
5 eine schematische Darstellung einer kombinatorischen Schaltung nach einem weiteren Ausführungsbeispiel, -
6 eine schematische Darstellung einer kombinatorischen Schaltung nach einem Ausführungsbeispiel mit einer zusätzlichen Schaltung zur Erzeugung eines Steuersignals und einem Multiplexerelement, -
7 eine schematische Darstellung einer kombinatorischen Schaltung nach einem Ausführungsbeispiel mit weiteren kombinatorischen Schaltungskomponenten, -
8 eine schematische Darstellung einer kombinatorischen Schaltung nach einem Ausführungsbeispiel mit mehreren Voterelementen, -
9 eine schematische Darstellung einer kombinatorischen Schaltung nach einem Ausführungsbeispiel mit einem vorgeschalteten Schaltungselement und -
10 eine schematische Darstellung einer weiteren kombinatorischen Schaltung. -
1 zeigt eine bekannte kombinatorische Schaltung S11 , die bei Eingabe eines Eingabewertes x aus einer Eingabemenge X einen Wert y = S(x) ausgibt, sodass die Schaltung S11 die Funktion S(x) realisiert. Die Wortbreite des Eingangs von S11 ist m und n ist die Wortbreite des Ausgangs. Dabei ist m > 1 und n ≥ 1. - In
2 ist dargestellt, wie nach dem Stand der Technik von S11 mit m > 1 und n ≥ 1 durch Systemverdreifachung und einen Voter ein fehlertolerantes, sogenanntes TMR (Triple Modular Redundancy) System realisiert werden kann. - Die kombinatorische Schaltung S
11 von1 ist in 3 kombinatorische Schaltungen S121 , S222 , S323 verdreifacht worden. Die verdreifachten Schaltungen S121 , S222 und S323 realisieren die Funktionen y1 = S1(x), y2 = S2(x) und y3 = S3(x), die jeweils gleich der Funktion y = S(x) sind. Es gilt also für alle x ∈ X, dass S1(x) = S2(x) = S3(x) = S(x) ist. Die n-Bit breiten Ausgänge der Schaltungen S121 , S222 und S323 sind in drei n-Bit breite Eingänge eines Voters V24 geführt, der an seinem Ausgang das n-Bit breite Signal y ausgibt. Für jedes Bit seiner n-Bit breiten Eingänge gibt der Voter den Wert aus, der am häufigsten auftritt. Sind y1 = (y1 / 1 n / 1 1 / 2 n / 2 1 / 3 n / 3 i / 1 i / 2 i / 1 i / 3 i / 2 i / 3 -
3 zeigt eine kombinatorische Schaltung mit einer vorgegebenen Menge X ihrer möglichen Eingabewerte, die für eine echte Teilmenge X1 ⊂ X ihrer Eingabewerte fehlertolerant ist und deren Realisierungsaufwand geringer als eine TMR-Realisierung ist. Im Unterschied zu einer TMR-Realisierung nach dem Stand der Technik, wie etwa in2 beschrieben, bei der die kombinatorische Schaltung S11 durch drei funktional gleiche Schaltungen S121 , S222 , S323 ersetzt wird, ist in der erfindungsgemäßen Schaltung von3 die kombinatorische Schaltung S11 von1 durch die drei Schaltungen S131 , s232 und s333 ersetzt, die nicht alle funktional gleich sind. Die Schaltungen S131 , s232 und s333 werden auch als die erste, die zweite und die dritte kombinatorische Schaltungskomponente der erfindungsgemäßen Schaltungsanordnung von3 bezeichnet. Dabei ist A1 mit A1 = n die Anzahl der binären Ausgänge der ersten Schaltungskomponente und a1 die Anzahl der binären Ausgänge der zweiten und dritten Schaltungskomponente, wobei a1 ≤ A1 ist. Um das Prinzip der Erfindung möglichst verständlich darstellen zu können, wird in3 vorausgesetzt, dass sowohl S131 als auch s232 und s333 nur einen binären Ausgang haben, sodass die Ausgangswortbreite a1 gleich 1 ist. Die Schaltung S131 realisiert die gleiche Funktion y = S1(x) = S(x) wie die Schaltung S11 . Die Schaltungen s232 und s333 realisieren die Funktionen y2 = s2(x) und y3 = s3(x), wobei für x ∈ X1 gilt: s2(x) = s3(x) = S1(x). - Somit gilt: Ist der Eingabewert x aus der echten Teilmenge X1 von X, dann geben im fehlerfreien Fall S1
31 , s232 und s333 jeweils die gleichen Werte aus. Für x ∈ (X\X1) ist mindestens einer der von s232 oder von s333 ausgegebenen Werte s2(x) oder s3(x) gleich S1(x), was formal durch (s2(x) = S1(x)) ∨ (s3(x) = S1(x)) für x ∈ (X\X1) beschrieben wird. Dabei gibt es eine nichtleere Teilmenge X2 ⊆ (X\X1) von X\X1 für die s2(x) ≠ s3(x) für x ∈ X2 ist und für x ∈ X2 sind nur zwei und nicht alle drei der Werte S1(x), s2(x) und s3(x) gleich. Für die Eingabewerte x mit x ∈ X1 gilt, wie schon ausgeführt, S1(x) = s2(x) = s3(x). - Für x ∈ X1 hat die Schaltungsanordnung von
3 die gleichen Fehlertoleranzeigenschaften wie die Schaltungsanordnung von2 , während die Schaltungsanordnung von3 für x ∈ X2 nicht fehlertolerant ist. Dadurch, dass die Fehlertoleranz nur für bestimmte Eingabewerte und nicht für alle x ∈ X gefordert ist, lassen sich die Fehlertoleranzeigenschaften genau an die Erfordernisse anpassen und der Schaltungsaufwand für die Schaltungsanordnung nach3 ist gegenüber dem Schaltungsaufwand von2 überraschenderweise oftmals erheblich vermindert, was vorteilhaft ist. - In Tabelle 1 ist die Wahrheitstafel einer Booleschen Funktion S1(x) = S1(x1, x2, x3) dargestellt, die durch eine fehlertolerante Schaltungsanordnung nach
3 realisiert werden soll. y = S1(x), x1, x2 und x3 sind binäre Variablen. Tabelle 1x1 x2 x3 S1(x) X1 0 0 0 0 + 0 0 1 1 + 0 1 0 0 0 1 1 1 + 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 - Die Menge aller möglichen Eingabewerte der Schaltung ist X = {000, 001, 010, 011, 100, 101, 110, 111}. Die Menge der Eingabewerte X1, für die die Schaltung S fehlertolerant ist, ist X1 = {000, 001, 011}. Eine mögliche Darstellung der Booleschen Funktion S1(x) ist beispielsweise
S1(x) = (x1 ⊕ x3) ∨ (x1 ∧ x2 ∧ x3) (1.1) x1 x2 x3 S1(x) X1 s2(x) s3(x) X\X1 X2 0 0 0 0 + 0 0 0 0 1 1 + 1 1 0 1 0 0 0 1 + + 0 1 1 1 + 1 1 1 0 0 1 0 1 + + 1 0 1 0 0 1 + + 1 1 0 1 0 1 + + 1 1 1 1 0 1 + + - Die Belegungen, die den Mengen X\X1 bzw. X2 zugehören, sind in den mit X\X1 bzw. X2 überschriebenen Spalten mit + markiert. Es ergibt sich aus Tabelle 2, dass die Mengen X\X1 und X2 hier gleich sind. Mögliche Darstellungen der Booleschen Funktionen s2(x) und s3(x) sind,
s2(x) = x 1x3 (1.2)s3(x) = x1 ∨ x2 ∨ x3 (1.3) -
4 zeigt eine Ausführungsform der Schaltungsanordnung nach3 mit den konkreten Schaltungen S = S1, s2 und s3, welche die durch Tabelle 2 und die durch die Gleichungen (1.1), (1.2) und (1.3) beschriebenen Funktionen S1(x), s2(x) und s3(x) realisieren. - Die Schaltungsanordnung von
4 besteht aus den Schaltungen S141 , s242 , s343 und einem Voter V49 . Die Schaltung S1 besteht aus dem XOR-Gatter44 , dem AND-Gatter45 und dem OR-Gatter46 . Die Schaltung s242 besteht aus dem AND-Gatter47 und die Schaltung s343 besteht aus dem OR-Gatter48 . Die das Eingabesignal x1 führende Eingangsleitung ist mit dem ersten Eingang des XOR-Gatters44 , dem ersten Eingang des AND-Gatters45 , dem ersten Eingang des OR-Gatters48 und negiert mit dem ersten Eingang des AND-Gatters47 verbunden. Die das Eingabesignal x2 führende Eingangsleitung ist mit dem zweiten Eingang des AND-Gatters45 und mit dem zweiten Eingang des OR-Gatters48 verbunden. Die das Eingabesignal x3 führende Eingangsleitung ist mit dem zweiten Eingang des XOR-Gatters44 , mit dem dritten Eingang des AND-Gatters45 , mit dem zweiten Eingang des AND-Gatters47 und mit dem dritten Eingang des OR-Gatters48 verbunden. Der Ausgang des XOR-Gatters44 ist mit dem ersten Eingang des OR-Gatters46 verbunden, dessen zweiter Eingang mit dem Ausgang des AND-Gatters45 verbunden ist und dessen Ausgang, der das Signal y1 führt, in den ersten Eingang des Voters V49 geführt ist. Der Ausgang des AND-Gatters47 , der den Wert y2 führt, ist mit dem zweiten Eingang des Voters V49 verbunden. Der Ausgang des OR-Gatters48 , der das Signal y3 führt, ist in den dritten Eingang des Voters V49 geführt. Der Voter V49 gibt an seinem Ausgang das Signal y aus. - Die Schaltung S1
41 besteht aus den 3 Gattern XOR44 , AND45 und OR46 , während die Schaltung s242 nur aus dem AND-Gatter47 besteht und die Schaltung s343 nur aus dem OR-Gatter48 . Es wird deutlich, dass die Schaltungen s2 und s3 weniger Aufwand zu ihrer Realisierung als S1 erfordern. Wird etwa der Eingabewert (x1, x2, x3) = 001 aus der Eingabemenge X1 eingegeben, so geben die Gatter46 ,47 und48 im fehlerfreien Fall jeweils den Wert y1 = y2 = y3 = 1 aus, aus denen der Voter V49 die Mehrheitsentscheidung y = 1 trifft. - Es wird nun angenommen, dass am ersten Eingang des OR-Gatters
46 , der mit dem Ausgang des XOR-Gatters44 verbunden ist, ein stuck-at-0 Fehler vorliegt. Der Wert an diesem Eingang ist dann ständig 0, und bei Eingabe von 001 aus X1 gibt nun das OR-Gatter46 und damit die Schaltung S141 den fehlerhaften Wert 0 aus. Da die Schaltungen s242 und s343 von diesem Fehler nicht betroffen sind, geben sie beide weiterhin den Wert 1 aus, sodass der Voter V49 aus seinem Eingabewert (y1y2y3) = 011 den korrekten Ausgabewert y = 1 bildet, wodurch der Fehler toleriert wird. - Ebenso werden Fehler in den Teilschaltungen s2 oder s3 bei Eingabe von Werten x ∈ X1 toleriert. So kann beispielsweise ein Fehler am Ausgang der Schaltung s2
42 dadurch hervorgerufen werden, dass am zweiten Eingang des AND-Gatters47 , der das Signal x3 führt, ein stuck-at-0 Fehler auftritt, sodass dieser Eingang stets den Wert 0 führt. Bei Eingabe von 001 liegt nun am Ausgang des AND-Gatters47 der Wert 0 anstelle des korrekten Wertes 1 an und die Schaltung s242 gibt den fehlerhaften Wert 0 aus. Die Schaltungen S141 und s343 geben jedoch jeweils den korrekten Wert 1 aus, wodurch der Voter V49 das korrekte Ergebnis y = 1 erzeugt. - Für denselben Fehler liegt bei Eingabe von 011 am Ausgang des XOR-Gatters
44 der Wert 1 und am Ausgang des AND-Gatters45 der Wert 0 an, sodass das OR-Gatter46 und damit die Schaltung S141 den Wert 1 ausgibt. Am Ausgang des OR-Gatters48 und damit am Ausgang der Schaltung s343 liegt ebenfalls der Wert 1 an. Am Ausgang des AND-Gatters47 und somit am Ausgang der Schaltung s242 liegt der Wert 0 an. Der Voter V49 bildet aus den an seinen Eingängen anliegenden Signalen 101 das Mehrheitssignal 1, und der Fehler der Schaltung s242 wird bei Eingabe von 011 aus der Menge X1 toleriert. Ganz analog ergibt sich, dass jeder Fehler, der nur eine der Teilschaltungen S1, s2 oder s3 betrifft, bei Eingabe eines beliebigen x ∈ X1 von der Schaltung nach4 toleriert wird. - In einem weiteren Ausführungsbeispiel soll nun eine kombinatorische Schaltung S mit 3 Inputs x1, x2, x3 und A1 = 3 binären Ausgängen y1, y2, y3 betrachtet werden. Die kombinatorische Schaltung S realisiert die drei Booleschen Funktionen S
1 / 1 2 / 1 3 / 1 1 / 1 2 / 1 3 / 1 1 / 1 2 / 1 3 / 1 1 / 1 1 / 2 1 / 3 1 / 2 1 / 3 2 / 1 2 / 2 2 / 3 2 / 2 2 / 3 3 / 1 1 / 1 2 / 1 3 / 1 1 / 2 2 / 2 1 / 3 2 / 3 - Für den Eingabewert 011, d. h. für X1 = {011} soll eine erfindungsgemäße Schaltungsanordnung bestimmt werden, die für die ersten beiden Outputs y1 und y2 fehlertolerant ist. Für die Eingabewerte X\X1 = {000, 001, 010, 100, 101, 110, 111} ist keine Fehlertoleranz vorgesehen. Für den Output y3 sei unabhängig vom Input keine Fehlertoleranz erforderlich. Tabelle 3
- Tabelle 4 zeigt eine Wahrheitstabelle für die Funktionen S
1 / 1 2 / 1 3 / 1 1 / 2 2 / 2 1 / 3 2 / 3 S 1 / 1(011) = s 1 / 2(011) = s 1 / 3(011) = 0 S 2 / 1(011) = s 2 / 2(011) = s 2 / 3(011) = 1. -
- Mindestens einer der Werte s
1 / 2 1 / 3 1 / 1 2 / 2 2 / 3 2 / 1 -
5 zeigt eine entsprechende Schaltungsanordnung, die speziell für den Eingabewert x1x2x3 = 011 an den ersten beiden Outputs y1 und y2 fehlertolerant ist. Die Schaltung S zur Implementierung der Booleschen Funktionen S1 / 1 2 / 1 3 / 1 51 ,52 ,53 ,54 ,55 ,56 und57 . Die Schaltung zur Implementierung der Booleschen Funktionen s1 / 2 2 / 2 58 und59 . Die Schaltung zur Implementierung der Booleschen Funktionen s1 / 3 2 / 3 510 und511 . Am Ausgang des Gatters510 liegt immer der Wert 0 und am Ausgang des Gatters511 immer der Wert 1 an. Es ist zu erkennen, dass der Hardware-Aufwand für die Realisierung der Funktionen s1 / 2 2 / 2 1 / 3 2 / 3 1 / 1 1 / 2 - Die das binäre Signal x1 tragende Eingangsleitung ist unnegiert in den jeweils ersten Eingang des AND-Gatters
53 , des AND-Gatters510 und des OR-Gatters511 geleitet. In negierter Form ist x1 in den jeweils ersten Eingang des AND-Gatters52 , des AND-Gatters56 , des NAND-Gatters58 , des AND-Gatters59 und in den jeweils zweiten Eingang des AND-Gatters510 sowie des OR-Gatters511 geführt. Die das binäre Signal x2 tragende Eingangsleitung ist in den ersten Eingang des XNOR-Gatters51 , in den zweiten Eingang des AND-Gatters52 , in den ersten Eingang des OR-Gatters55 , in den ersten Eingang des XOR-Gatters57 , in den zweiten Eingang des NAND-Gatters58 und in den zweiten Eingang des AND-Gatters59 geführt. Die das binäre Signal x3 tragende Leitung ist unnegiert mit dem zweiten Eingang des XNOR-Gatters51 , dem zweiten Eingang des XOR-Gatters57 , dem dritten Eingang des NAND-Gatters58 , dem dritten Eingang des AND-Gatters59 und negiert mit dem dritten Eingang des AND-Gatters52 sowie dem zweiten Eingang des OR-Gatters55 verbunden. - Der Ausgang des XNOR-Gatters
51 ist mit dem zweiten Eingang des AND-Gatters53 verbunden, dessen Ausgang in den ersten Eingang eines OR-Gatters54 geführt ist. - Der Ausgang des AND-Gatters
52 ist mit dem zweiten Eingang des OR-Gatters54 verbunden, dessen Ausgang den Wert S1 / 1 512 geführt ist. - Der Ausgang des OR-Gatters
55 ist mit dem zweiten Eingang des AND-Gatters56 verbunden, dessen Ausgang das Signal S2 / 1 513 verbunden ist. - Der Ausgang des XOR-Gatters
57 trägt den Wert y3(x) der von der Schaltung S ausgegeben wird. Der Ausgang des NAND-Gatters58 führt das Signal s1 / 2 512 verbunden, während der Ausgang des AND-Gatters59 , der das Signal s2 / 2 513 verbunden ist. - Der Ausgang des AND-Gatters
510 , der das hier konstante Signal s1 / 3 512 verbunden, während der Ausgang des OR-Gatters511 , der das hier konstante Signal s2 / 3 513 verbunden ist. Der Voter V1512 gibt an seinem Ausgang den Ausgabewert y1(x) aus, während der Voter V2513 an seinem Ausgang den Ausgabewert y2(x) ausgibt. Die Voter V1512 und V2513 , die bitweise eine Mehrheitsentscheidung treffen, sind in5 zu einem Voter V514 zusammengefasst. Der Ausgang des XOR-Gatters57 ist ein Output der Schaltung, der das Ausgabesignal y3(x) trägt. Dieser Output ist nicht fehlertolerant implementiert. - Die das Signal y1(x) bzw. y2(x) tragenden Ausgänge der Voter V1
512 und V2513 sind die fehlertolerant implementierten Schaltungsausgänge. Die Voter V1512 und V2513 , die jeweils eine Mehrheitsentscheidung über die drei an ihren Eingängen anliegenden Eingänge durchführen, sind zu einem Voter V514 mit 6 Eingängen und 2 Ausgängen zusammengefasst. Der Voter V1512 führt eine Mehrheitsentscheidung über seine an seinen Eingängen anliegenden Werte S1 / 1 1 / 2 1 / 3 513 führt eine Mehrheitsentscheidung über seine an seinen Eingängen anliegenden Werte S2 / 1 2 / 2 2 / 3 - Die Schaltung von
5 ist an den Outputs y1 und y2 fehlertolerant für den Eingabewert 011. Liegt dieser Eingabewert an den Inputs an, so ergibt sich S1 / 1 1 / 2 1 / 3 2 / 1 2 / 2 2 / 3 1 / 1 1 / 2 1 / 3 512 toleriert. Ebenso gilt: Ist im Fall eines Fehlers nur einer der Werte S2 / 1 2 / 2 2 / 3 513 toleriert. - Bei Eingabe von 100 ergibt sich im fehlerfreien Fall S
1 / 1 1 / 2 1 / 3 512 den korrekten Wert y1(1, 1, 0) = 1 generiert. Liegt nun am ersten Eingang des AND-Gatters53 , der den Wert x1 = 1 führt, ein stuck-at-0 Fehler vor, so liegt am ersten und zweiten Eingang des OR-Gatters54 der Wert 0 an, sodass dieses Gatter an seinem Ausgang den fehlerhaften Wert 0 ausgibt, wodurch der Voter V1512 die Eingabe 0, 1, 0 in 0 verarbeitet. Für die Eingabe (1, 0, 0) ∈ X2 wird der Fehler nicht toleriert. Der Ausgang y3, der durch den Ausgang des XOR-Gatters57 gebildet wird, ist nicht fehlertolerant implementiert. - In völlig analoger Weise ergibt sich, dass die Schaltung von
5 bei Eingabe von (0, 1, 1) ∈ X1 fehlertolerant an ihrem zweiten Ausgang ist, der das Signal y2(x) trägt, da wie schon ausgeführt, S2 / 1 2 / 2 2 / 3 -
6 zeigt eine weitere Ausgestaltung einer kombinatorischen Schaltungsanordnung. Die kombinatorische Schaltung S = S161 ist durch zwei kombinatorische Schaltungen s262 und s363 ergänzt. Dabei ist die kombinatorische Schaltung S161 die erste kombinatorische Schaltungskomponente, die kombinatorische Schaltung s262 die zweite kombinatorische Schaltungskomponente und die kombinatorische Schaltung s363 die dritte kombinatorische Schaltungskomponente der erfindungsgemäßen Schaltungsanordnung. Die Menge der möglichen Eingabewerte der Schaltung S ist mit X bezeichnet. Die Menge der Eingabewerte, für die die Schaltungsanordnung von6 fehlertolerant ist, ist mit X1 bezeichnet. Dabei ist X1 eine echte Teilmenge von X. Die Schaltungsanordnung ist so bestimmt, dassS(x) = S1(x) = s2(x) = s3(x) für x ∈ X1 mit X1 ⊂ X (S1(x) = s2(x)) oder (S1(x) = s3(x)) für x ∈ X s1(x) ≠ s2(x) für X ∈ X2 - Es sind weiterhin eine kombinatorische Schaltung σ
66 zur Realisierung einer Booleschen Funktion σ(x) und ein Multiplexer MUX65 vorhanden. Die Boolesche Funktion σ(x) ist durch festgelegt. Dabei ist b ein fester Wert, der entweder zu 0 oder 1 festgelegt werden kann. Ist x ∈ (X\(X1 ∪ X2)), dann ist σ(x) beliebig festlegbar. Ein Fachmann wird σ(x) für x ∈ (X\(X1 ∪ X2)) aufgabengemäß etwa durch ein CAD-Tool so bestimmen, dass die Schaltung σ zur Implementierung der Booleschen Funktion σ(x) möglichst einen geringen Flächenaufwand hat. Der das Signal S1(x) tragende Ausgang der kombinatorischen Schaltung S161 ist in den ersten Eingang eines Voters V64 geführt, an dessen zweiten Eingang der das Signal s2(x) tragende Ausgang der kombinatorischen Schaltung s262 angeschlossen ist und an dessen dritten Eingang der das Signal s3(x) tragende Ausgang der kombinatorischen Schaltung s363 angeschlossen ist. Der das Signal m(x), das die Mehrheit der Werte von S1(x), s2(x) und s3(x) darstellt, führende Ausgang des Voters V64 ist mit einem ersten Dateneingang des Multiplexers MUX65 verbunden, in dessen zweiten Dateneingang der Ausgang der kombinatorischen Schaltung S161 geleitet ist und dessen Datenausgang das Signal y(x) führt. Der Steuereingang des Multiplexers MUX65 ist mit dem das Steuersignal σ(x) tragenden Ausgang der Kombinatorik σ66 verbunden. - Im Folgenden wird bei der Beschreibung der Funktionsweise der Schaltungsanordnung von
6 b = 1 angenommen, um die Beschreibung zu vereinfachen. Völlig analog ist auch eine Beschreibung mit b = 0 möglich. Ist x ∈ X1, dann ist σ(x) = 1 und der Multiplexer MUX65 verbindet seinen entsprechenden 1-Eingang mit seinem Ausgang, sodass y(x) = m(x) gilt. Außerdem gilt S1(x) = s2(x) = s3(x) und der Voter V64 bestimmt den Wert m(x) = S1(x) = s2(x) = s3(x), der an den Ausgang y(x) geleitet wird. - Es werden nun einzelne Fehler einzelner Schaltungsteile betrachtet. Ist nur einer der Ausgabewerte S1(x), s2(x) oder s3(x) für x ∈ X1 fehlerhaft, so wird dieser fehlerhafte Wert durch die Mehrheitsentscheidung des Voters korrigiert und der korrekte Wert y(x) wird ausgegeben. Ist der von der Schaltung σ
66 generierte Steuerwert σ(x) fehlerhaft gleich 0, dann wird der korrekte Wert S1(x) an den Ausgang des Multiplexers MUX65 weitergeleitet und es gilt wieder korrekt y(x) = S(x). Ist x ∈ X2, dann ist σ(x) = 0 und der Ausgang der Schaltung S161 wird an den Ausgang des Multiplexers65 weitergeleitet, sodass y(x) = S1(x) gilt. Ist nun der Ausgabewert S1(x) fehlerhaft, so wird der fehlerhafte Wert an den Ausgang der Schaltungsanordnung geleitet. Das ist der einzige Fall, in dem ein Fehler an einer der Schaltungsteile S61 , s262 , s363 , σ66 sich als Fehler am Ausgangswert y(x) auswirkt. Weitere einzelne Fehler der aufgelisteten Schaltungskomponenten wirken sich nicht aus. - Die Fehlerbehandlung im Voter
64 und im Multiplexer65 ist nicht Gegenstand der Patentansprüche und wird hier deshalb nicht behandelt. - Soll beispielsweise eine Fehlertoleranz der kombinatorischen Schaltung S bezüglich einer Menge von technischen Fehlern {φ1, ..., φk} = Φ erreicht werden, so wird die Menge X1 so gewählt, dass X1 alle die Eingabewerte enthält, bei denen sich ein beliebiger Fehler φ ∈ Φ auf das Ausgabeverhalten von S1 auswirkt.
- Als konkretes Beispiel für die Bestimmung der Booleschen Funktionen σ(x), s2(x), s3(x) soll nun eine kombinatorische Schaltung S mit betrachtet werden, die fehlertolerant für die Menge der Eingabewerte X1 = {0000, 0010, 0111, 1110, 1111} sein soll. Die erste kombinatorische Schaltungskomponente mit A1 = a1 = 1 realisiert die Boolesche Funktion S1(x), die zweite kombinatorische Schaltungskomponente realisiert die Boolesche Funktion s2(x) und die dritte kombinatorische Schaltungskomponente realisiert die Boolesche Funktion s3(x).
- Tabelle 5 zeigt in den ersten vier Spalten die Eingabewerte für x1, x2, x3, x4 und in der fünften Spalte die Funktionswerte der Booleschen Funktion S1(x). In der sechsten Spalte sind die Zeilen mit + markiert, für deren Eingabebelegungen die erfindungsgemäße Schaltungsanordnung fehlertolerant sein soll. Es sind dies die erste, die dritte, die 8-te, die 15-te und die 16-te Zeile. Für die diesen Zeilen entsprechenden Eingangsbelegungen 0000, 0010, 0111, 1110 und 1111 sind die Werte der Booleschen Funktionen s2(x) und s3(x) gleich und stimmen ebenfalls mit S1(x) überein, sodass
S1(x) = s2(x) = s3(x) für x ∈ X1 - Beispielhaft wird angenommen, dass s2(x) als s2(x) = x2(x3 ∨ x4) bestimmt ist. Für diese Funktion sind die Funktionswerte in Spalte 8 von Tabelle 5 eingetragen. Es wird nun beschrieben wie die Boolesche Funktion s3(x) bestimmt werden kann.
- Für x ∈ X1 gilt s3(x) = S1(x), wie auch für die Funktion s2(x). Damit gilt s3(0000) = S1(0000) = 0, s3(0010) = S1(0010) = 0, s3(0111) = S1(0111) = 1, s3(1110) = S1(1110) = 1, s3(1111) = S1(1111) = 1. Für die Eingabewerte x, für die s2(x) ≠ S1(x) gilt, wird s3(x) = S1(x) gesetzt. Tabelle 5 ist zu entnehmen, dass die Ungleichung s2(x) ≠ S1(x) für x ∈ {1011, 1100, 1101} erfüllt ist. Damit gilt s3(1011) = S1(1011) = 1, s3(1100) = S1(1100) = 1 und s3(1101) = S1(1101) = 0. Die bisher noch nicht festgelegten Werte für s3(x) können wieder beliebig festgelegt werden. Ein Fachmann wird alle der bisher noch nicht festgelegten Werte von s3(x) zu don't-care setzen. Im konkreten Fall sind das die Werte für s3(0001), s3(0011), s3(0100), s3(0101), s3(0110), s3(1000), s3(1001), s3(1010) für die Werte don't-care gesetzt werden können. Dann wird er die so beschriebene partiell definierte Boolesche Funktion beispielsweise mit einem üblichen CAD-Tool optimieren, wie das im Schaltungsentwurf üblich ist. Tabelle 5
-
- Es wird nun beschrieben, wie die Funktion σ bestimmt ist, die in Spalte 10 von Tabelle 5 dargestellt ist. In den Zeilen, die mit + in der mit X1 überschriebenen Spalte markiert sind, ist der Wert von σ(x) gleich 1. Das sind die erste, die dritte, die 8-te, die 15-te und die 16-te Zeile, die den Belegungen 0000, 0010, 0111, 1110 und 1111 zugeordnet sind. In den Zeilen, in denen s2(x) und s3(x) ungleich sind, ist der Wert von σ(x) gleich 0. Das sind die 5-te, 11-te, 12-te, 13-te und 14-te Zeile, die den Belegungen 0100, 1010, 1011, 1100 und 1101 zugeordnet sind. Alle noch nicht festgelegten Werte sind wieder beliebig oder don't-care zu wählen. Wie im Schaltungsentwurf üblich, kann wieder beispielsweise mit einem CAD-Tool die Funktion σ bestimmt werden, die mit den in Spalte 10 schon festgelegten Werten übereinstimmt. Beispielhaft wird angenommen, dass σ alsbestimmt wurde. Die Funktionswerte dieser Funktion sind in Spalte 10 von Tabelle 5 eingetragen.
- Es ergibt sich, dass gilt
Ist x ∈ X1, dann folgt σ(x) = 1 (Zeile 1, 3, 8, 15, 16)
Ist σ(x) = 1, dann folgt S1(x) = s2(x) = s3(x) (Zeile 1, 2, 3, 4, 7, 8, 15, 16)
Ist s2(x) ≠ s3(x), dann folgt σ(x) = 0 (Zeile 5, 11, 12, 13, 14)
Ist σ(x) = 0, dann kann s2(x) = s3(x) = S1(x) (z. B. Zeile 9) oder s2(x) ≠ s3(x) (z. B. Zeile 5) sein - Die Menge der Eingabewerte X2, für die s2(x) ≠ s3(x) ist, ist in Spalte 7, die mit X2 überschrieben ist, durch ein + markiert. Sie bilden die Menge {0100, 1010, 1011, 1100, 1101} = X2. Weiterhin gilt hier:
(X\X1) = {0001, 0011, 0100, 0101, 0110, 1000, 1001, 1010, 1011, 1100, 1101}, (X\X1) ⊃ X2, X2 = {0100, 1010, 1011, 1100, 1101} -
7 zeigt eine weitere Ausgestaltung einer Schaltungsanordnung zur fehlertoleranten Realisierung einer kombinatorischen Schaltung S, die eine besonders wirksame Fehlertoleranz realisiert. In7 ist die kombinatorische Schaltung S dreimal funktionsgleich als S171 , S272 und S373 realisiert, sodass für alle x ∈ X aus der Menge der möglichen EingabewerteS(x) = S1(x) = S2(x) = S3(x) für x ∈ X - X1 bezeichnet die Teilmenge der Eingabewerte, für die eine besonders hohe Fehlertoleranz erreicht werden soll. Die drei Schaltungen S1
71 , S272 und S373 sind durch die beiden kombinatorischen Schaltungen s474 und s575 ergänzt, sodassS(x) = s4(x) = s5(x) für x ∈ X1 (S(x) = s4(x)) oder (S(x) = s5(x)) für x ∈ X s4(x) ≠ s5(x) für x ∈ X2 - An jeder der kombinatorischen Schaltungen S1
71 , S272 , S373 , s474 und s575 liegt der gleiche Eingabewert x an. Für i = 1, 2, 3 ist der das Ausgabesignal Si(x) tragende Ausgang der kombinatorischen Schaltung Si in den i-ten Eingang des Voters V76 geführt. Der das Ausgabesignal s4(x) tragende Ausgang der kombinatorischen Schaltung s4 ist in den vierten Eingang des Voters V76 geführt, während der das Ausgabesignal s5(x) tragende Ausgang der kombinatorischen Schaltung s5 mit dem fünften Eingang des Voters V76 verbunden ist. Der Voter V76 mit 5 Eingängen gibt an seinem Ausgang den Wert m(x) = y(x) aus, wobei m(x) der Wert ist, der an den 5 Eingängen des Voters V76 am häufigsten auftritt. - Ist x ∈ X1, so liegen im fehlerfreien Fall 5 gleiche Werte am Eingang des Voters V
76 an und bis zu zwei fehlerhafte Werte als Ausgabe von S171 , S272 , S373 , s474 und s575 werden von der Schaltung in7 toleriert. Ist x ∈ X2, dann liegen im fehlerfreien Fall 4 gleiche Werte als Ausgabe von S171 , S272 , S373 , s474 und s575 am Eingang des Voters V76 an und ein fehlerhafter Wert wird von der Schaltung in7 toleriert. - Für x ∈ X1 hat die Schaltungsanordnung von
7 die Fehlertoleranzeigenschaften eines fehlertoleranten Systems mit Systemverfünffachung und für x ∈ (X\X1) mindestens eines Systems mit Systemverdreifachung, wobei der Aufwand geringer als für die Systemverfünffachung ist. - Die erste kombinatorische Schaltungskomponente S1
71 realisiert die Funktion S1(x), die zweite kombinatorische Schaltungskomponente s474 realisiert die Funktion s4(x) und die dritte kombinatorische Schaltungskomponente s575 realisiert die Funktion s5(x). Diese Schaltungskomponenten sind durch zwei weitere kombinatorische Schaltungskomponenten S272 und S373 ergänzt, die ebenfalls jeweils die gleiche Funktion wie die erste Schaltungskomponente realisieren. -
8 zeigt eine weitere Ausführung einer Schaltungsanordnung zur Fehlertoleranz. Die Schaltungen S181 , s282 und s383 sind den Schaltungen S131 , s232 und s333 von3 gleich. In8 ist ein Voter dreimal als Voter V184 , V285 und V386 vorhanden. - Der das Signal S1(x) tragende Ausgang der kombinatorischen Schaltung S1(x) ist gleichzeitig in die jeweils ersten Eingänge der Voter V1
84 , V285 und V386 geführt. Der das Signal s2(x) tragende Ausgang der kombinatorischen Schaltung s282 ist gleichzeitig in den jeweils zweiten Eingang der Voter V184 , V285 und V386 geführt, während der das Signal s3(x) tragende Ausgang der Schaltung s383 mit dem jeweils dritten Eingang der Voter V184 , V285 und V386 verbunden ist. Die Voter V184 , V285 und V386 geben die Mehrheitssignale m1(x), m2(x) bzw. m3(x) aus. Ist ein Voter fehlerhaft, so ist die Mehrzahl der Mehrheitssignale korrekt. -
9 zeigt eine weitere Schaltungsanordnung zur Fehlertoleranz. Die Schaltungsanordnung von9 besteht aus einer Schaltung S96 , die fehlertolerant bezüglich der Eingabemenge X1 ist und der eine Schaltung T95 vorgeschaltet ist. Die Schaltung S96 besteht aus den Schaltungen S191 , s292 und s393 und einem Voter V94 , wie sie auch in3 beschrieben ist. - Die Schaltung T
95 verarbeitet Eingabewerte u aus einer Menge U von Eingaben in Ausgabewerte T(u), die die Menge der Ausgabewerte W der Schaltung T95 bilden. Mit k, k ≥ 2, ist die Wortbreite des Ausgangs der Schaltung T95 bezeichnet, der gleichzeitig mit den m-Bit breiten Eingängen der Schaltungen S191 , s292 und s393 verbunden ist, wobei m = k gilt. - Die Menge der prinzipiell möglichen Eingänge der Schaltung S
96 ist X = {0, 1}k, d. h. die Menge aller k-stelligen Binärvektoren. - Ist die Schaltung T
95 so beschaffen, dass W eine echte Teilmenge von X ist, dann ist in9 X1 ⊂ W gewählt, und die Schaltung S ist fehlertolerant für alle Eingabewerte aus der Menge X1, wobei X1 eine echte Teilmenge von W ist. - Der Ausgang der Schaltung T
95 ist gleichzeitig mit den Eingängen der Schaltungen S191 , s292 und s393 verbunden. Der Ausgang der Schaltung S191 ist mit dem ersten Eingang eines Voters V94 mit drei Eingängen verbunden. Der Ausgang der Schaltung s292 ist mit dem zweiten Eingang des Voters V94 verbunden und der Ausgang der Schaltung s393 ist mit dem dritten Eingang des Voters V94 verbunden, der an seinem Ausgang ein Mehrheitssignal m(x) ausgibt. - Eine Schaltung T
101 , die Eingabewerte u = u1u2 ∈ {00, 01, 10, 11} in Ausgabewerte T(u) = T1(u)T2(u) = x1x2 ∈ {00, 01, 11} ⊂ {00, 01, 10, 11} verarbeitet ist in10 dargestellt. Die Menge {00, 01, 11} der Ausgabewerte der Schaltung T101 ist eine echte Teilmenge der Menge X = {0, 1}2 = {00, 01, 10, 11} aller möglichen Eingabewerte der Schaltung S104 . Somit ist es möglich, X1 als Teilmenge von W = {00, 01, 11} zu wählen, beispielsweise als X1 = {00, 01}, für die die Schaltung S104 eine erfindungsgemäße fehlertolerante Schaltung ist. - Die Schaltung T
101 besteht aus einem AND-Gatter102 und einem OR-Gatter103 , in die die Eingabewerte u = u1u2 ∈ {00, 01, 10, 11} eingegeben werden und die durch die Schaltung T101 in die Ausgabewerte T(u) = T1(u)T2(u) ∈ {00, 01, 11} verarbeitet werden. Der die erste Komponente u1 des Eingabewertes u tragende Eingang der Schaltung T101 ist mit dem jeweils ersten Eingang der Gatter AND102 und OR103 verbunden, in deren jeweils zweiten Eingang der die zweite Komponente u2 des Eingabewertes u tragende Eingang der Schaltung T101 geführt ist. Das AND-Gatter102 gibt die erste Komponente T1(u) und das OR-Gatter103 gibt die zweite Komponente T2(u) des Ausgabewertes T(u) aus. - Die in der vorstehenden Beschreibung, den Ansprüchen und der Zeichnung offenbarten Merkmale der Erfindung können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung der Erfindung in ihren verschiedenen Ausführungsformen von Bedeutung sein.
Claims (9)
- Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten x ∈ X der Wortbreite n (n > 1), mit: – einer ersten kombinatorischen Schaltungskomponente (
31 ;41 ;61 ;71 ;81 ;91 ), die konfiguriert ist, die binären Eingabewerte x zu einem ersten binären Ausgabewert mit der Wortbreite a1(a1 ≥ 1) zu verarbeiten und am Ausgang der ersten kombinatorischen Schaltungskomponente (31 ;41 ;61 ;71 ;81 ;91 ), welcher mit einer Anzahl A1(A1> 1) binärer Ausgänge gebildet ist, bereitzustellen, wobei gilt: A1 ≥ a1, – einer zweiten kombinatorischen Schaltungskomponente (32 ;42 ;62 ;74 ;82 ;92 ), die konfiguriert ist, die binären Eingabewerte x zu einem zweiten binären Ausgabewert zu verarbeiten, – einer dritten kombinatorischen Schaltungskomponente (33 ;43 ;63 ;75 ;83 ;93 ), die konfiguriert ist, die binären Eingabewerte x zu einem dritten binären Ausgabewert zu verarbeiten, und – einem Mehrheitsvoterelement (34 ;49 ;64 ;76 ;84 ;94 ), dessen Eingang zum Empfang des jeweiligen binären Ausgabewertes mit dem Ausgang der ersten, der zweiten und der dritten kombinatorischen Schaltungskomponente (31 ,32 ,33 ;41 ,42 ,43 ;61 ,62 ,63 ;71 ,74 ,75 ;81 ,82 ,83 ;91 ,92 ,93 ) verbunden ist und welches konfiguriert ist, in Abhängigkeit von den empfangenen binären Ausgabewerten an seinem Ausgang ein Mehrheitssignal bereitzustellen, wobei die zweite und die dritte kombinatorische Schaltungskomponente (32 ,33 ;42 ,43 ;62 ,63 ;74 ,75 ;82 ,83 ;92 ,93 ) den folgenden Merkmalen entsprechend ausgelegt sind: – im fehlerfreien Fall sind für alle binären Eingabewerteder zweite binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente (32 ;42 ;62 ;74 ;82 ;92 ) und der dritte binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente (33 ;43 ;63 ;75 ;83 ;93 ) gleich dem ersten binären Ausgabewert der ersten kombinatorischen Schaltungskomponente (31 ;41 ;61 ;71 ;81 ;91 ), wobei X1 eine echte nicht leere Teilmenge der Menge der binären Eingabewerte X ist, X1 ⊂ X, – für alle binären Eingabewerte x ∈ (X\X1) x ∈ (X\X1) ist mindestens der zweite binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente (32 ;42 ;62 ;74 ;82 ;92 ) oder mindestens der dritte binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente (33 ;43 ;63 ;75 ;83 ;93 ) gleich dem ersten binären Ausgabewert der ersten kombinatorischen Schaltungskomponente (31 ;41 ;61 ;71 ;81 ;91 ), – für alle binären Eingabewerte x ∈ X2 sind der zweite binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente (32 ;42 ;62 ;74 ;82 ;92 ) und der dritte binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente (33 ;43 ;63 ;75 ;83 ;93 ) ungleich, wobei X2 eine weitere nicht leere Teilmenge ist, welche von der Teilmenge X1 verschieden ist, X2 ⊆ (X\X1), und wobei die zweite kombinatorische Schaltungskomponente (32 ;42 ;62 ;74 ;82 ;92 ) und/oder die dritte kombinatorische Schaltungskomponente (33 ;43 ;63 ;75 ;83 ;93 ) weniger Gatter aufweisen als die erste kombinatorische Schaltungskomponente (31 ;41 ;61 ;71 ;81 ;91 ). - Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die zweite kombinatorische Schaltungskomponente konfiguriert ist, die binären Eingabewerte x zu verarbeiten, derart, dass der zweite binäre Ausgabewert gleich dem ersten binären Ausgabewert ist.
- Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, gekennzeichnet durch weitere kombinatorische Schaltungskomponenten (
72 ,73 ), die jeweils konfiguriert sind, die binären Eingabewerte x zu dem ersten binären Ausgabewert zu verarbeiten, und deren Ausgang jeweils mit einem Eingang des Mehrheitsvoterelementes (76 ) verbunden ist. - Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, gekennzeichnet durch weitere Mehrheitsvoterelemente (
85 ,86 ), deren Eingang zum Empfang des jeweiligen binären Ausgabewertes mit dem Ausgang aller kombinatorischen Schaltungskomponenten (81 ,82 ,83 ) verbunden ist und welche jeweils konfiguriert sind, in Abhängigkeit von den empfangenen binären Ausgabewerten an ihrem Ausgang ein Mehrheitssignal bereitzustellen. - Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der jeweilige Eingang aller kombinatorischen Schaltungskomponenten mit einem Ausgang einer vorgeschalteten Schaltungskomponente verbunden ist, wobei die vorgeschaltete Schaltungskomponente konfiguriert ist, binäre Eingabewerte u ∈ U zu binären Ausgabewerten W, welche zumindest teilweise von den binären Eingabewerten x ∈ X verschieden sind, zu verarbeiten, wobei gilt: X1 ⊂ W.
- Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, gekennzeichnet durch: – eine weitere kombinatorische Schaltungskomponente (
66 ), die konfiguriert ist, die binären Eingabewerte x zu binären Steuersignalen zu verarbeiten, und – ein Multiplexerelement (65 ), wobei – der Ausgang der weiteren kombinatorischen Schaltungskomponente (66 ), welcher die binären Steuersignale trägt, mit dem Steuereingang des Multiplexerelementes (65 ) verbunden ist, – ein erster Dateneingang des Multiplexerelementes (65 ) mit dem Ausgang der ersten kombinatorischen Schaltungskomponente (61 ) verbunden ist, und – ein zweiter Dateneingang des Multiplexerelementes (65 ) mit dem Ausgang des Mehrheitsvoterelementes (64 ) verbunden ist. - Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die binären Eingabewerte der echten nicht leeren Teilmenge X1 eine Teilmenge von binären Eingabewerten bilden, sodass für eine Menge Φ von Fehlern φ1, ..., φk, die in der ersten kombinatorischen Schaltungskomponente (
31 ;41 ;61 ;71 ;81 ;91 ) auftreten, gilt: S(x) ≠ S(φ, x) für X ∈ X1, wobei S(φ, x) der binäre Ausgabewert der ersten kombinatorischen Schaltungskomponente (31 ;41 ;61 ;71 ;81 ;91 ) ist, wenn der Fehler φ ∈ Φ vorliegt und der binäre Eingabewert x eingegeben wird. - Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass X2 = (X\X1) ist.
- Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente (
32 ;42 ;62 ;74 ;82 ;92 ) 1 ist und der binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente (33 ;43 ;63 ;75 ;83 ;93 ) 0 ist für die binären Eingabewerte aus der weiteren nicht leeren Teilmenge X2.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201010006383 DE102010006383B4 (de) | 2010-01-29 | 2010-01-29 | Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten |
CN201180016680.0A CN103210588B (zh) | 2010-01-29 | 2011-01-24 | 用于处理二进制输入值的电子电路装置 |
PCT/DE2011/075009 WO2011091795A2 (de) | 2010-01-29 | 2011-01-24 | Elektronische schaltungsanordnung zum verarbeiten von binären eingabewerten |
US13/557,790 US8884643B2 (en) | 2010-01-29 | 2012-07-25 | Electronic circuit arrangement for processing binary input values |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201010006383 DE102010006383B4 (de) | 2010-01-29 | 2010-01-29 | Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102010006383A1 DE102010006383A1 (de) | 2011-08-04 |
DE102010006383B4 true DE102010006383B4 (de) | 2015-03-26 |
Family
ID=44259841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201010006383 Active DE102010006383B4 (de) | 2010-01-29 | 2010-01-29 | Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten |
Country Status (4)
Country | Link |
---|---|
US (1) | US8884643B2 (de) |
CN (1) | CN103210588B (de) |
DE (1) | DE102010006383B4 (de) |
WO (1) | WO2011091795A2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731130B (zh) * | 2013-12-27 | 2017-01-04 | 华为技术有限公司 | 通用的容错纠错电路及其应用的译码器和三模冗余电路 |
CN105471419B (zh) * | 2014-09-11 | 2019-01-25 | 西门子公司 | 二值输入电路 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3582878A (en) * | 1969-01-08 | 1971-06-01 | Ibm | Multiple random error correcting system |
JPS6225141Y2 (de) * | 1980-03-18 | 1987-06-27 | ||
US6910173B2 (en) * | 2000-08-08 | 2005-06-21 | The Board Of Trustees Of The Leland Stanford Junior University | Word voter for redundant systems |
US7036059B1 (en) * | 2001-02-14 | 2006-04-25 | Xilinx, Inc. | Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays |
US6526559B2 (en) * | 2001-04-13 | 2003-02-25 | Interface & Control Systems, Inc. | Method for creating circuit redundancy in programmable logic devices |
US6624654B1 (en) * | 2002-05-16 | 2003-09-23 | Xilinx, Inc. | Methods for implementing circuits in programmable logic devices to minimize the effects of single event upsets |
US6963217B2 (en) | 2003-02-21 | 2005-11-08 | University Of South Florida | Method and apparatus for creating circuit redundancy in programmable logic devices |
US7259602B2 (en) * | 2005-07-21 | 2007-08-21 | International Business Machines Corporation | Method and apparatus for implementing fault tolerant phase locked loop (PLL) |
US7958394B1 (en) * | 2007-04-04 | 2011-06-07 | Xilinx, Inc. | Method of verifying a triple module redundant system |
EP2235830A1 (de) * | 2007-12-10 | 2010-10-06 | BAE SYSTEMS Information and Electronic Systems Integration Inc. | Gehärtete cml-schaltung, system und verfahren |
CN100555235C (zh) * | 2008-05-12 | 2009-10-28 | 北京邮电大学 | N模冗余表决系统 |
-
2010
- 2010-01-29 DE DE201010006383 patent/DE102010006383B4/de active Active
-
2011
- 2011-01-24 CN CN201180016680.0A patent/CN103210588B/zh active Active
- 2011-01-24 WO PCT/DE2011/075009 patent/WO2011091795A2/de active Application Filing
-
2012
- 2012-07-25 US US13/557,790 patent/US8884643B2/en active Active
Non-Patent Citations (1)
Title |
---|
Stephen Y. H. Su u.a.: An overview of fault-tolerant digital system architecture. In: Proceedings of the June 13-16, 1977, national computer conference (AFIPS '77). ACM, New York, NY, USA, S. 19 - 26 * |
Also Published As
Publication number | Publication date |
---|---|
DE102010006383A1 (de) | 2011-08-04 |
US8884643B2 (en) | 2014-11-11 |
CN103210588B (zh) | 2016-03-02 |
WO2011091795A3 (de) | 2011-10-13 |
CN103210588A (zh) | 2013-07-17 |
WO2011091795A2 (de) | 2011-08-04 |
US20130002288A1 (en) | 2013-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68918040T2 (de) | Integrierte Halbleiterschaltung mit Ein- und Ausgangsanschlüssen, die einen unabhängigen Verbindungstest erlauben. | |
EP0400179B1 (de) | Verfahren und Vorrichtung zum internen Paralleltest von Halbleiterspeichern | |
DE102016118534A1 (de) | Schaltung und Verfahren zum Prüfen der Integrität eines Steuersignals | |
DE102019107139A1 (de) | Transformation von aus einem speicher gelesenen binären signalen | |
DE102016113128B4 (de) | Verfahren zur Herstellung einer digitalen Schaltung und digitale Schaltung | |
DE4220196A1 (de) | Halbleiterspeichervorrichtung mit fehlerkorrekturschaltung und fehlerkorrekturverfahren fuer daten in einer halbleiterspeichervorrichtung | |
DE102010006383B4 (de) | Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten | |
DE102012105159A1 (de) | Fehlertolerante Speicher | |
DE102018112635A1 (de) | Digitalregisterkomponente und Analog-Digital-Wandler, Detektierend eine Signalverzerrung in Hochstrahlungsumgebungen | |
DE102006027448B4 (de) | Schaltungsanordnung | |
EP0681760A1 (de) | Rückgekoppeltes schieberegister zum erzeugen von pseudozufallszahlenfolgen darstellenden digitalen signalen. | |
EP1495542B1 (de) | Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals | |
DE102006005836B4 (de) | Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung | |
DE102010031030B3 (de) | Datenschnittstelle mit eigensicherer, integrierter Fehlererkennung | |
DE1937259A1 (de) | Selbstpruefende Fehlererkennungsschaltung | |
EP2940870B1 (de) | Redundanzkonzept für analoge schaltungen und funktionen zur störungsunterdrückung | |
DE102013225039B4 (de) | Schaltungsanordnung mit Detektion oder Behandlung von transienten Fehlern in einem kombinatorischen Schaltungsteil | |
DE102009051500B4 (de) | Arithmetik-Logik-Einheit | |
DE102016121696A1 (de) | Tristate-fähiger querstromfreier Ausgangspuffer | |
WO1990002994A1 (de) | Schaltungsanordnung zur addition oder subtraktion von im bcd-code oder dual-code codierten operanden | |
DE4406391C1 (de) | Elektronisches Rechenwerk | |
DE2025916C3 (de) | Dekodiernetzwerk mit Fehlersicherung und Fehleranzeige | |
DE102022126958A1 (de) | Fehlerkorrektur | |
EP1942349B1 (de) | Schaltung zur Komprimierung und Speicherung von Schaltungsdiagnosedaten | |
DE112022000521T5 (de) | Sendeschaltung, elektronische steuereinheit und fahrzeug |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT, DE |
|
R081 | Change of applicant/patentee |
Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNER: BRANDENBURGISCHE TECHNISCHE UNI, UNIVERSITAET POTSDAM, KOERPERSCHA, , DE Effective date: 20120921 Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNERS: BRANDENBURGISCHE TECHNISCHE UNIVERSITAET COTTBUS-SENFTENBERG, 03044 COTTBUS, DE; UNIVERSITAET POTSDAM, KOERPERSCHAFT DES OEFFENTLICHEN RECHTS, 14469 POTSDAM, DE Effective date: 20120921 |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT, DE Effective date: 20120921 Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Effective date: 20120921 |
|
R081 | Change of applicant/patentee |
Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE Effective date: 20140306 |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT, DE Effective date: 20140306 Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Effective date: 20140306 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |