DE102006005836A1 - Schaltungsanordnung und Verfahren zur Fehlererkennung und Anordnung zur Überwachung einer digitalen Schaltung - Google Patents

Schaltungsanordnung und Verfahren zur Fehlererkennung und Anordnung zur Überwachung einer digitalen Schaltung Download PDF

Info

Publication number
DE102006005836A1
DE102006005836A1 DE102006005836A DE102006005836A DE102006005836A1 DE 102006005836 A1 DE102006005836 A1 DE 102006005836A1 DE 102006005836 A DE102006005836 A DE 102006005836A DE 102006005836 A DE102006005836 A DE 102006005836A DE 102006005836 A1 DE102006005836 A1 DE 102006005836A1
Authority
DE
Germany
Prior art keywords
xor
circuit
output
gate
inputs
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
DE102006005836A
Other languages
English (en)
Other versions
DE102006005836B4 (de
Inventor
Michael Prof. Gössel
Egor Prof. Sogomonyan
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
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 filed Critical Universitaet Postdam
Priority to DE102006005836A priority Critical patent/DE102006005836B4/de
Priority to PCT/DE2007/000234 priority patent/WO2007090383A2/de
Publication of DE102006005836A1 publication Critical patent/DE102006005836A1/de
Priority to US12/188,746 priority patent/US8136009B2/en
Application granted granted Critical
Publication of DE102006005836B4 publication Critical patent/DE102006005836B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung bezieht sich auf eine Schaltungsanordnung zur Fehlererkennung mit einer kombinatorischen Schaltung (10; 20; 30; 40; 50; 60) mit n binären Eingängen E1, ..., En zum Eingeben von n (n >= 2) Informationen x1, ..., xn und m binären Ausgängen zum Ausgeben von m (m >= 1) Kontrollbits c1, ..., cm, wobei: die kombinatorische Schaltung (10; 20; 30; 40; 50; 60) konfiguriert ist, um für i = 1, ..., m am i-ten Ausgang zur Bestimmung eines Kontrollbits ci eine Boolesche Funktion ci = fi(xi1, ..., xini) zu realisieren, wobei die Menge {xi1, ..., xini} der $I1 Informationsbits, die das Kontrollbit ci bestimmen, eine Teilmenge aller n Informationsbits {x1, ..., xn} ist; und die kombinatorische Schaltung (10; 20; 30; 40; 50; 60) weiterhin konfiguriert ist, um an einem ersten Ausgang zum Ausgeben eines ersten Kontrollbits c1 eine erste Boolesche Funktion f1(x11, ..., x1n1) der Formel c1 = f1(x11, ..., x1n1) = f11(x11, x12))XOR f12(x13, x14))XOR...XOR f1k1(x1(n1-1),x1n1) zu realisieren, wobei n1 eine gerade Zahl mit n1 >= 2 und 2 k1 = n1 ist und die Booleschen Funktionen f11(x11, x12, ..., f1k1(x1(n1-1), x1n1) jeweils nichtlineare Boolesche Funktionen von zwei Variablen sind, die durch logische Gatter mit zwei Eingängen und einem Ausgang realisierbar sind, wobei die logischen Gatter jeweils einen bestimmenden Wert c11, ..., c1k1 aufweisen.

Description

  • Die Erfindung liegt auf dem Gebiet der Fehlererkennung in digitalen Schaltungen.
  • Hintergrund der Erfindung
  • Aufgrund des hohen Integrationsgrades elektronischer Schaltungen nimmt die Fehleranfälligkeit und die Häufigkeit von Fehlern in elektronischen Schaltungen zu. Insbesondere nimmt die Häufigkeit nicht permanenter oder transienter Fehler zu, die sich als sogenannte Soft- Errors in Registern auswirken. Solche Soft-Errors werden beispielsweise durch Strahlung hervorgerufen, und sie betreffen oftmals benachbarte Bits.
  • Es ist bekannt, elektronische Schaltungen und allgemein Daten in der Datenverarbeitung durch Kodes zu schützen. Die hierbei verwendeten Kodes sind beispielsweise der Paritätsbit-Kode, der Hamming-Kode, BCH-Kodes, der Berger Kode (vgl. zum Beispiel Berger, J. M.: „A Note on Error Detection Codes for Asymetric Channels", Information and Control, Vol. 4, 1961, S. 68–73) und der Bose-Lin-Kode (vgl. zum Beispiel Lin et al.: „Error Control Coding, Fundamentals and Applications", Prentice Hall, 1983; Bose et al.: „Systematic Unidirectional Error Detecting Codes", IEEE Trans. Computers, C34,1026–1032, 1985).
  • In einer Schaltung zur Implementierung des Paritätsbit-Kodes werden die n Informations- oder Datenbits, wobei n größer gleich 2 ist, durch XOR-Gatter in einem Paritätsbaum zu einem einzigen zusätzlichen Paritätsbit, d. h. einem einzigen Kontrollbit, verknüpft. Ein Fehler in einem einzelnen Bit, oder in einer ungeraden Anzahl von Datenbits, führt zu einer Änderung des Paritätsbits und damit zu einer Erkennung eines solchen Fehlers. Vorteilhaft beim Paritätsbitkode ist, daß nur ein einziges zusätzliches Kontrollbit zur Fehlererkennung unabhängig von der Anzahl n der zu überprüfenden Datenbits hinzuzufügen wird. Nachteilig ist, daß alle Fehler, die eine gerade Anzahl von Bits verfälschen, mit diesem Kode nicht erkannt werden.
  • Wird die Parität für mehrere, sich nicht überlappende Gruppen von Informationsbits implementiert, dann lassen sich 2-Bit-Fehler nicht erkennen, wenn sie Bits der gleichen Gruppe verfälschen, was nachteilig ist. Unter Verwendung eines Hamming-Kodes lassen sich alle 1-Bit-Fehler und alle 2-Bit-Fehler sicher erkennen.
  • Nachteilig ist hier insbesondere, daß der Aufwand für die Realisierung einer Fehlererkennung durch eine Hamming-Kode relativ groß ist. Insbesondere wächst die Anzahl m der zur Fehlererkennung erforderlichen Bits mit wachsender Anzahl n der zu überwachenden Datenbits an, was zu einem relativ hohen Aufwand führt, was nachteilig ist. Auch erkennt der Hamming-Kode, wie schon ausgeführt, nicht alle ungeraden Fehler, was ebenfalls nachteilig ist. Gerade Fehler, wie 4-Bit-, 6-Bit-, ... Fehler werden nur teilweise erkannt.
  • Als Verallgemeinerung von Hamming-Kodes werden Fire-Kodes und BCH-Codes betrachtet, die bessere Fehlererkennungseigenschaften als Hamming-Kodes haben, aber einen sogar noch höheren Aufwand zu ihrer Realisierung als Hamming-Kodes erfordern.
  • Weiterhin bekannt sind Berger-Kodes, die alle unidirektionalen Fehler erkennen, bei denen sich die fehlerhaften Bits jeweils in einer Richtung, also alle fehlerhaften Bits von 0 nach 1 oder alle fehlerhaften Bits von 1 nach 0 ändern. Auch bei diesen Kodes nimmt die Anzahl der erforderlichen zusätzlichen m Kontrollbits mit wachsender Anzahl der zu überwachenden Datenbits zu, was insbesondere für große Anzahlen n von Datenbits nachteilig ist. Ein wesentlicher Nachteil ist insbesondere, daß Fehler, bei denen sich eine gleiche Anzahl von Bits von 0 nach 1 und von 1 nach 0 ändern, nicht erkannt werden können. Insbesondere können alle bidirektionalen 2-Bit-Fehler, d. h. solche 2-Bit-Fehler, bei denen sich ein erster Wert 1 in 0 und ein zweiter Wert 0 in 1 fehlerhaft ändert, unter keinen Umständen erkannt werden. Das gilt sogar für alle benachbarte 2-Bit-Fehler, die insbesondere als Soft-Errors häufig auftreten können.
  • Ein fehlererkennender Kode mit einer festen Anzahl m von Kontrollbits unabhängig von der Anzahl n der Datenbits ist der Bose-Lin Kode. Ebenso wie der Berger-Kode erkennt er, alle bidirektionalen 2-Bit-Fehler nicht, selbst, wenn sie benachbart sind, was nachteilig ist.
  • Zusammenfassung der Erfindung
  • Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung und ein Verfahren zur Fehlererkennung mit Hilfe von m Kontrollbits, die aus n (n ≥ 2) Informations- oder Datenbits ableitbar sind, anzugeben, wobei die Anzahl m der Kontrollbits eine möglichst kleine Zahl ist, die nicht von der Anzahl n der Informations- oder Datenbits abhängt, und wobei n eine gerade Zahl ist. Es sollen alle ungeraden Fehler und möglichst viele gerade Fehler der Informations- oder Datenbits mindestens mit der Wahrscheinlichkeit 1/2 an Veränderungen der Kontrollbits erkannt werden.
  • Diese Aufgabe wird erfindungsgemäß durch eine Schaltungsanordnung und ein Verfahren zur Erzeugung von m Kontrollbits aus n Datenbits nach den unabhängigen Ansprüchen 1 und 17 gelöst. Weiterhin ist zur Lösung der Aufgabe erfindungsgemäß eine Anordnung zum Überwachen einer digitalen Schaltung mit einer Schaltungsanordnung zur Fehlererkennung geschaffen. Vorteilhafte Ausgestaltungen sind Gegenstand von abhängigen Unteransprüchen.
  • Nach einem Aspekt der Erfindung ist eine Schaltungsanordnung zur Fehlererkennung mit einer kombinatorischen Schaltung mit n binären Eingängen E1, ..., En zum Eingeben von n (n ≥ 2) Informationsbits x1, ..., xn und m binären Ausgängen zum Ausgeben von m (m ≥ 1) Kontrollbits c1, ..., cm geschaffen, wobei:
    • – die kombinatorische Schaltung konfiguriert ist, um für i = 1, ..., m am i-ten Ausgang zur Bestimmung eines Kontrollbits ci eine Boolesche Funktion ci = fi(xi1, ..., xini) zu realisieren, wobei die Menge {xi1, ..., xini} der ni Informationsbits, die das Kontrollbit ci bestimmen, eine Teilmenge aller n Informationsbits {x1, ..., xn} ist; und
    • – die kombinatorische Schaltung weiter konfiguriert ist, um an einem ersten Ausgang zum Ausgeben eines ersten Kontrollbits c1 eine erste Boolesche Funktion f1(x11, ..., x1n1) der Form c1 = f1(x11, ..., x1n1) = f11(x11, x12) XOR f12(x13, x14) XOR ... XOR f1k1(x1(n1 – 1), x1n1) zu realisieren, wobei n1 eine gerade Zahl mit n1 ≥ 2 und 2 k1 = n1 ist und die Booleschen Funktionen f11(x11, x12), ..., f1k1(x1(n1 – 1), x1n1) jeweils nichtlineare Boolesche Funktionen von zwei Variablen sind, die durch logische Gatter mit zwei Eingängen und einem Ausgang realisierbar sind, wobei die logischen Gatter jeweils einen bestimmenden Wert c11, ..., c1k1 aufweisen.
  • Nach einem weiteren Aspekt der Erfindung ist ein Verfahren zur Fehlererkennung geschaffen, bei dem aus n (n ≥ 2) Informationsbits x1, ..., xn wenigstens ein Kontrollbit c1, ..., cm(m ≥ 1) erzeugt wird, wobei das Verfahren die folgenden Schritte umfaßt:
    • – Bestimmen des wenigstens einen Kontrollbit ci für i = 1, ..., m mittels einer Booleschen Funktion ci = fi(xi1, ..., xini), wobei die Menge {xi1, ..., xini} der ni Informationsbits eine Teilmenge aller n Informationsbits {x1, ..., xn} ist; und
    • – Erzeugen wenigstens eines ersten Kontrollbits c1 gemäß einer erster Boolesche Funktion f1(x11, ..., x1n1) der Form c1 = f1(x11, ..., x1n1) = f11(x11, x12) XOR f12(x13, x14) XOR...XOR f1k1(x1(n1 – 1), x1n1), wobei n1 eine gerade Zahl mit n1 ≥ 2 und 2 k1 = n1 ist und die Booleschen Funktionen f11(x11, x12), ..., f1k1(x1(n1 – 1), x1n1) jeweils nichtlineare Boolesche Funktionen von zwei Variablen sind, die jeweils einen bestimmenden Wert c11, ..., c1k1 aufweisen.
  • Nach einem anderen Aspekt der Erfindung ist eine Anordnung zum Überwachen einer digitalen Schaltung mit einer Schaltungsanordnung zur Fehlererkennung geschaffen, wobei die digitale Schaltung r Eingänge und n funktionale Ausgänge A1, ..., An aufweist und wobei mit der Schaltungsanordnung zur Fehlererkennung m Kontrollbits c1, ..., cm aus n Informationsbits x1, ..., xn erzeugbar sind, und wobei:
    • – die digitale Schaltung der Schaltungsanordnung vorgeschaltet ist,
    • – die r Eingänge der digitalen Schaltung binäre Eingangssignale z = z1, ..., zr und die n Ausgänge der digitalen Schaltung binäre Ausgangssignale x = x1, ..., xn tragen, so daß die Ausgänge der digitalen Schaltung gleichzeitig mit den n funktionellen Ausgängen A1, ..., An und mit Eingängen E1, .., En der Schaltungsanordnung verbunden sind;
    • – die r Eingänge der digitalen Schaltung darüber hinaus mit einer anderen Schaltung verbunden sind, wobei die andere Schaltung funktionsgleich der digitalen Schaltung ist und die Ausgänge der anderen Schaltung bei Eingabe der Werte z = z1, ..., zn die binären Werte x1', ..., xn' tragen;
    • – die Ausgänge der anderen Schaltung mit n Eingängen einer weiteren Schaltung verbunden sind, wobei die weitere Schaltung der Schaltungsanordnung funktionsgleich ist und die Ausgänge der weiteren Schaltung bei Eingabe der binären Werte x1', ..., xn' die Werte c1', ..., cm' tragen; und
    • – ein Vergleicher vorgesehen ist, in welchem die Ausgangssignale c1, ..., cm der Schaltungsanordnung und die Ausgangssignale c1', ..., cm' der weiteren Schaltung verglichen werden.
  • Auf diese Weise sind digitale Schaltungsanordnungen definiert, die in verschiedenen Ausführungsformen mit Hilfe von Hardware- und/oder Softwarekomponenten implementierbar sind, welche ihrerseits dem Fachmann ohne weiteres bekannt sind. Die Schaltungsanordnung ist strukturell und funktionell definiert. Sie kann beispielsweise unter Verwendung von CAD-Tools zur Schaltungsoptimierung, die dem Fachmann als solche ohne weiteres bekannt sind, auf verschiedene Weise implementiert und optimiert werden, zum Beispiel bezüglich des Flächenaufwandes und der Signalverzögerungen.
  • Die Erfindung umfaßt in einer Ausgestaltung den Gedanken, die Daten-/Informationsbits zur Ableitung von mindestens einem ersten Kontrollbit zunächst paarweise durch ein logisches Gatter mit zwei Eingängen und einem Ausgang zu verknüpfen, wobei jedes dieser Gatter eine nichtlineare zweistellige Boolesche Funktion mit einem bestimmenden Wert realisiert. Die n/2 Ausgänge dieser n/2 Gatter werden zur Bestimmung von mindestens einem ersten Kontrollbit XOR-verknüpft. So wird eine insgesamt nichtlineare Boolesche Funktion zur Bestimmung mindestens des ersten Kontrollbits realisiert. Dadurch ist es möglich, alle ungeraden Fehler und eine Vielzahl von geraden Fehlern mindestens mit der Wahrscheinlichkeit 1/2 schon an einem einzigen Ausgang zu erkennen, was bisher nicht bekannt ist.
  • Durch die Hinzunahme weiterer Kontrollbits und die Verwendung verschiedener logischer Gatter mit zwei Eingängen und einem Ausgang zur Ableitung von weiteren Kontrollbits ergeben sich vorteilhafte Ausführungen der Erfindung, wobei sich die Fehler an Änderungen der Kontrollbits erkennen lassen. So erlaubt es beispielsweise eine Schaltung zur Erzeugung von nur zwei Kontrollbits, praktisch alle Fehler mit mindestens der Wahrscheinlichkeit 1/2 an Änderungen der Kontrollbits zu erkennen.
  • Eine Schaltung mit drei Kontrollbits erlaubt es, alle ungeraden Fehler und alle benachbarten 2-Bit-Fehler mit Sicherheit zu erkennen und eine Vielzahl von weiteren geraden Fehlern mit mindestens der Wahrscheinlichkeit 1/2 zu erkennen.
  • Ein vorteilhaftes Merkmal in einer bevorzugten Ausgestaltung der Erfindung ist es, daß die Parität der Informationsbits nicht direkt an einem einzigen Ausgang durch eine lineare Funktion realisiert werden muß, sondern „aufgespalten" an einer Teilmenge der m Ausgänge der Schaltung zur Bestimmung der m Kontrollbits realisiert wird. Diese Teilmenge der Ausgänge enthält mindestens zwei Ausgänge, die jeweils eine nichtlineare Boolesche Funktion der Informationsbits realisieren. Die XOR-Summe der Ausgänge dieser Teilmenge ergibt mathematisch die Parität der Informationsbits, wobei die XOR-Summe der Ausgänge dieser Teilmenge der Ausgänge nicht als Hardware realisiert werden muß. Durch die beschriebene Eigenschaft der Ausgänge ist garantiert, daß, wie im Falle eines Paritätskodes, alle Ein-Bit-Fehler und alle ungeraden Fehler erkannt werden können. Dadurch, daß anstelle der Parität mindestens zwei nichtlineare Funkionen der Informationsbits und gegebenenfalls weitere Funktionen an den Ausgängen der Schaltung realisiert werden, die (mathematisch) als XOR-Summe die Parität der Informationsbits bilden, wird im Vergleich zur Parität mehr Information über eventuelle Fehler von der Schaltung zur Bestimmung der m Kontrollbits ausgegeben, die es überraschender Weise erlaubt, zusätzlich zu allen ungeraden Fehlern auch wieder eine Vielzahl gerader Fehler wenigstens mit Wahrscheinlichkeit 1/2 und in bestimmten vorteilhaften Ausgestaltungen der Erfindung sicher zu erkennen. So werden beispielsweise in einer speziellen Ausgestaltung mit nur drei Kontrollbits neben allen ungeraden Fehlern auch alle benachbarten 2-Bit-Fehler sogar mit Sicherheit erkannt. Praktisch alle Fehler mit einer geraden Anzahl von fehlerhaften Bits werden in vorteilhaften Ausgestaltungen mindestens mit der Wahrscheinlichkeit 1/2 erkannt.
  • Liegt beispielsweise ein beliebiger Fehler permanent vor, dann wird er in jedem Takt mit mindestens der Wahrscheinlichkeit 1/2 erkannt und in beispielsweise T = 10 Takten mit der Wahrscheinlichkeit 1 – (12 )10 ≈ 1erkannt. Tritt ein beliebiger Fehler flüchtig auf, dann wird er infolge der hohen Taktraten moderner Rechenanlagen ebenfalls praktisch mit Sicherheit oder mit hoher Wahrscheinlichkeit erkannt.
  • Die Anzahl der Kontrollbits ist unabhängig von der Anzahl n der Informationsbits, und die Anzahl der Kontrollbits nimmt mit einer wachsenden Anzahl von Datenbits nicht zu. Sollen alle benachbarten 2-Bit-Fehler sicher erkannt werden, so erforderte ein Hamming-Kode, der diese Aufgabe für 128 Bits oder 16 Bytes löst, acht Kontrollbits und damit acht Schaltungsausgänge, während eine vorteilhafte Ausgestaltung der erfindungsgemäßen Schaltung nur drei Ausgänge für die Kontrollbits aufweist.
  • Eine spezielle Ausgestaltung mit vier Kontrollbits erlaubt es sogar, neben allen ungeraden Fehlern alle Fehler der Informationsbits, die aus bis zu sieben benachbarten Einzelfehlern bestehen, mit Sicherheit zu erkennen.
  • Die verschiedenen Ausführungsformen der erfindungsgemäßen Schaltungen implementieren Verfahren oder Prozesse zum Erzeugen von Kontrollbits, die zur Fehlererkennung dienen, wobei in einer Ausführung eine kombinatorische Schaltung mit n binären Eingängen E1, ..., En zum Eingeben von n (n ≥ 2) Informationsbits x1, ..., xn und m binären Ausgängen zum Ausgeben von m (m ≥ 1) Kontrollbits c1, ..., cm genutzt wird. Die Kontrollbits werden erzeugt, indem die Schaltungselemente definierte Funktionen implementieren, nach denen die binären Eingangsdaten verarbeitet werden.
  • Die verschiedenen Ausführungsformen der erfindungsgemäßen Schaltungen implementieren Verfahren oder Prozesse zum Erzeugen von Kontrollbits, die zur Fehlererkennung dienen, wobei in einer Ausführung eine kombinatorische Schaltung mit n binären Eingängen E1, ..., En zum Eingeben von n (n ≥ 2) Informationsbits x1, ..., xn und m binären Ausgängen zum Ausgeben von m (m ≥ 1) Kontrollbits c1, ..., cm genutzt wird. Die Kontrollbits werden erzeugt, indem die Schaltungselemente definierte Funktionen implementieren, nach denen die binären Eingangsdaten verarbeitet werden.
  • Beschreibung von Ausführunsgbeispielen der Erfindung
  • Die Erfindung wird im folgenden anhand von Ausführungsbeispielen unter Bezugnahme auf Figuren einer Zeichnungen näher erläutert. Hierbei zeigen:
  • 1 eine erfindungsgemäße Schaltung zum Erzeugen eines einzigen Kontrollbits aus n Informationsbits;
  • 2 eine erfindungsgemäße Schaltung zum Erzeugen von zwei Kontrollbits aus n Informationsbits;
  • 3 eine erfindungsgemäße Schaltung zum Erzeugen von m = 2 Kontrollbits aus n = 6 Datenbits;
  • 4 eine erfindungsgemäße Schaltung zum Erzeugen von m = 2 Kontrollbits aus n = 10 Datenbits;
  • 5 eine erfindungsgemäße Schaltung zum Erzeugen von m = 4 Kontrollbits aus n = 8 Datenbits;
  • 6 eine erfindungsgemäße Schaltung zum Erzeugen von m = 3 Kontrollbits aus n Datenbits;
  • 7 eine erfindungsgemäße Schaltung zum Erzeugen von m = 2 Kontrollbits aus sechs Datenbits, der eine Permutationsschaltung zur Permutation der Eingänge vorgeschaltet ist; und
  • 8 eine schematische Darstellung einer Anordnung mit Schaltungselementen zur Überwachung einer digitalen Schaltung im laufenden Betrieb unter Verwendung einer Schaltung zum Erzeugen von m Kontrollbits.
  • 1 zeigt ein Schaltbild einer erfindungsgemäßen Schaltung 10 zur Bestimmung eines Kontrollbits c aus n Informations- oder Datenbits xi1, ..., xin. n ist eine gerade Zahl.
  • Die Schaltung 10 in 1 hat n Eingänge E1, ..., En und einen Kontrollsignalausgang K1, der das Kontrollbit c ausgibt. Die Informationsbits xi1, ..., xin liegen an den Eingängen E1, ..., En an. Für j = 1, 3, 5, ..., n – 1 ist der Eingang Ej mit dem ersten Eingang eines NAND-Gatters j16 verbunden, während der Eingang E(j + 1) mit dem zweiten Eingang dieses Gatters verbunden ist.
  • Der Ausgang des NAND-Gatters 116 ist in den ersten Eingang eines XOR-Gatters 326 geführt. Für j = 3, 5, ..., n – 3 ist der Ausgang des XOR-Gatters j26 mit dem ersten Eingang eines weiteren XOR-Gatters (j + 2)26 verbunden. Für j = 3, 5, ..., n – 1 ist der Ausgang des NAND-Gatters j16 mit dem jeweils zweiten Eingang des XOR-Gatters j26 verbunden. Der Ausgang des XOR-Gattters (n – 1)26 ist der Kontrollsignalausgang K1, der das Kontrollsignal c trägt.
  • In der beschriebenen Weise wird das Kontrollsignal c durch eine kombinatorische Schaltung 10 realisiert, die aus den NAND-Gattern i16 für i = 1, 3, 5, ... n – 1 und den XOR-Gattern j26 für j = 3, 5, ..., n – 1 aufgebaut ist.
  • Die NAND-Gatter 116, 316, ..., (n – 1)16 sind Gatter mit einem bestimmenden Wert (controling value) 0. Liegt der bestimmende Wert 0 an einem Eingang eines NAND-Gatters an, dann gibt das NAND-Gatter unabhängig von dem Wert, der an dem anderen Eingang anliegt, den Wert 1 aus. Liegt an einem Eingang eines NAND-Gatters der nicht bestimmende Wert 1 an, dann gibt es, je nachdem ob an dem anderen Eingang der Wert 1 oder 0 anliegt, den Wert 0 oder 1 aus.
  • Andere Gatter mit einem bestimmenden Wert 0, 1 und 1 sind AND-, OR und NOR-Gatter.
  • Analog wie für ein NAND-Gatter gilt für ein AND-, OR- und NOR-Gatter: Liegt der bestimmende Wert 0 an einem Eingang eines AND-Gatters an, dann gibt das AND-Gatter unabhängig von dem Wert, der an dem anderen Eingang des AND-Gatters anliegt, den Wert 0 aus. Liegt der bestimmende Wert 1 an einem Eingang eines OR-Gatters an, dann gibt das OR-Gatter unabhängig von dem Wert, der an dem anderen Eingang des OR-Gatters anliegt, den Wert 0 aus. Liegt der bestimmende Wert 1 an einem Eingang eines NOR-Gatters an, dann gibt das NOR-Gatter unabhängig von dem Wert, der an dem anderen Eingang des AND-Gatters anliegt, den Wert 0 aus.
  • Die Erkennung von Fehlern in den Informations- oder Datenbits xi1, ..., xin anhand von Veränderungen des Kontrollbits c soll nun erläutert werden.
  • Als ersten Fehler betrachten wir einen Fehler, bei dem die korrekte Eingabe xi3 in die fehlerhafte Eingabe xi3 gestört ist. Der fehlerhafte Wert xi3 liegt am Eingang E3 an, der mit dem ersten Eingang des NAND-Gatters 316 verbunden ist.
  • In Abhängigkeit von dem Wert xi4, der an dem Eingang E4 anliegt, der mit dem zweiten Eingang des NAND-Gatters 316 verbunden ist, führt der fehlerhafte Wert xi3 zu einer Änderung des Kontrollbits c. Nimmt xi4 den bestimmenden Wert 0 des NAND-Gatters 316 an, dann gibt das NAND-Gatter 316 unabhängig vom Wert, der an seinem ersten Eingang anliegt, den Wert 1 aus, der dann an dem zweiten Eingang des XOR-Gatters 326 aus und der betrachtete Fehler kann sich auf das Kontrollsignal c nicht auswirken.
  • Nimmt aber xi4 den nicht bestimmenden Wert 1 des NAND-Gatter 316 an, dann führt der betrachte Fehler zu einer Änderung des Kontrollsignals c und er kann anhand dieser Änderung erkannt werden. Das NAND-Gatter 316 gibt dann statt des Wertes xi3 im korrekten Fall nun im fehlerhaften Fall den Wert xi3 aus, der in den zweiten Eingang des XOR-Gatters 326 eingegeben wird und der sich über die XOR-Gatter 326, 526, ... (n – 1)26 als eine Änderung des Kontrollbits c auswirkt.
  • Wird realistischer Weise angenommen, daß xi4 den Wert 0 und den Wert 1 jeweils etwa gleichhäufig oder gleichwahrscheinlich jeweils mit der Wahrscheinlichkeit 1/2 annimmt, dann wird der Fehler xi3 in xi3 gestört mit der Wahrscheinlichkeit 1/2 an einer Änderung des Kontrollbits c erkannt.
  • Es wird nun der 2-Bit-Fehler xi2 in xi2 gestört und xi5 in xi5 gestört betrachtet. Der Fehler xi2 in xi2 gestört wirkt sich am Ausgang des NAND-Gatters 116 aus, wenn xi1 den Wert 1 annimmt, und er wirkt sich nicht aus, wenn xi 1 den Wert 0 annimmt.
  • Der Fehler xi5 in xi5 gestört wirkt sich am Ausgang des NAND-Gatters 516 aus, wenn xi6 den Wert 1 annimmt, und er wirkt sich nicht aus, wenn xi6 den Wert 0 annimmt. 0 ist der bestimmende Wert eines NAND-Gatters und 1 ist der nicht bestimmende Wert eines NAND-Gatters.
  • Die Ausgänge der NAND-Gatter 116, 316, ..., (n – 1)16 werden durch die XOR-Gatter 326, 526,..., (n – 1)26 zur Bildung des Kontrollbits c XOR-verknüpft. Daher wirkt sich der Fehler xi2 in xi2 gestört und xi5 in xi5 gestört dann am Ausgang K1 in einer Änderung des Kontrollbits c aus, wenn sich entweder xi2 in xi2 gestört am Ausgang des NAND-Gatters 316 oder xi5 in xi5 gestört am Ausgang des NAND-Gatters 516 auswirkt. Das ist genau dann der Fall, wenn an einem der Eingänge E1 oder E6 der bestimmende Wert 0 und an dem anderen der beiden Eingänge der nicht bestimmende Wert 1 anliegt. Liegt an beiden Eingängen der nicht bestimmende Wert 1 an, dann werden die beiden fehlerhaften Ausgaben der NAND-Gatter 116 und 526 durch die XOR-Verknüpfung kompensiert. Liegt an beiden Eingängen der bestimmende Wert 0 an, dann werden von beiden NAND-Gattern 116 und 526 keine fehler haften Werte ausgegeben. Der betrachtete Fehler wird somit genau dann an einer Änderung des Kontrollbits c erkannt, wenn xi1 = 1 und xi6 = 0 oder xi1 = 0 und xi6 = 1 ist.
  • Wird wieder realistischer Weise angenommen, daß die Inputsignale 0 und 1 jeweils mit gleicher Wahrscheinlichkeit auftreten, dann wird dieser 2-Bit-Fehler mit der Wahrscheinlichkeit erkannt. Analog kann gezeigt werden, daß jeder ungerade Fehler mit der Wahrscheinlichkeit 1/2 an einer Änderung des Kontrollbits c erkannt wird.
  • Eine Vielzahl von geraden Fehlern wird ebenfalls mit der Wahrscheinlichkeit 1/2 an einer Änderung des Kontrollbits c erkannt.
  • Um die Eigenschaften der erfindungsgemäßen Schaltung 10 nach 1 noch zu verdeutlichen, soll sie noch mit der Schaltung verglichen werden, die das Paritätsbit als Kontrollbit erzeugt.
  • Im Falle der Paritätsbiterzeugung werden bekanntlich alle Eingänge der betrachteten Schaltung durch XOR-Verknüpfung zu einem Kontrollbit, das Paritätsbit genannt wird, wobei XOR-Gatter bekannterweise keinen bestimmenden Wert haben.
  • Jeder ungerade Fehler an den Schaltungseingängen wird mit der Wahrscheinlichkeit 1 an einer Änderung des Paritätsbits erkannt. Jeder gerade Fehler wird hingegen niemals an der Änderung des Paritätsbits erkannt. Tritt nun ein gerader Fehler auf, so bleibt er bei Prüfung durch ein Paritätsbit stets unentdeckt.
  • Es wird der Fall betrachtet, daß eine digitale Schaltung S der Schaltung 10 von 1 vorgeschaltet ist, so daß die Ausgänge der vorgeschalteten Schaltung S mit den Eingängen der Schaltung 10 von 1 verbunden sind. Die Schaltung S ist in 1 nicht eingezeichnet.
  • Treten in der Schaltung S technisch-physikalische Fehler auf, dann gibt es in vielen Schaltungen auch solche technisch-physikalische Fehler, die stets zu geraden Fehlern der Bits an den Ausgängen von S führen. Derartige Fehler können mit einer Paritätsbitprüfung niemals erkannt werden, wohingegen mit der Schaltung 10 von 1 derartige Fehler in jedem Takt mit der Wahrscheinlichkeit ½ erkannt werden. Ist der Fehler permanent, dann wird er in L aufeinanderfolgenden Takten mit der Wahrscheinlichkeit 1 – (12 )L erkannt wird. Schon für L = 10 ergibt sich praktisch eine Wahrscheinlichkeit 1, daß ein derartiger Fehler erkannt wird. Ist der betrachtete Fehler nicht permanent, aber wenigstens K Takte vorhanden, so ist die Wahrscheinlichkeit, daß der Fehler erkannt wird gleich 1 – (12 )K.
  • Dabei ist der Aufwand für die Fehlererkennung in der erfindungsgemäßen Schaltung sogar geringer, als bei der Fehlererkennung durch Parität. Bei einer Fehlererkennung durch Parität wären die NAND-Gatter 116, 316, ..., (n – 1)16 jeweils durch XOR-Gatter zu ersetzen, wobei NAND-Gatter allgemein weniger Aufwand als XOR-Gatter erfordern.
  • 2 zeigt ein Schaltbild einer erfindungsgemäßen Schaltung 20 zur Bestimmung von zwei Kontrollbits c1 und c2 aus n Informations- oder Datenbits x1, ..., xn. n ist eine gerade Zahl. Die Schaltung 20 in 2 hat n Eingänge E1, ..., En und zwei Kontrollsignalausgänge K1 und K2, die die Kontrollsignale c1 und c2 führen. Die Informationsbits x1, ..., xn liegen an den Eingängen E1, ..., En an.
  • Für j = 1, 3, 5, ..., n – 1 ist der Eingang Ej mit dem ersten Eingang eines AND-Gatters j17 verbunden, während der Eingang E(j + 1) mit dem zweiten Eingang des AND-Gatters j17 verbunden ist. Der Ausgang des AND-Gatters 117 ist in den ersten Eingang eines XOR-Gatters 327 geführt. Für j = 3, 5, ..., n – 3 ist der Ausgang des XOR-Gatters j27 mit dem ersten Eingang eines weiteren XOR-Gatters (j + 1)27 verbunden. Für j = 3, 5, ..., n – 1 ist der Ausgang des AND-Gatters j17 mit dem jeweils zweiten Eingang des XOR-Gatters j27 verbunden.
  • Der Ausgang des XOR-Gatters (n – 1)27 ist der Kontrollausgang K1 der das Kontrollsignal c1 trägt. Darüber hinaus ist für k = 2, 4, ..., n – 2 der Eingang Ek mit dem ersten Eingang eines OR-Gatters k37 verbunden, während für k = 2, 4, ..., n – 2 der Eingang E(k + 1) mit dem zweiten Eingang des OR-Gatters k37 verbunden ist. Der Ausgang des OR-Gatters 237 ist mit dem ersten Eingang eines XOR-Gatters 447 verbunden in dessen zweiten Eingang der Ausgang des OR-Gatters 437 geführt ist.
  • Für k = 4, 6, ..., n – 4 ist der Ausgang des XOR-Gatters k47 mit dem ersten Eingang eines weiteren XOR-Gatters (k + 2)47 verbunden in dessen zweiten Eingang der Ausgang des OR-Gatters (k + 2)47 geführt ist. Der Ausgang des XOR-Gatters (n – 2)47 ist der Kontrollsignalausgang K2, der das Kontrollsignal c2 führt.
  • In der beschriebenen Weise wird das Kontrollsignal c1 durch eine kombinatorische Schaltung S1 realisiert, die aus den AND-Gattern i17 für i = 1, 3, 5, ..., n – 1 und den XOR-Gattern j27 für j = 3, 5, ..., n – 1 aufgebaut ist.
  • Entsprechend wird das Kontrollsignal c2 durch eine kombinatorische Schaltung S2 realisiert, die aus den OR-Gattern k37 für k = 2, 4, 6, ..., n – 2 und den XOR-Gattern j47 für j = 4, 6, ..., n – 2 aufgebaut ist. Die Schaltungen S1 und S2 bilden die Schaltung 20.
  • Der Ausgang K2, der das Kontrollsignal c2 realisiert, hängt von einer Teilmenge der Informationsbits, von den Informationsbits x2, x3, ..., x(n – 1) ab.
  • Überraschenderweise erlaubt es die Schaltung von 2, einen beliebigen geraden oder ungeraden Fehler an den Eingängen der Schaltung von 2, der nicht alle n Bits gleichzeitig verfälscht, mindestens mit der Wahrscheinlichkeit 1/2 an einer Änderung mindestens eines der Kontrollbits c1 oder c2 zu erkennen.
  • Die Fehlererkennung mittels der Kontrollbits der Schaltung 20 nach 2 soll nun an einem Beispiel näher erläutert werden.
  • Es wird ein 4-Bit-Fehler betrachtet, daß x1, x2, x5, x6 in x1 x2 x5 x6 gestört ist. Anstelle des korrekten Wertes x1x2 gibt das AND-Gatter 117 den Wert x1 x2 und das AND-Gatter 517 den Wert x5x6 anstelle des korrekten Wertes x5 x6 aus. Es gilt x1x2 XOR x1 x2 = 1 XOR x1 XOR x2 und x5x6 XOR x5 x6 = 1 XOR x5 XOR x6, wie sich am einfachsten aus den Wertetabellen der entsprechenden Booleschen Funktionen ergibt.
  • Da die Ausgänge der AND-Gatter 117 und 517 zu dem Kontrollsignal c1 XOR-verknüpft werden und an den Ausgängen der weiteren AND-Gatter j17 für j ungleich 1 und 5 keine fehlerhaften Signale ausgegeben werden, wird der betrachtete Fehler dann am Ausgang K1 erkannt, wenn 1 XOR x1 XOR x2 XOR 1 XOR x5 XOR x6 = x1 XOR x2 XOR x5 XOR x6 = 1 erfüllt ist.
  • Ist x1 XOR x2 XOR x5 XOR x6 = 0, dann wird dieser Fehler am Ausgang K1 nicht erkannt.
  • Der betrachtete Fehler wirkt sich aber weiterhin an den Ausgängen der folgenden OR-Gatter aus:
    am Ausgang des OR-Gatters 237, wenn x3 den nicht bestimmenden Wert 0 annimmt,
    am Ausgang des OR-Gatters 437, wenn x4 den nicht bestimmenden Wert 0 annimmt,
    am Ausgang des OR-Gatters 637, wenn x7 den nicht bestimmenden Wert 0 annimmt.
  • Der Fehler wirkt sich an den Ausgängen der OR-Gatter nicht aus, wenn die entsprechenden Informationsbits x3, x4, x7 den bestimmenden Wert 1 annehmen.
  • Da die Ausgänge der OR-Gatter 237, 437, 637 und n37 zur Bildung des Kontrollbits c2 am Kontrollbitausgang K2 XOR-verknüpft werden, wirkt sich der Fehler genau dann am Kontrollsignalausgang K2 aus, wenn eine ungerade Anzahl der Informationsbits x3, x4, x7 gleich 1 ist. Das ist für die Hälfte aller möglichen Belegungen dieser Informationsbits der Fall, so daß sich bei gleicher Wahrscheinlichkeit für das Auftreten der Werte 0 und 1 für die Informationsbits für die Erkennung des betrachteten Fehlers allein am Kontrollbitausgang K2 die Wahrscheinlichkeit von 1/2 ergibt. Ganz analog ist für jeden möglichen Fehler erkennbar, der nicht gleichzeitig alle n Informationsbits verfälscht, daß er entweder am Ausgang K1 oder am Ausgang K2 mit der Wahrscheinlichkeit 1/2 erkannt wird.
  • 3 zeigt ein Schaltbild einer erfindungsgemäßen Schaltung 30 zum Bestimmen von zwei Kontrollbits c1 und c2 aus n = 6 Informationsbits x1, x2, x3, x4, x5, x6, die an den Eingängen E1, E2, ..., E6 der Schaltung 30 anliegen. Die an den Eingängen E1, ..., E6 anliegenden Daten werden unverändert an den Datenausgängen D1, D2, ..., D6 der Schaltung 30 ausgegeben. An den beiden Kontrollsignalausgängen K1 und K2 werden die von der Schaltung 30 bestimmten Kontrollbits c1 und c2 bereitgestellt.
  • Schaltungseingänge E1 und E2 sind mit den beiden Eingängen eines AND-Gatters 111 und mit den beiden Eingängen eines NOR-Gatters 121 verknüpft. Der Ausgang des AND-Gatters 111, der das Signal a1 trägt, ist in den ersten Eingang eines XOR-Elementes 131 geführt, während der Ausgang des NOR-Gatters 121, der das Signal b1 trägt in den ersten Eingang eines XOR-Gatters 141 geführt ist.
  • Schaltungseingänge E3 und E4 sind mit den beiden Eingängen eines AND-Gatters 211 und mit den beiden Eingängen eines NOR-Gatters 221 verknüpft. Der Ausgang des AND-Gatters 211 ist mit dem zweiten Eingang des XOR-Elementes 131 geführt, dessen Ausgang, der das Signal a2 führt, mit dem ersten Eingang eines XOR-Gatters 231 verbunden ist. Der Ausgang des NOR-Gatters 221, der in den zweiten Eingang des XOR-Gatters 141 geführt ist, dessen Ausgang das Signal b2 führt, mit ist dem ersten Eingang eines XOR-Gatters 241 verbunden.
  • Die Schaltungseingänge E5 und E6 sind mit den beiden Eingängen eines AND-Gatters 311 und mit den beiden Eingängen eines NOR-Gatters 321 verknüpft. Der Ausgang des AND-Gatters 311 ist mit dem zweiten Eingang des XOR-Elementes 231 geführt, dessen Ausgang mit dem Ausgang K1 verbunden ist. Dieser Ausgang führt das Kontrollbit c1. Der Ausgang des NOR-Gatters 321 ist in den zweiten Eingang des XOR-Gatters 241 geführt, dessen Ausgang mit dem Ausgang K2 verbunden ist. Dieser Ausgang führt das Kontrollbit c2.
  • Das am Ausgang K1 ausgegebene Kontrollbit c1 hat den Wert c1 = f1(x1, x2, ..., x6) = (x1 x2) XOR (x3 x4) XOR (x5 x6), und das am Ausgang K2 ausgegebene Kontrollsignal c2 hat den Wert c2 = f2(x1, x2, ..., x6) = (x1 NOR x2) XOR (x3 NOR x4) XOR (x5 NOR x6).
  • Es gilt f11(x1, x2) = x1 x2, f21(x1, x2) = (x1 NOR x2), ..., f13(x5, x6) = x5x6, f23(x5, x6) = (x5 NOR x6) und f1(x1, ..., x6) = f11(x1, x2) XOR f12(x3, x4) XOR f13(x5, x6), f2(x1, ..., x6) = f21(x1, x2) XOR f22(x3, x4) XOR f23(x5, x6).
  • Es ergibt sich unmittelbar, daß die beiden Funktionen f1 und f2 nichtlinear sind.
  • Es gilt (xi xj) XOR (xi NOR xj) = xi XOR xj XOR 1, was am einfachsten mittels direktem Nachrechnen mit einer Wertetabelle überprüfbar ist. Da außerdem 1 XOR 1 = 0 ist, ergibt sich c1 XOR c2 = x1 XOR x2 XOR x3 XOR x4 XOR x5 XOR x6 XOR 1, und die XOR-Verknüpfung der beiden Ausgänge K1 und K2 ergibt mathematisch die negierte Parität der Werte x1 x2, x3, x4, x5, x6, die an den Schaltungseingängen E1, E2, E3, E4, E5, E6 anliegen. Erfindungsgemäß muß die XOR-Verknüpfung der Kontrollbit-Ausgänge K1 und K2 aber nicht als Hardware ausgeführt werden.
  • Da durch XOR-Verknüpfung der Kontrollbits c1 und c2 die negierte Parität der Informationsbits erhalten wird, kann jede Änderung der Parität dieser Bits durch fehlerhafte Eingabesignale x1', ... x6' an den entsprechenden Änderungen der Kontrollsignale c1 und c2 erkannt werden.
  • Eine Vielzahl der 2-Bit-Fehler in dem Datenwort x1, x2, x3, x4, x5, x6 ist an den Änderungen der Kontrollbits erkennbar.
  • Als erster 2-Bit-Fehler wird ein 2-Bit-Fehler betrachtet, bei dem anstelle der korrekten Bits x2 und x3 die fehlerhaften Bits x3 und x2 in die Schaltung 20 nach 3 eingegeben werden. Alle anderen Bits x1, x4, x5, x6, x7, x8 sollen sich nicht ändern.
  • Im fehlerfreien Fall geben die AND-Gatter 111 und 211 die Werte x1x2 und x3x4 aus. Liegt der angenommene Fehler vor, dann gibt das AND-Gatter 111 den Wert x1 x2 aus, der sich vom korrekten Wert um x1 unterscheidet. Das AND-Gatter 211 gibt den Wert x3 x4 aus, der sich um x4 vom korrekten Wert unterscheidet. Es ergibt sich, daß der betrachtete Fehler das Kontrollsignal c1 dann verändert, wenn x1 XOR x4 = 1 ist.
  • Im fehlerfreien Fall gibt das NOR-Gatter 121 den Wert x1 NOR x2 und im Fehlerfall den Wert x1 NOR x2 aus, der sich vom fehlerfreien Fall um x1 unterscheidet. Das NOR-Gatter 221 gibt im fehlerfreien Fall den Wert x3 NOR x4 aus. Liegt der angenommene Fehler vor, dann gibt das NOR-Gatter 221 den Wert x3 NOR x4 aus, der sich vom korrekten Wert um x4 unterscheidet, wie am einfachsten anhand der Wertetabellen der verwendeten Funktionen nachgerechnet werden kann. Es ergibt sich, daß der betrachtete Fehler das Kontrollsignal c2 dann verändert, wenn x1 XOR x4 = 1 ist. Damit kann dieser Fehler sowohl am Ausgang K1 als auch am Ausgang K2 an den veränderten Kontrollbits erkannt werden, wenn x1 XOR x4 = 1 ist. Er wird nicht erkannt, wenn x1 XOR x4 = 0 ist. Unter der Annahme, daß alle möglichen Werte mit gleicher Häufigkeit als Input an der Schaltung SKB von 3 anliegen, wird der Fehler mit der Wahrscheinlichkeit 1/2 erkannt.
  • Als zweiter 2-Bit-Fehler wird ein solcher 2-Bit-Fehler betrachtet, bei dem anstelle der korrekten Bits x3 und x4 die invertierten Bits x3, x4 anliegen.
  • Der Ausgang des AND-Gatters 211 gibt im fehlerfreien Fall x3 x4 und im Fehlerfall den Wert x3 x4, der sich vom korrekten Wert um 1 XOR x3 XOR x4 unterscheidet.
  • Der Ausgang des NOR-Gatters 221 gibt im fehlerfreien Fall den Wert x3 NOR x4 und im Falle des betrachteten Fehlers x3 NOR x4 aus, so daß sich der Wert am Ausgang dieses Gatters im Fehlerfall ebenfalls um 1 XOR x3 XOR x4. Der 2-Bit-Fehler wird erkannt, wenn x3 XOR x4 = 0 gilt, d. h. wenn x3 = x4 ist und der Fehler unidirektional ist. Hierbei ist ein unidirektionaler Fehler ein solcher Fehler, bei dem alle fehlerhaften Bits in der gleichen Richtung verändert sind, entweder alle von 0 nach 1 oder alle von 1 nach 0.
  • Auf die gleiche Weise ergibt sich, daß alle benachbarten n/2 = k 2-Bit-Fehler and den Eingängen E(2k – 1), E2k, k = 1, 2, ... stets erkannt werden, wenn sie unidirektional sind und daß alle anderen ( n / 2) – n/2 = n(n – 1) – n/2 2-Bit-Fehler mit der Wahrscheinlichkeit 1/2 erkannt werden.
  • Würden die beiden Ausgänge K1 und K2 durch ein XOR-Gatter zu einem einzigen Ausgang verknüpft, der die Parität der Datenbits x1 XOR ... XOR x6 realisiert, dann könnten an diesem Ausgang überhaupt keine 2-Bit-Fehler erkannt werden.
  • 4 zeigt ein Schaltbild einer erfindungsgemäßen Schaltung 40 zum Bestimmen von drei Kontrollbits c1, c2 und c3 aus n = 10 Informationsbits x1, x2, x3, x4, x5, x6, x7, x8, x9, x10 die an den zehn Eingängen E1, E2, ..., E8, E9, E10 der Schaltung 40 anliegen. Die an Eingängen E1, ..., E10 anliegenden Daten werden unverändert an Datenausgängen D1, ..., D10 der Schaltung 40 ausgegeben. An drei Ausgängen K1, K2 und K3 zur Bestimmung der Kontrollbits werden die von der Schaltung 40 bestimmten Kontrollsignale c1, c2 und c3 bereitgestellt.
  • Die Schaltungseingänge E1 und E2 sind mit den beiden Eingängen eines AND-Gatters 112, mit den beiden Eingängen eines OR-Gatters 122 und mit den beiden Eingängen eines weite ren AND-Gatters 132 verknüpft. Der erste, mit E1 verbundener Eingang des AND-Gatters 132 ist negiert. Der Ausgang des AND-Gatters 111, der das Signal a1 trägt, ist in den ersten Eingang eines XOR-Elementes 342 geführt, während des Ausgang des OR-Gatters 122, der das Signal b1 trägt in den ersten Eingang eines XOR-Gatters 352 geführt ist. Der Ausgang des AND-Gatters 132, der das Signal c1 trägt, ist in den ersten Eingang eines weiteren XOR-Gatters 362 geführt.
  • Für i = 3, 5, 7 und 9 sind die Schaltungseingänge Ei und E(i + 1) mit den beiden Eingängen eines AND-Gatters i12, mit den beiden Eingängen eines OR-Gatters i22 und mit den beiden Eingängen eines weiteren AND-Gatters i32 verbunden. Der erste, mit Ei verbundene Eingang des Gatters i32 ist negiert.
  • Der Ausgang des AND-Gatters i12 ist in den zweiten Eingang des XOR-Gatters i42 geführt, wobei für i = 3, 5, 7 dessen Ausgang, der das Signal ai trägt, mit dem ersten Eingang eines weiteren XOR-Gatters (i + 2)42 verbunden ist.
  • Der Ausgang des OR-Gatters i22 ist in den zweiten Eingang des XOR-Gatters i52 geführt, wobei für i = 3, 5, 7 dessen Ausgang, der das Signal bi trägt, mit dem ersten Eingang eines weitern XOR-Gatters (i + 2)52 verbunden ist. Der Ausgang des AND-Gatters i32, dessen erster, mit Ei verbundene Eingang negiert ist, ist in den zweiten Eingang des XOR-Gatters i62 geführt, wobei für i = 3, 5, 7 dessen Ausgang, der das Signal ci trägt, mit dem ersten Eingang eines weiteren XOR-Gatters (i + 2)62 verbunden ist.
  • Der Ausgang des XOR-Gatters 942 ist der erste Ausgang K1 für das Kontrollsignal c1. Der Ausgang des XOR-Gatters 952 ist der zweite Ausgang K2 für das Kontrollsignal c2. Der Ausgang des XOR-Gatters 962 ist der dritte Ausgang K3 für das Kontrollsignal c3.
  • Werden nun die Ausgänge K1, K2, die eine echte Teilmenge der Ausgänge K1, K2, K3 bilden, mathematisch verknüpft durch die XOR-Verknüpfung, so ergibt sich die Parität der an den Eingängen E1, ..., E10 anliegenden Informationsbits x1, ..., x10, wie nun erläutert werden soll.
  • Das am Ausgang K1 ausgegebene Kontrollsignal c1 hat den Wert c1 = f1(x1, x2, ..., x10) = (x1 x2) XOR (x3 x4) XOR (x5 x6) XOR (x7 x8) XOR (x9 x10) und das am Ausgang K2 ausgegebene Kontrollsignal c2 hat den Wert c2 = f2(x1, x2, ..., x10) = (x1 OR x2) XOR (x3 OR x4) XOR (x5 OR x6) XOR (x7 OR x8) XOR (x9 OR x10).
  • Es ist leicht zu sehen, daß die beiden Funktionen f1 und f2 nichtlinear sind.
  • Da (xi xj) XOR (xi OR xj) = xi XOR xj gilt, wie am einfachsten durch direktes Nachrechnen mit einer Wertetabelle überprüft werden kann, gilt: c1 XOR c2 = x1 XOR x2 XOR x3 XOR x4 XOR x5 XOR x6 XOR x7 XOR x8 XOR x9 XOR x10, und die XOR-Verknüpfung der beiden Ausgänge K1 und K2 ergibt mathematisch die Parität der Werte x1, x2, x3, x4, x5, x6, x7, x8, x9, x10 aus, die an den Schaltungseingängen E1, E2, E3, E4, E5, E6, E7, E8, E9, E10 anliegen.
  • Erfindungsgemäß muß die XOR-Verknüpfung der Kontrollbit-Ausgänge K1 und K2 aber nicht als Hardware ausgeführt werden.
  • Da mittels XOR-Verknüpfung der Kontrollbits c1 und c2 die Parität erhalten wird, kann jede Änderung der Parität durch fehlerhafte Eingabesignale x1', ..., x8' an den entsprechenden Änderungen der Kontrollsignale c1 und c2 erkannt werden.
  • Es lassen sich nun alle benachbarten 2-Bit-Fehler in den Eingabewerten x1, ..., x10 an den entsprechend der Schaltung 40 von 4 bestimmten Kontrollbitausgängen K1, K2, K3 stets erkennen. Dieser Sachverhalt soll nun an zwei Beispielen erläutert werden.
  • Im ersten Beispiel nehmen wir an, daß anstatt der korrekten Werte x1 und x2 die fehlerhaften Werte x1 und x2 an den Eingängen E1 und E2 anliegen. Alle anderen Eingabewerte sollen unverändert korrekt sein.
  • Im fehlerfreien Fall gilt: a1 = x1 x2, b1 = x1 OR x2, c1 = x1 x2,und im Fall des betrachteten Fehlers gilt: a1' = x1 x2 = a1 XOR 1 XOR x1 XOR x2, b1' = (x1 OR x2) = a2 XOR 1 XOR x1 XOR x2, c1' = x1 OR x2) = a3 XOR x1 XOR x2.
  • Da entweder x1 XOR x2 oder 1 XOR x1 XOR x2 gleich 1 ist, werden entweder a1 und b1 oder c1 durch den betrachteten Fehler verändert, und der betrachtete Fehler wird stets erkannt, da er sich entweder auf die beiden Ausgänge K1 und K2 oder auf den Ausgang K3 auswirkt.
  • Im zweiten Beispiel nehmen wir an, daß anstatt der korrekten Werte x2 und x3 die fehlerhaften Werte x2 und x3 an den Eingängen E2 und E3 anliegen. Alle anderen Eingabewerte sollen unverändert korrekt sein.
  • Im fehlerfreien Fall gilt dann: a3 = (x1 x2) XOR (x3 x4), b3 = (x1 OR x2) XOR (x3 OR x4), c3 = x1 x2) XOR (x3 x4),und im Falle des betrachteten Fehlers gilt: a3' = (x1 x2) XOR (x3 x4) = a3 XOR x1 XOR x4 b3' = (x1 OR x2) XOR (x3 OR x4) = b3 XOR x1 XOR x4 c3' = (x1 x2 XOR (x3 x4) = c3 XOR 1 XOR x1 XOR x4.
  • Da entweder x1 XOR x4 oder 1 XOR x1 XOR x4 gleich 1 ist, werden entweder a3 und b3 oder c3 durch den betrachteten Fehler verändert, und der betrachtete Fehler wird stets erkannt, da er sich entweder auf die beiden Ausgänge K1 und K2 oder auf den Ausgang K3 auswirkt.
  • 5 zeigt ein Schaltbild einer erfindungsgemäßen Schaltung 50 zur Bestimmung von vier Kontrollbits c1, c2, c3 und c4 aus n = 8 Informationsbits x1, x2, x3, x4, x5, x6, x7, x8 die an acht Eingängen E1, E2, ..., E8 der Schaltung 50 anliegen. An den vier Kontrollsignalausgängen K1, K2, K3 und K4 werden die von der Schaltung 50 bestimmten Kontrollbits c1, c2, c3 und c4 bereitgestellt.
  • Die Schaltungseingänge E1 und E2 sind mit den beiden Eingängen eines AND-Gatters 113, mit den beiden Eingängen eines OR-Gatters 123 und mit den beiden Eingängen eines weiteren AND-Gatters 133 verbunden. Der erste, mit E1 verbundener Eingang des AND-Gatters 133 ist negiert.
  • Der Ausgang des AND-Gatters 113, der das Signal a1 trägt, ist in den ersten Eingang eines XOR-Gatters 343 geführt. Der Ausgang des XOR-Gatters 343, der das Signal a2 trägt, ist in den ersten Eingang eines weiteren XOR-Gatters 543 geführt. Der Ausgang des OR-Gatters 123, der das Signal b1 trägt, ist in den ersten Eingang eines XOR-Gatters 353 geführt. Der Ausgang des XOR-Gatters 353, der das Signal b2 trägt, ist mit dem ersten Eingang eines weiteren XOR-Gatters 553 verbunden. Der Ausgang des AND-Gatters 133, der das Signal c1 trägt, ist in den ersten Eingang eines weiteren XOR-Gatters 363 geführt. Der Ausgang des XOR-Gatters 363, der das Signal b2 trägt, ist mit dem ersten Eingang eines weiteren XOR-Gatters 563 verbunden.
  • Die Schaltungseingänge E3 und E4 sind mit den beiden Eingängen eines AND-Gatters 313, mit den beiden Eingängen eines OR-Gatters 333 und mit den beiden Eingängen eines weite ren AND-Gatters 323 verbunden. Der erste Eingang des AND-Gatters 323, der mit E3 verbunden ist, ist negiert.
  • Der Ausgang des AND-Gatters 313 ist in den zweiten Eingang des XOR-Gatters 343 geführt. Der Ausgang des AND-Gatters 323 ist in den zweiten Eingang eines XOR-Gatters 353 geführt. Der Ausgang des OR-Gatters 333 ist in den zweiten Eingang eines XOR-Gatters 363 geführt.
  • Die Schaltungseingänge E5 und E6 sind mit den beiden Eingängen eines AND-Gatters 513, mit den beiden Eingängen eines OR-Gatters 523 und mit den Eingängen eines weiteren AND-Gatters 533, dessen erster, mit E5 verbundener Eingang negiert ist, verknüpft. Der Ausgang des AND-Gatters 513 ist in den zweiten Eingang des XOR-Gatters 543 geführt. Der Ausgang des XOR-Gatters 543, der das Signal a3 trägt, ist in den ersten Eingang eines weiteren XOR-Gatters 743 geführt.
  • Der Ausgang des OR-Gatters 523 ist in den zweiten Eingang eines XOR-Gatters 553 geführt. Der Ausgang des XOR-Gatters 553, der das Signal b3 trägt, ist in den ersten Eingang eines weiteren XOR-Gatters 753 geführt. Der Ausgang des AND-Gatters 533 ist in den zweiten Eingang eines XOR-Gatters 563 geführt. Der Ausgang des XOR-Gatters 563, der das Signal c3 trägt, ist in den ersten Eingang eines weitern XOR-Gatters 763 geführt.
  • Die Schaltungseingänge E7 und E8 sind mit den beiden Eingängen eines AND-Gatters 713, mit den beiden Eingängen eines OR-Gatters 733 und eines weiteren AND-Gatters 733, dessen erster, mit E7 verbundener Eingang negiert ist, verknüpft. Der Ausgang des AND-Gatters 713 ist in den zweiten Eingang des XOR-Gatters 743 geführt. Der Ausgang des XOR-Gatters 743 ist mit dem Ausgang K1, der das Kontrollbit c1 führt, verbunden.
  • Der Ausgang des AND-Gatters 723 ist in den zweiten Eingang des XOR-Gatters 753 geführt. Der Ausgang des XOR-Gatters 753 ist mit dem Ausgang K2 verbunden, der das Kontrollbit c2 führt. Der Ausgang des OR-Gatters 733 ist in den zweiten Eingang des XOR-Gatters 763 geführt. Der Ausgang des XOR-Gatters 763 ist mit dem Ausgang K3 verbunden, der das Kontrollbit c3 führt.
  • Der Eingang E3 ist weiterhin mit dem ersten Eingang eines weiteren XOR-Gatters 773 verbunden, mit dessen zweitem Eingang der Schaltungseingang E7 verbunden ist. Der Ausgang dieses XOR-Gatters ist mit dem Ausgang K4 verbunden, der das Kontrollbit c4 führt.
  • Das am Ausgang K1 ausgegebene Kontrollbit c1 hat den Wert c1 = f1(x1, x2, ..., x8) = (x1 x2) XOR (x3 x4) XOR (x5 x6) XOR (x7 x8). Das am Ausgang K2 ausgegebene Kontrollbit c2 hat den Wert c2 = f2(x1, x2, ..., x8) = (x1 OR x2) XOR (x3 x4) XOR (x5 OR x6) XOR (x7 x8). Das am Ausgang K3 ausgegebene Kontrollbit hat den Wert c3 = f3(x1, x2, ..., x8) = (x1 x2) XOR (x3 OR x4) XOR (x5 x6) XOR (x7 OR x8). Das am Ausgang K4 ausgegebene Kontrollbit c4 hat den Wert c4 = f4(x1, x2, ..., x8) = x3 XOR x8.
  • Es ist leicht zu sehen, daß die Funktionen f1, f2 und f3 nichtlinear sind und daß die Funktion f4 linear ist.
  • Die Schaltung von 5 hat die vorteilhafte Eigenschaft, daß Sie alle benachbarten 2-Bit-Fehler, alle benachbarten 4-Bit-Fehler und alle benachbarten 6-Bit-Fehler mit Sicherheit an veränderten Kontrollbits erkennt. Das ist unabhängig davon, ob der auftretende Fehler unidirektional ist oder nicht.
  • Da die Schaltung 50 in 5 auch alle ungeraden Fehler mit Sicherheit erkennt, werden alle benachbarten i-Bit-Fehler mit i = 1, 2, 3, 4, 5, 6, 7 mit Sicherheit erkannt. Beispielhaft soll das für einen 6-Bit-Fehler gezeigt werden, bei dem anstelle der korrekten Eingabewerte x1, x2, x3, x4, x5, x6, x7, x8 die Informationsbits x1 x2x3x4x5x6x7 x8 anliegen. Am Ausgang K1 wird für die korrekten Eingabewerte das Kontrollbit c1 = (x1 x2) XOR (x3 x4) XOR (x5 x6) XOR (x7 x8) ausgegeben. Für die fehlerhaften Eingabewerte wird das Kontrollbit c1' mit c1' = (x1 x2) XOR (x3 x4) XOR (x5 x6) XOR (x7 x8) erhalten, woraus sich durch direktes Nachrechnen c1 XOR c1' = x1 XOR x3 XOR x4 XOR x5 XOR x6 XOR x8 ergibt. Am Ausgang K3 wird für die korrekten Eingabewerte das Kontrollbit c3 = (x1 x2) XOR (x3 OR x4) XOR (x5 x6) XOR (x7 OR x8) und für die fehlerhafte Eingabe das Kontrollbit c3' mit c3' = (x1 x2) XOR (x3 OR x4) XOR (x5 x6) XOR (x7 OR x8) ausgegeben, woraus sich durch direktes Nachrechnen c3 XOR c3' = 1 XOR x1 XOR x3 XOR x4 XOR x5 XOR x6 XOR x8 ergibt.
  • Es ergibt sich, daß sich für beliebige Werte der Informationsbits x1, ..., x8 entweder c1 und c1' oder c3 und c3' unterscheiden und somit der betrachtete Fehler stets erkannt wird.
  • 6 zeigt eine weitere vorteilhafte Ausgestaltung einer erfindungsgemäßen Schaltung 60, die nachfolgend detailliert beschrieben wird.
  • Die Schaltung 60 in 6 hat n Eingänge E1, ..., En, in die die Informations- oder Datenbits x1, ..., xn eingegeben werden und drei Ausgänge K1, K2, K3, an denen die Kontrollbits c1, c2, c3 bereitgestellt werden. n ist eine gerade Zahl.
  • Für i = 1, 3, 4, ..., n – 1 ist der Eingang Ei gleichzeitig mit dem ersten Eingang eines NAND-Gatters i14 und mit dem ersten Eingang eines NOR-Gatters i24 verbunden. Der Eingang E(i + 1) ist gleichzeitig mit dem zweiten Eingang des NAND-Gatters i14 und dem zweiten Eingang des NOR-Gatters i24 verbunden. Der Ausgang des NAND-Gatters 114 ist in den ersten Eingang eines XOR-Gatters 344 geführt. Für i = 3, 5, ..., n – 3 ist der Ausgang des NAND-Gatters i14 in den zweiten Eingang des XOR-Gatters i44 geführt, dessen Ausgang mit dem ersten Eingang eines weiteren XOR-Gatters (i + 2)44 verbunden ist.
  • Der Ausgang des NAND-Gatters (n – 1)14 ist in den zweiten Eingang des XOR-Gatters (n – 1)44 geführt, dessen Ausgang der Schaltungsausgang K1 ist, der das Kontrollbit c1 trägt. Der Ausgang des NOR-Gatters 124 ist in den ersten Eingang eines XOR-Gatters 354 geführt.
  • Für i = 3, 5, ..., n – 3 ist der Ausgang des NOR-Gatters i24 in den zweiten Eingang des XOR-Gatters i54 geführt, dessen Ausgang mit dem ersten Eingang eines weiteren XOR-Gatters (i + 2)54 verbunden ist.
  • Der Ausgang des NOR-Gatters (n – 1)24 ist in den zweiten Eingang des XOR-Gatters (n – 1)54 geführt, dessen Ausgang der Schaltungsausgang K2 ist, der das Kontrollbit c2 trägt.
  • Weiterhin ist für j = 2, 4, 6, ..., n – 2 der Eingang Ej mit dem ersten Eingang eines AND-Gatters j34 verbunden, dessen zweiter Eingang mit dem Eingang E(j + 1) verbunden ist.
  • Der Eingang En ist mit dem ersten Eingang eines AND-Gatters n34 verbunden, dessen zweiter Eingang mit dem Eingang E1 verbunden ist.
  • Der Ausgang des AND-Gatters 234 ist mit dem ersten Eingang eines XOR-Gatters 464 verbunden, in dessen zweiten Eingang der Ausgang des AND-Gatters 434 geführt ist.
  • Für j = 4, 6, ..., m – 2 ist der Ausgang des XOR-Gatters j64 mit dem ersten Eingang eines weiteren XOR-Gatters (j + 2)64 verbunden, in dessen zweiten Eingang der Ausgang des AND-Gatters j34 geführt ist.
  • Der Ausgang des XOR-Gatters n64 ist der Ausgang K3 der Schaltung, der das Kontrollbit c3 ausgibt.
  • An den Ausgängen K1, K2 und K3 werden die Booleschen Funktionen c1 = f1(x1, ..., xn) = (x1 NAND x2) XOR (x3 NAND x4) XOR....XOR (x(n – 1) NAND xn), c2 = f2(x1, ..., xn) = (x1 NOR x2) XOR (x3 NOR x4) XOR....XOR (x(n – 1) NOR xn), c3 = f3(x1, ..., xn) = (x2 x3) XOR (x4 x5) XOR....XOR (xn x1)realisiert. Alle Funktionen f1, f2 und f3 sind nichtlinear.
  • Da (xi NAND xj) XOR (xi NOR xj) = xi XOR xj gilt, wie sich am einfachsten durch Nachrechnen mit einer Wertetabelle ergibt, wird c1 XOR c2 = f1(x1, ..., xn) XOR f2(x1, ..., xn) = x1 XOR x2 XOR...XOR xn erhalten, und die logische XOR-Verlnüpfung der Kontrollbits c1 und c2 ergibt die Parität der Informations- oder Datenbits. Daher wird jeder ungerade Fehler in den Informations- oder Datenbits x1, ..., xn an veränderten Kontrollbits c1 oder c2 erkannt.
  • Darüber hinaus wird jeder beliebige Fehler, bei dem nicht alle n Bits fehlerhaft sind, also auch jeder Fehler mit einer geraden Anzahl 2, 4, 6, ... von fehlerhaften Bits an veränderten Kontrollbits c1, c2 und c3 mit einer Wahrscheinlichkeit von mindestens ½ erkannt, wenn die Datenbits xi mit gleicher Wahrscheinlichkeit die Werte 0 und 1 annehmen. Damit werden von der Schaltung 60 nach 6 alle ungeraden Fehler sicher und alle geraden Fehler mindestens mit der Wahrscheinlichkeit 1/2 erkannt.
  • Als Beispiel wird ein 4-Bit-Fehler betrachtet, bei dem anstelle der korrekten Eingaben x3, x4, x5, x6 die fehlerhaften Eingaben x3, x4, x5, x6 anliegen. Alle anderen Eingaben sollen unverändert x1, x2, x7, ..., xn sein. Dann wird dieser Fehler am Ausgang K3 mit der Wahrscheinlichkeit 1/2 erkannt, wie jetzt erläutert werden soll.
  • Für die fehlerfreie Eingabe gilt d2 = x2 x3, d4 = x2 x3 XOR x4 x5, d6 = x2 x3 XOR x4 x5 XOR x6, wobei d2, d4 und d6 die Ausgabewerte der Gatter 234, 464 und 664 in 6 sind. Für die fehlerhafte Eingabe gilt nun d2' = x2 x3, d4' = x2 x3 XOR x4 x5, d6' = x2 x3 XOR x4 x5 XOR x6 x7.
  • Der betrachtete Fehler wird offensichtlich erkannt, wenn d6 ≠ d6' ist, da alle weiteren Werte, die zur Bestimmung des Kontrollbits c3 mit dem Ausgang des XOR-Gatters 664 XOR- verknüpft werden, unverändert sind und die Verknüpfung XOR bekanntlich eindeutig umkehrbar ist. Das Informationsbit x2 kann entweder den Wert 0 oder 1 annehmen. Es werden beide Möglichkeiten betrachtet.
  • Das AND-Gatter 234, ist wie alle AND-Gatter ein Gatter mit einem bestimmenden Wert, hier mit dem bestimmenden Wert 0. Wird dieser bestimmende Wert an einem seiner Eingänge eingegeben, dann wird an seinem Ausgang der Wert 0 ausgegeben, unabhängig davon, welcher Wert an seinem anderen Eingang anliegt.
  • Für x2 = 0 gibt das Gatter 234 stets 0 aus, unabhängig davon, welcher Wert x3 an seinem zweiten Eingang anliegt, da x2 = 0 ein bestimmender Wert dieses Gatters ist.
  • Gilt für x2 = 0 d6' = x4 x5 XOR x6 x7 ≠ x4 x5 XOR x6 x7 = d6,dann wird der betrachtete Fehler für x2 = 0 am Ausgang K3 erkannt.
  • Gilt für x2 = 0 d6' = x4 x5 XOR x6 x7 = x4 x5 XOR x6 x7 = d6,dann wird der betrachtete Fehler für x2 = 0 am Ausgang K3 nicht erkannt.
  • Es wird nun angenommen, daß der Fehler am Ausgang K3 für x2 = 0 nicht erkannt wird.
  • Dann gilt für x2 = 1 d6' = x3 XOR x4 x5 XOR x6 x7 = x3 XOR x4 x5 XOR x6 x7 ≠ x3 XOR x4 x5 XOR x6 x7 = d6,und der Fehler wird, wenn er nicht für x2 = 0 erkannt wird, für x2 = 1 erkannt. Dabei soll hervorgehoben werden, daß x2 hier nicht zu den fehlerhaften Bits gehört.
  • Tritt das Informationsbit x2 = 0 bzw. das Informationsbit x2 = 1 mit der jeweils gleichen Wahrscheinlichkeit 1/2 auf, dann wird der betrachtete Fehler 4-Bit-Fehler mit der Wahrscheinlichkeit 1/2 erkannt. In völlig analoger Weise ergibt sich, daß ein beliebiger Fehler der Informationsbits an einem der Ausgänge K3 oder K2 mit der Wahrscheinlichkeit 1/2 erkannt wird.
  • Ist das erste fehlerhafte Bit das i-te Bit, dann wird der Fehler am Ausgang K3 erkannt, wenn i ungerade ist und am Ausgang K2 erkannt, wenn i gerade ist.
  • Für die NOR-Gatter ist der bestimmende Wert der Wert xj = 1. Wird in ein NOR-Gatter der bestimmende Wert xj = 1 eingegeben, dann gibt es an seinem Ausgang unabhängig von dem an seinem anderen Eingang anliegenden Wert stets den Wert 0 aus. Entsprechend ist der bestimmende Wert eines NAND-Gatters der Wert 0. Wird der bestimmende Wert 0 an einem seiner Eingänge in ein NAND-Gatter eingegeben, so gibt das NAND-Gatter, unabhängig davon, welcher Wert an seinem anderen Eingang anliegt, den Wert 1 aus.
  • In 6 ergibt sich, daß die Eingänge E1, ..., En jeweils unterschiedlich paarweise zur Bildung der Ausgänge K1, K2 und K3 verknüpft sind. Zur Bildung der Ausgänge K1 und K2 werden jeweils die Einganspaare (E1, E2), (E3, E4), ..., (E(n – 1), En) durch NAND und NOR-Gatter mit jeweils zwei Eingängen verknüpft, deren Ausgänge dann weiter zu K1 bzw. K2 XOR-verknüpft werden. Zur Bildung des Ausganges K3 werden jeweils die Einganspaare (E2, E3), (E4, E5), ..., (En, E1) durch NAND und NOR-Gatter mit jeweils zwei Eingängen verknüpft, deren Ausgänge dann weiter XOR-verknüpft werden.
  • Die Paare der Eingänge, die paarweise zur Bestimmung einerseits der Ausgänge K1, K2 und andererseits K3 durch NAND, NOR und AND-Gatter verknüpft werden, besitzen jeweils höchstens einen gemeinsamen Eingang. So besitzt das Paar (E2, E3), das in dem AND-Gatter 234 zur Bestimmung des Ausganges K3 verknüpft wird, mit den Paaren (E1, E2) und (E3, E4), die in den NAND-Gattern 114 und 314 zur Bestimmung des Ausganges K1 verknüpft werden, jeweils einen gemeinsamen Eingang, nämlich E2 bzw. E3. Mit den anderen Paaren, die zur Bestimmung des Ausganges K1 NAND-verknüpft werden, haben sie keine gemeinsamen Eingänge.
  • 7 zeigt eine Schaltungsanordnung zur Erzeugung von m = 2 Kontrollbits aus n = 6 Informationsbits, bei der Schaltungseingänge durch eine Permutationsschaltung 151 permutiert sind. Die Permutationsschaltung 151 kann hierbei einfach durch eine entsprechende Verdrahtung realisiert werden. Als Beispiel einer Schaltung, deren Eingänge zusätzlich permutiert sind, ist in 7 die Schaltung 30 von 3 verwendet, die hier nicht noch einmal beschrieben werden muß.
  • Die Permutationsschaltung 151 verknüpft ihre Eingänge E1', E2', E3', E4', E5', E6' mit den Eingängen E1, E6, E3, E2, E5, E4 der Schaltung zur Bestimmung der Kontrollbits c1 und c2 nach 3. An den Eingängen E1', E2', E3', E4', E5', E6' liegen die Informationsbits x1, x2, ..., x6 an. Aufgrund der Permutation der Eingänge liegen dann beispielsweise an den beiden Eingängen des AND-Gatters 111 die Informationsbits x1 und x4 an, während ohne Permutation der Eingänge die Informationsbits x1 und x2 anliegen würden. Die Permutation ist so durchgeführt, daß die beiden Eingänge der AND-Gatter i11 und die beiden Eingängen der NOR-Gatter i21, i = 1, 2, 3, nicht mit benachbarten Eingängen verbunden sind.
  • Die Booleschen Funktionen f1 und f2 zur Bestimmung der Kontrollbits c1 und c2 sind nun c1 = f1(x1, x4, x3, x6, x5, x2) = x1 x4 XOR x3 x6 XOR x5 x2, c2 = f2(x1, x4, x3, x6, x5, x2) = (x1 NOR x4) XOR (x3 NOR x6) XOR (x5 NOR x2).
  • Die logische XOR-Verknüpfung der Kontrollbits c1 und c2 ergibt wieder die negierte Parität 1 XOR x1 XOR x2 XOR x3 XOR x4 XOR x5 XOR x6 der Informations- oder Datenbits, so daß auch mit Hilfe der Schaltung von 7 alle ungeraden Fehler der Informationsbits als Veränderungen der Kontrollbits erkannt werden. Im Vergleich zu der Schaltung von 3 ist hier vorteilhaft, daß durch die sinnvolle Permutation der Eingänge mit Hilfe der Schaltung von 7 alle geraden benachbarten 2-Bit-Fehler mit der Wahrscheinlichkeit 1/2 erkannt werden.
  • Als Beispiel wird der 2-Bit-Fehler betrachtet, bei dem x1 in x1 und x2 in x2 gestört sind.
  • Gegenüber dem korrekten Wert ändert sich das Signal a1 um x1 x4 XOR x1 x4 = x4, und das Signal b1 um (x1 NOR x4) XOR (x1 NOR x4) = 1 XOR x4. Der Ausgang des AND-Gatters 311 ändert sich um x5 x2 XOR x5 x2 = x5, so daß sich das Kontrollbit c1 um x4 XOR x5 ändert. Der Ausgang des NOR-Gatters 321 ändert sich um (x5 NOR x2) XOR (x5 NOR x2) = 1 XOR x5, so daß sich das Kontrollbit c2 ebenfalls um x4 XOR x5 ändert.
  • Der betrachtete Fehler, der die Informationsbits x1 und x2 betrifft, wird erkannt, wenn x4 XOR x5 = 1 ist, und er wird nicht erkannt, wenn x4 XOR x5 = 0 ist. In jeweils der Hälfte aller Fälle wird der Fehler erkannt. Unter der Annahme, daß die Informationsbits jeweils gleich häufig die Werte 0 und 1 annehmen wird der Fehler mit der Wahrscheinlichkeit 1/2 erkannt. Völlig analog kann gezeigt werden, daß alle benachbarten 2-Bit-Fehler mit der Wahrscheinlichkeit 1/2 erkannt werden.
  • Als Vergleich wird nun der Fall betrachtet, daß der Fehler, bei dem x1 in x1 und x2 in x2 gestört sind, in der Schaltung 30 nach 3 ohne Permutation der Eingänge vorliegt. Gegenüber dem korrekten Wert ändert sich das Signal a1 in 3 um x1 x2 XOR x1 x2 = 1 XOR x1 XOR x2, und das Signal b1 um (x1 NOR x2) XOR (x1 NOR x2) = 1 XOR x1 XOR x2.
  • Sowohl das Kontrollbit c1 als auch das Kontrollbit c2 ändern sich um 1 XOR x1 XOR x2, und der Fehler wird erkannt, wenn x1 XOR x2 = 0 bzw. x1 = x2 gilt. Gilt aber x1 = 0, x2 = 1 oder x1 = 1, x2 = 0, dann wird dieser 2-Bit-Fehler mit benachbarten Bits niemals erkannt.
  • Es ergibt sich, daß hier Bedingungen auftreten, die die korrekten Werte der Variablen beinhalten, deren Fehler betrachtet werden. Wird eine Permutation vorgeschaltet, dann sind Bedingungen zu erfüllen, die Variablen betreffen, die nicht fehlerhaft sind.
  • Wenn davon ausgegangen werden kann, daß ein Fehler mehrere Takte vorhanden ist, so wird ein benachbarter 2-Bit-Fehler von einer Schaltung mit vorgeschalteter Permutation mit hoher Wahrscheinlichkeit erkannt, während er ohne vorgeschaltete Permutation eventuell gar nicht erkannt werden kann.
  • Der betrachtete Fehler, der die Informationsbits x1 und x2 betrifft, wird erkannt, wenn x4 XOR x5 = 1 ist, und er wird nicht erkannt, wenn x4 XOR x5 = 0 ist. In jeweils der Hälfte aller Fälle wird der Fehler erkannt. Unter der Annahme, daß die Informationsbits jeweils gleich häufig die Werte 0 und 1 annehmen wird der Fehler mit der Wahrscheinlichkeit 1/2 erkannt. Völlig analog kann gezeigt werden, daß alle benachbarten 2-Bit-Fehler mit der Wahrscheinlichkeit 1/2 erkannt werden.
  • 8 zeigt eine schematische Darstellung einer Anordnung mit Schaltungselementen zur Überwachung einer digitalen Schaltung S 18 im laufenden Betrieb.
  • In die Schaltung 18 wird ein r-dimensionaler Input-Vektor z eingegeben, der in der Schaltung 18 aufgabengemäß in einen n-dimensionalen Output-Vektor X = x1, ..., xn verarbeitet wird. Es gilt: r größer gleich 1, n = 2k und k größer gleich 1.
  • Für i = 1, ..., m ist der Ausgang der Schaltung 18, der den binären Wert xi trägt mit dem funktionellen Ausgang Ai und gleichzeitig mit dem Eingang Ei einer Schaltung 28 zum Erzeugen von m Kontrollbits c1, ..., cm aus n Informationsbits x1, ..., xn verbunden. Es gilt: m größer gleich 1. Gleichzeitig wird der m-dimensionale Input-Vektor z in eine digitale Schaltung S' 28 eingegeben, die eine funktionsgleiche Kopie der Schaltung S 18 ist und die den Input-Vektor z in den Outputvektor x1', ..., xn' verarbeitet.
  • Für i = 1, .., n ist der Ausgang der Schaltung S' 28, der den binären Wert xi' trägt mit dem Eingang Ei' einer Schaltung SKB' 48 verbunden, wobei die Schaltung SKN' 48 der Schaltung SKB 28 funktionsgleich ist. Die Schaltung SKB' 48 gibt die m Kontrollbits c1', ..., cm'.
  • Die Kontrollbits c1, ..., cm und c1', ..., cm' werden durch einen Vergleicher 58 verglichen.
  • Tritt kein Fehler in einer der Schaltungen S 18, S' 38, SKB 28 und SKB' 48 auf, so gilt xi = xi' für i = 1, ..., n und cj = cj' für j = 1, ..., m, und der Vergleicher 58 zeigt keinen Fehler an seinem s-Bit breiten Ausgang an, wobei s kleiner gleich 2 gilt. Tritt ein Fehler in der zu überwachenden Schaltung S 18 auf, so gibt diese Schaltung anstelle des korrekten Output-Vektors x1, ..., xn einen fehlerhaften Output-Vektor xf1, ..., xfn aus. Bei Eingabe dieses fehlerhaften Output-Vektors in die Schaltung SKB 28 gibt diese Schaltung die Kontrollbits cf1, ..., cfm aus.
  • Ist cf1, ..., cfm ungleich c1, ..., cm, dann wird der Fehler der Schaltung S 18 beim Vergleich im Vergleicher 58 erkannt.
  • Da im Unterschied zu dem Output-Vektor der überwachten Schaltung S 18 der Output-Vektor x1', ..., xn' der verdoppelten Schaltung S' 28 nicht benötigt wird, können die Schaltungen S' 28 und SKB' 48 gemeinsam als eine (Prediktor-)Schaltung Pr 68 realisiert und optimiert werden. Ein Fachmann kann hierzu zum Beispiel einfach die Reihenschaltung der Schaltung S' 28 und SKB' 48 von einem Synthesetool optimieren lassen.
  • Es ergibt sich, daß für m = 1 der Vergleicher 58 für s = 2 einfach in einem Durchleiten der beiden Signalleitungen besteht, die die Kontrollsignale c1 und c1' tragen. Für s = 1 sind diese beiden Signalleitungen durch ein XOR-Element oder durch ein XNOR-Element zu verknüpfen.
  • 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 (19)

  1. Schaltungsanordnung zur Fehlererkennung mit einer kombinatorischen Schaltung (10; 20; 30; 40; 50; 60) mit n binären Eingängen E1, ..., En zum Eingeben von n (n ≥ 2) Informationsbits x1, ..., xn und m binären Ausgängen zum Ausgeben von m (m ≥ 1) Kontrollbits c1, ..., cm, wobei: – die kombinatorische Schaltung (10; 20; 30; 40; 50; 60) konfiguriert ist, um für i = 1, ..., m am i-ten Ausgang zur Bestimmung eines Kontrollbits ci eine Boolesche Funktion ci = fi(xi1, ..., xini) zu realisieren, wobei die Menge {xi1, ..., xini} der n ni Informationsbits, die das Kontrollbit ci bestimmen, eine Teilmenge aller n Informationsbits {x1, ..., xn} ist; und – die kombinatorische Schaltung (10; 20; 30; 40; 50; 60) weiterhin konfiguriert ist, um an einem ersten Ausgang zum Ausgeben eines ersten Kontrollbits c1 eine erste Boolesche Funktion f1(x11, ..., x1n1) der Form c1 = f1(x11, ..., x1n1) = f11(x11, x12) XOR f12(x13, x14) XOR ... XOR f1k1(x1(n1 – 1), x1n1) zu realisieren, wobei n1 eine gerade Zahl mit n1 ≥ 2 und 2 k1 = n1 ist und die Booleschen Funktionen f11(x11, x12), ..., f1k1(x1(n1 – 1), x1n1) jeweils nichtlineare Boolesche Funktionen von zwei Variablen sind, die durch logische Gatter mit zwei Eingängen und einem Ausgang realisierbar sind, wobei die logischen Gatter jeweils einen bestimmenden Wert c11, ..., c1k1 aufweisen.
  2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß für m ≥ 2: – die kombinatorische Schaltung (20; 30; 40; 50; 60) an einem zweiten Ausgang zum Ausgeben eines zweiten Kontrollbits c2 eine Boolesche Funktion f2(x21, ..., x2nn) der Form c2 = f2(x21, ..., x2n) = f21(x21, x22) XOR f22(x23, x24) XOR ... XOR f2k2(x2(n2 – 1), x2n2) realisiert; wobei für 2 k2 = n2 (n2 ist eine gerade Zahl; n2 > 2) gilt: – die Booleschen Funktionen f21(x21, x22), ..., f2k2(x2(n2 – 1), x2n) sind jeweils nichtlineare Boolesche Funktionen von zwei Variablen, die durch logische Gatter mit zwei Eingängen und einem Ausgang realisierbar sind, die einen bestimmenden Wert c21, ..., c2k aufweisen.
  3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß n1 = n2 und k1 = k2 gilt.
  4. Schaltungsanordnung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß n1 = n2 = n gilt.
  5. Schaltungsanordnung nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß x1r = x2r für r = 1, ..., n1 gilt und f1s ungleich f2s für s = 1, ..., k1 ist.
  6. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß n2 = n1 – 2 gilt.
  7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß x2r = x1(r + 1) für r = 1, ..., n2 gilt.
  8. Schaltungsanordnung nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß x11 = x2n1 und x2s = x1(s + 1) für s = 1, ..., n1 – 1 gilt .
  9. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die XOR-Summe einer Teilmenge der Funktionen f1(x11, ..., x1n1), f2(x21, ..., x2n2), ..., fm(xm1, ..., xmnm), die mindestens zwei nichtlineare Funktionen f1(x11, ..., x1n1) und f2(x21, ..., x2n2) enthält, gleich der Parität x1 XOR x2 XOR ... XOR xn der n Informationsbits ist.
  10. Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die XOR-Summe einer Teilmenge der Funktionen f1(x11, ..., x1n1), f2(x21, ..., x2n2), ..., fm(xm1, ..., xmnm), die mindestens zwei nichtlineare Funktionen f1(x11, ..., x1n1) und f2(x21, ..., x2n2) enthält, gleich der negierten Parität x1 XOR x2 XOR ... XOR xn XOR 1 der n Informationsbits ist.
  11. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, gekennzeichnet durch mindestens drei Ausgänge K1, K2 und K3 zum Bestimmen von mindestens drei Kontrollbits c1, c2, c3, die den mindestens drei Ausgängen K1, K2 und K3 zugeordnet sind, wobei die am Ausgang K3 realisierte nichtlineare Funktion f3(x11, ..., x1n1) von den gleichen Informationsbits x11, ..., x1n1 wie die Boolesche Funktion f1(x11, ..., x1n1) abhängt und die Form f3(x11, x12, ..., x1n1) = f31(x12, x13) XOR f32(x14, x15) XOR ... XOR f3k1(x1n1, x11) hat und wobei die Funktionen X31, ..., f3k1 jeweils zweistellige nichtlineare Boolesche Funktionen sind, die durch logische Gatter mit zwei Eingängen und einem Ausgang realisierbar sind, die jeweils einen bestimmenden Wert c31, ..., c3k1 aufweisen.
  12. Schaltungsanordnung nach einem der Ansprüche 1 bis 10, gekennzeichnet durch mindestens drei Ausgänge K1, K2 und K3 zum Bestimmen von mindestens drei Kontrollbits c1, c2, c3, die den mindestens drei Ausgängen K1, K2 und K3 zugeordnet sind, wobei die am Ausgang K3 realisierte nichtlineare Funktion f3 eine XOR-Summe einer Teilmenge der nichtlinearen Booleschen Funktionen f31(x12, x13), f32(x14, x15), ..., f3k1(x1n1, x11) ist und die Funktionen f31, ..., f3k1 jeweils zweistellige nichtlineare Boolesche Funktionen sind, die durch logische Gatter mit zwei Eingängen und einem Ausgang realisierbar sind, die jeweils einen bestimmenden Wert c31, ..., c3k1 aufweisen.
  13. Schaltungsanordnung nach einem der vorangehenden Ansprüchen, dadurch gekennzeichnet, daß der kombinatorischen Schaltung (10; 20; 30; 40; 50; 60) eine Permutationsschaltung (151) zum Permutieren der n binären Eingänge E1, ..., En vorgeschaltet ist.
  14. Anordnung zum Überwachen einer digitalen Schaltung (S 18) mit einer Schaltungsanordnung (SKB 28) zur Fehlererkennung nach einem der vorangehenden Ansprüche sowie mindestens einer weiteren Schaltung (S' 38; SKB' 48; 58), wobei die digitale Schaltung (S 18) r Eingänge und n funktionale Ausgänge A1, ..., An aufweist und wobei mit der Schaltungsanordnung zur Fehlererkennung m Kontrollbits c1, ..., cm aus n Informationsbits x1, ..., xn erzeugbar sind, dadurch gekennzeichnet, daß – die digitale Schaltung (S 18) der Schaltungsanordnung (SKB 28) vorgeschaltet ist; – die r Eingänge der digitalen Schaltung (S 18) binäre Eingangssignale z = z1, ..., zr und die n Ausgänge der digitalen Schaltung (S 18) binäre Ausgangssignale x = x1, ..., xn tragen, so daß die Ausgänge der digitalen Schaltung (S 18) gleichzeitig mit den n funktionellen Ausgängen A1, ..., An und mit Eingängen E1, .., En der Schaltungsanordnung (SKB 28) verbunden sind; – die r Eingänge der digitalen Schaltung (S 18) darüber hinaus mit einer anderen Schaltung (S' 38) verbunden sind, wobei die andere Schaltung (S' 38) funktionsgleich der digitalen Schaltung (S 18) ist und die Ausgänge der anderen Schaltung (S' 38) bei Eingabe der Werte z = z1, ..., zn die binären Werte x1', ..., xn' tragen; – die Ausgänge der anderen Schaltung (S' 38) mit n Eingängen einer weiteren Schaltung (SKB' 48) verbunden sind, wobei die weitere Schaltung (SKB' 48) der Schaltungsanordnung (SKB 28) funktionsgleich ist und die Ausgänge der weiteren Schaltung (SKB' 48) bei Eingabe der binären Werte x1', ..., xn' die Werte c1', ..., cm' tragen; und – ein Vergleicher (58) vorgesehen ist, in welchem die Ausgangssignale c1, ..., cm der Schaltungsanordnung (SKB 28) und die Ausgangssignale c1', ..., cm' der weiteren Schaltung (SKB' 48) verglichen werden.
  15. Anordnung nach Anspruch 14, dadurch gekennzeichnet, daß die andere Schaltung (S' 38) und die weitere Schaltung (SKB' 48), welche in Reihe geschaltet sind, gemeinsam als eine Schaltung realisiert und optimiert sind, wobei ein Prediktor (68) gebildet ist.
  16. Anordnung nach Anspruch 14 oder 15, dadurch gekennzeichnet, daß m = 1 ist und der Vergleicher (58) aus zwei Leitungen für die Kontrollsignale c1 und c1' gebildet ist.
  17. Verfahren zur Fehlererkennung, bei dem aus n (n ≥ 2) Informationsbits x1, ..., xn wenigstens ein Kontrollbit c1, ..., cm (m ≥ 1) erzeugt wird, wobei das Verfahren die folgenden Schritte umfaßt: – Bereitstellen der n Informationsbits x1, ..., xn; und – Erzeugen des wenigstens einen Kontrollbit ci für i = 1, ..., m entsprechend einer Booleschen Funktion ci = fi(xi1, ..., xini), wobei die Menge {xi1, ..., xini} der ni Informationsbits eine Teilmenge aller n Informationsbits {x1, ..., xn} ist, wobei: – das wenigstens eine erste Kontrollbit c1 gemäß einer erster Boolesche Funktion f1(x11, ..., x1n1) der Form c1 = f1(x11, ..., x1n1) = f11(x11, x12) XOR f12(x13, x14) XOR ... XOR f1k1(x1(n1 – 1), x1n1 ) erzeugt wird, und – n1 eine gerade Zahl mit n1 ≥ 2 und 2 k1 = n1 ist und die Booleschen Funktionen f11(x11, x12), ..., f1k1(x1(n1 – 1), x1n1) jeweils nichtlineare Boolesche Funktionen von zwei Variablen sind, die jeweils einen bestimmenden Wert c11, ..., c1k1 aufweisen.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß für m > 2: – ein zweites Kontrollbit c2 mittels einer Boolesche Funktion f2(x21, ..., x2nn) der Form c2 = f2(x21, ..., x2n) = f21(x21, x22) XOR f22(x23, x24) XOR ... XOR f2k2(x2(n2 – 1), x2n2) erzeugt wird, wobei für 2 k2 = n2 (n2 ist eine gerade Zahl; n2 ≥ 2) gilt: – die Booleschen Funktionen f21(x21, x22), ..., f2k2(x2(n2 – 1), x2n) sind jeweils nichtlineare Boolesche Funktionen von zwei Variablen, die einen bestimmenden Wert c21, ..., c2k aufweisen.
  19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, daß mindestens drei Kontrollbits c1, c2, c3 erzeugt werden, wobei eine zum Erzeugen eines Kontrollbits c3 realisierte nichtlineare Funktion f3(x11, ..., x1n1) von den gleichen Informationsbits x11, ..., x1n1 wie die Boolesche Funktion f1(x11, ..., x1n1) abhängt und die Form f3(x11, x12, ..., x1n1) = f31(x12, x13) XOR f32(x14, x15) XOR ... XOR f3k1(x1n1, x11) hat, wobei die Funktionen X31, ..., f3k1 jeweils zweistellige nichtlineare Boolesche Funktionen sind und jeweils einen bestimmenden Wert c31, ..., c3k1 aufweisen.
DE102006005836A 2006-02-08 2006-02-08 Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung Expired - Fee Related DE102006005836B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102006005836A DE102006005836B4 (de) 2006-02-08 2006-02-08 Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung
PCT/DE2007/000234 WO2007090383A2 (de) 2006-02-08 2007-02-08 Schaltungsanordnung und verfahren zur fehlererkennung und anordnung zur überwachung einer digitalen schaltung
US12/188,746 US8136009B2 (en) 2006-02-08 2008-08-08 Circuit arrangement and method for error detection and arrangement for monitoring of a digital circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006005836A DE102006005836B4 (de) 2006-02-08 2006-02-08 Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung

Publications (2)

Publication Number Publication Date
DE102006005836A1 true DE102006005836A1 (de) 2007-08-09
DE102006005836B4 DE102006005836B4 (de) 2009-01-02

Family

ID=38282275

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006005836A Expired - Fee Related DE102006005836B4 (de) 2006-02-08 2006-02-08 Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung

Country Status (3)

Country Link
US (1) US8136009B2 (de)
DE (1) DE102006005836B4 (de)
WO (1) WO2007090383A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011085602A1 (de) 2010-11-10 2012-07-12 Infineon Technologies Ag Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450613B2 (en) 2010-11-10 2016-09-20 Infineon Technologies Ag Apparatus and method for error correction and error detection
US9118351B2 (en) 2012-02-15 2015-08-25 Infineon Technologies Ag System and method for signature-based redundancy comparison

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918638A (en) * 1986-10-15 1990-04-17 Matsushita Electric Industrial Co., Ltd. Multiplier in a galois field
US5446745A (en) * 1992-10-05 1995-08-29 Mitsubishi Semiconductor America, Inc. Apparatus for correcting errors in optical disks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498174A (en) * 1982-08-25 1985-02-05 Ael Microtel Limited Parallel cyclic redundancy checking circuit
JPS6246357A (ja) * 1985-08-23 1987-02-28 Hitachi Vlsi Eng Corp 半導体記憶装置
DE3843564A1 (de) * 1988-12-23 1990-06-28 Standard Elektrik Lorenz Ag Verfahren zur ueberpruefung von verbindungs- und/oder schalteinrichtungen und/oder -leitungen
US6108812A (en) * 1996-06-20 2000-08-22 Lsi Logic Corporation Target device XOR engine
JP3217993B2 (ja) * 1997-07-09 2001-10-15 沖電気工業株式会社 パリティチェック回路
US6295626B1 (en) * 1997-10-20 2001-09-25 Nortel Networks Limited Symbol based algorithm for hardware implementation of cyclic redundancy check
GB9814608D0 (en) * 1998-07-07 1998-09-02 Lucas Ind Plc Data integrity checking apparatus
DE19838865C2 (de) * 1998-08-26 2001-03-01 Ericsson Telefon Ab L M Parallele CRC Erzeugungsschaltung zum Erzeugen eines CRC Codes und Verfahren zum Generieren einer derartigen Schaltung
US6304992B1 (en) * 1998-09-24 2001-10-16 Sun Microsystems, Inc. Technique for correcting single-bit errors in caches with sub-block parity bits
US6530057B1 (en) * 1999-05-27 2003-03-04 3Com Corporation High speed generation and checking of cyclic redundancy check values
KR100902051B1 (ko) * 2007-07-12 2009-06-15 주식회사 하이닉스반도체 오류 검사 코드 생성장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918638A (en) * 1986-10-15 1990-04-17 Matsushita Electric Industrial Co., Ltd. Multiplier in a galois field
US5446745A (en) * 1992-10-05 1995-08-29 Mitsubishi Semiconductor America, Inc. Apparatus for correcting errors in optical disks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011085602A1 (de) 2010-11-10 2012-07-12 Infineon Technologies Ag Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz

Also Published As

Publication number Publication date
WO2007090383A3 (de) 2007-11-15
WO2007090383A2 (de) 2007-08-16
US8136009B2 (en) 2012-03-13
US20090049369A1 (en) 2009-02-19
DE102006005836B4 (de) 2009-01-02

Similar Documents

Publication Publication Date Title
DE102004062825B4 (de) Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE102011078642A1 (de) Verfahren zum Prüfen eines m aus n Codes
DE102006005817B4 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE102017103347B4 (de) Verarbeitung von daten in speicherzellen eines speichers
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE112019001438T5 (de) Kryptographisches asic mit kombinierten funktionen
DE102010029497A1 (de) Verfahren zum Erkennen von Fehlern eines AD-Wandlers
DE102014215252A1 (de) Wirksame fehlerkorrektur von mehrbitfehlern
DE4220196A1 (de) Halbleiterspeichervorrichtung mit fehlerkorrekturschaltung und fehlerkorrekturverfahren fuer daten in einer halbleiterspeichervorrichtung
DE102010029345A1 (de) Verfahren zum Erkennen eines Fehlers in einem AD-Wandler durch Paritätsvorhersagen
DE102006005836B4 (de) Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung
EP0325318B1 (de) Vermittlungsanlage
DE2320354C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen
EP0257362A1 (de) Addierer
DE102004061312A1 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
DE102011078645A1 (de) Verfahren zum sicheren Prüfen eines Codes
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
DE102010006383B4 (de) Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten
DE1937259A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE102010031030B3 (de) Datenschnittstelle mit eigensicherer, integrierter Fehlererkennung
DE102011080659B4 (de) Vorrichtung und verfahren zum testen einer zu testenden schaltung
WO2004001971A1 (de) Logikschaltung
DE102020209363A1 (de) Verfahren und sicherheitsgerichtetes System zum Ausführen von Sicherheitsfunktionen
EP0238978A1 (de) Modulo-2-Addierer zur Verknüpfung von drei Eingangssignalen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee