DE19748016A1 - Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen - Google Patents

Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen

Info

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
Application number
DE19748016A
Other languages
English (en)
Inventor
Subhrajit Bhattacharya
Sujit Dey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of DE19748016A1 publication Critical patent/DE19748016A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318586Design for test with partial scan or non-scannable parts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation 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].
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%.
Zusätzliche Prüfmusterverarbeitungszeit
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".
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".
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.
Herstellen der RTL-Schaltung mit minimalen Abtastketten bzw. einer minimal Anzahl erweiterter Scanketten
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.
Experimentelle Ergebnisse
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.
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.
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.
DE19748016A 1996-10-31 1997-10-30 Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen Withdrawn DE19748016A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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