DE102011080659B4 - DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED - Google Patents

DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED Download PDF

Info

Publication number
DE102011080659B4
DE102011080659B4 DE201110080659 DE102011080659A DE102011080659B4 DE 102011080659 B4 DE102011080659 B4 DE 102011080659B4 DE 201110080659 DE201110080659 DE 201110080659 DE 102011080659 A DE102011080659 A DE 102011080659A DE 102011080659 B4 DE102011080659 B4 DE 102011080659B4
Authority
DE
Germany
Prior art keywords
test
error
bit sequence
syndrome
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE201110080659
Other languages
German (de)
Other versions
DE102011080659A1 (en
Inventor
Thomas Kern
Ulrich Backhausen
Michael Gössel
Thomas Rabenalt
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
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE201110080659 priority Critical patent/DE102011080659B4/en
Priority to CN201210281624.6A priority patent/CN102955126B/en
Publication of DE102011080659A1 publication Critical patent/DE102011080659A1/en
Application granted granted Critical
Publication of DE102011080659B4 publication Critical patent/DE102011080659B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Vorrichtung (100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100) zum Testen einer zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86), mit folgenden Merkmalen: einem Syndrombestimmer (110, 11, 21, 41, 51, 61, 81), der ausgelegt ist, um basierend auf einem codierten Binärwort (v') eine Fehlersyndrombitsequenz (s(v')) zu bestimmen, wobei die Fehlersyndrombitsequenz (s(v')) anzeigt, ob das codierte Binärwort (v') ein Codewort eines zur Codierung des codierten Binärwortes (v') verwendeten Fehlerkorrekturcodes (C) ist; einem Testsequenzbereitsteller (120), der ausgelegt ist, um zumindest einmal eine von der bestimmten Fehlersyndrombitsequenz (s(v')) unterschiedliche Testbitsequenz (Ti) der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) bereitzustellen, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist; und einer Auswerteschaltung (130, 14, 25, 58, 89), die ausgelegt ist, um basierend auf einem durch die Testbitsequenz (Ti) verursachten Testausgangssignal (R(Ti)') der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) eine fehlerhafte Verarbeitung der Testbitsequenz (Ti) durch die zu testende Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) zu erkennen.Apparatus (100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100) for testing a circuit under test (102, 13, 24, 44, 54, 641, 642, 742, 86), comprising: a syndrome determiner (110, 11, 21, 41, 51, 61, 81) adapted to determine an error syndrome bit sequence (s (v ')) based on a coded binary word (v'), the Error syndrome bit sequence (s (v ')) indicates whether the coded binary word (v') is a codeword of an error correction code (C) used to encode the coded binary word (v '); a test sequence provider (120), which is adapted, at least once, to select a different test bit sequence (Ti) of the circuit under test (102, 13, 24, 44, 54, 641, 642, 742 , 86) if the error syndrome bits sequence (s (v ')) indicates that the coded binary word (v') is a codeword of the error correction code (C); and an evaluation circuit (130, 14, 25, 58, 89) arranged to generate, based on a test output signal (R (Ti) ') caused by the test bit sequence (Ti), of the circuit under test (102, 13, 24, 44 , 54, 641, 642, 742, 86) detect erroneous processing of the test bit sequence (Ti) by the circuit under test (102, 13, 24, 44, 54, 641, 642, 742, 86).

Description

Ausführungsbeispiele gemäß der Erfindung beziehen sich auf das Gebiet der Fehlerkorrektur und Fehlererkennung in binären Signalen und insbesondere auf eine Vorrichtung und ein Verfahren zum Testen einer zu testenden Schaltung.Embodiments according to the invention relate to the field of error correction and error detection in binary signals, and more particularly to an apparatus and method for testing a circuit under test.

Aufgrund der weiteren Verkleinerung der Bauelemente integrierter Schaltungen und den damit verbunden kleineren Spannungswerten und Stromwerten treten zunehmend Fehler in integrierten Schaltung und auch speziell in Schaltungen zu Fehlerkorrektur oder zur Fehlererkennung auf.Due to the further miniaturization of the components of integrated circuits and the associated smaller voltage values and current values, errors in integrated circuits and also in circuits for error correction or for error detection are becoming increasingly common.

Derartige Fehler können dazu führen, dass ein Falschkorrektur erfolgt, obwohl überhaupt kein fehlerhaftes Codewort am Eingang der Korrekturschaltung vorliegt, was nachteilig ist. Wird ein auf Grund einer fehlerhaften Fehlererkennungsschaltung fehlerhaft ein Fehler angezeigt, dann können unnötig Maßnahmen auf Systemebene ausgelöst werden, was ebenfalls nachteilig ist.Such errors can lead to a false correction, even though there is no faulty code word at the input of the correction circuit at all, which is disadvantageous. If a fault is erroneously displayed due to a faulty fault detection circuit, then system-level measures can be triggered unnecessarily, which is also detrimental.

Durch Hinzufügen von Redundanz kann in elektronischen Schaltungen ein statischer oder temporärer Fehler in den Schaltungen erkannt werden. Dabei soll jedoch der zusätzliche Hardwareaufwand bei hoher Erkennungswahrscheinlichkeit möglichst gering gehalten werden.By adding redundancy, a static or temporary error in the circuits can be detected in electronic circuits. However, the additional hardware effort should be kept as low as possible with a high detection probability.

Aus der US 5515383 A ist ein eingebautes Testsystem für eine integrierte Schaltung, die mehrere Fehler-Erfassungs/Korrekturschaltungen aufweist. Eine Matrix von Testsignalen kann an die Fehler-Erfassungs/Korrekturschaltungen angelegt werden, während die Schaltungen im normalen Modus nicht benutzt werden.From the US 5515383 A is a built-in integrated circuit test system having multiple fault detection / correction circuits. A matrix of test signals may be applied to the error detection / correction circuits while the circuits are not used in normal mode.

Es ist die Aufgabe der vorliegenden Erfindung ein verbessertes Konzept zum Testen von elektrischen Schaltungen zu schaffen, das es ermöglicht, die Fehlererkennungseigenschaften bei geringem zusätzlichem Hardwareaufwand und/oder geringer zusätzlicher Rechenzeit zu erhöhen.It is the object of the present invention to provide an improved concept for testing electrical circuits, which makes it possible to increase the error detection characteristics with little additional hardware expenditure and / or little additional computing time.

Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 20 oder ein Computerprogramm gemäß Anspruch 21 gelöst.This object is achieved by a device according to claim 1, a method according to claim 20 or a computer program according to claim 21.

Ein Ausführungsbeispiel schafft eine Vorrichtung zum Testen einer zu testenden Schaltung mit einem Syndrombestimmer, einem Testsequenzbereitsteller und einer Auswerteschaltung. Der Syndrombestimmer ist ausgelegt, um basierend auf einem codierten Binärwort eine Fehlersyndrombitsequenz zu bestimmen. Die Fehlersyndrombitsequenz zeigt an, ob das codierte Binärwort ein Codewort eines zur Codierung des codierten Binärworts verwendeten Fehlerkorrekturcodes ist. Des Weiteren ist der Testsequenzbereitsteller ausgelegt, um zumindest einmal eine von der bestimmten Fehlersyndrombitsequenz unterschiedliche Testbitsequenz der zu testenden Schaltung bereitzustellen, wenn die Fehlersyndrombitsequenz anzeigt, dass das codierte Binärwort ein Codewort des Fehlerkorrekturcodes ist. Ferner ist die Auswerteschaltung ausgelegt, um basierend auf einem durch die Testbitsequenz verursachten Testausgangssignal der zu testenden Schaltung eine fehlerhafte Verarbeitung der Testbitsequenz durch die zu testende Schaltung zu erkennen.One embodiment provides an apparatus for testing a circuit under test with a syndrome tester, a test sequence provider, and an evaluation circuit. The syndrome determiner is designed to determine an error syndrome bit sequence based on a coded binary word. The error syndrome bit sequence indicates whether the coded binary word is a codeword of an error correction code used to encode the coded binary word. Further, the test sequence provider is arranged to provide, at least once, a different test bit sequence of the circuit under test from the particular error syndrome bit sequence when the error syndrome bit sequence indicates that the coded binary word is a code word of the error correction code. Furthermore, the evaluation circuit is designed to detect erroneous processing of the test bit sequence by the circuit under test on the basis of a test output signal of the circuit to be tested caused by the test bit sequence.

Durch die Bereitstellung einer Testbitsequenz zu Zeitpunkten, wenn das codierte Binärwort keinen Fehler aufweist und somit Codewort des Fehlerkorrekturcodes ist, kann die Zeit, an denen keine Korrektur des codierten Binärworts notwendig ist, zum Test der zu testenden Schaltung verwendet werden. Dadurch kann mit nur geringer zusätzlicher oder ohne zusätzlicher Rechenzeit die Fehlerfreiheit der zu testenden Schaltung überprüft werden. Zusätzlich kann der dafür notwendige Hardwareaufwand gering gehalten werden, da der Testsequenzbereitsteller und die Auswerteschaltung mit geringem Aufwand realisiert werden können.By providing a test bit sequence at times when the coded binary word has no error and thus is codeword of the error correction code, the time when no correction of the coded binary word is necessary can be used to test the circuit under test. As a result, the freedom from errors of the circuit to be tested can be checked with only a small additional or without additional computing time. In addition, the hardware required for this can be kept low because the test sequence provider and the evaluation can be realized with little effort.

Ausführungsbeispiele werden nachfolgend Bezug nehmend auf die beiliegenden Figuren erläutert. Es zeigen:Embodiments will be explained below with reference to the accompanying figures. Show it:

1 ein Blockdiagramm einer Vorrichtung zum Testen einer zu testenden Schaltung; 1 a block diagram of an apparatus for testing a circuit under test;

2 ein Blockdiagramm einer Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort; 2 a block diagram of an apparatus for correcting a bit error in a coded binary word;

3 ein Blockdiagramm einer Vorrichtung zum Testen einer zu testenden Schaltung; 3 a block diagram of an apparatus for testing a circuit under test;

4 ein Blockdiagramm einer weiteren Vorrichtung zum Testen einer zu testenden Schaltung; 4 a block diagram of another device for testing a circuit under test;

5 ein Blockdiagramm einer Vorrichtung zum Testen einer zu testenden Schaltung; 5 a block diagram of an apparatus for testing a circuit under test;

6 ein Blockdiagramm eines Teils eines Testsequenzbereitstellers; 6 a block diagram of a portion of a test sequence provider;

7 ein Blockdiagramm einer Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort mit einer Vorrichtung zum Testen einer zu testenden Schaltung; 7 a block diagram of a device for correcting a bit error in a coded binary word with a device for testing a circuit under test;

8 ein Blockdiagramm einer Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort mit einer Vorrichtung zum Testen einer zu testenden Schaltung; 8th a block diagram of a device for correcting a bit error in a coded binary word with a device for testing a circuit under test;

9 ein Blockdiagramm einer Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort mit einer Vorrichtung zum Testen einer zu testenden Schaltung; 9 a block diagram of a device for correcting a bit error in a coded binary word with a device for testing a circuit under test;

10 ein Blockdiagramm einer Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort mit einer Vorrichtung zum Testen einer zu testenden Schaltung; 10 a block diagram of a device for correcting a bit error in a coded binary word with a device for testing a circuit under test;

11 ein Blockdiagramm einer Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort mit einer Vorrichtung zum Testen einer zu testenden Schaltung; und 11 a block diagram of a device for correcting a bit error in a coded binary word with a device for testing a circuit under test; and

12 ein Flussdiagramm eines Verfahrens zum Testen einer zu testenden Schaltung. 12 a flowchart of a method for testing a circuit under test.

Das im Folgenden beschriebene Konzept betrifft allgemein die Verarbeitung von kodierten Daten, die unter Verwendung eines Codes C kodiert sind. Die folgende Einführung dient insbesondere dazu, zu erläutern, wie die üblichen Begriffe der Codierungstheorie hier verwendet werden.The concept described below relates generally to the processing of encoded data encoded using a code C. In particular, the following introduction serves to explain how the usual terms of coding theory are used herein.

Ist C z. B. ein linearer (n,k)-Code, d. h. ein linearer Code der Länge n mit k Informationsbits und n – k = m Prüfbits, dann kann der Code C durch eine (m,n)-Paritätsprüfmatrix H und eine (k,n)-Generatormatrix G beschrieben werden.Is C z. A linear (n, k) code, d. H. a linear code of length n with k information bits and n - k = m check bits, then the code C can be described by a (m, n) parity check matrix H and a (k, n) generator matrix G.

Werden die zu kodierenden Datenbits oder Informationsbits durch u = u1, ... uk beschrieben, so wird das Codewort v = v1, vn aus den Informationsbits u nach der Beziehung v = u·G gebildet. Einem n-stelligen Wort v' = v'1, ..., v'n, das entweder ein Codewort des Codes C ist oder ein Nicht-Codewort des Codes C ist, ist durch s(v')T = H·v'T ein Syndrom s(v') = s1(v'), ..., sm(v'), zugeordnet. Dabei bedeutet v'T den transponierten Spaltenvektor des Zeilenvektors v' und s(v')T den transponierten Spaltenvektor des Zeilenvektors S(v').If the data bits or information bits to be coded are described by u = u 1 ,... U k , the codeword v = v 1 , v n becomes the information bits u according to the relationship v = u · G educated. An n-digit word v '= v' 1 , ..., v ' n , which is either a codeword of the code C or a non-codeword of the code C, is denoted by s (v ') T = H * v' T a syndrome s (v ') = s 1 (v'), ..., s m (v '). Here, v ' T denotes the transposed column vector of the row vector v' and s (v ') T the transposed column vector of the row vector S (v').

Ein Wort v' ist genau dann Codewort, wenn sein Syndrom gleich 0 ist, d. h. wenn H·v'T = 0 gilt.A word v 'is a codeword if and only if its syndrome is 0, ie Hv ' T = 0 applies.

Wird ein Codewort v in ein Nicht-Codewort v' gestört und gilt v = v'1, ..., v'n = v1 ⊕ e1, ..., vn ⊕ en = v ⊕ e dann heißt e = e1, ..., en Fehlervektor. Die Komponenten von e, die gleich 1 sind, zeigen die Bits an, die gestört sind.If a codeword v is disturbed in a non-codeword v 'and applies v = v ' 1 , ..., v' n = v 1 ⊕ e 1 , ..., v n ⊕ e n = v ⊕ e then e = e 1 , ..., e n is the error vector. The components of e equal to 1 indicate the bits that are disturbed.

Für das Syndrom s(v') gilt dann s(v') = H·v'T = H·[v ⊕ e]T = H·eT und das Fehlersyndrom ist aus dem Fehlervektor bestimmt.For the syndrome s (v ') then applies s (v ') = H · v' T = H · [v ⊕ e] T = H · e T and the error syndrome is determined from the error vector.

Bei der üblicherweise durchgeführten Korrektur von Fehlern eines Wortes v' = v ⊕ e durch einen fehlerkorrigierenden Code C wird zunächst das Fehlersyndrom s(v') in einem Syndromgenerator bestimmt. Ist das Fehlersyndrom gleich 0, dann liegt kein erkennbarer Fehler vor. Ist das Fehlersyndrom ungleich 0, dann kann ein Fehler erkannt werden. Anhand des Fehlersyndroms kann also in einfacher Weise, indem man das Syndrom auf 0 prüft, festgestellt werden, ob ein durch den betrachteten Code C erkennbarer Fehler vorliegt oder nicht. In the usually performed correction of errors of a word v '= v ⊕ e by an error-correcting code C, first the error syndrome s (v') is determined in a syndrome generator. If the error syndrome equals 0, then there is no detectable error. If the error syndrome is not 0, then an error can be detected. On the basis of the error syndrome can thus be determined in a simple manner by checking the syndrome to 0, whether or not there is a detectable by the considered code C error.

