DE10296464T5 - Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen - Google Patents

Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen Download PDF

Info

Publication number
DE10296464T5
DE10296464T5 DE10296464T DE10296464T DE10296464T5 DE 10296464 T5 DE10296464 T5 DE 10296464T5 DE 10296464 T DE10296464 T DE 10296464T DE 10296464 T DE10296464 T DE 10296464T DE 10296464 T5 DE10296464 T5 DE 10296464T5
Authority
DE
Germany
Prior art keywords
design
fpga
event
event tester
integrated circuit
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
DE10296464T
Other languages
English (en)
Inventor
Rochit Santa Clara Rajsuman
Hiroaki Santa Clara Yamoto
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.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of DE10296464T5 publication Critical patent/DE10296464T5/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/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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Abstract

Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen (IC), bei dem ein Entwurfsprozess unter einer elektronischen Entwurfsautomationsumgebung (EDA-Umgebung) ausgeführt wird, das die folgenden Schritte umfasst:
Verbinden von feldprogrammierbaren Gatteranordnungen (FPGA) mit einem Ereignistestgerät;
gestreckte Programmierung der FPGA durch das Ereignistestgerät, auf der Grundlage der Entwurfsdaten, die unter der EDA-Umgebung erzeugt wurden, um ein Äquivalent einer integrierten Schaltung zu einer beabsichtigten integrierten Schaltung in der FPGA aufzubauen;
Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der FPGA durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der FPGA;
Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehlern durch Modifizieren der gestreckten Programmierung der FPGA; und
Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.

Description

  • Diese Erfindung betrifft ein Verfahren und ein Gerät zur Validierung des Entwurfs einer komplexen integrierten Schaltung und insbesondere ein Verfahren und ein Gerät zur Evaluierung und Validierung des Entwurfs einer komplexen integrierten Schaltung, wie etwa ein System auf einem Chip, mit hoher Geschwindigkeit und bei geringen Kosten durch Verwendung eines ereignisbasierten Testsystems ohne Verwendung einer Logiksimulation.
  • Gegenwärtig wird ein Höchstintegrationsentwurf in Blöcken und Unterblöcken durch Verwendung einer Beschreibungshochsprache wie Verflog und VHDL beschrieben. Diese Verilog-/VHDL-Entwürfe werden dann auf Verhaltens- und Logikgatterniveau unter Verwendung eines Verilog-/VHDL-Logiksimulators simuliert. Solch eine Entwurfsumgebung wird eine elektronische Design-Automationsumgebung (EDA-Umgebung) genannt. Die Simulation in der EDA-Umgebung zielt darauf ab, die Funktionalität und das Leistungsvermögen zu prüfen, bevor der Entwurf als integrierte Schaltung auf Silizium hergestellt wird. Derzeit ist die Simulationsgeschwindigkeit zu klein, um eine Simulation eines vollständigen Chips auszuführen, daher werden Entwürfe lediglich teilweise validiert.
  • Die Validierung von Entwürfen ist eine der wichtigsten und schwierigsten Aufgaben beim Entwurf von komplexen integrierten Schaltungen, weil ohne vollständige Prüfung der funktionalen Richtigkeit Fehler im Entwurf nicht gefunden und beseitigt werden. Gleichzeitig ist die Validierung eines Entwurfes auf dem Niveau eines vollständigen Chips eine absolute Notwendigkeit im Produktentwicklungszyklus. Wegen der geringen Geschwindigkeit der Simulation und der riesigen Größe der heutigen Entwürfe ist die Validierung eines Entwurfes auf dem Niveau eines Chips mit den gegenwärtigen Werkzeugen und Vorgehensweisen eine unmögliche Aufgabe (M. Keating und P. Bricaud, „Reuse methodology manual for a system-on-a-chip design", Kluwer Academic publishers, ISBN 0-7923-8175-0, 1998; R. Rajsuman, „System-on-a-chip: Design and Test", Artech House Publishers Inc., ISBN 1-58053-107-5, 2000).
  • Die Validierung von Entwürfen ist eines der wichtigsten Aufgaben bei jedem Entwurfsprojekt wie etwa ein Entwurf eines oben erwähnten Systems auf einem Chip (R. Rajsuman, „System-on-a-chip: Design and Test", 2000). Die Validierung eines Entwurfes bedeutet, nachzuweisen, dass das System tut wozu es gedacht ist. Sie sorgt im Wesentlichen für das Vertrauen in die Funktionsweise des Systems. Das Ziel der Validierung eines Entwurfs ist es, nachzuweisen, dass das Produkt wirklich wie beabsichtigt arbeitet (herauszufinden, ob es wie beabsichtigt arbeitet). Die Validierung des Entwurfs einer komplexen integrierten Schaltung kann als die Validierung der Funktionsweise einer Hardware angesehen werden, was sowohl die Funktionalität als auch das Taktleistungsvermögen einschließt. In der gegenwärtigen Technologie wird die Validierung eines Entwurfes durch eine umfassende Verhaltens-, logische und zeitliche Simulation und/oder durch Emulation und/oder durch einen Hardwareprototypen erreicht.
  • In der frühen Phase des Entwurfes einer integrierten Schaltung werden zusammen mit der Spezifikationsentwicklung und der RTL-Kodierung (Register Tranfer Level = Register Transfer Ebene) Verhaltensmodelle entwickelt, so dass die Prüfbänke für die Simulation des Systems geschaffen werden können. In der frühen Phase, im Allgemeinen, ist es das Ziel, einen guten Satz von Testreihen auf Blockniveau und Testfälle zu entwickeln, wird das durch den Entwurf auf Zeitregister-Transfer-Ebene (RTL-Entwurf) getan und es werden Funktionsmodelle spezifiziert. Eine wirkungsvolle Validierung hängt von der Qualität des Tests und der Vollständigkeit der Testbänke, dem Abstraktionsniveau der verschiedenen Modelle, der EDA-Werkzeuge und der Simulationsumgebung ab.
  • Die Strategie der Entwurfsvalidierung folgt der Entwurfshierarchie. Zuerst werden die Blöcke auf Blattebene für sich alleine auf Richtigkeit überprüft. Nach der Untersuchung der Funktionalität dieser Blöcke werden die Schnittstellen zwischen den Blöcken auf Richtigkeit hinsichtlich der Vorgangstypen und Dateninhalte überprüft.
  • Der nächste und wichtigste Schritt ist, die Anwendungssoftware oder äquivalente Prüfbänke auf dem Modell eines vollständigen Chips laufen zu lassen. Da die Anwendung der Software nur durch Laufzeitausführung der Software auf dem Chip verifiziert werden kann, ist eine Hardware-Software-Co-Simulation erforderlich. Die Co-Simulation kann auf dem Niveau einer Architektur von Befehlssätzen (ISA-Niveau = instruction set architecture level), auf dem Niveau eines Bus-Funktionsmodells (BFM-Niveau) oder unter Verwendung eines Verhaltensmodells in C/C++ durchgeführt werden. Neben Co-Simulation sind die andern heutzutage verwendeten Techniken zur Validierung die Emulation und/oder Hardwareprototypen (C. Flynn „Developing an emulation environment", Integrated Systems Design Magazine, S. 46 bis 52, April 2001; A. Dieckman „HW-SW coverification with emulation, co-simulation and FPGA based prototyping", Proceedings of Design and Test in Europe, S. 98 bis 101, 2001; R. Ulrich et al. „Debugging of FPGA based prototypes – A case study", Proceedings of Design and Test in Europe, S. 109 bis 113, 2001).
  • Die Kosten von Emulationssystemen sind ziemlich hoch (in der Größenordnung von 1 Million Dollar); ihre Geschwindigkeit ist jedoch wesentlich größer als die Geschwindigkeit der Co-Simulation (Emulation liefert grob 100K bis 1M Taktzyklen pro Sekunde). Ein ungefährer Vergleich der Simulationsgeschwindigkeit auf unterschiedlichen Niveaus der Entwurfsbeschreibung ist in 1 gezeigt. Hier steht, wie es oben angemerkt wurde, BFM für ein Niveau eines Bus-Funktionsmodell, ISA steht für ein Niveau einer Architektur von Befehlssätzen und RTL steht für ein Register-Transfer-Niveau. Desweiteren bedeutet „Logik" in 1 ein Logikgatter-Niveau, wie es etwa in einer Netzliste verwendet wird. Keines der bestehenden Werkzeuge und Vorgehensweisen erlaubt ausgedehnte Läufe der Softwareanwendungen zur Validierung von Entwürfen; Folglich wird die Funktionalität eines Chips nur in beschränktem Ausmaß validiert.
  • Trotz der besten Absichten der Ingenieure, die erste Ausführung in Silizium völlig funktionell zu fertigen, arbeiten lediglich 80 % der Entwürfe richtig, wenn sie auf Wafer-Niveau getestet werden, aber mehr als die Hälfte versagt, wenn sie zum ersten mal in das System eingesetzt werden. Der Primärgrund ist das Fehlen der Validierung auf System-Niveau mit einem ausreichenden Ausmaß an laufender realer Softwareanwendung. Die FPGA-basierte Erstausführung ist immer noch nicht hinreichend, da die Validierung des Entwurfs sehr beschwerlich und immer noch langsam ist, weil sie EDA-Simulationswerkzeuge verwendet (A. Dieckman „HW-SW co-verification with emulation, co-simulation and FPGA based prototyping", Proceedings of Design and Test in Europe, S. 98 bis 101, 2001; R. Ulrich et al. „Debugging of FPGA based prototypes – A case study", Proceedings of Design and Test in Europe, S. 109 bis 113, 2001).
  • Demgemäß ist in der gegenwärtigen Technologie das einzige Mittel, um die Validierung eines Entwurfes durchzuführen, die Erstausführung in Silizium, wie etwa das herstellen des ASIC selbst. Der derzeitige Produktentwicklungszyklus wird in 2 veranschaulicht. Wie es in 2 gezeigt ist, wird ein Siliziumprototyp hergestellt. Dieser Siliziumprototyp wird verwendet, um eine Systemplatine zu entwickeln, auf der eine vollständige Validierung ausgeführt wird (In-System-Test). Alle Fehler der Operation des Chipprototyps werden behoben; der Entwurf wird korrigiert und schließlich wird die Massenfertigung ausgeführt.
  • Genauer gesagt, studieren die Designer im Schritt 21 von 2 die Erfordernisse einer zu entwerfenden komplexen integrierten Schaltung. Basierend auf den Erfordernissen in Schritt 21, bestimmen die Designer bei Schritt 22 die Spezifikationen der integrierten Schaltung. Beim Prozess der Entwurfseingabe in Schritt 23 wird die integrierte Schaltung in Blöcken und Unterblöcken unter Verwendung einer Hochsprache wie etwa Verilog/HDL beschrieben. In Schritt 24 wird eine anfängliche Evaluierung des Entwurfs durch einen Prüfprozess 25 auf Richtigkeit des Entwurfs durchgeführt, der typischerweise eine logische/zeitliche Simulation 26 unter Verwendung der ursprünglichen Prüfbänke 28 ist. Als ein Ergebnis der logischen Simulation wird eine Eingangs-/Ausgangsdatei oder eine VCD-Datei (Value Change Dump = Auszug aus dem Werteänderungsspeicher) 29 erzeugt. Die Daten in der VCD-Datei 29 sind eine Liste von Eingangs- und Ausgangsereignissen mit Berücksichtigung der Taktlänge oder -verzögerung, d. h. Daten in einem Ereignisformat.
  • Auf der Grundlage der Entwurfsdaten, die entsprechend dem vorhin erwähnten erzeugt wurden, wird in einem Prozess, der mit der Zahl 30 bezeichnet ist, ein Siliziumprototyp aufgebaut. Bei diesem Prozess wird in Schritt 31 die Herstellung durchgeführt, um einen Siliziumprototyp 33 zu erhalten. Der resultierende Siliziumprototyp 33 wird in den Schritten 32 und 35 auf etwaige Fehler untersucht. Heutzutage wird solch ein Test unter Verwendung eines Prüfgeräts für integrierte Schaltungen ausgeführt, das ein auf Zyklen basierendes Prüfsystem ist, das eine Architektur zur Erzeugung von Testvektoren basierend auf Daten von Testmustern in einem zyklischen Format aufweist.
  • Die auf Zyklen basierenden Prüfsysteme (ATE-Systeme) sind nicht in der Lage, die VCD-Datei 29, die unter der EDA-Umgebung erzeugt wurde, direkt zu verwenden, da sich die VCD-Datei in einem Ereignisformat befindet. Demgemäß wird der Testvektor in der VCD-Datei im Zyklisierungsschritt 34 zu einer Datei im zyklischen Format umgewandelt. Darüber hinaus muss das Testprogramm in Schritt 34 auf Grundlage der Daten im zyklischen Format entwickelt werden, weil oftmals die Testvektoren im Ereignisformat nicht vollständig in die Testvektoren im zyklischen Format konvertiert werden können. Solch eine Verifikation durch Testgeräte für integrierte Schaltungen schließt heutzutage immer noch unvollständige und ungenaue Ergebnisse ein. Es ist zudem auch zeitraubend, die Daten im Ereignisformat von der EDA-Umgebung in die Daten der Testmuster im zyklischen Format für das zyklusbasierte Testsystem zu konvertieren.
  • Der Siliziumprototyp 33 wird darüber hinaus in einem Prozess 40 zur Entwurfsvalidierung und zur Fehlerbehebung validiert, bei dem ein In-System-Test 37 an dem Siliziumprototyp 33 durchgeführt wird. Beim In-System-Test 37 wird der Siliziumprototyp 33 auf einer Schaltungsplatine als Teil eines beabsichtigten Systems befestigt. Während der In-System-Validierung werden Fehler und Ursachen für die Fehler aufgespürt und die Entwurfsfehler werden in Schritt 39 festgehalten. Da solch ein In-System-Test sowohl einen Siliziumprototyp des entworfenen Chips als auch ein System mit einer Anwendungssoftware zum Laufen des Siliziumprototyps erfordert, ist er nicht nur kostspielig sondern auch zeitraubend.
  • Während der Phase 30 des Siliziumprototyps und der Phase 40 der Validierung in 2 werden Fehler des Entwurfs gefunden und Ursachen für solche Fehler werden bestimmt und Entwurfsfehler werden durch wiederholte Interaktionen zwischen den Entwurfsingenieuren und den Testingenieuren korrigiert. Der endgültige Entwurf 41 wird erreicht und die logische/zeitliche Simulation 43 für den endgültigen Entwurf 41 wird unter Verwendung einer neuen Testbank 45 betrieben. Dann wird der Entwurf als Siliziumausführung 49 hergestellt und an der Siliziumausfuhrung wird ein Produktionstest 47 durchgeführt.
  • Es sollt auch beachtet werden, dass es im konventionellen Ablauf, wie in 2 gezeigt, keine geschlossene Schleife gibt, d. h. alle Schritte werden der Reihe nach ausgeführt, vom anfänglichen Entwurf zum Siliziumprototyp zur Fehlerbehebung/ Validierung zum endgültigen Entwurf. Wegen dieser sequentiellen Natur sind diese Schritte äußerst zeitraubend und kostspielig; auch erfordert jeder Fehler bei jedem Schritt eine vollständige Umarbeitung.
  • Um diese Defizite zu überwinden, ist vom selben Zessionar dieser Erfindung in den US-Patentanmeldungen Nr. 09/428,746 und 09/941,396 eine auf einem Ereignisprüfgerät beruhendes Verfahren vorgeschlagen worden. Bei dem in den US-Patentanmeldungen offenbarten Verfahren werden ein Siliziumprototyp und eine ursprüngliche Simulationsprüfbank zusammen mit EDA-Werkzeugen zur Validierung von Entwürfen unter Verwendung eines ereignisbasierten Testsystems (Ereignistestgerät) verwendet. Zu diesem Zweck werden die EDA-Werkzeuge, und _ der Simulator mit dem Ereignistestgerät verbunden, um die ursprünglichen Vektoren der Entwurfssimulation und der Prüfbank auszuführen und um Modifikationen an der Prüfbank und an den Testvektoren vorzunehmen, solange bis zufriedenstellende Ergebnisse erzielt werden. Weil die EDA-Werkzeuge mit dem Ereignistestgerät verbunden sind, werden die Modifikationen gewonnen, um eine endgültige Prüfbank zu erzeugen, die befriedigende Ergebnisse liefert.
  • Ein Beispiel dieses Verfahrens wird in 3 veranschaulicht. Es sollte beachtet werden, dass dieses Beispiel lediglich für den Zessionar dieser Erfindung eine herkömmliche Technologie darstellt, aber nicht in der Öffentlichkeit und auch nicht im Stand der Technik zur vorliegenden Erfindung. Der fundamentale Unterschied in 2 und 3 besteht darin, dass der Ablauf in 3 eine geschlossene Schleife vom ursprünglichen Entwurf zum Prototyp zur Fehlerbehebung/Validierung zum Festhalten der Entwurfsfehler zur endgültigen Herstellung oder Massenproduktion vorsieht.
  • Gemäß den oben erwähnten Patentanmeldungen und 3 werden für die vollständige funktionale Verifikation oder die Entwurfsvalidierung auf Chip-Niveau die funktionalen Vektoren auf dem Niveau eines vollständigen Chips, die während der Entwurfssimulation (ursprüngliche Prüfbank) entwickelt wurden, auf dem Ereignistestgerät ausgeführt. Diese Testvektoren sind ebenfalls im Ereignisformat, typischerweise erzeugt durch die Softwareanwendung, die auf dem Verilog-/VHDL-Modell oder dem Verhaltensmodell der integrierten Schaltung läuft. Diese Vektoren arbeiten die verschiedenen Teile der integrierten Schaltung gleichzeitig oder zu verschiedenen Zeiten ab, jedoch wird das Gesamtverhalten der integrierten Schaltung durch die kombinierte Erwiderung bestimmt. Nach diesem Schritt wird ein Siliziumchip hergestellt, wie es in 3 gezeigt ist.
  • Wenn der Chip einmal verfügbar wird, wird er auf dem ereignisbasierten System eingesetzt und die Entwurfssimulationsvektoren der ursprünglichen Prüfbank werden ausgeführt, um die Operation des Chips zu verifizieren. Genauer gesagt ein Ereignistestgerät 52 in 3 prüft die Funktion des Siliziumprototypen 33 unter Verwendung der Testvektoren, die auf der Grundlage der Ereignisdaten, die von der VCD-Datei (Auszug aus dem Werteveränderungsspeicher) 29 stammen, erzeugt wurden. Da sich die VCD-Datei 29 im Ereignisformat befindet, können die Daten in der VCD-Datei 29 direkt im Ereignistestgerät 52 für die Prüfung des Entwurfes verwendet werden.
  • Die EDA-Werkzeuge, wie etwa die Simulationsanalyse/Fehlerbehebung 55 und der Signalformeditor/-Betrachter 56, werden mit dem Ereignistestgerät 52 über eine Schnittstelle 67 verbunden, wie etwa API (Programmed Application Interface = programmierte Anwendungsschnittstelle). Das Ereignistestgerät 52 vereinigt die Softwarewerkzeuge zum Editieren und Betrachten der Signalformen, wie etwa den Ereignissignalformeditor/-Betrachter 58 und DUT-Signalformeditor/-Betrachter (device under test = Prüfling) 59. Der Editor/Betrachter 58 und 59 ist mit den EDA-Werkzeugen 55 und 56 über die API-Schnittstelle 67 verbunden, um damit auf die gemeinsame Datenbasis zuzugreifen und miteinander auszutauschen. Im Ereignistestgerät 52 können die Testvektoren (Ereignisse) durch den Ereignissignalformeditor/-Betrachter 58 modifiziert werden.
  • Durch Ausführen der Testvektoren produziert das Ereignistestgerät 52 eine Testergebnisdatei 53, welche über eine Prüfbank-Rückkopplung 69 an die EDA-Entwurfsumgebung und an die EDA-Werkzeuge zurückgegeben wird. Die Ergebnisse werden auf dem Ereignistestgerät 52 untersucht und die Ereignisse werden am Ereignistestgerät 52 (Editor/Betrachter 58 und 59) verändert/leditiert, bis alle unrichtigen Operationen des Bauteils (beabsichtigter Entwurf) berichtigt sind. Um solch eine neue Prüfbank und Testvektoren zu erhalten, werden die EDA-Werkzeuge, die sich aus den Werkzeugen 65 zum Erzeugen einer Prüfbank, den Werkzeugen 55 zur Simulationsanalyse und dem Signalformbetrachter 56 zusammensetzen, mit dem Ereignistestgerät 52 verbunden. Nach diesen Prozessen wird in 3 in Schritt 61 die endgültige Fabrikation in Silizium (Massenproduktion) durchgeführt, um das endgültige integrierte Schaltungsbauteil 62 zu produzieren, welches in einer Produktionsteststufe 63 geprüft werden wird.
  • Das Verfahren von 3 macht immer noch eine physikalische Ausführung in Silizium (Prototyp) für die Validierung des Entwurfs notwendig. Wegen dieser Notwendigkeit einer physikalischen Ausführung in Silizium ist der Prozess immer noch kostspielig. Um diese Einschränkung zu überwinden, offenbart die obige US-Patentanmeldung Nr. 09/941,396 einen alternativen Prozess, der die ursprüngliche Entwurfsbeschreibung und seine Simulationsprüfbank verwendet, um eine neue Prüfbank und ein entsprechendes Bauteilmodell zu erzeugen das frei von Entwurfsfehlern ist. Bei diesem Prozess wird der ursprüngliche Entwurf des Bauteils zusammen mit der ursprünglichen Prüfbank auf das Ereignistestgerät geladen. Bei Verwendung der API-Schnittstelle ist das Ereignistestgerät auch mit dem Simulator verbunden, der während des ursprünglichen Entwurfes verwendet wurde. Auf diese Weise enthält das Ereignistestgerät den Entwurf, der in Verilog/VHDL beschrieben ist, und alle seine Logik-, Verhaltens-, BFM-, ISA- und Anwendungsprüfbänke.
  • Durch Verwendung des Bauteilmodells (ursprünglicher Entwurf) und seiner Prüfbänke werden die Ergebnisse auf dem Ereignistestgerät untersucht. Weil die gesamte Umgebung und die Ergebnisse im Ereignisformat vorliegen, wird jede nicht richtige Operation im Betrieb des Bauteils schnell erfasst. Indem es das Ereignistestgerät erlaubt, die Ereignisse und die Zeitskalierung zu editieren, werden die Ereignisse entsprechend dieser nicht richtigen Operationen editiert, um die Operation zu korrigieren. Wenn alle nicht richtigen Operationen korrigiert sind, wird das Bauteilmodell gesichert und es werden eine neue Prüfbank und Testvektoren erzeugt. Das gesicherte Bauteilmodell wird zur Herstellung in Silizium und zur Massenproduktion verwendet.
  • Es bleibt die eine Beschränkung bestehen, dass dieses Verfahren immer noch auf einer Simulation beruht; daher ist es immer noch langsam. Was benötigt wird, ist ein neues Verfahren und ein neues Gerät zur Validierung eines Entwurfes, um diese Beschränkung zu überwinden.
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein Gerät zur Validierung eines Entwurfs einer komplexen integrierten Schaltung mit hoher Geschwindigkeit und geringen Kosten durch Verwendung eines ereignisbasierten Testsystems bereitzustellen, ohne eine Logiksimulation zu verwenden.
  • Bei einem ersten Gesichtspunkt der vorliegenden Erfindung beinhaltet das Verfahren zur Validierung eines Entwurfs einer komplexen integrierten Schaltung die folgenden Schritte: Verbinden einer feldprogrammierbaren Gatteranordnung (FPGA) mit einem Ereignistestgerät, gestreckte Programmierung der FPGA durch das Ereignistestgerät, basierend auf den Entwurfsdaten, die unter der EDA-Umgebung erzeugt wurden, um ein Äquivalent einer integrierten Schaltung zu einer beabsichtigten integrierten Schaltung in der FPGA aufzubauen, Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der FPGA durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der FPGA, Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehlern durch Modifizieren der gestreckten Programmierung der FPGA und Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.
  • Vorzugsweise beinhaltet das Verfahren der vorliegenden Erfindung darüber hinaus einen Schritt des Empfangens der Entwurfsdaten und des Konvertierens der Entwurfsdaten für die gestreckte Programmierung der FPGA. Der Schritt der gestreckten Programmierung der FPGA durch das Ereignistestgerät beinhaltet einen Schritt der Übertragung von Programmierdaten an die FPGA durch einen Steuerbus des Ereignisgeräts.
  • Bei der vorliegenden Erfindung beinhaltet der Schritt des Anwendens der Testvektoren vorzugsweise einen Schritt des Laufens einer Prüfbank, die unter der EDA-Umgebung erzeugt wurde, und von Anwendungssoftware, die für beabsichtigte integrierte Schaltung gefertigt wurde, auf der FPGA durch das Ereignistestgerät.
  • Das Verfahren der vorliegenden Erfindung beinhaltet darüber hinaus einen Schritt des Extrahierens von Ereignisdaten durch eine Prüfbank, die unter der EDA-Umgebung erzeugt wurde, und einen Schritt des Installierens der extrahierten Ereignisdaten im Ereignistestgerät und Erzeugen der Testvektoren auf der Grundlage der extrahierten Ereignisdaten, um die Testvektoren auf die FPGA über eine Prüfhalterung des Ereignistestgeräts anzuwenden.
  • Bei einem zweiten Gesichtspunkt der vorliegenden Erfindung wird bei dem Verfahren zur Validierung des Entwurfs einer komplexen integrierten Schaltung lieber eine Emulatorplatine als eine FPGA verwendet. Das Verfahren beinhaltet die folgenden Schritte: Verbinden einer Emulatorplatine mit einem Ereignistestgerät, Zuführen von Entwurfsdaten einer beabsichtigten integrierten Schaltung an die Emulatorplatine, so dass die Emulatorplatine Funktionen der beabsichtigten integrierten Schaltung emuliert, Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der Emulatorplatine durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der Emulatorplatine, Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehler durch Modifizieren der Entwurfsdaten, die der Emulatorplatine zugeführt wurden, und Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.
  • Ein weiterer Gesichtspunkt der vorliegenden Erfindung ist ein Gerät zum Validieren des Entwurfs einer komplexen integrierten Schaltung. Das Gerät zur Validierung eines Entwurfs wird durch verschiedene Mittel zum Durchführen der oben beschriebenen Verfahren zur Validierung von Entwürfen aufgebaut, welche eine Kombination aus dem Ereignistestgerät und der FPGA oder eine Kombination aus dem Ereignistestgerät und der Emulatorplatine zur Anwendung von Prüfmustern und Antwortevaluierung mit hoher Geschwindigkeit und gleichfalls zur Behebung von Entwurfsfehlern und zur Fehlerkorrektur verwendet.
  • Erfindungsgemäß wird anstelle der Verwendung der langsamen EDA-Simulationswerkzeuge vom Ereignistestgerät und der gestreckten Programmierung von FPGAs Gebrauch gemacht, um den Entwurf zu validieren. Weil keine Simulation auf dem Niveau eines vollständigen Chips verwendet wird und die Anwendungssoftware schneller auf der FPGA läuft (im Vergleich zur Simulation), kann eine umfassende Validierung vorgenommen werden, was mit der heutigen Technologie nicht möglich ist.
  • Wegen der Beseitigung der langsamen Simulation aus dem Ablauf der Entwurfsvalidierung kann eine umfassende Validierung des Entwurfs vorgenommen werden, bevor der Entwurf zur Herstellung freigegeben wird, und weil eine umfassende Validierung des Entwurfes möglich wird, wird die Notwendigkeit eines Prototyps vor der Massenproduktion beseitigt. Das Validierungsverfahren der vorliegenden Erfindung ist sehr effizient, weniger kostspielig und unterscheidet sich fundamental von jedem bisher beschriebenen System.
  • 1 ist ein Diagramm, das eine Beziehung zwischen der Simulationsgeschwindigkeit und verschiedenen Abstraktionsniveaus zeigt, die mit dem Entwurfsprozess für komplexe integrierte Schaltungen verknüpft sind.
  • 2 ist ein schematisches Diagramm, das ein Beispiel eines Prozesses bei der Validierung eines Entwurfes mit der herkömmlichen Technologie zeigt.
  • 3 ist ein schematisches Diagramm, das ein Beispiel eines Verfahrens der Validierung eines Entwurfes zeigt, das ein innerbetriebliches Wissen des Zessionars und Gegenstand der US-Patentanmeldung Nr. 09/941,396 ist.
  • 4 ist ein Blockdiagramm, das einen Grundaufbau des Geräts und des Verfahrens zur Entwurfsvalidierung der vorliegenden Erfindung ist, die gestreckt programmierte FPGAs in Kombination mit einem Ereignistestgerät verwenden.
  • 5 ist ein schematisches Diagramm, das ein Beispiel eines FPGA-Aufbaus bei der vorliegenden Erfindung zeigt, die eine Parallel- und eine Kaskadenanordnung vereinigt.
  • 6 ist ein Blockdiagramm, die einen Grundaufbau des Geräts und des Verfahrens zur Entwurfsvalidierung der vorliegenden Erfindung zeigt, die eine Emulatorplatine in Kombination mit einem Ereignistestgerät verwenden.
  • Die 7A und 7B sind schematische Diagramme zum Vergleichen des Verfahrens von 3 mit dem der vorliegenden Erfindung.
  • Bei den früheren Anmeldungen, die sich im Besitz des selben Zessionars dieser Erfindung befinden, wird in den US-Patentanmeldungen Nr. 09/406,300, 09/340,371 und 09/286,226 ein ereignisbasiertes Testsystem beschrieben. Hier werden alle diese Patentanmeldungen durch Bezugnahme übernommen. In der vorliegenden Erfindung ändern ein neues Verfahren und eine neue Vorrichtung das Entwurfsparadigma durch Überwindung der der herkömmlichen Technologie eigenen Beschränkungen.
  • Wie es im Fachgebiet bekannt ist, weisen Prüfgeräte für integrierte Schaltungen eine Prüfrate von größer als beispielsweise 100 MHz bis zu 1 GHz auf, was wesentlich schneller ist, als jeder bestehende Logiksimulator. Wie es im voranstehenden beschrieben wurde, sind die in den 2 und 3 gezeigten herkömmlichen Technologien nicht in der Lage, die Hochgeschwindigkeitsprüfrate eines Testgeräts für integrierte Schaltungen auszunutzen, weil das Verfahren zur Validierung den Logiksimulator einschließt. Die vorliegenden Erfindung verbessert die Produktivität der Designer durch Beschleunigung der Entwurfsprozedur an sich, durch Beseitigen der langsamen Simulation aus dem Ablauf der Entwurfsvalidierung.
  • Diese Erfindung bietet zwei Hauptvorteile: (1) Wegen der Beseitigung der langsamen Simulation aus dem Ablauf der Entwurfsvalidierung kann eine umfassende Validierung eines Entwurfes vorgenommen werden, bevor der Entwurf zur Herstellung freigegeben wird; (2) Weil eine umfassende Validierung eines Entwurfes möglich wird, wird die Notwendigkeit eines Prototypen vor der Massenproduktion eliminiert. Das Verfahren zur Validierung ist bei der vorliegenden Erfindung sehr effizient, weniger kostspielig und unterscheidet sich fundamental von jedem vorher beschriebenen System.
  • Anstelle der Verwendung von langsamen EDA-Simulationswerkzeugen verwendet die vorliegende Erfindung ein ereignisbasiertes Testsystem (Ereignistestgerät) und eine gestreckte Programmierung von FPGAs, um den Entwurf zu validieren. Das grundlegende ereignisbasierte System wurde in den US-Patenten Nr. 09/406,300 und 09/340,371 beschrieben. Über einen Steuerbus im Ereignistestgerät können FPGAs auf dem Ereignistestgerät selbst programmiert werden (gestreckte Programmierung). Auf diese Weise können ein oder mehrere FPGAs auf dem Ereignistestgerät verwendet werden, um die Netzliste (typischerweise eine Beschreibung auf dem Niveau von Logikgattern) eines komplexen Chips zu implementieren.
  • Da diese FPGAs den tatsächlichen Entwurf ausführen, kann die Softwareanwendung über das Ereignistestgerät laufen gelassen werden, um den Entwurf zu validieren. Während des Laufens der Softwareanwendung wird jeder Fehler vom Ereignistestgerät ermittelt und direkt auf dem Ereignistestgerät diagnostiziert. Da die FPGA gestreckt programmiert werden kann, kann die Ursache des Fehlers in der Entwurfsnetzliste korrigiert werden. Das erlaubt es, echte Softwareanwendungen ausgedehnte Zeitspannen laufen zu lassen, und läßt auf diese Weise eine umfassende Validierung zu.
  • Das Verfahren wird in 4 veranschaulicht. Bei diesem Beispiel ist ein Ereignistestgerät 92 über einen Steuerbus mit einer FPGA-Platine (Field Programmable Gate Array = feldprogrammierbare Gatteranordnung) verbunden. Ähnlich wie beim in 2 und 3 gezeigten Beispiel werden unter der EDA-Umgebung die ursprünglichen Entwurfsdaten 85 einer komplexen integrierten Schaltung durch die Entwurfsschritte 81 bis 83 erzeugt. Eine Prüfbank 87 wird ebenfalls erzeugt, die typischerweise eine Verilog-/NHDL-Prüfbank ist. Eine Anwendungssoftware 88 für die integrierte Schaltung kann ebenfalls in diesem Schritt fertiggestellt werden. Auf der Grundlage der Prüfbankdaten 87 und der Anwendungssoftware 88 wird über einen Prozess 89 zum Extrahieren von Ereignissen eine Ereignisdatei 91 erzeugt.
  • Wie es im Fachgebiet bekannt ist, weisen FPGAs darin Speicher zum Aufbauen einer beabsichtigten Schaltung auf. Entsprechend kann durch Aufzeichnen geeigneter Daten in den Speichern (Programmieren) der FPGAs sogar eine groß bemessene integrierte Schaltung in den FPGAs erzeugt werden. Bei der vorliegenden Erfindung liefert das Ereignistestgerät 92 die Konfigurationsdaten über den Steuerbus an die FPGAs, um die FPGAs zu programmieren (gestreckte Programmierung). Typischerweise werden solche Konfigurationsdaten durch Übersetzen der Ereignisse 91 auf der Grundlage von für die FPGAs eindeutigen Regeln erzeugt und in einer gestreckten Programmierung 93 installiert.
  • Nach der Gestaltung der beabsichtigten integrierten Schaltung in der FPGA-Platine 94 wendet das Ereignistestgerät über eine Prüfhalterung (wie etwa Pogo-Stifte) Prüfmuster (Testvektoren) an. Jeder Fehler während der Prüfanwendung wird durch das Ereignistestgerät ermittelt und direkt auf dem Ereignistestgerät diagnostiziert. Indem die FPGA gestreckt programmiert werden kann, kann die Ursache eines Fehlers in der Entwurfsnetzliste korrigiert werden. Wie es in den oben angegebenen Patentanmeldungen offenbart ist, ist das Ereignistestgerät in der Lage, die Ereignisse (Prüfmuster) in der Taktung, in den Attributen und in der Wiederholungsrate (Ereignisskalierung) zu ändern, und es kann ein umfassender Test am Entwurf durchgeführt werden. Desweiteren erlaubt die Kombination des Ereignistestgeräts mit der FPGA Operationen mit hoher Geschwindigkeit, bei hoher Geschwindigkeit sind Softwareanwendungen für ausgedehnte Zeitspannen möglich, demgemäß wird eine umfassende Validierung erreicht. Nachdem alle Fehler ermittelt wurden und der Entwurf korrigiert wurde, wird der endgültige Entwurf 97 festgelegt, der für eine Stufe der Massenproduktion 98 verwendet wird.
  • Bei der Ausführung dieser Erfindung ist die FPGA-Platine 94 auf der Prüfhalterung montiert und es werden verschiedene Signale, die mit der Prüfhalterung verbunden sind, zur Steuerung der FPGAs verwendet. Diese Signale liefern eine Vielfalt von Funktionen. Die gestreckte FPGA-Programmierung wird auch durch diese Signale erzielt. Beispiele solcher Signale schließen folgendes ein:
    • (1) Einen Steuerbus mit 32 Bit und ein Steuerwort mit 32 Bit. Diese Signale werden jetzt als offener Kollektor an der Testgerätsteuerung ausgeführt. Diese Signale können auch als bi-direktionale Signale ausgeführt werden.
    • (2) Analoge I/O-Signale mit 64 Bit. Sowohl das Steuerwort mit 32 Bit als auch die Signale mit 64 Bit weisen eine Auswahlschnittstelle auf und jedes einzelne Bit kann separat gesteuert werden.
    • (3) Stromanschlüsse: Bei der vorliegenden Ausführung sind 16 DUT-Stromanschlüsse (device under test = Prüfling) vorhanden, +5 V, +15 V, –5 V, –15 V. Jede DUT-Stromversorgung beträgt 8V bei 2A. Diese Stromversorgungen besitzen parallele Anschlüsse ebenso wie potentialfreie Anschlüsse für Anwendungen im höheren Spannungsbereich.
  • Die gestreckte Programmierung von FPGAs kann durch Verwendung entweder einer parallelen Schnittstelle oder einer seriellen Schnittstelle vorgenommen werden. Mit einer seriellen Schnittstelle können viele Bauteile in einer kaskadenartigen Weise verbunden werden. Bei diesem Verfahren werden nur zwei Steuersignale verwendet, um alle FPGAs im System zu programmieren. Eine andere Möglichkeit besteht darin, den Bus zu verwenden und mehrere FPGAs parallel zu konfigurieren. Für die parallele Konfiguration erfordert jedes Bauteil seine eigene Taktung und seine eigenen Daten. Mit beiden Bussen ist eine Gesamtzahl von 96 Steuerbits erhältlich; folglich können bis zu 48 FPGAs parallel programmiert werden (eine Takt- und eine Datenleitung für jede FPGA).
  • Eine dritte Möglichkeit besteht in einer Kombination aus paralleler und kaskadenartiger Verbindung; das ist die allgemeinste Methode und in 5 veranschaulicht. Bei dem Beispiel von 5 enthält die FPGA-Platine 94 in Serie und parallel verbundene FPGAs 941 bis 946 . Das Ereignistestgerät 92 liefert die Daten und Taktung in einer parallelen Weise zur gestreckten Programmierung an die FPGAs 94 (Aufbau der beabsichtigten integrierten Schaltung in den FPGAs). Die sich ergebende integrierte Schaltung beinhaltet eine Schnittstelle 95, die zur Kommunikation mit Steckkarten des Ereignistestgeräts über die Prüfhalterung zur Ausführung des Tests verwendet wird.
  • Wie beim voranstehenden, verwendet die vorliegende Erfindung anstelle der langsamen EDA-Simulationswerkzeuge das Ereignistestgerät und die gestreckte Programmierung von FPGAs, um den Entwurf zu validieren. Weil keine Simulation auf dem Niveau eines vollständigen Chips verwendet wird und eine Anwendungssoftware wesentlich schneller auf der FPGA läuft (im Vergleich zur Simulation), kann eine umfassende Validierung vorgenommen werden, die mit der heutigen Technologie nicht möglich ist.
  • 6 zeigt ein anderes Ausführungsbeispiel der vorliegenden Erfindung, das eine Emulatorplatine anstelle der gestreckten Programmierung von FPGAs verwendet. In diesem Fall ist der Steuerbus des Ereignistestgeräts (das Steuerwort mit 32 Bit und die analogen Signale mit 64 Bit, wie oben angegebenen) dem Bus der Emulatorschnittstelle zugeordnet (die Emulatorschnittstelle ist im Allgemeinen entweder 32 Bit oder 64 Bit; demgemäß werden durch den Steuerbus nur 32 Bit oder 64 Bit von möglichen 96 Bit verwendet). Die Emulatoranbieter, wie etwa Ikos Systems, haben Emulationsschnittstellen allgemein zugänglich gemacht, so dass Emulationssyteme mit jedem anderen System verbunden werden können.
  • Wegen der allgemein zugänglichen Schnittstelle zum Emulationssystem kann die gestreckte Programmierung von FPGAs durch Verwendung einer Emulatorplatine vermieden werden, wie es in 6 gezeigt ist. Weil nur eine Emulatorplatine verwendet wird (nicht ein gesamtes Emulationssystem), sind die Kosten wesentlich geringer als das Emulationssystem, wenn auch die Kosten geringfügig höher sind als die FPGA-Ausführung. Außerdem ist die Geschwindigkeit der Validierung, da der Entwurf auf der Emulationsplatine geladen und die Anwendungssoftware laufen gelassen wird, während Entwurfsfehler auf dem Ereignistestgerät behoben werden, auf die Geschwindigkeit des Kommunikationsbusses beschränkt, die gering ist.
  • Genauer gesagt wird in 6 eine Emulatorplatine 104 über einen Emulatorschnittstellenbus mit dem Ereignistestgerät 92 verbunden. Die Emulatorplatine 104 empfängt über eine Emulatorschnittstellenplatine 101 Daten, wie etwa eine Prüfbank und eine Anwendungssoftware. Die Emulatorplatine 104 wird ferner durch den Ladeschritt 102 mit Entwurfsdaten beladen. Auf diese Weise emuliert die Emulatorplatine 104 den Entwurf der integrierten Schaltung.
  • Durch Laufen der Prüfbank auf der Emulatorplatine werden in einer Ereignisdatei 105 Ereignisdaten erzeugt. Das Ereignistestgerät 92 verwendet diese Ereignisdaten in der Ereignisdatei 105, um den Entwurf auf der Emulatorplatine 104 durch den Bus der Emulatorschnittstelle zu testen und die Antwortausgaben der Emulatorplatine 104 zu evaluieren. Nachdem alle Fehler ermittelt wurden und der Entwurf korrigiert wurde, wird der endgültige Entwurf 107 festgelegt, der für eine Stufe 108 der Massenproduktion verwendet wird.
  • Die 7A und 7B veranschaulichen die Nebeneinanderdarstellung der vorliegenden Erfindung und das Verfahren von 3 (nicht Stand der Technik). In beiden 7A und 7B wird durch eine Phase des Entwurfs einer integrierten Schaltung 101 eine Entwurfsdatei 102 und eine Prüfbank 103 erzeugt. Dann führt der Prozess bei dem Verfahren von 7A die Logiksimulation 105 unter Verwendung der Entwurfsdatei 102 und der Prüfbank 103 durch. Wie es im Fachgebiet bekannt ist, ist die Logiksimulation, die durch einen Softwareprozess aufgebaut wird, sehr langsam im Vergleich zur Operationsgeschwindigkeit der beabsichtigten integrierten Schaltung. Bei dem Verfahren von 7A wird auf Grundlage der Entwurfsdaten ein Siliziumprototyp 111 gefertigt, der vom Ereignistestgerät 110 getestet wird.
  • Der Logiksimulator 105 produziert Eingangs-/Ausgangssignaldaten, d. h. eine VCD-Datei 107 (Voltage Change Dump = Auszug aus dem Spannungsänderungsspeicher) aus der durch Extrahieren der Ereignisdaten eine Ereignisdatei 108 erzeugt wird. Das Ereignistestgerät 110 produziert Testvektoren und wendet die Testvektoren auf den Siliziumprototypen 111 an. Auf diese Weise wird in einer Phase 112 zur Fehlerbehebung und Validierung der Entwurfsfehler ermittelt und in der Phase 106 werden die Entwurfsfehler festgehalten, die zur Entwurfsstufe zurückgegeben werden.
  • Bei der vorliegenden Erfindung, die in 7B gezeigt ist, beinhaltet ein Testsystem 115 eine Kombination aus einem Ereignistestgerät 120 und den FPGAs 124. Die Entwurfsdaten 102 werden verwendet, um die FPGAs zu programmieren, um die beabsichtigte integrierte Schaltung aufzubauen. Unter Verwendung der Prüfbank 103 werden Ereignisdaten 116 produziert und das Ereignistestgerät 120 erzeugt die Testvektoren, die von den Ereignisdaten 116 produziert werden. Da die FPGAs 124 die Funktionen der beabsichtigten integrierten Schaltung mit einer Geschwindigkeit ausführt, die nahe der der tatsächlichen integrierten Schaltung ist, kann beim Testverfahren der vorliegenden Erfindung mit dieser Geschwindigkeit ein Test mit Anwendungssoftware durchgeführt werden.
  • Wie es klar in der 7A und 7B gezeigt ist, beseitigt das neue Verfahren den Logiksimulator 105 aus dem Ablauf der Entwurfsvalidierung. Infolge der geringen Geschwindigkeit ist die Logiksimulation ein Flaschenhals bei der heutigen Entwurfsvalidierung; die Beseitigung der Simulation erlaubt eine sehr umfassende Validierung während dennoch weniger Zeit gebraucht wird. Das neue Verfahren erlaubt es, alle Entwurfsfehler auf dem Ereignistestgerät 120 zu beheben, ohne den ASIC-Prototypen zu erfordern. Die Prozedur ist extrem kosteneffektiv und schneller im Vergleich mit bestehenden Verfahren.
  • Wie vorher beschrieben wurde, wird anstelle der Verwendung der langsamen EDA-Simulationswerkzeuge vom Ereignistestgerät und der gestreckten Programmierung von FPGAs Gebrauch gemacht, um den Entwurf zu validieren. Weil keine Simulation auf dem Niveau eines vollständigen Chips verwendet wird und die Anwendungssoftware schneller auf der FPGA läuft (im Vergleich zur Simulation), kann eine umfassende Validierung vorgenommen werden, was mit der heutigen Technologie nicht möglich ist.
  • Wegen der Beseitigung der langsamen Simulation aus dem Ablauf der Entwurfsvalidierung kann eine umfassende Validierung des Entwurfs vorgenommen werden, bevor der Entwurf zur Herstellung freigegeben wird, und weil eine umfassende Validierung des Entwurfes möglich wird, wird die Notwendigkeit eines Prototyps vor der Massenproduktion beseitigt. Das Validierungsverfahren der vorliegenden Erfindung ist sehr effizient, weniger kostspielig und unterscheidet sich fundamental von jedem bisher beschriebenen System.
  • Obwohl hierin nur ein bevorzugtes Ausführungsbeispiel speziell veranschaulicht und beschrieben wurde, wird man einsehen, dass im Lichte der obigen Lehren und innerhalb des Geltungsbereichs der beigefügten Ansprüche viele Modifikationen und Variationen der vorliegenden Erfindung möglich sind, ohne von der Wesensart und dem beabsichtigten Umfang der Erfindung abzuweichen.
  • Zusammenfassung:
  • Verfahren und Gerät zur Validierung des Entwurfs von komplexen integrierten Schaltungen unter Verwendung einer Kombination eines Ereignistestgeräts und einer feldprogrammierbaren Gatteranordnung (FPGA) oder einer Emulatorplatine. Das Verfahren zur Entwurfsvalidierung beseitigt die Logiksimulation, die in der heutigen Entwurfsvalidierung einen Flaschenhals darstellt. Wegen der Beseitigung der langsamen Simulation aus dem Ablauf der Entwurfsvalidierung kann eine umfassende Validierung des Entwurfs vorgenommen werden, bevor der Entwurf zur Herstellung freigegeben wird, und weil eine umfassende Validierung des Entwurfes möglich wird, wird die Notwendigkeit eines Prototyps vor der Massenproduktion beseitigt.

Claims (15)

  1. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen (IC), bei dem ein Entwurfsprozess unter einer elektronischen Entwurfsautomationsumgebung (EDA-Umgebung) ausgeführt wird, das die folgenden Schritte umfasst: Verbinden von feldprogrammierbaren Gatteranordnungen (FPGA) mit einem Ereignistestgerät; gestreckte Programmierung der FPGA durch das Ereignistestgerät, auf der Grundlage der Entwurfsdaten, die unter der EDA-Umgebung erzeugt wurden, um ein Äquivalent einer integrierten Schaltung zu einer beabsichtigten integrierten Schaltung in der FPGA aufzubauen; Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der FPGA durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der FPGA; Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehlern durch Modifizieren der gestreckten Programmierung der FPGA; und Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.
  2. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 1 definiert wurde, das darüber hinaus einen Schritt des Empfangens der Entwurfsdaten und des Konvertierens _ der Entwurfsdaten für die gestreckte Progranmierung der FPGA beinhaltet.
  3. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 1 definiert wurde, wobei der Schritt der gestreckten Programmierung der FPGA durch das Ereignistestgerät einen Schritt der Übertragung von Programmierdaten an die FPGA durch einen Steuerbus des Ereignisgeräts beinhaltet.
  4. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 1 definiert wurde, wobei der Schritt des Anwendens der Testvektoren einen Schritt des Laufens einer Prüfbank, die unter der EDA-Umgebung erzeugt wurde, und von Anwendungssoftware, die für die beabsichtigte integrierte Schaltung gefertigt wurde, auf der FPGA durch das Ereignistestgerät beinhaltet.
  5. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 1 definiert wurde, wobei es darüber hinaus einen Schritt des Extrahierens von Ereignisdaten durch eine Prüfbank, die unter der EDA-Umgebung erzeugt wurde, beinhaltet.
  6. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 5 definiert wurde, wobei es darüber hinaus einen Schritt des Installierens der extrahierten Ereignisdaten im Ereignistestgerät und Erzeugen der Testvektoren auf der Grundlage der extrahierten Ereignisdaten beinhaltet, um die Testvektoren auf die FPGA über eine Prüfhalterung des Ereignistestgeräts anzuwenden.
  7. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen (IC), bei dem ein Entwurfsprozess unter einer elektronischen Entwurfsautomationsumgebung (EDA-Umgebung) ausgeführt wird, das die folgenden Schritte umfasst: Verbinden einer Emulatorplatine mit einem Ereignistestgerät; Zuführen von Entwurfsdaten einer beabsichtigten integrierten Schaltung an die Emulatorplatine, so dass die Emulatorplatine Funktionen der beabsichtigten integrierten Schaltung emuliert; Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der Emulatorplatine durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der Emulatorplatine; Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehlern durch Modifizieren der Entwurfsdaten, die der Emulatorplatine zugeführt wurden; und Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.
  8. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 7 definiert wurde, wobei es darüber hinaus einen Schritt des Empfangens der Entwurfsdaten und des Konvertierens der Entwurfsdaten für die Emulatorplatine beinhaltet.
  9. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 7 definiert wurde, wobei der Schritt des Anwendens der Testvektoren einen Schritt des Laufens einer Prüfbank, die unter der EDA-Umgebung erzeugt wurde, und von Anwendungssoftware, die für die beabsichtigte integrierte Schaltung gefertigt wurde, auf der Emulatorplatine durch das Ereignistestgerät beinhaltet.
  10. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 7 definiert wurde, wobei es darüber hinaus einen Schritt des Produzierens von Ereignisdaten durch eine Prüfbank, die unter der EDA-Umgebung erzeugt wurde, beinhaltet.
  11. Verfahren zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 10 definiert wurde, wobei es darüber hinaus einen Schritt des Installierens der extrahierten Ereignisdaten im Ereignistestgerät und Erzeugen der Testvektoren auf der Grundlage der Ereignisdaten beinhaltet, um die Testvektoren auf die Emulatorplatine über eine Prüfhalterung des Ereignistestgeräts anzuwenden.
  12. Gerät zum Validieren des Entwurfs von komplexen integrierten Schaltungen (IC), wobei ein Entwurfsprozess unter einer elektronischen Entwurfsautomationsumgebung (EDA-Umgebung) ausgeführt wird, das die folgenden Schritte umfasst: Mittel zum Verbinden von feldprogrammierbaren Gatteranordnungen (FPGA) mit einem Ereignistestgerät; Mittel zur gestreckten Programmierung der FPGA durch das Ereignistestgerät, auf der Grundlage der Entwurfsdaten, die unter der EDA-Umgebung erzeugt wurden, um ein Äquivalent einer integrierten Schaltung zu einer beabsichtigten integrierten Schaltung in der FPGA aufzubauen; Mittel zum Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der FPGA durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der FPGA; Mittel zum Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehlern durch Modifizieren der gestreckten Programmierung der FPGA; und Mittel zum Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.
  13. Gerät zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 12 definiert wurde, wobei das Mittel zum Anwenden von Testvektoren eine Prüfbank, die unter der EDA-Umgebung erzeugt wurde, und Anwendungssoftware, die für die beabsichtigte integrierte Schaltung gefertigt wurde, durch das Ereignistestgerät auf die FPGA anwendet.
  14. Gerät zum Validieren des Entwurfs von komplexen integrierten Schaltungen, (IC) wobei ein Entwurfsprozess unter einer elektronischen Entwurfsautomationsumgebung (EDA-Umgebung) ausgeführt wird, das die folgenden Schritte umfasst: Mittel zum Verbinden einer Emulatorplatine mit einem Ereignistestgerät; Mittel zum Zuführen von Entwurfsdaten einer beabsichtigten integrierten Schaltung an die Emulatorplatine, so dass die Emulatorplatine Funktionen der beabsichtigten integrierten Schaltung emuliert; Mittel zum Anwenden von Testvektoren, die von den Entwurfsdaten der integrierten Schaltung herrühren, an der Emulatorplatine durch das Ereignistestgerät und Evaluieren einer Antwortausgabe der Emulatorplatine; Mittel zum Ermitteln von Fehlern in der Antwortausgabe und Korrigieren von Entwurfsfehlern durch Modifizieren der Entwurfsdaten, die der Emulatorplatine zugeführt wurden; und Mittel zum Wiederholen des Schritts der Fehlerermittlung und der Entwurfskorrektur, bis im Ereignistestgerät fehlerfreie Entwurfsdaten erhalten werden.
  15. Gerät zur Validierung des Entwurfs von komplexen integrierten Schaltungen wie es in Anspruch 14 definiert wurde, wobei das Mittel zum Anwenden von Testvektoren eine Prüfbank, die unter der EDA-Umgebung erzeugt wurde, und Anwendungssoftware, die für die beabsichtigte integrierte Schaltung gefertigt wurde, durch das Ereignistestgerät auf die Emulatorplatine anwendet.
DE10296464T 2001-03-14 2002-03-13 Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen Withdrawn DE10296464T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27588301P 2001-03-14 2001-03-14
US60/275,883 2001-03-14
PCT/JP2002/002365 WO2002073474A1 (en) 2001-03-14 2002-03-13 Method and apparatus for design validation of complex ic without using logic simulation

Publications (1)

Publication Number Publication Date
DE10296464T5 true DE10296464T5 (de) 2004-04-15

Family

ID=23054222

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10296464T Withdrawn DE10296464T5 (de) 2001-03-14 2002-03-13 Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen

Country Status (7)

Country Link
US (1) US20020173942A1 (de)
JP (1) JP2004527036A (de)
KR (1) KR20040007463A (de)
CN (1) CN1496527A (de)
DE (1) DE10296464T5 (de)
TW (1) TW563043B (de)
WO (1) WO2002073474A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100350582C (zh) * 2002-12-09 2007-11-21 刘建光 观测可编程数字集成电路芯片内部所有信号的方法和系统
AU2003301126A1 (en) * 2002-12-17 2004-07-14 Cadence Design Systems, Inc. Method and system for implementing circuit simulators
CN100450041C (zh) * 2004-02-21 2009-01-07 华为技术有限公司 一种信息传输的方法和装置
CN100389425C (zh) * 2004-12-28 2008-05-21 北京六合万通微电子技术有限公司 实现数模混合型集成电路验证的方法及装置
US7562001B2 (en) * 2005-07-29 2009-07-14 International Business Machines Corporation Creating a behavioral model of a hardware device for use in a simulation environment
US7509605B2 (en) 2005-12-12 2009-03-24 International Business Machines Corporation Extending incremental verification of circuit design to encompass verification restraints
US7496820B1 (en) * 2006-03-07 2009-02-24 Xilinx, Inc. Method and apparatus for generating test vectors for an integrated circuit under test
KR100750184B1 (ko) * 2006-08-11 2007-08-17 삼성전자주식회사 반도체 집적 회로의 간접 시뮬레이션 방법 및 장치
KR100877193B1 (ko) 2006-12-12 2009-01-13 (주)프레이맥스 선형보간방법을 이용한 최적설계 방법
US8032848B2 (en) * 2009-01-29 2011-10-04 Synopsys, Inc. Performing abstraction-refinement using a lower-bound-distance to verify the functionality of a circuit design
CN102650678B (zh) * 2012-05-04 2014-07-23 惠州市蓝微电子有限公司 电量管理ic多通道校准校验的方法
CN104346272B (zh) * 2013-07-24 2018-04-10 无锡华润微电子有限公司 芯片自动仿真验证系统
US9689923B2 (en) 2013-08-03 2017-06-27 Kla-Tencor Corp. Adaptive electrical testing of wafers
DE102015108244A1 (de) * 2014-06-06 2015-12-10 Synopsys, Inc. Verfahren und system zum generieren eines schaltungsentwurfs, verfahren zum kalibrieren einer inspektionsvorrichtung, und verfahren zur prozesssteuerung und zum ertragsmanagement
CN104133185B (zh) * 2014-07-03 2017-09-22 惠州市蓝微电子有限公司 多节电量管理ic的多通道校准校验设备和方法
CN105447212A (zh) * 2014-08-25 2016-03-30 联发科技(新加坡)私人有限公司 产生集成电路的验证平台文件的方法与编译系统
CN104267290A (zh) * 2014-10-09 2015-01-07 惠州市蓝微电子有限公司 一种电量管理ic校准校验方法
CN104536807B (zh) * 2014-12-30 2018-05-18 武汉理工大学 基于fpga的dc/dc实时仿真器及方法
CN105259444A (zh) * 2015-11-02 2016-01-20 湖北航天技术研究院计量测试技术研究所 Fpga器件测试模型建立方法
CN112100954A (zh) * 2020-08-31 2020-12-18 北京百度网讯科技有限公司 验证芯片的方法、装置和计算机存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0651343B1 (de) * 1988-10-05 2004-04-28 Quickturn Design Systems, Inc. Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation

Also Published As

Publication number Publication date
WO2002073474A1 (en) 2002-09-19
JP2004527036A (ja) 2004-09-02
TW563043B (en) 2003-11-21
CN1496527A (zh) 2004-05-12
KR20040007463A (ko) 2004-01-24
US20020173942A1 (en) 2002-11-21

Similar Documents

Publication Publication Date Title
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
DE10147078A1 (de) Verfahren zur Gültigkeitsprüfung von Entwürfen für komplexe integrierte Schaltungen
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE10053207A1 (de) Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen
DE10031536A1 (de) Ereignisgestütztes Halbleiterprüfsystem
DE19950821A1 (de) Bewertungssystem für integrierte Halbleiterschaltungen
DE19700513C2 (de) Mit CAD-Daten verknüpftes Halbleiterprüfsystem
DE4420610A1 (de) Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen
DE19702600A1 (de) Elektrische Analyse integrierter Schaltungen
DE4211162C2 (de) Hardware-Emulationssystem
DE102004058753A1 (de) Verifizierung von Integrierte-Schaltung-Tests unter Verwendung einer Testsimulation und einer Integrierte-Schaltungs-Simulation mit einem simulierten Ausfall
DE69812990T2 (de) Verfahren zur erzeugung von isa simulatoren und assemblierern aus einer maschinenbeschreibung
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
EP0580663A1 (de) Verfahren zur verifikation datenverarbeitender systeme.
DE102017117322A1 (de) Verfahren zur Herstellung eines Halbleiterbauelementes mittels computergestütztem Entwurf von Testszenarien
DE112005002149T5 (de) Logisches Verifizierungsverfahren, logische Moduldaten, Vorrichtungsdaten und logische Verifizierungsvorrichtung
EP1296152A1 (de) Elektronischer Baustein und Verfahren zu dessen Qualifizierungsmessung
DE10325513B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation
DE60026178T2 (de) Modellierung und prüfung einer integrierten schaltung
DE102004037403B4 (de) Verfahren zur Bewertung der Güte eines Computerprogrammes
CH694927A5 (de) Verfahren und Vorrichtung zur Fehleranalyse digitaler Logikschatungen..
BE1029108B1 (de) System und verfahren zur prototypenverifikation für integrierten schaltkreis auf der grundlage von fpga

Legal Events

Date Code Title Description
8141 Disposal/no request for examination