DE102010006383A1 - Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten - Google Patents

Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten Download PDF

Info

Publication number
DE102010006383A1
DE102010006383A1 DE201010006383 DE102010006383A DE102010006383A1 DE 102010006383 A1 DE102010006383 A1 DE 102010006383A1 DE 201010006383 DE201010006383 DE 201010006383 DE 102010006383 A DE102010006383 A DE 102010006383A DE 102010006383 A1 DE102010006383 A1 DE 102010006383A1
Authority
DE
Germany
Prior art keywords
binary
input values
output
circuit component
input
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.)
Granted
Application number
DE201010006383
Other languages
English (en)
Other versions
DE102010006383B4 (de
Inventor
Michael Prof. Dr. 15831 Gössel
Michael 14467 Augustin
Rolf Prof. Dr. 15517 Kraemer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Universitaet Postdam
Brandenburgische Technische Universitaet Cottbus
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Universitaet Postdam, Brandenburgische Technische Universitaet Cottbus filed Critical Universitaet Postdam
Priority to DE201010006383 priority Critical patent/DE102010006383B4/de
Priority to CN201180016680.0A priority patent/CN103210588B/zh
Priority to PCT/DE2011/075009 priority patent/WO2011091795A2/de
Publication of DE102010006383A1 publication Critical patent/DE102010006383A1/de
Priority to US13/557,790 priority patent/US8884643B2/en
Application granted granted Critical
Publication of DE102010006383B4 publication Critical patent/DE102010006383B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00392Modifications for increasing the reliability for protection by circuit redundancy
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/007Fail-safe circuits
    • H03K19/0075Fail-safe circuits by using two redundant chains
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/0033Radiation hardening
    • H03K19/00338In field effect transistor circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic 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

Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten x ∈ X der Wortbreite n (n > 1), mit einer ersten kombinatorischen Schaltungskomponente (31), 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), welcher mit einer Anzahl A1 (Al > 1) binärer Ausgänge gebildet ist, bereitzustellen, wobei gilt: A1 ≥ a1, einer zweiten kombinatorischen Schaltungskomponente (32), die konfiguriert ist, die binären Eingabewerte x zu einem zweiten binären Ausgabewert zu verarbeiten, einer dritten kombinatorischen Schaltungskomponente (33), die konfiguriert ist, die binären Eingabewerte x zu einem dritten binären Ausgabewert zu verarbeiten, und einem Mehrheitsvoterelement (34), dessen Eingang zum Empfang des jeweiligen binären Ausgabewertes mit dem Ausgang der ersten, der zweiten und der dritten kombinatorischen Schaltungskomponente (31, 32, 33) 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) ausgelegt sind, bezüglich von Fehlern beim Verarbeiten der binären Eingabewerte x in der ersten kombinatorischen Schaltungskomponente (31) für den ersten binären Ausgabewert mit der Wortbreite a1 binäre Eingabewerte einer echten nicht leeren Teilmenge X1 der Menge der binären Eingabewerte X fehlertolerant und binäre Eingabewerte einer weiteren nicht leeren Teilmenge X2 der Menge der binären Eingabewerte X, welche von der echten nicht leeren Teilmenge X1 verschieden ist, nicht fehlertolerant zu verarbeiten.

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. Comp. 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.
  • 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.
  • Eine zweckmäßige Fortbildung der Erfindung sieht vor, dass die zweite und die dritte kombinatorische Schaltungskomponente weiterhin den folgenden Merkmalen entsprechend ausgelegt sind:
    • – im fehlerfreien Fall sind für alle binären Eingabewerte der echten nicht leeren Teilmenge X1 der zweite binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente und der dritte binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente gleich dem ersten binären Ausgabewert der ersten kombinatorischen Schaltungskomponente,
    • – für alle binären Eingabewerte aus der weiteren nicht leeren Teilmenge X2 sind der zweite binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente und der dritte binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente ungleich und
    • – für alle binären Eingabewerte der Menge der binären Eingabewerte X gilt für jede Stelle des ersten binären Ausgabewertes der Wortbreite a1: Mindestens der zweite binäre Ausgabewert der zweiten kombinatorischen Schaltungskomponente oder mindestens der dritte binäre Ausgabewert der dritten kombinatorischen Schaltungskomponente ist gleich dem ersten binären Ausgabewert der ersten kombinatorischen Schaltungskomponente.
  • 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 in 3 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 S 11, die bei Eingabe eines Eingabewertes x aus einer Eingabemenge X einen Wert y = S(x) ausgibt, sodass die Schaltung S 11 die Funktion S(x) realisiert. Die Wortbreite des Eingangs von S 11 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 S 11 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 von 1 ist in 3 kombinatorische Schaltungen S1 21, S2 22, S3 23 verdreifacht worden. Die verdreifachten Schaltungen S1 21, S2 22 und S3 23 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 S1 21, S2 22 und S3 23 sind in drei n-Bit breite Eingänge eines Voters V 24 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 = (y 1 / 1 , ..., y n / 1 ), y2 = (y 1 / 2 , ... y n / 2 ), y3 = (y 1 / 3 , ..., y n / 3 ), y = (y1, ..., yn), dann ist für i = 1, ..., n der Wert von yi zu yi = (y i / 1 ∧ y i / 2 ) ∨ (y i / 1 ∧ y i / 3 ) ∨ (y i / 2 ∧ y i / 3 ) bestimmt. Voter mit 3 oder mehr Eingängen sind dem Fachmann bekannt.
  • 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 in 2 beschrieben, bei der die kombinatorische Schaltung S 11 durch drei funktional gleiche Schaltungen S1 21, S2 22, S3 23 ersetzt wird, ist in der erfindungsgemäßen Schaltung von 3 die kombinatorische Schaltung S 11 von 1 durch die drei Schaltungen S1 31, s2 32 und s3 33 ersetzt, die nicht alle funktional gleich sind. Die Schaltungen S1 31, s2 32 und s3 33 werden auch als die erste, die zweite und die dritte kombinatorische Schaltungskomponente der erfindungsgemäßen Schaltungsanordnung von 3 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 in 3 vorausgesetzt, dass sowohl S1 31 als auch s2 32 und s3 33 nur einen binären Ausgang haben, sodass die Ausgangswortbreite a1 gleich 1 ist. Die Schaltung S1 31 realisiert die gleiche Funktion y = S1(x) = S(x) wie die Schaltung S 11. Die Schaltungen s2 32 und s3 33 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, s2 32 und s3 33 jeweils die gleichen Werte aus. Für x ∈ (X\X1) ist mindestens einer der von s2 32 oder von s3 33 ausgegebenen Werte s2(x) oder s3(x) gleich 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 von 2, während die Schaltungsanordnung von 3 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 nach 3 ist gegenüber dem Schaltungsaufwand von 2 ü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 1
    x1 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) wobei ⊕ die XOR- oder Antivalenzoperation, ∨ die OR-Operation (Disjunktion) und ∧ die AND-Operation (Konjunktion) bezeichnen. Gleichung (1.1) wird am einfachsten durch Einsetzen aller 8 Werte für (x1x2x3) ∈ X geprüft. Die Belegungen 000, 001 und 011, die zu X1 gehören, sind in Tabelle 1 mit + in der Spalte markiert, die mit X1 überschrieben ist. In Tabelle 2 sind zusätzlich zu den Werten der Funktion S1(x) von Tabelle 1 auch die Werte der Funktionen s2(x) und s3(x) eingetragen, die von den Schaltungen s2 und s3 realisiert werden. Tabelle 2
    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 nach 3 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 S1 41, s2 42, s3 43 und einem Voter V 49. Die Schaltung S1 besteht aus dem XOR-Gatter 44, dem AND-Gatter 45 und dem OR-Gatter 46. Die Schaltung s2 42 besteht aus dem AND-Gatter 47 und die Schaltung s3 43 besteht aus dem OR-Gatter 48. Die das Eingabesignal x1 führende Eingangsleitung ist mit dem ersten Eingang des XOR-Gatters 44, dem ersten Eingang des AND-Gatters 45, dem ersten Eingang des OR-Gatters 48 und negiert mit dem ersten Eingang des AND-Gatters 47 verbunden. Die das Eingabesignal x2 führende Eingangsleitung ist mit dem zweiten Eingang des AND-Gatters 45 und mit dem zweiten Eingang des OR-Gatters 48 verbunden. Die das Eingabesignal x3 führende Eingangsleitung ist mit dem zweiten Eingang des XOR-Gatters 44, mit dem dritten Eingang des AND-Gatters 45, mit dem zweiten Eingang des AND-Gatters 47 und mit dem dritten Eingang des OR-Gatters 48 verbunden. Der Ausgang des XOR-Gatters 44 ist mit dem ersten Eingang des OR-Gatters 46 verbunden, dessen zweiter Eingang mit dem Ausgang des AND-Gatters 45 verbunden ist und dessen Ausgang, der das Signal y1 führt, in den ersten Eingang des Voters V 49 geführt ist. Der Ausgang des AND-Gatters 47, der den Wert y2 führt, ist mit dem zweiten Eingang des Voters V 49 verbunden. Der Ausgang des OR-Gatters 48, der das Signal y3 führt, ist in den dritten Eingang des Voters V 49 geführt. Der Voter V 49 gibt an seinem Ausgang das Signal y aus.
  • Die Schaltung S1 41 besteht aus den 3 Gattern XOR 44, AND 45 und OR 46, während die Schaltung s2 42 nur aus dem AND-Gatter 47 besteht und die Schaltung s3 43 nur aus dem OR-Gatter 48. 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 Gatter 46, 47 und 48 im fehlerfreien Fall jeweils den Wert y1 = y2 = y3 = 1 aus, aus denen der Voter V 49 die Mehrheitsentscheidung y = 1 trifft.
  • Es wird nun angenommen, dass am ersten Eingang des OR-Gatters 46, der mit dem Ausgang des XOR-Gatters 44 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-Gatter 46 und damit die Schaltung S1 41 den fehlerhaften Wert 0 aus. Da die Schaltungen s2 42 und s3 43 von diesem Fehler nicht betroffen sind, geben sie beide weiterhin den Wert 1 aus, sodass der Voter V 49 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-Gatters 47, 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-Gatters 47 der Wert 0 anstelle des korrekten Wertes 1 an und die Schaltung s2 42 gibt den fehlerhaften Wert 0 aus. Die Schaltungen S1 41 und s3 43 geben jedoch jeweils den korrekten Wert 1 aus, wodurch der Voter V 49 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-Gatters 45 der Wert 0 an, sodass das OR-Gatter 46 und damit die Schaltung S1 41 den Wert 1 ausgibt. Am Ausgang des OR-Gatters 48 und damit am Ausgang der Schaltung s3 43 liegt ebenfalls der Wert 1 an. Am Ausgang des AND-Gatters 47 und somit am Ausgang der Schaltung s2 42 liegt der Wert 0 an. Der Voter V 49 bildet aus den an seinen Eingängen anliegenden Signalen 101 das Mehrheitssignal 1, und der Fehler der Schaltung s2 42 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 nach 4 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 (x) = y1, S 2 / 1 (x) = y2, S 3 / 1 (x) = y3 deren Wertetabellen in Tabelle 3 dargestellt sind. Es gilt x = (x1, x2, x3), und die drei Booleschen Funktionen S 1 / 1 (x), S 2 / 1 (x), S 3 / 1 (x) werden zu S1(x) = (S 1 / 1 (x), S 2 / 1 (x), S 3 / 1 (x)) zusammengefasst. Der erste Ausgang der Schaltung S, der die Funktion S 1 / 1 (x) implementiert, wird um zwei weitere Ausgänge von zusätzlichen Schaltungen s 1 / 2 und s 1 / 3 ergänzt, welche die Booleschen Funktionen s 1 / 2 (x) und s 1 / 3 (x) implementieren. Der zweite Ausgang der Schaltung S, der die Funktion S 2 / 1 (x) implementiert, wird um zwei weitere Ausgänge der zusätzlichen Schaltungen s 2 / 2 und s 2 / 3 ergänzt, welche die Booleschen Funktionen s 2 / 2 (x) und s 2 / 3 (x) realisieren. Der dritte Ausgang der Schaltung S, der die Funktion S 3 / 1 (x) implementiert, wird nicht um weitere Ausgänge ergänzt, da keine Fehlertoleranz für diesen Schaltungsausgang erforderlich ist. Die erste Schaltungskomponente realisiert hier somit die Booleschen Funktionen S 1 / 1 (x), S 2 / 1 (x) und S 3 / 1 (x) an ihren A1 = 3 binären Ausgängen. Die zweite Schaltungskomponente realisiert an ihren a1 = 2 binären Ausgängen die Booleschen Funktionen s 1 / 2 (x) und s 2 / 2 (x), während die dritte Schaltungskomponente an ihren a1 = 2 binären Ausgängen die Booleschen Funktionen s 1 / 3 (x) und s 2 / 3 (x) realisiert. Die Fehlertoleranz wird hier nur für die Ausgabewerte der Wortbreite a1 = 2 realisiert, die an den ersten beiden binären Ausgängen der insgesamt A1 = 3 Schaltungsausgänge der Schaltungskomponente S1 ausgegeben werden. Die zweite und die dritte Schaltungskomponente s2 und s3 haben deshalb jeweils nur a1 = 2 binäre Schaltungsausgänge.
  • 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
    Figure 00120001
  • Tabelle 4 zeigt eine Wahrheitstabelle für die Funktionen S 1 / 1 (x), S 2 / 1 (x), S 3 / 1 (x), s 1 / 2 (x), s 2 / 2 (x), s 1 / 3 (x), s 2 / 3 (x), die die Erfordernisse der Fehlertoleranz für den Eingabewert 011 erfüllt. Es ergibt sich aus Tabelle 4, dass für x = (011) ∈ X1 = {011} gilt: 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.
  • Ansonsten gilt für alle x ∈ (X\X1), [S 1 / 1(x) = s 1 / 2(x)] oder [S 1 / 1(x) = s 1 / 3(x)] und [S 2 / 1(x) = s 2 / 2(x)] oder [S 2 / 1(x) = s 2 / 3(x)].
  • Tabelle 4
    Figure 00130001
  • Mindestens einer der Werte s 1 / 2 (x) oder s 1 / 3 (x) stimmt überein mit S 1 / 1 (x) und mindestens einer der Werte s 2 / 2 (x) oder s 2 / 3 (x) stimmt überein mit S 2 / 1 (x), wie anhand von Tabelle 4 einfach nachzuprüfen ist. Es zeigt sich wieder am einfachsten durch direktes Nachrechnen oder unter Verwendung eines üblichen Synthesetools, dass
    Figure 00130001
    mögliche Realisierungen der in Tabelle 4 dargestellten Funktionen sind.
  • 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 S 1 / 1 (x), S 2 / 1 (x) und S 3 / 1 (x) besteht aus den Gattern 51, 52, 53, 54, 55, 56 und 57. Die Schaltung zur Implementierung der Booleschen Funktionen s 1 / 2 (x) und s 2 / 2 (x) besteht aus den Gattern 58 und 59. Die Schaltung zur Implementierung der Booleschen Funktionen s 1 / 3 (x) und s 2 / 3 (x) besteht aus den Gattern 510 und 511. Am Ausgang des Gatters 510 liegt immer der Wert 0 und am Ausgang des Gatters 511 immer der Wert 1 an. Es ist zu erkennen, dass der Hardware-Aufwand für die Realisierung der Funktionen s 1 / 2 ‚ s 2 / 2 und s 1 / 3 , s 2 / 3 geringer als der Aufwand zur Realisierung der Funktionen S 1 / 1 und S 1 / 2 ist.
  • Die das binäre Signal x1 tragende Eingangsleitung ist unnegiert in den jeweils ersten Eingang des AND-Gatters 53, des AND-Gatters 510 und des OR-Gatters 511 geleitet. In negierter Form ist x1 in den jeweils ersten Eingang des AND-Gatters 52, des AND-Gatters 56, des NAND-Gatters 58, des AND-Gatters 59 und in den jeweils zweiten Eingang des AND-Gatters 510 sowie des OR-Gatters 511 geführt. Die das binäre Signal x2 tragende Eingangsleitung ist in den ersten Eingang des XNOR-Gatters 51, in den zweiten Eingang des AND-Gatters 52, in den ersten Eingang des OR-Gatters 55, in den ersten Eingang des XOR-Gatters 57, in den zweiten Eingang des NAND-Gatters 58 und in den zweiten Eingang des AND-Gatters 59 geführt. Die das binäre Signal x3 tragende Leitung ist unnegiert mit dem zweiten Eingang des XNOR-Gatters 51, dem zweiten Eingang des XOR-Gatters 57, dem dritten Eingang des NAND-Gatters 58, dem dritten Eingang des AND-Gatters 59 und negiert mit dem dritten Eingang des AND-Gatters 52 sowie dem zweiten Eingang des OR-Gatters 55 verbunden.
  • Der Ausgang des XNOR-Gatters 51 ist mit dem zweiten Eingang des AND-Gatters 53 verbunden, dessen Ausgang in den ersten Eingang eines OR-Gatters 54 geführt ist.
  • Der Ausgang des AND-Gatters 52 ist mit dem zweiten Eingang des OR-Gatters 54 verbunden, dessen Ausgang den Wert S 1 / 1 (x) trägt und in den ersten Eingang des Voters V1 512 geführt ist.
  • Der Ausgang des OR-Gatters 55 ist mit dem zweiten Eingang des AND-Gatters 56 verbunden, dessen Ausgang das Signal S 2 / 1 (x) führt und mit dem ersten Eingang des Voters V2 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-Gatters 58 führt das Signal s 1 / 2 (x) und ist mit dem zweiten Eingang des Voters V1 512 verbunden, während der Ausgang des AND-Gatters 59, der das Signal s 2 / 2 (x) führt, mit dem zweiten Eingang des Voters V2 513 verbunden ist.
  • Der Ausgang des AND-Gatters 510, der das hier konstante Signal s 1 / 3 (x) führt, ist mit dem dritten Eingang des Voters V1 512 verbunden, während der Ausgang des OR-Gatters 511, der das hier konstante Signal s 2 / 3 (x) führt, mit dem dritten Eingang des Voters V2 513 verbunden ist. Der Voter V1 512 gibt an seinem Ausgang den Ausgabewert y1(x) aus, während der Voter V2 513 an seinem Ausgang den Ausgabewert y2(x) ausgibt. Die Voter V1 512 und V2 513, die bitweise eine Mehrheitsentscheidung treffen, sind in 5 zu einem Voter V 514 zusammengefasst. Der Ausgang des XOR-Gatters 57 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 V2 513 sind die fehlertolerant implementierten Schaltungsausgänge. Die Voter V1 512 und V2 513, die jeweils eine Mehrheitsentscheidung über die drei an ihren Eingängen anliegenden Eingänge durchführen, sind zu einem Voter V 514 mit 6 Eingängen und 2 Ausgängen zusammengefasst. Der Voter V1 512 führt eine Mehrheitsentscheidung über seine an seinen Eingängen anliegenden Werte S 1 / 1 (x), s 1 / 2 (x), s 1 / 3 (x) und der Voter V2 513 führt eine Mehrheitsentscheidung über seine an seinen Eingängen anliegenden Werte S 2 / 1 (x), s 2 / 2 (x), s 2 / 3 (x) durch.
  • 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 S 1 / 1 (0, 1, 1) = 0, s 1 / 2 (0, 1, 1) = 0, s 1 / 3 (0, 1, 1) = 0 und S 2 / 1 (0, 1, 1) = 1, s 2 / 2 (0, 1, 1) = 1, s 2 / 3 (0, 1, 1) = 1. Ist nun im Fall eines Fehlers einer der Werte S 1 / 1 (0, 1, 1), s 1 / 2 (0, 1, 1) oder s 1 / 3 (0, 1, 1) fehlerhaft, so wird ein solcher Fehler durch die Mehrheitsentscheidung des Voters V1 512 toleriert. Ebenso gilt: Ist im Fall eines Fehlers nur einer der Werte S 2 / 1 (0, 1, 1), s 2 / 2 (0, 1, 1), s 2 / 3 (0, 1, 1) fehlerhaft, so wird dieser Fehler durch den Voter V2 513 toleriert.
  • Bei Eingabe von 100 ergibt sich im fehlerfreien Fall S 1 / 1 (1, 0, 0) = 1, s 1 / 2 (1, 0, 0) = 1 und s 1 / 3 (1, 0, 0) = 0, sodass der Voter V1 512 den korrekten Wert y1 (1,1, 0) = 1 generiert. Liegt nun am ersten Eingang des AND-Gatters 53, der den Wert x1 = 1 führt, ein stuck-at-0 Fehler vor, so liegt am ersten und zweiten Eingang des OR-Gatters 54 der Wert 0 an, sodass dieses Gatter an seinem Ausgang den fehlerhaften Wert 0 ausgibt, wodurch der Voter V1 512 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-Gatters 57 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, S 2 / 1 (0, 1, 1) = 1, s 2 / 2 (0, 1, 1) = 1 und s 2 / 3 (0, 1, 1) = 1 gilt.
  • 6 zeigt eine weitere Ausgestaltung einer kombinatorischen Schaltungsanordnung. Die kombinatorische Schaltung S = S1 61 ist durch zwei kombinatorische Schaltungen s2 62 und s3 63 ergänzt. Dabei ist die kombinatorische Schaltung S1 61 die erste kombinatorische Schaltungskomponente, die kombinatorische Schaltung s2 62 die zweite kombinatorische Schaltungskomponente und die kombinatorische Schaltung s3 63 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 von 6 fehlertolerant ist, ist mit X1 bezeichnet. Dabei ist X1 eine echte Teilmenge von X. Die Schaltungsanordnung ist so bestimmt, dass S(x) = S1(x) = s2(x) = s3(x) für x ∈ X1 mit X1 ⊂ X und (S1(x) = s2(x)) oder (S1(x) = s3(x)) für x ∈ X gilt, wobei es eine nichtleere Teilmenge X2 ⊆ (X\X1) gibt, sodass s1(x) ≠ s2(x) für x ∈ X2 gilt.
  • Es sind weiterhin eine kombinatorische Schaltung σ 66 zur Realisierung einer Booleschen Funktion σ(x) und ein Multiplexer MUX 65 vorhanden. Die Boolesche Funktion σ(x) ist durch
    Figure 00170001
    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 S1 61 ist in den ersten Eingang eines Voters V 64 geführt, an dessen zweiten Eingang der das Signal s2(x) tragende Ausgang der kombinatorischen Schaltung s2 62 angeschlossen ist und an dessen dritten Eingang der das Signal s3(x) tragende Ausgang der kombinatorischen Schaltung s3 63 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 V 64 ist mit einem ersten Dateneingang des Multiplexers MUX 65 verbunden, in dessen zweiten Dateneingang der Ausgang der kombinatorischen Schaltung S1 61 geleitet ist und dessen Datenausgang das Signal y(x) führt. Der Steuereingang des Multiplexers MUX 65 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 MUX 65 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 V 64 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 MUX 65 weitergeleitet und es gilt wieder korrekt y(x) = S(x). Ist x ∈ X2, dann ist σ(x) = 0 und der Ausgang der Schaltung S1 61 wird an den Ausgang des Multiplexers 65 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 S 61, s2 62, s3 63, σ 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 Multiplexer 65 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
    Figure 00190001
    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 gilt. Nun können die noch zu bestimmenden Funktionswerte der Booleschen Funktion s2(x) prinzipiell beliebig festgelegt werden. Aus Gründen einer einfachen Realisierung wird ein Fachmann s2(x) mit den für x ∈ X1 festgelegten Funktionswerten optimieren, indem er etwa ein übliches Synthese-Tool anwendet. Dazu wird er beispielsweise alle noch nicht festgelegten Funktionswerte von s2(x) als don't-care wählen und die so gegebene partiell definierte Boolesche Funktion optimieren, wie das üblich ist.
  • 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
    Figure 00200001
    Figure 00210001
    Beispielhaft wird angenommen, dass
    Figure 00210002
    bestimmt wurde.
  • Die Funktionswerte dieser Funktion s3(x) sind in Spalte 9 von Tabelle 5 eingetragen.
  • 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 σ als
    Figure 00210003
    bestimmt 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} und X2 ist eine echte Teilmenge von X\X1. Eine Implementierung der entsprechenden Booleschen Funktionen als kombinatorische Schaltungen bereitet dem Fachmann keine Schwierigkeiten.
  • 7 zeigt eine weitere Ausgestaltung einer Schaltungsanordnung zur fehlertoleranten Realisierung einer kombinatorischen Schaltung S, die eine besonders wirksame Fehlertoleranz realisiert. In 7 ist die kombinatorische Schaltung S dreimal funktionsgleich als S1 71, S2 72 und S3 73 realisiert, sodass für alle x ∈ X aus der Menge der möglichen Eingabewerte S(x) = S1(x) = S2(x) = S3(x) für x ∈ X gilt.
  • X1 bezeichnet die Teilmenge der Eingabewerte, für die eine besonders hohe Fehlertoleranz erreicht werden soll. Die drei Schaltungen S1 71, S2 72 und S3 73 sind durch die beiden kombinatorischen Schaltungen s4 74 und s5 75 ergänzt, sodass S(x) = s4(x) = s5(x) für x ∈ X1 (S(x) = s4(x)) oder (S(x) = s5(x)) für x ∈ X gilt, wobei es wieder eine nichtleere Teilmenge X2 ⊆ (X\X1) gibt, sodass S4(x) ≠ s5(x) für x ∈ X2 gilt.
  • An jeder der kombinatorischen Schaltungen S1 71, S2 72, S3 73, s4 74 und s5 75 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 V 76 geführt. Der das Ausgabesignal s4(x) tragende Ausgang der kombinatorischen Schaltung s4 ist in den vierten Eingang des Voters V 76 geführt, während der das Ausgabesignal s5(x) tragende Ausgang der kombinatorischen Schaltung s5 mit dem fünften Eingang des Voters V 76 verbunden ist. Der Voter V 76 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 V 76 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 S1 71, S2 72, S3 73, s4 74 und s5 75 werden von der Schaltung in 7 toleriert. Ist x ∈ X2, dann liegen im fehlerfreien Fall 4 gleiche Werte als Ausgabe von S1 71, S2 72, S3 73, s4 74 und s5 75 am Eingang des Voters V 76 an und ein fehlerhafter Wert wird von der Schaltung in 7 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 s4 74 realisiert die Funktion s4(x) und die dritte kombinatorische Schaltungskomponente s5 75 realisiert die Funktion s5(x). Diese Schaltungskomponenten sind durch zwei weitere kombinatorische Schaltungskomponenten S2 72 und S3 73 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 S1 81, s2 82 und s3 83 sind den Schaltungen S1 31, s2 32 und s3 33 von 3 gleich. In 8 ist ein Voter dreimal als Voter V1 84, V2 85 und V3 86 vorhanden.
  • Der das Signal S1(x) tragende Ausgang der kombinatorischen Schaltung S1(x) ist gleichzeitig in die jeweils ersten Eingänge der Voter V 84, V2 85 und V3 86 geführt. Der das Signal s2(x) tragende Ausgang der kombinatorischen Schaltung s2 82 ist gleichzeitig in den jeweils zweiten Eingang der Voter V 84, V2 85 und V3 86 geführt, während der das Signal s3(x) tragende Ausgang der Schaltung s3 83 mit dem jeweils dritten Eingang der Voter V1 84, V2 85 und V3 86 verbunden ist. Die Voter V1 84, V2 85 und V3 86 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 von 9 besteht aus einer Schaltung S 96, die fehlertolerant bezüglich der Eingabemenge X1 ist und der eine Schaltung T 95 vorgeschaltet ist. Die Schaltung S 96 besteht aus den Schaltungen S1 91, s2 92 und s3 93 und einem Voter V 94, wie sie auch in 3 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 T 95 bilden. Mit k, k ≥ 2, ist die Wortbreite des Ausgangs der Schaltung T 95 bezeichnet, der gleichzeitig mit den m-Bit breiten Eingängen der Schaltungen S1 91, s2 92 und s3 93 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 in 9 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 S1 91, s2 92 und s3 93 verbunden. Der Ausgang der Schaltung S1 91 ist mit dem ersten Eingang eines Voters V 94 mit drei Eingängen verbunden. Der Ausgang der Schaltung s2 92 ist mit dem zweiten Eingang des Voters V 94 verbunden und der Ausgang der Schaltung s3 93 ist mit dem dritten Eingang des Voters V 94 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 in 10 dargestellt. Die Menge {00, 01, 11} der Ausgabewerte der Schaltung T 101 ist eine echte Teilmenge der Menge X = {0, 1}2 = {00, 01, 10, 11) aller möglichen Eingabewerte der Schaltung S 104. 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 S 104 eine erfindungsgemäße fehlertolerante Schaltung ist.
  • Die Schaltung T 101 besteht aus einem AND-Gatter 102 und einem OR-Gatter 103, in die die Eingabewerte u = u1u2 ⊂ {00, 01, 10, 11) eingegeben werden und die durch die Schaltung T 101 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 T 101 ist mit dem jeweils ersten Eingang der Gatter AND 102 und OR 103 verbunden, in deren jeweils zweiten Eingang der die zweite Komponente u2 des Eingabewertes u tragende Eingang der Schaltung T 101 geführt ist. Das AND-Gatter 102 gibt die erste Komponente T1(u) und das OR-Gatter 103 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.
  • 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
    • US 6963217 B2 [0003]
  • Zitierte Nicht-Patentliteratur
    • Barry W. Johnson, „Design and Analysis of Fault Tolerant Digital Systems”, Addison Wesley Publ. Comp. Reading, Ma., 1989, S. 51–53 [0003]

Claims (10)

  1. 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) ausgelegt sind, bezüglich von Fehlern beim Verarbeiten der binären Eingabewerte x in der ersten kombinatorischen Schaltungskomponente (31; 41; 61; 71; 81; 91) für den ersten binären Ausgabewert mit der Wortbreite a1 binäre Eingabewerte einer echten nicht leeren Teilmenge X1 der Menge der binären Eingabewerte X fehlertolerant und binäre Eingabewerte einer weiteren nicht leeren Teilmenge X2 der Menge der binären Eingabewerte X, welche von der echten nicht leeren Teilmenge X1 verschieden ist, nicht fehlertolerant zu verarbeiten.
  2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die zweite und die dritte kombinatorische Schaltungskomponente (32, 33; 42, 43; 62, 63; 74, 75; 82, 83; 92, 93) weiterhin den folgenden Merkmalen entsprechend ausgelegt sind: – im fehlerfreien Fall sind für alle binären Eingabewerte der echten nicht leeren Teilmenge X1 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) gleich dem ersten binären Ausgabewert der ersten kombinatorischen Schaltungskomponente (31; 41; 61; 71; 81; 91), – für alle binären Eingabewerte aus der weiteren nicht leeren Teilmenge 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 und – für alle binären Eingabewerte der Menge der binären Eingabewerte X gilt für jede Stelle des ersten binären Ausgabewertes der Wortbreite a1: 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) ist gleich dem ersten binären Ausgabewert der ersten kombinatorischen Schaltungskomponente (31; 41; 61; 71; 81; 91).
  3. Schaltungsanordnung nach Anspruch 1 oder 2, 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. Schaltungsanordnung nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass X2 = (X\X1) ist.
  10. 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.
DE201010006383 2010-01-29 2010-01-29 Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten Active DE102010006383B4 (de)

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 true DE102010006383A1 (de) 2011-08-04
DE102010006383B4 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731130B (zh) * 2013-12-27 2017-01-04 华为技术有限公司 通用的容错纠错电路及其应用的译码器和三模冗余电路
CN105471419B (zh) * 2014-09-11 2019-01-25 西门子公司 二值输入电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963217B2 (en) 2003-02-21 2005-11-08 University Of South Florida Method and apparatus for creating circuit redundancy in programmable logic devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
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
WO2009076476A1 (en) * 2007-12-10 2009-06-18 Bae Systems Information And Electronic Systems Integration, Inc. Hardened current mode logic (cml) voter circuit, system and method
CN100555235C (zh) * 2008-05-12 2009-10-28 北京邮电大学 N模冗余表决系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963217B2 (en) 2003-02-21 2005-11-08 University Of South Florida Method and apparatus for creating circuit redundancy in programmable logic devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Barry W. Johnson, "Design and Analysis of Fault Tolerant Digital Systems", Addison Wesley Publ. Comp. Reading, Ma., 1989, S. 51-53
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
US20130002288A1 (en) 2013-01-03
DE102010006383B4 (de) 2015-03-26
US8884643B2 (en) 2014-11-11
CN103210588A (zh) 2013-07-17
CN103210588B (zh) 2016-03-02
WO2011091795A2 (de) 2011-08-04
WO2011091795A3 (de) 2011-10-13

Similar Documents

Publication Publication Date Title
EP0400179B1 (de) Verfahren und Vorrichtung zum internen Paralleltest von Halbleiterspeichern
DE102016118534A1 (de) Schaltung und Verfahren zum Prüfen der Integrität eines Steuersignals
DE102012105159B4 (de) Fehlertolerante Speicher
DE102010029497A1 (de) Verfahren zum Erkennen von Fehlern eines AD-Wandlers
DE102019107139A1 (de) Transformation von aus einem speicher gelesenen binären signalen
DE102010006383B4 (de) Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten
DE102018112635A1 (de) Digitalregisterkomponente und Analog-Digital-Wandler, Detektierend eine Signalverzerrung in Hochstrahlungsumgebungen
DE102005011666B3 (de) Carry-Ripple-Addierer
DE102010041680A1 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines 1-Bit-Fehlers in einer codierten Bitsequenz, Vorrichtung und Verfahren zur Korrektur eines 1-Bit-Fehlers in einer codierten Bitsequenz und Decodierer und Verfahren zum Decodieren einer fehlerhaften, codierten Bitsequenz
EP1495542B1 (de) Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals
WO1994017591A1 (de) Rückgekoppeltes schieberegister zum erzeugen von pseudozufallszahlenfolgen darstellenden digitalen signalen
DE102006005836B4 (de) Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung
DE102006027448A1 (de) Schaltungsanordnung
DE102010031030B3 (de) Datenschnittstelle mit eigensicherer, integrierter Fehlererkennung
EP1676141B1 (de) Auswerteschaltung und verfahren zum feststellen und/oder zum lokalisieren fehlerhafter datenworte in einem datenstrom
DE1937259A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE102011080659B4 (de) Vorrichtung und verfahren zum testen einer zu testenden schaltung
EP0757254A2 (de) Integrierte Schaltung
EP0433315A1 (de) Schaltungsanordnung zur addition oder subtraktion von im bcd-code oder dual-code codierten operanden
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
WO1998054839A1 (de) Eingangsschaltung für eine integrierte schaltung
EP0339514B1 (de) Addierzelle für "Carry-Save"-Arithmetik
DE102022126958A1 (de) Fehlerkorrektur

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 OWNERS: BRANDENBURGISCHE TECHNISCHE UNIVERSITAET COTTBUS-SENFTENBERG, 03044 COTTBUS, DE; UNIVERSITAET POTSDAM, KOERPERSCHAFT DES OEFFENTLICHEN RECHTS, 14469 POTSDAM, DE

Effective date: 20120921

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: BRANDENBURGISCHE TECHNISCHE UNI, UNIVERSITAET POTSDAM, KOERPERSCHA, , DE

Effective date: 20120921

R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

Effective date: 20120921

Representative=s name: BOEHMERT & BOEHMERT, 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 ANWALTSPARTNERSCHAFT MBB -, DE

Effective date: 20140306

Representative=s name: BOEHMERT & BOEHMERT, 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