Ein Decoder (Decodiereinheit) ordnet dann dem Fehlersyndrom s(v') die Bits zu, welche in v' zu korrigieren sind. Das sind gerade die Bits des Fehlervektors, die gleich 1 sind. Diese Vorgehensweise ist dann erfolgreich, wenn die aufgetretenen Fehler durch den gewählten Code korrigiert werden können. Darüber hinaus weisen Fehlerkorrekturschaltungen auch Schaltungen zur Bestimmung des Fehlertyps auf, die anzeigen, welcher Typ eines Fehlers aufgetreten ist. Beispielsweise kann ein Fehlertypanzeiger anzeigen, dass ein 1-Bit Fehler, ein 2-Bit Fehler, ein 3-Bit Fehler oder ein anderer Mehrbitfehler aufgetreten ist. Die Bestimmung des Fehlertyps erfolgt auf der Grundlage des Fehlersyndroms.A decoder then assigns to the error syndrome s (v ') the bits to be corrected in v'. These are just the bits of the error vector that are equal to 1. This procedure is successful if the errors that have occurred can be corrected by the selected code. In addition, error correction circuits also include error type determination circuits which indicate which type of error has occurred. For example, an error type indicator may indicate that a 1-bit error, a 2-bit error, a 3-bit error, or another multi-bit error has occurred. The determination of the error type is based on the error syndrome.

In den Fällen, in denen Fehler selten an den Eingängen des Syndromgenerators auftreten, liegt am Ausgang des Syndromgenerators praktisch stets der Wert 0 an. Ist nun beispielsweise ein permanenter Festklemmen-auf-0 (stuck-at-0) Fehler an Ausgangsleitungen des Syndromgenerators vorhanden, so wirkt sich ein solcher Fehler nicht aus, solange am Eingang des Syndromgenerators kein Nicht-Codewort anliegt. Dieser permanente Fehler kann aber ein fehlerhaftes Syndrom, das durch ein anliegendes Nicht-Codewort bestimmt ist, zu 0 verfälschen, so dass ein Fehler an den Eingabewerten des Syndromgenerators dann nicht erkannt werden kann und auch keine Korrektur der falschen Bits durch den Decoder erfolgt. Weiterhin liegen an den weiteren Teilschaltungen wie beispielsweise dem Decoder, dem Fehlertypbestimmer immer dann die Werte 0 in ihrem Input an, solange kein Fehler auf den Eingangsleitungen des Syndromgenerators aufgetreten ist. Tritt ein derartiger Fehler sehr selten auf, dann wird praktisch stets der gleiche Wert, hier 0, in den Decoder und in den Fehlertypbestimmer eingegeben, so dass in diesen Schaltungsteilen vorhandene Fehler im laufenden Betrieb sich nicht an den Ausgängen dieser Teilschaltungen auswirken können und auch nicht erkannt werden können, was nachteilig ist.In cases where errors rarely occur at the inputs of the syndrome generator, the output of the syndrome generator is practically always 0. If, for example, a permanent stuck-to-0 (stuck-at-0) fault is present on output lines of the syndrome generator, then such an error will not be effective as long as no non-codeword is present at the input of the syndrome generator. However, this permanent error can falsify a faulty syndrome determined by an applied non-codeword so that an error on the input values of the syndrome generator can then not be detected and no correction of the wrong bits by the decoder occurs. Furthermore, at the other sub-circuits, such as the decoder, the error type determiner, the values 0 are always present in their input, as long as no error has occurred on the input lines of the syndrome generator. If such an error occurs very rarely, then practically the same value, here 0, is entered into the decoder and into the error type determiner, so that errors present in these circuit parts during operation can not and do not affect the outputs of these subcircuits can be recognized, which is disadvantageous.

Um eine solche Situation, dass praktisch stets der Wert 0 an den Ausgängen des Syndromgenerators auftritt, zu vermeiden, kann die H-Matrix des Codes C in eine Matrix Hmod modifiziert werden, indem man beispielsweise eine Spalte der H-Matrix des Codes C komponentenweise invertiert. Ist die i-te Spalte der H-Matrix invertiert worden, dann führt ein Codewort vi0, dessen i-te Komponente gleich 0 ist, zu einem Fehlersyndrom

Figure DE102011080659B4_0002
während ein Codewort vi1, dessen i-te Komponente gleich 1 ist zu einem Syndrom
Figure DE102011080659B4_0003
führt.In order to avoid such a situation that practically always the value 0 occurs at the outputs of the syndrome generator, the H matrix of the code C can be modified into a matrix Hmod, for example by component-inverted a column of the H matrix of the code C. , If the i-th column of the H-matrix has been inverted, then a codeword v i0 whose i-th component is equal to 0 results in an error syndrome
Figure DE102011080659B4_0002
while a codeword v i1 whose i-th component is 1 to a syndrome
Figure DE102011080659B4_0003
leads.

Solange also am Eingang des Syndromgenerators ein Codewort des Codes C anliegt und der Syndromgenerator korrekt arbeitet, gibt er entweder den Wert

Figure DE102011080659B4_0004
oder den Wert
Figure DE102011080659B4_0005
aus. Stuck-at 0/1-Fehler an den Ausgängen des Syndromgenerators können auf diese Weise erkannt werden, auch sogar wenn nur korrekte Codewörter in den Syndromgenerator eingegeben werden. Allgemein kann man eine Teilmenge der Spalten der H-Matrix komponentenweise invertieren. Sind die i1-te, die i2-te, ..., die ir-te Spalte der H-Matrix komponentenweise invertiert, dann gibt der modifizierte Syndromgenerator den Wert
Figure DE102011080659B4_0006
aus, wenn für ein Codewort v = v1, ..., vn f(v1, ..., vn) = vi1 ⊕ vi2 ⊕ ... ⊕ vir = 0 ist und den Wert
Figure DE102011080659B4_0007
aus, wenn f(v1, ..., vn) = vi1 ⊕ vi2 ⊕ ... ⊕ vir = 1 ist. Nun ist es möglich, die modifizierte H-Matrix Hmod zur Bestimmung des Fehlersyndroms und zur Fehlererkennung zu benutzen und dadurch zu vermeiden, dass am Ausgang im fehlerfreien Fall stets der gleiche Wert ausgegeben wird, solange am Eingang des Syndromgenerators ein fehlerfreies Codewort anliegt.So as long as there is a code word of the code C at the input of the syndrome generator and the syndrome generator works correctly, it either gives the value
Figure DE102011080659B4_0004
or the value
Figure DE102011080659B4_0005
out. Stuck-at 0/1 errors at the outputs of the syndrome generator can be detected in this way, even if only correct codewords are input to the syndrome generator. In general, you can invert a subset of the columns of the H matrix component by component. If the i 1 -te, the i 2 -te, ..., the i r -th column of the H matrix are component-inverted, then the modified syndrome generator returns the value
Figure DE102011080659B4_0006
for a codeword v = v 1 , ..., v n f (v 1 , ..., v n ) = v i1 ⊕ v i2 ⊕ ... ⊕ v ir = 0 is and the value
Figure DE102011080659B4_0007
out, though f (v 1 , ..., v n ) = v i1 ⊕ v i2 ⊕ ... ⊕ v ir = 1 is. Now it is possible to use the modified H-matrix Hmod to determine the error syndrome and for error detection and thereby avoid that at the output in error-free case always the same value is output, as long as the input of the Syndromgenerators an error-free code word is applied.

Zum besseren Verständnis soll hier an einem einfachen Beispiel die Bestimmung einer modifizierten H-Matrix beschrieben werden.For a better understanding, the determination of a modified H-matrix will be described here by a simple example.

Um die Vorgehensweise detailliert zu erläutern, wird als Beispiel eines fehlerkorrigierenden Codes nun ein verkürzter Hamming-Code mit der (4,9)-H-Matrix H

Figure DE102011080659B4_0008
und mit der (5,9)-G-Matrix G
Figure DE102011080659B4_0009
betrachtet. Den Informationsbits u = u1, ..., u5 ist das Codewort v = v1, ..., v9 mit v = u·G = u, c mit den Prüfbits c = c1, ..., c4 zugeordnet, wobei c1 = u1 ⊕ u2 ⊕ u4 ⊕ u5 c2 = u1 ⊕ u3 ⊕ u4 c3 = u2 ⊕ u3 ⊕ u4 c4 = u5 gilt. Die beiden Wörter v = 110110001 und v' = 1011001000 sind gültige Codewörter, da H·vT = 0 und H·v' = 0 gilt.To explain the procedure in detail, an abbreviated Hamming code with the (4,9) -H matrix H as an example of an error-correcting code is now described
Figure DE102011080659B4_0008
and with the (5,9) -G-matrix G
Figure DE102011080659B4_0009
considered. The information bits u = u 1 ,..., U 5 are the codeword v = v 1 ,..., V 9 with v = u. G = u, c with the check bits c = c 1 , 4 assigned, where c 1 = u 1 ⊕ u 2 ⊕ u 4 ⊕ u 5 c 2 = u 1 ⊕ u 3 ⊕ u 4 c 3 = u 2 ⊕ u 3 ⊕ u 4 c 4 = u 5 applies. The two words v = 110110001 and v '= 1011001000 are valid codewords since H · v T = 0 and H · v' = 0.

Als Teilmenge der Spalten, die zur Bildung der modifizierten H-Matrix Hmod komponentenweise invertiert werden, wählen wir hier die zweite Spalte von H. Für Hmod gilt dann

Figure DE102011080659B4_0010
As a subset of the columns, which are inverted component by component to form the modified H-matrix H mod , we choose here the second column of H. For H mod we have then
Figure DE102011080659B4_0010

Zusammenfassend ist das Syndrom s(v') eines Wortes v' für einen linearen Code C durch die Beziehung s(v') = K·v'T bestimmt, wobei die (m,n)-Matrix K gleich der Paritätsprüfmatrix H des Codes C ist, wenn der Syndromgenerator bei Eingabe eines Codewortes stets den Wert

Figure DE102011080659B4_0011
ausgibt und gleich einer modifizierten Paritätsprüfmatrix Hmod ist, die aus der Paritätsprüfmatrix H abgeleitet wird, indem die Komponenten einer Teilmenge der Spalten von H komponentenweise invertiert sind, wenn der Syndromgenerator bei Eingabe verschiedener Codewörter entweder
Figure DE102011080659B4_0012
ausgibt. Sind die i1-te, die i2-te, ..., die iq-te Spalte der H-Matrix komponentenweise invertiert, dann gibt der modifizierte Syndromgenerator in Abhängigkeit des Funktionswertes der Funktion f(v1, ..., vn) = vi1 ⊕ vi2 ⊕ ... ⊕ viq
Figure DE102011080659B4_0013
In summary, the syndrome s (v ') of a word v' for a linear code C is by the relationship s (v ') = K * v' T determined, wherein the (m, n) matrix K is equal to the parity check matrix H of the code C, if the syndrome generator always the value when entering a codeword
Figure DE102011080659B4_0011
and equal to a modified parity check matrix H mod derived from the parity check matrix H by component-inverse-inverting the components of a subset of the columns of H when the syndrome generator inputs either different codewords
Figure DE102011080659B4_0012
outputs. Are the i th 1, th, the i 2, ..., the q th column of the H matrix is inverted i component-wise, then the modified syndrome generator is a function of the function value of the function f (v 1 , ..., v n ) = v i1 ⊕ v i2 ⊕ ... ⊕ v iq
Figure DE102011080659B4_0013

Im Folgenden werden teilweise für Objekte und Funktionseinheiten, die gleiche oder ähnliche funktionelle Eigenschaften aufweisen, gleiche Bezugszeichen verwendet. Des Weiteren können optionale Merkmale der verschiedenen Ausführungsbeispiele miteinander kombinierbar oder zueinander austauschbar sein.Hereinafter, the same reference numerals are used in part for objects and functional units having the same or similar functional properties. Furthermore, optional features of the various embodiments may be combined with each other or interchangeable.

1 zeigt ein Blockdiagramm einer Vorrichtung 100 zum Testen einer zu testenden Schaltung 102 entsprechend einem Ausführungsbeispiel. Die Vorrichtung 100 umfasst einen Syndrombestimmer 110, einen Testsequenzbereitsteller 120 und eine Auswerteschaltung 130. Der Syndrombestimmer 110 bestimmt basierend auf einem codierten Binärwort v' eine Fehlersyndrombitsequenz s(v'). Dabei zeigt die Fehlersyndrombitsequenz s(v') an, ob das codierte Binärwort v' ein Codewort eines zur Codierung des codierten Binärworts v' verwendeten Fehlerkorrekturcodes C ist. Des Weiteren stellt der Testsequenzbereitsteller 120 zumindest einmal eine von der bestimmten Fehlersyndrombitsequenz s(v') unterschiedliche Testbitsequenz Ti der zu testenden Schaltung 102 bereit, wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Ferner erkennt die Auswerteschaltung 130 basierend auf einem durch die Testbitsequenz Ti verursachten Testausgangssignal R(Ti)' der zu testenden Schaltung 102 eine fehlerhafte Verarbeitung der Testbitsequenz Ti durch die zu testende Schaltung 102. 1 shows a block diagram of a device 100 for testing a circuit under test 102 according to an embodiment. The device 100 includes a syndrome tester 110 , a test sequence provider 120 and an evaluation circuit 130 , The syndrome tester 110 determined based on a coded binary word v 'an error syndrome bit sequence s (v'). Here, the error syndrome bit sequence s (v ') indicates whether the coded binary word v' is a codeword of an error correction code C used to encode the coded binary word v '. Furthermore, the test sequence provider provides 120 at least once a test bit sequence T i of the circuit under test that differs from the specific error syndrome bit sequence s (v ') 102 when the error syndrome bit sequence s (v ') indicates that the coded binary word v' is a codeword of the error correction code C. Furthermore, the evaluation circuit detects 130 based on a test output signal R (T i ) 'of the circuit to be tested caused by the test bit sequence T i 102 an incorrect processing of the test bit sequence T i by the circuit under test 102 ,

Durch die Bereitstellung einer Testbitsequenz Ti an die zu testende Schaltung 102 während das codierte Binärwort ein korrektes Codewort des Fehlerkorrekturcodes C ist, können diese Zeiten, zu denen keine Fehlerkorrektur des codierten Binärworts notwendig ist, zum Testen der zu testenden Schaltung verwendet werden.By providing a test bit sequence T i to the circuit under test 102 while the coded binary word is a correct codeword of the error correction code C, those times when no error correction of the coded binary word is necessary can be used to test the circuit under test.

Dabei kann die zu testende Schaltung 102 beispielsweise ein Teil einer Fehlererkennungs- und/oder Fehlerkorrekturschaltung sein. Dadurch können statische und temporäre Fehler in der zu testenden Schaltung ohne oder mit nur geringem zusätzlichen Zeitaufwand erkannt werden. Zusätzlich kann der hinzukommende Hardwareaufwand vor allem für den Testsequenzbereitsteller 120 und die Auswerteschaltung 130 gering gehalten werden.In this case, the circuit to be tested 102 for example, be a part of an error detection and / or error correction circuit. As a result, static and temporary errors in the circuit under test can be detected without or with little additional time. In addition, the added hardware overhead can be especially for the test sequence provider 120 and the evaluation circuit 130 be kept low.

In anderen Worten, durch das beschriebene Konzept kann eine Verbesserung der Fehlererkennung, insbesondere in Schaltungsteilen von Schaltungen zur Fehlererkennung und Fehlerkorrektur ermöglicht werden, indem Schaltungsteile im laufenden Betrieb mit beliebig vorgegebenen Testbitsequenzen (Testinputs) getestet werden können, ohne den normalen Betrieb der Gesamtschaltung unterbrechen zu müssen.In other words, by the described concept, an improvement of the error detection, in particular in circuit parts of circuits for error detection and error correction can be enabled by circuit parts can be tested during operation with any predetermined test bit sequences (test inputs) without interrupting the normal operation of the overall circuit have to.

Die zu testende Schaltung 102 kann Teil der Vorrichtung 100 zum Testen der zu testenden Schaltung sein, was jedoch nicht notwendig ist, da das vorgeschlagene Konzept unabhängig von der zu testenden Schaltung 102 anwendbar ist. Als Teil einer Fehlererkennungs- und/oder Fehlerkorrekturschaltung kann die zu testende Schaltung 102 beispielsweise ein Decoder (Decodiereinheit) zum Erzeugen eines Korrektursignals zur Korrektur eines fehlerhaften, codierten Binärworts v' oder ein Fehlertypbestimmer zum Bestimmen eines Fehlertyps eines fehlerhaften, codierten Binärworts v' sein.The circuit to be tested 102 can be part of the device 100 for testing the circuit under test, but this is not necessary since the proposed concept is independent of the circuit under test 102 is applicable. As part of an error detection and / or error correction circuit, the testing circuit 102 for example, a decoder (decoder unit) for generating a correction signal for correcting a defective coded binary word v 'or an error type determiner for determining an error type of a defective coded binary word v'.

Die Fehlersyndrombitsequenz s(v') zeigt an oder gibt an, ob das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Dabei nimmt die Fehlersyndrombitsequenz s(v') den Wert einer vordefinierten Fehlersyndrombitsequenz an, wenn das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Dies kann immer genau die gleiche vordefinierte Fehlersyndrombitsequenz (z. B. 0000 oder 1111) oder eine vordefinierte Fehlersyndrombitsequenz aus einer Mehrzahl von Fehlersyndrombitsequenzen sein. Beispielsweise können für zwei unterschiedliche Gruppen von Codewörtern des Fehlerkorrekturcodes C zwei unterschiedliche vordefinierte Fehlersyndrombitsequenzen vorgesehen sein (z. B. für einen ersten Teil der Codewörter die Bitsequenz 0000 und für einen zweiten Teil der Codewörter die Bitsequenz 1111). In anderen Worten, der Syndrombestimmer 110 kann die Fehlersyndrombitsequenz s(v') bestimmen, so dass die Fehlersyndrombitsequenz s(v') für eine erste Mehrzahl von Codewörtern des Fehlerkorrekturcodes C gleich einer ersten vordefinierten Fehlersyndrombitsequenz ist und die Fehlersyndrombitsequenz s(v') für eine zweite Mehrzahl von Codewörtern des Fehlerkorrekturcodes C gleich einer zweiten vordefinierten Fehlersyndrombitsequenz ist. Dabei unterscheiden sich die erste vordefinierte Fehlersyndrombitsequenz und die zweite Fehlersyndrombitsequenz. Ferner weisen die erste Mehrzahl von Codewörtern und die zweite Mehrzahl von Codewörtern keine gemeinsamen Codewörter auf. Alternativ kann der Syndrombestimmer 110 die Fehlersyndrombitsequenz s(v') zum Beispiel so bestimmen, dass die Fehlersyndrombitsequenz s(v') immer gleich genau einer vordefinierten Fehlersyndrombitsequenz ist, wenn das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist.The error syndrome bit sequence s (v ') indicates or indicates whether the coded binary word v' is a codeword of the error correction code C. In this case, the error syndrome bit sequence s (v ') assumes the value of a predefined error syndrome bit sequence if the encoded binary word v' is a code word of the error correction code C. This may always be exactly the same predefined error syndrome bit sequence (eg, 0000 or 1111) or a predefined error syndrome bit sequence from a plurality of error syndrome bit sequences. For example, two different predefined error syndrome bit sequences can be provided for two different groups of code words of the error correction code C (eg the bit sequence 0000 for a first part of the code words and the bit sequence 1111 for a second part of the code words). In other words, the syndrome tester 110 may determine the error syndrome bit sequence s (v ') such that the error syndrome bit sequence s (v') for a first plurality of code words of the error correction code C is equal to a first predefined error syndrome bit sequence and the error syndrome bit sequence s (v ') for a second plurality of code words of the error correction code C is equal to a second predefined error syndrome bit sequence. The first predefined error syndrome bit sequence and the second error syndrome bit sequence differ. Furthermore, the first plurality of codewords and the second plurality of codewords do not have common codewords. Alternatively, the Syndrombestimmer 110 For example, determine the error syndrome bit sequence s (v ') such that the error syndrome bit sequence s (v') is always equal to a predefined error syndrome bit sequence if the coded binary word v 'is a codeword of the error correction code C.

Die Fehlersyndrombitsequenz s(v') kann beispielsweise mit Hilfe der Paritätsprüfmatrix H des Fehlerkorrekturcodes C erzeugt werden. In anderen Worten, der Syndrombestimmer 110 kann die Fehlersyndrombitsequenz s(v') basierend auf einer Multiplikation einer Paritätsprüfmatrix H des Fehlerkorrekturcodes C mit dem codierten Binärwort v' oder einer Multiplikation einer zumindest in einer Spalte (oder in einer Zeile bei einer transponierten Paritätsprüfmatrix) komponentenweise invertierten Paritätsprüfmatrix K des Fehlerkorrekturcodes C mit dem codierten Binärwort v' bestimmen.The error syndrome bit sequence s (v ') can be generated, for example, by means of the parity check matrix H of the error correction code C. In other words, the syndrome tester 110 For example, the error syndrome bit sequence s (v ') may be based on a multiplication of a parity check matrix H of the error correction code C with the coded binary word v' or a multiplication of a parity check matrix K of the error correction code C component-inverted in at least one column (or in one row in a transposed parity check matrix) determine the coded binary word v '.

Der Fehlerkorrekturcode C kann prinzipiell ein beliebiger Fehlerkorrekturcode sein. Beispielsweise kann es sich bei dem Fehlerkorrekturcode C um einen linearen Fehlerkorrekturcode handeln (z. B. Hamming-Code).The error correction code C can in principle be any error correction code. For example, error correction code C may be a linear error correction code (eg Hamming code).

Die Testbitsequenz Ti kann grundsätzlich eine beliebige Bitsequenz sein, von der gänzlich oder zumindest zum Teil (z. B. bei einer Betrachtung nur einer Teilmenge der Bits des Testausgangssignals) bekannt ist welches Testausgangssignal die zu testende Schaltung 102 in Reaktion auf die Testsequenz Ti ausgibt, wenn die zu testende Schaltung 102 fehlerfrei arbeitet. Die Testsequenz Ti kann beispielsweise gleich einer Fehlersyndrombitsequenz s(v') für ein codiertes Binärwort v' sein, das kein Codewort des Fehlerkorrekturcodes C ist. Dadurch kann beispielsweise getestet werden, ob die zu testende Schaltung 102 korrekt arbeiten würde, wenn der Syndrombestimmer 110 diese Fehlersyndrombitsequenz s(v') ausgeben würde. Handelt es sich beispielsweise bei der zu testenden Schaltung um eine Fehlererkennungs- und/oder Fehlerkorrekturschaltung oder einen Teil einer solchen, kann festgestellt werden, ob diese Schaltung für einen durch die Testbitsequenz simulierten Fehler in dem codierten Binärwort richtig arbeiten würde.The test bit sequence T i can in principle be any bit sequence of which wholly or at least in part (eg when considering only a subset of the bits of the test output signal) is known which test output signal is the circuit under test 102 in response to the test sequence T i outputs when the circuit under test 102 works without errors. For example, the test sequence T i may be equal to an error syndrome bit sequence s (v ') for a coded binary word v' that is not a codeword of the error correction code C. This can be used, for example, to test whether the circuit under test 102 would work correctly if the syndrome tester 110 would output this error syndrome bit sequence s (v '). For example, if the circuit under test is an error detection and / or correction circuit or part of it, it can be determined whether that circuit would work properly for an error in the coded binary word simulated by the test bit sequence.

Ist die zu testende Schaltung 102 eine Fehlererkennungs- und/oder Fehlerkorrekturschaltung oder ein Teil einer solchen, dann kann der Testsequenzbereitsteller 120 die Fehlersyndrombitsequenz der zu testenden Schaltung 102 bereitzustellen, wenn durch die Fehlersyndrombitsequenz ein Fehler im Binärwort erkannt wird. Dieser Fehler kann dann beispielsweise durch die Fehlerkorrekturschaltung korrigiert werden. Der Testsequenzbereitsteller 120 kann also die Testbitsequenz Ti bereitstellen, wenn das codierte Binärwort keinen Fehler aufweist, und die Fehlersyndrombitsequenz s(v') bereitstellen, wenn das codierte Binärwort v' einen Fehler aufweist, also nicht einem Codewort des Fehlerkorrekturcodes entspricht. In anderen Worten, der Testsequenzbereitsteller 120 kann die Fehlersyndrombitsequenz s(v') der zu testenden Schaltung 102 bereitstellen, wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort v' kein Codewort des Fehlerkorrekturcodes C ist. Alternativ kann auch beispielsweise der Syndrombestimmer 110 die Fehlersyndrombitsequenz s(v') direkt an die zu testende Schaltung 102 bereitstellen. Die zu testende Schaltung 102 bearbeitet die Fehlersyndrombitsequenz s(v'), wenn das codierte Binärwort kein Codewort ist, und bearbeitet die Testbitsequenz Ti, wenn das codierte Binärwort v' ein Codewort ist.Is the circuit under test 102 an error detection and / or error correction circuit or a part thereof, then the test sequence provider 120 the error syndrome bit sequence of the circuit under test 102 when the error syndrome bit sequence detects an error in the binary word. This error can then be corrected by the error correction circuit, for example. The test sequence provider 120 Thus, the test bit sequence T i can provide if the coded binary word has no error and provide the error syndrome bit sequence s (v ') if the coded binary word v' has an error, ie does not correspond to a codeword of the error correction code. In other words, the test sequence provider 120 may be the error syndrome bit sequence s (v ') of the circuit under test 102 when the error syndrome bit sequence s (v ') indicates that the coded binary word v' is not a codeword of the error correction code C. Alternatively, for example, the Syndrombestimmer 110 the error syndrome bit sequence s (v ') directly to the circuit under test 102 provide. The circuit to be tested 102 processes the error syndrome bit sequence s (v ') if the coded binary word is not a codeword, and processes the test bit sequence T i if the coded binary word v' is a codeword.

Der Testsequenzbereitsteller 120 muss nicht immer, wenn das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes ist, eine Testbitsequenz Ti an die zu testende Schaltung 102 bereitstellen. Prinzipiell ist das vorgeschlagene Konzept schon durch eine einmalige Bereitstellung realisiert, jedoch kann die Testabdeckung und die Wahrscheinlichkeit eine fehlerhafte Verarbeitung einer Testbitsequenz Ti zu erkennen, erhöht werden, wenn öfters eine Testbitsequenz Ti bereitgestellt wird. Beispielsweise kann der Testsequenzbereitsteller 120 zumindest zu 10%, 20%, 50% oder 80% eine von der bestimmten Fehlersyndrombitsequenz s(v') unterschiedliche Testbitsequenzen Ti der zu testenden Schaltung 102 bereitstellen, wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Alternativ kann der Testsequenzbereitsteller 120 auch immer eine Testbitsequenz Ti bereitstellen, wenn das codierte Binärwort v' ein Codewort ist.The test sequence provider 120 When the coded binary word v 'is a codeword of the error correction code, it is not always necessary to have a test bit sequence T i to the circuit under test 102 provide. In principle the proposed concept is already realized by a one-time provision, but the test coverage and the probability of detecting an incorrect processing of a test bit sequence T i can be increased if a test bit sequence T i is often provided. For example, the test sequence provider 120 at least 10%, 20%, 50%, or 80% of a test bit sequence T i of the circuit under test that is different from the particular error syndrome bit sequence s (v ') 102 when the error syndrome bit sequence s (v ') indicates that the coded binary word v' is a codeword of the error correction code C. Alternatively, the test sequence provider 120 also provide a test bit sequence T i when the coded binary word v 'is a codeword.

Dabei kann der Testsequenzbereitsteller 120 beispielsweise jeweils eine unterschiedliche Testbitsequenz Ti (die sich zur vorhergehenden Testbitsequenz unterscheidet) aus einer Mehrzahl von Testbitsequenzen bereitstellen, wenn das codierte Binärwort ein Codewort ist. In anderen Worten, der Testsequenzbereitsteller 120 kann jeweils eine Testbitsequenz Ti aus einer Mehrzahl von Testbitsequenzen für jedes codierte Binärwort v', dass der Syndrombestimmer 110 bearbeitet und das ein Codewort des Fehlerkorrekturcodes C ist, der zu testenden Schaltung 102 bereitstellen. Die Mehrzahl von Testbitsequenzen kann beispielsweise in einem Speicher gespeichert sein oder durch ein lineares rückgekoppeltes Schieberegister erzeugt werden. In anderen Worten, der Testsequenzbereitsteller 120 kann einen Speicher aufweisen, der die Mehrzahl von Testbitsequenzen speichert und bereitstellt, oder ein lineares rückgekoppeltes Schieberegister aufweisen, das eine Erzeugung einer Testbitsequenz Ti der Mehrzahl von Testbitsequenzen ermöglicht.In this case, the test sequence provider 120 For example, each of a different test bit sequence T i (which differs from the previous test bit sequence) from a plurality of test bit sequences provide when the coded binary word is a codeword. In other words, the test sequence provider 120 may each comprise a test bit sequence T i of a plurality of test bit sequences for each coded binary word v 'that matches the syndrome 110 which is a codeword of the error correction code C, of the circuit under test 102 provide. The plurality of test bit sequences may for example be stored in a memory or generated by a linear feedback shift register. In other words, the test sequence provider 120 may comprise a memory storing and providing the plurality of test bit sequences, or having a linear feedback shift register enabling generation of a test bit sequence T i of the plurality of test bit sequences.

Die Auswerteschaltung 130 kann anhand des Testausgangssignals R(Ti)' einen Fehler in der zu testenden Schaltung 102 erkennen. Dazu kann die Auswerteschaltung 130 beispielsweise das Testausgangssignal R(Ti)' oder ein vom Testausgangssignal R(Ti)' abgeleitetes Signal mit einem erwartenden Referenztestsignal R(Ti) vergleichen. Stimmt das Testausgangssignal R(Ti)' oder das davon abgeleitete Signal nicht mit dem erwarteten Referenztestsignal R(Ti) überein, so wird eine fehlerhafte Bearbeitung der Testbitsequenz Ti von der zu testenden Schaltung 103 erkannt. Die Auswerteschaltung kann ein entsprechendes Fehlersignal ausgeben. In anderen Worten, die Auswerteschaltung 130 kann das Testausgangssignal R(Ti)' oder ein auf dem Testausgangssignal R(Ti)' basierendes bearbeitetes oder reduziertes Testausgangssignal mit einem erwarteten Referenztestsignal R(Ti) vergleichen und eine fehlerhafte Bearbeitung der Testbitsequenz Ti erkennen, wenn das Testausgangssignal R(Ti)' oder das bearbeitete oder reduzierte Testausgangssignal nicht mit dem erwarteten Referenztestsignal R(Ti) übereinstimmt. Dabei kann das bearbeitete oder reduzierte Testausgangssignal eine Bitsequenz sein, die durch eine logische Funktion der Bits des Testausgangssignals R(Ti)' erhalten werden kann oder die nur eine Teilmenge der Bits des Testausgangssignals R(Ti)' enthält. Dabei bezieht sich die Teilmenge von Bits des Testausgangssignals R(Ti)' auf die Bitbreite des Testausgangssignals R(Ti)'.The evaluation circuit 130 can from the test output signal R (T i ) 'an error in the circuit under test 102 detect. This can be done with the evaluation circuit 130 For example, the test output signal R (T i ) 'or a signal derived from the test output signal R (T i )' signal with an expected reference test signal R (T i ) compare. If the test output signal R (T i ) 'or the signal derived therefrom does not coincide with the expected reference test signal R (T i ), an erroneous processing of the test bit sequence T i will result from the circuit under test 103 recognized. The evaluation circuit can output a corresponding error signal. In other words, the evaluation circuit 130 may compare the test output signal R (T i ) 'or a processed or reduced test output signal based on the test output signal R (T i )' with an expected reference test signal R (T i ) and detect an erroneous processing of the test bit sequence T i if the test output signal R ( T i ) 'or the processed or reduced test output signal does not match the expected reference test signal R (T i ). In this case, the processed or reduced test output signal may be a bit sequence which can be obtained by a logical function of the bits of the test output signal R (T i ) 'or which contains only a subset of the bits of the test output signal R (T i )'. In this case, the subset of bits of the test output signal R (T i ) 'refers to the bit width of the test output signal R (T i )'.

Bei einigen Ausführungsbeispielen basiert der Fehlerkorrekturcode C auf einer Invertierung einer oder mehrerer Spalten der Paritätsprüfmatrix H, wie bereits zuvor beschrieben. In solchen Fällen kann der Testsequenzbereitsteller 120 beispielsweise einen Bitsequenzinvertierer aufweisen, der die teilweise Invertierung der Spalten (oder Zeilen in einer transponierten Paritätsprüfmatrix) der Paritätsprüfmatrix für die weitere Bearbeitung kompensiert. Mit anderen Worten, der Testsequenzbereitsteller 120 kann einen Bitsequenzinvertierer aufweisen, der basierend auf einer Funktion f(v') einer Teilmenge von Bits des codierten Binärwortes v' die Testbitsequenz Ti oder die Fehlersyndrombitsequenz s(v') invertiert. Die Funktion f(v') der Teilmenge von Bits kann dabei beispielsweise gewählt sein, so dass der Bitsequenzinvertierer die Testbitsequenz Ti nicht invertiert, wenn die Fehlersyndrombitsequenz s(v') gleich der ersten vordefinierten Fehlersyndrombitsequenz ist, und die Testbitsequenz Ti invertiert, wenn die Fehlersyndrombitsequenz s(v') gleich der zweiten vordefinierten Fehlersyndrombitsequenz ist. Dies ist ein Beispiel für eine mögliche Funktion f(v'), wenn die Fehlersyndrombitsequenz für unterschiedliche Codewörter des Fehlerkorrekturcodes zwei unterschiedliche Fehlersyndrombitsequenzen s(v') annehmen kann.In some embodiments, the error correction code C is based on an inversion of one or more columns of the parity check matrix H, as previously described. In such cases, the test sequence provider may be 120 For example, a bit sequence inverter that compensates for the partial inversion of the columns (or rows in a transposed parity check matrix) of the parity check matrix for further processing. In other words, the test sequence provider 120 may comprise a bit sequence inverter that inverts the test bit sequence T i or the error syndrome bit sequence s (v ') based on a function f (v') of a subset of bits of the coded binary word v '. The function f (v ') of the subset of bits may be chosen, for example, so that the bit sequence inverter does not invert the test bit sequence T i if the error syndrome bit sequence s (v') is equal to the first predefined error syndrome bit sequence, and the test bit sequence T i is inverted, if the error syndrome bit sequence s (v ') is equal to the second predefined error syndrome bit sequence. This is an example of a possible function f (v ') if the error syndrome bit sequence for different codewords of the error correction code can take on two different error syndrome bit sequences s (v').

2 zeigt ein Blockdiagramm einer Vorrichtung 200 zum Korrigieren eines Bitfehlers in einem codierten Binärwort v' entsprechend eines Ausführungsbeispiels. Die Vorrichtung 200 umfasst eine Vorrichtung zum Testen einer zu testenden Schaltung nach dem zuvor beschriebenen Konzept sowie einen Decoder 250 als zu testende Schaltung und eine Korrektureinheit 240. Der Syndrombestimmer 110 ist mit dem Testsequenzbereitsteller 120 verbunden, der Testsequenzbereitsteller 120 ist mit dem Decoder 250 verbunden und der Decoder 250 ist mit der Korrektureinheit 240 und der Auswerteschaltung 130 verbunden. Der Decoder 250 erzeugt basierend auf der Fehlersyndrombitsequenz s(v') ein Ausgabesignal, so dass das Ausgabesignal des Decoders 250 ein Korrektursignal e für das codierte Binärwort v' repräsentiert, wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort v' kein Codewort des Fehlerkorrekturcodes C ist. Der Decoder 250 entspricht der zu testenden Schaltung und das Ausgabesignal des Decoders 250 entspricht dem Testausgangsignal R(Ti)', wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Ferner korrigiert die Korrektureinheit 240 basierend auf dem codierten Binärwort v' und dem Korrektursignal e einen Bitfehler in dem codierten Binärwort v' und gibt ein korrigiertes, codiertes Binärwort vcorr aus. 2 shows a block diagram of a device 200 for correcting a bit error in a coded binary word v 'according to an embodiment. The device 200 comprises a device for testing a circuit under test according to the concept described above and a decoder 250 as a circuit to be tested and a correction unit 240 , The syndrome tester 110 is with the test sequence provider 120 connected, the test sequence provider 120 is with the decoder 250 connected and the decoder 250 is with the correction unit 240 and the evaluation circuit 130 connected. The decoder 250 generates an output signal based on the error syndrome bit sequence s (v '), so that the output signal of the decoder 250 represents a coded binary word v 'correction signal e when the error syndrome bit sequence s (v') indicates that the coded binary word v 'is not a codeword of the error correction code C. The decoder 250 corresponds to the circuit under test and the output signal of the decoder 250 corresponds to the test output signal R (T i ) 'when the error syndrome bit sequence s (v') indicates that the coded binary word v 'is a codeword of the Error correction codes C is. Furthermore, the correction unit corrects 240 based on the coded binary word v 'and the correction signal e, a bit error in the coded binary word v' and outputs a corrected coded binary word v corr .

In anderen Worten liegt ein fehlerhaftes codiertes Binärwort v' an, so gibt der Decoder 250 ein Korrektursignal e an die Korrektureinheit 240 aus und die Korrektureinheit 240 korrigiert den Fehler im codierten Binärwort und gibt ein korrigiertes codiertes Binärwort vcorr aus (wenn der Fehler ein durch den Fehlerkorrekturcode korrigierbarer Fehler ist; z. B. ein 1-Bit-Fehler bei Verwendung eines 1-Bit-fehlerkorrigierenden Codes). Liegt jedoch ein fehlerfreies codiertes Binärwort an, so stellt der Testsequenzbereitsteller 120 eine Testbitsequenz Ti an den Decoder 250 bereit, der daraufhin das Testausgangssignal R(Ti)' ausgibt, das von der Auswerteschaltung 130 verwendet wird, um eine fehlerhafte Verarbeitung der Testbitsequenz Ti durch den Decoder 250 zu erkennen.In other words, there is an erroneous coded binary word v ', so gives the decoder 250 a correction signal e to the correction unit 240 off and the correction unit 240 corrects the error in the coded binary word and outputs a corrected coded binary word v corr (if the error is an error correctable by the error correction code, eg a 1-bit error using a 1-bit error correcting code). However, if an error-free coded binary word is present, then the test sequence provider provides 120 a test bit sequence T i to the decoder 250 ready, which then outputs the test output signal R (T i ) ', that of the evaluation circuit 130 is used to incorrectly process the test bit sequence T i by the decoder 250 to recognize.

Der Syndrombestimmmer 110, der Testsequenzbereitsteller 120, die Auswerteschaltung 130, die Korrektureinheit 240 und/oder der Decoder 250 können beispielsweise als unabhängige Hardwareeinheiten oder als Teil eines Computers, Mikrocontrollers oder digitalen Signalprozesses sowie als ein Computerprogramm oder ein Softwareprodukt zum Ausführen auf einem Computer, einem Mikrocontroller oder digitalen Signalprozessor ausgebildet sein. Der Syndrombestimmmer 110, der Testsequenzbereitsteller 120, die Auswerteschaltung 130, die Korrektureinheit 240 und/oder der Decoder 250 können beispielsweise auch teilweise gemeinsam realisiert sein.The syndrome determiner 110 , the test sequence provider 120 , the evaluation circuit 130 , the correction unit 240 and / or the decoder 250 For example, they may be embodied as independent hardware units or as part of a computer, microcontroller or digital signal process, as well as a computer program or software product for execution on a computer, microcontroller or digital signal processor. The syndrome determiner 110 , the test sequence provider 120 , the evaluation circuit 130 , the correction unit 240 and / or the decoder 250 For example, they can also be partially realized together.

Im Folgenden wird das vorgeschlagene Konzept anhand von mehreren detaillierten Ausführungsbeispielen näher erläutert. Die beschriebenen Details sind jedoch auch unabhängig voneinander sowohl für eine Vorrichtung zum Testen einer zu testenden Schaltung als auch für eine Vorrichtung zum Korrigieren eines Bitfehlers in einem codierten Binärwort anwendbar. Genauso können die verschiedenen Aspekte der verschiedenen Ausführungsbeispiele miteinander kombiniert werden.In the following, the proposed concept will be explained in more detail with reference to several detailed exemplary embodiments. However, the described details are also independently applicable to both a device for testing a circuit under test and a device for correcting a bit error in a coded binary word. Likewise, the various aspects of the various embodiments may be combined.

3 zeigt eine erste detaillierte Schaltungsanordnung 300 für den Fall, dass die Matrix K gleich der Paritätsprüfmatrix H des Codes C ist. Sie besteht aus den Teilschaltungen S1 11 (Syndrombestimmer), S2 12 (Fehlersyndromerkenner), S3 13 (zu testende Schaltung), 14 (Auswerteschaltung) und S5 15. An den n binären Eingängen der ersten Teilschaltung S1 11 zur Bildung eines Syndroms s liegen die n Bit breiten codierten Daten v' an, die in der Schaltung S1 zu einem m Bit breiten Syndrom s(v') verarbeitet werden. Dabei ist die Schaltung S1 so ausgestaltet, dass s(v) ≠ s(v') gilt, wenn v ein Codewort des Codes C ist und v kein Codewort des Codes C ist. Da K gleich der Paritätsprüfmatrix H des Codes C ist, ist das Syndrom eines Codewortes hier immer gleich 0, und das Syndrom eines Nicht-Codewortes ungleich 0. Der Testsequenzbereitsteller 120 wird durch die Teilschaltung S2 12 und die Teilschaltung S5 15 gebildet. 3 shows a first detailed circuit arrangement 300 in the case that the matrix K is equal to the parity check matrix H of the code C. It consists of sub-circuits S1 11 (Syndrome tester), S2 12 (Error syndrome connoisseur), S3 13 (circuit under test), 14 (Evaluation circuit) and S5 15 , At the n binary inputs of the first subcircuit S1 11 to form a syndrome s, the n-bit-wide coded data v 'are applied, which are processed in the circuit S1 to an m-bit-wide syndrome s (v'). In this case, the circuit S1 is designed such that s (v) ≠ s (v ') holds when v is a code word of the code C and v is not a code word of the code C. Since K is equal to the parity check matrix H of the code C, the syndrome of a codeword is always 0 here, and the syndrome of a non-codeword is not 0. The test sequence provider 120 is through the sub-circuit S2 12 and the sub-circuit S5 15 educated.

Der m Bit breite Ausgang der ersten Teilschaltung S1 ist in den m Bit breiten Eingang der Schaltung zur Fehlererkennung S2 12 (Fehlersyndromerkenner) und gleichzeitig in den m Bit breiten ersten Eingang der Teilschaltung S5 15 geführt. Die Schaltung zur Fehlererkennung S2 12 gibt an ihrem r Bit breiten Ausgang unterschiedliche Fehlersignale aus, wenn an ihrem m-Bit breiten Eingang ein Syndrom s(v) eines Codewortes des Codes C oder ein Syndrom s(v') eines Nicht-Codewortes des Codes C anliegt. Der r-Bit breite Ausgang der Schaltung zur Fehlererkennung ist in den dritten r-Bit breiten Eingang der Teilschaltung S5 geführt. Wird ein Fehlersignal, das einem Codewort des Codes C entspricht von der Schaltung zur Fehlererkennung S2 12 ausgegeben, dann wird an dem dritten m Bit breiten Eingang der Teilschaltung S5 ein Testbitsequenz Ti (Testvektor) eingegeben.The m-bit-wide output of the first subcircuit S1 is in the m-bit-wide input of the circuit for error detection S2 12 (Error syndrome recognizer) and at the same time in the m-bit-wide first input of the sub-circuit S5 15 guided. The circuit for error detection S2 12 outputs different error signals at its r bit wide output if a syndrome s (v) of a codeword of the code C or a syndrome s (v ') of a non codeword of the code C is present at its m-bit wide input. The r-bit wide output of the fault detection circuit is routed to the third r-bit wide input of the subcircuit S5. If an error signal which corresponds to a code word of the code C from the error detection circuit S2 12 outputted, then a test bit sequence T i (test vector) is input to the third m-bit input of the sub-circuit S5.

Die Teilschaltung S5 15 ist so konfiguriert, dass sie an ihrem m-Bit breiten Ausgang, den Wert ausgibt, der an ihrem ersten Eingang anliegt, wenn das Fehlersignal, das von der zweiten Teilschaltung S2 12 ausgegeben wird, einem Syndrom eines Nicht-Codewortes des Codes C entspricht und den Wert Testbitsequenz Ti ausgibt, wenn das Fehlersignal das von dieser Teilschaltung ausgegeben wird, einem Syndrom eines Codewort des Codes C entspricht.The subcircuit S5 15 is configured to output, at its m-bit wide output, the value applied to its first input when the error signal from the second sub-circuit S2 12 is output, corresponds to a syndrome of a non-codeword of the code C and outputs the value of the test bit sequence T i when the error signal output from this sub-circuit corresponds to a syndrome of a codeword of the code C.

Allgemein ausgedrückt, der Testsequenzbereitsteller 120 kann einen Fehlersyndromerkenner aufweisen. Der Fehlersyndromerkenner kann ein Testauslösesignal bereitstellen, das die Bereitstellung einer Testbitsequenz Ti durch den Testsequenzbereitsteller 120 auslöst, wenn die Fehlersyndrombitsequenz s(v') gleich einer vordefinierten Fehlersyndrombitsequenz ist. Dabei zeigt die vordefinierte Fehlersyndrombitsequenz an, dass das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist.Generally speaking, the test sequence provider 120 may have an error syndrome recognizer. The error syndrome recognizer may provide a test trigger signal indicating the provision of a test bit sequence T i by the test sequence provider 120 triggers when the error syndrome bit sequence s (v ') equals a predefined error syndrome bit sequence. Here, the predefined error syndrome bit sequence indicates that the coded binary word v 'is a codeword of the error correction code C.

Der m-Bit breite Ausgang der Teilschaltung S5 15 ist in den m-Bit breiten Eingang der zu testenden Teilschaltung S3 13 geführt, die an ihrem M Bit breiten Ausgang ein Testresponsesignal R(Ti) ausgibt, wenn an ihrem Eingang das Signal Ti anliegt und das Signal R(s(v)) ausgibt, wenn an ihrem Eingang das Syndrom s(v) anliegt, wobei v ein Codewort des Codes C ist. Der M-Bit breite Ausgang der zu testenden Schaltung S3 13 ist in eine Auswerteschaltung 14 geführt, die prüft, ob tatsächlich von der Teilschaltung S3 ausgegebenen Testausgangssignal (Testresponsesignale) mit erwarteten Testausgangssignal (erwarteten Testresponsesignalen) übereinstimmen. Wird eine Nichtübereinstimmung festgestellt, dann ist ein Fehler in der zu testenden Teilschaltung S3 erkannt worden. The m-bit wide output of the subcircuit S5 15 is in the m-bit wide input of the subcircuit S3 to be tested 13 which outputs a test response signal R (T i ) at its M bit wide output if the signal T i is present at its input and outputs the signal R (s (v)) if the syndrome s (v) is present at its input where v is a codeword of the code C. The M-bit wide output of the circuit under test S3 13 is in an evaluation circuit 14 performed, which checks whether actually output from the sub-circuit S3 test output signal (test response signals) with expected test output signal (expected test response signals) match. If a mismatch is detected, then an error has been detected in the sub-circuit S3 to be tested.

Wenn ein Syndrom eines Codewortes von der Teilschaltung zur Bildung eines Syndroms S1 11 erzeugt und als solches von der Teilschaltung zur Fehlererkennung S2 12 erkannt wird, kann ein Test der Teilschaltung S3 13 erfolgen.If a syndrome of a codeword from the sub-circuit to form a syndrome S1 11 generated and as such from the sub-circuit for error detection S2 12 is detected, a test of the sub-circuit S3 13 respectively.

Wird hingegen ein Syndrom eines Nicht-Codewortes von der Teilschaltung zur Bildung eines Syndroms S1 11 erzeugt und als solches von der Teilschaltung zur Fehlererkennung S2 12 erkannt, dann erfolgt kein Test der Teilschaltung S3 13 und das an ihren Eingängen anliegende Syndrom wird von der Teilschaltung S3 verarbeitet.If, however, a syndrome of a non-codeword of the sub-circuit to form a syndrome S1 11 generated and as such from the sub-circuit for error detection S2 12 detected, then no test of the sub-circuit S3 13 and the syndrome applied to their inputs is processed by the sub-circuit S3.

4 zeigt eine Schaltungsanordnung 400 für den Fall, dass die Matrix K aus der Paritätsprüfmatrix H abgeleitet wurde, indem q Spalten der Matrix H komponentenweise invertiert worden sind und K = Hmod gilt. Es seien die komponentenweise invertierten Spalten die Spalten hi1, ..., hiq. Die Schaltungsteile, die die gleiche Funktion wie in 3 haben, sind mit den gleichen Symbolen und den gleichen Nummern bezeichnet, und sie sollen hier nicht noch einmal beschrieben werden. Zusätzlich zu 3 ist hier eine Schaltung 16 mit einem q Bit breiten Eingang und einem 1 Bit breiten Ausgang zur Realisierung einer linearen Funktion. f(v'1, ..., v'n) = vi1 ⊕ ... ⊕ viq und eine Schaltung S7 17 mit einem m Bit breiten ersten Eingang und einem 1 Bit breiten zweiten Eingang und einem m Bit breiten Ausgang zur gesteuerten Invertierung ihrer Eingaben am ihrem ersten Eingang vorhanden. Die Teilschaltungen S2, S5, S6 und S7 bilden den Testsequenzbereitsteller und die Teilschaltungen S6 und S7 bilden einen Bitsequenzinvertierer, der Teil des Testsequenzbereitsteller ist. 4 shows a circuit arrangement 400 for the case that the matrix K was derived from the parity check matrix H by q columns of the matrix H have been component-inverted and K = H mod . Let the component-inverted columns be the columns h i1 , ..., h iq . The circuit parts that have the same function as in 3 have the same symbols and numbers, and they are not to be described again here. In addition to 3 here is a circuit 16 with a q-bit input and a 1-bit output for realizing a linear function. f (v ' 1 , ..., v' n ) = v i1 ⊕ ... ⊕ v iq and a circuit S7 17 with a m-bit first input and a 1-bit second input and a m-bit output for controlled inversion of its inputs at its first input. Sub-circuits S2, S5, S6 and S7 form the test sequence provider, and sub-circuits S6 and S7 form a bit-sequence inverter that is part of the test-sequence provider.

Der q-Bit breite Eingang der Schaltung S6 16 zur Realisierung einer Funktion f 16 ist mit den q Eingangsleitungen der Schaltung S1 11 verbunden, die die Werte vi1, ..., viq tragen, und der 1 Bit breite Ausgang dieser Schaltung ist in den zweiten, 1-Bit breiten Eingang der Schaltung S7 17 geführt. Der erste m Bit breite Eingang der Schaltung S7 17 ist mit dem Ausgang der Schaltung S5 15 verbunden, während der m Bit breite Ausgang der Schaltung S7 17 in den m Bit breiten Eingang der zu testenden Schaltung S3 13 geführt ist. Ist der Wert, der von der Schaltung S6 16 zur Bestimmung der Funktion f ausgegeben wird gleich 0, so leitet die Schaltung S7 17 den an ihrem ersten Eingang eingegebenen Wert direkt auf ihren Ausgang weiter. Ist der Wert, der von der Schaltung S6 16 zur Bestimmung der Funktion f ausgegeben wird, gleich 1, dann gibt die Schaltung S7 17 den komponentenweise invertierten Wert des an ihrem ersten Eingang anliegenden Wertes aus.The q-bit wide input of the circuit S6 16 to realize a function f 16 is connected to the q input lines of the circuit S1 11 connected, carrying the values v i1 , ..., v iq , and the 1-bit wide output of this circuit is in the second, 1-bit wide input of the circuit S7 17 guided. The first m bit wide input of the circuit S7 17 is connected to the output of the circuit S5 15 connected during the m-bit output of the circuit S7 17 in the m bit wide input of the circuit under test S3 13 is guided. Is the value of the circuit S6 16 is output to determine the function f is equal to 0, then the circuit S7 17 pass the value entered at its first input directly to its output. Is the value of the circuit S6 16 for the determination of the function f, equal to 1, then the circuit S7 17 the component-by-inverted value of the value applied to its first input.

Die Schaltun S2 12 bestimmt, ob einer der Werte

Figure DE102011080659B4_0014
oder
Figure DE102011080659B4_0015
vorliegt.The Schaltun S2 12 determines if one of the values
Figure DE102011080659B4_0014
or
Figure DE102011080659B4_0015
is present.

In 5 ist eine konkrete Ausgestaltung 500 der in 3 dargestellten Schaltung dargestellt.In 5 is a concrete design 500 the in 3 shown circuit shown.

Als Code C ist hier ein linearer Code der Länge n mit m Komponenten des Fehlersyndroms angenommen. Die erste Teilschaltung S1 21 ist hier ein üblicher Syndromgenerator zur Bildung eines m-komponenteigen Syndroms des linearen Codes C. An dem n Bit breiten Eingang des Syndromgenerators S1 21 liegt ein n-komponentiges codiertes Wort v' an. Der Syndromgenerator S1 21 gibt an seinem m Bit breiten Ausgang das zugehörige Fehlersyndrom s(v') = w aus. Ist v' ein Codewort des Codes C, dann gilt s(v') = 0. Ist v' kein Codewort des Codes C, dann ist s(v') ≠ 0. Der Ausgang des Syndromgenerators (Syndrombestimmer) ist gleichzeitig mit den m Eingangsleitungen eines NOR-Gatters 22 (Fehlersyndromerkenner) und mit den m ersten Eingangsleitungen von m XOR-Gattern mit jeweils einem ersten und einem zweiten Eingang verbunden, die durch das XOR-Symbol 27 veranschaulicht sind. Die Schaltung S2 12 in 3 wird hier durch das NOR-Gatter 22 (Nicht-Oder-Gatter) mit m Eingängen und einem Ausgang realisiert, so dass hier r = 1 gilt. Der 1-Bit breite Ausgang (zur Bereitstellung des Testauslösesignals) des NOR-Gatters 22 ist in den ersten 1 Bit breiten Eingang der AND-Schaltung 26 (Und-Schaltung) geführt. Wie in dem Beispiel gezeigt, kann es ausreichend sein, dass das Testauslösesignal nur genau ein Bit breit ist. Die AND-Schaltung, die hier als AND-Symbol 26 veranschaulicht ist, besteht aus m AND-Gattern mit jeweils einem ersten und einem zweiten Eingang und jeweils einem Ausgang, an deren jeweils ersten Eingang der 1 Bit breite Ausgang des NOR-Gatters 22 angeschlossen ist und an deren jeweils zweitem Eingang stellenrichtig die m Komponenten einer Testbitsequenz Ti (Testinputs) für die Schaltung S4 24 eingegeben werden, wenn s(v') = 0 ist und durch die Schaltung zur Fehlererkennung 22 kein Fehler angezeigt wird. Die m Ausgangsleitungen der AND-Schaltung 26 sind mit den m jeweils zweiten Eingängen der XOR-Gatter 27 verbunden deren m Ausgänge in die m Eingänge der zu testenden Teilschaltung S4 24 geführt sind. Die Schaltung S5 15 von 3 ist hier durch die m XOR-Gatter 27 (Exklusiv-Oder-Gatter) und die m AND-Gatter 26 (Und-Gatter) realisiert. Liegt an den m zweiten Eingängen der AND-Schaltung 26 der Testvektor Ti an und ist s(v') = 0, dann liegt am Eingang der zu testenden Teilschaltung S4 24 der Testvektor Ti an, der von dieser Schaltung zu einem Testausgangssignal R(Ti)' verarbeitet wird, und der auf den M Bit breiten Ausgang der Schaltung S4 24, der in den Eingang einer Auswerteschaltung 25 geführt ist, ausgegeben wird. Die Auswerteschaltung 25 dient dazu, um festzustellen, ob der Testausgangssignal R(Ti)' dem erwarteten Testausgangssignal entspricht oder ob der tatsächliche Testausgangssignal R(Ti)' auf Grund eines Fehlers in der zu testenden Schaltung S4 24 von dem erwarteten Testausgangssignal abweicht. Ist v' kein Codewort, dann gibt das NOR-Gatter 22 (Nicht-Oder-Gatter) den Wert 0 aus, so dass die m Ausgänge der m AND-Gatter 26 den Wert 0 führen, die in den XOR-Gattern mit s(v') zu s(v') ⊕ 0 = s(v') modulo 2 addiert werden, so dass s(v') an den m Eingängen der Teilschaltung S4 anliegt.As code C here is assumed a linear code of length n with m components of the error syndrome. The first subcircuit S1 21 Here is a common syndrome generator to form an m-component syndrome of the linear code C. At the n-bit input of the syndrome generator S1 21 is an n-component coded word v '. The syndrome generator S1 21 outputs at its m bit wide output the associated error syndrome s (v ') = w. If v 'is a codeword of the code C, then s (v') = 0. If v 'is not a codeword of the code C, then s (v ') ≠ 0. The output of the syndrome generator (syndrome tester) is simultaneous with the m input lines of a NOR gate 22 (Error syndrome recognizer) and connected to the m first input lines of m XOR gates each having a first and a second input indicated by the XOR symbol 27 are illustrated. The circuit S2 12 in 3 is here through the NOR gate 22 (Non-OR gate) realized with m inputs and one output, so here r = 1 applies. The 1-bit wide output (to provide the test trigger signal) of the NOR gate 22 is in the first 1 bit wide input of the AND circuit 26 (And circuit) led. As shown in the example, it may be sufficient that the test trigger signal is only exactly one bit wide. The AND circuit, here as an AND symbol 26 is illustrated, consists of m AND gates, each having a first and a second input and one output, at their respective first input of the 1-bit wide output of the NOR gate 22 is connected and at their respective second input the correct m components of a test bit sequence T i (test inputs) for the circuit S4 24 are entered when s (v ') = 0 and through the fault detection circuit 22 no error is displayed. The m output lines of the AND circuit 26 are with the m each second inputs of the XOR gate 27 their m outputs connected to the m inputs of the sub-circuit S4 to be tested 24 are guided. The circuit S5 15 from 3 is here through the m XOR gates 27 (Exclusive-OR gate) and the m AND gate 26 (And gate) realized. Located at the m second inputs of the AND circuit 26 the test vector T i and is s (v ') = 0, then lies at the input of the sub-circuit S4 to be tested 24 the test vector T i , which is processed by this circuit to a test output signal R (T i ) ', and the M bit wide output of the circuit S4 24 which is in the input of an evaluation circuit 25 is performed, is spent. The evaluation circuit 25 serves to determine if the test output R (T i ) 'corresponds to the expected test output or if the actual test output R (T i )' due to an error in the circuit under test S4 24 deviates from the expected test output. If v 'is not a codeword, then the NOR gate 22 (Non-OR gate) has the value 0, so that the m outputs of the m AND gates 26 will result in the value 0 being added in the XOR gates with s (v ') to s (v') ⊕ 0 = s (v ') modulo 2 such that s (v') at the m inputs of the subcircuit S4 is applied.

6 zeigt eine weitere mögliche Ausgestaltung 600 der Teilschaltung S5 15 (Teil des Testsequenzbereitstellers) von 3, die hier als Multiplexer 33 mit m Bit breiten ersten Dateneingängen, die einen m-stelligen binären Wert w führen, mit m Bit breiten zweiten Dateneingängen, an denen der m Bit breite Testvektor Ti anliegt, mit m Bit breiten Ausgängen und einem r = 1 Bit breiten Steuereingang realisiert ist. In Abhängigkeit von dem auf der r = 1 Bit breiten Steuerleitung anliegenden Fehlersignal, das von der Schaltung zur Fehlererkennung S2 (12, 22) ausgeben wird, ist das Signal w führende Eingangsleitung oder die den Testvektor Ti tragende Eingangsleitung des Multiplexers 33 direkt mit der Ausgangsleitung verbunden. 6 shows another possible embodiment 600 the subcircuit S5 15 (Part of the test sequence provider) of 3 that's here as a multiplexer 33 with m-bit-wide first data inputs, which carry an m-digit binary value w, with m-bit wide second data inputs at which the m-bit-wide test vector T i is present, with m-bit outputs and a r = 1-bit wide control input is realized , Depending on the fault signal present on the r = 1 bit wide control line, which is supplied by the fault detection circuit S2 (FIG. 12 . 22 ), the signal w is the leading input line or the input line of the multiplexer carrying the test vector Ti 33 directly connected to the output line.

7 zeigt eine konkrete Ausgestaltung 700 des vorgeschlagenen Konzepts, wo die zu testende Schaltung ein Fehlertypbestimmer 44 einer Schaltungsanordnung zur Fehlerkorrektur und Fehlererkennung ist. Die Teilschaltung S1 11 von 3 zur Bildung eines Fehlersyndroms wird hier als Syndromgenerator (Syndrombestimmer) bezeichnet. 7 shows a concrete design 700 of the proposed concept where the circuit under test is an error type determiner 44 a circuit arrangement for error correction and error detection is. The subcircuit S1 11 from 3 to form an error syndrome is referred to here as Syndromgenerator (Syndrombestimmer).

An dem n Bit breiten Eingang des Syndromgenerators S1 41 liegen die codierten Werte v' = v'1, ..., v'n eines linearen fehlerkorrigierenden Codes C der Länge n mit einem m-dimensionalen Fehlersyndrom an. Die H-Matrix des Codes C sei mit H bezeichnet. Am m Bit breiten Ausgang des Syndromgenerators wird das Syndrom s(v') ausgegeben, dass hier nach der Beziehung s(v') = H·v'T gebildet wird. Der Ausgang des Syndromgenerators S1 41 ist in den m Bit breiten Eingang eines Decoders 47 geführt, der an seinem n-Bit breiten Ausgang die Korrekturbits e1, ..., en, die zu dem Korrekturvektor e1, ..., en (Korrektursignal) zusammengefasst sind, ausgibt. Der n Bit breite Ausgang des Decoders 47 ist in die jeweils ersten Eingänge der n XOR-Gatter 48 (Korrektureinheit) mit jeweils 2 Eingängen und einem Ausgang geführt, an deren jeweils zweiten Eingängen die codierten Werte anliegen und an deren Ausgängen der durch den Code C korrigierten Werte vcorr = v1,corr, ..., vn,corr = v ⊕ e ausgegeben werden.At the n bit wide input of the syndrome generator S1 41 For example, the coded values v '= v' 1 ,..., v ' n of a linear error-correcting code C of length n with an m-dimensional error syndrome are applied. The H-matrix of the code C is denoted by H. At the m-bit output of the syndrome generator the syndrome s (v ') is output, that here after the relation s (v ') = Hv' T is formed. The output of the syndrome generator S1 41 is in the m bit wide input of a decoder 47 which output at its n-bit wide output the correction bits e1, ..., en, which are combined to the correction vector e 1 , ..., e n (correction signal) outputs. The n bit wide output of the decoder 47 is in each of the first inputs of the n XOR gate 48 (Correction unit) with two inputs and one output, at whose second inputs the coded values are applied and at whose outputs the values corrected by the code C are v corr = v 1, corr ,..., V n, corr = v Ausgegeben e be spent.

Der Ausgang des Syndromgenerators S1 41 ist darüber hinaus mit dem Eingang eines NOR-Gatters 42 und mit dem jeweils ersten Eingang von m XOR-Gattern 431 verbunden. Die Schaltung S2 12 in 3 wird hier durch das NOR-Gatter 42 mit m Eingängen und einem Ausgang realisiert, so dass hier r = 1 gilt. Der 1-Bit breite Ausgang des NOR-Gatters 42 ist in den ersten 1 Bit breiten Eingang der AND-Schaltung 432 geführt. Die AND-Schaltung, die hier als AND-Symbol 432 veranschaulicht ist, besteht aus m AND-Gattern mit jeweils einem ersten und einem zweiten Eingang und jeweils einem Ausgang, an deren jeweils ersten Eingang der 1 Bit breite Ausgang des NOR-Gatters 42 angeschlossen ist und an deren jeweils zweitem Eingang stellenrichtig die m Komponenten eins Testinputs Ti für den Fehlertypbestimmer 44 eingegeben werden, wenn s(v') = 0 ist und durch das NOR-Gatter 42 der Wert 1 ausgegeben wird und damit kein Fehler angezeigt wird. Die m Ausgangsleitungen der AND-Schaltung 432 sind mit den m zweiten Eingängen der XOR-Gatter 431 verbunden, deren m Ausgänge in die m Eingänge des zu testenden Fehlertypbestimmers 44 S4 geführt sind. Die Schaltung S5 15 von 3 ist hier durch die m XOR-Gatter 431 und die m AND-Gatter 432 realisiert. Liegt an den m zweiten Eingängen der AND-Schaltung 26 der Testvektor Ti an und ist s(v') = 0, dann liegt am Eingang der zu testenden Teilschaltung Fehlertypbestimmer 44 der Testvektor Ti an, der von dieser Schaltung zu einem Testausgangssignal R(Ti) verarbeitet wird. In 7 ist veranschaulicht, dass der Testbitsequenz Ti durch einen Testeingangsgenerator TIG 46 (Testinputgenerator) erzeugt wird mit einem r = 1 Bit breiten Eingang, der mit dem Ausgang des NOR-Gatters 42 verbunden ist und mit einem m Bit breiten Ausgang, der das Testsignal Ti für die zu testende Schaltung Fehlertypbestimmer 44 führt. Der Testeingangsgenerator TIG kann beispielsweise aus einem Zähler und einem ROM (Nur-Lese-Speicher, read only memory) aufgebaut sein, wobei immer dann, wenn von dem NOR-Gatter 42 der Wert 1, d. h. die Anzeige, dass kein Fehler erkennbar war, ausgegeben wird, der Zähler weitergezählt wird und ein neuer Testvektor Ti von dem Testeingangsgenerator ausgegeben wird.The output of the syndrome generator S1 41 is beyond that with the input of a NOR gate 42 and with the respective first input of m XOR gates 431 connected. The circuit S2 12 in 3 is here through the NOR gate 42 realized with m inputs and one output, so that here r = 1 applies. The 1-bit wide output of the NOR gate 42 is in the first 1 bit wide input of the AND circuit 432 guided. The AND circuit, here as an AND symbol 432 is illustrated, consists of m AND gates, each having a first and a second input and one output, at their respective first input of the 1-bit wide output of the NOR gate 42 is connected and at their second input correct the m components of a test input T i for the error type determiner 44 when s (v ') = 0 and through the NOR gate 42 the value 1 is output and no error is displayed. The m output lines of the AND circuit 432 are with the m second inputs of the XOR gate 431 whose m outputs are in the m inputs of the error type determiner to be tested 44 S4 are guided. The circuit S5 15 from 3 is here through the m XOR gates 431 and the m AND gates 432 realized. Located at the m second inputs of the AND circuit 26 If the test vector T i is on and s (v ') = 0, then there is an error type determiner at the input of the subcircuit under test 44 the test vector T i , which is processed by this circuit to a test output signal R (T i ). In 7 1 illustrates that the test bit sequence T i is represented by a test input generator TIG 46 (Test input generator) is generated with an r = 1 bit wide input, which is connected to the output of the NOR gate 42 is connected and with an m-bit wide output, the test signal T i for the circuit under test Fehlertypbestimmer 44 leads. The test input generator TIG may, for example, be composed of a counter and a ROM (read only memory), wherein whenever the NOR gate 42 the value 1, ie the indication that no error was detectable, is output, the counter is incremented and a new test vector T i is output from the test input generator.

Der Testeingangsgenerator kann auch als linear rückgekoppeltes Schieberegister realisiert sein, das jedes Mal dann in einen neuen Zustand übergeht, wenn durch das NOR-Gatter 42 der Wert 1 ausgegeben wird, wobei der Zustand dieses linear rückgekoppelten Schieberegisters als Testinput für den Fehlertypbestimmer dienen kann.The test input generator may also be implemented as a linear feedback shift register that transitions to a new state each time through the NOR gate 42 the value 1 is output, the state of this linear feedback shift register being able to serve as the test input for the error type determiner.

In diesem Beispiel wird der Testsequenzbereitsteller 120 durch das NOR-Gatter 42, das XOR-Gatter 431 das AND-Gatter 432 und den Testeingangsgenerator 46 gebildet.In this example, the test sequence provider becomes 120 through the NOR gate 42 , the XOR gate 431 the AND gate 432 and the test input generator 46 educated.

Wird von dem NOR-Gatter 42 der Wert 1 ausgegeben und angezeigt, dass anhand des Syndroms kein Fehler erkannt wurde, dann liegt an dem Fehlertypbestimmer 44 ein Testinput Ti an seinem Eingang an, der von dem Fehlertypbestimmer 44 zu einem Responsewert R(Ti)' verarbeitet wird. Der M-Bit breiten Ausgang des Fehlertypbestimmers 44 ist in den ersten, M-Bit breiten Eingang einer Auswerteschaltung, die in dieser Ausgestaltung als Mehrfach-Eingangssignaturanalysator MISA 45 (Multi-Input-Signatur Analyser) realisiert ist, geführt. An dem zweiten, r = 1 Bit breiten Eingang des MISAs 45 liegt das durch das NOR-Gatter 42 erzeugte Fehlersignal an. In dem MISA 45 werden die zu den Zeitpunkten, in denen das durch das NOR-Gatter 42 erzeugte Fehlersignal gleich 1 ist, anliegenden Testausgangssignalwerte R(Ti)' zu einer Signatur aufakkumuliert. Stimmt die tatsächlich bestimmte Signatur mit einer im fehlerfreien Fall erwarteten Signatur überein, dann wird kein Fehler in dem Fehlertypbestimmer erkannt. Stimmt die tatsächlich bestimmte Signatur des MISA 45 nicht mit der erwarteten Signatur überein, dann wird ein Fehler erkannt.Is from the NOR gate 42 If the value 1 is output and that no error has been detected on the basis of the syndrome, then it is up to the error type determiner 44 a test input T i at its input, that of the error type determiner 44 to a response value R (T i ) 'is processed. The M-bit wide output of the error type determiner 44 is in the first, M-bit wide input of an evaluation circuit, which in this embodiment as a multiple input signature analyzer MISA 45 (Multi-input signature analyzer) is implemented. At the second, r = 1 bit wide input of the MISA 45 this is due to the NOR gate 42 generated error signal. In the MISA 45 are those at the times in which by the NOR gate 42 generated error signal is equal to 1, applied test output signal values R (T i ) 'accumulated into a signature. If the signature actually determined matches a signature expected in the error-free case, then no error is detected in the error type determiner. Is true the specific signature of the MISA 45 does not match the expected signature, then an error is detected.

Zu den Zeitpunkten, in denen das NOR-Gatter 42 den Wert 0 ausgibt und anzeigt, dass ein Syndrom s(v') ≠ 0 von dem Syndrombildner S1 41 ausgegeben wurde, liegt am Eingang des Fehlertypbestimmers 44 der Wert s(v') des Syndroms an und der Fehlertypbestimmer gibt an seinem M-Bit breiten Ausgang einen binären Wert aus, der den Fehlertyp charakterisiert.At the times when the NOR gate 42 outputs the value 0 and indicates that a syndrome s (v ') ≠ 0 from the syndrome former S1 41 output is at the input of the error type determiner 44 the value s (v ') of the syndrome and the error type determiner outputs at its M-bit wide output a binary value characterizing the error type.

Handelt es sich beispielsweise bei dem Code C um eine 2-Bit fehlerkorrigierenden, 3-Bit Fehler erkennenden Code, dann ist es möglich, dass der Fehlertypbestimmer auf drei verschiedenen Ausgangsleitungen durch ein binäres Signal anzeigt, ob ein 1-Bit Fehler, ein 2-Bit Fehler oder ein 3-Bit Fehler aufgetreten ist. Dann ist M = 3.For example, if the code C is a 2-bit error correcting 3-bit error detecting code, then it is possible that the error type determiner on three different output lines will indicate by a binary signal whether a 1-bit error, a 2-bit error Bit error or a 3-bit error has occurred. Then M = 3.

8 zeigt eine weitere konkrete Ausgestaltung 800, wo die zu testende Schaltung ein Decoder S4 57 einer Schaltungsanordnung zur Fehlerkorrektur ist. Die Teilschaltung S1 11 von 3 zur Bildung eines Fehlersyndroms wird hier wieder als Syndromgenerator bezeichnet. 8th shows a further concrete embodiment 800 where the circuit under test is a decoder S4 57 a circuit arrangement for error correction. The subcircuit S1 11 from 3 to form an error syndrome is referred to here again as a syndrome generator.

An dem n Bit breiten Eingang eines Syndromgenerators S1 51 liegen die codierten Werte v' = v'1, ..., v'n eines linearen fehlerkorrigierenden Codes C der Länge n mit einem m-dimensionalen Fehlersyndrom an. Die H-Matrix des Codes C sei wieder mit H bezeichnet. Am m Bit breiten Ausgang des Syndromgenerators wird das Syndrom s(v') ausgegeben, dass hier nach der Beziehung s(v') = H·v'T gebildet wird.At the n bit wide input of a syndrome generator S1 51 For example, the coded values v '= v' 1 ,..., v ' n of a linear error-correcting code C of length n with an m-dimensional error syndrome are applied. The H matrix of the code C is again denoted by H. At the m-bit output of the syndrome generator the syndrome s (v ') is output, that here after the relation s (v ') = Hv' T is formed.

Der Ausgang des Syndromgenerators S1 51 ist mit dem m-stelligen Eingang eines OR-Gatters mit einem Ausgang 52 und mit dem jeweils ersten Eingang von m XOR-Gattern 531 mit jeweils einem ersten und einem zweiten Eingang verbunden. Die Schaltung S2 12 zur Fehlererkennung in 3 wird hier durch das OR-Gatter 52 mit m Eingängen und einem Ausgang realisiert, so dass hier r = 1 gilt. Der 1-Bit breite Ausgang des OR-Gatters 52 (Oder-Gatter) ist negiert in den ersten 1 Bit breiten Eingang der AND-Schaltung 532 geführt. Die AND-Schaltung 532, die hier als AND-Symbol 532 veranschaulicht ist, besteht aus m AND-Gattern mit jeweils einem ersten und einem zweiten Eingang und jeweils einem Ausgang, an deren jeweils ersten Eingang der 1 Bit breite, negierte Ausgang des OR-Gatters 52 angeschlossen ist und an deren jeweils zweitem Eingang stellenrichtig die m Komponenten eins Testinputs Ti für den Decoder 57 eingegeben werden, wenn s(v') = 0 ist und durch das OR-Gatter 52 der Wert 0 ausgegeben wird und damit kein Fehler angezeigt wird.The output of the syndrome generator S1 51 is with the m-digit input of an OR gate with an output 52 and with the respective first input of m XOR gates 531 each with a first and connected to a second input. The circuit S2 12 for error detection in 3 is here by the OR gate 52 realized with m inputs and one output, so that here r = 1 applies. The 1-bit wide output of the OR gate 52 (OR gate) is negated in the first 1 bit wide input of the AND circuit 532 guided. The AND circuit 532 , here as an AND symbol 532 is illustrated, consists of m AND gates each having a first and a second input and one output, at their respective first input of the 1-bit wide, negated output of the OR gate 52 is connected and at their respective second input the correct m components of a test input T i for the decoder 57 when s (v ') = 0 and through the OR gate 52 the value 0 is output and no error is displayed.

Die m Ausgangsleitungen der AND-Schaltung 532 sind mit den m zweiten Eingängen der XOR-Gatter 531 verbunden deren m Ausgänge in die m Eingänge des zu testenden Decoders 57 geführt sind. Die Schaltung S5 15 von 3 ist hier durch die m XOR-Gatter 531 und die m AND-Gatter 532 realisiert. Liegt an den m zweiten Eingängen der AND-Schaltung 532 der Testvektor Ti an und ist s(v') = 0 dann liegt am Eingang von dem zu testenden Decoder 57 der Testvektor Ti an, der von dem Decoder zu einem Testausgangssignal R(Ti)' verarbeitet wird. In 8 ist auch veranschaulicht, dass der Testinput Ti durch einen Testinputgenerator TIG 56 erzeugt wird mit einem r = 1 Bit breiten Eingang, der mit dem Ausgang des OR-Gatters 52 verbunden ist und mit einem m Bit breiten Ausgang, der das Testsignal Ti für die zu testende Schaltung Decoder 57 führt. Der Testinputgenerator TIG kann beispielsweise aus einem Zähler und einem ROM aufgebaut sein, wobei immer dann, wenn von dem OR-Gatter 52 der Wert 0, d. h. die Anzeige, dass kein Fehler erkennbar war, ausgegeben wird, der Zähler weitergezählt wird und ein neuer Testvektor Ti von dem Testeingangsgenerator ausgegeben wird.The m output lines of the AND circuit 532 are with the m second inputs of the XOR gate 531 their m outputs are connected to the m inputs of the decoder under test 57 are guided. The circuit S5 15 from 3 is here through the m XOR gates 531 and the m AND gates 532 realized. Located at the m second inputs of the AND circuit 532 the test vector T i and is s (v ') = 0 then lies at the input of the decoder under test 57 the test vector T i , which is processed by the decoder to a test output signal R (T i ) '. In 8th is also illustrated that the test input T i by a test input generator TIG 56 is generated with an r = 1 bit wide input, which is connected to the output of the OR gate 52 is connected and with an m bit wide output, the test signal T i for the circuit under test decoder 57 leads. The test input generator TIG may be constructed, for example, of a counter and a ROM, and whenever provided by the OR gate 52 the value 0, ie the indication that no error was detectable, is output, the counter is incremented and a new test vector T i is output from the test input generator.

Der Testinputgenerator kann beispielsweise auch als linear rückgekoppeltes Schieberegister realisiert sein, das jedes Mal dann in einen neuen Zustand übergeht, wenn durch das OR-Gatter 52 der Wert 0 ausgegeben wird, wobei der Zustand dieses linear rückgekoppelten Schieberegisters als Testeingang (Testinput) für den Fehlertypbestimmer dienen kann.For example, the test input generator may also be implemented as a linear feedback shift register that transitions to a new state each time it passes through the OR gate 52 the value 0 is output and the state of this linear feedback shift register may serve as the test input (test input) to the error type determiner.

Der M = n Bit breite Ausgang des Decoders 57 ist in den ersten, n-Bit breiten Eingang einer Auswerteschaltung 58 geführt, die in dieser Ausgestaltung als Kompaktor 59 mit nachgeschaltetem Mehrfach-Eingangssignaturanalysator MISA 510 realisiert ist. An dem zweiten r = 1 Bit breiten Eingang des MISAs 510 liegt das durch das OR-Gatter 52 erzeugt Fehlersignal an. In dem MISA 510 werden die zu den Zeitpunkten, in den das durch das OR-Gatter 52 erzeugte Fehlersignal gleich 0 ist, anliegenden, d. h. die durch den Kompaktor 59 kompaktierten Testresponsewerte Komp[R(Ti)'] zu einer Signatur aufakkumuliert. Stimmt die tatsächlich bestimmte Signatur mit einer im fehlerfreien Fall erwarteten Signatur überein, dann wird kein Fehler in dem Decoder erkannt. Stimmt die tatsächlich bestimmte Signatur des MISA 45 nicht mit der erwarteten Signatur überein, dann wird ein Fehler erkannt.The M = n bit wide output of the decoder 57 is in the first, n-bit wide input of an evaluation circuit 58 led, in this embodiment as Kompaktor 59 with downstream multiple input signature analyzer MISA 510 is realized. At the second r = 1 bit wide input of the MISA 510 this is due to the OR gate 52 generates error signal. In the MISA 510 at the times in which that through the OR gate 52 generated error signal is equal to 0, adjacent, ie by the Kompaktor 59 compacted test response values Komp [R (T i ) '] accumulated into a signature. If the actually specified signature matches a signature expected in the error-free case, then no error is detected in the decoder. Is true the specific signature of the MISA 45 does not match the expected signature, then an error is detected.

Zu den Zeitpunkten, in denen das OR-Gatter 52 den Wert 1 ausgibt und anzeigt, dass ein Syndrom s(v') ≠ 0 von dem Syndromgenerators S1 51 ausgegeben wurde, liegt am Eingang des Decoders 57 der Wert s(v') des Syndroms an und der Decoder gibt an seinem n-Bit breiten Ausgang einen n-stelligen binären Korrekturwert aus, der in den Bits 1 ist, die durch den Code C korrigiert werden.At the times when the OR gate 52 outputs the value 1 and indicates that a syndrome s (v ') ≠ 0 from the syndrome generator S1 51 output is at the input of the decoder 57 the value s (v ') of the syndrome and the decoder outputs at its n-bit wide output an n-ary binary correction value which is in bits 1 which are corrected by the code C.

Handelt es sich beispielsweise bei dem Code C um einen 2-Bit fehlerkorrigierenden Code, dann ist es möglich, dass ein einzelnes Bit oder zwei Bit korrigiert werden. Der n-stellige codierte Wert v' liegt auch an den jeweils n ersten Eingängen der n XOR-Gatter 512 mit jeweils zwei Eingängen und einem Ausgang an. Der n-stellige Korrekturwert, der von dem Decoder 57 ausgegeben wird, liegt auch an dem jeweils ersten Eingang der n AND-Gatter 511 mit jeweils zwei Eingängen und einem Ausgang an, deren jeweils zweiter Eingang mit dem Ausgang des OR-Gatters 52 verbunden ist. Die n Ausgänge der n AND-Gatter sind mit den jeweils n zweiten Eingängen der n XOR-Gatter 511 verbunden, an deren n Bit breiten Ausgängen der korrigierte Wert vcorr ausgegeben wird.For example, if the code C is a 2-bit error-correcting code, then it is possible to correct a single bit or two bits. The n-digit coded value v 'is also present at the respective n first inputs of the n XOR gates 512 with two inputs and one output. The n-digit correction value provided by the decoder 57 is also present at the respective first input of the n AND gate 511 each with two inputs and one output, whose second input to the output of the OR gate 52 connected is. The n outputs of the n AND gates are connected to the respective n second inputs of the n XOR gates 511 connected, whose n bits wide outputs the corrected value v corr is output.

Ist s = 0, und wird damit kein Fehler an dem Fehlersyndrom erkannt, dann gibt das OR-Gatter 52 den Wert 0 aus und an den zweiten Eingängen der n XOR-Gatter 512 liegt jeweils der Wert 0 an, so dass v' unverändert als vcorr = v' ausgegeben wird. Ist andererseits s ≠ 0 dann gibt das OR-Gatter 52 den Wert 1 aus. An den m Eingängen des Decoders 57 liegt dann das m Bit breite Syndrom s(v') an, da die AND-Gatter 532 den m-stelligen Wert 0 ausgegeben, sodass die m XOR-Gatter 531 an ihren Ausgängen das Fehlersyndrom s(v') ausgeben, das an den Eingängen des Decoders 57 anliegt. Der Decoder 57 gibt an seinen n Ausgängen die entsprechenden Korrekturwerte aus, die über die n AND-Gatter 511 in den n XOR-Gattern 512 zu dem korrigierten Wert vcorr verknüpft werden. Sind die Fehler in v' durch den gewählten Code C korrigierbar, dann ist vcorr fehlerfrei.If s = 0 and no error is detected on the error syndrome, then the OR gate returns 52 0 and at the second inputs of the n XOR gates 512 in each case the value 0 is applied so that v 'is output unchanged as v corr = v'. On the other hand, if s ≠ 0, then there is the OR gate 52 the value 1 off. At the m inputs of the decoder 57 Then there is the m-bit syndrome s (v '), since the AND gates 532 the m-digit value 0 is output so that the m XOR gates 531 output at their outputs the error syndrome s (v ') at the inputs of the decoder 57 is applied. The decoder 57 Outputs at its n outputs the corresponding correction values that are passed through the n AND gates 511 in the n XOR gates 512 be linked to the corrected value v corr . If the errors in v 'can be corrected by the chosen code C, then v corr is error-free.

Die Auswerteschaltung 58 besteht in der speziellen Ausgestaltung aus einem Kompaktor 59 und einem nachgeschalteten Multi-Input-Signatur Analyser MISA 510. Der Kompaktor 59 bildet einen n Bit breiten Eingabewert auf einen nur n' Bit breiten Ausgabewert ab, wobei n' < n gilt. Der Kompaktor 59 kann im einfachsten Fall ein Paritäts-Baum mit n Eingängen und einem Ausgang sein. In diesem Falle ist n' = 1. Ebenso können auch n', mit n' > 1, Paritätsbäume realisiert sein. Auch ist es möglich, dass der Kompaktor 59 Speicherelemente aufweist. Ist der Ausgabewert des OR-Gatters 52 gleich 0, dann werden in dem MISA die von dem Decoder 57 ausgegebenen Responsewerte R(Ti) und von dem Kompaktor 59 kompaktierten Werte in dem MISA aufakkumuliert. Ist das Syndrom s(v') ≠ 0 und wird damit ein Fehler erkannt, dann wird in dem MISA kein an seinen Eingängen anliegender Wert akkumuliert. The evaluation circuit 58 consists in the special embodiment of a Kompaktor 59 and a downstream multi-input signature analyzer MISA 510 , The compactor 59 maps an n-bit input to a n-bit wide output, where n '<n. The compactor 59 In the simplest case, it can be a parity tree with n inputs and one output. In this case, n '= 1. Similarly, n', with n '> 1, parity trees can be realized. Also it is possible that the compactor 59 Has memory elements. Is the output value of the OR gate 52 equals 0, then in the MISA those of the decoder 57 output response values R (T i ) and from the Kompaktor 59 compacted values in the MISA accumulated. If the syndrome is s (v ') ≠ 0 and an error is detected, the MISA does not accumulate any value at its inputs.

Der Testsequenzbereitsteller 120 wird durch das OR-Gatter 52, das XOR-Gatter 531, das AND-Gatter 532 und den Testeingangsgenerator 56, die Auswerteschaltung 58 durch den Kompaktor 59 und den Mehrfach-Eingangssignaturanalysator 510 und die Korrektureinheit durch das AND-Gatter 511 und das XOR-Gattern 512 gebildet.The test sequence provider 120 is through the OR gate 52 , the XOR gate 531 , the AND gate 532 and the test input generator 56 , the evaluation circuit 58 through the compactor 59 and the multiple input signature analyzer 510 and the correction unit through the AND gate 511 and the XOR gate 512 educated.

9 stellt eine weitere Schaltungsanordnung 900 nach dem vorgeschlagenen Konzept dar. 9 represents a further circuit arrangement 900 according to the proposed concept.

An dem n Bit breiten Eingang eines Syndromgenerators S1 61 liegen die codierten Werte v' = v'1, ..., v'n eines linearen fehlerkorrigierenden Codes C der Länge n mit einem m-dimensionalen Fehlersyndrom an. Die H-Matrix des Codes C sei wieder mit H bezeichnet. Am m Bit breiten Ausgang des Syndromgenerators 61 wird das Syndrom s(v') ausgegeben, dass hier nach der Beziehung s(v') = H·v'T gebildet wird. Ist v' ein Codewort, dann ist das Syndrom gleich 0, ist hingegen v' kein Codewort, dann ist das Syndrom ungleich 0, wobei 0

Figure DE102011080659B4_0016
bedeutet.At the n bit wide input of a syndrome generator S1 61 For example, the coded values v '= v' 1 ,..., v ' n of a linear error-correcting code C of length n with an m-dimensional error syndrome are applied. The H matrix of the code C is again denoted by H. At the m bit wide output of the syndrome generator 61 the syndrome s (v ') is spent here after the relationship s (v ') = Hv' T is formed. If v 'is a codeword, then the syndrome is 0, but if v' is not a codeword then the syndrome is not 0, where 0
Figure DE102011080659B4_0016
means.

Der Ausgang des Syndromgenerators S1 61 ist in den m Bit breiten Eingang der Schaltung zur Fehlererkennung S2 62 und gleichzeitig in den m Bit breiten ersten Eingang der Teilschaltung S5 63 geführt. Die Schaltung zur Fehlererkennung S2 62 gibt an ihrem r = 1 Bit breiten Ausgang unterschiedliche Fehlersignale aus, wenn an ihrem m Bit breiten Eingang ein Syndrom eines Codewortes des Codes C oder ein Syndrom eines Nicht-Codewortes des Codes C anliegt. Der r = 1 Bit breite Ausgang des Schaltung zur Fehlererkennung ist in den dritten r Bit breiten Eingang der Teilschaltung S5 und in den Eingang einer Schaltung zur Erzeugung von Testinputs TIG 612 geführt. Die Schaltung zur Erzeugung von Testinputs erzeugt immer dann einen Testinput Ti, wenn die Schaltung zur Fehlererkennung einen Wert ausgibt, der einem Syndrom eines Codewortes des Codes C entspricht. Der den Wert Ti tragende Ausgang der Schaltung TIG 612 ist mit dem zweiten m Bit breiten Eingang der Teilschaltung S5 63 verbunden. Wird ein Fehlersignal, das einem Codewort des Codes C entspricht von der Schaltung zur Fehlererkennung S2 12 ausgegeben, dann wird an dem dritten m Bit breiten Eingang der Teilschaltung S5 63 ein Testvektor Ti eingegeben.The output of the syndrome generator S1 61 is in the m bit wide input of the error detection circuit S2 62 and at the same time in the m-bit-wide first input of the subcircuit S5 63 guided. The circuit for error detection S2 62 outputs different error signals at its r = 1-bit wide output if a code word codeword syndrome or a code C non-codeword syndrome is present at its m-bit input. The r = 1 bit wide output of the error detection circuit is in the third r bit wide input of the subcircuit S5 and in the input of a test input generating circuit TIG 612 guided. The test input generating circuit always generates a test input Ti when the error detection circuit outputs a value corresponding to a code word code word syndrome. The output of the circuit TIG carrying the value T i 612 is the second m bit wide input of the subcircuit S5 63 connected. If an error signal which corresponds to a code word of the code C from the error detection circuit S2 12 is output, then at the third m bit wide input of the subcircuit S5 63 entered a test vector Ti.

Die Teilschaltung S5 63 ist so konfiguriert, dass sie an ihrem m-Bit breiten Ausgang den Wert ausgibt, der an ihrem ersten Eingang anliegt, wenn das Fehlersignal, das von der zweiten Teilschaltung S2 62 ausgegeben wird, einem Syndrom eines Nicht-Codewortes des Codes C entspricht und den Wert Ti ausgibt, wenn das Fehlersignal das von dieser Teilschaltung ausgegeben wird, einem Syndrom eines Codewort des Codes C entspricht.The subcircuit S5 63 is configured to output at its m-bit wide output the value applied to its first input when the error signal from the second sub-circuit S2 62 outputting a syndrome of a code C non-codeword and outputting the value T i when the error signal output from this subcircuit corresponds to a syndrome of a codeword of the code C.

Der Testsequenzbereitsteller wird durch die Teilschaltung S2, die Teilschaltung S5 und den Testeingangsgenerator TIG 612 gebildet.The test sequence provider is controlled by the sub-circuit S2, the sub-circuit S5 and the test input generator TIG 612 educated.

Der Ausgang der Teilschaltung S5 63 ist gleichzeitig in den Eingang eines Decoders 642 und in den Eingang eines Fehlertypbestimmers 641 geführt. Der n Bit breite Ausgang des Decoders 642 ist in die jeweils ersten Eingänge von n XOR-Gattern 66 mit jeweils 2 Eingängen und einem Ausgang geführt, an deren jeweils zweiten Eingängen die codierten Werte v'1, ..., v'n anliegen, die auch am Eingang des Syndromgenerators S1 61 anliegen. Ist v' = v'1, ..., v'm ein Codewort, dann ist das von Syndromgenerator S1 61 erzeugte Syndrom s(v') = 0 und der Ausgang der Teilschaltung S5 63 ist mit ihrem zweiten, den Testinput Ti tragenden Eingang verbunden, so dass am Eingang des Decoders 642 der Testinput Ti anliegt. Vom Decoder 642 wird der entsprechende Testausgangssignal R'(Ti) ausgegeben und in den XOR-Gattern 66 zu v' ⊕ R(Ti)' modulo 2 addiert und an den n Ausgängen dieser n XOR-Gatter ausgegeben.The output of the subcircuit S5 63 is simultaneously in the input of a decoder 642 and to the input of an error type determiner 641 guided. The n bit wide output of the decoder 642 is in each of the first inputs of n XOR gates 66 each having two inputs and one output, at whose respective second inputs the coded values v ' 1 ,..., v' n are present, which are also present at the input of the syndrome generator S1 61 issue. If v '= v' 1 , ..., v ' m is a codeword then that of syndrome generator S1 61 generated syndrome s (v ') = 0 and the output of the subcircuit S5 63 is connected to its second input carrying the test input T i , so that at the entrance of the decoder 642 the test input T i is present. From the decoder 642 the corresponding test output signal R '(T i ) is output and in the XOR gates 66 is added to v '⊕ R (T i )' modulo 2 and output at the n outputs of these n XOR gates.

Diese Ausgänge sind in die jeweils n ersten Eingänge von weiteren n XOR-Gatter 67 mit jeweils zwei Eingängen und einem Ausgang geführt, an deren jeweils zweite Eingänge die Ausgänge von n AND-Gattern 68 mit jeweils zwei Eingängen und einem Ausgang angeschlossen sind. An dem jeweils ersten Eingang dieser AND-Gatter 68 liegt das von der Fehlererkennungsschaltung S2 62 ausgegebene Fehlersignal E1 an, dass, da ein Codewort vorliegt, gleich 1 ist. Die jeweils zweiten Eingänge dieser AND-Gatter sind mit dem Eingang eines Testresponsegenerators TRG 610 verbunden, dessen Eingang ebenfalls mit dem das Fehlersignal E1 tragenden Ausgang der Fehlererkennungsschaltung S2 62 verbunden ist. Ist E1 = 1, dann wird der bei Eingabe des Testinputs Ti von Decoder 642 ausgegebene fehlerfreie Testausgangssignal R(Ti) von dem Testresponsegenerator TIG 610 ausgegeben, der in den XOR-Gattern 67 mit v' ⊕ R(Ti)' zu vcorr = v' ⊕ R(Ti)' ⊕ R(Ti) These outputs are in the respective n first inputs of further n XOR gates 67 each having two inputs and one output, at their respective second inputs the outputs of n AND gates 68 each with two inputs and one output are connected. At the respective first input of these AND gates 68 is that of the error detection circuit S2 62 outputted error signal E 1 that, since there is a code word, is equal to 1. The respective second inputs of these AND gates are connected to the input of a test response generator TRG 610 whose input is also connected to the error signal E 1 supporting the output of the error detection circuit S2 62 connected is. If E 1 = 1, then the input of the test input T i of decoder 642 outputted error-free test output R (T i ) from the test response generator TIG 610 spent in the XOR gates 67 with v '⊕ R (T i )' v corr = v '⊕ R (T i )' ⊕ R (T i )

XOR-verknüpft und an den n Ausgangsleitungen dieser n XOR-Gatter 66 bereitgestellt wird.XOR and on the n output lines of these n XOR gates 66 provided.

Der n-stellige Ausgang dieser n XOR-Gatter ist in den Eingang eines Codeprüfers 69 geführt und direkt mit dem den Wert vcorr tragenden Schaltungsausgang verbunden. Der Codeprüfer 69 prüft, ob vcorr ein Codewort des Codes C ist. Gilt R(Ti) = R(Ti)', dann ist vcorr = v'. Der Codeprüfer kann beispielsweise als Syndromgenerator des Codes C mit n Eingängen und m Ausgängen realisiert sein, der an seinen m Ausgängen das Fehlersyndrom s(vcorr) ausgibt, und dem eine OR-Verknüpfung seiner Ausgangsleitungen nachgeschaltet ist. Es können aber von dem Codeprüfer auch nur einige Komponenten des Fehlersyndroms realisiert sein. Da dem Fachmann der Entwurf von Codeprüfern bekannt ist und die spezielle Form des Codeprüfers auch nicht Gegenstand der Patentansprüche ist, soll das hier nicht weiter ausgeführt werden.The n-digit output of these n XOR gates is in the input of a code checker 69 and directly connected to the v corr bearing circuit output. The code checker 69 checks if v corr is a codeword of the code C. If R (T i ) = R (T i ) ', then v corr = v'. The code checker can be realized, for example, as a syndrome generator of the code C with n inputs and m outputs, which outputs the error syndrome s ( vcorr ) at its m outputs and which has an OR connection of its output lines. However, only a few components of the error syndrome can be realized by the code checker. Since the person skilled in the design of code reviewers is known and the special form of the Code Tester is not the subject of the claims, this should not be further elaborated here.

Ist vcorr kein gültiges Codewort, dann ist R(Ti) ≠ R(Ti)' und bei Eingabe des Testinputs Ti wird ein Fehler in dem Decoder erkannt.If v corr is not a valid codeword, then R (T i ) ≠ R (T i ) 'and upon input of the test input T i an error in the decoder is detected.

Die Auswerteschaltung 14 von 3 ist hier als Schaltung 652 realisiert, die aus den Schaltungskomponenten 66, 67, 68 und 69 besteht. Dabei ist die Korrektureinheit 240 durch die Schaltungskomponenten 66, 67 gebildet und Teil der Auswerteschaltung.The evaluation circuit 14 from 3 is here as a circuit 652 realized from the circuit components 66 . 67 . 68 and 69 consists. Here is the correction unit 240 through the circuit components 66 . 67 formed and part of the evaluation circuit.

Allgemein ausgedrückt, die Korrektureinheit kann basierend auf einer logischen XOR-Verknüpfung des Korrektursignals mit dem codierten Binärwort v' ein bearbeitetes Testausgangssignal erzeugen und der Auswerteeinheit bereitstellen. Allgemein kann eine logische XOR-Verknüpfung durch ein XOR-Logikgatter realisiert werden.Generally speaking, the correction unit can generate a processed test output signal based on a logical XOR combination of the correction signal with the coded binary word v 'and provide the evaluation unit. In general, a logical XOR operation can be realized by an XOR logic gate.

In allgemeinen Worten ausgedrückt, die Auswerteeinheit kann einen Codeprüfer aufweisen. Zusätzlich kann die Korrektureinheit das bearbeitete Testausgangssignal basierend auf einer logischen XOR-Verknüpfung eines erwarteten Referenztestsignals R(Ti) mit dem Ergebnis der logischen XOR-Verknüpfung des Korrektursignals e mit dem codierten Binärwort v' erzeugen, wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Der Codeprüfer erzeugt dann ein Fehlersignal, das anzeigt, ob das bearbeitete Testausgangssignal ein Codewort des Fehlerkorrekturcodes C ist.In general terms, the evaluation unit can have a code checker. In addition, the correction unit may generate the processed test output based on a logical XOR of an expected reference test signal R (T i ) resulting in XORing the correction signal e with the coded binary word v 'when the error syndrome bit sequence indicates s (v') in that the coded binary word v 'is a codeword of the error correction code C. The code checker then generates an error signal indicating whether the processed test output is a codeword of the error correction code C.

Der Ausgang der Teilschaltung S5 ist darüber hinaus in den Eingang eines Fehlertypbestimmers 641 geführt, der an seinem r Bit breitem Ausgang unter Verwendung der Werte des Fehlersyndroms s(v') anzeigt, welcher Typ eines Fehlers vorliegt. Der r Bit breite Ausgang dieses Fehlertypbestimmers 641 ist in einen ersten, r Bit breiten Eingang einer ersten Auswerteschaltung 651 geführt, an deren zweiten, hier 1-Bit breiten Eingang das Fehlersignal E1 eingegeben wird, das von der Teilschaltung zur Fehlererkennung S2 62 ausgegeben wird. Darüber hinaus ist es möglich, dass zusätzliche Ausgänge des Fehlertypbestimmers 641, die etwa der Verbesserung der Testbarkeit des Fehlertypbestimmers 641 dienen, verwendet werden, die ebenfalls in zusätzliche Eingänge der Auswerteschaltung geführt werden. Die Auswerteschaltung 652 kann beispielsweise ein Multi-Input Signaturanalyser MISA sein, das immer dann die vom Fehlertypbestimmer erzeugten Testausgangssignalwerte (Testresponsewerte) aufakkumuliert, wenn von der Teilschaltung S2 zur Fehlererkennung angezeigt wird, dass an ihrem Eingang das Syndrom eines Codewortes anliegt.The output of the subcircuit S5 is also in the input of an error type determiner 641 which indicates at its r bit wide output using the values of the error syndrome s (v ') which type of error is present. The r bit wide output of this error type determiner 641 is in a first, r bit wide input of a first evaluation circuit 651 led to the second, here 1-bit wide input the error signal E1 is input, that of the sub-circuit for error detection S2 62 is issued. In addition, it is possible that additional outputs of the error type determiner 641 , which is about improving the testability of the error type determiner 641 serve, are used, which are also performed in additional inputs of the evaluation circuit. The evaluation circuit 652 For example, a multi-input signature analyzer MISA may be used which accumulates the test output signal values (test response values) generated by the error type determiner whenever the subcircuit S2 for error detection indicates that the syndrome of a codeword is present at its input.

In 9 ist nur ein Testinputgenerator TIG 612 eingezeichnet. Ebenso ist es möglich zwei oder mehrere Testinputgeneratoren zu verwenden, wobei der erste Testinputgenerator Testinputs für den Fehlertypbestimmer 641 generiert und der zweite Testinputgenerator Testinputs für den Decoder 642 generiert. In 9 is just a test input generator TIG 612 located. It is also possible to use two or more test input generators, with the first test input generator providing test inputs for the error type determiner 641 generated and the second test input generator test inputs for the decoder 642 generated.

10 zeigt eine weitere mögliche Realisierung 1000 der Auswerteschaltung 14 von 3 die beispielsweise die Auswerteschaltung 652 von 9 ersetzen kann. Der Ausgang des Decoders 742 ist in die jeweils ersten Eingänge von n XOR-Gattern 76 mit jeweils zwei Eingängen und einem Ausgang geführt, deren jeweils zweite Eingänge mit den n Leitungen verbunden sind, die die codierten Werte n führen und die gleichzeitig mit den n ersten Eingängen eines Multiplexers MUX 71 verbunden sind. Der n Bit breite Ausgang der n XOR-Gatter 76 ist gleichzeitig in den n Bit breiten Eingang eines Codeprüfers 72 und in die zweiten n Eingänge des Multiplexers MUX 71 geführt, der an seinem Eingang den Wert Vcorr ausgibt und an dessen Steuereingang das Fehlersignal E1, welches am Ausgang der Schaltung zur Fehlererkennung S2 62 in 9 ausgegeben wird. 10 shows another possible realization 1000 the evaluation circuit 14 from 3 for example, the evaluation circuit 652 from 9 can replace. The output of the decoder 742 is in each of the first inputs of n XOR gates 76 each having two inputs and one output, whose respective second inputs are connected to the n lines which carry the coded values n and which are simultaneously connected to the n first inputs of a multiplexer MUX 71 are connected. The n bit wide output of the n XOR gates 76 is simultaneously in the n bit wide input of a code checker 72 and in the second n inputs of the multiplexer MUX 71 guided, which outputs at its input the value V corr and at whose control input the error signal E1, which at the output of the circuit for error detection S2 62 in 9 is issued.

Die Auswerteschaltung 130 umfasst in dem Beispiel den Codeprüfer 72 und den MISA 73 und die Korrektureinheit 240 umfasst das XOR-Gatter 76 und den Multiplexer 71.The evaluation circuit 130 includes in the example the code checker 72 and the MISA 73 and the correction unit 240 includes the XOR gate 76 and the multiplexer 71 ,

Ist v' ein Codewort des betrachteten Codes C, dann ist das Fehlersignal E1 in 9 gleich 0 und in den Decoder 742 wird das Testinputsignal Ti eingegeben. Der Decoder 742 gibt das Testresponssignal R(Ti)' aus. Am Ausgang der XOR-Gatter 76 liegt der Wert v' ⊕ R(Ti)' an, der in den Codeprüfer 72 eingegeben wird. Der Multiplexer MUX 71 verbindet seinen ersten Eingang mit seinem Ausgang, an dem der Wert vcorr = v' anliegt. Der Codeprüfer ist beispielsweise als Syndromgenerator des linearen Codes C ausgeführt. Er gibt dann an seinem m Bit breiten Ausgang den Wert Codepr(v' ⊕ R(Ti)') = Codepr(v') ⊕ Codepr(R(Ti)') = Codepr(R(Ti)') der nur von R(Ti)' abhängt und der in den Takten, in denen E1 gleich 0 ist, in dem MISA 73 zu einer Signatur akkumuliert wird.If v 'is a codeword of the considered code C, then the error signal E 1 is in 9 equal to 0 and in the decoder 742 the test input signal T i is input. The decoder 742 outputs the test response signal R (T i ) '. At the output of the XOR gate 76 is the value v '⊕ R (T i )' in the code checker 72 is entered. The multiplexer MUX 71 connects its first input to its output, to which the value v corr = v 'is applied. The code checker is executed, for example, as a syndrome generator of the linear code C. It then gives the value at its m bit wide output C odepr (v '⊕ R (T i )') = C odepr (v ') ⊕ C odepr (R (T i )') = C odepr (R (T i ) ') which depends only on R (T i ) 'and which in the cycles where E 1 equals 0 in the MISA 73 accumulated to a signature.

Ist v' kein Codewort des betrachteten Codes C, dann ist das Fehlersignal E1 gleich 1. Am Eingang des Decoders 742 liegt dann der Wert v' an. Der Decoder gibt dann Korrekturwerte e1, ..., en aus, die zu einem n-stelligen Korrekturvektor e = e1, ..., en, zusammengefasst werden. Der Korrekturvektor e wird in den XOR-Gattern 76 mit v' zu v' ⊕ e = vcorr verknüpft. Da das Fehlersignal E1 gleich 1 ist, wird der zweite Eingang des Multiplexers MUX 71 mit seinem Ausgang verknüpft, auf dem nun vcorr = v' ⊕ e ausgegeben wird. Der vom Codeprüfer 72 ausgegebene Wert Codepr(v' ⊕ e) wird im MISA ignoriert und nicht akkumuliert, da E1 = 1 ist.If v 'is not a codeword of the considered code C, then the error signal E 1 is equal to 1. At the input of the decoder 742 then the value v 'is applied. The decoder then outputs correction values e 1 ,..., E n , which are combined to form an n-digit correction vector e = e 1 ,..., E n . The correction vector e is in the XOR gates 76 linked to v 'to v' ⊕ e = v corr . Since the error signal E1 is equal to 1, the second input of the multiplexer becomes MUX 71 linked to its output, on which now v corr = v '⊕ e is output. The one by the code checker 72 output value C odepr (v '⊕ e) is ignored in the MISA and not accumulated since E 1 = 1.

11 zeigt eine weitere Ausgestaltung einer Schaltungsanordnung bei der die Matrix K = Hmod aus der Paritätsprüfmatrix H = (h1, ..., hn) dadurch abgeleitet ist, dass q Spalten hi1, ..., hiq) komponentenweise invertiert sind. Die Teilschaltung f 810 realisiert die Funktion f(v'1, ..., v'n) = v'i1 ⊕ ... ⊕ vig deren q Eingänge mit den q Eingängen des Syndrombildners S1 81 verbunden sind, die die Komponenten vi1, ..., viq tragen. Der m-komponentige Ausgang des Syndrombildners S1 81 ist gleichzeitig mit den m Eingängen eines OR-Gatters 821 mit m Eingängen und einem Ausgang, einem AND-Gatter 822 mit m Eingängen und einem Ausgang und den m jeweils ersten Eingängen von m XOR-Gattern 831 mit jeweils zwei Eingängen und einem Ausgang verbunden. Die den binären Wert E1 und E2 führenden Ausgänge des OR-Gatters 821 und des AND-Gatters 822 sind sowohl in den ersten und zweiten Eingang eines XOR-Gatters 823 und in den ersten und zweiten Eingang eines Test-Input Generators TIG 85 als auch in die ersten beiden Eingänge einer Auswerteschaltung 89 geführt. 11 shows a further embodiment of a circuit arrangement in which the matrix K = H mod from the parity check matrix H = (h1, ..., h n ) is derived by q columns h i1 , ..., h iq ) are component-inverted. The subcircuit f 810 realizes the function f (v ' 1 , ..., v' n ) = v ' i1 ⊕ ... ⊕ v ig whose q inputs are connected to the q inputs of the syndrome former S1 81 are connected, which carry the components v i1 , ..., v iq . The m-component output of the syndrome former S1 81 is simultaneous with the m inputs of an OR gate 821 with m inputs and one output, an AND gate 822 with m inputs and one output and the m each first inputs of m XOR gates 831 connected to two inputs and one output. The outputs of the OR gate carrying the binary values E 1 and E 2 821 and the AND gate 822 are both in the first and second input of an XOR gate 823 and in the first and second input of a test input generator TIG 85 as well as in the first two inputs of an evaluation circuit 89 guided.

Der Ausgang des Testinput Generators TIG 85 ist mit den jeweils ersten Eingängen von m AND-Gattern 832 mit jeweils zwei Eingängen und einem Ausgang verbunden, mit deren jeweils zweiten Eingängen der negierte Ausgang des XOR-Gatters 823 verbunden ist, der gleichzeitig unnegiert an den jeweils ersten Eingang von n AND-Gattern 88 mit jeweils zwei Eingängen und einem Ausgang angeschlossen ist. Die jeweils zweiten Eingängen der XOR-Gatter 831 sind mit den Ausgängen der AND-Gatter 832 verbunden. Die m Ausgänge der m XOR-Gatter 831 sind in die jeweils m ersten Eingänge der m XOR-Gatter 84 mit jeweils zwei Eingängen und jeweils einem Ausgang geführt, deren jeweils zweite Eingänge an den Ausgang der Schaltung zur Bildung der Funktion f 810 angeschlossen sind. Die m Ausgänge der m XOR-Gatter 84 sind mit den m Eingängen eines Decoders 86 verbunden, der an seinen n Ausgängen den n komponentigen Korrekturwert bereitstellt, wobei die n Ausgänge des Decoders 86 gleichzeitig mit den n dritten Eingängen der Auswerteschaltung 89 verbunden sind. Die n Ausgänge der n AND-Gatter 88 sind in die n jeweils ersten Eingänge der n XOR-Gatter 87 geführt sind, an deren n erste Eingänge die Werte v' = v'1, ..., v'n führenden Eingangsleitungen angeschlossen sind, und deren Ausgangsleitungen den korrigierten Wert vcorr ausgeben.The output of the test input generator TIG 85 is with the respective first inputs of m AND gates 832 connected to two inputs and one output, with their respective second inputs of the negated output of the XOR gate 823 which is at the same time unnegated to the respective first input of n AND gates 88 is connected with two inputs and one output. The second inputs of the XOR gates 831 are with the outputs of the AND gates 832 connected. The m outputs of the m XOR gates 831 are in the m first inputs of the m XOR gates 84 each having two inputs and one output each having its second inputs connected to the output of the circuit for forming the function f 810 are connected. The m outputs of the m XOR gates 84 are with the m inputs of a decoder 86 connected, which provides at its n outputs the n-component correction value, wherein the n outputs of the decoder 86 simultaneously with the n third inputs of the evaluation circuit 89 are connected. The n outputs of the n AND gates 88 are in each of the n first inputs of the n XOR gates 87 at whose n first inputs the values v '= v' 1 , ..., v ' n are connected to leading input lines and whose output lines output the corrected value v corr .

Die Korrektureinheit 240 umfasst in diesem Beispiel das AND-Gatter 88 und das XOR-Gatter 87 und der Testsequenzbereitsteller 120 umfasst die Schaltung zur Bildung der Funktion f 810, das XOR-Gatter 84, das OR-Gatter 821, das AND-Gatter 822, das XOR-Gatter 831, das XOR-Gatter 823, das AND-Gatter 832 und den Testeingangsgenerator 85, wobei die Schaltung zur Bildung der Funktion f 810 und das XOR-Gatter 84 einen Bitsequenzinvertierer des Testsequenzbereitstellers 120 bilden.The correction unit 240 in this example includes the AND gate 88 and the XOR gate 87 and the test sequence provider 120 includes the circuit for forming the function f 810 , the XOR gate 84 , the OR gate 821 , the AND gate 822 , the XOR gate 831 , the XOR gate 823 , the AND gate 832 and the test input generator 85 wherein the circuit for forming the function f 810 and the XOR gate 84 a bit sequence inverter of the test sequence provider 120 form.

Zum besseren Verständnis soll nun die Funktionsweise der Schaltungsanordnung von 11 beschrieben werden.For a better understanding, the operation of the circuit arrangement of 11 to be discribed.

Ist v' ein Codewort, dann gibt der Syndromgenerator S1 81 den Wert

Figure DE102011080659B4_0017
aus, wenn f(v') = 0 ist und den Wert
Figure DE102011080659B4_0018
aus, wenn f(v') = 1 ist. Wir betrachten zunächst den Fall f(v') = 0. Es gilt E1 = E2 = 0, E = 0 und der Testinput-Generator TIG gibt einen Wert Ti aus, der, geleitet über die AND-Gatter 832, die XOR-Gatter 831 und 84 am Eingang des Decoders 86 anliegt. Da der das Fehlersignal E tragende Ausgang des XOR-Gatters 823 gleich 0 ist, gilt vcorr = v'. Der Decoder gibt den Wert R(Ti)' aus, der in der Auswerteschaltung 89 akkumuliert wird.If v 'is a codeword then the syndrome generator gives S1 81 the value
Figure DE102011080659B4_0017
off if f (v ') = 0 and the value
Figure DE102011080659B4_0018
off if f (v ') = 1. We first consider the case f (v ') = 0. E 1 = E 2 = 0, E = 0, and the test input generator TIG outputs a value T i , which is passed through the AND gates 832 , the XOR gate 831 and 84 at the entrance of the decoder 86 is applied. Since the output of the XOR gate carrying the error signal E 823 is 0, v corr = v '. The decoder outputs the value R (T i ) 'in the evaluation circuit 89 is accumulated.

Es sei nun f(v') = 1. Der Syndromgenerator S1 81 gibt nun den Wert

Figure DE102011080659B4_0019
aus, der an den m Eingängen des OR-Gatters 821 und an den m Eingängen des AND-Gatters 822 anliegt, so dass diese beiden Gatter die Werte E1 = E2 = 1 ausgeben, die in dem XOR-Gatter 823 zu 0 verknüpft werden, so dass an den m Ausgängen der m AND-Gatter 832 jeweils der Wert Ti anliegt und in den m XOR-Gattern 831 zu (1, ..., 1) ⊕ Ti und in den XOR-Gattern 84 zu (1, ..., 1) ⊕ Ti ⊕ (1, ..., 1) = Ti verknüpft wird, so dass der Testinput Ti in den Eingang des Decoders 86 eingegeben wird, der an seinem Ausgang den Testresponsewert R(Ti)' ausgibt, der in die Auswerteschaltung 89 zur Auswertung eingegeben wird. Da der von dem XOR-Gatter ausgegebene Wert E = 0 ist, wird von den Ausgängen der AND-Gatter 88 der Wert
Figure DE102011080659B4_0020
ausgegeben, und es gilt v' = vcorr.Now let f (v ') = 1. The syndrome generator S1 81 now gives the value
Figure DE102011080659B4_0019
off, at the m entrances of the OR gate 821 and at the m entrances of the AND gate 822 is applied so that these two gates output the values E 1 = E 2 = 1, which in the XOR gate 823 are linked to 0 so that at the m outputs of the m AND gate 832 in each case the value T i is present and in the m XOR gates 831 to (1, ..., 1) ⊕ T i and in the XOR gates 84 to (1, ..., 1) ⊕ T i ⊕ (1, ..., 1) = T i is linked, so that the test input T i in the input of the decoder 86 is input, which outputs at its output the Testresponsewert R (T i ) ', which in the evaluation circuit 89 is entered for evaluation. Since the value E = 0 output from the XOR gate becomes the outputs of the AND gates 88 the value
Figure DE102011080659B4_0020
and v '= v corr .

Ist v' nun kein Codewort, dann ist das von dem Syndromgenerator S1 81 generierte Syndrom s(v') ungleich

Figure DE102011080659B4_0021
und ebenfalls ungleich
Figure DE102011080659B4_0022
If v 'is now no code word, then this is from the syndrome generator S1 81 generated syndrome s (v ') unequal
Figure DE102011080659B4_0021
and also unequal
Figure DE102011080659B4_0022

Damit gilt E1 ≠ E2 und damit E = 1. Das Syndrom s(v') wird unverändert von den XOR-Gattern 831 ausgegeben und in den XOR-Gattern 84 dann invertiert, wenn f(v') = 1 ist, so dass das Syndrom nun so an dem Decoder anliegt, als ob es von der Paritätsprüfmatrix H des Codes C nach der Beziehung s(v')T = H·v' bestimmt worden wäre. Im Decoder 86 werden die zu korrigierenden Bits bestimmt, die zu dem Korrekturvektor e zusammengefasst werden können, die wegen E = 1 durch die AND-Gatter 88 ausgegeben werden und in den XOR-Gattern 87 zu v' ⊕ e = vcorr modulo 2 addiert werden. In der Auswerteschaltung 89 werden die von dem Decoder 86 ausgegebenen Werte nicht ausgewertet, da E1 ≠ E2 gilt.Thus, E 1 ≠ E 2 and thus E = 1. The syndrome s (v ') is unchanged from the XOR gates 831 output and in the XOR gates 84 then inverted when f (v ') = 1, so that the syndrome is now applied to the decoder as if it were from the parity check matrix H of the code C after the relationship s (v ') T = H * v' would have been determined. In the decoder 86 the bits to be corrected are determined which can be combined to form the correction vector e, which, because of E = 1, is passed through the AND gates 88 and in the XOR gates 87 to v '⊕ e = v corr modulo 2. In the evaluation circuit 89 be the ones from the decoder 86 output values are not evaluated, since E 1 ≠ E 2 applies.

Prinzipiell ist es möglich, die Reihenfolge der XOR-Gatter 831 und 84 zu vertauschen. Die in 11 angegebene Reihenfolge hat den Vorteil, dass die Werte die in die Eingänge der XOR-Gatter 831 und 84 eingegeben werden, auch dann nicht konstant sind, wenn ausschließlich Codewörter v' in die Schaltungseingänge eingegeben werden. Ebenso sind die Werte der Fehlersyndrome, die von dem Syndromgenerator S1 erzeugt werden, bei Eingabe von ausschließlich Codewörtern nicht konstant, was vorteilhaft ist, da stuck-at Fehler der entsprechenden Eingänge und Ausgänge der entsprechenden Gatter im laufenden Betrieb erkannt werden können.In principle, it is possible to change the order of the XOR gates 831 and 84 to swap. In the 11 specified order has the advantage that the values in the inputs of the XOR gates 831 and 84 are not constant even if only codewords v 'are input to the circuit inputs. Likewise, the values of the error syndromes generated by the syndrome generator S1 are not constant when only codewords are input, which is advantageous because stuck-at errors of the corresponding inputs and outputs of the respective gates can be detected during operation.

Einige Ausführungsbeispiele beziehen sich auf eine Vorrichtung zum Testen einer zu testenden Schaltung mit einem Mittel zum Bestimmen einer Fehlersyndrombitsequenz, einem Mittel zum Bereitstellen einer Testsequenz und einem Mittel zum Erkennen einer fehlerhaften Verarbeitung. Das Mittel zum Bestimmen einer Fehlersyndrombitsequenz bestimmt basierend auf einem codierten Binärwort v' eine Fehlersyndrombitsequenz s(v'). Dabei zeigt die Fehlersyndrombitsequenz s(v') an, ob das codierte Binärwort v' ein Codewort eines zur Codierung des codierten Binärworts v' verwendeten Fehlerkorrekturcodes C ist. Ferner stellt das Mittel zum Bereitstellen einer Testbitsequenz zumindest einmal eine von der Fehlersyndrombitsequenz s(v') unterschiedliche Testbitsequenz Ti der zu testenden Schaltung bereit, wenn die Fehlersyndrombitsequenz s(v') anzeigt, dass das codierte Binärwort ein Codewort des Fehlerkorrekturcodes C ist. Des Weiteren erkennt das Mittel zur Erkennung einer fehlerhaften Verarbeitung basierend auf einem durch die Testbitsequenz Ti verursachten Testausgangssignal R(Ti)' der zu testenden Schaltung eine fehlerhafte Verarbeitung der Testbitsequenz Ti durch die zu testende Schaltung.Some embodiments relate to an apparatus for testing a circuit under test, having means for determining an error syndrome bit sequence, means for providing a test sequence, and means for detecting erroneous processing. The means for determining an error syndrome bit sequence determines an error syndrome bit sequence s (v ') based on a coded binary word v'. Here, the error syndrome bit sequence s (v ') indicates whether the coded binary word v' is a codeword of an error correction code C used to encode the coded binary word v '. Furthermore, the means for providing a test bit sequence at least once provides a test bit sequence T i of the circuit under test different from the error syndrome bit sequence s (v ') if the error syndrome bit sequence s (v') indicates that the coded binary word is a code word of the error correction code C. Furthermore, the means for detecting erroneous processing based on a caused by the test bit sequence T i test output signal R (T i ) 'of the circuit under test detects an erroneous processing of the test bit sequence T i by the circuit under test.

Zusätzlich kann die Vorrichtung weitere optionale Einheiten umfassen, die ein oder mehrere der zuvor beschriebenen Aspekte des vorgeschlagenen Konzepts realisieren.In addition, the device may include other optional units that implement one or more of the previously described aspects of the proposed concept.

12 zeigt ein Flussdiagramm eines Verfahrens 1200 zum Testen einer zu testenden Schaltung entsprechend eines Ausführungsbeispiels. Das Verfahren 1200 umfasst ein Bestimmen 1210 einer Fehlersyndrombitsequenz s(v') basierend auf einem codierten Binärwort v'. Dabei zeigt die Fehlersyndrombitsequenz s(v') an, ob das codierte Binärwort v' ein Codewort eines zur Codierung des codierten Binärworts v' verwendeten Fehlerkorrekturcodes C ist. Ferner weist das Verfahren 1200 zumindest einmal ein Bereitstellen 1220 einer von der Fehlersyndrombitsequenz v' unterschiedlichen Testbitsequenz Ti an die zu testende Schaltung auf, wenn die Fehlersyndrombitsequenz v' anzeigt, dass das codierte Binärwort v' ein Codewort des Fehlerkorrekturcodes C ist. Des Weiteren umfasst das Verfahren 1200 ein Erkennen 1230 einer fehlerhaften Verarbeitung der Testbitsequenz Ti durch die zu testende Schaltung basierend auf einem durch die Testbitsequenz Ti verursachten Testausgangssignal R(Ti)' der zu testenden Schaltung. 12 shows a flowchart of a method 1200 for testing a circuit under test according to an embodiment. The procedure 1200 includes a determination 1210 an error syndrome bit sequence s (v ') based on a coded binary word v'. Here, the error syndrome bit sequence s (v ') indicates whether the coded binary word v' is a codeword of an error correction code C used to encode the coded binary word v '. Further, the method has 1200 at least once a provision 1220 one of the error syndrome bit sequence v 'different test bit sequence T i to the circuit under test when the error syndrome bit sequence v' indicates that the encoded binary word v 'is a code word of the error correction code C. Furthermore, the method includes 1200 a recognition 1230 faulty processing of the test bit sequence T i by the circuit under test, based on a test output signal R (T i ) 'of the circuit to be tested caused by the test bit sequence T i .

Zusätzlich kann das Verfahren 1200 weitere optionale Schritte umfassen, die ein oder mehrere der zuvor beschriebenen Aspekte des vorgeschlagenen Konzepts realisieren.In addition, the process can 1200 include further optional steps that implement one or more of the previously described aspects of the proposed concept.

Einige Ausführungsbeispiele beziehen sich auf eine Schaltungsanordnung, die den Test während des laufenden Betriebs erlaubt (Online-Test).Some embodiments relate to a circuit arrangement that allows the test during operation (online test).

Z. B. umfasst eine Schaltungsanordnung zur Verarbeitung von Daten, die unter Verwendung eines Codes C kodiert sind eine erste Teilschaltung S1 11 mit n binären Eingängen und m binären Ausgängen mit m < n zur Bildung eines m Bit breiten Syndroms, an deren n binären Eingängen die zu verarbeitenden codierten n-Bit breiten Daten v' = v'1, ..., v'n anliegen und an deren m binären Ausgängen m Komponenten s1(v'), ..., sm(v') = s(v') eines Syndroms s(v') ausgegeben werden. Das Syndrom s(v') wird aus den codierten Daten v' nach der Beziehung s(v')T = K. bestimmt und K ist eine binäre (m,n)-Matrix, die dem Code C entspricht.For example, a circuit arrangement for processing data coded using a code C comprises a first sub-circuit S1 11 with n binary inputs and m binary outputs with m <n for forming an m-bit-wide syndrome, to whose n binary inputs the encoded n-bit wide data to be processed v '= v' 1 , ..., v ' n are present and At its m binary outputs m components s 1 (v '), ..., s m (v') = s (v ') of a syndrome s (v') are output. The syndrome s (v ') becomes from the coded data v' on the relation s (v ') T = K. and K is a binary (m, n) matrix corresponding to code C.

Ferner ist eine zweite Teilschaltung S2 12 zur Fehlererkennung mit m binären Eingängen und r, 1 ≤ r, Ausgängen vorhanden, wobei die m Syndromkomponenten s1, ..., sm tragenden Ausgänge der ersten Teilschaltung mit den m Eingängen der zweiten Teilschaltung verbunden sind. Die zweite Teilschaltung gibt unterschiedliche Werte bei Eingabe von s(v') aus, wenn kein Codewort des Codes C ist und wenn v' ein Codewort des Codes C ist. Furthermore, a second sub-circuit S2 12 for error detection with m binary inputs and r, 1 ≤ r, outputs present, wherein the m syndrome components s 1 , ..., s m carrying outputs of the first subcircuit are connected to the m inputs of the second subcircuit. The second subcircuit outputs different values upon input of s (v ') when no codeword of the code C is and when v' is a codeword of the code C.

Des Weiteren ist eine dritte, zu testende Teilschaltung S3 13 mit m', m' ≥ 1 binären Eingängen und M, M ≥ 1, binären Ausgängen vorhanden, an deren m' binären Eingängen zu Zeitpunkten ti, zu denen die zweite Teilschaltung Werte ausgibt, die anzeigen, dass ein Syndrom s(v') eines Codewortes v' des Codes C an ihren Eingängen eingegeben wurde, ein Testinput Ti anliegt. Diese dritte Teilschaltung gibt auf ihren M Ausgängen einen von dem anliegenden Testinput Ti und von einem eventuell vorhandenen Fehler abhängenden Testresponsewert R(Ti)' auf ihren M Ausgängen aus.Furthermore, a third sub-circuit S3 to be tested is provided 13 with m ', m' ≥ 1 binary inputs and M, M ≥ 1, binary outputs at whose m 'binary inputs at times t i to which the second subcircuit outputs values indicating that a syndrome s (v' ) of a code word v 'of the code C has been input at its inputs, a test input T i is present. This third sub-circuit outputs on its M outputs a test response value R (T i ) 'dependent on the applied test input T i and on any error present on its M outputs.

