DE19748016A1 - Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen - Google Patents
Kostengünstiges Prüfverfahren für RegisterübertragungspegelschaltungenInfo
- Publication number
- DE19748016A1 DE19748016A1 DE19748016A DE19748016A DE19748016A1 DE 19748016 A1 DE19748016 A1 DE 19748016A1 DE 19748016 A DE19748016 A DE 19748016A DE 19748016 A DE19748016 A DE 19748016A DE 19748016 A1 DE19748016 A1 DE 19748016A1
- Authority
- DE
- Germany
- Prior art keywords
- circuit
- test
- scan
- change
- flip
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318586—Design for test with partial scan or non-scannable parts
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318392—Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren zum
Prüfen elektronischer Schaltungen und insbesondere ein Ver
fahren zum Prüfen sequentieller Schaltungen, durch das ohne
hohen zusätzlichen Platzbedarf und ohne lange Prüfmusterver
arbeitungszeiten, die mit einem Prüfverfahren mit Vollabta
stung verbunden sind, kombinatorische Prüfmuster verwendet
werden können.
Trotz jüngster Fortschritte bei Verfahren zum Erzeugen
sequentieller automatischer Prüfprogramme (ATPG) bleibt die
Prüfmustererzeugung für sequentielle Schaltungen eine
schwierige Aufgabe und erfordert sogar für sequentielle
Schaltungen mittlerer Größe erhebliche Rechenressourcen zum
Erzeugen von Prüfmustern. Daher wurden zahlreiche Verfahren
zum Entwickeln prüfbarer Strukturen (design-for-testability
(DFT)) vorgeschlagen, durch die der Prozeß der Prüfmusterer
zeugung für sequentielle Schaltungen unterstützt wird
(vergl. z. B. T.W. Williams und K.P. Parker, "Design for Te
stability - a Survey", Proceedings of the IEEE, 71(1)98-112,
Januar 1983, und E. Eichelberger und T. Williams, "A Logic
Design Structure for LSI Testability", 14th Design Automation
Conference, ACM/IEEE, Seiten 462-468, Juni 1977)
Durch Prüfverfahren mit Vollabtastung, bei denen alle
Flipflops (FF) einer Schaltung während eines Prüfmodus steu
erbar und beobachtbar sind, wird das beim sequentiellen
ATPG-Verfahren auftretende Problem durch Umformen der se
quentiellen Schaltung in eine kombinatorische Schaltung für
den Prüfvorgang wirksam gelöst. Außerdem wurde, weil kombi
natorische ATPG-Programme zum Handhaben großer industrieller
Schaltungen geeignet sind, verbunden mit der relativ einfa
chen Weise, auf die ein Vollabtastverfahren integriert wer
den kann, ein Prüfverfahren mit Vollabtastung in der Indu
strie in einem breiten Bereich anwendbar.
Dennoch weisen Vollabtastverfahren zwei wesentliche
Nachteile auf, d. h. einen hohen zusätzlichen Platzbedarf und
lange Prüfmusterverarbeitungszeiten. Der zusätzliche Platz
bedarf von Vollabtaststrukturen ergibt sich daraus, daß
Flipflops durch Abtast-Flipflops ersetzt werden müssen, und
durch die mit dem Abtasttakt und der Abtastkette verbundene
zusätzlichen Leitungswege und zusätzlichen Pufferungsbedarf
Die lange Prüfmusterverarbeitungszeit ergibt sich aufgrund
der Erfordernis, die Prüfvektoren durch die Abtastketten zu
schieben.
Insbesondere ist für durch Massenfertigung hergestellte
typische kostengünstige Produkte ein mit der Bereitstellung
einer Prüffunktion mit Vollabtastung verbundener zusätzli
cher Platzbedarf von 20%-30% möglicherweise nicht wirt
schartlich lebensfähig. Ahnlicherweise ist die mit der Be
reitstellung solcher Prüffunktionen verbundene längere Prüf
zeit möglicherweise ebenfalls nicht akzeptierbar. Daher wur
den herkömmlich erhebliche Anstrengungen unternommen, um le
bensfähige Alternativen zu Prüfverfahren mit Vollabtastung
zu finden.
Vor kurzen wurden mehrere Teilabtastverfahren entwic
kelt, um zu versuchen, die erwähnten Nachteile der Vollab
tastverfahren zu eliminieren. Vergl. z. B. K.T. Cheng und
V.D. Agrawal, "A Partial Scan Method for Sequential Circuits
with Feedback", IEEE Transactions on Computers, 39(4):
544-548, April 1990, D.H. Lee und S.M. Reddy, "On Determining
Scan Flip-Flops in Partial-Scan Designs", Proceedings of the
International Conference on Computer-Aided Design, Seiten
322-325, November 1990, und V. Chickermane und J.H. Patel,
"An Optimization Based Approach to the Partial Scan Design
Problem", Proceedings of the International Test Conference,
Seiten 377-386, September 1990. Leider ist bei diesen her
kömmlichen Teil-Abtastverfahren die Verwendung eines Instru
ments oder Verfahrens zum effizienten automatischen Erzeugen
sequentieller Prüfmuster (ATPG) erforderlich, um zu gewähr
leisten, daß für die Teilabtastung eine ausreichend geringe
re Anzahl von Flipflops erforderlich ist als bei einer Voll
abtastung.
Es wurde vor kurzen mit begrenzten Erfolg versucht,
Verfahren zu entwickeln, um die Prüfmusterverarbeitungszeit
zu reduzieren. Bei diesen Verfahren werden typischerweise
Abtast-Flipflops in parallelen Abtastketten angeordnet oder
Abtastketten rekonfiguriert. (Vergl. z. B. B. Vinnakota und
N.K. Jha, "Synthesis of Sequential Circuits for Parallel
Scan", Proc. or the European Conference on Design Automati
on, Seiten 366-370, März 1992, S. Narayanan und M.A. Breur,
Reconfigurable Scan Chains: A Novel Approach to Reduce Test
Application Time, Proc. Of ICCAD, Seiten 710-715, 1993.)
Kürzlich wurden Verfahren zum Festlegen und Herstellen
oder Synthetisieren von Logik- oder Hochpegelschaltungen
vorgeschlagen, um leicht prüfbare Schaltungen für auf auto
matischen oder festverdrahteten Prüfungen bzw. Geräteselbst
prüfungen (BIST) basierende Prüfverfahren, wie beispielswei
se durch C.H. Gebotys und M.I. Elmasry in einem Artikel mit
dem Titel "Integration of Algorithmic VLSI Synthesis with
Testability Incorporation", IEEE Journal of Solid-State
Circuits, 24(2), Seiten 458-462, April 1989, beschrieben,
und für sequentielle ATPG-Verfahren herzustellen, wie bei
spielsweise durch C.H. Chen, T. Karnik und D.G. Saab in ei
nem Artikel mit dem Titel "Structural and Behavioral Synthe
sis for Testability Techniques", IEEE Transactions on Compu
ter-Aided Design, 13(6), Seiten 777-785, Juni 1994, be
schrieben.
Leider wird durch herkömmliche Logik- oder Hoch
pegel-DFT/Synthese-Verfahren eine Schaltung erzeugt, die nur für
ein ausgewähltes DFT/Prüfverfahren geeignet ist, z. B. für
ein Teil-Abtastverfahren, ein sequentielles ATPG- oder ein
BIST-Verfahren. Darüber hinaus sind sie nur anwendbar auf
datenfluß-/arithmetikintensive Strukturen, wie beispielswei
se DSP-Filter und Prozessorstrukturen, die durch eine Do
minanz von Funktionseinheiten in Datenwegen gekennzeichnet
sind.
Daher besteht weiterhin Bedarf für Schaltungsprüfver
fahren, in denen kombinatorische Prüfmuster und Logik- oder
Hochpegel-Schaltungsspezifikationen verwendet werden, für
die eine minimale Prüfhardware erforderlich ist, in denen
die Prüfmusterverarbeitungszeit im Vergleich zu einer Voll
abtastung oder einer parallelen Abtastung erheblich redu
ziert ist, und durch die nicht nur bestimmte, leicht prüfba
re Schaltungen erzeugt werden, die nur für eine einzige
Prüfmethode geeignet sind.
Durch die vorliegende Erfindung wird ein alternatives
Prüfverfahren (H-SCAN) bereitgestellt, durch das der Haupt
vorteil der Prüfung mit Vollabtastung, d. h. die Möglichkeit
der Verwendung einer kombinatorischen Erzeugung sequentiel
ler automatischer Prüfprogramme (ATPG), erhalten bleibt,
während die Nachteile, insbesondere der hohe zusätzliche
Platzbedarf und die lange Prüfmusterverarbeitungszeit, die
mit Vollabtastverfahren verbunden sind, eliminiert werden.
Durch das H-SCAN-Verfahren wird ein praktisches Prüf
verfahren (DFT + ATPG) bereitgestellt, das leicht auf eine
beliebige RT-Pegel-(RTL-)Spezifikation angewendet werden
kann. Im H-SCAN-Verfahren werden vorhandene Verbindungen von
Registern und anderen Strukturen verwendet, die in der Hoch
pegel-Spezifikation einer Schaltung verfügbar sind, um ein
kombinatorisches Prüfmuster in die Schaltungs-Flipflops zu
laden, ohne daß Abtast-Flipflops verwendet werden müssen.
Die Prüfmusterverarbeitungszeit wird durch Ausnutzen
der in der Schaltungsstruktur bereits vorhandenen Paralleli
tät reduziert, um mehrere Flipflops in einem einzigen Takt
zyklus zu laden, ohne daß, wie bei herkömmlichen parallelen
Abtastverfahren, parallele Abtastketten hinzugefügt werden
müssen.
Für Schaltungen mit einer begrenzten Anzahl von Aus
gangsstiften oder -anschlüssen wird die Prüfmusterverarbei
tungszeit durch das H-SCAN-Verfahren im Vergleich zu paral
lelen Abtastverfahren erheblich reduziert. Insbesondere wer
den durch das H-SCAN-Verfahren die in den Flipflops gespei
cherten Prüfungs- oder Testantwortsignale anstatt durch pa
ralleles Abtasten oder Auslesen der Inhalte der Flipflops
unter Verwendung vorhandener chipintegrierter Vergleicher
analysiert, wodurch sich durch eine geringe Anzahl von Aus
gangsstiften oder -anschlüssen ergebende Einschränkungen
eliminiert werden.
Nachstehend werden weitere Merkmale und Vorteile der
vorliegenden Erfindung sowie die Struktur und die Arbeits
weise verschiedener Ausführungsformen der vorliegenden Er
findung unter Bezug auf die beigefügten Zeichnungen aus führ
lich beschrieben; es zeigen:
Fig. 1 eine Programmauflistung zum Darstellen des
VHDL-Codes der Funktionsweise bzw. des Programms der
GCD-Schaltung,
Fig. 2 ein Blockdiagramm zum Darstellen der Realisie
rung von Registerübertragungspegeln (RTL) in einer
GCD-Schaltung;
Fig. 3 ein Blockdiagramm zum Darstellen der Realisie
ren einer Abtastfunktion in einer GCD-Teilschaltung;
Fig. 4 ein Blockdiagramm zum Darstellen der Realisie
rung des erfindungsgemäßen H-SCAN-Verfahrens in einer
GCD-Teilschaltung;
Fig. 5 ein Blockdiagramm zum Darstellen der Realisie
rung des erfindungsgemäßen H-SCAN-Verfahrens in der
GCD-Schaltung;
Fig. 6(a) ein Konnektivitätsdiagramm zum Darstellen
von in der GCD-Schaltung vorhandenen parallelen Verbindungs
wegen;
Fig. 6(b) in der in Fig. 6(a) dargestellten Schaltung
erzeugte H-SCAN-Wege;
Fig. 6(c) Bitpegel-H-SCAN-Wege für die in Fig. 6(a)
dargestellte Schaltung;
Fig. 7 eine Programmauflistung zum Darstellen eines
VHDL-Codes für die programmierte Funktionsweise der chan
ge_maker-Verarbeitung eines Verkaufsautomaten;
Fig. 8 ein Blockdiagramm einer Teilschaltung der
RTL-Schaltungsstruktur der change_maker-Schaltung;
Fig. 9 ein Konnektivitätsdiagramm der change_maker-
Schaltung; und
Fig. 10 ein Blockdiagramm zum Darstellen der durch das
erfindungsgemäße H-SCAN-Verfahren erzeugten Ketten für die
change_maker-Schaltung.
Nachstehend wird eine bevorzugte Ausführungsform der
Erfindung unter Bezug auf die Figuren beschrieben, wobei in
Verlauf der folgenden Beschreibung gegebenenfalls auf mehre
re der Figuren gleichzeitig Bezug genommen wird.
Fig. 1 zeigt die Beschreibung oder Programmauflistung
der Funktions- oder Arbeitsweise einer GCD-Schaltung in
VHDL-Code. Durch die Programmauflistung wird ein Verfahren
zum Berechnen des größten gemeinsamen Teilers (GCD) von zwei
16-Bit-Zahlen xin und yin erläutert. Die Funktionsweise ist
in eine in Fig. 2 dargestellte RTL-Spezifikation inte
griert.
Jede Operation des Arbeitsablaufs wird in einer Funkti
onseinheit in der RTL-Schaltung ausgeführt. Die Register,
z. B. X und Y, werden zum Speichern der Zwischenwerte der Va
riablen in der algorithmischen Beschreibung verwendet. Im
dargestellten Verfahren ist X den Werten XIN, Y und der Sub
traktionsoperation von Zeile 19 von Fig. 1 zugeordnet. Daher
werden den Register X in der RTL-Beschreibung das Schal
tungseingangssignal XTN, das Signal des Registers Y und das
Ausgangssignal der Subtrahiereinheit c23, in der die Sub
traktionsoperation ausgeführt wird, als Eingangs Signale zu
geführt.
Diese Eingangssignale werden unter Verwendung des Mul
tiplexerbaums am Eingang des Registers X ausgewählt. Dem
Multiplexerbaum wird ein Eingangssignal vom Register X
selbst zugeführt. Dies ist der Fall, weil in bestimmten
Taktzyklen X nicht den anderen drei Quellen zugeordnet ist
und sein Wert nicht gehalten und in späteren Taktzyklen ver
wendet werden muß. Die Schaltung weist einen 16-Bit-Ausgang
OUTPUT und einen 1-Bit-Ausgang RDY auf. Das Signal am Aus
gang OUTPUT nimmt den Wert des größten gemeinsamen Teilers
(GCD) der Eingangssignale XIN und YIN an, wenn das Signal am
Ausgang PDY einen hohen Pegel annimmt.
Nachstehend wird anhand eines Beispiels der zusätzliche
Platzbedarf dargestellt, der zum Prüfen der GCD-Schaltung
unter Verwendung eines herkömmlichen Vollabtastverfahrens
erforderlich ist. Für dieses Beispiel wird eine Teilschal
tung der GCD-Schaltung von Fig. 2 betrachtet. Das Teil
schaltungsbeispiel ist in Fig. 3 dargestellt, wobei die er
forderlichen Modifikationen für eine Vollabtastung vorgenom
men wurden bzw. die zusätzlichen Einrichtungen dafür vorge
sehen sind. Die Teilschaltung weist 2 Flipflops (der 16
Flipflops) jedes der Register X bzw. Y in der Originalschal
tung und die entsprechenden 1-Bit-Multiplexer auf.
Gemäß der Darstellung wird verdeutlicht, daß für die
Realisierung der Abtastfunktion die folgenden Abtastketten
erzeugt werden: (scanin→Y0→X0→Y1→X1→scanout). Die Kette
besteht aus allen vier Flipflops (300, 320, 340, 360) in der
Schaltung, die mit Multiplexern (310, 330, 350, 370) verbun
den sind, wobei das primäre Eingangssignal scanin das Ein
gangssignal der Kette und das primäre Ausgangssignal scanout
das Ausgangssignal der Kette darstellt.
Wenn das Prüfsignal test einen hohen Pegel aufweist,
verhalten sich die Flipflops wie ein Schieberegister, das
verwendet werden kann, um das Prüfmuster unter Verwendung
des Eingangssignals scanin zu verschieben. Um der Schaltung
den Prüfvektor zuzuführen, wird das Prüfsignal test auf ei
nen niedrigen Pegel eingestellt. Die in den Flipflops gehal
tene Schaltungsantwort wird dann durch Verschieben über den
Anschluß für das Signal scanout ausgegeben, indem das Prüf
signal test auf einen hohen Pegel eingestellt wird.
Bei einem solchen Abtastverfahren treten zahlreiche
Nachteile auf. Zunächst muß jedes der 68 Flipflops in der
Schaltung durch ein Abtast-Flipflop ersetzt werden, das die
Funktion eines normalen Flipflops und einen Multiplexer an
seinem Eingang aufweist. Zweitens ist ein zusätzlicher Lei
tungsweg erforderlich, um die Abtastkette und den Prüf
signalanschluß mit den 68 Multiplexern der Abtast-Flipflops
zu verbinden. Schließlich müssen bei einer konkreten Reali
sierung einer Prüfstruktur aufgrund des hohen Ausgangs
lastfaktors des Prüfsignals zusätzliche Puffer zwischen dem
Prüfsignalanschluß und den Multiplexereingängen angeordnet
sein.
Wie gemäß den in Tabelle 1 dargestellten Ergebnissen
verdeutlich ist, beträgt der zusätzliche Platzbedarf zum
Einfügen einer Vollabtastfunktion in die GCD-Schaltung etwa
17% und die Prüfmusterverarbeitungszeit ist sehr lang. Au
ßerdem wurde ein Generator zum Erzeugen kombinatorischer
Prüfmuster verwendet, der 260 Muster erzeugte, um alle Feh
ler in der GCD-Schaltung zu prüfen. Weil in der Schaltung 68
Flipflops angeordnet sind, sind 69 Taktzyklen erforderlich,
um alle Prüfmuster in die Flipflops zu laden und das Prüfmu
ster dann anzuwenden. Die zum Prüfen dieser Schaltung erfor
derliche Gesamtanzahl von Taktzyklen kann dann berechnet
werden und beträgt 18007.
Die vorstehenden Nachteile können durch Verwendung von
in der RTL-Schaltung bereits vorhandenen Wegen wesentlich
vermindert oder eliminiert werden. Wie vorstehend disku
tiert, sind zum Realisieren von Abtastfunktionen Flipflops
in Abtastketten mit Multiplexern verbunden, die dazu verwen
det werden können, Muster in Flipflops zu schieben und aus
diesen herauszuschieben.
Nachstehend wird erneut auf Fig. 4 Bezug genommen, in
der die Realisierung der H-SCAN-Funktion der gleichen Teil
schaltung der GCD-Schaltung dargestellt ist, die in Fig. 3
verwendet wird. Die für die H-SCAN-Funktion erforderlichen
Zusatzeinrichtungen sind lediglich vier hervorgehoben darge
stellte Gatter (400, 410, 420, 430). Die folgenden Wege, die
nur durch Multiplexer verlaufen, sind in der Schaltung be
reits vorhanden:
YIN0→Y0→X0 und YIN1→Y1→X1.
Weil YIN0 und YIN1 Eingänge sind und vorausgesetzt
wird, daß X0 und X1 primäre Ausgänge sind, ist die für zwei
parallele Abtastketten erforderliche Basisstruktur in der
Originalschaltung selbst vorhanden. Wie für Fachleute gemäß
Fig. 4 ersichtlich ist, müssen für das Prüfsignal test zwei
UND-Gatter und zwei ODER-Gatter hinzugefügt werden, um diese
beiden Ketten zu veranlassen, ein Prüfmuster im Prüfmodus
einzulesen oder einzuscannen.
In der GCD-Schaltung sind, wie vorstehend beschrieben,
bereits mehrere parallele Wege vorhanden, die verwendet wer
den können, um Prüfmuster einzulesen oder einzuscannen.
D.h., wenn erwähnt wird, daß ein Weg zwischen zwei Registern
vorhanden ist, wird auf einen Weg Bezug genommen, der nur
durch Multiplexer verläuft. Die Wege zwischen Registern der
GCD-Schaltung von Fig. 2 sind durch das Konnektivitätsdia
gramm in Fig. 6(a) dargestellt. In Fig. 2 wird beispiels
weise das 16-Bit-Eingangssignal YIN über zwei 16-Bit-
Multiplexer dem 16-Bit-Register Y zugeführt.
Entsprechend diesem Weg ist zwischen Knoten YIN und Y
im Konnektivitätsdiagramm von Fig. 6(a) eine Kante vorhan
den. Fig. 5 zeigt die vollständige RTL-GCD-Schaltung zusam
men mit der durch das erfindungsgemäße Verfahren hinzugefüg
ten Prüfschaltung zum Steuern der parallelen Wege während
eines Prüfvorgangs. Fig. 6(b) zeigt eine schematische An
sicht der zum Einlesen oder Einscannen von Prüfmustern in
die GCD-Schaltung verwendeten Wege, und eine Bitpegelansicht
der gleichen Wege ist in Fig. 6(c) dargestellt.
Es müssen mehrere Punkte beachtet werden. Zunächst kön
nen die in Fig. 6(b) dargestellten Wege eine Bitbreite auf
weisen, die größer als 1 ist. Außerdem entsprechen sie, weil
ein Pfeil von YIN[15-0] zu Y[15-0] dargestellt ist, 16 paral
lelen Wegen. Ahnlicherweise entspricht der von H[3-1] zu sta
te[2-0] dargestellte Pfeil 3 parallelen Wegen.
Zweitens ist in der Originalschaltung ein Weg vorhan
den, der vielen der in Fig. 6(b) dargestellten Wege ent
spricht, wie im Konnektivitätsdiagramm von Fig. 6(a) darge
stellt. Beispielsweise ist in der GCD-Schaltung ein Weg von
YIN nach Y vorhanden. Tatsächlich sind die Pfeile in Fig.
6(b), für die in der Originalschaltung keine entsprechenden
Wege vorhanden sind, die nur durch Multiplexer verlaufen:
H[15-4] zu OUTPUT[15-4], H[3-1] zu state[2-0], H[0-0] zu RDY[0-0], state[2-0] zu OUTPUT[3-1] und RDY[0-0] zu OUTPUT[0-0].
H[15-4] zu OUTPUT[15-4], H[3-1] zu state[2-0], H[0-0] zu RDY[0-0], state[2-0] zu OUTPUT[3-1] und RDY[0-0] zu OUTPUT[0-0].
Um diese Wege in der GCD-Schaltung zu erzeugen, müssen
19 1-Bit-Multiplexer hinzugefügt werden, wie in Fig. 5 dar
gestellt. Daher werden beim H-SCAN-Verfahren in einer
RTL-Schaltung vorhandene Wege durch Multiplexer verwendet, um
parallele Abtastketten in der RTL-Schaltung zu erhalten, wo
bei nur dann zusätzliche Multiplexer hinzugefügt werden,
wenn dies erforderlich ist.
Reduzierung des zusätzlichen Platzbedarfs
An diesem Punkt ist es nützlich, den sich durch die
Verwendung des erfindungsgemäßen H-SCAN-Verfahrens ergeben
den zusätzlichen Platzbedarf zu analysieren und ihn mit ei
ner herkömmlichen Realisierung einer SCAN-Funktion zu ver
gleichen. Für Fachleute ist erkennbar, daß zwei Komponenten
zum zusätzlichen Platzbedarf beitragen: der sich durch die
hinzuzufügenden Multiplexer ergebende zusätzliche Platzbe
darf und der sich durch UND- bzw. ODER-Gatter, die hinzuge
fügt werden müssen, um die Multiplexer während des Prüfmodus
zu steuern, ergebende zusätzliche Platzbedarf.
Wie bei herkömmlichen Abtastverfahren werden durch das
H-SCAN-Verfahren Abtastwege zwischen Flipflops erzeugt. An
ders als bei herkömmlichen Abtastverfahren wird beim
H-SCAN-Verfahren jedoch eine RT-Pegel-Information verwendet, um
durch Multiplexer verlaufende, bereits in der Schaltung vor
handene Wege zwischen Flipflops wiederzuverwenden. Wenn ein
solcher Weg nicht vorhanden ist, wird durch das
H-SCAN-Verfahren ein Multiplexer hinzugefügt.
Wie gemäß Fig. 5 verdeutlicht wird, werden durch das
H-SCAN-Verfahren 19 1-Bit-Multiplexer für die GCD-Schaltung
hinzugefügt. Dies unterscheidet sich deutlich von den für
eine Vollabtastung erforderlichen 68 Multiplexern. Dies er
gibt sich teilweise dadurch, daß, wenn zwischen zwei Flip
flops, die so ausgewählt wurden, daß sie in der gleichen Ab
tastkette angeordnet sind, ein Weg durch Multiplexer vorhan
den ist, durch das H-SCAN-Verrahren keine Multiplexer-hinzu
gefügt werden, sondern nur Gatter in die Steuerlogik einge
fügt werden, um den Weg während des Prüfmodus zu steuern.
Es werden als Beispiel in Fig. 5 die parallelen
16-Bit-Wege von YIN über zwei 16-Bit-Multiplexer zu Y betrach
tet. Um die Multiplexer während eines Prüfmodus zu steuern,
sind zwei ODER-Gatter eingefügt. Eines der Eingangssignale
der ODER-Schaltung ist das ursprüngliche Steuersignal für
den Multiplexer, das zweite Eingangssignal ist das Prüfsi
gnal test. Wenn das Prüfsignal test einen hohen Pegel auf
weist, sind alle 16 Bit von YIN parallel mit Y verbunden.
Wie dargestellt, ist für jeden der 16-Bit-Multiplexer
ein einziges Steuersignal vorgesehen. Daher ist für jeden
der 16-Bit-Multiplexer nur ein ODER-Gatter erforderlich. Bei
herkömmlichen Abtastverfahren wurden die dem Register Y zu
geordneten 16 Flipflops durch 16 Abtast-Flipflops ersetzt,
wobei jedes Abtast-Flipflop ein normales Flipflop und einen
Multiplexer aufweist.
Mit der Analyse des zusätzlichen Platzbedarfs verbunde
ne versteckte kosten betreffen die für die Realisierung der
Abtastfunktion erforderliche zusätzliche Verdrahtung. Nach
stehend werden insbesondere die dem Signal YIN bzw. dem Re
gister Y zugeordneten Flipflops betrachtet, für die in der
Originalschaltung bereits Wege vorhanden sind. Im Fall eines
herkömmlichen Abtastvorgangs müßten nicht nur die dem Regi
ster Y zugeordneten 16 Flipflops durch 16 Abtast-Flipflops
ersetzt werden, sondern es müßten auch die Vernetzungen,
durch die jedes Abtast-Flipflop in einer Abtastkette verbun
den ist, gebildet werden, und es müßte auch dem Steuerein
gang jedes der 1-Bit-Multiplexer in den 16 Abtast-Flipflops
das Prüfsignal test zugeführt werden.
Im Gegensatz dazu muß beim erfindungsgemäßen
H-SCAN-Verfahren das Prüfsignal test nur zwei ODER-Gattern Zuge
führt werden. Durch die Ausgangssignale der ODER-Gatter wird
das Steuersignal für die Multiplexer in der Originalschal
tung ersetzt. Daher ist kein zusätzlicher Platzbedarf zum
Zuführen des Ausgangssignals des ODER-Gatters zu den Multi
plexern erforderlich. Daher beträgt der zusätzliche Platzbe
darf der End-Layout- oder Anordnungsfläche der H-SCAN-Schal
tung, im Gegensatz zu 17% zur Realisierung einer Vollab
tastfunktion, durch das H-SCAN-Verfahren lediglich 5%.
Wie in Fig. 6 dargestellt, sind in der durch das
H-SCAN-Verfahren gebildeten Schaltung 16 effektive Abtastket
ten parallel angeordnet. 4 der Ketten weisen jedoch eine
Länge von 5 auf, während die übrigen 12 Ketten eine Länge
von 4 aufweisen. Die Folge davon, daß ungleiche Ketten vor
handen sind, ist, daß, wenn die Flipflops im ersten Taktzy
klus geladen werden, die Werte von O3 bis O0 über YIN3 bis
YIN0 geladen werden. Daher werden die Eingänge YIN15 bis YIN4
im ersten Taktzyklus nicht verwendet. Daher beträgt die An
zahl von Bits von Prüfdaten, die parallel geladen werden,
effektiv 68÷5 oder 13,6. Dieser Wert ist jedoch wesentlich
höher als das für eine herkömmliche Abtastfunktion je Takt
zyklus geladene eine Bit.
Für einen quantitativen Vergleich, können die Prüfmu
sterverarbeitungszeit unter Verwendung herkömmlicher Vollab
tastverfahren und die Prüfmusterverarbeitungszeit unter Ver
wendung des erfindungsgemäßen H-SCAN-Verfahrens berechnet
werden. Die GCD-Schaltung weist 68 Flipflops auf. Um jedes
Prüfmuster unter Verwendung eines herkömmlichen Abtastver
fahrens zu laden, sind 68 Taktzyklen erforderlich. Ein Takt
zyklus ist erforderlich, um das Prüfmuster anzuwenden. 67
Taktzyklen sind erforderlich, um die Flipflops zurückzuset
zen, nachdem das letzte Prüfmuster angewendet wurde.
Die Prüfmusterverarbeitungszeit kann über die vorste
hend diskutierte Reduzierung hinaus weiter reduziert werden,
wenn durch die Anzahl von Schaltungsausgängen die Anzahl
herstellbarer paralleler Abtastketten begrenzt ist. Dies ist
durch die change_maker-Schaltung dargestellte deren
VHDL-Programm in Fig. 7 dargestellt ist.
Die change_maker-Schaltung ist eine von drei Teilschal
tungen und weist eine Steuerungseinrichtung für einen Ver
kaufsautomaten auf, und durch das Programm wird festgelegt,
welche Operationen in welchem Zustand (Taktzyklus) ausge
führt werden sollen, und es werden die Bedingungen des Über
gangs von einem Zustand zu einem anderen festgelegt. Die
Operationen in jedem Zustand des Programms werden in einem
Taktzyklus ausgeführt.
Außer dem Takteingangssignal weist die change_maker-
Schaltung Eingangssignale my_reset (1 Bit), item_stb (1
Bit), total (8 Bit), price (8 Bit) und num_coins für insge
samt 26 Eingangsanschlüsse auf. Die Ausgangssignale sind
coin (1 Bit), exact_change (1 Bit), change_stb (1 Bit) und
sel_enable (1 Bit) für insgesamt 4 Ausgangsanschlüsse.
Es sind drei interne 8-Bit-Variablen vorgesehen: di
me_out, nickel_out und int_change. Für eine andere interne
Variable state werden 3 Bit benötigt, um 5 Zustande s0 bis
s4 zu codieren. Entsprechend jeder dieser internen Variablen
sind für die RTL-Schaltung drei 8-Bit-Register und ein
3-Bit-Register vorgesehen. Ferner ist für jedes der vier
1-Bit-Ausgangssignale ein Flipflop vorgesehen, und insgesamt
sind 31 Flipflops in der Schaltung angeordnet. Daher sind in
dieser Schaltung maximal (= Minimum (18, 31, 4)) parallele
Abtastketten unter Verwendung eines herkömmlichen parallelen
Abtastschemas angeordnet.
Nachstehend wird Fig. 8 betrachtet, wobei der für die
Diskussion wesentliche Teil der RTL-Schaltung für die chan
ge_maker-Schaltung ein Vergleicher ist. Gemäß dem in Fig. 7
dargestellten VHDL-Programm der change_maker-Schaltung sind
die im Vergleicher ausgeführten Vergleichsoperationen (total
<price) (Zeile 11), (int_change <5) (Zeile 31) und
(dime_out( 44) (Zeile 44).
Diese drei Operationen können mit den gleichen Ressour
cen ausgeführt oder die Ressourcen können dafür aufgeteilt
werden, weil sie in verschiedenen (durch die Variable state
gegebenen) Zuständen s0, s2 bzw. s3 ausgeführt werden, so daß
sie nie gleichzeitig im gleichen Taktzyklus ausgeführt wer
den. Obwohl das Signal price im Programm nie mit dem Signal
int_change verglichen wird, wird durch die gemeinsame Benut
zung der Vergleicher veranlaßt, daß sie dem gleichen Ver
gleicher als Eingangssignale zugeführt werden.
Fig. 9 zeigt ein Konnektivitätsdiagramm der Register
in der change_maker-Schaltung und des vorstehend erwähnten
Vergleichers. Die Pfeile zeigen Verbindungen durch einen
oder mehrere Multiplexer an. Beispielsweise wird gemäß Fig.
8 verdeutlicht, daß die Signale price und int_change über 2
Multiplexer dem Vergleicher zugeführt werden. Die Verbindung
über die Multiplexer ist durch den Pfeil von int_change zum
Vergleicher und einen anderen Pfeil von price zum Verglei
cher dargestellt.
Wie in Fig. 10 dargestellt, können, obwohl die Schal
tung 4 Ausgänge aufweist, unter Verwendung des bereits in
der Schaltung vorhandenen Vergleichers jedoch 10 parallele
Abtastketten erhalten werden. In Fig. 10 sind zwei herkömm
liche Abtastketten vorhanden:
(item_stb→state (2); →state (0)→sel_enable) und
(my_reset→state (1)→change_stb→coin).
Die dritte Kette besteht aus den folgenden Registern,
d. h. (num_coins→dime_out→nickel_out→int_change→ex
act_change). Diese letzte Kette, die als erweiterte Ab
tastkette bezeichnet wird, weist zwei wesentliche Merkmale
auf. Erstens weist sie einen Vergleicher zwischen int_change
und exact_change auf. Zweitens hat die Kette von num_coins
zu int_change eine Bandbreite von 8, während das letzte Re
gister exact_change nur eine Bandbreite von 1 aufweist. Un
ter den für das H-SCAN-Verfahren erforderlichen Verbindungen
sind die 8-Bit-Verbindungen (num_coins→dime_out→nickel_out)
in der Originalschaltung bereits vorhanden, wie im Konnekti
vitätsdiagramm von Fig. 9 dargestellt.
Wie dargestellt, können die Flipflops in den Registern
dime_out, nickel_out und int_change parallel geladen werden,
weil der Eingang der Kette, für das Signal num_coins, 8 Bits
breit ist. Um das 1-Bit-Register exact_change zu laden, wird
das Vergleicher (=) -ausgangssignal verwendet, das den Pegel
"1" aufweist, wenn int_change und price die gleichen Bitmu
ster aufweisen, und den Pegel "0", wenn int_change und price
verschiedene Bitmuster aufweisen.
Zur Darstellung wird vorausgesetzt, daß die folgenden
Muster in die Register der erweiterten Abtastkette geladen
werden, um die Schaltung auf Fehler zu prüfen:
dime_out = "00000010",
nickel_out = "00000100"
int_change = "00001000",
exact_change = "1".
nickel_out = "00000100"
int_change = "00001000",
exact_change = "1".
Dann müssen den Eingangssignalen num_coins und price in
aufeinanderfolgenden Taktzyklen die folgenden Muster aufge
prägt werden, wobei "x" den Zustand "nicht beachten"
(don't_care) bezeichnet.
Das im Taktzyklus 1 in das Register num_coins geladene
Muster "00000000" wird im Taktzyklus 4 in das Register
int_change geladen und mit dem dem Eingangssignal price auf
geprägten Muster "00000000" verglichen, um eine "1" in das
Register exact_change zu laden.
Um eine "0" in das Register exact_change zu laden, kann
dem Eingangssignal price im vierten Taktzyklus das Muster
"00000001" aufgeprägt werden. Jedes der 8-Bit-Register die
me_out, nickel_out und int_change kann in einem Taktzyklus
geladen werden, und für das Register exact_change ist eben
falls ein Taktzyklus erforderlich, um es zu laden. Daher
sind anstatt 25 Taktzyklen, die für eine herkömmliche Abta
stung erforderlich sind, insgesamt 4 Taktzyklen erforder
lich, um die 25 Flipflops in der Kette zu laden.
Die Inhalte des Registers exact_change können in einem
Taktzyklus beobachtet werden. Weil das Register dime_out ein
8-Bit-Register ist, können seine Inhalte jedoch nicht in ei
nem Taktzyklus am Ausgang der Kette, der eine Breite von 1
Bit aufweist, beobachtet werden. Ähnlicherweise können die
Inhalte der 8 Bit breiten Register nickel_out bzw.
int_change nicht in einem Taktzyklus beobachtet werden. Weil
der Erwartungswert dieser Register nach Zuführung des Prüf
vektors jedoch bekannt ist, können dem Eingangssignal price
die Erwartungswerte aufgeprägt werden, und das Ausgangs
signal des Vergleichers kann am primären Ausgang abgetastet
werden, um Fehler zu erfassen.
Es wird vorausgesetzt, daß, nachdem 4 Muster in 4 Takt
zyklen geladen wurden, das Muster im 5. Taktzyklus auf die
Schaltung angewendet wird. Die Reaktion oder Antwort der
fehlerfreien Schaltung auf das Prüfmuster sollte sein:
dime_out = "01100010",
nickel_out = "00100001"
int_change = "11010011",
exact_change = "1".
nickel_out = "00100001"
int_change = "11010011",
exact_change = "1".
Daraufhin werden dem Eingangssignal price in den näch
sten 3 Taktzyklen die folgenden Muster aufgeprägt.
Wenn die in einem der vorstehend erwähnten Register ge
speicherte Antwort der Schaltung nicht der Antwort der feh
lerfreien Schaltung entspricht, nimmt das Ausgangssignal des
Vergleichers den Wert "0" an. Weil das Vergleicherausgangsi
gnal durch das Register exact_change beobachtet werden kann,
ist in der Schaltung ein Fehler vorhanden, falls das Aus
gangssignal des Registers exact_change den Wert "0" hat.
Daher werden, indem den Eingangssignalen die erwartete
Testantwort der Schaltung aufgeprägt wird und die Signale
unter Verwendung vorhandener Vergleicher auf dem Chip ver
glichen werden, in den 8-Bit-Registern Fehler in einem Takt
zyklus erfaßt.
Die Verarbeitungen zum Laden der Flipflops und zum Be
obachten der darin gespeicherten Schaltungsantwort können,
ähnlich wie die Einscan- oder Einleseverarbeitung und die
Austast- oder Ausleseverarbeitung in einem normalen Ab
tastverfahren, überlappend ausgeführt werden.
Nachstehend wird eine vollständige Übersicht des erfin
dungsgemäßen H-SCAN-Prüfverfahrens dargestellt.
I. Durch das Konnektivitätsdiagramm werden bestimmte
Wege definiert, die in der RTL-Schaltung vorhanden sind und
zum Erzeugen einer Abtastkette oder einer erweiterten Ab
tastkette verwendet werden können, die nachstehend einfach
als Kette bezeichnet werden. Das Konnektivitätsdiagramm kann
folgendermaßen definiert werden:
- 1. Im Diagramm existiert für jede Variable in der RTL-Schaltung ein Knoten, wobei eine Variable entweder ein Register, einen Eingang oder einen Ausgang dar stellt. Der Takteingang weist keinen zugeordneten Knoten auf.
- 2. Im Diagramm existiert ein Knoten für jeden Verglei cher (der die Funktion "=" aufweist), wobei ein Ein gang des Vergleichers ein Schaltungseingang ist.
- 3. Zwischen zwei Knoten im Diagramm existiert ein ge richteter Weg, wenn zwischen zwei Variablen oder zwischen einer Variable und dem Vergleicher ein Weg in der RTL-Schaltung existiert, wobei auf dem Weg nur Multiplexer angeordnet sind.
Das Konnektivitätsdiagramm der change_maker-Schaltung
ist in Fig. 9 dargestellt. Die Bitbreite jeder Variable ist
angegeben. Beispielsweise beträgt die Bitbreite der Variable
stete 3, wobei diese Variable im Diagramm mit keiner anderen
Variable verbunden ist.
II. Das Diagramm wird verwendet, um Mehrfachketten zu
bilden, so daß jede Variable in einer Kette angeordnet ist.
Wenn eine erweiterte Abtastkette gebildet wird, ist der Ver
gleicherausgang direkt mit einem Register verbunden, dessen
Ausgang ein primärer Ausgang ist. Während die Abtastketten
gebildet werden, wird versucht, die maximale Anzahl paralle
ler Ketten zu bilden, während gleichzeitig die minimale An
zahl von Verbindungen zwischen Knoten im Konnektivitätsdia
gramm eingeführt wird.
III. Wenn die Abtastketten einmal festgelegt sind, sind
drei Hauptschritte erforderlich, um die Prüfstrukturen in
die RTL-Schaltung einzufügen.
- 1. Füge der Schaltung einen Prüfsignaleingang hinzu.
- 2. Für jede Verbindung, die durch eine Kette herge stellt werden muß, im ursprünglichen Konnektivitäts diagramm jedoch nicht vorhanden ist, wird ein Multi plexer eingefügt, und der Prüfsignaleingang wird mit den Auswahleingang des Multiplexers verbunden.
- 3. Für jede Verbindung zwischen zwei Variablen in einer Kette, die auch im Konnektivitätsdiagramm existiert, existiert ein Weg zwischen den Variablen in der RTL-Schaltung, in dem nur Multiplexer angeordnet sind. Eine Steuerlogik wird für die Multiplexer hergelei tet, durch die der Weg während des Prüfmodus akti viert wird. Beispielsweise werden in Fig. 4 die Steuersignale für die zwei Multiplexer zwischen YIN und Y einer ODER-Verknüpfung mit dem Prüfsignal test unterzogen. Durch die hinzugefügte Steuerung wird gewährleistet, daß das Signal test im Prüfmodus ei nen hohen Pegel aufweist und das Signal YIN in das Register Y geladen wird.
IV. Nachdem die RTL-Schaltung mit den in Position an
geordneten Prüfstrukturen umgebildet wurde, werden durch ei
nen Generator zum Erzeugen kombinatorischer Prüfmuster mit
Torschaltungspegeln, z. B. einen herkömmlichen Prüfmusterge
nerator, kombinatorische Prüfmuster erzeugt.
Wenn erweiterte Ketten verwendet werden, muß auch die
Antwort der kombinatorischen Schaltung auf die Prüfmuster,
d. h. die Testantwort, berechnet werden. Die Testantwort wird
unter Verwendung einer bekannten Logiksimulationsvorrichtung
erhalten, und wird als Testantwortmustersatz bezeichnet. Die
Prüfmuster und die Simulationsergebnisse werden verwendet,
um sequentielle Prüfmustersignale für die in Betracht kom
mende Schaltung zu erzeugen.
V. Im letzten Schritt des Prüfverfahrens werden der
kombinatorische Prüfmustersatz und der Testantwortmustersatz
in einen Satz sequentieller Vektoren umgewandelt, die den
primären Eingängen der Schaltung zugeführt werden.
Um diesen Schritt für die change_maker-Schaltung zu er
läutern, müssen lediglich die Register dime_out, nickel_out,
int_change und exact_change in der erweiterten Abtastkette
von Fig. 10 betrachtet werden. Die Eingangssignale der er
weiterten Abtastkette sind num_coins und total, und die Ket
te weist außerdem einen Vergleicher auf.
Im ersten Taktzyklus wird dem Eingangssignal num_coins,
wie in Fig. 10 dargestellt, das Muster "00000000" aufge
prägt. Im 4. Taktzyklus wird das zugeführte Muster zum Regi
ster int_change geschoben. Im 4. Takt wird dem Eingangs
signal total das Muster "00000001" aufgeprägt. Im Prüfmodus
sind, weil int_change und total Eingangssignale des Verglei
chers sind, die vorstehenden Muster Eingangssignale des Ver
gleichers, durch die am Ausgang des Vergleichers ein Signal
"0" erzeugt wird.
Der Wert "0" wird im 5. Taktzyklus in das Register ex
act_change geladen, wie für das Prüfmuster 1 erforderlich.
Die Muster I1, NO1 und D1 werden dem Eingangssignal num_coins,
aufgeprägt und durch den 5. Taktzyklus in die Register
int_change, nickel_out und dime_out geladen. Daher werden
die Register der erweiterten Abtastkette, wie für das Prüf
muster 1 erforderlich, durch den 5. Taktzyklus geladen. Au
ßerdem werden, wie für das Prüfmuster 1 erforderlich, im 5.
Taktzyklus die Muster T1 und NC1 den primären Eingangssigna
len total und num_coins aufgeprägt.
Die Muster werden dem Kombinatorikabschnitt der Schal
tung zugeführt, und die Antwort wird in den Schaltungsregi
stern gespeichert. Die im Register exact_change gespeicherte
Antwort ist am Schaltungsausgang direkt beobachtbar. Die in
den Registern int change, nickel_out und dime_out gespei
cherten Antworten sind am Ausgang jedoch nicht direkt beob
achtbar.
Nachstehend wird das Verfahren zum Analysieren des im
Register int_change für gespeicherte Fehler gespeicherten
Musters beschrieben. Das im Register int_change durch Zufüh
ren des Prüfmusters 1 erwartungsgemäß zu speichernde Muster
ist I1 R. Wenn in der Schaltung ein Fehler vorhanden ist und
die Wirkung des Fehlers in einem Flipflop des Registers
int_change gespeichert ist, ist die in int_change gespei
cherte Antwort von I1 R verschieden, andernfalls ist sie I1 R
Um festzustellen, ob ein Fehler im Register int_change ge
speichert ist, wird das Muster I1 R selbst im 6. Taktzyklus
dem Eingangssignal total aufgeprägt.
Weil die Eingangssignale total und int_change im Prüf
modus Eingangssignale des Vergleichers sind, wird am Ausgang
des Vergleichers ein Signal mit dem Wert "1" erzeugt, wenn
das im Register int_-Lange gespeicherte Muster das Muster
I1 R ist, andernfalls hat das Ausgangssignal des Vergleichers
den Wert "0". Das Ergebnis wird über das Register ex
act_change dem Schaltungsausgang zugeführt und kann im 7.
Taktzyklus beobachtet werden, um festzustellen, ob im Regi
ster int_change ein Fehler gespeichert war.
Ähnlicherweise werden die erwarteten Antworten für die
Register nickel_out und dime_out im 7. und 8. Taktzyklus dem
Eingangssignal total auf geprägt. Diese Antworten werden mit
den in den Registern nickel_out und dime_out gespeicherten
Antworten verglichen, die im 7. bzw. im 8. Taktzyklus in das
Register int_change geschoben werden. Wenn am Ausgang des
Registers exact_change im 8. oder 9. Taktzyklus ein Signal
mit dem Wert "0" beobachtet wird, ist die im Register
nickel_out bzw. im Register dime_out gespeicherte Antwort feh
lerhaft.
In diesem Abschnitt sind die Ergebnisse der Anwendung
des H-SCAN-Prüfschemas auf zwei RTL-Schaltungen, durch die
der GCD-Algorithmus gebildet wird, und die Verarbeitung der
change_maker-Schaltung in einer vorstehend beschriebenen
Steuerungseinrichtung für einen Verkaufsautomaten zusammen
gefaßt.
Die RTL-Schaltungen wurden aus Funktionsspezifikationen
unter Verwendung einer bekannten Logik- oder Hoch
pegel-Synthesevorrichtung, SECONDS, erhalten. (Vergl. z. B. S.
Bhattacharya, S. Dey und F. Brglez, "Clock Period Optimiza
tion During Resource Sharing and Assignment", Proceedings of
the 31st ACM/IEEE Design Automation Conference, Seiten
195-200, Juni 1994.) Die RTL-Schaltungen werden dann unter Ver
wendung eines anderen bekannten Synthesesystems in äquiva
lente Torschaltungspegelschaltungen umgebildet. Die Kenngrö
ßen der erhaltenen GCD-Schaltung und der change_maker-
Schaltung sind in Tabelle 3 dargestellt, und die Prüfergeb
nisse sind in Tabelle 4 bzw. 5 dargestellt.
Die in Tabelle 3 dargestellten Ergebnisse zeigen die
Größe der Schaltung hinsichtlich RTL-Komponenten und Tor
schaltungspegel-Komponenten. Die GCD-Schaltung weist bei
spielsweise sechs Funktionseinheiten (Spalte FUs) auf. Die
sechs Funktionseinheiten bestehen aus einer Subtrahierein
heit und drei Vergleichern, die 16 Bit breite Dateneingänge
aufweisen, und zwei 1-Bit-Vergleichereinheiten. In der
GCD-Schaltung sind 178 1-Bit-Multiplexer (Spalte Muxes) und
sechs Register (Spalte Reg) angeordnet. Die Register können
unterschiedlich viele Flipflops aufweisen.
Das Register Y weist 16 Flipflops auf, während RDY nur
ein Flipflop aufweist. Die Gesamtanzahl der Flipflops für
alle Register beträgt 68 (Spalte FFs), während die Gesamtan
zahl von Torschaltungen für die GCD-Schaltung 1189 beträgt
(Spalte Gates).
Die change_maker-Schaltung weist 6 Funktionseinheiten,
134 1-Bit-Multiplexer und 8 Register auf. Die 6 Funktions
einheiten bestehen aus zwei Subtrahiereinheiten und zwei
Vergleichern mit 8 Bit breiten Dateneingängen und zwei
1-Bit-Vergleichereinheiten.
Die Tabellen 4 und 5 zeigen die Ergebnisse bei der An
wendung eines Vollabtastverfahrens und eines H-SCAN-Ver
fahrens auf die GCD- bzw. die change_maker-Schaltung.
Für jede RTL-Struktur zeigt die Reihe ORIG die Original
schaltung ohne Abtastfunktion, und die Reihe FSCAN zeigt die
Vollabtastschaltung, bei der die herkömmlichen Abtastketten
unter Verwendung bekannter Verfahren eingefügt sind, und die
Reihe HSCAN zeigt die durch Anwenden des erfindungsgemäßen
Verfahrens auf die Original-RTL-Schaltung hergestellte
Schaltung.
Die erwähnte Test-Hardware weist nicht nur eine Lo
gikstruktur, z. B. Abtast-Flipflops und Multiplexer auf, son
dern auch eine Vermaschungs- oder Verbindungsstruktur. Bei
spielsweise sind in einer Vollabtaststruktur der
GCD-Schaltung 69 Verbindungen erforderlich, um die 68 Ab
tast-Flipflops in eine Abtastkette einzufügen. Außerdem muß das
Prüfsignal den 68 Abtast-Flipflops zugeführt werden, wodurch
68 zusätzliche Verbindungen erzeugt werden. Daher werden
durch das Vollabtastverfahren insgesamt 137 zusätzliche Ver
bindungen eingefügt. Drei zusätzliche Anschlüsse sind für
die Signale scanin, scanout und test vorgesehen. Weil für
das H-SCAN-Verfahren Schaltungseingänge und -ausgänge zum
Laden und Ausgeben von Mustern in die bzw. aus den Schal
tungs-Flipflops verwendet werden, ist nur ein zusätzlicher
Anschluß, der Prüfsignalanschluß, erforderlich.
Um den Unterschied zwischen dem zusätzlichen Platzbe
darf des herkömmlichen Vollabtastverfahrens und demjenigen
des erfindungsgemäßen Verfahrens aufzuzeigen, ist die Lay
out- oder Anordnungsfläche für jede Ausführungsform darge
stellt. Die Spalte "zusätzlicher Platzbedarf für Prüffunkti
on" stellt den zusätzlichen Platzbedarf, einschließlich des
zusätzlichen Platzbedarfs für aktive Strukturen und für Ver
drahtungen, und den zusätzlichen Speicher- oder Platzbedarf
zum Puffern von Signalen mit hohen Ausgangslastfaktoren,
z. B. des Signals test, für das herkömmliche und das erfin
dungsgemäße Verfahren dar. Weil das Prüfsignal test für das
H-SCAN-Verfahren im Vergleich zum F-SCAN-Verfahren einen we
sentlich geringeren Ausgangslastfaktor aufweist, wird für
das H-SCAN-Verfahren eine geringere Anzahl zusätzlicher Puf
fer benötigt. Für die GCD-Struktur beträgt der zusätzliche
Platzbedarf für ein herkömmliches Vollabtastverfahren 17%,
während der zusätzliche Platzbedarf für das H-SCAN-Verfahren
nur 5% beträgt, was einer Verminderung des zusätzlichen
Platzbedarfs für die Prüffunktion von mehr als 70% ent
spricht. Ähnlicherweise beträgt die Verminderung des zusätz
lichen Platzbedarfs für die Prüffunktion für die chan
ge_maker-Schaltung 50%.
Die Tabellen zeigen auch die Ergebnisse der Prüfmu
stererzeugung für die Original-, die Vollabtastungs- und die
H-SCAN-Schaltung. Für die Originalschaltung (ohne Ab
tastfunktion) wurden die Prüfmuster unter Verwendung eines
bekannten, sequentiellen ATPG-Verfahrens HITEC erzeugt, das
durch T.M. Niermann und J.H. Patel in einem Artikel mit dem
Titel "HITEC: A test Generation Package for Sequential
Circuits", Proc. EDAC, Seiten 214-218, 1991, beschrieben
ist.
Für die F-SCAN-Schaltung wurde das ATPG-Verfahren unter
Verwendung eines anderen bekannten kombinatorischen
ATPG-Verfahrens, TRAN, ausgeführt, das durch S.T. Chakradhar,
V.D. Agrawal und S.G. Rothweiler in einem Artikel mit dem
Titel "A Transitive Closure Algorithm for Test Generation",
IEEE Transactions on Computer Aided Desingn, Bd. 9 (Nr. 7),
1015-1028, Juli 1993, beschrieben ist. Für die H-SCAN-
Schaltung wurden zunächst kombinatorische Prüfmuster unter
Verwendung des Verfahrens erzeugt und dann automatisch in
sequentielle Prüfmuster umgewandelt, wie vorstehend be
schrieben. Schließlich wurden die erzeugten Prüfmuster durch
einen sequentiellen Fehlersimulator zugeführt, um die Wir
kung der Muster auf die H-SCAN-Schaltung zu messen.
Die Spalte Faults zeigt die Anzahl von durch das
HITEC-Verfahren berücksichtigten Fehlern für die Originalschal
tung, die Anzahl der durch das TRAN-Verfahren für die
FSCAN-Schaltung berücksichtigten Fehler und die Anzahl der durch
den sequentiellen Fehlersimulator für die H-SCAN-Schaltung
berücksichtigten Fehler.
In diesem Experimenten wurden zum Vorteil des Vollab
tastverfahrens die Fehler in der Abtastkette nicht berück
sichtigt, während die durch das H-SCAN-Verfahren eingeführ
ten Fehler in der Test-Hardware berücksichtigt wurden. Die
Spalten FC und TE zeigen den Prozentanteil der Fehlerabdec
kung bzw. den Testwirkungsgrad für die Original-, die Voll
abtast- und die H-SCAN-Schaltung, die durch das HITEC-, das
TRAN- und das erfindungsgemäße Verfahren erhalten wurden.
Beispielsweise wurde für die GCD-Schaltung, während die Ori
ginalschaltung einen Testwirkungsgrad von nur 80% aufwies,
durch das Vollabtastverfahren ein Testwirkungsgrad von 100%
und durch das erfindungsgemäße H-SCAN-Verfahren ein ver
gleichbarer Wirkungsgrad von 99,7% erhalten wurden. D.h.,
durch das H-SCAN-Verfahren konnte, ohne daß das herkömmliche
Vollabtastverfahren verwendet wurde, mit einem wesentlich
geringeren zusätzlichen Platzbedarfals beim herkömmlichen
Vollabtastverfahren ein vergleichbaren Wirkungsgrad erhalten
werden.
Die Spalte TAT zeigt die Anzahl von zum Anwenden der
Prüfvektoren erforderlichen Taktzyklen. Für das Beispiel der
GCD-Schaltung wird eine mehr als 10-fache Verminderung der
Prüfmusterverarbeitungszeit unter Verwendung des erfindungs
gemäßen H-SCAN-Verfahrens erhalten.
Für das Beispiel der change_maker-Schaltung wird die
Prüfmusterverarbeitungszeit durch das H-SCAN-Verfahren im
Vergleich zum Vollabtastverfahren um den Faktor 5 reduziert,
während aufgrund einer Begrenzung der Ausgangsanschlüsse
durch vorhandene parallele Abtaststrukturen keine solche Re
duzierung der zusätzlichen Prüfmusterverarbeitungszeit er
reicht werden kann.
Prüfmuster und Testantwort für change_maker-Schaltung
Prüfmuster und Testantwort für change_maker-Schaltung
Sequentielle Prüfmuster für die change_maker-Schaltung
Sequentielle Prüfmuster für die change_maker-Schaltung
Übersicht über Schaltungsgröße
Übersicht über Schaltungsgröße
(SFF=Abtast-Flipflop, I=Verbindung, P=Anschluß, M=Multiple
xer, G=Gatter)
(SFF=Abtast-Flipflop, I=Verbindung, P=Anschluß, M=Multiple
xer, G=Gatter)
(SFF=Abtast-Flipflop, I=Verbindung, P=Anschluß, M=Multiple
xer, G=Gatter)
(SFF=Abtast-Flipflop, I-Verbindung, P=Anschluß, M=Multiple
xer, G-Gatter)
(SFF=Abtast-Flipflop, I-Verbindung, P=Anschluß, M=Multiple
xer, G-Gatter)
(SFF=Abtast-Flipflop, I-Verbindung, P=Anschluß, M=Multiple
xer, G-Gatter)
Claims (6)
1. Verfahren zum Prüfen einer Registerübertragungsspezifi
kation einer Schaltung, mit den Schritten:
Extrahieren eines Konnektivitätsdiagramms aus der Registerübertragungsspezifikation;
Erzeugen eines H-SCAN-Diagramms mit einem Satz von H-SCAN-Ketten aus dem Konnektivitätsdiagramm;
Einfügen einer minimalen Anzahl von Multiplexern in die Registerübertragungsspezifikation, um die H-SCAN-Ketten zu erzeugen; und
Umwandeln vorgegebener kombinatorischer Prüfmuster in einen Satz von sequentiellen Prüfmustern, die der Schaltung unter Verwendung aller durch die vorstehenden Schritte gebildeten H-SCAN-Ketten zugeführt werden kön nen.
Extrahieren eines Konnektivitätsdiagramms aus der Registerübertragungsspezifikation;
Erzeugen eines H-SCAN-Diagramms mit einem Satz von H-SCAN-Ketten aus dem Konnektivitätsdiagramm;
Einfügen einer minimalen Anzahl von Multiplexern in die Registerübertragungsspezifikation, um die H-SCAN-Ketten zu erzeugen; und
Umwandeln vorgegebener kombinatorischer Prüfmuster in einen Satz von sequentiellen Prüfmustern, die der Schaltung unter Verwendung aller durch die vorstehenden Schritte gebildeten H-SCAN-Ketten zugeführt werden kön nen.
2. Verfahren nach Anspruch 1, wobei der Schritt zum Erzeu
gen der H-SCAN-Ketten aufweist:
Wiederverwenden einer maximalen Anzahl vorhandener Wege im Konnektivitätsdiagramm, um eine maximale Anzahl paralleler H-SCAN-Ketten zu erzeugen, so daß der für die Prüffunktion erforderliche zusätzliche Platzbedarf und die Prüfmusterverarbeitungszeit minimiert werden.
Wiederverwenden einer maximalen Anzahl vorhandener Wege im Konnektivitätsdiagramm, um eine maximale Anzahl paralleler H-SCAN-Ketten zu erzeugen, so daß der für die Prüffunktion erforderliche zusätzliche Platzbedarf und die Prüfmusterverarbeitungszeit minimiert werden.
3. Verfahren nach Anspruch 1, wobei das Konnektivitätsdia
gramm alle in der Schaltung zwischen Registern, Ver
gleichern, durch die festgestellt wird, ob Signale den
gleichen Zustand aufweisen, und primären Eingängen und
primären Ausgängen und durch Multiplexer verlaufenden
Wege beschreibt.
4. Verfahren nach Anspruch 2, wobei das Konnektivitätsdia
gramm alle in der Schaltung zwischen Registern und pri
mären Eingängen und primären Ausgängen und durch Multi
plexer verlaufenden Wege beschreibt.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei im
Umwandlungsschritt die durch die kombinatorischen Prüf
muster erhaltene Fehlerabdeckung beibehalten wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der
Schritt zum Erzeugen der H-SCAN-Ketten aufweist:
Wiederverwenden eines oder mehrerer in der Regi sterübertragungsspezifikation enthaltenen Vergleicher, wenn die Anzahl primärer Ausgänge der Schaltung kleiner ist als die Anzahl primärer Eingänge der Schaltung, um die Anzahl paralleler H-SCAN-Ketten zu maximieren, so daß die Prüfmusterverarbeitungszeit weiter reduziert wird.
Wiederverwenden eines oder mehrerer in der Regi sterübertragungsspezifikation enthaltenen Vergleicher, wenn die Anzahl primärer Ausgänge der Schaltung kleiner ist als die Anzahl primärer Eingänge der Schaltung, um die Anzahl paralleler H-SCAN-Ketten zu maximieren, so daß die Prüfmusterverarbeitungszeit weiter reduziert wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/741,990 US5748647A (en) | 1996-10-31 | 1996-10-31 | Low cost testing method for register transfer level circuits |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19748016A1 true DE19748016A1 (de) | 1998-05-14 |
Family
ID=24983061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19748016A Withdrawn DE19748016A1 (de) | 1996-10-31 | 1997-10-30 | Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen |
Country Status (5)
Country | Link |
---|---|
US (1) | US5748647A (de) |
JP (1) | JP3095066B2 (de) |
KR (1) | KR100274178B1 (de) |
DE (1) | DE19748016A1 (de) |
GB (1) | GB2318876B (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889788A (en) * | 1997-02-03 | 1999-03-30 | Motorola, Inc. | Wrapper cell architecture for path delay testing of embedded core microprocessors and method of operation |
JP2996213B2 (ja) * | 1997-08-28 | 1999-12-27 | 日本電気株式会社 | テスト容易化設計方法および装置、情報記憶媒体、集積回路装置 |
JP3401523B2 (ja) * | 1999-01-11 | 2003-04-28 | デュアキシズ株式会社 | 通信素子及びこれを用いた通信装置 |
US6865500B1 (en) * | 1999-05-19 | 2005-03-08 | Georgia Tech Research Corporation | Method for testing analog circuits |
US6463560B1 (en) * | 1999-06-23 | 2002-10-08 | Agere Systems Guardian Corp. | Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits |
US6823486B2 (en) * | 2000-06-05 | 2004-11-23 | Fujitsu Limited | Automatic test pattern generation for functional register transfer level circuits using assignment decision diagrams |
US6636995B1 (en) | 2000-07-13 | 2003-10-21 | International Business Machines Corporation | Method of automatic latch insertion for testing application specific integrated circuits |
US6877122B2 (en) | 2001-12-21 | 2005-04-05 | Texas Instruments Incorporated | Link instruction register providing test control signals to core wrappers |
US6957403B2 (en) * | 2001-03-30 | 2005-10-18 | Syntest Technologies, Inc. | Computer-aided design system to automate scan synthesis at register-transfer level |
FR2866435B1 (fr) * | 2004-02-13 | 2008-04-04 | Inst Nat Polytech Grenoble | Procede d'elaboration automatique de fichiers de description hdl de systeme electronique digital integre et systeme digital elecronique integre obtenu |
US20050210349A1 (en) * | 2004-03-22 | 2005-09-22 | Lambert Michael R | Scan test tools, models and/or methods |
US7996805B2 (en) * | 2008-01-08 | 2011-08-09 | National Semiconductor Corporation | Method of stitching scan flipflops together to form a scan chain with a reduced wire length |
US9081932B2 (en) * | 2013-02-01 | 2015-07-14 | Qualcomm Incorporated | System and method to design and test a yield sensitive circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT982636B (it) * | 1972-05-24 | 1974-10-21 | Ibm | Sistema per provare il corretto funzionamento di circuiti logici |
US4680761A (en) * | 1986-01-30 | 1987-07-14 | Burkness Donald C | Self diagnostic Cyclic Analysis Testing System (CATS) for LSI/VLSI |
US5513118A (en) * | 1993-08-25 | 1996-04-30 | Nec Usa, Inc. | High level synthesis for partial scan testing |
US5550749A (en) * | 1994-06-03 | 1996-08-27 | Nec Usa, Inc. | High level circuit design synthesis using transformations |
US5502730A (en) * | 1994-06-10 | 1996-03-26 | Nec Usa, Inc. | Partial scan testability utilizing reconvergence through sequential elements |
US5513123A (en) * | 1994-06-30 | 1996-04-30 | Nec Usa, Inc. | Non-scan design-for-testability of RT-level data paths |
-
1996
- 1996-10-31 US US08/741,990 patent/US5748647A/en not_active Expired - Fee Related
-
1997
- 1997-10-27 JP JP09293750A patent/JP3095066B2/ja not_active Expired - Fee Related
- 1997-10-30 GB GB9722970A patent/GB2318876B/en not_active Expired - Fee Related
- 1997-10-30 KR KR1019970056424A patent/KR100274178B1/ko not_active IP Right Cessation
- 1997-10-30 DE DE19748016A patent/DE19748016A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB2318876B (en) | 2001-06-06 |
JP3095066B2 (ja) | 2000-10-03 |
KR19980033338A (ko) | 1998-07-25 |
US5748647A (en) | 1998-05-05 |
JPH10132899A (ja) | 1998-05-22 |
GB2318876A (en) | 1998-05-06 |
KR100274178B1 (ko) | 2000-12-15 |
GB9722970D0 (en) | 1998-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2729053C2 (de) | Prüfverfahren für eine monolithisch integrierte stufenempfindliche, einseitig verzögerungsabhängige logische Einheit | |
DE60128014T2 (de) | Intelligenter Prüfadapter | |
DE60211659T2 (de) | Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd) | |
DE4110151C2 (de) | Integrierte Schaltungsvorrichtung | |
DE69533275T2 (de) | Ein Steuergerät zur Durchführung der Abtastprüfung | |
DE19937232B4 (de) | Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen | |
DE102006059158B4 (de) | Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen | |
DE10392497T5 (de) | Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung | |
EP0186724B1 (de) | Prüf- und Diagnoseeinrichtung für Digitalrechner | |
DE4404445C2 (de) | Integrierte Halbleiterschaltung und Verfahren zum Testen derselben | |
DE69825299T2 (de) | Verfahren und vorrichtung zur anwendung von gewichteten zufallsmustern bei teilabtastung | |
DE2349324A1 (de) | Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen | |
DE19950821A1 (de) | Bewertungssystem für integrierte Halbleiterschaltungen | |
DE60215933T2 (de) | Verfahren und vorrichtung für fehlertolerante und flexible test-vektoren-erzeugung | |
DE10031536A1 (de) | Ereignisgestütztes Halbleiterprüfsystem | |
DE19952272A1 (de) | Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen | |
DE19748016A1 (de) | Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen | |
DE10393176T5 (de) | Verfahren zum Evaluieren eines kernbasierten Systems auf einem Chip | |
DE102021128331B3 (de) | Integrierte schaltung, testanordnung und verfahren zum testen einer integrierten schaltung | |
DE102021123889B3 (de) | Integrierte schaltung, testanordnung und verfahren zum testen einer integrierten schaltung | |
DE69830967T2 (de) | Verfahren und System zur Prüfung einer integrierten Schaltung | |
DE10052721B4 (de) | Integrierte Schaltung und Verfahren zum Testen einer integrierten Schaltung | |
DE69533018T2 (de) | Struktur und Leistungsabtastprüfung | |
EP1430320B1 (de) | Elektronischer baustein und verfahren zu dessen qualifizierungsmessung | |
DE19903606A1 (de) | Halbleiteranordnung und Verfahren zum Entwurf der Halbleiteranordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |