Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCESS FOR TESTING THE ARCHITECTURE OF ELECTRONIC CIRCUITS
Document Type and Number:
WIPO Patent Application WO/1996/019773
Kind Code:
A1
Abstract:
In a process for testing the architecture of an electronic circuit, the electronic circuit is represented by two models of different levels of abstraction that describe how the physical output signals from the electronic circuit depend on physical input signals. The output signals corresponding to certain input signals are determined for both models, the output signals from both models are compared with each other and when they do not match an error indication is generated. The probable errors are determined from the type of mismatch and the information available on the input signals, and the most probable error is deduced therefrom.

Inventors:
FRIEDRICH GERHARD (AT)
ALBRECHT THOMAS (AT)
GOTTLOB GEORG (AT)
STUMPTNER MARKUS (AT)
EITER THOMAS (AT)
WOTAWA FRANZ (AT)
HAVELKA THOMAS (AT)
Application Number:
PCT/EP1995/004787
Publication Date:
June 27, 1996
Filing Date:
December 05, 1995
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG OESTERREICH (AT)
FRIEDRICH GERHARD (AT)
ALBRECHT THOMAS (AT)
GOTTLOB GEORG (AT)
STUMPTNER MARKUS (AT)
EITER THOMAS (AT)
WOTAWA FRANZ (AT)
HAVELKA THOMAS (AT)
International Classes:
G06F17/50; (IPC1-7): G06F17/50
Other References:
CHUNG ET AL: "logic design error diagnosis and correction", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, vol. 2, no. 3, NEW YORK US, pages 320 - 331
BEATTY ET AL: "formally verifying a microprocessor using a simulation methodology", 31ST DESIGN AUTOMATION CONFERENCE, 6 June 1994 (1994-06-06), SAN DIEGO CA US, pages 596 - 602
HUA ET AL: "formal semantics of vhdl for verification of circuit designs", PROCEEDINGS OF THE 1993 IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN : VLSI IN COMPUTERS & PROCESSORS, 3 October 1993 (1993-10-03), CAMBRIDGE MASS US, pages 446 - 449
Download PDF:
Claims:
Patentansprüche
1. Verfahren zum Testen der Architektur einer elektronischen Schaltung, wobei die elektronische Schaltung von zumindest zwei Modellen unterschiedlicher Abstraktion repräsentiert wird, welche die Abhängigkeit der physikalischen Ausgangs¬ signale der elektronischen Schaltung von physikalischen Ein¬ gangssignalen beschreiben, dadurch gekennzeichnet, daß für jeweils zwei Modelle zu bestimmten Eingangssignalen die zugehörigen Ausgangssignale ermitteit werden, daß die Ausgangssignale der beiden Modelle miteinander verglichen werden und bei Nichtübereinstimmung eine Fehlermeldung generiert wird, daß aus der Art der Nichtübereinstimmung und der Information über die Eingangssignale wahrscheinliche Fehler ermittelt und daraus der wahrscheinlichste Fehler abgeleitet wird. 2)Verfahren nach Anspruch 1, dadurch gekennzei¬ chne t ,daß die Modelle, welche die elektronische Schaltung repräsentieren, mittels VHDL gemäß IEEE Standard 1076 er¬ stellt werden. 3)Verfahren nach Anspruch 1 oder 2, dadurch ge kenn¬ zeichnet , daß das Verfahren mittels entsprechend program miertem Computer durchgeführt wird.
2. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet , daß die Ableitung des wahrschein¬ lichsten Fehlers nach dem "Diagnosis from First Principles" Verfahren erfolgt.
Description:
Verfahren zum Tester, der Architektur von elektronischen Schaltungen

Die Erfindung betrifft ein Verfahren zum Testen der Architek- tur einer elektronischen Schaltung, wobei die elektronische Schaltung von zumindest zwei Modellen unterschiedlicher Ab¬ straktion repräsentiert wird, welche die Abhängigkeit der physikalischen Ausgangssignale der elektronischen Schaltung von physikalischen Eingangssignalen beschreiben.

Die Entwicklung komplexer elektronischer Schaltungen erfor¬ dert systematisches und strukturiertes Vorgehen, um die übli¬ chen hohen Zeit und Qualitätsanforderungen erfüllen zu kön¬ nen. Dabei ist das sogenannte Top-Down-Design üblich, be dem in einer ersten Stufe lediglich das Ein/Ausgangsverhalten, d.h. die Abhängigkeit der AusgangsSignale von den Eingangs¬ signalen der elektronischen Schaltung beschrieben wird. Die Schaltung selbst wird in dieser Entwicklungsphase als soge¬ nannte Black-Box betrachtet, deren Inneres man nicht kennt, von der man aber weis, daß sie in bestimmter Weise auf ge¬ wisse Eingangsbedingungen reagiert.

In weiteren Entwicklungsschritten, deren Anzahl von der Kom¬ plexität der elektronischen Schaltung abhängt, wird dann stu- fenweise die innere Struktur der Schaltung in immer größerer "Auflösung" festgelegt, bis eine Strukturbeschreibung mit un¬ mittelbar realisierbaren Komponenten vorliegt, die direkt in ein elektronisches Bauteil wie z.B. ein ASIC (Anwenderspezifischer IC) umgesetzt werden oder mittels elek- tronischer Bauteile in eine entsprechende elektronische Schaltungsanordnung übergeführt werden kann.

Obwohl diese Vorgehensweise die Qualität der Entwicklung stark verbessert, treten doch Fehler auf, welche Verzogerun- gen im Entwicklungsprozeß und erhöhte Kosten mit sich bringen.

Der Erfindung liegt daher die Aufgabe zugrunde, ein Testver¬ fahren anzugeben, mit dem Fehler im Entwicklungsprozeß früh¬ zeitig erkannt und dadurch beseitigt werden können.

Dies geschieht erfindungsgemäß mit einem Verfahren der ein¬ gangs genannten Art, bei dem für jeweils zwei Modelle zu be¬ stimmten Eingangssignalen die zugehörigen Ausgangssignale er¬ mittelt werden, bei dem die Ausgangssignale der beiden Mo¬ delle miteinander verglichen werden und bei Nichtübereinstim- mung eine Fehlermeldung generiert wird, und bei dem aus der Art der Nichtübereinstimmung und der Information über die Eingangssignale wahrscheinliche Fehler ermittelt und daraus der wahrscheinlichste Fehler abgeleitet wird.

Das erfindungsgemäße Verfahren beruht auf Methoden der „Künstlichen Intelligenz" zur Fehlersuche in Schaltungen, wie sie beispielsweise in „H. E. Shrobe, editor, Exploring Arti- ficial Intelligence: Survey Talks from the National Conferen¬ ces on Artificial Intelligence, pages 297-346. Morgan Kauf- mann, San Mateo, Calif., 1988" beschrieben sind. Gegenüber diesen bekannten Verfahren führt der erfindungsgemäße Ver¬ gleich zweier Modelle unterschiedlicher Abstraktion, die Er¬ gebnissen unterschiedlicher Entwicklungsphasen des oben ange¬ führten Top-Down-Designs entsprechen, zu einer frühzeitigen Erkennung von Fehlern, Mißverständnissen, Widersprüchen und UnVollständigkeiten in der Architektur der elektronischen Schaltung.

Die Anwendung der VHDL-Programmiersprache zu Erstellung der Modelle ist deshalb vorteilhaft, weil die genannte Sprache ein ausgereiftes und standardisiertes Instrument für derartige Beschreibungen darstellt. Insbesondere ist es damit möglich, das Verfahren mittels Computer durchzuführen.

Die Erfindung wird anhand von 2 Figuren näher erläutert. Es zeigen beispielhaft:

Fig. 1 die Struktur eines Computerprogrammes zur Steuerung des erfindungsgemäßen Verfahrens und

Fig.2 eine fehlerhafte Schaltungsanordnung.

Das Computerprogramm nach Fig 1. umfaßt die Programm-Module Testprogramm 1, Diagnosegenerator 2, Diskriminator 3, Test¬ generator 4 und Signalvorgaben 5.

Die Funktionsweise des Steuerungsprogrammes wird nun anhand der Schaltung nach Fig. 2 erläutert. Diese stellt eine feh¬ lerhafte Realisierung einer EXKLUSIV-ODER-Schaltung mit einer vorgegebenen, korrekten Beziehung zwischen den beiden Eingän¬ gen A, B und dem Ausgang X entsprechend der folgenden Tabelle dar.

