DE69226937T2 - Prüfverfahren für Leiterplatten - Google Patents
Prüfverfahren für LeiterplattenInfo
- Publication number
- DE69226937T2 DE69226937T2 DE69226937T DE69226937T DE69226937T2 DE 69226937 T2 DE69226937 T2 DE 69226937T2 DE 69226937 T DE69226937 T DE 69226937T DE 69226937 T DE69226937 T DE 69226937T DE 69226937 T2 DE69226937 T2 DE 69226937T2
- Authority
- DE
- Germany
- Prior art keywords
- test
- group
- model
- circuit
- models
- 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.)
- Expired - Fee Related
Links
- 238000010998 test method Methods 0.000 title 1
- 238000012360 testing method Methods 0.000 claims description 200
- 238000000034 method Methods 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000011990 functional testing Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004138 cluster model Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101000579646 Penaeus vannamei Penaeidin-1 Proteins 0.000 description 1
- 101000579647 Penaeus vannamei Penaeidin-2a Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
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/2801—Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
- G01R31/2806—Apparatus therefor, e.g. test stations, drivers, analysers, conveyors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf das Gebiet des Funktionstestens von geladenen, gedruckten Schaltungsplatinen basierend auf einem Strukturübereinstimmen von Modellen. Insbesondere bezieht sich die Erfindung auf ein Verfahren zum Beschleunigen der Erzeugung von In-Schaltungs-Tests durch automatisches Identifizieren von Bauelementen innerhalb einer elektronischen Schaltung, die zusammen als eine Bauelementgruppe getestet werden können, und dann Wiedergewinnen einer vordefinierten Teststruktur aus einer Bibliothek für jede Gruppe.
- Üblicherweise betraf das automatisierte Testen von geladenen gedruckten Schaltungsplatinen (PCBs; PCB = Printed Circuit Board) den Funktionstest, bei dem Eingangssignale zu den äußeren Eingängen einer PCB geliefert wurden, und bei dem Ausgangssignale von den äußeren Ausgängen der PCB beobachtet wurden. Dieser Typ des Funktionstestens kann jedoch für eine komplexe Schaltungsanordnung sehr kompliziert werden, und derselbe liefert lediglich eine begrenzte Diagnose. Das moderne Testen ergänzt diesen ursprünglichen Funktionstest mit dem effizienten, flexiblen In-Schaltungs-Test. Der In- Schaltungs-Test ist ein Typ eines Funktionstests, bei dem das Verhalten jedes Bauelements (z. B. einer digitalen integrierten Schaltung) auf einer PCB unabhängig als eine Funktionseinheit getestet wird.
- Der Conference Record 25th Asilomar Conference on Signals, Systems and Computers, 4. November 1991, Pacific Grove, CA. (USA); Seiten 1240-1244, MACII E. u. a. "Algebraic/topological combined strategies for sequential ATPG" offenbart ein Verfahren zur automatischen Teststrukturerzeugung für integrierte Schaltungen. In einer Anfangsphase wird die Schaltung in logische Blöcke auf der Basis aufgeteilt, daß dieselben einen Satz von logischen Toren aufweisen, die durch die Eigenschaft gekennzeichnet sind, daß jedes Vorgängertor lediglich einen Nachfolger aufweist.
- Das In-Schaltungs-Testen ist detaillierter in dem U. S. Patent Nr. 5.004.978 mit dem Titel "METHOD FOR REGENERATING IN-CIRCUIT TEST SEQUENCES FOR CIRCUIT BOARD COMPONENTS" beschrieben.
- Um den In-Schaltungs-Test durchzuführen, muß ein Tester Eingangssignale direkt an den Eingängen eines DUT (= Device Under Test = getestetes Bauelement) anlegen, und derselbe muß auf die Ausgänge des DUT zugreifen, um das Ausgangsansprechverhalten zu beobachten. Eine "Bett-von-Nägeln-" (d. h. Sonden, die direkt einen Kontakt mit den Bauelements- I/O-Stiften von Anschlußflächen auf der Oberfläche der PCB bilden) Befestigung wird verwendet, um einen Zugriff auf die erforderlichen Knoten an der PCB vorzusehen. Jedes Bauelement kann dann derart getestet werden, als ob dasselbe elektrisch von der Schaltung getrennt wäre. Ein Hauptvorteil des In-Schaltungs-Testens besteht darin, daß Tests für viele übliche ICs (integrierte Schaltungen) im voraus einmal programmiert und dann in einer Bibliothek gespeichert werden können. Die Tests können dann, wenn dieselben benötigt werden, aufgerufen werden. Dies vereinfacht starkt die Testerzeugung, da dieser vorprogrammierte Test immer wieder verwendet werden kann.
- Das In-Schaltungs-Testen wird herkömmlicherweise auf einem ATE-System (ATE = Automated Test Equipment = automatisierte Testausrüstung) durchgeführt. Ein ATE-System (Tester) 100 ist in Fig. 1 gezeigt. Das ATE-System 100 umfaßt einen Testgenerator 102 und eine Teststeuerung 104. Der Testgenerator 102 erzeugt einen In-Schaltungs-Test für jedes Bauelement auf der getesteten PCB. Ein generischer Testplan 106 liefert die überwachende Steuerung des Testen. Dies umfaßt das folgende Durchlaufen der Tests, das Protokollieren der Resultate, das Steuern des schnittstellenmäßigen PCB/Befestigungs-Verbindens, das Steuern der Testleistungsversorgungen und das Vorsehen einer Anwenderschnittstelle.
- Die Kombination der einzelnen In-Schaltungs-Tests und des Testplans 106 bildet eine PCB-Testspezifikation. Eine Bauelementmodellebibliothek 108, eine physische Datenbank 110 und eine elektrische Datenbank 112 liefern die Daten, die für den Testgenerator 102 erforderlich sind, um die einzelnen In-Schaltungs-Tests zu erzeugen. Die elektrische Datenbank 112 enthält eine Liste der elektrischen Bauelemente auf der PCB, eine elektrische Beschreibung für jedes Bauelement, elektrische Verbindungsinformationen, eine Liste der zu testenden Bauelemente und Testerfordernisse für jedes Bauelement (z. B. die erforderlichen Leistungsversorgungsspannungen und die Testsondenerfordernisse). Für den HP3070- Tester (der im folgenden beschrieben ist) werden die elektrischen Daten in der "BOARD"-Datei gespeichert. Die physische Datenbank 110 enthält eine topologische Beschreibung der PCB, die durch die Teststeuerung 104 verwendet werden wird, um jedes DUT 116 zu lokalisieren und zu testen. Die physische Datenbank 110 enthält ferner anwenderdefinierte Informationen, wie z. B. die Knotenzugänglichkeit.
- Die physische Datenbank 110 und die elektrische Datenbank 112 werden typischerweise durch ein CAD/CAM-System (Computer Aided Design/Computer Aided Manufacturing-System) während des Entwurfs einer PCB erzeugt.
- Die Bauelementmodellebibliothek 108 enthält eine Mehrzahl von vorerzeugten generischen Modellen für allgemein verwendete Chips digitaler integrierter Schaltungen (ICs). Im wesentlichen ist jedes Modell eine Testroutine, die in die PCB-Testspezifikation eingebracht (d. h. editiert) werden kann. Jedes Bauelementmodell liefert für ein spezifisches Bauelement: Stift-Ausgangs-Informationen (d. h. welche Stifte Eingänge, Ausgänge, bidirektional oder unbenutzt sind), Spurdaten (d. h. Informationen, die jeden Bauelementsausgang auf die Bauelementseingänge beziehen, die denselben beeinflussen), eine Testroutine, ein Verfahren zum Vorbereiten jedes Ausgangs des Bauelements und bauelements spezifische Informationen, die eine Teststrukturrate und erforderliche Signalpegel umfassen. Wenn Bauelemente, die in der Bauelementsmodellebibliothek 108 nicht dargestellt sind, angetroffen werden, kann ein Modell manuell in den Tester, und wenn gewünscht, in die Modellebibliothek eingegeben werden.
- Die Teststeuerung 104 führt die In-Schaltungs-Tests durch, die durch den Testgenerator 102 erzeugt wurden. Ein Treibermodul 114 wird verwendet, um die Testsignale an ein DUT 116 anzulegen, und ein Sensor (ein Empfänger) -Modul 118 wird verwendet, um das Ansprechen des DUT 116 auf die Testsignale zu empfangen. Die Kombination des Treibermoduls 114 und des Sensormoduls 118 ist als ein Testerkanal bekannt.
- Der programmierbare In-Schaltungs-Tester HP3070 ist ein Beispiel eines ATE-Systems. Der HP3070-Tester wird durch die Hewlett-Packard Company, Palo Alto, California, hergestellt. Detaillierte Betriebsinformationen für den HP3070 sind in dem "HP3070 Board Test System User's Documentation Set (1989)", der von Hewlett-Packard unter der HP-Teilenummer 44930A erhältlich ist, enthalten.
- Obwohl der In-Schaltungs-Test eine gründliche Testvorrichtung liefert, kann der Test sehr lange werden, da jede Komponente unabhängig getestet wird. Zusätzlich können gewisse Bauelemente, aufgrund von Knotenzugänglichkeitsproblemen, speziellen Signalerfordernissen oder einer Bauelementskomplexität, nicht unabhängig testbar sein. Das Knotenzugänglichkeitsproblem wird durch Erhöhen der Schaltungsminiaturisierung und der Schaltungskomplexität (z. B. von Oberflächen-angebrachten Bauelementen, Mehrchipmodulen, ASICs etc.) verschärft.
- Eine Beispielschaltung 200, die diese Probleme darstellt, ist in Fig. 2 gezeigt. Die Schaltung 200 umfaßt eine Oszillator U1, ein NAND-Tor U2, einen Inverter U3 und einen Puffer U4. Der Ausgang (Stift U1-1) des Oszillators U1 ist an einen Eingang (Stift U2-2) des NAND U2 gebunden. Der andere Eingang (Stift U2-1) des NAND U2 ist mit der logischen Versorgungsspannung VCC durch einen Widerstand R1 verbunden. Der Ausgang (Stift U2-3) des NAND U2 ist mit dem Eingang des Inverters U3 (Stift U3-1) verbunden. Der Ausgang des Inverters U3 (Stift U3-2) ist mit dem Eingang des Puffers U4 (Stift U4-1) verbunden.
- Beim Versuch die Schaltung 200 zu testen, kann jede mögliche Anzahl von Problemen auftreten. Beispielsweise kann das Oszillatorsignal von dem Oszillator U1 das Testen von Bauelementen in Flußrichtung U2-U4 stören. Das herkömmliche In- Schaltungs-Verfahren würde U2 durch Treiben der Stifte U2-1 und U2-2 und dann Prüfen des Stifts U2-3 bezüglich des ordnungsgemäßen Ansprechverhaltens testen. Das Treiben des Stifts U2-2 erfordert jedoch ein Rückwärtstreiben des Ausgangs (Stift U1-1) von U1. U1-1 ist ein Oszillatorausgang, der nicht zuverlässig rückwärts getrieben werden kann. Daher kann U2 nicht getestet werden. Ferner wird das Oszillatorsignal von U1 in Flußrichtung durch U2 bis U3 und U4 (und darüberhinaus) ausgebreitet, was das Testen dieser Bauelemente in Flußrichtung stört. Folglich ist es wünschenswert, U1 zu sperren. U1 weist jedoch kein Sperrmerkmal auf.
- Eine übliche Lösung dieses Problems besteht darin, U1 und U2 "zusammenzugruppieren" oder "zusammenzuclustern", und das Paar als eine Funktionseinheit oder eine Gruppe 202 zu testen. Die Gruppe 202 stellt funktionell einen Oszillator mit einem Sperrmerkmal dar. Das heißt, daß, wenn der Stift U2-1 in einen niedrigen Zustand durch eine Sonde des Testers gezogen wird, dann der Stift U2-3 immer in einem hohen Zustand HIGH (aufgrund der logischen NAND-Funktion von U2) sein wird. Dies verhindert, daß das Oszillatorsignal von U1 sich durch U2 ausbreitet, so daß es scheint, daß U1 bezüglich U3 und U4 gesperrt wurde. Dies begünstigt das Testen von allen Komponenten in Flußrichtung. Ferner können zur gleichen Zeit sowohl U1 als auch U2 und die Verbindung zwischen denselben getestet werden.
- Ein weiteres Problem, das während des Testens der Schaltung 200 auftreten kann, besteht in nicht zugänglichen Stiften. Beispielsweise können die Stifte U3-2 und U4-1 an der Oberfläche der PCB nicht verfügbar sein, so daß sowohl U3 als auch U4 nicht getestet werden können. Das Zusammengruppieren der zwei Bauelemente in eine Gruppe 204 wird jedoch ein Testen von beiden Bauelementen als ein einzelner Funktionsblock ermöglichen. Dies umgeht die Notwendigkeit, auf die Stifte U3-2 und U4-1 zuzugreifen.
- Zusätzlich zu dem Lösen der Testzugangsprobleme kann das Gruppieren verwendet werden, um den In-Schaltungs-Test durch Teilen einer komplexen Schaltung in eine relativ kleine Anzahl von testbaren Gruppen zu vereinfachen und zu beschleunigen. Jede Gruppe kann dann getestet werden, um einen Bestanden/Durchgefallen-Anzeiger des Bauelementsverhaltens vorzusehen. Dies führt tatsächlich zu einer besseren Anzeige der Bauelementsfunktion als bei einem In-Schaltungs-Test auf einer bauelementeweisen Basis, da die Wechselbeziehung zwischen den Komponenten auch getestet wird. Ferner wird der In-Schaltungs-Test verkürzt, da viele Komponenten zusammen und nicht getrennt getestet werden.
- Herkömmlicherweise wurden In-Schaltungs-Tests verwendet, um soviel Komponenten wie möglich zu testen, wobei das Gruppentesten lediglich durchgeführt wurde, wenn ein Bauelement aufgrund eines der oben beschriebenen Probleme nicht testbar war. Das herkömmliche Verfahren zum Erzeugen eines In- Schaltungs-Tests ist in Fig. 3 gezeigt. Bei einem Schritt 302 wird eine elektrische Beschreibung der PCB von der elektrischen Datenbank 112 analysiert, um zu bestimmen, welche Bauelemente ein Testen erfordern. Bei einem Schritt 314 wird ein generisches Bauelementsmodell für jedes DUA (DUA = Device Under Analysis = analysiertes Bauelement) aus der Bauelementsmodellebibliothek 108 wiedergewonnen. Wie vorher erörtert, enthält jedes Bauelementsmodell eine komplette Testroutine für das spezielle Bauelement. Diese umfaßt die nötigen Details, um die Teststeuerung 104 anzuweisen, wie das DUA zu testen ist.
- Wenn bei einem Schritt 316 kein Bauelementsmodell für ein DUA in der Bauelementsmodellebibliothek 108 vorhanden ist, dann wird ein Bauelementsmodell für das DUA bei einem Schritt 318 geschrieben. Die Bauelementsmodelle werden manuell durch den Testprogrammierer geschrieben. Sobald das Bauelementsmodell geschrieben ist, kann dasselbe zu der Bauelementsmodellebibliothek 108 hinzugefügt werden.
- Nachdem ein Bauelementsmodell für so viele Bauelemente wie möglich wiedergewonnen wurde, analysiert der Testprogrammierer die PCB, um jegliche Bauelemente zu identifizieren, die ein Gruppieren erfordern, und derselbe definiert bei einem Schritt 320 die Gruppen. Ein Gruppenmodell (d. h. eine Testroutine) wird dann durch den Programmierer geschrieben, und dasselbe wird in das ATE-System manuell eingegeben. Praktisch gesprochen sind lediglich wenige (wenn überhaupt welche) Gruppen tatsächlich derart früh bei dem Testverfahren, aufgrund der Komplexität der Schaltungen, die getestet werden, und der Schwierigkeit des Vorhersehens von Problemen, definiert. Gruppen werden häufiger während des Ausführens der In-Schaltungs-Tests (Schritt 332) definiert, um ein Problem zu beheben, das beim Testen eines speziellen Bauelements auftrat.
- Bei einem Schritt 322 wird die testspezifische elektrische Beschreibung für die getestete PCB erzeugt. Das heißt, die Bauelementsmodelle, die bei dem Schritt 314 wiedergewonnen wurden, die Bauelementsmodelle, die bei dem Schritt 314 geschrieben wurden, und jegliche Gruppenmodelle, die bei dem Schritt 320 geschrieben wurden, werden verwendet, um die elektrische Beschreibung für die PCB für den speziellen erzeugten Test individuell anzupassen. Die testspezifische elektrische Beschreibung für zwei identische PCB können abhängig von Faktoren, wie z. B. der Gruppierungsmethodik und des Typs der verwendeten Testbefestigung, abhängen.
- Bei einem Schritt 324 wird die testspezifische elektrische Beschreibung von dem Schritt 322 für die getestete PCB zusammen mit physischen Daten von der physischen Datenbank 110 verwendet, um eine Testbefestigungsbeschreibung 326 und Testquellendaten 328 zu erzeugen. Die Testbefestigungsbeschreibung 326 stellt die Daten dar, die erforderlich sind, um die Testbefestigung zu erzeugen, die schnittstellenmäßig die getestete PCB mit dem ATE-System verbindet. Die Testquellendaten 328 umfassen die digitalen Teststrukturen von den Bauelements- und den Gruppen-Modellen, die an die spezielle getestete PCB angepaßt wurden. Das Anpassen (oder Editieren) betrifft das Entfernen von widersprüchlichen Teststrukturen und das Hinzufügen von Aufbereitungs- und Sperr-Arbeitsanweisungen.
- Schließlich werden bei einem Schritt 330 die Testquellendaten 328 und die Befestigungsbeschreibung 326 ausgetestet und für jegliche Probleme modifiziert, die nicht während der Testerzeugung vorausgesehen wurden, um einen vollständigen In-Schaltungs-Test 332 zu erzeugen. Bei diesem Austestschritt tritt normalerweise die Mehrheit des Gruppierens auf. Ungünstigerweise ist die Testbefestigung oftmals zu diesem Zeitpunkt schon aufgebaut, derart, daß eine Modifikation notwendig sein kann, um das Testen der Gruppen aufzunehmen. Modifikationen der Testbefestigung sind teuer und erhöhen die Zeit bis zu der Herstellungsfreigabe (d. h. den Herstellungszeitverlust), die ein kritischer Rentabilitätsfaktor beim Herstellen ist.
- Dieses herkömmliche Verfahren weist die zusätzliche Schwäche auf, daß die Gruppenidentifikation und die Gruppendefinition durch den Testprogrammierer durchgeführt werden muß, der die Schaltungsschematik basierend auf ihrem oder seinem technischen Urteilsvermögen und ihrer oder seiner technischen Erfahrung analysieren muß. Dieses Verfahren ist zeitaufwendig, neigt zu Fehlern und erfordert eine Erfahrung, die nicht ohne weiteres in der gesamten Industrie verfügbar ist.
- Es wird ein Verfahren benötigt, das automatisch Bauelemente innerhalb einer elektronischen Schaltung identifiziert, die zusammen als eine Gruppe getestet werden können/müssen, und das dann für jede Gruppe eine vordefinierte Teststruktur aus einer Bibliothek wiedergewinnt.
- Die Erfindung ist ein Verfahren zum Erzeugen eines In-Schaltungs-Funktionstests für eine beladene gedruckte Schaltungsplatine. Das Verfahren erzeugt automatisch einen Test für Gruppen oder Cluster von Bauelementen, die als eine einzelne Funktionseinheit getestet werden sollen. Dies wird durch Strukturübereinstimmen von Bauelementsgruppen auf der gedruckten Schaltungsplatine mit vordefinierten Modellen aus einer Gruppenmodellebibliothek durchgeführt.
- Das Verfahren weist die folgenden Schritte auf. Zunächst wird eine elektrische Beschreibung der gedruckten Schaltungsplatine analysiert, um jegliche Gruppen von Elementen zu identifizieren, die mit jeglichen der Gruppenmodelle übereinstimmen. Wenn eine Übereinstimmung vorgefunden wird, wird eine generische Testroutine für die Gruppe aus dem Modell wiedergewonnen. Es werden ebenso Tests für nicht gruppierte Bauelemente erzeugt. Das heißt jedes Bauelement wird mit einem generischen Bauelementsmodell, das in einer Bauelementsmodellebibliothek enthalten ist, in Übereinstimmung gebracht. Jedes Bauelementsmodell enthält eine Testroutine für das entsprechende Bauelement.
- Im Herzen der Erfindung befindet sich das Verfahren zum Übereinstimmen eines generischen Gruppenmodells mit einer Gruppe von Elementen innerhalb der getesteten Schaltung. Dieser Schritt wird wie folgt durchgeführt. Als erstes wird ein Bauelement aus der elektrischen Beschreibung für die Platine für die Analyse ausgewählt. Als nächstes wird ein Bauelementsmodell für das ausgewählte Bauelement aus der Bauelementsmodellebibliothek wiedergewonnen. Das Bauelementsmodell enthält eine Liste der willkürlich definierten Funktionselemente des ausgewählten Bauelements.
- Ein einzelnes Element des ausgewählten Bauelements (z. B. ein einzelnes Tor auf einem Mehrtorchip) wird zur Analyse ausgewählt. Das ausgewählte Element bildet zusammen mit dem verbundenen Schaltungselementen desselben eine Elementgruppe, die als eine einzelne Einheit getestet werden kann. Es wird ein Index überprüft, um zu bestimmen, welche Gruppenmodelle das ausgewählte Element umfassen. Die Verbindung jedes Gruppenmodells, das das Element enthält, wird dann mit der Elementgruppe verglichen. Ein übereinstimmendes Gruppenmodell wird ein Teilsatz der analysierten Schaltung sein. Sobald ein übereinstimmendes Modell vorgefunden wird, kann dann eine generische Testroutine aus demselben wiedergewonnen werden.
- Fig. 1 ist ein Blockdiagramm eines herkömmlichen ATE-Systems.
- Fig. 2 ist ein schematisches Diagramm einer Beispielsschaltung, die verwendet wird, um die Probleme darzustellen, die durch die Erfindung gelöst werden.
- Fig. 3 ist ein Flußdiagramm, das das herkömmliche Verfahren des Erzeugens eines In-Schaltungs-Tests für eine beladene PCB darstellt.
- Fig. 4 ist ein Flußdiagramm, das die Schritte der Erfindung zum Erzeugen eines In-Schaltungs-Tests für eine geladene PCB zeigt.
- Fig. 5 ist ein detailliertes Flußdiagramm, das das bevorzugte Ausführungsbeispiel von Schritt 304 von Fig. 4 darstellt.
- Fig. 6 ist ein schematisches Diagramm eines Gruppenmodells, das für die Gruppe 202 von Fig. 2 einge setzt werden könnte.
- Fig. 7(a) ist ein einfaches schematisches Diagramm einer Beispielsschaltung 700, die verwendet wird, um das Gruppenstrukturübereinstimmen darzustellen.
- Fig. 7(b)-7(e) sind schematische Diagramme von Gruppenmodellen, die verwendet werden, um das Gruppenstrukturübereinstimmen für die Beispielsschaltung 700 darzustellen.
- Fig. 8(a) und 8(b) zeigen Tabellen, die verwendet werden, um das Gruppenstrukturübereinstimmen für das Beispiel, das in Fig. 7 dargelegt ist, darzustellen.
- Fig. 9(a) ist ein schematisches Diagramm eines Testmodells 900, das aus dem Einsetzen der Gruppe 720 in die Schaltung 700 resultiert.
- Fig. 9(b) ist ein schematisches Diagramm eines Beispielgruppenmodells 910, das verwendet wird, um das Gruppenstrukturübereinstimmen für das Testmodell 900 darzustellen.
- Fig. 9(c) ist ein schematisches Diagramm eines Testmodells 920, das aus dem Einsetzen der Gruppe 910 in das Testmodell 900 resultiert.
- In den Figuren beziehen sich gleiche Bezugsziffern auf gleiche Elemente/Schritte.
- Die vorliegende Erfindung ist ein Verfahren zum Erzeugen eines In-Schaltungs-Tests für eine PCB, die eine Mehrzahl von verbundenen Bauelementen (z. B. digitale und lineare ICs) aufweist. Die Erfindung liefert, wie im folgenden beschrieben und in den beigefügten Zeichnungen gezeigt, ein Verfahren zum automatischen Übereinstimmen einer Gruppe von Bauelementen mit einem generischen Modell, das eine vorbe stimmte Testroutine enthält. Dies ermöglicht, daß die Gruppe als eine einzelne Funktionseinheit getestet und gesperrt werden kann. Die Modelle der Gruppe sind in einer Bibliothek gespeichert, so daß dieselben wiederverwendet werden können. Dies beschleunigt stark die Testerzeugung durch Erfassen der Kenntnis eines Testprogrammierers.
- Die folgenden Ausdrücke sind zur Klarheit und zum Erleichtern des Bezugs definiert. Ein "Bauelement" ist eine elektrische Komponente (z. B. eine digitale IC, eine lineare IC, ein diskretes Halbleiterbauelement, ein Widerstand, ein Induktor etc.) auf der analysierten PCB. Ein "Element" ist eine vordefinierte funktionell sich unterscheidende Schaltungsanordnungsgruppe innerhalb eines Bauelements. Beispielsweise ist eine 74LS00 ein Bauelement, das vier NAND- Tore enthält. Jedes NAND-Tor ist ein Element. Ein diskreter Widerstand ist ein Bauelement mit einem Element. Dies wird detaillierter im folgenden erklärt. "Elementgruppe" bezieht sich auf eine Gruppe von verbundenen Elementen, die funktionell zusammen als eine Einheit getestet werden sollen. "Gruppenmodell" bezieht sich auf eine digital gespeicherte Darstellung einer Elementgruppe, die die Daten enthält, die erforderlich sind, um einen funktionellen In-Schaltungs-Test für eine Elementgruppe zu erzeugen.
- Das Verfahren der Erfindung zum Erzeugen eines In-Schaltungs-Tests verwendet ein ATE-System 100, wie es im vorhergehenden beschrieben ist. Die Daten, die zur Testerzeugung erforderlich sind, umfassen eine elektrische Datenbank 112, eine Bauelementsmodellebibliothek 108 und eine Gruppenmodellebibliothekt 308 (in Fig. 4 gezeigt).
- Die Gruppenmodellebibliothek 308 enthält eine Mehrzahl von vorerzeugten generischen Gruppenmodellen. Mehrere unterschiedliche Gruppenmodellebibliotheken können aufgebaut werden, wobei jede derselben ein unterschiedliches Ziel aufweist. Eine Bibliothek kann auf das Lösen von gewöhnlichen Problemen gerichtet sein. Beispielsweise ist die Gruppe 202 in der Schaltung 200 von Fig. 2 eine gewöhnliche Oszillatorschaltung, die oftmals Probleme während des Tests erzeugt, und die in eine Problemtypgruppenmodellebibliothek geformt und gespeichert werden könnte. Eine weitere Bibliothek kann mit dem Ziel des Reduzierens der Anzahl von Testpunkten, die auf einer PCB erforderlich sind, aufgebaut werden. Noch eine weitere Bibliothek kann verwendet werden, um einen höheren Durchsatz durch Testen von großen Schaltungsanordnungsblöcken zu fördern. Die Bibliothek kann durch den Testprogrammierer basierend auf seinen Erfordernissen vor dem Test ausgewählt werden.
- Im wesentlichen ist jedes Gruppenmodell eine Testroutine, die direkt in die PCB-Testspezifikation eingebracht werden soll, derart, daß die Gruppe als ein einzelnes Bauelement getestet werden kann. Folglich sind die Inhalte jedes Gruppenmodells ähnlich zu denselben jedes Bauelementsmodells aus der Bauelementsmodellebibliothek 108. Das heißt jedes Gruppenmodell wird Stift-Ausgangs-Informationen (d. h. welche Stifte Eingänge, Ausgänge, bidirektional oder unbenutzt sind), Spurdaten (d. h. Informationen, die jeden Gruppenausgang auf die Gruppeneingänge beziehen, die denselben beeinflussen), eine Testroutine, ein Verfahren zum Vorbereiten jedes Ausgangs der Gruppe und gruppenspezifische Informationen, die eine Teststrukturrate und erforderliche Signalpegel umfassen, enthalten. Zusätzlich wird jedes Gruppenmodell Informationen enthalten, die ein Strukturübereinstimmen (d. h. eine Gruppenidentifikation) ermöglichen. Das Gruppenmodell und das Strukturübereinstimmen sind detaillierter im folgenden erörtert.
- Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung wird nun unter Bezugnahme auf Fig. 4 beschrieben. Bei einem Schritt 302 wird eine elektrische Beschreibung der PCB aus der elektrischen Datenbank 112 analysiert, um zu bestimmen, welche Bauelemente ein Testen erfordern. Als nächstes wird bei einem Schritt 304 die PCB, die einen Test erfordert, analysiert, um die verbundenen Bauelemente oder Ele mentegruppen, die mit einem Gruppenmodell übereinstimmen, zu identifizieren. Dies wird durch Vergleichen (Strukturübereinstimmen) der Schaltungstopologie mit den vordefinierten Gruppenmodellen in der Gruppenmodellebibliothek 308 erreicht. Die Vorrichtung zum Durchführen dieses Vergleichs wird detaillierter im folgenden unter Bezugnahme auf Fig. 5 beschrieben. Wenn eine Übereinstimmung vorgefunden wird, wird eine Testroutine für die Bauelementsgruppe aus dem übereinstimmenden Gruppenmodell bei einem Schritt 306 wiedergewonnen.
- Bei einem Schritt 310 wird dem Testprogrammierer die Gelegenheit gegeben, Gruppenmodelle, wenn gewünscht, hinzuzufügen. Wenn zusätzliche Gruppenmodelle erwünscht sind, dann werden dieselben durch den Testprogrammierer bei einem Schritt 312 geschrieben. Jegliche neuen Modelle, die bei dem Schritt 312 geschrieben werden, können zu der Gruppenmodellebibliothek 308 zur Wiederverwendung hinzugefügt werden.
- Nachdem alle Elementegruppen identifiziert wurden, und Teststrukturen erzeugt (wiedergewonnen) wurden, werden die Bauelemente auf der PCB in eine von drei Kategorien passen. Diese umfassen Bauelemente, die folgendes aufweisen: (1) es sind keine Elemente in einer Elementgruppe umfaßt, (2) es ist mindestens ein Element in einer Elementgruppe und mindestens ein Element in einer Elementgruppe nicht umfaßt, und (3) es sind alle Elemente in einer Elementgruppe umfaßt. Typ-(1)-Bauelemente werden nicht durch die Gruppentesterzeugung beeinflußt. Daher müssen diese Bauelemente eine Teststruktur aufweisen, die auf einem Bauelementsniveau, wie im folgenden beschrieben, erzeugt wird. Typ-(2)-Bauelemente werden teilweise durch die Gruppentesterzeugung beeinflußt. Lediglich für die nicht gruppierten Elemente dieser Bauelemente muß eine Teststruktur erzeugt werden. Ein Test für lediglich diese Bauelemente kann durch Durchführen der Testerzeugung auf dem Bauelementsniveau (im folgenden beschrieben) erzeugt werden, wobei die gruppierten I/O-Stifte derart markiert sind, daß die Testerzeugung nicht für dieselben dupliziert wird. Das bevorzugte Verfahren besteht jedoch darin, einen vollständigen Bauelementstest für das Typ- (2)-Bauelement zu erzeugen, derart, daß die gruppierten Bauelemente zweimal getestet werden. Die Typ-(3)-Bauelemente werden vollständig über den Gruppentest derart getestet, daß weitere Tests nicht erzeugt werden müssen. Die Typ-(3)- Elemente können während der Bauelementsniveautesterzeugung ausgelassen werden.
- Die Bauelementsniveautesterzeugung fährt im wesentlich identisch zu derselben fort, die in Fig. 3 dargelegt ist. Das heißt, es wird ein generisches Bauelementsmodell aus der Bauelementsmodellebibliothekt 108 bei dem Schritt 314 für jedes DUA wiedergewonnen, das nicht in einer Elementgruppe umfaßt ist. Wenn bei dem Schritt 316 ein Bauelementsmodell für ein DUA nicht in der Bauelementsmodellebibliothek 108 vorhanden ist, dann wird ein Bauelementsmodell für das DUA bei dem Schritt 318 geschrieben. Die Bauelementsmodelle werden manuell durch den Testprogrammierer geschrieben. Sobald das Bauelementsmodell geschrieben ist, kann dasselbe zu der Bauelementsmodellebibliothek 108 hinzugefügt werden.
- Bei einem Schritt 322 wird die testspezifische elektrische Beschreibung für die getestete PCB erzeugt. Das heißt, die Gruppenmodelle, die bei dem Schritt 306 wiedergewonnen und bei dem Schritt 312 geschrieben wurden, und die Bauelementsmodelle, die bei dem Schritt 314 wiedergewonnen und bei dem Schritt 318 geschrieben wurden, werden verwendet, um die elektrische Beschreibung der PCB für den speziellen erzeugten Test individuell anzupassen. Die testspezifischen elektrischen Beschreibungen für die zwei identischen PCBs können sich abhängig von Faktoren, wie z. B. der Gruppierungsmethodik und des Typs der verwendeten Testbefestigung, unterscheiden.
- Bei einem Schritt 324 wird die testspezifische elektrische Beschreibung aus dem Schritt 322 zusammen mit den physischen Daten aus der physischen Datenbank 110 verwendet, um eine Testbefestigungsbeschreibung 326 und Testquellendaten 328 zu erzeugen. Die Testbefestigungsbeschreibung 326 sind die Daten, die erforderlich sind, um die Testbefestigung zu erzeugen, die die getestete PCB mit dem ATE-System schnittstellenmäßig verbindet. Die Testquellendaten 328 umfassen die digitalen Teststrukturen von dem Bauelements- und dem Gruppen-Modell, die für die spezielle getestete PCB editiert wurden. Das Editieren betrifft das Entfernen von Strukturen, die Widersprüche aufweisen, und das Hinzufügen von Aufbereitungs- und Sperr-Arbeitsanweisungen.
- Schließlich werden bei einem Schritt 330 die Testdaten 328 und die Befestigungsbeschreibung 326 ausgetestet und bezüglich jeglicher Probleme modifiziert, die nicht während der Testerzeugung vorausgesehen wurden, um den endgültigen In-Schaltungs-Test 332 zu erzeugen.
- Der Schritt des Identifizierens von Gruppen innerhalb einer getesteten Schaltung (Schritt 304 im vorhergehenden) wird nun detaillierter unter Bezugnahme auf Fig. 5 beschrieben. Bei einem Schritt 3041 wird ein Bauelement oder ein DUA aus den elektrischen Daten 112 für ein mögliches Gruppieren ausgewählt. Bei einem Schritt 3042 wird das Bauelementsmodell für das DUA aus einer Bauelementsmodellebibliothek 3043 wiedergewonnen. Die Bauelementsmodellebibliothek 3043 ist nicht gleich der Bauelementsmodellebibliothek 108. Die Bibliothek 108 kann jedoch modifiziert werden, um die zusätzlichen Informationen aus der Bibliothek 3043 zu umfassen.
- Die Bibliothek 3043 enthält Bauelementsstrukturmodelle, die die Funktionselemente und die Pin-Ausgangs-Informationen für jedes Bauelement umfassen. Beispielsweise ist eine 74LS00 eine Vier-NAND-Tor-IC. Das Modell für die 74L500 kann wie folgt dargestellt werden (es sei bemerkt, daß "!" eine Bemerkung in dem Quellcode darstellt, und daß "DC" ( = Don't Care) "egal" bedeutet):
- !74LS00
- Stift 7 DC
- Stift 14 DC
- Element "NAND"
- Stift 1 "Eingang"
- Stift 2 "Eingang"
- Stift 3 "Ausgang"
- Ende
- Element "NAND"
- Stift 4 "Eingang"
- Stift 5 "Eingang"
- Stift 6 "Ausgang"
- Ende
- Element "NAND"
- Stift 8 "Eingang"
- Stift 9 "Eingang"
- Stift 10 "Ausgang"
- Ende
- Element "NAND"
- Stift 11 "Eingang"
- Stift 12 "Eingang"
- Stift 13 "Ausgang"
- Ende
- ! Ende des Modells
- Ähnlich sind das folgende Beispiele von Modellen für einen Oszillator bzw. einen Widerstand:
- ! Oszillator
- Stift 7 DC
- Stift 14 DC
- Element "osc-16MHz"
- Stift 8 "Ausgang"
- Ende
- Ende des Modells
- Widerstand
- Element "r2K"
- Stift 1 "Stift"
- Stift 2 "Stift"
- Ende
- ! Ende des Modells
- Es sei bemerkt, daß jedem Element ein Name in der Bibliothek 3043 gegeben ist.
- Zusätzlich zu den Bauelementsmodellen kann die Bauelementsmodellebibliothek 3043 ferner Aliaselemente enthalten. Ein "Aliaselement" ist eine Gruppe oder ein Satz von vorher definierten, verwandten Elementen, das verwendet wird, um ein einzelnes Element in einem Gruppenmodell darzustellen. Das heißt ein Aliaselement liefert eine allgemeine Angabe darüber, welche Elementetypen mit einem Element in einem Gruppenmodell übereinstimmen werden. Das folgende sind Beispiele von Aliaselementen:
- ! Aliaselement "R"
- R: r2K, r2.2K, r10K, r47K
- ! Aliaselement "R > 5K"
- R > 5K: r10K, r47K
- ! Aliaselement "Oszillator"
- Oszillator: osc-6 MHz, osc-12MBz, osc-16 MHz
- Die Verwendung eines Aliaselements in einem Modell ist in dem folgenden Beispiel dargestellt. Das Aliaselement "R > 5K" ermöglicht es, daß ein Widerstand, der einen Wert größer als 5 KΩ aufweist, in einem Gruppenmodell dargestellt werden kann. Wenn ein Gruppenmodell ein Element "R > 5K" spezifiziert, und eine Gruppe von Elementen ein Element enthält, das mit r47K bezeichnet ist, dann kann eine Gruppenübereinstimmung auftreten, da r47K ein Mitglied des Aliassatzes für "R > 5K" ist.
- An diesem Punkt sollte es offensichtlich sein, daß ein "Element" definiert werden kann, so daß dasselbe jede gewünschte Kombination von Komponenten darstellt, und daß demselben ein willkürlicher Name gegeben werden kann, solange die Definitionen zwischen den Gruppenmodellen in der Gruppenmodellebibliothek 308 und den Bauelementsmodellen in der Bauelementsmodellebibliothek 3043 konsistent sind. Die "Ressourcen" jedes Bauelements können ferner willkürlich benannt werden, wobei dieselben der gleichen Konsistenzerfordernis unterworfen sind. Eine "Ressource" ist eine Eingangs- oder Ausgangs-Verbindung eines Elements. Beispielsweise umfaßt das Gruppenmodell, das im vorhergehenden für einen Widerstand dargestellt wurde, ein Element, das willkürlich mit "r2K" benannt ist und zwei Ressourcen aufweist, die jeweils willkürlich mit "Stift" benannt sind.
- Dieses willkürliche Benennen von Elementen und Ressourcen ist möglich, da das Gruppenübereinstimmen auf einer rein symbolischen Basis (d. h. nicht funktionellen Basis) durchgeführt wird. Es ist nicht notwendig, die Funktion eines Elements (oder einer Ressource) zu kennen, da das Verfahren der Erfindung jedes Element wie ein "Schwarzer-Kasten-"Objekt, das bezeichnete Ressourcen aufweist, behandelt.
- Bei einem Schritt 3044 wird ein einzelnes Element innerhalb des Modells für das ausgewählte Bauelement für die Gruppenanalyse ausgewählt. Dieses ausgewählte Element wird das "analysierte Element" oder EUA (= Element Under Analysis) genannt. Bei einem Schritt 3045 wird ein Gruppenmodelleindex 3046 überprüft, um zu bestimmen, welche Gruppenmodelle das EUA enthalten. Der Gruppenmodelleindex 3046 ist ein Querverweis von Elementen zu den Gruppenmodellen, die dieselben verwenden. Eine Liste von potentiell übereinstimmenden Gruppenmodellen 3047 resultiert aus dem Schritt 3045. Als nächstes wird bei einem Schritt 3048 bestimmt, welche Elemente in der getesteten Schaltung mit dem EUA unter Verwendung der elektrischen Daten 112 verbunden sind. Von diesem Schritt aus wird eine Verbundene-Elemente- und I/O- Stiftverwendungs-Liste 3049 für das EUA erzeugt.
- Die Verbundene-Elemente-Liste 3049 wird dann in einem Schritt 3050 verwendet, um die Liste der potentiell übereinstimmenden Gruppenmodelle 3047 zu verfeinern. Das heißt die Verbindung des EUA in der getesteten Schaltung wird mit der Verbindung des EUA in jedem potentiell übereinstimmenden Gruppenmodell verglichen. Dies wird lediglich für Bauelemente durchgeführt, die unmittelbar mit dem EUA verbunden sind. Ein reduzierter Satz von potentiell übereinstimmenden Gruppen 3051 resultiert aus diesem Schritt 3050.
- Schließlich wird bei einem Schritt 3052 ein übereinstimmendes Gruppenmodell unter Verwendung eines elementweisen Vergleichs (des EUA und der Elemente, die mit demselben verbunden sind) mit jedem der Gruppenmodelle in dem reduzierten Satz von potentiell übereinstimmenden Gruppen 3051 lokalisiert. Der elementweise Vergleich betrifft das Auswählen eines analysierten Gruppenmodells (CMUA; CMUA = Cluster Model Under Analysis) aus dem reduzierten Satz von potentiell übereinstimmenden Gruppen 3051. Die Verbindung jedes Knotens (sowohl eines inneren als auch eines äußeren) des CMUA wird dann mit der Verbindung jedes entsprechenden Knotens der getesteten Schaltung, startend bei dem EUA und die Schaltungsanordnung in alle Richtungen untersuchend, verglichen. In der Wirkung ist dies gleich dem Auswählen eines neuen EUA aus den Elementen des CMUA (und nicht aus der getesteten Schaltung) und dann dem Vergleichen der Verbindung desselben mit der der getesteten Schaltung. Dies wird für jedes Element des CMUA durchgeführt.
- Wenn eine Übereinstimmung vorgefunden wird, dann wird ein übereinstimmendes Gruppenmodell 3053 identifiziert. Das Gruppenmodell 3053 kann dann aus der Gruppenmodellebibliothek 308 (Schritt 306 von Fig. 4) wiedergewonnen werden. Die Elementgruppe (d. h. das EUA und die Elemente, die mit demselben verbunden sind und die mit dem Gruppenmodell übereinstimmen) können dann als eine Funktionseinheit gemäß der Testroutine, die in dem Gruppenmodell enthalten ist, getestet werden.
- Wie im vorhergehenden erörtert, enthält die Gruppenmodellebibliothek 308 eine Mehrzahl von vorerzeugten generischen Modellen für häufig verwendete Elementgruppen. Fig. 6 zeigt ein Beispielsgruppenmodell 602, das verwendet werden kann, um die in Fig. 2 gezeigte Elementgruppe 202 zu formen. Der Abschnitt des Gruppenmodells 602, der zum Strukturübereinstimmen verwendet wird, kann wie folgt dargestellt werden:
- ! Oszillatorgruppe
- äußerer Stift 1: NAND."Ausgang"
- äußerer Stift 2: R."Stift"
- innerer Knoten 1: osc-16 MHz. "Ausgang",
- NAND."Eingang"
- innerer Knoten 2: NAND."Eingang", R."Stift"
- Bezugnehmend nun auf die Fig. 5, 7 und 8 ist ein Beispiel des Übereinstimmens (Schritt 304) einer Elementgruppe mit einem Gruppenmodell vorgesehen. Die Schaltung 700, die in Fig. 7(a) gezeigt ist, ist eine einfache Schaltung, die vier Tore aufweist, die seriell verbunden sind. Das Tor US ist zwischen die Knoten 701 und 702 geschaltet. Das Tor U6 ist zwischen die Knoten 702 und 703 geschaltet. Das Tor U7 ist zwischen die Knoten 703 und 704 geschaltet. Das Tor U8 ist zwischen die Knoten 704 und 705 geschaltet. US ist ein Ele ment des Typs "A". U6 ist ein Element des Typs "B". U7 ist ein Element des Typs "C". U8 ist ein Element des Typs "D". "I" wird verwendet, um einen Eingang zu bezeichnen. "O" wird verwendet, um einen Ausgang zu bezeichnen.
- Das Tor U6 wird als das EUA (Schritt 3044) ausgewählt. U6 kann dann als ein Typ-"B"-Element (Schritt 3044) identifiziert werden. Vier Beispielsgruppenmodelle 710, 720, 730 und 740 sind in den Fig. 7(b)-7(e) gezeigt. Eine Suche des Gruppenmodelleindex 3046 zeigt (Schritt 3045), daß ein Typ "B"-Element in den Gruppenmodellen 710, 720 und 740 verwendet wird. Das Gruppenmodell 730 enthält kein "B"-Typ-Element und daher wird dasselbe nicht für eine weitere Betrachtung ausgewählt.
- Als nächstes wird die Liste von potentiell übereinstimmenden Gruppen durch Vergleichen der unmittelbaren Verbindung des EUA in der Schaltung 700 mit der Verbindung des EUA in jedem der Gruppenmodelle 710, 720 und 740 verfeinert. Um dies zu erreichen, wird eine Verbindungstabelle 3049 für das EUA aufgebaut (Schritt 3048). Die Tabelle 3049 ist in Fig. 8(a) gezeigt. In der Tabelle wird jeder I/O-Stift des EUA für die Verbindung mit anderen Elementen analysiert. Dies wird in Spalten 2 und 3 für die Schaltung 700, in einer Spalte 4 für das Gruppenmodell 710, in einer Spalte 5 für das Gruppenmodell 720, und in einer Spalte 6 für das Gruppenmodell 740 durchgeführt. Der EUA-Typ und der analysierte Stift sind in Spalte 1 aufgelistet. Beispielsweise ist in der ersten Zeile von Tabelle 3049 der Eingangsstift "I" des Elements "B" (als "B. I" dargestellt) als mit dem Ausgang (Stift "O") des Elements "A" (als "A. O" dargestellt) in der Schaltung 700 verbunden aufgelistet.
- Wie es durch die Prüfung von Fig. 8(a) sichtbar ist, sind lediglich die Gruppenmodelle 720 und 740 ähnlich mit U6 von Schaltung 700 verbunden. Folglich kann das Gruppenmodell 710 aus der Liste von potentiell übereinstimmenden Gruppenmodellen (3047) an diesem Punkt (Schritt 3050) entfernt werden.
- Die verbleibenden Gruppenmodelle 720 und 740 werden dann mit der Schaltung 700 in einer zweiten Verbindungstabelle 3051 unter Verwendung eines elementweisen Vergleichs (Schritt 3052) eng verglichen. Die Tabelle 3051 ist in Fig. 8(b) gezeigt.
- Wie es aus Tabelle 3051 sichtbar ist, wird jedes Element (und folglich jeder Knoten) der Gruppenmodelle 720 und 740 mit der Schaltung 700 verglichen. Das Modell 720 enthält zwei Elemente: "B" und "C". Da "B" schon in dem Schritt 3050 analyisiert wurde, wird das Element "C" als das nächste EUA ausgewählt. Die Verbindung des Elements "C" stimmt mit der der Schaltung 700 überein, und das Element "C" ist mit einem äußeren Knoten verbunden. Daher ist das Modell 720 ein übereinstimmendes Gruppenmodell, und dasselbe kann verwendet werden, um die Elementgruppe U6, U7 während des Tests zu emulieren.
- Das Modell 740 enthält drei Elemente: "B", "C" und "H". Wiederum wurde die Verbindung des Elements "B" vorher in einem Schritt 3050 analysiert. Daher wird das Element "C" als das EUA ausgewählt. Der Ausgang des Elements "C" ist mit einem Element "H" in dem Modell verbunden, während das Element "C" mit einem Element D in der Schaltung 700 verbunden ist. Folglich stimmt das Gruppenmodell 730 nicht mit der Schaltung 700 überein. Dies ist in Tabelle 3051 dargestellt.
- Es sei bemerkt, daß die drei Knoten in Tabelle 3051 aufgelistet sind: Knoten B. I, Knoten B. O und Knoten C. O. Lediglich der Knoten C. O ist in dieser Tabelle erforderlich. Die Knoten B. I und B. O wurden im vorhergehenden mit dem Element "B" in dem Schritt 3050 (Tabelle 3049), was im vorhergehenden erörtert wurde, analysiert. Die Analysen für die Knoten B. O und B. I werden in Tabelle 3051 lediglich für Darstellungszwecke wiederholt.
- Die Erfinder nehmen vorweg, daß die Erfindung unter Verwendung einer großen Zahl von relativ einfachen Gruppenmodellen und nicht von wenigen komplexeren Gruppenmodellen optimiert werden kann. Die einfachen Gruppenmodelle werden einen weiteren Anwendungsbereich aufweisen. Ferner können die einfachen Gruppenmodelle kombiniert werden, um komplexere Modelle zu bilden. Dies ist durch Fortsetzen des Beispiels von Fig. 7 dargestellt.
- Ein Testmodell 900 ist in Fig. 9(a) gezeigt. Das Modell 900 resultiert aus dem Einsetzen des Gruppenmodells 720 für die Elemente U6 und U7 der Schaltung 700. Wenn es erwünscht ist, kann ein weiteres Gruppieren mit dem Testmodell 900 durch Wiederholen der oben dargelegten Schritte durchgeführt werden. Beispielsweise ist ein Gruppenmodell 910 in Fig. 9(b) gezeigt. Das Gruppenmodell 910, das das Element A und die Gruppe 720 enthält, kann für US und die Gruppe 720 des Testmodells 900 eingesetzt werden, um das in Fig. 9(c) gezeigte Testmodell zu erzeugen.
- Es gibt keine Grenze für die Anzahl der Gruppierungsdurchläufe, die ein Testprogrammierer durch eine Schaltung vornehmen kann. Der Programmierer kann so viel oder so wenig gruppieren, wie es er oder sie hinsichtlich der Testerfordernisse wünscht.
- Wie im vorhergehenden erörtert ist das Gruppenübereinstimmen ein symbolischer Prozeß, bei dem die Funktion jedes Elements nicht betrachtet wird. Bei einem alternativen Ausführungsbeispiel können einige Gruppenmodelle Übertragungsfunktionen aufweisen, die denselben zugewiesen sind. Dies wird es Gruppenmodellen höherer Ordnung ermöglichen, Übertragungsfunktionen (über Faltung) zu kombinieren, um eine Gesamtgruppenübertragungsfunktion zu erzeugen. Dies ist besonders für analoge Schaltungen nützlich. Gewisse Parameter (z. B. Widerstandswerte) könnten durch den Testprogrammierer eingegeben werden, nachdem die Schaltung geformt wurde.
- Obwohl diese Erfindung unter Bezugnahme auf ein bevorzugtes Ausführungsbeispiel derselben besonders gezeigt und be schrieben wurde, ist es für Fachleute offensichtlich, daß verschiedene Änderungen der Form und von Details an derselben durchgeführt werden können, ohne von dem Bereich der Erfindung abzuweichen, wie er in den Ansprüchen definiert ist.
Claims (2)
1. Ein Verfahren zum Erzeugen eines Funktionstests, der
durch eine Testerzeugung eines automatisierten
Testausrüstungssystems zum Testen einer gedruckten
Schaltungsplatine, die eine Mehrzahl von verbundenen
Bauelementen enthält, wobei jedes Bauelement mindestens
ein Element aufweist, durchgeführt wird, wobei das
Verfahren folgende Schritte aufweist:
(a) Analysieren (Schritte 302, 304) einer elektrischen
Beschreibung der Schaltungsplatine, um eine
Elementgruppe zu identifizieren, die mit einem
vorbestimmten Gruppenmodell übereinstimmt, wobei die
Elementgruppe eine Mehrzahl von verbundenen
Elementen aufweist, und wobei das vordefinierte
Gruppenmodell eine Testroutine für die
Elementgruppe aufweist, mit folgenden Schritten:
(1) Auswählen (Schritt 3041) eines der Mehrzahl von
verbundenen Bauelementen zur Analyse;
(2) Wiedergewinnen (Schritt 3042) eines
Bauelementsmodells für das ausgewählte Bauelement aus einer
Bauelementsmodellebibliothek, wobei das
Bauelementsmodell eine Funktionsbeschreibung des
ausgewählten Bauelements aufweist;
(3) Auswählen (Schritt 3044) eines einzelnen Elements
des zur Analyse ausgewählten Bauelements basierend
auf der Funktionsbeschreibung, wobei das einzelne
Element mit mindestens einem anderen Element
verbunden ist, um die Elementgruppe zu bilden;
(4) Bestimmen (Schritt 3045) welche vordefinierten
Gruppenmodelle in einer Gruppenmodellebibliothek
das einzelne Element aufweisen; und
(5) Vergleichen (Schritte 3048, 3050) der Verbindung
des einzelnen Elements auf der gedruckten
Schaltungsplatine mit einer Verbindung des einzelnen
Elements in jedem der vordefinierten
Gruppenmodelle, um zu bestimmen, ob irgendeines der
vordefinierten Gruppenmodelle mit der Elementgruppe
übereinstimmt;
(b) Wiedergewinnen (Schritt 306) der Testroutine aus
dem vordefinierten Gruppenmodell;
(c) automatisches Erzeugen (Schritt 324) eines
Funktionstests für die Elementgruppe basierend auf der
Testroutine.
2. Ein Verfahren zum Erzeugen eines Funktionstests, der
durch eine Testerzeugung eines automatisierten
Testausrüstungssystems zum Testen einer gedruckten
Schaltungsplatine, die eine Mehrzahl von verbundenen Bauelementen
enthält, wobei jedes Bauelement mindestens ein Element
aufweist, durchgeführt wird, wobei das Verfahren
folgende Schritte aufweist:
(a) Analysieren (Schritte 302, 304) einer elektrischen
Beschreibung der Schaltungsplatine, um eine
Elementgruppe zu identifizieren, die mit einem
vordefinierten Gruppenmodell übereinstimmt, wobei die
Elementgruppe eine Mehrzahl von verbundenen
Elementen aufweist, und wobei das vorbestimmte
Gruppenmodell eine Testroutine für die Elementgruppe
aufweist;
(b) Wiedergewinnen (Schritt 306) der Testroutine aus
dem vordefinierten Gruppenmodell;
(c) automatisches (Schritt 324) Erzeugen eines
Funktionstests für die Elementgruppe basierend auf der
Testroutine,
(d) Wiederholen der Schritte (a) bis (c), wie
erforderlich;
(e) Bestimmen welche Bauelemente noch eine
Testerzeugung folgend den Schritten (a) bis (d) erfordern;
(f) für jedes Bauelement, das noch eine Testerzeugung
erfordert, Wiedergewinnen (Schritt 314) eines
vordefinierten Bauelementsmodells aus einer
Modellebibliothek, wobei das vordefinierte
Bauelementsmodell eine Testroutine für ein entsprechendes
Bauelement aufweist;
(g) automatisches Erzeugen (Schritt 324) eines
Funktionstests für jedes Bauelement, das noch eine
Testerzeugung erfordert, basierend auf der
Testroutine, die in dem Bauelementsmodell enthalten
ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/824,617 US5323108A (en) | 1992-01-23 | 1992-01-23 | Method for generating functional tests for printed circuit boards based on pattern matching of models |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69226937D1 DE69226937D1 (de) | 1998-10-15 |
DE69226937T2 true DE69226937T2 (de) | 1999-02-04 |
Family
ID=25241870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69226937T Expired - Fee Related DE69226937T2 (de) | 1992-01-23 | 1992-10-22 | Prüfverfahren für Leiterplatten |
Country Status (4)
Country | Link |
---|---|
US (1) | US5323108A (de) |
EP (1) | EP0552532B1 (de) |
JP (1) | JP3174182B2 (de) |
DE (1) | DE69226937T2 (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504432A (en) | 1993-08-31 | 1996-04-02 | Hewlett-Packard Company | System and method for detecting short, opens and connected pins on a printed circuit board using automatic test equipment |
US5629878A (en) * | 1993-10-07 | 1997-05-13 | International Business Machines Corporation | Test planning and execution models for generating non-redundant test modules for testing a computer system |
US5617531A (en) * | 1993-11-02 | 1997-04-01 | Motorola, Inc. | Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor |
JP3212228B2 (ja) * | 1994-10-17 | 2001-09-25 | 富士通株式会社 | 試験プログラム作成装置における試験プログラム自動作成方法 |
FR2727211B1 (fr) * | 1994-11-21 | 1997-01-24 | Sextant Avionique | Procede de test d'un equipement electronique |
US5590136A (en) * | 1995-01-25 | 1996-12-31 | Hewlett-Packard Co | Method for creating an in-circuit test for an electronic device |
JP3805888B2 (ja) * | 1998-03-20 | 2006-08-09 | 株式会社アドバンテスト | Ic試験装置 |
JP4047975B2 (ja) * | 1998-07-07 | 2008-02-13 | 株式会社アドバンテスト | 半導体デバイス試験装置及び半導体デバイス試験方法 |
US6243853B1 (en) * | 1998-10-02 | 2001-06-05 | Agilent Technologies, Inc. | Development of automated digital libraries for in-circuit testing of printed curcuit boards |
US6266787B1 (en) * | 1998-10-09 | 2001-07-24 | Agilent Technologies, Inc. | Method and apparatus for selecting stimulus locations during limited access circuit test |
US6467051B1 (en) * | 1998-10-09 | 2002-10-15 | Agilent Technologies, Inc. | Method and apparatus for selecting test point nodes of a group of components having both accessible and inaccessible nodes for limited access circuit test |
JP3737899B2 (ja) * | 1999-01-29 | 2006-01-25 | 日東電工株式会社 | 半導体素子の検査方法およびそのための異方導電性フィルム |
JP2000315222A (ja) * | 1999-04-30 | 2000-11-14 | Matsushita Electric Ind Co Ltd | 集積回路装置の設計用データベース及び集積回路装置の設計方法 |
US6823486B2 (en) * | 2000-06-05 | 2004-11-23 | Fujitsu Limited | Automatic test pattern generation for functional register transfer level circuits using assignment decision diagrams |
US7562350B2 (en) * | 2000-12-15 | 2009-07-14 | Ricoh Company, Ltd. | Processing system and method using recomposable software |
KR100729647B1 (ko) * | 2001-01-13 | 2007-06-18 | 주식회사 푸르던텍 | 보드 테스트 시스템 |
EP1331487A1 (de) * | 2002-01-29 | 2003-07-30 | AMI Semiconductor Belgium BVBA | Vorrichtung und Verfahren zur Erzeugung von Testprogrammen für integrierte Schaltungen |
US7890284B2 (en) | 2002-06-24 | 2011-02-15 | Analog Devices, Inc. | Identification system and method for recognizing any one of a number of different types of devices |
US7912668B2 (en) | 2002-06-24 | 2011-03-22 | Analog Devices, Inc. | System for determining the true electrical characteristics of a device |
US7321999B2 (en) * | 2004-10-05 | 2008-01-22 | Verigy (Singapore) Pte. Ltd. | Methods and apparatus for programming and operating automated test equipment |
US7376876B2 (en) * | 2004-12-23 | 2008-05-20 | Honeywell International Inc. | Test program set generation tool |
US7478281B2 (en) | 2005-06-06 | 2009-01-13 | Denniston William B | System and methods for functional testing of embedded processor-based systems |
CN102338854B (zh) * | 2010-07-27 | 2015-04-15 | 迈普通信技术股份有限公司 | 电路板测试用例生成系统及方法 |
CN109444715A (zh) * | 2018-11-23 | 2019-03-08 | 格力电器(武汉)有限公司 | 一种组合测试装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380070A (en) * | 1979-11-20 | 1983-04-12 | Lockheed Corporation | Automatic circuit identifier |
US4500993A (en) * | 1980-06-17 | 1985-02-19 | Zehntel, Inc. | In-circuit digital tester for testing microprocessor boards |
CA1163721A (en) * | 1980-08-18 | 1984-03-13 | Milan Slamka | Apparatus for the dynamic in-circuit testing of electronic digital circuit elements |
FR2531230A1 (fr) * | 1982-07-27 | 1984-02-03 | Rank Xerox Sa | Ensemble destine au test automatique centralise de circuits imprimes et procede de test de circuits a microprocesseur faisant application de cet ensemble |
US4829520A (en) * | 1987-03-16 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | In-place diagnosable electronic circuit board |
GB8805120D0 (en) * | 1988-03-03 | 1988-03-30 | Hewlett Packard Co | Testing digital circuits |
EP0347162A3 (de) * | 1988-06-14 | 1990-09-12 | Tektronix, Inc. | Einrichtung und Verfahren zum Steuern von Datenflussprozessen durch erzeugte Befehlsfolgen |
US5032789A (en) * | 1989-06-19 | 1991-07-16 | Hewlett-Packard Company | Modular/concurrent board tester |
FR2648916B1 (fr) * | 1989-06-27 | 1991-09-06 | Cit Alcatel | Agencement de test de cartes a circuit imprime et son application au test de cartes a circuit imprime formant un equipement de multiplexage-demultiplexage de signaux numeriques |
US5004978A (en) * | 1990-03-29 | 1991-04-02 | Hewlett-Packard Company | Method for regenerating in-circuit test sequences for circuit board components |
-
1992
- 1992-01-23 US US07/824,617 patent/US5323108A/en not_active Expired - Fee Related
- 1992-10-22 DE DE69226937T patent/DE69226937T2/de not_active Expired - Fee Related
- 1992-10-22 EP EP92309688A patent/EP0552532B1/de not_active Expired - Lifetime
-
1993
- 1993-01-25 JP JP00985493A patent/JP3174182B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0552532A2 (de) | 1993-07-28 |
EP0552532B1 (de) | 1998-09-09 |
DE69226937D1 (de) | 1998-10-15 |
EP0552532A3 (en) | 1995-03-22 |
JPH0618635A (ja) | 1994-01-28 |
US5323108A (en) | 1994-06-21 |
JP3174182B2 (ja) | 2001-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69226937T2 (de) | Prüfverfahren für Leiterplatten | |
DE3787431T2 (de) | Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste. | |
DE69033360T2 (de) | Simulation von ausgewählten Logik-Schaltungsentwürfen | |
DE2729053C2 (de) | Prüfverfahren für eine monolithisch integrierte stufenempfindliche, einseitig verzögerungsabhängige logische Einheit | |
DE69107463T2 (de) | Integrierte Schaltung, System und Verfahren zur Fehlererzeugung. | |
DE69229389T2 (de) | Testsystem für Schaltkreise | |
DE69826659T2 (de) | Billige, leicht anzuwendende software für ein automatisches testsystem | |
DE602005003225T2 (de) | Verfahren und system zum simulieren eines modularen testsystems | |
DE3709032C2 (de) | ||
DE69712236T2 (de) | Fehlerdiagnosevorrichtung für CMOS-integrierte Schaltungen und Diagnoseverfahren | |
DE10392667T5 (de) | Ereignisbasiertes IC-Testsystem | |
DE69225527T2 (de) | Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung | |
DE3625462A1 (de) | Rechnerunterstuetzte fehlerisolation beim pruefen von gedruckten schaltungen | |
DE19855488A1 (de) | Testmustergenerator mit verbesserter Testsequenzverdichtung | |
DE10392497T5 (de) | Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung | |
DE4434927C2 (de) | Verfahren zum Testen einer Schaltungsplatine | |
DE2639323A1 (de) | System zur fehleranalysierung bei gedruckten schaltungsplatinen | |
DE3702408C2 (de) | ||
DE10127170A1 (de) | Fehlersuchverfahren und Fehlersuchvorrichtung | |
DE69814102T2 (de) | Verfahren zum speichern und suchen von genannten vorrichtungsparameterdaten in einem system zum testen eines integrierten schaltkreises | |
DE19536203A1 (de) | Fehlerdiagnoseverfahren für eine sequentielle Schaltung | |
DE102021128331B3 (de) | Integrierte schaltung, testanordnung und verfahren zum testen einer integrierten schaltung | |
DE102021116906A1 (de) | Test- und messsystem zur analyse von zu testenden vorrichtungen | |
DE2902375A1 (de) | Logikbaustein fuer integrierte digitalschaltungen | |
DE69720157T2 (de) | System und Verfahren zur Prüfung elektronischer Geräte |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELA |
|
8339 | Ceased/non-payment of the annual fee |