-
Die
vorliegende Erfindung betrifft Digitalschaltungen und Verfahren
zum Testen einer Digitalschaltung.
-
HINTERGRUND DER ERFINDUNG
-
Oftmals
ist es erforderlich, den korrekten Betrieb von Digitalschaltungen,
z. B. von Mikroprozessoren oder Mikrokontrollern, wiederholt zu überprüfen. Insbesondere
im Automotivbereich ist es äußerst wichtig,
den korrekten Betrieb von Mikroprozessoren oder Mikrokontrollern
sicherzustellen, die in Steuereinrichtungen vorhanden sind.
-
Allgemein
bekannte Verfahrensweisen zum Testen der Funktionalität eines
Mikroprozessors in einer Steuereinrichtung, oder genauer erklärt, eines Prozessorkerns
bzw. einer zentralen Prozessoreinheit (CPU) im Hauptprozessor basieren
z. B. auf redundanten Systemen [Doppelsystemen]. Zu diesem Zweck
werden zwei Prozessoren mit ähnlicher
Rechnerleistung bereitgestellt. Auf beiden Prozessoren wird ein
entsprechender Steuerungsalgorithmus ausgeführt. Die Ergebnisse, und manchmal
auch die Zwischenergebnisse, werden beispielsweise vor dem Aktivieren
der jeweiligen Ausgabesignale verglichen. Wenn sich die Ergebnisse
signifikant unterscheiden, wird in einem von den zwei Prozessoren von
einem Fehler ausgegangen und das ganze System wird in einen „Ausfallsi cherungszustand" versetzt, in dem
zum Beispiel das System heruntergefahren wird, damit eine nicht
korrekte Steuerung vermieden wird. Da jedoch die Prozessorsteuerung während eines
regulären
Betriebs durchgeführt
wird, werden Fehler, die zu einem Herunterfahren des Steuerungssystems
führen
können,
erst erfasst, wenn sich das Auto bewegt, wobei dies in Bezug auf den
Autofahrer zu gefährlichen
Situationen führen kann.
-
Ein
anderer Lösungsansatz
zum Testen einer CPU besteht darin, einen Selbsttest in der CPU zu
integrieren, den so genannten eingebauten Selbsttest (BIST). Der
BIST benötigt
einen speziell zugeschnittenen Schaltkreis zum Durchführen des Selbsttests
des Prozessors. Dies beinhaltet jedoch die Notwendigkeit einer vollständigen Fehlerentkopplung
und heißt,
es gewährleistet
sein, dass ein einziger Fehler nicht die normale Funktion sowohl
der CPU als auch die der Selbsttestlogik verändern kann. Somit bringt eine
Implementierung der BIST -Funktionalität in einem Prozessor eine Kostensteigerung für Entwicklung,
Design und Produktion mit sich.
-
Ein
noch weitergehender Lösungsansatz
ist die so genannte Abtastungsprüfung
[Scan-Test] zum Testen der internen Schaltkreise in einem Prozessor. Ähnlich wie
beim BIST müssen
die zu überprüfenden Prozessoren
speziell ausgelegt sein, z. B. müssen bestimmte
prüfungstechnische
Merkmale in einem mikroelektronischen Hardware-Produktdesign hinzugefügt werden,
damit solche Tests möglich
sind. Daher werden diese Designtechniken auch „Design for Test" bzw. „Testgerechter
Entwurf" genannt.
In einem Abtastungsdesign umfassen sämtliche Speicherelemente (z.
B. Speicherregister, Flipflop-Speicher oder Signalspeicher) zwei
Betriebsvorgehensweisen. Im ersten Betriebsmodus op erieren die Speicherelemente
entsprechend ihres Verwendungszwecks in der Digitalschaltung und
im zweiten Betriebsmodus sind alle Speicherelemente in einem langen
Schieberegister (Abtastungskette) verbunden, das verwendet wird,
um Zugang zu internen Knoten in der Digitalschaltung zu erhalten.
Im Allgemeinen werden einige Speicherelemente der Abtastungskette
mit Eingabeanschlussstellen verbunden, um der seriellen Kette von
Speicherelementen Testdaten zur Verfügung zu stellen, wobei einige
Speicherelemente der Abtastungskette mit Ausgangsanschlussstellen
verbunden werden, damit die verarbeiteten Testdaten ausgelesen werden
können.
-
Wenn
aber ein Testen der Digitalschaltung während des normalen Schaltungsbetriebs
erfolgt, entstehen folgende zwei Probleme:
Erstens, der Schaltkreiszustand
verändert
sich nach dem Test im Hinblick auf den Schaltkreiszustand vor dem
Test, da die Testdaten in die Abtastungskette eingegeben und im
Schaltkreis aufbereitet worden sind.
-
Zweitens,
der Schaltkreis kann während
der Abtastungsprüfung,
die eine gewisse Zeit in Anspruch nimmt, nicht seine zweckbestimmte
Funktion ausführen.
Bei langen Abtastungsketten ist die benötigte Zeit besonders lang,
da das Verschieben der Testdaten oder Prüfmuster bei allen in Reihe
geschalteten Speicherelementen der Kette so viele Taktimpulse benötigt wie
die Anzahl der Speicherelemente ist, die in der Kette enthalten
sind.
-
Ein
Lösungsansatz
für das
zweite Problem besteht darin, eine lange, sequenzielle Abtastungskette
in mehrere, kürzere
Teilabtastungsketten zu unterteilen. Je doch muss ein Eingaben-/Ausgaben-Anschlussstellenpaar
für jede
partielle Kette bereitgestellt werden. Hinzu kommt, dass wegen der
hohen Anzahl an benötigten
Anschlussstellen die Taktfrequenz für die Ein-/Ausgabe von Daten über externe Anschlussstellen
allgemein erheblich niedriger als im Hinblick auf eine einzige für die Übertragung
von Daten innerhalb von integrierten Elementen ist.
-
Daher
besteht ein Bedarf für
eine Designentwicklung einer Digitalschaltung und für ein Verfahren zum
Testen einer Digitalschaltung, der einerseits kostengünstig ist
(und daher nicht auf teuere Spezialanwendungen limitiert ist) und
andererseits eine zuverlässige Überprüfung einer
Digitalschaltung während
ihres Betriebs ohne störenden
Eingriff in den ordnungsgemäßen Schaltkreisbetrieb
und mit nur einer minimalen Unterbrechung des normalen Schaltkreisbetriebs
bereitstellt.
-
KURZE ZUSAMMENFASSUNG DER
ERFINDUNG
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird eine Digitalschaltung bereitgestellt,
die eine erste Vielzahl von Speicherelementen und eine zweite Vielzahl
von Speicherelementen aufweist, wobei die Digitalschaltung in einem
ersten Betriebsmodus und in einem zweiten Betriebsmodus betrieben werden
kann und dadurch gekennzeichnet ist, dass im ersten Betriebsmodus
die Speicherelemente von der ersten Vielzahl von Speicherelementen
entsprechend ihres Verwendungszwecks in der Digitalschaltung operieren
und die Speicherelemente von der zweiten Vielzahl von Speicherelementen
in Reihe geschaltet sind, und die außerdem dadurch gekennzeichnet
ist, dass im zweiten Betriebsmodus die erste Vielzahl von Speicherelementen
mit der zweiten Vielzahl von Speicherelementen verbunden wird, um
einen Datenaustausch zwischen der ersten Vielzahl von Speicherelementen
und der zweiten Vielzahl von Speicherelementen zu ermöglichen.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Verfahren zum Testen einer
Digitalschaltung bereitgestellt, das dadurch gekennzeichnet ist,
dass die Schaltung eine erste Vielzahl von Speicherelementen und
eine zweite Vielzahl von Speicherelementen aufweist, wobei das Verfahren umfasst:
Bereitstellen
eines ersten Betriebsmodus, in dem Testdaten in die zweite Vielzahl
von Speicherelementen geladen werden, und in dem die erste Vielzahl von
Speicherelementen entsprechend ihres Verwendungszwecks in der Digitalschaltung
betrieben wird;
des Weiteren Bereitstellen eines zweiten Betriebsmodus,
in dem Dateninhalte von der ersten Vielzahl von Speicherelementen
mit Dateninhalten von der zweiten Vielzahl von Speicherelementen
ausgetauscht werden.
-
Weitere
kennzeichnende Merkmale, Aspekte und Vorteile der vorliegenden Erfindung
gehen aus der nachfolgenden, detaillierten Beschreibung der Erfindung
unter Bezugnahme auf die zugehörigen Zeichnungen
hervor.
-
KURZE BESCHREIBUNG VON DEN VERSCHIEDENEN
DARSTELLUNGEN DER ZEICHNUNG/EN
-
Die
Begleitzeichnungen befinden sich anliegend, um ein besseres Verständnis der
vorliegenden Erfindung vermitteln zu können, wobei sie in dieser beinhaltet
und ein Bestandteil von dieser Patentschrift sind. Die Zeichnungen
veranschaulichen Ausführungsformen
gemäß der vorliegenden
Erfindung und zusammen mit der Beschreibung dienen sie dazu, die
erfindungsgemäßen Grundsätze zu erklären. Andere
Ausführungsformen
gemäß der vorliegenden Erfindung
und viele zu erzielende Vorteile gemäß der vorliegenden Erfindung
werden sodann positiv bewertet, wenn sie unter Bezug auf die nachfolgende, detaillierte
Beschreibung besser verstanden werden.
-
1a zeigt
ein vereinfachtes Schaltschema von einem Ausführungsbeispiel einer herkömmlichen
Digitalschaltung.
-
1b zeigt
ein vereinfachtes Schaltschema von einem Ausführungsbeispiel einer herkömmlichen
Digitalschaltung mit einer Abtastungsprüfkapazität.
-
2 zeigt
ein als Beispiel gewähltes Schaltschema
einer Digitalschaltung gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
3 zeigt
ein als Beispiel gewähltes Schaltschema
einer Digitalschaltung gemäß einer weiteren
Ausführungsform
der vorliegenden Erfindung.
-
4 zeigt
ein als Beispiel gewähltes Schaltschema
einer Digitalschaltung gemäß einer weiteren
Ausführungsform
der vorliegenden Erfindung.
-
5 zeigt
einen vereinfachten, schematischen Programmablaufplan, der ein Verfahren
zum Testen einer Digitalschaltung gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
In
der nachfolgenden Beschreibung in den Einzelheiten wird auf die
begleitenden Zeichnungen Bezug genommen, die ein Bestandteil hierzu
sind, und in der anhand der Veranschaulichung von einzelnen Ausführungsformen
die Erfindung gezeigt wird, wie sie ausgeführt werden kann. Es versteht
sich jedoch, dass andere Ausführungsformen
angewendet und strukturelle oder sonstige Veränderungen vorgenommen werden
können,
ohne dass der Schutzumfang der vorliegenden Erfindung aufgegeben
wird. Die nachfolgende, detaillierte Beschreibung ist daher nicht
in einschränkender
Hinsicht zu bewerten und der Schutzumfang der vorliegenden Erfindung
wird durch die anhängenden
Patentansprüche
definiert.
-
1a zeigt
ein vereinfachtes Schaltschema von einem Ausführungsbeispiel für eine herkömmliche
Digitalschaltung.
-
Der
dargestellte Schaltkreis umfasst eine erste Vielzahl von Registern 11a,
eine zweite Vielzahl von Registern 11b, eine dritte Vielzahl
von Registern 11c, eine vierte Vielzahl von Registern 11d,
eine erste Vielzahl von Logikelementen 13a, eine zweite
Vielzahl von Logikelementen 13b und eine dritte Vielzahl von
Logikelementen 13c. Die erste Vielzahl von Registern 11a empfängt über Verbindungsleitungen 101 eine
Vielzahl von Eingangssignalen, wobei jedes Register von der ersten
Vielzahl von Registern 11a ein Eingangssignal empfängt.
-
Die
erste Vielzahl von Registern 11a ist über die Verbindungen 102 mit
der ersten Vielzahl von Logikelemen ten 13a verbunden, welche
die Eingangssignale aus der ersten Vielzahl von Registern 11a empfangen,
die Signale verarbeiten und die verarbeiteten Signale über Verbindungen 103 an
die zweite Vielzahl von Registern 11b weiterleiten. Die
zweite Vielzahl von Registern 11b stellt diese Signale über Verbindungen 104 an
die zweite Vielzahl von Logikelementen 13b bereit, welche
die empfangenen Signale verarbeiten und die verarbeiteten Signale über Verbindungen 105 an
die dritte Vielzahl von Registern 11c weiterleiten. Die
dritte Vielzahl von Registern 11c stellt diese Signale über Verbindungen 106 an die
dritte Vielzahl von Logikelementen 13c bereit, welche die
empfangenen Signale verarbeiten und die verarbeiteten Signale über Verbindungen 107 an
die vierte Vielzahl von Registern 11d weiterleiten. Die vierte
Vielzahl von Registern 11d gibt die empfangenen Signale über die
Verbindungsleitung 108 aus. Die erste, zweite, dritte und
vierte Vielzahl von Registern 11a, 11b, 11c, 11d empfangen
jeweils über
die Verbindungen 16a, 16b, 16c und 16d ein
Taktsignal.
-
1b zeigt
eine Digitalschaltung auf Basis des Schaltkreises aus 1a,
weist aber des Weiteren eine konventionelle Abtastungsprüffunktionalität auf. Zum
Implementieren der Abtastungsprüffunktionalität können die
erste, zweite, dritte und vierte Vielzahl von Registern 11a, 11b, 11c, 11d mit
zwei verschiedenen Betriebsmoden ausgeführt werden, wobei ein erster
Betriebsmodus als „normaler" Betriebsmodus funktioniert
und ein zweiter Betriebsmodus als Testmodus.
-
Zu
diesem Zweck wird ein Steuersignal an die erste, zweite, dritte
und vierte Vielzahl von Registern 11a, 11b, 11c, 11d jeweils über die
Verbindungen 17a, 17b, 17c und 17d bereitgestellt,
um den Testmodus zu aktivieren oder zu deaktivieren.
-
Im
Normalbetrieb operieren die Register entsprechend ihrer zweckbestimmten
Funktionalität
innerhalb der Digitalschaltung, wogegen im Testmodus alle Register
sequenziell mit einer Abtastungskette verbunden sind, d. h. die
Register innerhalb jeder Vielzahl von Registern 11a, 11b, 11c, 11d werden
sequenziell verbunden, wobei die Vielzahl von Registern 11a, 11b, 11c, 11d außerdem sequenziell
verbunden wird, um eine Abtastungskette zu bilden.
-
Zum
Ausführen
einer Abtastungsprüfung wird
das Steuersignal aktiviert, um zu bewirken, dass die Register im
Testmodus operieren, wozu zum Beispiel das Steuersignal von einem „0"-Zustand, der den
Normalbetrieb repräsentiert,
in einen „1"-Zustand, der den
Testmodus darstellt, geschaltet wird.
-
Danach
werden Testvektoren oder andere geeignete Testdaten über einen
Abtastungseingang in das erste Register von der Abtastungskette
eingegeben und anschließend
von einem Register zum nächsten
Register in der Abtastungskette sequenziell weitergeleitet. Daher
wird ein Taktimpuls für
jedes Serienregister zum Hinausschieben und zum Hineinschieben in
ein einziges Testvektorelement bei allen Registern von der Abtastungskette
beansprucht.
-
Anschließend wird
das Steuersignal deaktiviert, um zu bewirken, dass die Register
im Normalbetrieb operieren, wozu das Steuersignal zum Beispiel von
einem „1"-Zustand in einen „0"-Zustand geschaltet wird. Für einen oder
für mehrere
Taktimpulse werden die Testvektoren verarbeitet und über die Vielzahl
von Logikelementen 13a, 13b, 13c propagiert
bzw. verbreitet, bevor das Steuersignal wieder aktiviert wird, um
damit zu bewirken, dass die Register im Testmodus operieren.
-
Nun
werden die verarbeiteten Testvektoren aus den Registern hinausgeschoben,
d. h. sie werden aus dem letzten Register von der Abtastungskette über einen
Datenausgang ausgegeben, indem sie über die Register der Serienabtastungskette
sequenziell weitergeleitet werden. Daher wird für jedes Serienregister zum
Schieben und zum Ausgeben der Testvektoren aus allen Registern in
der Abtastungskette ein Taktimpuls beansprucht.
-
Folglich
werden zum Ausführen
der Abtastungsprüfung
als Beispiel mindestens 201 Takte für eine Abtastungskette von
100 Serienregistern benötigt
(100 Takte zum Eingeben der Testvektoren in die Serienregister,
mindestens ein Takt zum Propagieren der Testvektoren über die
Vielzahl von Logikelementen und 100 Takte zum Ausgeben der Testvektoren aus
den Serienregistern). Da während
dieser ziemlich langen Zeitperiode die Digitalschaltung ihre zweckbestimmte
Funktion nicht ausführen
kann und außerdem
der erste Betriebszustand des Schaltkreises verloren geht, wird
diese konventionelle Abtastungsprüfung mittlerweile nur für die Fertigungsprüfung verwendet.
-
2 zeigt
ein als Beispiel gewähltes Schaltschema
eines Abschnitts in einer Digitalschaltung Schaltkreis gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
Aus
Gründen
der Vereinfachung ist in 2 nur ein kleiner Abschnitt
eines digitalen Schaltkreises, d. h. werden nur sehr wenige Register,
bildlich dargestellt. Der dargestellte Abschnitt des digitalen Schaltkreises
umfasst eine erste Vielzahl bzw. einen Satz Speicherelemente 21a, 21b, 21c, 21d sowie eine
Vielzahl von Logikelementen 23a, 23b, 23c.
In der dargestellten Ausführungsform
sind die Speicherelemente 21a, 21b, 21c, 21d die
Register. Die vorliegende Erfindung ist jedoch nicht auf diese Register
beschränkt,
sondern es können
auch Speicherelemente jedes beliebigen Typs verwendet werden.
-
Die
Speicherelemente 21a, 21b, 21c, 21d sowie
die Logikelemente 23a, 23b, 23c können in
einer alternierenden Abfolge verbunden werden. Das Register 21a ist
mit dem Logikelement 23a verbunden, welches des Weiteren
mit dem Register 21b verbunden ist, das wiederum weiter
mit dem Logikelement 23b verbunden ist, welches wiederum
mit dem Register 21c weiter verbunden ist, das wiederum
mit dem Logikelement 23c weiter verbunden ist, welches
wiederum mit dem Register 21d weiter verbunden ist.
-
Der
Schaltkreis der 2 umfasst ferner eine zweite
Vielzahl bzw. einen zweiten Satz Speicherelemente 22a, 22b, 22c, 22d und
eine Vielzahl bzw. einen Satz Multiplexer 24a, 24b, 24c, 24d,
von denen jeder mit einem Speicherelement des zweiten Satzes von
Speicherelementen verbunden ist. In der dargestellten Ausführungsform
sind die Speicherelemente 22a, 22b, 22c, 22d die
Register. Die vorliegende Erfindung ist jedoch nicht auf diese Register
beschränkt,
sondern es können
auch Speicherelemente jedes beliebigen Typs verwendet werden.
-
Außerdem ist
ein einzelner Multiplexer 25 vorgesehen, der zwei verschiedene
Taktsignale, einen internen Takt und einen externen Takt, empfängt.
-
Ähnlich wie
beim Schaltkreis der 1b kann auch in dem Schaltkreis
der 2 der erste Satz von Registern 21a, 21b, 21c, 21d mit
zwei verschiedenen Betriebsmoden ausgeführt werden, wobei ein erster
Betriebsmodus als „normaler" Betriebsmodus funktioniert
und ein zweiter Betriebsmodus als Testmodus.
-
Dementsprechend
wird ein erstes Modussteuersignal jedem Register des ersten Satzes
von Registern 21a, 21b, 21c, 21d über die
Verbindungen 27a, 27b, 27c, 27d zugestellt,
um den Betriebsmodus für
den ersten Satz Register 21a, 21b, 21c, 21d zu
spezifizieren. Zum Beispiel kann der Testmodus durch eine „1" dargestellt werden
und der normale Betriebsmodus durch eine „0", die in dem ersten Modussteuersignal,
oder umgekehrt, enthalten ist, aber auch andere Mittel des Anzeigens/Steuerns
des Betriebsmodus sind möglich.
-
Im
normalen Betriebsmodus operiert der erste Satz Register 21a, 21b, 21c, 21d entsprechend dessen
zweckbestimmter Funktionalität
innerhalb des digitalen Schaltkreises, wogegen im Testmodus jedes
Register im ersten Registersatz 21a, 21b, 21c, 21d von
den Logikelementen 23a, 23b, 23b des Schaltkreises
getrennt und mit einem korrespondierenden Register aus der zweiten
Vielzahl von Registern 22a, 22b, 22c, 22d verbunden
wird.
-
Auch
der zweite Registersatz 22a, 22b, 22c, 22d kann
in einem ersten Betriebsmodus und in einem zweiten Betriebsmodus
ausgeführt
werden.
-
Dementsprechend
wird ein zweites Modussteuersignal jedem Register des zweiten Registersatzes 22a, 22b, 22c, 22d über die
Verbindungen 28a, 28b, 28c, 28d zugestellt,
um den Betriebsmodus für
den zweiten Registersatz zu spezifizieren. Zum Beispiel kann der
zweite Betriebsmodus durch eine „1" dargestellt werden und der erste Betriebsmodus
durch eine „0", die in dem zweiten
Modussteuersignal, oder umgekehrt, enthalten ist, aber auch andere
Mittel des Anzeigens/Steuerns des Betriebsmodus sind möglich.
-
Außerdem wird
das zweite Modussteuersignal über
die Verbindung 28e dem zusätzlichen, einzelnen Multiplexer 25 zugestellt,
um einen der Takte, den internen oder den externen, an den Eingängen des
zusätzlichen
Einzelmultiplexers 25 zu selektieren. Das selektierte Taktsignal
wird dem ersten Registersatz 21a, 21b, 21c, 21d über die
Verbindungen 29a, 29b, 29c, 29d und
dem Multiplexersatz 24a, 24b, 24c, 24d über die
Verbindungen 29e, 29f, 29g, 29h zur
Verfügung
gestellt. Das selektierte Taktsignal ist der Takt, mit dem Daten
in die zweite Vielzahl von Registern 22a, 22b, 22c, 22d transferiert
werden können.
Dies kann aber ein ziemlich langsamer Takt sein, wenn die jeweiligen
Daten zum Schaltkreis extern gespeichert sind, und wenn sie beispielsweise über entsprechende
Pads eingespeist werden müssen,
oder aber es kann ein schneller Takt sein, wenn die jeweiligen Daten
im digitalen Schaltkreis gespeichert sind.
-
Zu
Beginn eines Tests für
den digitalen Schaltkreis in 2 werden
Testdaten, z. B. Testvektoren, in den zweiten Registersatz 22a, 22b, 22c, 22d ge laden.
Zu diesem Zweck wird der zweite Registersatz 22a, 22b, 22c, 22d bzw.
genauer gesagt, der Multiplexersatz 24a, 24b, 24c, 24d im
ersten Betriebsmodus ausgeführt
(wobei das zweite Modussteuersignal beispielsweise eine „0" umfasst).
-
Im
ersten Betriebsmodus leitet jeder Multiplexersatz 24a, 24b, 24c, 24d die
an seinem ersten Eingang empfangenen Daten an das mit ihm verbundene
Register des zweiten Registersatzes 22a, 22b, 22c, 22d weiter.
-
Ein
erster Multiplexer 24d aus dem Multiplexersatz 24a, 24b, 24c, 24d hat
seinen ersten Eingang mit einem Abtastungsdateneingang über die Verbindung 220 zum
Empfangen jeweils der Testdaten oder der Testvektoren verbunden.
-
Alle
anderen Multiplexer aus dem Multiplexersatz 24a, 24b, 24c, 24d haben
deren erste Eingänge
mit einem Ausgang eines „vorausgehenden" Registers des zweiten
Registersatzes 22a, 22b, 22c, 22d verbunden.
Mit anderen Worten, der erste Eingang des Multiplexers 24c ist
mit dem Ausgang des Registers 22d über die Verbindung 221 verbunden, der
erste Eingang des Multiplexers 24b ist mit dem Ausgang
des Registers 22c über
die Verbindung 222 verbunden, der erste Eingang des Multiplexers 24a ist
mit dem Ausgang des Registers 22b über die Verbindung 223 verbunden.
-
Das „quasi" letzte Register 22a (dessen
Ausgang nicht mit einem ersten Eingang eines „folgenden" Multiplexers verbunden ist) hat seinen
Ausgang mit einem Datenausgang über
die Verbindung 224 zum Ausgeben von Daten verbunden, die
aus der Überprüfung des
Schaltkreises resultieren.
-
Wenn
folglich der erste Betriebsmodus ausgeführt wird, bildet der zweite
Registersatz 22a, 22b, 22c, 22d eine
sequenzielle Abtastungskette bzw. effektiv ein Schieberegister,
in das/aus dem die Testvektoren sequenziell geladen bzw. ausgelesen
werden können.
-
Während des
Vorgangs des Ladens der Testvektoren in den zweiten Registersatz 22a, 22b, 22c, 22d wird
der erste Registersatz 21a, 21b, 21c, 21d im
normalen Betriebsmodus ausgeführt
und deshalb wird der Normalbetrieb der Digitalschaltung nicht unterbrochen.
-
Nachdem
der vorstehend beschriebene Vorgang des Ladens der Testvektoren
beendet ist, empfängt
der Multiplexersatz 24a, 24b, 24c, 24d,
der mit dem zweiten Registersatz 22a, 22b, 22c, 22d verbunden
ist, ein entsprechendes zweites Modussteuersignal (z. B. „1"), was bewirkt, dass
die Multiplexer in den zweiten Betriebsmodus geschaltet werden. Außerdem schaltet
der erste Registersatz 21a, 21b, 21c, 21d in
den Testmodus, nachdem er ein entsprechendes erstes Modussteuersignal
(z. B. „1") empfangen hat.
-
Im
zweiten Betriebsmodus leitet jeder Multiplexersatz 24a, 24b, 24c, 24d die
an seinem zweiten Eingang empfangenen Daten an das mit ihm verbundene
Register des zweiten Registersatzes 22a, 22b, 22c, 22d weiter.
-
Im
Testmodus wird jedes Register im ersten Registersatz 21a, 21b, 21c, 21d von
den Logikelementen 23a, 23b, 23c des
Schaltkreises getrennt und mit einem korrespondierenden Register
aus der zweiten Vielzahl von Registern 22a, 22b, 22c, 22d verbunden.
-
Zum
besseren Verständnis
des weiteren Betriebs des Schaltkreises wird ein Registerpaar, das aus
einem Register 21d des ersten Registersatzes und aus einem
Register 22d des zweiten Registersatzes besteht, nachfolgend
genauer erläutert.
-
Bei
diesem als Beispiel gewählten
Registerpaar ist ein Ausgang des Registers 21d mit einem Eingang
des Registers 22d über
den Multiplexer 24d und ein Ausgang des Registers 22d mit
einem Eingang des Registers 21d verbunden, was einen Austausch
von Dateninhalten ermöglicht,
die in den Registern 21d und 22d gepuffert sind.
Dementsprechend werden die Testdaten oder Testvektoren vom Register 22d zu
dem Register 21d übertragen
und der Erstinhalt des Registers 21d wird in das Register 22d transferiert.
-
In
den anderen Registerpaaren, welche auch ein Register des ersten
Registersatzes 21a, 21b, 21c, 21d und
ein korrespondierendes Register des zweiten Registersatzes 22a, 22b, 22c, 22d enthalten,
findet ein Datentransfer in einer analogen Weise statt.
-
Folglich
bleibt der tatsächliche
Betriebszustand des Schaltkreises im zweiten Registersatz 22a, 22b, 22c, 22d erhalten
und die Testvektoren werden in den ersten Registersatz geladen,
wobei ein minimaler Zeitaufwand erforderlich ist, da die Testvektoren
in einer parallelen Weise geladen werden. Im Gegensatz dazu geht
in herkömmlichen
Systemen, wie in 1b dargestellt, der tatsächliche
Betriebszustand des Systems verloren, wenn die Testvektoren in die
Register geladen werden, wobei der Vorgang des Ladens erheblich
mehr Zeit erfordert, da die Testvektoren in die Register sequenziell
geladen werden müssen.
-
Anschließend wird
der erste Registersatz 21a, 21b, 21c, 21d veranlasst,
durch ein entsprechendes erstes Modussteuersignal (z. B. „0") in den ersten Betriebsmodus
umzuschalten, damit die Testvektoren über die Logikelemente mindestens
einen Takt lang propagieren können.
-
Daraufhin
wird der erste Registersatz 21a, 21b, 21c, 21d veranlasst,
durch ein entsprechendes erstes Modussteuersignal (z. B. „1") in den zweiten Betriebsmodus
zurückzuschalten,
damit ein Rückaustausch
von Daten zwischen den jeweiligen Registerpaaren aus dem ersten
und dem zweiten Registersatz ermöglicht
wird, d. h. die verarbeiteten Testvektoren werden aus dem ersten
Registersatz 21a, 21b, 21c, 21d in
den zweiten Registersatz 22a, 22b, 22c, 22d übertragen
und die Dateninhalte des zweiten Registersatzes 22a, 22b, 22c, 22d werden
in den ersten Registersatz 21a, 21b, 21c, 21d zurücktransferiert, um
den Betriebszustand wieder herzustellen, in dem sich der Schaltkreis
vor dem Test befand.
-
Anschließend wird
der erste Registersatz 21a, 21b, 21c, 21d veranlasst,
durch ein entsprechendes erstes Modussteuersignal (z. B. „0") in den normalen
Betriebsmodus zurückzuschalten,
um einen kontinuierlichen Normalbetrieb des Schaltkreises zu ermöglichen.
-
Gleichzeitig
empfängt
der Multiplexersatz 24a, 24b, 24c, 24d,
der mit dem zweiten Registersatz 22a, 22b, 22c, 22d verbunden
ist, ein entsprechendes zweites Modussteuersignal (z. B. „0"), was bewirkt, dass
die Multiplexer in den ersten Betriebsmodus umgeschaltet werden.
Im ersten Betriebsmodus werden die ersten Eingänge der Multiplexer aktiviert, so
dass der zweite Registersatz 22a, 22b, 22c, 22d effektiv
ein Schieberegister bildet, von dem die Prüfergebnisse, d. h. die verarbeiteten
Testvektoren, zum Abtastungsausgang sequenziell ausgegeben werden.
-
3 zeigt
ein als Beispiel gewähltes Schaltschema
eine Digitalschaltung gemäß einer weiteren
Ausführungsform
der vorliegenden Erfindung.
-
Der
dargestellte Schaltkreis umfasst eine erste Vielzahl von Speicherelementen 31a,
eine zweite Vielzahl von Speicherelementen 31b, eine dritte
Vielzahl von Speicherelementen 31c, eine vierte Vielzahl
von Speicherelementen 31d, eine erste Vielzahl von Logikelementen 33a,
eine zweite Vielzahl von Logikelementen 33b und eine dritte
Vielzahl von Logikelementen 33c. Die erste Vielzahl von
Speicherelementen 31a empfängt über Verbindungsleitungen 301 eine
Vielzahl von Eingangssignalen, wobei jedes Register aus der ersten
Vielzahl von Speicherelementen 31a ein Eingangssignal empfängt.
-
Die
erste Vielzahl von Speicherelementen 31a ist über die
Verbindungen 302 mit der ersten Vielzahl von Logikelementen 33a verbunden,
welche die Eingangssignale aus der ersten Vielzahl von Speicherelementen 31a empfangen,
die Signale verarbeiten und die verarbeiteten Signale über Verbindungen 303 an
die zweite Vielzahl von Speicherelementen 31b weiterleiten.
Die zweite Vielzahl von Speicherelementen 31b stellt diese
Signale über
Ver bindungen 304 an die zweite Vielzahl von Logikelementen 33b bereit,
welche die empfangenen Signale verarbeiten und die verarbeiteten
Signale über
Verbindungen 305 an die dritte Vielzahl von Speicherelementen 31c weiterleiten.
Die dritte Vielzahl von Speicherelementen 31b stellt diese
Signale über
Verbindungen 306 an die dritte Vielzahl von Logikelementen 33c bereit,
welche die empfangenen Signale verarbeiten und die verarbeiteten
Signale über
Verbindungen 307 an die vierte Vielzahl von Speicherelementen 31d weiterleiten.
Die vierte Vielzahl von Speicherelementen 31d gibt die
empfangenen Signale über
die Verbindungsleitung 308 aus.
-
Der
Schaltkreis der 3 umfasst ferner eine erste
weitere Vielzahl von in Reihe geschalteten Speicherelementen 32a,
eine zweite weitere Vielzahl von in Reihe geschalteten Speicherelementen 32b, eine
dritte weitere Vielzahl von in Reihe geschalteten Speicherelementen 32c,
eine vierte weitere Vielzahl von in Reihe geschalteten Speicherelementen 32d und
eine Vielzahl von bzw. einen Satz Multiplexern 34a, 34b, 34c, 34d,
von denen jeder mit einer jeweiligen Vielzahl von Speicherelementen
aus den weiteren Vielzahlen von Speicherelementen 32a, 32b, 32c, 32d verbunden
ist.
-
In
der dargestellten Ausführungsform
sind die Speicherelemente aus den Vielzahlen von Speicherelementen 31a, 31b, 31c, 31d und
aus den weiteren Vielzahlen von Speicherelementen 32a, 32b, 32c, 32d die
Register. Die vorliegende Erfindung ist jedoch nicht auf diese Register
beschränkt,
sondern es können
auch Speicherelemente jedes beliebigen Typs verwendet werden. Des
Weiteren ist die vorliegende Erfindung nicht auf eine bestimmte
Zahl von Vielzahlen von (weiteren) Speicherelementen beschränkt. Eine
Digitalschaltung gemäß der Erfindung kann
mindestens zwei, aber auch viele mehr (weitere) Vielzahlen von Speicherelementen
aufweisen.
-
Außerdem ist
ein einzelner Multiplexer 35 bereitgestellt, der zwei verschiedene
Taktsignale, einen internen Takt und einen externen Takt, empfängt.
-
Ähnlich wie
beim Schaltkreis der 1b können auch in dem Schaltkreis
der 3 die Vielzahlen von Registern 31a, 31b, 31c, 31d mit
zwei verschiedenen Betriebsmoden ausgeführt werden, wobei ein erster
Betriebsmodus als „normaler" Betriebsmodus und
ein zweiter Betriebsmodus als Testmodus funktioniert.
-
Dementsprechend
wird ein erstes Modussteuersignal jedem Register von den Vielzahlen
der Register 31a, 31b, 31c, 31d über die
Verbindungen 37a, 37b, 37c, 37d bereitgestellt,
um den Betriebsmodus für
die Vielzahl von Registern 31a, 31b, 31c, 31d zu
spezifizieren. Zum Beispiel kann der Testmodus durch eine „1" dargestellt werden
und der normale Betriebsmodus durch eine „0", die, oder umgekehrt, in dem ersten
Modussteuersignal enthalten ist, aber auch andere Mittel des Anzeigens/Steuerns
des Betriebsmodus sind möglich.
-
Im
normalen Betriebsmodus operieren die Vielzahlen von Registern 31a, 31b, 31c, 31d entsprechend
deren zweckbestimmter Funktionalität innerhalb des digitalen Schaltkreises,
wogegen im Testmodus jede der ersten, zweiten, dritten und vierten Vielzahlen
von Registern 31a, 31b, 31c, 31d von
den Logikelementen 33a, 33b, 33c des
Schaltkreises getrennt und mit einem korrespon dierenden Register aus
den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d verbunden
werden.
-
Auch
die weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d können in
einem ersten Betriebsmodus und in einem zweiten Betriebsmodus ausgeführt werden.
-
Dementsprechend
wird ein zweites Modussteuersignal jeder der weiteren Vielzahlen
von Registern 32a, 32b, 32c, 32d über die
Verbindungen 38a, 38b, 38c, 38d zugestellt,
um den Betriebsmodus für die
weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d zu
spezifizieren. Zum Beispiel kann der zweite Betriebsmodus durch
eine „1" dargestellt werden
und der erste Betriebsmodus durch eine „0", die, oder umgekehrt, in dem zweiten
Modussteuersignal enthalten ist, aber auch andere Mittel des Anzeigens/Steuerns
des Betriebsmodus sind möglich.
-
Außerdem wird
das zweite Modussteuersignal über
die Verbindung 38e des Weiteren dem zusätzlichen, einzelnen Multiplexer 35 bereitgestellt, um
jeweils einen der Takte, den internen oder den externen, an den
Eingängen
des zusätzlichen
Einzelmultiplexers 35 zu selektieren. Das selektierte Taktsignal
wird den Vielzahlen von Registern 31a, 31b, 31c, 31d über die
Verbindungen 39a, 39b, 39c, 39d und
dem Satz von Multiplexern 34a, 34b, 34c, 34d über die
Verbindungen 39e, 39f, 39g, 39h zur
Verfügung
gestellt. Das selektierte Taktsignal ist der Takt, mit dem Daten
in die weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d transferiert
werden können. Dies
kann ein ziemlich langsamer Takt sein, wenn die jeweiligen Daten
zum Schaltkreis extern gespeichert sind, und wenn sie beispielsweise über entsprechende
Pads eingespeist werden müssen,
oder aber es kann ein schneller Takt sein, wenn die jeweiligen Daten
im digitalen Schaltkreis gespeichert sind.
-
Zu
Beginn eines Test für
den digitalen Schaltkreis der 3 werden
Testdaten, z. B. Testvektoren, in die weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d geladen.
Zu diesem Zweck werden die Vielzahlen von Registern 32a, 32b, 32c, 32d,
bzw. genauer gesagt, der Satz von Multiplexern 34a, 34b, 34c, 34d im
ersten Betriebsmodus ausgeführt
(wobei das zweite Modussteuersignal beispielsweise eine „0" umfasst).
-
Im
ersten Betriebsmodus leitet jeder Multiplexersatz 34a, 34b, 34c, 34d die
an seinem ersten Eingang empfangenen Daten an das jeweils eine mit ihm
verbundene Register aus den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d weiter.
-
Ein
erster Multiplexer 34d aus dem Multiplexersatz 34a, 34b, 34c, 34d hat
seinen ersten Eingang mit einem Dateneingang über die Verbindung 320 zum
Empfangen jeweils der Testdaten oder der Testvektoren verbunden.
-
Alle
anderen Multiplexer aus dem Multiplexersatz 34a, 34b, 34c, 34d haben
deren erste Eingänge
mit einem Ausgang eines „vorausgehenden" Registers aus den
weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d verbunden.
Mit anderen Worten, der erste Eingang des Multiplexers 34c ist
mit dem Ausgang der vierten weiteren Vielzahl von Registern 32d über die
Verbindung 321 verbunden, der erste Eingang des Multiplexers 34b ist
mit dem Ausgang der dritten weiteren Vielzahl von Registern 32c über die
Verbindung 322 verbunden und der erste Eingang des Multiplexers 34a ist
mit dem Ausgang der zweiten weiteren Vielzahl von Registern 32b über die
Verbindung 323 verbunden.
-
Die
erste weitere Vielzahl von Registern 32a (deren Ausgang
nicht mit einem ersten Eingang eines „folgenden" Multiplexers verbunden ist) hat ihren Ausgang
mit einem Abtastungsdatenausgang über die Verbindung 324 zum
Ausgeben von Daten verbunden, die aus der Überprüfung des Schaltkreises resultieren.
-
Wenn
folglich der erste Betriebsmodus ausgeführt wird, werden alle Register
von den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d sequenziell
mit einer Abtastungskette verbunden bzw. effektiv mit einem langen
Schieberegister, in das die Testvektoren sequenziell geladen werden,
wobei die Register innerhalb einer jeden der weiteren Vielzahlen von
Registern 32a, 32b, 32c, 32d sequenziell
verbunden werden, und wobei außerdem
die weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d verbunden
werden, um das eine, lange Schieberegister zu bilden.
-
Während des
Vorgangs des Ladens der Testvektoren in die weiteren Vielzahlen
von Registern 32a, 32b, 32c, 32d werden
die Vielzahlen von Registern 31a, 31b, 31c, 31d im
normalen Betriebsmodus ausgeführt
und deshalb wird der Normalbetrieb der Digitalschaltung nicht unterbrochen.
-
Nachdem
der vorstehend beschriebene Vorgang des Ladens der Testvektoren
beendet ist, empfängt
der Multiplexersatz 34a, 34b, 34c, 34d,
der mit den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d verbunden
ist, ein entsprechendes zweites Modussteuersignal (z. B. „1"), was bewirkt, dass
die Multiplexer in den zweiten Betriebsmodus umgeschaltet werden.
Auch die Vielzahlen von Registern schalten in den Testmodus, nachdem
sie ein entsprechendes erstes Modussteuersignal (z. B. „1") empfangen haben.
-
Im
zweiten Betriebsmodus leitet jeder Multiplexersatz 34a, 34b, 34c, 34d die
an seinem zweiten Eingang empfangenen Daten an das eine mit ihm verbundene
Register aus den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d weiter.
-
Im
Testmodus wird jedes von den Vielzahlen der Register 31a, 31b, 31c, 31d von
den Logikelementen 33a, 33b, 33c des
Schaltkreises getrennt und mit einem korrespondierenden Register
aus den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d verbunden.
-
Zum
besseren Verständnis
des weiteren Betriebs des Schaltkreises wird ein Registerpaar aus den
Vielzahlen von Registern, das aus der vierten Vielzahl von Registern 31d und
den vierten weiteren Vielzahlen von Registern 32d besteht,
nachfolgend genauer erläutert.
-
Bei
diesem als Beispiel gewählten
Registerpaar aus den Vielzahlen von Registern ist ein Ausgang von
der vierten Vielzahl von Registern 31d mit einem Eingang
von der vierten weiteren Vielzahl von Registern 32d über den
Multiplexer 24d verbunden, wobei ein Ausgang von der vierten
weiteren Vielzahl von Registern 32d mit einem Eingang von
der vierten Vielzahl von Registern 31d verbunden ist, welches einen
Austausch von Dateninhalten ermöglicht,
die in jedem Register aus den Vielzahlen von Registern 31d und 32d gepuffert
sind.
-
Demzufolge
werden die Testvektoren von jedem Register von der vierten weiteren
Vielzahl von Registern 32d in die jeweiligen Register von
der vierten Vielzahl von Registern 31d transferiert und
der Erstinhalt der Register von der vierten Vielzahl von Registern 31d wird
in die jeweiligen Register von der vierten weiteren Vielzahl von
Registern 32d übertragen.
-
In
diesem Prozess werden die Inhalte der jeweiligen Register sequenziell übertragen,
wobei der Inhalt des einen Registers per Takt übertragen wird, welcher ein
schneller, interner Taktimpuls ist. Dieser Datenaustausch kann als
ein Datenaustausch zwischen zwei FIFO-Registern (FIFO = First-In-First-Out)
angesehen werden. Folglich nachdem so viele Zyklen, wie die Anzahl
der Register in den vierten (weiteren) Vielzahlen von Registern
ist, die Inhalte der vierten Vielzahl von Registern 31d sind
und die vierte weitere Vielzahl von Registern 32d komplett
ausgetauscht wird, umfasst z. B. die vierte Vielzahl von Registern 31d die
Erstinhalte der vierten weiteren Vielzahl von Registern 32d und
umgekehrt.
-
In
den anderen Paaren aus den Vielzahlen von Registern, welche auch
jeweils ein Register aus den Vielzahlen von Registern 31a, 31b, 31c und
ein korrespondierendes Register aus den weiteren Vielzahlen von
Registern 32a, 32b, 32c enthalten, findet die
Datenübertragung
in einer analogen Weise statt. Diese Datenübertragungen können mit
dem schnellen internen Taktimpuls parallel ausgeführt werden, wobei
sich die Zeitspanne, die für
ein Laden der Testvektoren in die Vielzahlen von Registern 31a, 31b, 31c, 31d benötigt wird,
signifikant reduziert. Dementsprechend wird eine lange Abtastungskette
in mehrere kürzere
Teilabtastungsketten, die parallel verarbeitet werden, unterteilt.
Wenn man beispielsweise 96 Register annimmt, welche mit vier Teilabtastungsketten
verbunden sind, dann werden nur etwa 49 Takte für die Abtastungsprüfung benötigt: 24
Takte zum Verschieben der Testvektoren in die Vielzahlen von Registern,
etwa einen Takt zum Propagieren der Testvektoren über die
Vielzahlen von Logikelementen und 24 Takte zum Verschieben der Ergebnisvektoren
(die verarbeiteten Testvektoren) aus den Vielzahlen von Registern.
-
Ferner
bleibt der tatsächliche
Zustand des Schaltkreises in den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d aufrechterhalten
und wird in die Vielzahlen von Registern 31a, 31b, 31c, 31d zurückgeschoben,
um nach der Abtastungsprüfung
den Erstzustand der Digitalschaltung wieder herzustellen.
-
Im
Gegensatz dazu geht in herkömmlichen Systemen,
wie in 1b dargestellt, der tatsächliche Betriebszustand
des Systems verloren, sobald die Testvektoren in die Register geladen
werden, wobei zudem der Vorgang des Ladens erheblich mehr Zeit beansprucht,
da die Testvektoren in die Register mit einem ziemlich langsamen
externen Takt sequenziell geladen werden müssen.
-
Anschließend werden
die Vielzahlen von Registern 31a, 31b, 31c, 31d veranlasst,
durch ein entsprechendes erstes Modussteuersignal (z. B. „0") in den ersten Betriebsmodus
umzuschalten, damit die Testvektoren über die Vielzahlen von Logikelementen
mindestens einen Takt lang propagieren können.
-
Daraufhin
werden die Vielzahlen von Registern 31a, 31b, 31c, 31d veranlasst,
durch ein entsprechendes erstes Modussteuersignal (z. B. „1") in den zweiten
Betriebsmodus zurückzuschalten,
damit ein Rückaustausch
von Daten zwischen den jeweiligen Registerpaaren aus den Vielzahlen
von Registern 31a, 31b, 31c, 31d und
den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d ermöglicht wird,
d. h. die verarbeiteten Testvektoren werden aus den Vielzahlen von
Registern 31a, 31b, 31c, 31d zu
den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d übertragen
und die Dateninhalte von den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d werden
zu den Vielzahlen von Registern 31a, 31b, 31c, 31d zurücktransferiert,
um den Betriebszustand wieder herzustellen, in dem sich der Schaltkreis
vor dem Test befand.
-
Anschließend werden
die Vielzahlen von Registern 31a, 31b, 31c, 31d veranlasst,
durch ein entsprechendes erstes Modussteuersignal (z. B. „0") in den normalen
Betriebsmodus zurückzuschalten,
um einen kontinuierlichen Normalbetrieb des Schaltkreises zu ermöglichen.
-
Gleichzeitig
empfängt
der Satz Multiplexer 34a, 34b, 34c, 34d,
der mit den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d verbunden
ist, ein entsprechendes zweites Modussteuersignal (z. B. „0"), was bewirkt, dass
die Multiplexer in den ersten Betriebsmodus geschaltet werden. Im
ersten Betriebsmodus werden die ersten Eingänge der Multiplexer aktiviert,
so dass alle Register aus den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d effektiv ein
Schieberegister bilden, wobei die Register innerhalb einer jeden
von den weiteren Vielzahlen von Registern 32a, 32b, 32c, 32d sequenziell
verbunden werden, und wobei außerdem
die weiteren Vielzahlen von Re gistern 32a, 32b, 32c, 32d verbunden
werden, um das lange Schieberegister zu bilden. Aus diesem langen
Schieberegister werden die Prüfergebnisse,
d. h. die verarbeiteten Testvektoren, an den Abtastungsausgang sequenziell
ausgegeben.
-
4 zeigt
ein als Beispiel gewähltes Schaltschema
einer Digitalschaltung gemäß einer weiteren
Ausführungsform
der vorliegenden Erfindung.
-
Der
Schaltkreis der 4 basiert auf dem Schaltkreis
der 3, umfasst jedoch außerdem zusätzlich zu den Elementen des
Schaltkreises der 4 eine Datenkomprimiereinrichtung 41 und
eine Datendekomprimiervorrichtung 42 zum Reduzieren des
Datenvolumens, das von außen
in die zu überprüfende Digitalschaltung
eingeführt
wird. Was die zu überprüfenden Schaltungen
betrifft, so ist ein leicht zu bewältigendes Volumen von Fehlern
zu erwarten, wofür
der initiierende Testvektor durch eine Polynomteilung komprimiert
werden kann, welches aber ein verlustreiches Komprimierungsverfahren
ist. Dies bedeutet in diesem Zusammenhang, dass es eine gewisse
Wahrscheinlichkeit gibt, dass sich Mehrfachfehler gegenseitig aufheben
können.
Da jedoch eine vollständige Überprüfung 100–1000 verschiedene Testvektoren
aufweist, ist davon auszugehen, dass ein Fehler in den Mehrfachfehlern
immer wieder getestet wird. Deshalb kann hier eine Datenkomprimierung
durch Polynomteilung ausgeführt
werden, um das von außen
in die Digitalschaltung einzuführende und
von außen
zu untersuchende Datenvolumen nach der Abtastungsüberprüfung erheblich
zu reduzieren. In der digitalen Schaltkreistechnologie ist diese
Art der Datenkomprimierung in der Regel durch linear rückgekoppelte
Schieberegister (LSFR) implementiert.
-
Zum
Generieren von Testvektoren, die für eine Abtastungsprüfung in
einer Digitalschaltung geeignet sind, können handelsübliche Computer-Softwareprogramme
verwendet werden.
-
5 zeigt
einen vereinfachten, schematischen Programmablaufplan, der ein Verfahren
zum Testen einer Digitalschaltung gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung zeigt.
-
Im
Betriebsschritt 501 wird die erste Vielzahl von Speicherelementen
entsprechend deren Verwendungszweck in der Digitalschaltung ausgeführt, wobei – simultan – im Schritt 502 die
Testdaten in die zweite Vielzahl von Speicherelementen geladen werden.
-
Dann
wird im Schritt 503 der Betriebsvorgang der ersten Vielzahl
von Speicherelementen entsprechend für deren Verwendungszweck in
der Digitalschaltung angehalten. In der Zwischenzeit werden – im Schritt 504 – die Dateninhalte
von der ersten Vielzahl von Speicherelementen mit Dateninhalten von
der zweiten Vielzahl von Speicherelementen ausgetauscht.
-
Nachdem
der Datenaustausch im Schritt 504 beendet worden ist, wird
die erste Vielzahl von Speicherelementen entsprechend deren Verwendungszweck
in der Digitalschaltung ausgeführt,
um im Schritt 505 die Testdaten verarbeiten.
-
Dann
wird – im
Schritt 506 – der
Betriebsvorgang der ersten Vielzahl von Speicherelementen entsprechend
für deren
Verwendungszweck in der Digitalschaltung erneut angehalten und im
Schritt 507 werden die Dateninhalte von der ersten Vielzahl
von Speicherelementen mit den Dateninhalten von der zweiten Vielzahl
von Speicherelementen ausgetauscht.
-
Obwohl
einzelne Ausführungsformen
veranschaulicht und beschrieben worden sind, wird von den Fachleuten
auf dem Gebiet positiv bewertet werden, dass diese einzelnen, aufgezeigten
und beschriebenen Ausführungsformen
mit einer Vielfalt an alternativen und/oder äquivalenten Implementierungen
ersetzt werden können,
ohne dass der Schutzumfang der vorliegenden Erfindung aufgegeben
wird. Diese Patentanmeldung soll sämtliche Adaptierungen oder
Varianten im Hinblick auf die in der Beschreibung erläuterten,
spezifischen Ausführungsformen
einschließen.
Dementsprechend ist die vorliegende Erfindung nur durch die Patentansprüche und deren
Entsprechungen einzuschränken.