A B X

0 0 0

0 1 1

1 0 1

1 1 0

Diese Tabelle entspricht dem ersten, abstrakten und richtigen Modell der Schaltung.

Das zweite Modell beschreibt die Struktur der Schaltung ent¬ sprechend der Auflösung nach Fig. 2, wobei die Schaltung ei¬ nen ersten inverter Cl , einen zweiten Inverter C2,ein UND- Gatter C3, ein ODER-Gatter C4 und ein NOR-Gatter C5 enthält. Das ODER-Gatter C4 ist dabei die fehlerhafte Komponente, an seiner Stelle müßte ein weiteres UND-Gatter eingefügt sein.

Die beiden Modelle sind das Ergebnis unterschiedlicher Ent¬ wicklungsphasen in einem Top-Down-Design-Prozeß. Das erste Modell entspricht dem Pflichtenheft, in dem die Vorgaben an die Schaltung festgehalten sind. Das zweite Modell entspricht dem Schaltplan, nach dem die Schaltung gefertigt wird.

Damit die Modelle durch das Steuerungsprogramm verarbeitet werden können, werden sie in der Hardware Beschreibungsspra¬ che VHDL gemäß IEEE-Standard 1076 beschrieben.

Für vorgegebene Eingangsbedingungen - sogenannte Testvektoren - werden nun durch das Testprogramm 1 für beide Modelle die zugehörigen Ausgangswerte ermittelt. Dabei wird es bei kom¬ plexen Schaltungen aus Kosten und Zeitgründen nicht möglich sein, daß die Testvektoren alle möglichen Eingangsbedingungen abdecken, in einem ersten Durchlauf wird daher nur ein erster Satz von - als repräsentativ betrachteten - Testvektoren be¬ handelt.

Im vorliegenden Fall wird ein erster Testvektor A= 1 , B=0 angelegt. Als Ausgangswert erhalten wir bei dem ersten Modell gemäß obiger Wahrheitstabelle den Wert XI = 1 , bei dem zwei¬ ten Modell hingegen den Wert X2= 0.

Die Funktion des detaillierten Modelles stimmt also nicht mit der gewünschten Funktion überein, das Modell ist fehlerhaft und muß korrigiert werden, d.h. zumindest eine der Komponen¬ ten mitsamt den dazugehörigen Verbindungen muß gegen eine Komponente mit einer anderen Funktion ausgetauscht werden. Deshalb wird vom Testprogramm eine Fehlermeldung generiert und das Programm-Modul Diagnosegenerator 2 angestoßen.

Im Diagnosegenerator 2 werden daraufhin Hypothesen erstellt, welche Komponenten des zweiten, detaillierteren Modells die¬ sen Unterschied verursacht haben könnten.

Der einfachste Ansatz besteht nun darin, alle vorhandenen Komponenten als mögliche Fehlerquellen zu betrachten. Im vor¬ liegenden Fall würden dabei 6 Hypothesen aufgestellt. Dieser Ansatz ist jedoch ineffektiv und führt zu erheblichem Aufwand beim Testen der Hypothesen. Deshalb wird danach getrachtet, möglichst wenige Hypothesen zu generieren, die aber alle mög¬ lichen Fehlerquellen abdecken sollten. Um dies zu erreichen,

wird vom Diagnosegenerator 2 Information über die Struktur der Schaitung eingebracht. Darüberhinaus werden verein¬ fachende Annahmen getroffen. Wenn man beispielsweise davon ausgeht, daß nur eine Komponente falsch ist, dann sind bei der Schaltung nach Fig. 2 die folgenden beiden Hypothesen zweckmäßig:

- Hypothese 1 : der Signalverlauf über die beiden Inverter Cl ,C2 und das UND-Gatter C3 ist fehlerfrei, der beobachtete Fehler wird durch das ODER-Gatter C4 oder das NOR-Gatter C5 verursacht.

-Hypothese 2 : NOR-Gatter C5 und ODER-Gatter C4 entsprechen der vorgesehenen Funktion, der Unterschied, d.h. Fehler liegt bei einem der beiden Inverter Cl ,C2 oder dem UND-Gatter C3.

Diese Hypothesen werden getestet, wobei verschiedene Test¬ varianten möglich sind.

Bei einem einfachen Testverfahren wie es in Brown, J.S., R. R. Burton, and J. de Kleer. Pedagogical, natural language, and knowledge engineering techniques in SOPHIE I, II, and III, in: D. Sleeman and J. S. Brown (Eds.), Intelligent Tuto- ring Systems, (Academic Press, New York, 1982) 227-282" be- schrieben ist, wird untersucht, ob die Hypothesen allen Test¬ fällen widerspruchsfrei genügen, ob also der angenommene Feh¬ ler in allen durchgeführten Testfällen zu dem jeweils be¬ trachteten Ergebnis führt. Ist dies nicht der Fall, dann ist die Hypothese nicht zutreffend und wird ausgeschieden.

Im vorliegenden Fall kann Hypothese 2 nicht zutreffen, weil für den Testvektor A=l , B=0 der Ausgangswert des UND-Gatters C3 keinen Einfluß auf das Ausgangssignal X hat. Das Ausgangs¬ signal wird in diesem Faii nur durch die beiden Komponenten ODER-Gatter C4 und NOR-Gatter C5 bestimmt.

Hypothese 1 muß also zutreffen, sie wird daher weiterverfolgt und verfeinert:

-Hypothese 3: das ODER-Gatter C4 ist fehlerhaft, -Hypothese 4: das NOR-Gatter C5 ist fehlerhaft.

Hypothese 3 und 4 bestehen den Test widerspruchsfrei, sie werden an den Diskriminator 3 zur Ermittlung der wahrschein¬ lichsten Hypothese, die als Fehlerdiagnose ausgegeben wird, weitergeleitet.

Aufwendigere Testverfahren für komplexe Schaltungen werden u.a. in „H. E. Shrobe, editor, Exploring Artificial Intelli¬ gence: Survey Talks from the National Conferences on Artificial Intelligence, pages 297-346. Morgan Kaufmann, San Mateo, Calif., 1988" beschrieben.

Im Diskriminator 3 wird zusätzliche Information über die Schaltung berücksichtigt. Dies kann dadurch geschehen, daß zusätzliche Testvektoren an die Modelle angelegt und ausge- wertet werden, oder es kann zusätzliche Information über die innere Struktur des zweiten Modells wie z.B. Information über innere Signalverläufe zur Eingrenzung der Hypothesen verwen¬ det werden. Der prinzipielle Ablauf ist ebenfalls in "H. E. Shrobe, editor, Exploring Artificial Intelligence: Survey Talks from the National Conferences on Artificial Intelli¬ gence, pages 297-3-46. Morgan Kaufmann, San Mateo, Calif. , 1988" beschrieben.

Beim vorliegenden Beispiel wird ein weiterer Testvektor A=l B=l an die beiden Modelle angelegt. Das Ergebnis lautet bei beiden Fällen X = 0.

Dieses Ergebnis ergibt keine unmittelbare Aussage. Ein Ver¬ gleich mit dem Ergebnis des ersten Testvektors zeigt jedoch, daß Hypothese 4, das NOR-Gatter C5 sei fehlerhaft, wider¬ sprüchlich ist. So wird das richtige Verhalten dieses Gatters beim Testvektor 1 damit beschrieben, daß bei Gattereingangs-

Signalen 0 und 1 am Ausgang der Wert 1 aufscheint, während beim Testvektor 2 das richtige Verhalten mit einem Ausgangs¬ wert 0 für die genannten Gattereingangssignale beschrieben wird.

Aufgrund dieses Widerspruchs kann Hypothese 4 ausgeschieden werden und es wird die Fehlerdiagnose erstellt, daß das ODER- Gatter C4 eine falsche Wahl darstellt und ersetzt werden muß.

Bei den Ausführungsbeispielen wird jeweils das abstraktere Modell als richtige Repräsentanz der Schaltung interpretiert, es wird davon ausgegangen, daß die auftretenden Fehler im de¬ taillierteren zweiten Modell liegen (Top-Down-Verifikation) . Es ist aber genauso gut möglich, vom zweiten, detaillierten Modell auszugehen und die Fehlerfreiheit des abstrakteren er¬ sten Modells zu untersuchen (Bottom-Up-Verifikation) .