Gemäß einem Aspekt ist eine Auswerteschaltung 14 zur Auswertung von Testresponses vorhanden, die Testausgangssignale R(Ti), die von der dritten Teilschaltung S3 13 zu Zeitpunkten ti ausgegeben werden, zu denen die zweite Teilschaltung S2 = F 12 zur Fehlererkennung Werte ausgibt, die anzeigen, dass ein Syndrom s(v') eines Codewortes v' des Codes C an den Eingängen der zweiten Teilschaltung anliegen, und in Beziehung zu erwarteten korrekten Testresponses setzt.In one aspect, there is an evaluation circuit 14 for the evaluation of test responses, the test output signals R (T i ) from the third sub-circuit S3 13 are output at times t i , to which the second sub-circuit S2 = F 12 for error detection, outputs values indicating that a syndrome s (v ') of a codeword v' of the code C is present at the inputs of the second subcircuit, and related to expected correct test responses.

Ferner kann die Matrix K gleich der Paritätsprüfmatrix H = (h1, ..., hn) des Codes C sein.Further, the matrix K may be equal to the parity check matrix H = (h 1 ,..., H n ) of the code C.

Alternativ kann die Matrix K eine binäre (m,n)-Matrix sein, die durch komponentenweises Invertieren von q Spalten der Paritätsprüfmatrix H = (h1, ..., hn) des Codes C bestimmt ist und 1 ≤ q ≤ n gilt.Alternatively, the matrix K may be a binary (m, n) matrix determined by component-by-component inversion of q columns of the parity check matrix H = (h 1 ,..., H n ) of the code C and 1 ≤ q ≤ n ,

Dabei kann z. B. q = 1 sein.It can be z. B. q = 1.

Gemäß einem weiteren Aspekt ist eine fünfte Teilschaltung S5 15 mit m ersten binären Eingängen, m zweiten binären Eingängen, r dritten binären Eingängen und m binären Ausgängen vorhanden, wobei die m binären Ausgänge der ersten Teilschaltung S1 11, die das Syndrom s(v') tragen, mit den ersten m binären Eingängen der fünften Teilschaltung S5 15 verbunden sind. Ein m-stelliger Testvektor Ti liegt zu einem Zeitpunkt ti an den zweiten m binären Eingängen der fünften Teilschaltung an und die r binären Ausgänge der zweiten Teilschaltung S2 12 sind mit den dritten r binären Eingängen verbunden. Die fünfte Teilschaltung S5 15 ist so ausgestaltet, dass an ihren m binären Ausgängen das Syndrom s(v') ausgegeben wird, wenn die zweite Teilschaltung S2 12 einen Wert ausgibt, der keinem Codewort entspricht und so dass der Wert Ti ausgegeben wird, wenn die zweite Teilschaltung einen Wert ausgibt, der einem Codewort des Codes C entspricht.In another aspect, a fifth sub-circuit is S5 15 with m first binary inputs, m second binary inputs, r third binary inputs and m binary outputs, the m binary outputs of the first subcircuit S1 11 having the syndrome s (v ') with the first m binary inputs of the fifth subcircuit S5 15 are connected. An m-digit test vector T i is applied to the second m binary inputs of the fifth subcircuit at a time t i and the r binary outputs of the second subcircuit S 2 12 are connected to the third r binary inputs. The fifth subcircuit S5 15 is designed such that at its m binary outputs, the syndrome s (v ') is output when the second sub-circuit S2 12 outputs a value which does not correspond to a codeword and so that the value T i is output when the second sub-circuit outputs a value corresponding to a codeword of the code C.

Ferner sind die m binären Eingänge der dritten, zu testenden Teilschaltung S3 13 mit den m binären Ausgängen der Teilschaltung S5 15 verbunden und die M binären Ausgänge der Teilschaltung S3 13 sind in M binäre Eingänge der Teilschaltung 14 geführt, die Testresponsewerte R(Ti)', die von der dritten zu testenden Teilschaltung S3 13 zu Zeitpunkten ti ausgegeben werden, wenn die zweite Teilschaltung einen Wert ausgibt, der einem Codewort entspricht, mit erwarteten fehlerfreien Testausgangssignale in Beziehung setzt.Further, the m binary inputs are the third sub-circuit S3 to be tested 13 with the m binary outputs of the subcircuit S5 15 connected and the M binary outputs of the subcircuit S3 13 are in M binary inputs of the subcircuit 14 guided, the test response values R (T i ) ', of the third sub-circuit S3 to be tested 13 at times t i when the second subcircuit outputs a value corresponding to a codeword associated with expected non-defective test output signals.

Des Weiteren kann eine weitere Teilschaltung S6 16 mit q binären Eingängen und einem binären Ausgang zur Realisierung einer Funktion f(v'1, ..., v'n) = v'i1 ⊕ ... ⊕ v'iq Furthermore, a further sub-circuit S6 16 with q binary inputs and a binary output to realize a function f (v ' 1 , ..., v' n ) = v ' i1 ⊕ ... ⊕ v' iq

Vorhanden sein, deren q Eingänge mit den die Werte v'i1, ..., v'iq tragenden Eingangsleitungen der Teilschaltung S1 verbunden sind und deren 1 Bit breiter Ausgang in den ersten, 1 Bit breiten Eingang einer siebenten Teilschaltung S7 17 geführt ist, deren zweiter m Bit breiter Eingang mit dem Ausgang der fünften Teilschaltung S5 verbunden ist und die Teilschaltung S7 so konfiguriert ist, dass an dem m Bit breiten Ausgang der siebenten Teilschaltung S7 17 die an ihrem zweiten Eingang anliegenden Werte unverändert ausgegeben werden, wenn f(v1, ..., vn) = 0 ist und die komponentenweise negierten Werte der an ihren Eingängen anliegenden Werte ausgegeben werden, wenn f(v1, ..., vn) = 1 ist.Be present whose q inputs are connected to the input lines of the subcircuit S1 carrying the values v ' i1 , ..., v' iq and their 1-bit wide output to the first, 1-bit wide input of a seventh subcircuit S7 17 is guided, whose second m bit wide input is connected to the output of the fifth sub-circuit S5 and the sub-circuit S7 is configured so that at the m-bit-wide output of the seventh sub-circuit S7 17 the values applied to their second input are output unchanged if f (v 1 ,..., v n ) = 0 and the component-negated values of the values present at their inputs are output, if f (v 1 , ... , v n ) = 1.

Ferner sind die m binären Eingänge der zu testende Teilschaltung S3 13 mit den m Ausgängen der siebenten Teilschaltung S7 17 verbunden, so dass an den Eingängen der Teilschaltung S3 der Wert Ti anliegt, wenn die zweite Teilschaltung einen Wert ausgibt, der einem Codewort entspricht und die dritte Teilschaltung S3 13 einen von dem Testinput Ti und von in ihr eventuell vorhandener Fehler abhängenden Testausgangssignalwerte R(Ti)' auf ihren M Ausgängen ausgibt, die in M Eingänge einer Auswerteschaltung 14 zur Auswertung von Testresponse-Werten geführt sind, in der die aktuellen Testresponsewerte mit zu entsprechenden Zeitpunkten erwarteten fehlerfreien Testresponsewerten verglichen werden.Furthermore, the m binary inputs are the subcircuit S3 to be tested 13 with the m outputs of the seventh subcircuit S7 17 connected, so that at the inputs of the sub-circuit S3, the value T i is present when the second sub-circuit outputs a value corresponding to a code word and the third sub-circuit S3 13 outputs a test output signal value R (T i ) 'on its M outputs which depends on the test input T i and on any errors which may be present in it, the M inputs of an evaluation circuit 14 to Evaluation of test response values, in which the current test response values are compared with expected error-free test response values at appropriate times.

Zusätzlich kann q = 1, f(v, ..., v'n) = v'i mit 1 ≤ i ≤ n sein und die Funktion f(v'1, ..., v'n) kann durch eine 1 Bit breite Leitung realisiert sein, die den Wert v'i trägt.In addition, q = 1, f (v, ..., v ' n ) = v' i with 1 ≤ i ≤ n, and the function f (v ' 1 , ..., v' n ) can be replaced by a 1 Bit wide line is realized, which carries the value v ' i .

Die zu testende Teilschaltung kann ein Fehlertypbestimmer 44 eines Codes sein.The subcircuit under test may be an error type determiner 44 to be a code.

Alternativ kann die zu testende Teilschaltung ein Decoder einer Schaltungsanordnung zur Fehlerkorrektur unter Verwendung eines Codes C sein.Alternatively, the sub-circuit under test may be a decoder of an error correcting circuit using a code C.

Zusätzlich kann eine weitere zu testenden Schaltung vorhanden sein, die ein Fehlertypbestimmer 641 des fehlerkorrigierenden Codes ist.In addition, there may be another circuit under test which is an error type determiner 641 of the error correcting code.

Gemäß einem Aspekt kann ein Testinput-Generator 46 vorhanden sein, der zu Zeitpunkten ti, in der die Schaltung zur Fehlererkennung keinen Fehler anzeigt, ein Testsignal Ti ausgibt.In one aspect, a test input generator 46 be present, which at times t i , in which the circuit for error detection indicates no error, outputs a test signal T i .

Der Testinputgenerator kann ein ROM und einen Zähler enthalten.The test input generator may include a ROM and a counter.

Alternativ kann der Testinputgenerator ein linear rückgekoppeltes Schieberegister enthalten.Alternatively, the test input generator may include a linear feedback shift register.

Ferner kann die Auswerteschaltung der Testausgangssignalwerte einen Mehrfach-Eingangssignaturanalysator)Multi-Input Signatur-Analyser) enthalten.Further, the evaluation circuit of the test output signal values may include a multiple input signature analyzer (Multi-Input Signature Analyzer).

Des Weiteren kann die Auswerteschaltung 14 der Testausgangssignalwerte einen Codeprüfer 69, 76 des Codes C enthalten.Furthermore, the evaluation circuit 14 the test output values a code checker 69 . 76 of the code C included.

Ferner kann m' = m sein.Furthermore, m '= m.

Optional können zusätzliche Ausgänge der zu testenden Schaltung, die zur Verbesserung der Testbarkeit der zu testenden Schaltung dienen, in der Auswerteschaltung ausgewertet werden.Optionally, additional outputs of the circuit to be tested, which serve to improve the testability of the circuit to be tested, can be evaluated in the evaluation circuit.

Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.Although some aspects have been described in the context of a device, it will be understood that these aspects also constitute a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Similarly, aspects described in connection with or as a method step also represent a description of a corresponding block or detail or feature of a corresponding device.

Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein. Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.Depending on particular implementation requirements, embodiments of the invention may be implemented in hardware or in software. The implementation may be performed using a digital storage medium, such as a floppy disk, a DVD, a Blu-ray Disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or FLASH memory, a hard disk, or other magnetic disk or optical memory are stored on the electronically readable control signals that can cooperate with a programmable computer system or cooperate such that the respective method is performed. Therefore, the digital storage medium can be computer readable. Thus, some embodiments according to the invention include a data carrier having electronically readable control signals capable of interacting with a programmable computer system such that one of the methods described herein is performed.

Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.In general, embodiments of the present invention may be implemented as a computer program product having a program code, wherein the program code is operable to perform one of the methods when the computer program product runs on a computer. The program code can also be stored, for example, on a machine-readable carrier.

Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.Other embodiments include the computer program for performing any of the methods described herein, wherein the computer program is stored on a machine-readable medium.

Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.In other words, an embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described herein when the computer program runs on a computer. A further embodiment of the inventive method is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program is recorded for carrying out one of the methods described herein.

Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen.A further embodiment of the method according to the invention is thus a data stream or a sequence of signals, which represent the computer program for performing one of the methods described herein.

Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.The data stream or the sequence of signals may be configured, for example, to be transferred via a data communication connection, for example via the Internet.

Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.Another embodiment includes a processing device, such as a computer or a programmable logic device, that is configured or adapted to perform one of the methods described herein.

Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.Another embodiment includes a computer on which the computer program is installed to perform one of the methods described herein.

Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.In some embodiments, a programmable logic device (eg, a field programmable gate array, an FPGA) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, in some embodiments, the methods are performed by any hardware device. This may be a universal hardware such as a computer processor (CPU) or hardware specific to the process, such as an ASIC.

Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.The embodiments described above are merely illustrative of the principles of the present invention. It will be understood that modifications and variations of the arrangements and details described herein will be apparent to others of ordinary skill in the art. Therefore, it is intended that the invention be limited only by the scope of the appended claims and not by the specific details presented in the description and explanation of the embodiments herein.

Claims (21)

Vorrichtung (100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100) zum Testen einer zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86), mit folgenden Merkmalen: einem Syndrombestimmer (110, 11, 21, 41, 51, 61, 81), der ausgelegt ist, um basierend auf einem codierten Binärwort (v') eine Fehlersyndrombitsequenz (s(v')) zu bestimmen, wobei die Fehlersyndrombitsequenz (s(v')) anzeigt, ob das codierte Binärwort (v') ein Codewort eines zur Codierung des codierten Binärwortes (v') verwendeten Fehlerkorrekturcodes (C) ist; einem Testsequenzbereitsteller (120), der ausgelegt ist, um zumindest einmal eine von der bestimmten Fehlersyndrombitsequenz (s(v')) unterschiedliche Testbitsequenz (Ti) der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) bereitzustellen, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist; und einer Auswerteschaltung (130, 14, 25, 58, 89), die ausgelegt ist, um basierend auf einem durch die Testbitsequenz (Ti) verursachten Testausgangssignal (R(Ti)') der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) eine fehlerhafte Verarbeitung der Testbitsequenz (Ti) durch die zu testende Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) zu erkennen.Contraption ( 100 . 200 . 300 . 400 . 500 . 600 . 700 . 800 . 900 . 1000 . 1100 ) for testing a circuit under test ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ), having the following features: a syndrome tester ( 110 . 11 . 21 . 41 . 51 . 61 . 81 ) adapted to determine an error syndrome bit sequence (s (v ')) based on a coded binary word (v'), the error syndrome bits sequence (s (v ')) indicating whether the coded binary word (v') is a codeword is an error correction code (C) used to encode the coded binary word (v '); a test sequence provider ( 120 ), which is designed, at least once, to have a test bit sequence (T i ) of the circuit under test (T i ) which differs from the specific error syndrome bit sequence (s (v ')) ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ) when the error syndrome bits sequence (s (v ')) indicates that the coded binary word (v') is a codeword of the error correction code (C); and an evaluation circuit ( 130 . 14 . 25 . 58 . 89 ) which is designed to be based on a test output signal (R (T i ) ') of the circuit under test (T i ) caused by the test bit sequence (T i ). 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ) an erroneous processing of the test bit sequence (T i ) by the circuit under test ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ) to recognize. Vorrichtung gemäß Anspruch 1, wobei der Testsequenzbereitsteller (120) ausgelegt ist, um die Fehlersyndrombitsequenz (s(v')) der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) bereitzustellen, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') kein Codewort des Fehlerkorrekturcodes (C) ist.The device of claim 1, wherein the test sequence provider ( 120 ) is designed to match the error syndrome bit sequence (s (v ')) of the circuit under test ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ) when the error syndrome bits sequence (s (v ')) indicates that the coded binary word (v') is not a codeword of the error correcting code (C). Vorrichtung gemäß Anspruch 1 oder 2, wobei die Auswerteschaltung (130, 14, 25, 89) ausgelegt ist, um das Testausgangssignal (R(Ti)') oder ein auf dem Testausgangssignal (R(Ti)') basierendes bearbeitetes oder reduziertes Testausgangssignal mit einem erwarteten Referenztestsignal (R(Ti)) zu vergleichen und eine fehlerhafte Bearbeitung der Testbitsequenz (Ti) zu erkennen, wenn das Testausgangssignal (R(Ti)') oder das bearbeitete oder reduzierte Testausgangssignal nicht mit dem erwarteten Referenztestsignal (R(Ti)) übereinstimmt. Device according to claim 1 or 2, wherein the evaluation circuit ( 130 . 14 . 25 . 89 ) is adapted to compare the test output signal (R (T i ) ') or a processed or reduced test output signal based on the test output signal (R (T i )') with an expected reference test signal (R (T i )) and erroneous processing the test bit sequence (T i ) if the test output signal (R (T i ) ') or the processed or reduced test output signal does not match the expected reference test signal (R (T i )). Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Testsequenz (Ti) gleich einer Fehlersyndrombitsequenz (s(v')) für ein codiertes Binärwort (v'), das kein Codewort des Fehlerkorrekturcodes (C) ist, ist.Apparatus according to any one of the preceding claims, wherein the test sequence (T i ) is equal to an error syndrome bits sequence (s (v ')) for a coded binary word (v') which is not a codeword of the error correction code (C). Vorrichtung gemäß einem der vorhergehenden Ansprüche, die ferner die zu testende Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) aufweist, wobei die zu testende Schaltung (102, 13, 24, 44, 547, 641, 642, 742, 86) ein Decoder (54, 642, 742, 86) zum Erzeugen eines Korrektursignals zur Korrektur eines fehlerhaften, codierten Binärworts (v') oder ein Fehlertypbestimmer (44, 641) zum Bestimmen eines Fehlertyps eines fehlerhaften, codierten Binärworts (v') ist.Device according to one of the preceding claims, further comprising the circuit under test ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ), wherein the circuit under test ( 102 . 13 . 24 . 44 . 547 . 641 . 642 . 742 . 86 ) a decoder ( 54 . 642 . 742 . 86 ) for generating a correction signal for correcting a faulty coded binary word (v ') or an error type determiner ( 44 . 641 ) for determining an error type of a defective coded binary word (v '). Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei der Syndrombestimmer (110, 11, 21, 41, 51, 61, 81) ausgelegt ist, um die Fehlersyndrombitsequenz (s(v')) zu bestimmen, so dass die Fehlersyndrombitsequenz (s(v')) immer gleich genau einer vordefinierten Fehlersyndrombitsequenz ist, wenn das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist.Device according to one of the preceding claims, wherein the syndrome tester ( 110 . 11 . 21 . 41 . 51 . 61 . 81 ) is adapted to determine the error syndrome bit sequence (s (v ')) such that the error syndrome bit sequence (s (v')) is always equal to a predefined error syndrome bit sequence if the coded binary word (v ') is a code word of the error correction code (C ). Vorrichtung gemäß einem der Ansprüche 1 bis 5, wobei die Fehlersyndrombitsequenz (s(v')) für eine erste Mehrzahl von Codewörtern des Fehlerkorrekturcodes (C) gleich einer ersten vordefinierten Fehlersyndrombitsequenz ist und die Fehlersyndrombitsequenz (s(v')) für eine zweite Mehrzahl von Codewörtern des Fehlerkorrekturcodes (C) gleich einer zweiten vordefinierten Fehlersyndrombitsequenz ist, wobei sich die erste vordefinierte Fehlersyndrombitsequenz und die zweite vordefinierte Fehlersyndrombitsequenz unterscheiden und die erste Mehrzahl von Codewörtern und die zweite Mehrzahl von Codewörtern keine gemeinsamen Codewörter aufweisen.Apparatus according to any one of claims 1 to 5, wherein the error syndrome bits sequence (s (v ')) for a first plurality of codewords of the error correction code (C) is equal to a first predefined error syndrome bits sequence and the error syndrome bits sequence (s (v')) for a second plurality of codewords of the error correction code (C) is equal to a second predefined error syndrome bit sequence, wherein the first predefined error syndrome bit sequence and the second predefined error syndrome bit sequence differ and the first plurality of codewords and the second plurality of codewords do not have common codewords. Vorrichtung gemäß Anspruch 7, wobei der Testsequenzbereitsteller (120) einen Bitsequenzinvertierer (16, 17, 810, 84) aufweist, der ausgelegt ist, um basierend auf einer Funktion (f(v')) einer Teilmenge von Bits des codierten Binärworts (v') die Testbitsequenz (Ti) oder die Fehlersyndrombitsequenz (s(v')) zu invertieren.Apparatus according to claim 7, wherein the test sequence provider ( 120 ) a bit sequence inverter ( 16 . 17 . 810 . 84 ) configured to invert the test bit sequence (T i ) or the error syndrome bit sequence (s (v ')) based on a function (f (v')) of a subset of bits of the coded binary word (v '). Vorrichtung gemäß Anspruch 8, wobei die Funktion (f(v')) der Teilmenge von Bits gewählt ist, so dass der Bitsequenzinvertierer (16, 17, 810, 84) die Testbitsequenz (Ti) nicht invertiert, wenn die Fehlersyndrombitsequenz (s(v')) gleich der ersten vordefinierten Fehlersyndrombitsequenz ist, und die Testbitsequenz (Ti) invertiert, wenn die Fehlersyndrombitsequenz (s(v')) gleich der zweiten vordefinierten Fehlersyndrombitsequenz ist.Apparatus according to claim 8, wherein the function (f (v ')) of the subset of bits is selected, such that the bit sequence inverter ( 16 . 17 . 810 . 84 ) the test bit sequence (T i ) is not inverted if the error syndrome bit sequence (s (v ')) equals the first predefined error syndrome bit sequence, and the test bit sequence (T i ) inverts if the error syndrome bit sequence (s (v')) equals the second predefined one Error syndrome bit sequence is. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei der Testsequenzbereitsteller (120) einen Fehlersyndromerkenner (12, 22, 42, 52, 62, 821, 822) aufweist, der ausgelegt ist, um ein Testauslösesignal bereitzustellen, das die Bereitstellung einer Testbitsequenz (Ti) durch den Testsequenzbereitsteller (120) auslöst, wenn die Fehlersyndrombitsequenz (s(v')) gleich einer vordefinierten Fehlersyndrombitsequenz ist, wobei die vordefinierte Fehlersyndrombitsequenz anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist.Device according to one of the preceding claims, wherein the test sequence provider ( 120 ) an error syndrome recognizer ( 12 . 22 . 42 . 52 . 62 . 821 . 822 ) adapted to provide a test trigger signal comprising the provisioning of a test bit sequence (T i ) by the test sequence provider ( 120 ) when the error syndrome bit sequence (s (v ')) equals a predefined error syndrome bit sequence, the predefined error syndrome bit sequence indicating that the encoded binary word (v') is a code word of the error correction code (C). Vorrichtung gemäß Anspruch 10, wobei das Testauslösesignal ein 1 Bit breites Signal ist.The device of claim 10, wherein the test trigger signal is a 1 bit wide signal. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei der Syndrombestimmer (110, 11, 21, 41, 51, 61, 81, 110) ausgelegt ist, um die Fehlersyndrombitsequenz (s(v')) basierend auf einer Multiplikation einer Paritätsprüfmatrix (H) des Fehlerkorrekturcodes (C) mit dem codierten Binärwort (v') oder einer Multiplikation einer zumindest in einer Spalte komponentenweise invertierten Paritätsprüfmatrix (K) des Fehlerkorrekturcodes (C) mit dem codierten Binärwort (v') zu bestimmen.Device according to one of the preceding claims, wherein the syndrome tester ( 110 . 11 . 21 . 41 . 51 . 61 . 81 . 110 ) is adapted to calculate the error syndrome bit sequence (s (v ')) based on a multiplication of a parity check matrix (H) of the error correction code (C) with the coded binary word (v') or a multiplication of a parity check matrix (K) component-inverted in at least one column. of the error correction code (C) with the coded binary word (v '). Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei der Testsequenzbereitsteller (120) ausgelegt ist, um jeweils eine Testbitsequenz (Ti) aus einer Mehrzahl von Testbitsequenzen für jedes codierte Binärwort (v'), das der Syndrombestimmer (110, 11, 21, 41, 51, 61, 81) bearbeitet und ein Codewort des Fehlerkorrekturcodes (C) ist, der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) bereitzustellen.Device according to one of the preceding claims, wherein the test sequence provider ( 120 ) is adapted to generate in each case one test bit sequence (T i ) from a plurality of test bit sequences for each coded binary word (v '), that of the syndrome tester ( 110 . 11 . 21 . 41 . 51 . 61 . 81 ) and a code word of the error correction code (C) is the circuit under test ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ). Vorrichtung gemäß Anspruch 13, wobei der Testsequenzbereitsteller (120) einen Speicher aufweist, der die Mehrzahl von Testbitsequenzen speichert, oder ein lineares rückgekoppeltes Schieberegister aufweist, das eine Erzeugung einer Testbitsequenz (Ti) der Mehrzahl von Testbitsequenzen ermöglicht. The device of claim 13, wherein the test sequence provider ( 120 ) has a memory which stores the plurality of test bit sequences or has a linear feedback shift register enabling generation of a test bit sequence (T i ) of the plurality of test bit sequences. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei der Fehlerkorrekturcode (C) ein linearer Fehlerkorrekturcode ist.Apparatus according to any one of the preceding claims, wherein the error correction code (C) is a linear error correction code. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei der Testsequenzbereitsteller (120) ausgelegt ist, um zumindest zu 10%, zumindest zu 50% oder immer eine von der bestimmten Fehlersyndrombitsequenz (s(v')) unterschiedliche Testbitsequenz (Ti) der zu testenden Schaltung (102, 13, 24, 44, 54, 641, 642, 742, 86) bereitzustellen, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist.Device according to one of the preceding claims, wherein the test sequence provider ( 120 ) is adapted to at least 10%, at least 50%, or always a different test bit sequence (T i ) of the circuit under test (S (v ')) from the determined error syndrome bit sequence ( 102 . 13 . 24 . 44 . 54 . 641 . 642 . 742 . 86 ) when the error syndrome bit sequence (s (v ')) indicates that the coded binary word (v') is a codeword of the error correction code (C). Vorrichtung (200, 700, 800, 900, 1000, 1100) zum Korrigieren eines Bitfehlers in einem codierten Binärwort (v'), mit folgenden Merkmalen: einer Vorrichtung zum Testen einer zu testenden Schaltung gemäß einem der Ansprüche 1 bis 16; einem Decoder (250, 54, 642, 86), der ausgelegt ist, um basierend auf der Fehlersyndrombitsequenz (s(v')) ein Ausgabesignal zu erzeugen, sodass das Ausgabesignal des Decoders (250, 54, 642, 86) ein Korrektursignal (e) für das codierte Binärwort (v') repräsentiert, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') kein Codewort des Fehlerkorrekturcodes (C) ist, wobei der Decoder (250, 54, 642, 86) die zu testende Schaltung ist und das Ausgabesignal des Decoders (250, 54, 642, 86) dem Testausgangssignal (R(Ti)') entspricht, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist; und einer Korrektureinheit (240), die ausgelegt ist, um basierend auf dem codierten Binärwort (v') und dem Korrektursignal (e) einen Bitfehler in dem codierten Binärwort (v') zu korrigieren und ein korrigiertes, codiertes Binärwort (Vcorr) auszugeben.Contraption ( 200 . 700 . 800 . 900 . 1000 . 1100 ) for correcting a bit error in a coded binary word (v ') comprising: an apparatus for testing a circuit under test according to any one of claims 1 to 16; a decoder ( 250 . 54 . 642 . 86 ) which is adapted to generate an output signal based on the error syndrome bit sequence (s (v ')), such that the output signal of the decoder ( 250 . 54 . 642 . 86 ) represents a coded binary word (v ') correction signal (e) if the error syndrome bits sequence (s (v')) indicates that the coded binary word (v ') is not a codeword of the error correction code (C), the decoder ( 250 . 54 . 642 . 86 ) is the circuit under test and the output signal of the decoder ( 250 . 54 . 642 . 86 ) corresponds to the test output (R (T i ) ') when the error syndrome bits sequence (s (v')) indicates that the coded binary word (v ') is a codeword of the error correction code (C); and a correction unit ( 240 ) adapted to correct, based on the coded binary word (v ') and the correction signal (e), a bit error in the coded binary word (v') and output a corrected coded binary word (V corr ). Vorrichtung gemäß Anspruch 17, wobei die Korrektureinheit (240) ausgelegt ist, um basierend auf einer logischen XOR-Verknüpfung des Korrektursignals mit dem codierten Binärwort (v') ein bearbeitetes Testausgangssignal zu erzeugen und der Auswerteschaltung (130, 14, 25, 89) bereitzustellen.Apparatus according to claim 17, wherein the correction unit ( 240 ) is designed to generate a processed test output signal based on a logical XOR combination of the correction signal with the coded binary word (v ') and the evaluation circuit ( 130 . 14 . 25 . 89 ). Vorrichtung gemäß Anspruch 18, wobei die Auswerteschaltung (130, 14, 25, 89) einen Codeprüfer (69, 72) aufweist, wobei die Korrektureinheit (240) ausgelegt ist, um das bearbeitete Testausgangssignal basierend auf einer logischen XOR-Verknüpfung eines erwarteten Referenztestsignals (R(Ti)) mit dem Ergebnis der logischen XOR-Verknüpfung des Korrektursignals (e) mit dem codierten Binärwort (v') zu erzeugen, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist, wobei der Codeprüfer (69, 72) ausgelegt ist, ein Fehlersignal zu erzeugen, das anzeigt, ob das bearbeitete Testausgangssignal ein Codewort des Fehlerkorrekturcodes (C) ist.Apparatus according to claim 18, wherein the evaluation circuit ( 130 . 14 . 25 . 89 ) a code checker ( 69 . 72 ), wherein the correction unit ( 240 ) is adapted to generate the processed test output signal based on an XOR logical combination of an expected reference test signal (R (T i )) resulting in the XOR logic operation of the correction signal (e) with the coded binary word (v ') the error syndrome bit sequence (s (v ')) indicates that the coded binary word (v') is a codeword of the error correction code (C), the coder ( 69 . 72 ) is adapted to generate an error signal indicating whether the processed test output signal is a code word of the error correction code (C). Verfahren (1200) zum Testen einer zu testenden Schaltung, mit folgenden Schritten: Bestimmen (1210) einer Fehlersyndrombitsequenz (s(v')) basierend auf einem codierten Binärwort (v'), wobei die Fehlersyndrombitsequenz (s(v')) anzeigt, ob das codierte Binärwort (v') ein Codewort eines zur Codierung des codierten Binärworts (v') verwendeten Fehlerkorrekturcodes (C) ist; Bereitstellen (1220) zumindest einmal einer von der Fehlersyndrombitsequenz (s(v')) unterschiedlichen Testbitsequenz (Ti) an die zu testende Schaltung, wenn die Fehlersyndrombitsequenz (s(v')) anzeigt, dass das codierte Binärwort (v') ein Codewort des Fehlerkorrekturcodes (C) ist; und Erkennen (1230) einer fehlerhaften Verarbeitung der Testbitsequenz (Ti) durch die zu testende Schaltung basierend auf einem durch die Testbitsequenz (Ti) verursachten Testausgangssignal (R(Ti)') der zu testenden Schaltung.Procedure ( 1200 ) for testing a circuit under test, comprising the steps of: determining ( 1210 ) of an error syndrome bits sequence (s (v ')) based on a coded binary word (v'), the error syndrome bits sequence (s (v ')) indicating whether the coded binary word (v') is a codeword of a coding coded coded binary word (v ') is error correction code (C); Provide ( 1220 ) at least once one of the error syndrome bit sequence (s (v ')) different test bit sequence (T i ) to the circuit under test, if the error syndrome bit sequence (s (v')) indicates that the coded binary word (v ') is a code word of the error correction code (C) is; and recognizing ( 1230 ) faulty processing of the test bit sequence (T i ) by the circuit under test, based on a test output signal (R (T i ) ') of the circuit under test caused by the test bit sequence (T i ). Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens gemäß Anspruch 20, wenn das Computerprogramm auf einem Computer oder Mikrocontroller abläuft.Computer program with a program code for carrying out the method according to claim 20, when the computer program runs on a computer or microcontroller.
DE201110080659 2011-08-09 2011-08-09 DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED Active DE102011080659B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE201110080659 DE102011080659B4 (en) 2011-08-09 2011-08-09 DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED
CN201210281624.6A CN102955126B (en) 2011-08-09 2012-08-09 For testing equipment and the method for circuit to be tested

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110080659 DE102011080659B4 (en) 2011-08-09 2011-08-09 DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED

Publications (2)

Publication Number Publication Date
DE102011080659A1 DE102011080659A1 (en) 2013-02-14
DE102011080659B4 true DE102011080659B4 (en) 2015-04-02

Family

ID=47595478

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110080659 Active DE102011080659B4 (en) 2011-08-09 2011-08-09 DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED

Country Status (2)

Country Link
CN (1) CN102955126B (en)
DE (1) DE102011080659B4 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104764968B (en) * 2014-01-03 2017-12-15 瑞昱半导体股份有限公司 The test device and method of temperature-insensitive
KR20180072873A (en) * 2014-01-30 2018-06-29 주식회사 아도반테스토 Test apparatus and method for testing a device under test

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515383A (en) * 1991-05-28 1996-05-07 The Boeing Company Built-in self-test system and method for self test of an integrated circuit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230916A (en) * 2001-01-29 2002-08-16 Mitsubishi Electric Corp Information reproducer
EP1745377A2 (en) * 2004-04-29 2007-01-24 Koninklijke Philips Electronics N.V. Error correction in an electronic circuit
DE102005008716A1 (en) * 2005-02-25 2006-08-31 Robert Bosch Gmbh Data integrity securing method for motor vehicle controller, involves searching errors in data packets, correcting packets based on search and accepting corrected packets as safe packets, if packets are not existing code words

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515383A (en) * 1991-05-28 1996-05-07 The Boeing Company Built-in self-test system and method for self test of an integrated circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
U. Tietze / Ch. Schenk: Halbleiter-Schaltungstechnik. 13. Aufl. Berlin: Springer Verlag, 2010, S. 728-732. - ISBN978-3-642-01621-9 *

Also Published As

Publication number Publication date
CN102955126A (en) 2013-03-06
DE102011080659A1 (en) 2013-02-14
CN102955126B (en) 2016-01-13

Similar Documents

Publication Publication Date Title
DE102013215055B4 (en) Circuit arrangement, device, method and computer program with modified error syndrome for error detection of permanent errors in memories
DE102011085602B4 (en) Apparatus and method for correcting at least one bit error in a coded bit sequence
DE60117066T2 (en) Method and device for checking error-correcting codes
DE112011100371B4 (en) Method, device and computer program product for decoding a code word
DE2260850A1 (en) ERROR CORRECTION SYSTEM
DE102011087634B9 (en) DEVICE AND METHOD FOR DETECTING AN ERROR IN A CODED BINARY WORD
DE102017125617B4 (en) Determination and use of byte error position signals
DE102006005817A1 (en) Error detection device for e.g. address decoder, has comparing unit to output signal based on comparison of input and regenerated addresses, where signal displays error during conversion, when input and regenerated addresses do not coincide
DE102005022107B4 (en) Apparatus and method for determining a position of a bit error in a bit string
DE102011087457A1 (en) Apparatus for detecting error within coded binary words, generates combined binary word which is not code word of error correction code if first or second coded binary word is not code word of error correction code
DE102013109315B4 (en) Method and data processing device for reconstructing a vector
DE102011080659B4 (en) DEVICE AND METHOD FOR TESTING A CIRCUIT TO BE TESTED
DE102010041680B9 (en) Apparatus and method for determining a position of a 1-bit error in a coded bit sequence, apparatus and method for correcting a 1-bit error in a coded bit sequence, and a decoder and method for decoding a defective coded bit sequence
DE102013222136A1 (en) Circuit and method for multi-bit correction
DE102016104012A1 (en) Processing a data word
DE102013219088B9 (en) Circuit arrangement and method for realizing check bit compaction for cross-parity codes
DE102006027448B4 (en) circuitry
DE102018126685B3 (en) Processing of data
DE102019113970B4 (en) DETECTION OF ADDRESSING ERRORS
EP1676141B1 (en) Evaluation circuit for detecting and/or locating faulty data words in a data stream
DE102015121646B4 (en) ERROR CORRECTION
EP1579230B1 (en) Device and method for creating a signature
DE102015118668B4 (en) ERROR CORRECTION
DE10338922A1 (en) Electrical diagnostic circuit and method for testing and / or diagnosis of an integrated circuit
DE102013112020B4 (en) Method and device for detecting bit errors

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative