DE10125364A1 - Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit - Google Patents

Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit

Info

Publication number
DE10125364A1
DE10125364A1 DE10125364A DE10125364A DE10125364A1 DE 10125364 A1 DE10125364 A1 DE 10125364A1 DE 10125364 A DE10125364 A DE 10125364A DE 10125364 A DE10125364 A DE 10125364A DE 10125364 A1 DE10125364 A1 DE 10125364A1
Authority
DE
Germany
Prior art keywords
test
circuit unit
verified
signal
simulation
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
DE10125364A
Other languages
English (en)
Inventor
Renate Henftling
Wolfgang Ecker
Andreas Zinn
Matthias Bauer
Michael Pilsl
Martin Zambaldi
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10125364A priority Critical patent/DE10125364A1/de
Publication of DE10125364A1 publication Critical patent/DE10125364A1/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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • 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/31813Test pattern generators
    • 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/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • 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/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Abstract

Die Erfindung schafft ein Verfahren zum Anpassen von Signalverläufen an Diskretisierungsraster zur direkten Verwendung von Signalverläufen und Testmustern aus der Simulation der zu verifizierenden Schaltungseinheit (101) in den Tests des zu testenden Bausteins/der zu testenden Schaltungseinheit in Testanordnungen an einem Tester. Bei dem Verfahren sind Signalverzögerungen von Testmustern einstellbar, wobei zunächst ein Testtakt (309), zum Beispiel aus einer Testanordnung, die eine zu verifizierende Schaltungseinheit (101) einschließt, als Referenztakt abgeleitet wird, anschließend mindestens eine aktive Signalflanke des empfangenen Testtakts (309) bestimmt wird, mindestens ein Testmuster von einem Testbench-Controller (103) empfangen wird, Signalverzögerungszeiten für mindestens ein Testmuster eingestellt werden, Simulationssignalverläufe (401, 402) erzeugt werden und Testmuster verzögert über entsprechende Signale der zu verifizierenden Schaltungseinheit (101) zugeführt werden.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Durch­ führen von Simulationen zur Überprüfung einer funktionalen Korrektheit einer Schaltungseinheit und betrifft insbesondere ein Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit.
Testmuster, die zum Durchführen von Simulationen eingesetzt werden, werden in Testmustergeneratoren im allgemeinen auto­ matisch mittels spezieller Software erzeugt. Dieses als ATPG (Automated Test Pattern Generation = Automatische Testmuster­ erzeugung) bekannte Verfahren weist eine Reihe von Einschrän­ kungen auf, die sich insbesondere auch auf die Einstellungen von Signalverzögerungszeiten oder das Anpassen von Testmus­ tern an Diskretisierungsraster beziehen. Dies ist insofern ein Problem, als mit diesen Testmustern anschließend auch Testanordnungen in einem Tester beaufschlagt werden.
In einer Testanordnung werden beispielsweise eine gefertigte Schaltungsanordnung bzw. ein Schaltungs-/Schaltkreis-Baustein oder ein erster Prototyp/ein erstes Modell eines Schaltungs­ kreises/Bausteins auf Funktion und Fertigungsfehler hin ge­ testet, wobei in vielen Fällen neben einer Funktionalität der Schaltungseinheit auch ein Zeitverhalten zu berücksichtigen ist.
Testbenches hingegen bilden beispielsweise eine Simulations­ anordnung einer Schaltungseinheit mit entsprechenden Ein­ gangssignalen und von diesen Eingangssignalen abhängigen Aus­ gangssignalen wie Signalantworten zu Simulationszwecken nach.
Derartige Testbenches sind z. B., aber nicht ausschließlich, mit Hardware-Beschreibungssprachen wie VERILOG und VHDL aus­ geführt. In vielen Fällen ist eine Co-Simulation von Hard­ ware- und Software-Einheiten realisierbar, wie beispielsweise in "Matthias Bauer, Wolfgang Ecker: Hardware/Software Co- Simulation in a VHDL-based Test Bench Approach, DAC 97, Ana­ heim, California, U.S.A." beschrieben.
Testbenches nach dem Stand der Technik sind beispielsweise derart ausgebildet, dass ein oder mehrere Testbenchelemente als logische Schnittstellen zwischen einem Testbench- Controller und einer zu verifizierende Schaltungseinheit be­ reitgestellt werden. Ein Testbenchelement kann beispielsweise als ein Transaktor oder als ein Protokollgenerator ausgeführt sein, wobei das jeweilige Testbenchelement die für eine logi­ sche Schnittstelle benötigten Signalwertverläufe erzeugt. Ei­ ne Zusammenfassung von Signalen zu sogenannten Bussen, sowie eine Festlegung der entsprechenden Signalwertverläufe auf diesen Bussen entspricht einem Protokoll, wobei spezifische Abfolgen von Signalwertverläufen zu Protokolloperationen, wie beispielsweise die Operationen:
  • - "Speicher lesen";
  • - "ATM (asynchroner Transfer Modus)-Zelle schicken";
  • - etc.
zusammengefasst werden, wobei derartige Protokolloperationen wiederum ineinander geschachtelt sein können, um beispiels­ weise folgende Operationen auszuführen:
  • - "DMA-Übertragung durchführen";
  • - "ATM-Zellensequenz schicken", um ATM-Schalter umzuprogram­ mieren,
  • - etc.
Eine derartige protokolloperations-bezogene Beschreibung er­ leichtert eine Auslegung von Testbenchelementen, welche wie­ derum mehrfach bei einer Durchführung von Simulationen wie­ derverwendet werden können.
Die zu verifizierende Schaltungseinheit kann durch eine be­ liebige Schaltungseinheit, wie beispielsweise einen Mikropro­ zessor, eine Mikrochip-Grafikkarte, etc. ausgebildet sein, wobei vorherrschend digitale Signale, gegebenenfalls aber auch analoge und digitale Signale verarbeitet werden.
In sinnvoller Weise werden Testbenchelemente derart ausge­ legt, dass sie unter möglichst vielen Rahmenbedingungen bei möglichst vielen zu verifizierenden Schaltungseinheiten ein­ gesetzt werden können. Herkömmlicherweise wird ein Testbench- Controller als ein zentrales Steuerelement eingesetzt, durch welchen es ermöglicht wird, den Gesamtablauf einer Simulation zu steuern. Der Testbench-Controller wird herkömmlicherweise mit einem Simulationsprogramm beaufschlagt, das zentral be­ reitgestellt wird.
Weiterhin kommuniziert der Testbench-Controller mit jedem einzelnen Testbenchelement über einen Steuerdatenstrom, wobei eine Verbindung zwischen dem Testbench-Controller und dem je­ weiligen Testbenchelement bereitgestellt ist. Eine Abfolge von Protokolloperationen kann in einem Testbenchelement spe­ zifiziert sein, wobei diese Abfolge entweder fest codiert ist oder aus einer Datei eingelesen werden.
In manchen Fällen können (bzw. müssen) die Testbenchelemente untereinander synchronisiert werden. Hierbei müssen bei einer Simulation von übergreifenden Testfällen zeitgleich ablaufen­ de Protokolloperationen an unterschiedlichen Stellen, d. h. in einem jeweiligen Testbenchelement, spezifiziert werden. Bei einer derartigen Simulation sind sämtliche Protokolloperatio­ nen sämtlicher Testbenchelemente auszuführen.
Herkömmliche Simulationsverfahren basieren auf Simulationsan­ ordnungen, welche von einem Testbench-Controller als zentra­ ler Einheit gesteuert werden, wobei den einzelnen Testbenche­ lementen übermittelt wird, welche Protokolloperationen zu welcher Zeit, bezogen auf einen Systemtakt bzw. einen Master- Takt, auszuführen sind. Weiterhin muss sichergestellt sein, dass die Testbenchelemente dem Testbench-Controller mitteilen können, mit welchem Erfolg und mit welchen Daten ein Ablauf der spezifischen Protokolloperationen ausgeführt bzw. beendet wurde.
Im folgenden sei zunächst allgemein ein Verfahren zum Simu­ lieren einer zu verifizierende Schaltungseinheit beschrieben, wobei auf die spezifischen Probleme, die bei einem Einstellen von Signalverzögerungszeiten oder Anpassen von Signalverläu­ fen an ein Diskretisierungsraster auftreten, weiter untenste­ hend unter Bezugnahme auf die Fig. 4 eingegangen wird.
Fig. 3 zeigt ein herkömmliches Verfahren zum Simulieren ei­ ner zu verifizierenden Schaltungseinheit 101 mittels eines in einem Steuerelement 104 abgelegten Simulationsprogramms. Wie in Fig. 3 gezeigt, ist das Steuerelement 104, welches ein spezifisches Simulationsprogramm enthält, an den Testbench- Controller 103 angebunden, wobei ein Steuerdatenstrom 114 von dem Steuerelement 104 zu dem Testbench-Controller 103 über­ mittelt wird.
Ein herkömmlicher Anschluss von Testbenchelementen 102a-102n erfolgt in herkömmlicher Weise mittels Steuerdatenströmen 111a-11n. Es sei darauf hingewiesen, dass ein oder mehrere Testbenchelemente 102a, . . . 102i, . . . 102n vorhanden sein können, wobei i einen Laufindex darstellt.
Beispielhaft sind in Fig. 3 fünf unterschiedliche Testben­ chelemente dargestellt, wobei das Testbenchelement 102a einer seriellen Schnittstelle entspricht, die Daten mittels eines seriellen Testdatenstroms 112 mit der zu verifizierenden Schaltungseinheit 101 austauscht. Als weiteres Beispiel ist das Testbenchelement 102n als parallele Schnittstelle darge­ stellt, welche die Testdaten mit der zu verifizierenden Schaltungseinheit 101 mittels eines parallelen Testdaten­ stroms 113 austauscht.
In gleicher Weise erfolgt ein Datenaustausch zwischen den üb­ rigen Testbenchelementen und der zu verifizierenden Schal­ tungseinheit 101, wobei spezifizierte Datenströme (nicht ge­ zeigt) ausgetauscht werden. Beispielhaft sind in Fig. 3 fünf Testbenchelemente 102a, 102b, 102i, 102i + 1 und 102n darge­ stellt, es können jedoch weniger oder mehr Testbenchelemente bereitgestellt werden. Es ist klar erkennbar, dass die Anzahl der Steuerdatenströme 111a, . . . 111i, (i = Laufindex), . . . 111n der Anzahl von Testbenchelementen 102a-102n entsprechen muss.
Dieser herkömmliche Anschluss von Testbenchelementen 102a-102n an einen zentralen Testbench-Controller 103 als zentra­ les Steuerelement weist eine Reihe von Nachteilen auf.
Nach dem Stand der Technik erfolgt eine Erzeugung von Signal­ takten und Erwartungswerten über eine spezielle Software, die, wie oben erwähnt, als eine ATPG (Automated Testpattern Generation = automatische Testmustererzeugung) bezeichnet wird, wobei aus der Schaltungstopologie benötigte Werte bzw. Wertverläufe bestimmt werden.
Es sei darauf hingewiesen, dass diese Signale auch aus einer Simulation erhalten werden können, was es ermöglicht, dass in einer Testanordnung im Tester neben dem Test auf Fertigungs­ fehler auch vorhandene funktionale Fehler lokalisiert werden können.
Der Hauptnachteil herkömmlicher Verfahren besteht insbesonde­ re darin, dass nicht beliebig genaue Zeitverläufe an eine zu testende Schaltungseinheit im Tester angelegt werden können, sondern dass eine spezifische Diskretisierungsgröße aufrecht erhalten werden muss, die beispielsweise mit einem Master- Takt einer Testanordnung an einem Tester korreliert.
Ein weiterer Nachteil herkömmlicher Verfahren zum Durchführen von Simulationen zur Überprüfung einer funktionalen Korrekt­ heit einer Schaltungseinheit besteht darin, dass Signaltakte auch von unabhängigen Einzeltaktsignalen herrühren können, die wegen einer festgelegten Diskretisierung nicht direkt in eine Testanordnung eingebracht werden können.
In herkömmlicher Weise werden Software-Werkzeuge eingesetzt, welche Simulationssignalverläufe einer Simulation in ein vor­ bestimmtes Diskretisierungsraster einzwängen, wodurch in nachteiliger Weise eine zeitliche Abfolge von Testmustern bzw. Simulationssignalverläufen verändert wird.
Noch ein weiterer Nachteil herkömmlicher Verfahren zum Durch­ führen von Simulationen zur Überprüfung einer funktionalen Korrektheit eines Schaltungsentwurfs besteht darin, dass auf­ grund einer Einzwängung in Diskretisierungsraster Testmuster­ signalverläufe bzw. Simulationssignalverläufe verändert wer­ den, was zu ungültigen funktionalen Testmustern bzw. zu dis­ kretisierungs-gerasterten Simulationssignalverläufen führt, welche für Tests zur Überprüfung einer funktionalen Korrekt­ heit eines Schaltungsentwurfs im Tester nicht verwendbar sind, wodurch eine Re-Simulation erforderlich wird.
Darüber hinaus besteht ein Nachteil herkömmlicher Verfahren zum Durchführen von Simulationen darin, dass im Falle eines Auftretens nicht verarbeitbarer Testmuster ein manuelles Ein­ greifen erforderlich wird.
Es ist somit eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Simulieren einer zu verifizierenden Schaltungs­ einheit zur Überprüfung einer funktionalen Korrektheit der Schaltungseinheit bereitzustellen, welches alle bei einem Durchführen von Simulationen vorkommenden Signalverzögerungs­ zeiten und Einzeltaktsignale bzw. Simulationssignalverläufe explizit oder implizit auf einen einzigen Testtakt bezieht.
Diese Aufgabe wird durch ein Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit nach Anspruch 1 gelöst.
Kern der Erfindung ist ein Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit, wobei ein Testtakt (Refe­ renztakt) bereits in die Simulation eingebracht wird und alle Signalverzögerungszeiten und Einzeltaktsignale bzw. Simulati­ onssignalverläufe auf den Testtakt bezogen werden.
Es ist somit ein Vorteil der vorliegenden Erfindung, dass be­ liebige Simulationssignalverläufe von funktionalen Simulatio­ nen, wie beispielsweise auch von Simulationen, die von unab­ hängigen Einzeltaktsignalen herrühren können, direkt in eine Testanordnung im Tester eingebracht und übernommen werden können.
Ein weiterer wesentlicher Vorteil der vorliegenden Erfindung besteht darin, dass eine Einzwängung von funktionalen Test­ mustern in Diskretisierungsraster nicht erfolgt, wodurch un­ gültige funktionale Testmuster bzw. unerwünschte diskretisie­ rungs-gerasterte Simulationssignalverläufe vermieden werden.
Weiterhin werden Testmuster für Simulationen zur Überprüfung einer funktionalen Korrektheit eines Schaltungsentwurfs wie­ derverwendbar, wodurch eine Re-Simulation vermieden wird.
Ferner ist es vorteilhaft, dass sämtliche Signalverzögerungs­ zeiten und Einzeltaktsignale, die zum Durchführen von Simula­ tionen eingesetzt werden, auf einen einzigen Testtakt bezogen werden.
In den Unteransprüchen finden sich vorteilhafte Weiterbildun­ gen und Verbesserungen des jeweiligen Gegenstandes der Erfin­ dung.
Gemäß einer bevorzugten Weiterbildung der vorliegenden Erfin­ dung werden vorgebbare Simulationssignalverläufe bereits wäh­ rend sämtlicher Simulationen in ein Zeitraster eines mögli­ chen Testtakts eingebracht.
Gemäß einer weiteren bevorzugten Weiterbildung der vorliegen­ den Erfindung erfolgt eine explizite testtakt-bezogene Be­ reitstellung von Signalverzögerungszeiten, indem sämtliche Signalverzögerungen direkt auf einen Testtakt bezogen werden.
Gemäß noch einer weiteren bevorzugten Weiterbildung der vor­ liegenden Erfindung erfolgt eine implizite Testtakt-bezogene Bereitstellung von Signalverzögerungszeiten, indem sämtliche Signalverzögerungen in ganzzahligen Vielfachen einer vorgeb­ baren Testtaktperiode bereitgestellt werden.
Gemäß noch einer weiteren bevorzugten Weiterbildung der vor­ liegenden Erfindung wird als eine aktive Signalflanke eines Testtakts eine positive Signalflanke bestimmt.
Gemäß noch einer weiteren bevorzugten Weiterbildung der vor­ liegenden Erfindung wird als eine aktive Signalflanke eines Testtakts eine negative Signalflanke bestimmt.
Zeichnungen
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher er­ läutert.
In den Zeichnungen zeigen:
Fig. 1 eine zu verifizierende Schaltungseinheit, die über eine Testbenchelementschale mit mindestens einem Testbenchelement verbunden ist, welches durch einen Testbench-Controller angesteuert wird;
Fig. 2 eine Anordnung zum Durchführen von Simulationen, wobei die in Fig. 1 gezeigte Synchronisation in der Testbenchelementschale durch eine Synchronisa­ tion in den Testbenchelementen selbst ersetzt ist;
Fig. 3 eine Anordnung zur Durchführung von Simulationen zur Überprüfung einer funktionalen Korrektheit ei­ ner Schaltungseinheit nach dem Stand der Technik; und
Fig. 4 ein Zeitverlaufsdiagramm eines Simulatiossignalver­ laufs im Vergleich zu einem Zeitverlaufsdiagramm eines diskretisierungs-gerasterten Simulatios­ signalverlaufs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
Ausführungsbeispiele
Fig. 1 zeigt eine zwischen einer zu verifizierenden Schal­ tungseinheit 101 und entsprechenden Testbenchelementen 102a, 102b und 102c angeordnete Testbenchelementschale 201. Bei der in Fig. 1 gezeigten Schaltungsanordnung ist allgemein eine Testbenchelementschale 201 bereitgestellt, welche als Verbin­ dungselement zwischen mindestens einem Testbenchelement 102a-102c und einer zu verifizierenden Schaltungseinheit 101 dient, wobei beispielhaft drei Testbenchelemente 102a, 102b und 102c gezeigt sind, wobei die Testbenchelemente 102a und 102b serielle Schnittstellen aufweisen, um mit einer Testbench­ elementschale 201 serielle Testdatenströme 112 auszutau­ schen, und das Testbenchelement 102c mit einer parallelen Schnittstelle versehen ist, um einen parallelen Testdaten­ strom 113 mit der Testbenchelementschale 201 auszutauschen.
Es sei jedoch darauf hingewiesen, dass mehr als drei Testbench­ elemente an die Testbenchelementschale 201 anschliessbar sind.
In dem in Fig. 1 gezeigten Ausführungsbeispiel ist die Testbenchelementschale 201 wiederum mit einer zu verifizie­ rende Schaltungseinheit 101 über Schnittstellendatenströme P0(0)-P0(7) verbunden, wobei hier insgesamt acht Leitungen für einen Austausch der Datenströme zwischen den Schnittstel­ len bereitgestellt sind. Jedes einzelne Testbenchelement 102a-102c enthält spezifische Steuerdatenströme 111a-111c von einem Testbench-Controller 103.
Weiterhin wird, wie durch eine gestrichelte Linie 111d ange­ zeigt, ein Steuerdatenstrom direkt von dem Testbench- Controller 103 zu der Testbenchelementschale 201 geleitet, um ein Festlegen spezifischer Konfigurationen von Schnittstellen zu ermöglichen. Weitere Steuerdatenströme, wie durch einen gestrichelten Pfeil 111i angezeigt (i = Laufindex), verdeut­ lichen, dass mehr als drei Testbenchelemente 102a-102c von dem Testbench-Controller 103 angesteuert werden können.
Fig. 2 verdeutlicht ein weiteres Ausführungsbeispiel der vorliegenden Erfindung, wobei die in Fig. 1 gezeigte Testbenchelementschale 201 nicht mehr vorhanden ist.
Gleiche Bezugszeichen wie in Fig. 1 bezeichnen gleiche oder funktionsgleiche Komponenten, deren Erklärung hier zur Ver­ einfachung, und um eine überlappende Beschreibung zu vermei­ den, weggelassen wird.
Ein Steuerelement 104, das als eine Datei oder ein Software- Programm bereitgestellt werden kann, versorgt einen Testbench-Controller 103 mit einem Controller-Datenstrom 114. Ein Testtakt 309 wird den hier gezeigten drei Testbenchele­ menten 102a, 102b und 102c direkt zugeführt, wodurch die Testbenchelemente 102a-102c befähigt sind, selbst eine Syn­ chronisation auszuführen. Diese Synchronisation wird intern ausgeführt und kann explizit oder implizit bereitgestellt werden, was folgendes bedeutet:
  • a) "explizit":
    "wait until event" bzw. warten auf ein Ereignis, worauf dann eine entsprechende Synchronisation vorgenommen wird, wobei ein Ereignis in der Regel von einem Testtakt abgeleitet wird und beispielsweise als
    • - eine Über- oder Unterschreitung eines Schwellwerts,
    • - ein Auftreten einer vorbestimmten Signalflanke,
    • - etc.
    bereitgestellt wird; und
  • b) "implizit"
    "wait for N *clock_period" oder "after M *clock_period", wo­ bei N und M ganzzahlige Ausdrücke sind und clock_period die Dauer einer Periode des Referenztaktes (Testtaktes) ist, bzw. warten für eine vorbestimmte Zeit, bis eine entsprechende Synchronisation vorgenommen wird.
Obwohl nur drei Testbenchelemente 102a, 102b und 102c in der Fig. 2 veranschaulicht sind, sei darauf hingewiesen, dass auch mehr als drei oder weniger als drei Testbenchelemente, allgemein eine Anzahl von n Testbenchelementen vorhanden sein kann (i = Laufindex).
Unter Bezugnahme auf Fig. 1 sind in der in Fig. 2 gezeigten Anordnung zwei Schnittstellendatenströme zur Verbindung der zu verifizierenden Schaltungseinheit 101 mit den Testbenche­ lementen 102a-102c bereitgestellt, wobei die seriellen Testbenchelemente 102a, 102b über einen seriellen Testdaten­ strom 112 mit der zu verifizierenden Schaltungseinheit 101 verbunden sind, während das gezeigte parallele Testbenchele­ ment 102c über einen parallelen Testdatenstrom 113 mit der zu verifizierende Schaltungseinheit 101 verbunden ist.
Fig. 4 zeigt ein Zeitverlaufsdiagramm eines Simulationssig­ nalverlaufs im Vergleich zu einem Zeitverlaufsdiagramm eines diskretisierungs-gerasterten Simulationssignalverlaufs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
In dem in Fig. 4 gezeigten Zeitverlaufsdiagramm ist erkenn­ bar, dass ein beliebiger, durch eine Simulationsanordnung vorgegebener Simulationssignalverlauf 401 nicht exakt oder überhaupt nicht in ein durch Diskretisierungsraster-Zyklen 403a, 403b, 403c, . . . 403l definiertes Diskretisierungsraster einpassbar ist. Wird der Simulationssignalverlauf 401 in das durch die Diskretisierungsraster-Zyklen 403a, 403b, 403c, . . . 403l definierte Diskretisierungsraster gezwängt, ergeben sich nicht tolerierbare Signalverlaufsverfälschungen, die zu einem diskretisierungs-gerasterten Signalverlauf 402 führen, wel­ cher in dem in Fig. 4 gezeigten Zeitverlaufsdiagramm unter­ halb des vorgegebenen Simulationssignalverlaufs 401 darge­ stellt ist.
Unter Bezugnahme auf das in der Fig. 1 gezeigte Schalenkon­ zept wird eine Testbenchelementschale bzw. mindestens eine Signalverzögerungsschale bereitgestellt, die als eine Syn­ chronisationsschale verwendet wird.
Hierbei werden vorgebbare Simulationssignalverläufe, d. h. nur taktbezogene, auf unabhängige Testtakte bezogene oder auf Testtakte mit einer Signalverzögerungszeit bezogene Simulati­ onssignalverläufe bereits während sämtlicher Simulationen in ein Zeitraster eines möglichen Testtakts eingezwängt.
Bei einer expliziten taktbezogenen Bereitstellung von Signal­ verzögerungszeiten bei Testmustern zum Durchführen von Simu­ lationen zur Überprüfung einer funktionalen Korrektheit einer Schaltungseinheit werden sämtliche Signalverzögerungen direkt auf einen Testtakt bezogen, der als ein virtueller Takt (vc = virtual clock) bezeichnet wird. Eine Bezugnahme auf einen Testtakt kann kontrollflussorientiert, z. B. in VHDL durch "wait until virtual_clock = '1'" durchgeführt werden. VHDL- Codes (VHDL = very high speed integrated circuits hardware description language) sind beispielsweise aus: "Basic, Jür­ gen: Entwicklung digitaler Systeme mit VHDL-Einsatz und An­ wendungen von VHDL zur Simulation und zur Synthese von digi­ talen Systemen, Eigenverlag, 1999, ISBN 3-00-005081-7" be­ kannt.
Weiterhin kann eine Bezugnahme von Signalverzögerungszeiten auf einen Testtakt datenflussorientiert mittels nur testtakt­ bezogener Signalverzögerungen durchgeführt werden, was in VHDL durch Signalverzögerungsprozeduren ermöglicht wird, wo­ bei ein Quelltext einer derartigen Prozedur beispielsweise wie folgt lautet:
Weiterhin ist eine implizit testtakt-bezogene Bereitstellung von Signalverzögerungszeiten durch das gezeigte Ausführungs­ beispiel des erfindungsgemäßen Verfahrens ermöglicht. Bei ei­ ner impliziten Testtakt-bezogenen Bereitstellung von Signal­ verzögerungen werden sämtliche Signalverzögerungszeiten nur in ganzzahligen Vielfachen einer global spezifizierten Test­ taktperiode bereitgestellt, wobei die Testtaktperiode in ei­ nem VHDL-Code wie folgt definiert werden kann:
package virutal_clock_period_package is
constant virtual_clock_period: time: = 1 ns;
end virtual_clock_period_package;
Eine Bereitstellung von Signalverzögerungszeiten erfolgt mit­ tels wait for N *virtual_clock_period kontrollflussorientiert oder mittels M *virtual_clock_period datenflussorientiert, wobei N und M beliebige ganzzahlige Ausdrücke darstellen.
Obwohl die vorliegende Erfindung vorstehend anhand bevorzug­ ter Ausführungsbeispiele beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Weise modifizier­ bar.
Bezugszeichenliste
101
Zu verifizierende Schaltungseinheit
102
a, . . .
102
i, . . .
102
n Testbenchelemente (i = Laufindex)
103
Testbench-Controller
104
Steuerelement
111
a, . . .
111
i, . . .
111
n Steuerdatenstrom (i = Laufindex)
112
Serieller Testdatenstrom
113
Paralleler Testdatenstrom
114
Controller-Datenstrom
201
Testbenchelementschale
309
Testtakt
P0(0), . . ., P0(7) Erste Schnittstellendatenströme
P1(0), . . ., P1(7) Zweite Schnittstellendatenströme
401
Simulationssignalverlauf
402
diskretisierungs-gerastertes Simulationssig­ nalverlauf
403
a, . . .
403
l Diskretisierungsraster-Zyklen

Claims (7)

1. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) in einer Testanordnung, bei dem Simulati­ onssignalverläufe (401, 402) von Testmustern vorgebbar sind, mit den folgenden Schritten:
  • a) Ableiten mindestens eines Testtakts (309) aus einer Test­ anordnung, die eine zu verifizierende Schaltungseinheit (101) einschließt;
  • b) Bestimmen mindestens einer aktiven Signalflanke des emp­ fangenen Testtakts (309);
  • c) Empfangen mindestens eines Testmusters aus der Testanord­ nung;
  • d) Einstellen von Signalverzögerungszeiten für mindestens ein Testmuster;
  • e) Erzeugen von mindestens einem Simulationssignalverlauf (401, 402) aus dem verzögerten Testmuster; und
  • f) Zuführen des mindestens einen Simulationssignalverlaufs (401, 402) als Einzeltaktsignal zu der zu verifizierenden Schaltungseinheit (101).
2. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) nach Anspruch 1, dadurch gekennzeichnet, dass vorgebbare Simulationssignalverläufe (401) in ein Zeit­ raster eines Testtakts (309) eingebracht werden.
3. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) nach einem oder beiden der Ansprüche 1 und 2, dadurch gekennzeichnet, dass eine explizite Testtakt-bezogene Bereitstellung von Sig­ nalverzögerungszeiten erfolgt, indem sämtliche Signalverzöge­ rungen direkt auf den Testtakt (309) bezogen werden.
4. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass eine implizite testtakt-bezogene Bereitstellung von Sig­ nalverzögerungszeiten erfolgt, indem sämtliche Signalverzöge­ rungen in ganzzahligen Vielfachen einer vorgebbaren Testtakt­ periode bereitgestellt werden.
5. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) nach einem oder mehreren der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass als eine aktive Signalflanke des Testtakts (309) eine positive Signalflanke bestimmt wird.
6. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass als eine aktive Signalflanke des Testtakts (309) eine negative Signalflanke bestimmt wird.
7. Verfahren zum Simulieren einer zu verifizierenden Schal­ tungseinheit (101) nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass eine vorgebbare zeitliche Abfolge von Testmustern be­ reitgestellt wird.
DE10125364A 2001-05-23 2001-05-23 Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit Withdrawn DE10125364A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10125364A DE10125364A1 (de) 2001-05-23 2001-05-23 Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10125364A DE10125364A1 (de) 2001-05-23 2001-05-23 Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit

Publications (1)

Publication Number Publication Date
DE10125364A1 true DE10125364A1 (de) 2002-12-05

Family

ID=7686006

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10125364A Withdrawn DE10125364A1 (de) 2001-05-23 2001-05-23 Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit

Country Status (1)

Country Link
DE (1) DE10125364A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004045204A1 (de) * 2004-09-17 2006-03-30 Hitex Development Tools Gmbh Vorrichtung und Verfahren zum Testen eines elektronischen Bauteils
CN102466779A (zh) * 2010-11-16 2012-05-23 北京中电华大电子设计有限责任公司 触发器延时的内建测试方法及电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0878762A1 (de) * 1997-05-14 1998-11-18 Nec Corporation Verfahren und Einrichtung zur Umwandlung von Prüfsignale

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0878762A1 (de) * 1997-05-14 1998-11-18 Nec Corporation Verfahren und Einrichtung zur Umwandlung von Prüfsignale

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BAUER,M., ECKER,W.: Hardware/Software Co-Simula- tion in a VHDL-based Test Bench Approach. In: Proceedings of the 34th Design Automation Confe- rence, 1997, Seiten 774-779 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004045204A1 (de) * 2004-09-17 2006-03-30 Hitex Development Tools Gmbh Vorrichtung und Verfahren zum Testen eines elektronischen Bauteils
CN102466779A (zh) * 2010-11-16 2012-05-23 北京中电华大电子设计有限责任公司 触发器延时的内建测试方法及电路
CN102466779B (zh) * 2010-11-16 2014-01-15 北京中电华大电子设计有限责任公司 触发器延时的内建测试方法及电路

Similar Documents

Publication Publication Date Title
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE112005001517B4 (de) Synchronisation zwischen Niedrigfrequenz- und Hochfrequenzdigitalsignalen
DE19700513C2 (de) Mit CAD-Daten verknüpftes Halbleiterprüfsystem
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE19950821A1 (de) Bewertungssystem für integrierte Halbleiterschaltungen
DE3702408C2 (de)
DE112006002092T5 (de) Schaltungskartensynchronisation innerhalb eines standardisierten Prüfinstrumentenchassis
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
DE4226719C2 (de) Verfahren zum Prüfen der Funktion elektronischer Bauteile und Prüfvorrichtung zum Durchführen des Verfahrens
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE102011103861A1 (de) Funktionseinheit, Simulationssystem und Verfahren zur Simulation
DE10297600T5 (de) Gerät und Verfahren zur Verarbeitung von Ereignissen für ereignisbasierte Hochgeschwindigkeitstestsysteme
EP1771798B1 (de) Verfahren der bewertung der güte eines computerprogramms
DE10125364A1 (de) Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit
EP1430320A2 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE3532484A1 (de) Anordnung zur modelldarstellung einer physikalischen elektrischen komponente in einer elektrischen logiksimulation
DE10064407A1 (de) Verfahren und Vorrichtung zur Verifizierung der Angemessenheit von Testmustern
DE10161031C1 (de) Verfahren und Vorrichtung zum Simulieren und/oder Testen einer zu verifizierenden Schaltungseinheit
DE10122252B4 (de) Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit und Verzögerungsschalenvorrichtung
AT501880A1 (de) Speicherprogrammierbare steuerung
EP1025500B1 (de) Verfahren und vorrichtung zur systemsimulation von mikrocontrollern/mikroprozessoren und zugehörenden peripheriemodulen
DE10160633C1 (de) Verfahren und Vorrichtung zum Simulieren einer zu verifizierenden Schaltungseinheit
DE19740543C1 (de) Verfahren zum Testen eines integrierten Schaltkreises sowie Verfahren und Datenverarbeitungsanlage zum Erzeugen von Testdaten
WO1999063664A2 (de) Vorrichtung und verfahren zur synchronisation eines asynchronen signals in synthese und simulation einer getakteten schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal