DE10053207A1 - Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen - Google Patents

Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen

Info

Publication number
DE10053207A1
DE10053207A1 DE10053207A DE10053207A DE10053207A1 DE 10053207 A1 DE10053207 A1 DE 10053207A1 DE 10053207 A DE10053207 A DE 10053207A DE 10053207 A DE10053207 A DE 10053207A DE 10053207 A1 DE10053207 A1 DE 10053207A1
Authority
DE
Germany
Prior art keywords
verification
test
integrated
system chip
logic
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
DE10053207A
Other languages
English (en)
Inventor
Rochit Rajsuman
Hiroaki 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 DE10053207A1 publication Critical patent/DE10053207A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Durchführung einer Gültigkeitsprüfung bei Systemchip-Entwürfen (SoC-Entwürfen) mit großer Genauigkeit, hoher Geschwindigkeit und niedrigen Kosten. Die Vorrichtung ermöglicht die Durchführung des Verfahrens, das seinerseits die folgenden Verfahrensschritte umfaßt: Verifizieren einzelner, in einen Systemchip zu integrierender Bausteine unter Verwendung einer integrierten Siliziumschaltung jedes Bausteins und von einem Baustein-Zulieferer bereitgestellten Simulationsprüfbänken; Verifizieren von Schnittstellen zwischen den einzelnen Bausteinen, von chipinternen Bussen der Bausteine sowie der Verknüpfungslogik unter Verwendung von durch einen Systemchip-Entwicklungsingenieur entworfenen Simulationsprüfbänken und unter Einsatz eines anwenderprogrammierbaren Gate-Arrays (FPGA) bzw. unter Emulation der Verknüpfungslogik; Verifizieren der jeweiligen Zeitsteuerung von Baustein zu Baustein und der für die Zeitsteuerung auf Systemchip-Ebene kritischen Pfade; sowie Durchführung einer Gesamtentwurfs-Gültigkeitsprüfung unter Einsatz von Simulationsprüfbänken für den vollständigen Systemchip und unter Durchführung von Anwendungsdurchläufen.

Description

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Überprüfung der Fehlerlosigkeit von Entwürfen für auf der Verwendung einer Vielzahl von funktionsspezifischen Bausteinen basierenden integrier­ ten Systemchip-Schaltungen (SoC-Schaltungen) und dabei insbesondere ein Verfahren und eine Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen, wobei die Entwurfs-Gültigkeitsprüfung eine Bewertung im Hinblick auf eine geplante Funktion der einzelnen Bausteine, die Zeitsteuerung jedes Bausteins, die Schnittstellen zwi­ schen den Bausteinen und die Operation des gesamten Sy­ stems der integrierten Systemchip-Schaltungen ermög­ licht.
In den letzten fünf Jahren hat sich die Technologie bei kundenspezifischen integrierten Schaltungen (ASIC-Tech­ nologie) von einer "Chipset"-Philosophie zu einem auf der Verwendung von eingebetteten Bausteinen basierenden Systemchip-Konzept (SoC-Konzept) entwickelt. Zur Her­ stellung entsprechender Systemchips werden vorgefer­ tigte Modelle mit komplexen Funktionen, sogenannte "Bausteine" (die auch als geistiges Eigentum bzw. IP bezeichnet werden), eingesetzt, die eine Vielzahl un­ terschiedlicher Verwendungszecke erfüllen können. Der­ artige Bausteine sind üblicherweise entweder in Form von Beschreibungen in einer höheren Programmiersprache (HDL), wie etwa Verilog/HDL, (d. h. als "Softwarebaustein") oder in Form eines Layouts auf Transistorebene, wie etwa GDSII, (d. h. als "Hardwarebaustein") erhältlich. Ein Systemchip kann da­ bei für chipinterne Funktionen, beispielsweise für Mi­ kroprozessoren, Großspeicherarrays, Audio- und Video- Steuerelemente, Modems, Internet-Abstimmvorrichtungen, 2D- und 3D-Grafik-Steuerelemente, Signalprozessoren usw., eine Kombination aus Hard- und Softwarebausteinen enthalten.
Häufig werden diese Bausteine von Baustein-Zulieferfir­ men bezogen und zur Herstellung eines Systemchips in den Chip integriert. Wird der Baustein von außerhalb eines Unternehmens erworben, so stellt der Baustein-Zu­ lieferer zusammen mit der Simulationsprüfbank des Bau­ steins die zugehörige Entwurfs-Netzliste zur Verfügung. Es wäre daher wünschenswert, wenn man für einen in einen Systemchip integrierten Haustein die Baustein- Prüfbank direkt und ohne Modifikationen einsetzen könnte, um die Operation des Bausteins im Entwurf für die integrierte Systemchip-Schaltungen zu verifizieren.
Derzeit werden Entwürfe in Form von Datenblöcken bzw. Datenunterblöcken unter Verwendung einer höheren Pro­ grammiersprache, wie etwa Verilog/VHDL, beschrieben, wobei die Entwurfssimulation unter Einsatz von Veri­ log/VHDL-Simulatoren auf Verhaltens- bzw. Gatter-Ebene erfolgt. Die Simulationen dienen dabei zur Durchführung einer Funktionalitätsprüfung, ehe auf der Grundlage des Entwurfs eine integrierte Siliziumschaltung gefertigt wird. Bei der Systemchip-Entwicklung stellt die Ent­ wurfs-Gültigkeitsprüfung eine der wichtigsten und schwierigsten Aufgaben dar, da ohne eine vollständige funktionelle Verifizierung Entwurfsfehler weder ent­ deckt noch korrigiert werden können. Aufgrund der ge­ ringen Simulationsgeschwindigkeit und des großen Um­ fangs der Systemchip-Entwurfsdaten handelt es sich bei der Entwurfs-Gültigkeitsprüfung auf Systemchip-Ebene um eine mit Hilfe der heute üblichen Hilfsmittel und Ver­ fahren kaum zu lösende Aufgabe.
Eine Verifizierung setzt einen Vergleich mit einer für einwandfrei befundenen Einheit voraus. Bei Systement­ würfen bedeutet dies einen Vergleich zwischen dem Ent­ wurf und seiner Spezifikation. Die Verifizierung dient dabei zur Sicherstellung, daß während der Systement­ wicklung eine korrekte Umsetzung von einer Abstrakti­ onsebene zu einer andern erfolgt. Ziel ist es, inner­ halb praktikabler Grenzen herauszufinden, ob das System nach seiner Realisierung bzw. Herstellung tatsächlich wie gewünscht arbeiten wird. Der Begriff Systemchip be­ zeichnet hierbei im übrigen ein einziges Hardware-Bau­ element mit einer Vielzahl darin eingebetteter Bau­ steine, weshalb die Entwurfs-Gültigkeitsprüfung bei ei­ nem Systemchip in der Verifizierung der Bausteine, der Verbindungen zwischen den Bausteinen sowie der Opera­ tion des kombinierten Systems besteht.
Derzeit werden gleichzeitig mit der Entwicklung von Sy­ stemchip-Spezifikationen Verhaltensmodelle erstellt, die die Erzeugung von Simulations-Prüfbänken für die Entwurfs-Gültigkeitsprüfung bzw. die Verifizierung der Systemoperationen ermöglichen. Die Verifizierung auf System-Ebene wird dabei entsprechend der Entwurfs-Hier­ archie durchgeführt, wobei zuerst die Datenblöcke auf der Knoten-Ebene, d. h. normalerweise auf der Baustein- Ebene, jeweils einzeln einer Fehlerprüfung unterzogen werden. Daraufhin wird an den Schnittstellen zwischen diesen Bausteinen eine Fehlersuche im Hinblick auf Da­ tenübertragungstypen und Dateninhalte durchgeführt. Der nächste Schritt besteht darin, eine Anwendersoftware oder äquivalente Prüfbänke am vollständig montierten Chip einzusetzen. Hierzu bedarf es einer Hard­ ware/Software-Co-Verifizierung (siehe M. Keating und P. Bricaud, "Reuse methodology manual", Kluwer Academic Press, 1998; J. Stcunstrub und W. Wolf, "Hardwaresoft­ ware co-design", Kluwer Academic Press, 1997). Eine Hardeware-Software-Co-Simulation ist nötig, weil sich eine Software nur mit Hilfe einer Ablaufzeit-Durchfüh­ rung der Software-Codes verifizieren läßt. Häufig wer­ den zur Verifizierung der Operation des gesamten Sy­ stems auch Hardware-Prototypen entweder in Form von an­ wenderspezifischen integrierten Schaltungen (ASICs) oder anwenderprogrammierbaren Gate-Arrays (FPGAs) ent­ wickelt und eingesetzt.
Im folgenden wird nun zunächst auf die funktionelle Ve­ rifizierung näher eingegangen.
Fig. 1 lassen sich verschiedene Abstraktionsebenen des Bausteinentwurfes sowie die derzeit für die einzelnen Ebenen jeweils eingesetzte Verifizierungsmethodik ent­ nehmen. Dabei sind in Fig. 1 - bei einer Aufzählung von der höchsten zur niedrigsten Abstraktionsebene - eine Verhaltens-HDL-Ebene 21, eine Registerübertragungsebene (RTL-Ebene) 23, eine Gatterebene 25 und eine Ebene für den physikalischen Entwurf 27 dargestellt. Die diesen unterschiedlichen Abstraktionsebenen entsprechenden Ve­ rifizierungsverfahren sind im Block 28 in Fig. 1 aufge­ listet. Zu den Grundtypen der Verifizierungsprüfungen lassen sich hierbei die folgenden Prüfungen zählen:
  • 1. die Übereinstimmungsprüfung, bei der die Überein­ stimmung mit der Entwurfsspezifikation überprüft wird;
  • 2. die Grenzprüfung, bei der komplexe Szenarien sowie Grenzfälle überprüft werden, wie sie beispielsweise bei Minimal- bzw. Maximalbedingungen für die Span­ nung, die Temperatur bzw. bei der Verarbeitung auf­ treten;
  • 3. die Zufallsprüfung, die kein klar definiertes Ziel hat und bei der sich ausgesprochen ungewöhnliche Fehler entdecken lassen;
  • 4. die Real-Code-Prüfung, bei der ein tatsächliches An­ wendungsprogramm am Entwurf abläuft, wobei sich auf­ tretende Funktionalitätsstörungen korrigieren las­ sen; und
  • 5. die Regressionsprüfung, die in der Durchführung ei­ ner bestimmten Auswahl von Prüfungen nach jeder Ent­ wurfsmodifikation besteht, wobei üblicherweise für jeden korrigierten Fehler ein neuer Prüf-Fall mit zusätzlichen Prüfbedingungen hinzukommt.
Die Entwicklung einer Prüfbank hängt von der Funktion des Bausteins und des geplanten Systemchips ab. So führt beispielsweise eine Prüfbank für eine Zentralein­ heit Prüfprogramme durch, die auf dem Befehlsvorrat der Zentraleinheit basieren, während bei einer Prüfbank für einen Schnittstellenbaustein für das Bus-Steuerelement, beispielsweise für einen PCI-Baustein, Busfunktionsmo­ delle und Busüberwachungseinheiten zur Prüfimpulszufüh­ rung und zur Überprüfung der Simulationsergebnis-Aus­ gangssignale Verwendung finden. Dieser Ansatz ist je­ doch insoweit problematisch, als Verhaltens-Prüfbänke äußerst langsam sind.
Nach der Erzeugung der Prüf-Fälle (in Form von Prüfim­ pulsen oder Prüfmustern) muß überprüft werden, ob die Antwort-Ausgangssignale korrekt sind. Derzeit erfolgt dies manuell durch Betrachtung der Ausgangssignalwel­ lenform, wobei diese manuelle Vorgehensweise jedoch bei Veränderungen am Entwurf nicht mehr möglich ist. Eine weitere Art der Antwort-Ausgangssignal-Verifizierung besteht darin, eine tatsächliche Anwendungssoftware ab­ laufen zu lassen, wobei es sich im wesentlichen um eine Hardware-/Software-Co-Simulation handelt. Dieser Ansatz ist bei den derzeit zur Verfügung stehenden Rechnerka­ pazitäten allerdings nur wenig effizient. Außerdem bil­ den bei einer solchen Prüfbank die tatsächlichen Daten­ übertragungsvorgänge zwischen der Anwendungssoftware und dem Baustein nur einen kleinen Bruchteil des ge­ samten simulierten Zyklus, so daß die Funktionalität auch nur in geringem Umfang verifiziert werden kann.
Im folgenden wird nun näher auf die Schnittstellen-Ve­ rifizierung eingegangen.
Bei einem Systemchip-Entwurf ist es nötig, die Schnitt­ stellen zwischen den Bausteinen zu verifizieren. Übli­ cherweise besitzen die Schnittstellen einen regulären Aufbau mit Adressen und Daten, wobei sie die Bausteine entweder einzeln oder über einen chipinternen gemeinsa­ men Bus miteinander verbinden. Außerdem umfassen die Schnittstellen eine Art von Steuermechanismus und ver­ fügen über Steuersignale, beispielsweise in Form eines Anforderungs-/Bewilligungsprotokolls bzw. eines Bus- Steuerelements. Der reguläre Aufbau dieser Schnittstel­ len läßt sich durch die Übertragung einer begrenzten Anzahl von Daten- und Steuersignalsequenzen definieren.
Zur Schnittstellen-Verifizierung wird eine Liste aller an der jeweiligen Schnittstelle möglichen Übertragungen benötigt, was bedeutet, daß diese Aufgabe nicht lösbar ist, weil sich nicht alle denkbaren Prüf-Fälle erzeugen lassen, so daß man sich auf eine begrenzte Verifizie­ rung beschränkt. Nach Durchführung dieser begrenzten Verifizierung besteht die nächste Aufgabe darin, zu ve­ rifizieren, daß der Baustein für alle ihm möglicher­ weise zugeleiteten Datenwerte und Datensequenzen kor­ rekt arbeitet. Auch eine derartige Verifizierung ist unmöglich, da alle bei einer Übertragung möglicherweise vorkommenden unterschiedlichen Datenwerte viel zu um­ fangreich sind, was bedeutet, daß sich diese Verifizie­ rung derzeit nur äußerst unvollständig durchführen läßt.
Im folgenden wird die Zeitsteuerungs-Verifizierung nä­ her erläutert, die die funktionelle Verifizierung an Schwierigkeit sogar noch übertrifft. Heutzutage stellt die statische Zeitsteuerungsanalyse das hierbei am häu­ figsten eingesetzte Verfahren dar. Eine statische Zeit­ steuerungsanalyse wird an Netzlisten durchgeführt, die die Bausteine repräsentieren und mit Hilfe verschiede­ ner Technologie-Bibliotheken synthetisch generiert wur­ den. Die statische Zeitsteuerungsanalyse ist an sich wenig erfolgversprechend, da sich hier falsche Pfade nicht mit Sicherheit aussortieren lassen. Bei der Ent­ fernung von falschen Pfaden handelt es sich nämlich um einen manuellen Vorgang, der Fehlern unterworfen ist. Derartige Fehlertypen lassen sich zwar durch eine Simu­ lation auf Gatter-Ebene in annehmbarer Weise ermitteln, was jedoch keine wirkliche Lösung darstellt, weil es einen übermäßigen Zeitaufwand erfordern würde, für alle Zeitsteuerungspfade auf der Gatter-Ebene Prüfimpulse zu entwickeln und alle Pfade zu simulieren. Zudem werden bei Simulationen auf der Gatter-Ebene keine Worst-Case- Szenarien durchgespielt, weil diese zu komplex und zu zahlreich sind, als daß sie von einem Entwicklungsinge­ nieur vollständig identifiziert werden könnten.
Nachfolgend wird die Gültigkeitsprüfung des gesamten Systemchip-Entwurfs näher erläutert.
Das Hauptziel der Gültigkeitsprüfung von Systemchip- Entwürfen besteht darin, das gesamte System so zu veri­ fizieren, wie es auch vom Endnutzer eingesetzt würde. Hierzu werden voll funktionsfähige Modelle aller Bau­ steine (d. h. Hardware-Modelle) und annehmbare Mengen realer System-Anwendungsdaten benötigt. Bei einem neu entwickelten System kann es allerdings vorkommen, daß derartige Anwendungsdaten noch gar nicht vorliegen. Das Hauptproblem liegt hier im übrigen in der Simulations­ geschwindigkeit. So benötigt eine Zentralverarbeitungs­ einheit beispielsweise selbst auf der RTL-Ebene (Registerübertragungsebene) zum Laden eines Operations­ systems mehrere Stunden. Zur Erhöhung der Simulations­ geschwindigkeit werden zwei Verfahren eingesetzt, wobei a) zum einen zum schnelleren Ablauf der Simulation eine höhere Abstraktionsebene gewählt und b) zum anderen ein Hardware-Prototyp bzw. eine Hardware-Emulation einge­ setzt wird.
Als Modelle auf einer höheren Abstraktionsebene werden dabei für die funktionsspezifischen Bausteine RTL-Mo­ delle verwendet, wobei für Speicher- und Prozessorbau­ steine Verhaltensmodelle oder ISA-Modelle (Befehlssatzstruktur-Modelle) Verwendung finden, wäh­ rend Busfunktionsmodelle und Überwachungseinheiten ein­ gesetzt werden, um die Übertragung zu den Datenübertra­ gungsblöcken durchzuführen und zu überwachen. Dabei wird ein Anwendungs-Code für einen beispielsweise als Datenträger-Zentraleinheit dienenden Systemchip erzeugt und dieser Anwendungscode wird am Chip in der Simulati­ onsumgebung eingesetzt. Bei der Durchführung einer Softwareanwendung sind die Möglichkeiten allerdings sehr begrenzt, d. h. hier kann nur überprüft werden, ob die Siliziumschaltungen funktionieren oder völlig inak­ tiv sind, und es lassen sich grundlegende Fehler be­ stimmen. Derzeit werden Fehler dabei entweder manuell mit Hilfe von Bus-Überwachungseinheiten oder durch Ein­ heiten für die Überprüfung und Überwachung der Abläufe an den Datenübertragungs-Schnittstellen ermittelt. Al­ lerdings ist die Simulationsgeschwindigkeit mit ca. 10 Zyklen pro Sekunde äußerst gering, was für die Durch­ führung einer ausreichend umfangreichen Anwendung zu langsam ist.
Werden Hardware und Software gleichzeitig simuliert, so spricht man von einer Co-Simulation. Dabei ist es mög­ lich, für die Hardware C-Sprachen-Funktionsmodelle zu verwenden und das gesamte System wie ein einziges C- Sprachen-Programm ablaufen zu lassen. Da hier aller­ dings nicht auf einer Realisierungsebene vorgegangen wird, handelt es sich auch nicht um eine Entwurfs-Gül­ tigkeitsprüfung, sondern vielmehr um eine Verhaltens- Verifizierung bzw. um eine Durchführbarkeitsstudie. Für die Gültigkeitsprüfung des gesamten Systems wird viel­ mehr eine HDL- bzw. RTL-Beschreibung benötigt, weil diese die Realisierung der Hardware-Bauteile wieder­ gibt. Somit muß für eine Co-Simulation eine Übertragung zwischen einem oder mehreren HDL-Simulatoren und den C/C++-Programmen erfolgen (wofür ein Compilerprogramm, ein Ladeprogramm, ein Programmverbinder und andere Teile des Rechneroperationssystems benötigt werden). Dies bedeutet wiederum, daß bei einer Co-Simulation durch die nötige Datenübertragung zwischen verschie­ denen Simulatoren zusätzliche Probleme auftreten.
Im folgenden wird die Hardeware-Prototyp-Erzeugung nä­ her behandelt.
Entwicklungsingenieure sind immer bestrebt, eine Sili­ ziumschaltung zu entwickeln, die bereits in ihrer er­ sten Ausführung voll funktionsfähig ist, wobei aller­ dings mehr als 50% der Entwürfe versagen, wenn sie zum erstenmal in das System integriert werden, was auf eine fehlende Verifizierung auf der System-Ebene bzw. eine mangelnde Entwurfs-Gültigkeitsprüfung auf der System­ chip-Ebene zurückzuführen ist. Um bereits beim ersten Versuch mit Sicherheit einen Erfolg zu erzielen, müßte man eine ständig steigende Anzahl von tatsächlichen An­ wendungsabläufen simulieren. Da der Zeitaufwand für die Simulation dabei allerdings unverhältnismäßig groß wird, besteht die derzeit einzig praktikable Lösung im Einsatz von Silizium-Prototypen, was allerdings mit er­ heblichen Kosten verbunden ist. Die dabei eingesetzten Techniken beinhalten den Einsatz von anwenderprogram­ mierbaren Gate-Arrays (FPGAs) bzw. laserprogrammierba­ ren Gate-Arrays (LPGAs) sowie die Durchführung von Emu­ lationen.
Eine Herstellung von FPGA- bzw. LPGA-Prototypen bietet sich bei weniger umfangreichen Entwürfen an. FPGA- und LPGA-Prototypen verfügen nämlich nicht über die Gatter­ zahl-Kapazitäten und die Geschwindigkeit von anwender­ spezifischen integrierten Schaltungen, so daß sie zwar für kleinere Datenblöcke bzw. Bausteine ausreichend sind, sich jedoch für einen vollständigen Systemchip nicht eignen. Allerdings lassen sich mehrere FPGAs auf einer Leiterplatte miteinander verbinden und so zur Herstellung eines Prototypen des vollständigen System­ chips einsetzen. Wenn hier nun zur Fehlerkorrektur eine veränderte Aufteilung des Systemchips erforderlich ist, so verändert man die jeweiligen Verbindungen zwischen den FPGAs, wozu jeweils eine neue Leiterplatte benötigt wird, was die Modifikationen teuer und äußerst zeitauf­ wendig macht.
Bei umfangreichen Chips stellt die Emulationstechnolo­ gie eine Alternative gegenüber der Kombination von FPGAs dar, da sie dauerhaft einsetzbare Leiterplat­ tenentwürfe mit programmierbaren Verbindungen sowie eine relativ große Anzahl von Gattern und eine spe­ zielle Speicher- und Prozessorausstattung bietet. Eine Emulation läßt sich mit größerer Geschwindigkeit durch­ führen, als eine Simulation, sofern die eigentliche Emulationseinheit den gesamten Entwurf laden kann. Al­ lerdings ist die Durchführungsgeschwindigkeit bei der Emulation im Vergleich zur tatsächlichen Siliziumaus­ führung noch immer relativ niedrig. Zudem verschlech­ tert sich die Emulationsleistung weiter, wenn ein be­ deutender Teil der Chip- oder Prüfbankdaten im Haupt­ rechner geladen wird. Ein weiterer Nachteil dieses Ver­ fahrens liegt in seinen hohen Kosten, die bei allen derzeit im Handel erhältlichen Emulationssystemen über US $ 1 Million betragen.
Ist der Entwurf zu umfangreich (d. h. umfaßt er mehrere Millionen Transistoren) so besteht das derzeit einzig anwendbare Verfahren in der tatsächlichen Herstellung eines Silizium-Prototypen und der Fehlerkorrektur im fertigen System. Dabei läßt sich für eine Anzahl von Fehlern derselbe Silizium-Prototyp einsetzen, ohne daß gleich eine neue Serie von Silizium-Prototypen verwen­ det werden müßte. Für den vollständigen Ablauf werden allerdings zwei bis drei Silizium-Prototyp-Serien (Fabrikationszyklen) benötigt, wobei jede Serie die Ge­ samtkosten der Produktentwicklung erheblich erhöht.
Wie sich den obigen Erläuterungen entnehmen läßt, ist die Prüfung und Bewertung von Systemchip-Entwürfen ge­ mäß der heute zur Verfügung stehenden Technologie im Hinblick auf die zu erzielende Leistung und Geschwin­ digkeit sowie die anfallenden Kosten nicht effektiv. Somit besteht in der Halbleiterindustrie ein Bedarf nach einem neuartigen Verfahren und einer neuartigen Vorrichtung, die es ermöglichen, an Systemchip-Entwür­ fen eine umfassende Gültigkeitsprüfung mit hoher Ge­ schwindigkeit und zu geringen Kosten durchzuführen.
Der vorliegenden Erfindung liegt daher die Aufgabe zu­ grunde, ein Verfahren und eine Vorrichtung zur Gültig­ keitsprüfung bei Systemchip-Entwürfen zu beschreiben, die die Durchführung einer umfassenden Gültigkeitsprü­ fung für jeden funktionsspezifischen Baustein eines Sy­ stemchipentwurfs, für die Verbindungen zwischen den Bausteinen und für die Leistung des gesamten Systems ermöglichen.
Darüber hinaus liegt dieser Erfindung auch die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zur Gül­ tigkeitsprüfung von Systemchip-Entwürfen zu beschrie­ ben, die eine Durchführung einer umfassenden Gültig­ keitsprüfung bei Systemchipentwürfen mit hoher Ge­ schwindigkeit und zu niedrigen Kosten ermöglichen.
Weiterhin ist es. Aufgabe der vorliegenden Erfindung, einen Arbeitsplatz für die Entwurfsgültigkeitsprüfung zu beschreiben, an dem zur Verifizierung der Funktions­ fähigkeit des vollständigen Systemchips eine Gültig­ keitsprüfung des Systemchipentwurfs durchgeführt wird.
Schließlich liegt der vorliegenden Erfindung auch die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zu beschreiben, die einem Benutzer eine Fehlerkorrektur an den Bausteinen des Systemchips auf weitaus einfachere Weise ermöglicht, als dies bei den derzeit erhältlichen Systemen der Fall ist.
Die vorliegende Erfindung betrifft ein neuartiges Ver­ fahren und eine neuartige Vorrichtung zur Entwurfsgül­ tigkeitsprüfung bzw. zur umfassenden funktionellen Ve­ rifizierung, welche die Probleme lösen, die derzeit bei der Entwurfsgültigkeitsprüfung von auf der Verwendung von eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen auftreten. Der Begriff Arbeits­ platz für die Entwurfsgültigkeitsprüfung wurde gewählt, weil dieser Arbeitsplatz zur Verifizierung der Funkti­ onsfähigkeit des vollständigen Systemchips dient. Der Aufbau des erfindungsgemäßen Systems ist sehr effizient und dabei kostengünstiger als der aller bisher bekann­ ten Systeme, von denen er sich im übrigen grundlegend unterscheidet.
Ein Aspekt der vorliegenden Erfindung betrifft ein Ver­ fahren zur Gültigkeitsprüfung bei Entwürfen für auf der Verwendung eingebetteter Bausteine basierende System­ chips (SoCs), in die eine Vielzahl von funktionsspezi­ fischen Bausteinen integriert ist. Das Verfahren ent­ hält dabei die folgenden Verfahrensschritte: Verifizie­ rung einzelner in einen Systemchip zu integrierender Bausteine unter Verwendung einer integrierten Silizium­ schaltung jedes Bausteins und von durch einen Baustein­ zulieferer bereitgestellten Simulationsprüfbänken; Ve­ rifizierung von Schnittstellen zwischen den einzelnen Bausteinen, von chipinternen Bussen für die Bausteine und der Verknüpfungslogik unter Verwendung von durch einen Systemchip-Entwicklungsingenieur entworfenen Si­ mulationsprüfbänken und unter Einsatz eines anwender­ programmierbaren Gate-Arrays (FPGA) bzw. Durchführung einer Emulation der Verknüpfungslogik; Verifizierung der Zeitsteuerung von Baustein zu Baustein und der kri­ tischen Pfade für die Zeitsteuerung auf Systemchip- Ebene; sowie Durchführung einer Gesamtentwurfsüberprü­ fung unter Einsatz von Simulationsprüfbänken eines vollständigen Systemchips und unter Durchführung von Anwendungsdurchläufen.
Ein weiterer Aspekt der vorliegenden Erfindung betrifft eine Vorrichtung zur Gültigkeitsprüfung bei Systemchip- Entwürfen, wobei diese Vorrichtung die folgenden Be­ standteile enthält: einen Systemhauptrechner, der als Benutzerschnittstelle und zur Steuerung der Gesamtope­ ration einer Vorrichtung zur Entwurfsgültigkeitsprüfung dient; eine Vielzahl von Verifizierungseinheiten, die Prüfbankdaten vom Systemhauptrechner empfangen und un­ ter Verwendung dieser Prüfbankdaten Prüfmuster zum Prü­ fen einer Vielzahl von in einen Systemchip zu integrie­ renden funktionsspezifischen Bausteinen erzeugen; und einen Systembus, der als Schnittstelle den Systemhaupt­ rechner mit der Vielzahl von Verifizierungseinheiten verbindet. In der erfindungsgemäßen Vorrichtung sind die Verifizierungseinheiten mit einer Vielzahl von in­ tegrierten Siliziumschaltungen verbunden, die von den Verifizierungseinheiten das Prüfmuster empfangen und Antwortausgangssignale erzeugen, welche wiederum durch die Verifizierungseinheiten und den Systemhauptrechner bewertet werden, wobei die integrierten Siliziumschal­ tungen in ihrem inneren Aufbau und ihrer Funktion den in den Systemchip zu integrierenden funktionsspezifi­ schen Bausteinen identisch sind.
Im folgenden wird die vorliegende Erfindung unter Be­ zugnahme auf die beigefügte Zeichnung näher erläutert. In der Zeichnung zeigen
Fig. 1 ein Diagramm zur Darstellung von Abstrak­ tions-Ebenen und zugehörigen Verifizie­ rungsmethoden für die Entwürfe von funk­ tionsspezifischen Bausteinen bzw. für die Verifizierung dieser Entwürfe;
Fig. 2 ein Flußdiagramm eines Gesamtkonzepts und eines Verfahrens zur Gültigkeitsprüfung bei einem Entwurf für eine integrierte Systemchip-Schaltung (SoC-Schaltung) ge­ mäß der vorliegenden Erfindung;
Fig. 3 ein schematisches Blockschaltbild eines Gesamtkonzepts der Entwurfsgültigkeits­ prüfung gemäß der vorliegenden Erfindung, wobei auch die Beziehung zwischen einer Umgebung zur elektronischen Entwurfsauto­ matisierung (EDA-Umgebung) und einem er­ findungsgemäßen Arbeitsplatz zur Ent­ wurfsgültigkeitsprüfung dargestellt ist;
Fig. 4A ein Blockschaltbild zur Darstellung eines Beispiels für einen in der EDA-Umgebung gemäß Fig. 3 entworfenen Systemchip;
Fig. 4B ein Blockschaltbild eines Beispiels für den grundlegenden Aufbau des Arbeitsplat­ zes für die Entwurfsgültigkeitsprüfung gemäß Fig. 3;
Fig. 5 ein Blockschaltbild eines detaillierteren Beispiels für den Aufbau des erfindungs­ gemäßen Arbeitsplatzes für die Entwurfs­ gültigkeitsprüfung, wobei eine Vielzahl von Verifizierungseinheiten (VU) vorgese­ hen ist;
Fig. 6 ein Blockschaltbild eines Beispiels für den Aufbau einer durch ein Ereignisprüf­ gerät gebildeten Verifizierungseinheit (VU) gemäß Fig. 5;
Fig. 7 ein Blockschaltbild eines Beispiels für den Aufbau der Verifizierungseinheit zur Bewertung der Verknüpfungslogik des Sy­ stemchip-Prüflings;
Figur B ein Blockschaltbild eines weiteren Bei­ spiels für den Aufbau der Gültigkeitsprü­ fungseinheit zur Bewertung der Verknüp­ fungslogik des Systemchip-Prüflings;
Fig. 9 ein Blockschaltbild eines weiteren Bei­ spiels für den erfindungsgemäßen Arbeits­ platz für die Entwurfsgültigkeitsprüfung, in dem Anwendungsprogramme in höheren Programmiersprachen zum Einsatz kommen;
Fig. 10 ein Blockschaltbild eines weiteren Bei­ spiels für den erfindungsgemäßen Arbeits­ platz für die Entwurfsgültigkeitsprüfung unter Darstellung der strukturellen Be­ ziehung zu einem Performance-Board für die Halterung der zu prüfenden funktions­ spezifischen Bausteine; und
Fig. 11 ein Blockschaltbild eines weiteren Bei­ spiels für den erfindungsgemäßen Arbeits­ platz für die Entwurfsgültigkeitsprüfung mit einer Vielzahl von direkt durch den Systemhauptrechner gesteuerten Verifizie­ rungseinheiten (VU).
Im folgenden wird das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung näher beschrieben. Fig. 2 zeigt ein Flußdiagramm für das erfindungsgemäße Verfah­ ren zur Gültigkeitsprüfung bei Systemchip-Entwürfen. Das Prüfungsverfahren basiert auf einem systematischen Verfahrensablauf, der die folgenden vier Schritte um­ faßt: Verifizierung der einzelnen Bausteine, Verifizie­ rung der Verbindungen zwischen den Bausteinen mit Hin­ blick auf einen systeminternen Bus und die Verknüp­ fungslogik, Verifizierung der Zeitsteuerung sowie schließlich Verifizierung der Leistung des gesamten zum Systemchip gehörenden Systems.
Im einzelnen werden im Schritt S31 des Gültigkeitsprüf­ verfahrens zuerst die einzelnen Bausteine verifiziert, wobei integrierte Siliziumschaltungen und Prüfbänke für die Bausteinfunktionen zum Einsatz kommen. Daraufhin geht man zum zweiten Schritt S32 über, in dem die Ver­ bindung zwischen den Bausteinen, einschließlich der Funktionsfähigkeit des systeminternen Busses und der Verknüpfungslogik unter Verwendung eines anwenderpro­ grammierbaren Gate-Arrays bzw. einer Emulationseinheit für die Verknüpfungslogik überprüft werden. Im nächsten Schritt S33 des Gültigkeitsprüfungsverfahrens wird die jeweilige Zeitsteuerung in den Bausteinen unter Einsatz von Simulationsprüfbänken für die Datenübertragung von Baustein zu Baustein sowie für die kritischen Pfade auf Systemchip-Ebene verifiziert. Im letzten Schritt S34 wird schließlich der gesamte Systemchipentwurf über­ prüft, wobei Simulations-Prüfbänke für die Gesamtfunk­ tionen zum Einsatz kommen und tatsächliche Anwendungen ausgeführt werden.
Das erfindungsgemäße Verfahren wird mit Hilfe der in Fig. 3 gezeigten Vorrichtung durchgeführt, wobei sich dieser Zeichnungsfigur das Gesamtkonzept des neuartigen Prüfsystems sowie die Beziehung dieses Systems zu einer Umgebung zur elektronischen Entwurfsautomatisierung (EDA-Umgebung) entnehmen läßt. In der oberen linken Ecke von Fig. 3 ist eine EDA-Umgebung dargestellt, in der Halbleiterbauteile, wie etwa ein Systemchip 43 mit Hilfe von CAD-Anlagen (Anlagen für die rechnergestützte Entwurfsentwicklung) erzeugt werden. In der rechten un­ teren Ecke der Fig. 3 ist ein erfindungsgemäßer Arbeits­ platz 50 für die Entwurfsgültigkeitsprüfung gezeigt. Der Arbeitsplatz 50 führt an Systemchip-Entwürfen eine Gültigkeitsprüfung auf der Grundlage von in der Ent­ wicklungsumgebung des zu prüfenden Systemchips 43 er­ zeugten Prüf- und Entwurfsdaten sowie von tatsächlich hergestellten integrierten Silizium-Schaltungen durch, die in den Systemchip zu integrierende Bausteine wie­ dergeben.
Bei diesem Beispiel enthält der Systemchip 43 funkti­ onsspezifische Bausteine A, B und C, die in Fig. 4 de­ taillierter dargestellt sind. Bei der Erstellung eines Entwurfs für den Systemchip 43 in der EDA-Umgebung 41 erhält man eine Entwurfsdatei 45 und eine Prüfdatei 53. In verschiedenen Umwandlungsprozessen werden die Ent­ wurfsdaten 45 in Daten auf physikalischer Ebene umge­ wandelt, die alle die entworfene integrierte Halblei­ terschaltung bildenden Gatter angeben. Auf der Grund­ lage dieser Daten auf physikalischer Ebene wird nun ein Systemchip 49 in einem Herstellungsverfahren für inte­ grierte Halbleiterschaltungen (Siliziumverfahren) tatsächlich erzeugt. Gemäß der vorliegenden Erfindung wird nun allerdings nicht der komplette Systemchip di­ rekt geprüft, sondern es werden vielmehr einzelne inte­ grierte Schaltungen, die den einzelnen Bausteinen des Systemchips 43, beispielsweise den Bausteinen A, B und C, entsprechen, im Arbeitsplatz 50 für die Entwurfsgül­ tigkeitsprüfung verwendet.
Hierfür wird unter Einsatz der Prüfbank 54 eine Logik­ simulation unter Verwendung der in der Entwurfsphase des Systemchips gewonnenen Prüfdaten 53 durchgeführt und dabei eine Datei 55 erzeugt, bei der es sich bei­ spielsweise um eine Verilog/VCD-Datei handelt und die die Eingabe-Ausgabe-Beziehungen einzelner Bausteine und/oder des gesamten den Systemchip bildenden Systems wiedergibt. Bei den Daten der VCD-Datei 55 handelt es sich im übrigen um ereignisgestützte Daten, worauf spä­ ter noch näher eingegangen wird. Die Daten der VCD-Da­ tei 55 werden nun in Ereignisdateien 58 im Arbeitsplatz 50 für die Entwurfsgültigkeitsprüfung übertragen. Der Arbeitsplatz 50 umfaßt zur Durchführung der Prüfung ge­ mäß dem oben unter Bezugnahme auf Fig. 2 erwähnten Ver­ fahren eine Vielzahl von Ereignisprüfgeräten 59 (bzw. Überprüfungseinheiten 66 gemäß Fig. 4B).
Ein Beispiel für den grundlegenden Aufbau des zur Soft­ ware/Hardware-Co-Entwicklung bzw. -Co-Simulation ver­ wendeten Arbeitsplatzes 50 für die Entwurfsgültigkeits­ prüfung läßt sich dem Schemadiagramm gemäß Fig. 4B ent­ nehmen. Der Arbeitsplatz 50 enthält eine Vielzahl von Verifizierungseinheiten (VUs) 66 1 bis 66 N, die sich entsprechend den Pins der Bauelementprüflinge rekonfi­ gurieren lassen. Die Verifizierungseinheiten 66 1 bis 66 N sind jeweils integrierten Siliziumschaltungen 68 1 bis 68 N zugeordnet, die in ihrer Funktion und ihrem Schaltungsaufbau jeweils Bausteinen A bis N entspre­ chen, welche in den zu bewertenden Systemchip inte­ griert werden sollen.
Ein Systemhauptrechner 62 steuert alle zur Gültigkeits­ prüfung gehörenden Operationen. Der Systemhauptrechner 62 und die Verifizierungseinheiten 66 1 bis 66 N sind durch einen Systembus 64 miteinander verbunden. Vor Be­ ginn der Gültigkeitsprüfung werden dem Systemhauptrech­ ner 62 die während der Entwurfsphase der einzelnen Bau­ steine A bis N gewonnenen Entwurfsdaten 61 und die Prüfbankdaten 63 zugeführt.
Weitere Einzelheiten des Arbeitsplatzes 50 für die Ent­ wurfsgültigkeitsprüfung lassen sich Fig. 5 entnehmen, wobei in dieser Darstellung der Arbeitsplatz zum besse­ ren Verständnis durch mehrere Arbeitsplätze DVS1 bis DVS6 gebildet wird. Das gezeigte Beispiel betrifft einen Fall, bei dem die Gültigkeit eines Entwurfs für einen Bausteine A bis E sowie eine Verknüpfungslogik umfassenden Systemchip bewertet wird. Bei diesem Bei­ spiel ist der Arbeitsplatz DVS1 zum Prüfen eines "Bus- Hauptbausteins" (Baustein A) und der Arbeitsplatz DVS2 zum Prüfen eines "Prozessorbausteins" (Baustein B) aus­ gelegt, während die Arbeitsplätze DVS3 und DVS4 zum Prüfen von "funktionsspezifischen Bausteinen" (Bausteine C und D) dienen und der Arbeitsplatz DVS5 die Überprüfung eines "Speicherbausteins" (Baustein E) vornimmt. In entsprechender Weise ist der Arbeitsplatz DVS6 so gestaltet, daß er eine Prüfung der "Verknüpfungslogik" des Systemchips durchführen kann. Erfindungsgemäß liegen die genannten Bausteine A bis E zur Entwurfsgültigkeitsprüfung in Form der integrierten Siliziumschaltungen 68 1 bis 68 6 vor.
Wie sich den Fig. 4A und 5 entnehmen läßt, umfaßt das System einen auf der Verwendung eines Busses basieren­ den Aufbau. Bei dem Systembus 64 kann es sich um einen Bus nach Industriestandard, etwa einen VME-, VXI- oder PCI-Bus handeln, der eine Datenübertragung vom System­ hauptrechner 62 zu den Pins der Verifizierungseinheiten (VUs) 66 1 bis 66 5 ermöglicht. Die System-Pins lassen sich durch den Benutzer konfigurieren, d. h. ein Benut­ zer kann die Prüf-Pins der Verifizierungseinheiten (VUs) entsprechend den Eingängen und Ausgängen der in­ tegrierten Siliziumschaltungen 68 1 bis 68 5 der einzel­ nen Bausteine A bis E gruppieren. Die integrierten Si­ liziumschaltungen 68 1 bis 68 5 sind an einer Pin-Elek­ tronik und an Bauteil-Load-Boards 69 1 bis 69 5 gehaltert (wobei Pin-Elektronik und Load-Board zusammen im fol­ genden als "Pin-Elektronik" bezeichnet werden) und über einen Verbindungsbus 71 miteinander verbunden.
Wie sich Fig. 5 entnehmen läßt, enthält jede (einer Ve­ rifizierungseinheit zugeordnete) Pin-Gruppe zudem eine Steuerzentraleinheit CPU 67, die den Datenfluß, die Zu­ führung von Simulationsdaten zu den Siliziumbausteinen 68 1 bis 68 5, den Antwortvergleich, die zeitliche Orga­ nisation der verschiedenen Aufgaben für die einzelnen Datenblöcke bzw. Bausteine sowie die Überwachung des Status der einzelnen Bausteine und des Systemchips steuert. Die Steuerzentraleinheiten CPU 67 1 bis 67 6 sind miteinander und zudem durch den Systembus 64 mit dem Systemhauptrechner verbunden. Im Arbeitsplatz DVS6 für die Verknüpfungslogik sind eine Synchronisierein­ heit 75 und eine Bewertungseinheit 76 vorgesehen, die die Datenübertragung vom und zum Systemhauptrechner CPU 62 bzw. den Steuerzentraleinheiten CPU 67 1 bis 67 6 der Arbeitsplätze DVS1 bis DVS6 unterstützen.
Vor der Durchführung der Überprüfung installiert der Systemhauptrechner 62 die einzelnen Prüfbankdaten 78 und verteilt die Prüfbankdaten auf die Verifizierungs­ einheiten 66 1 bis 66 N. Der Systemhauptrechner CPU 62 führt die Gesamtsteuerung bei der Entwurfsgültigkeits­ prüfung durch, einschließlich der Steuerung der Benut­ zerschnittstelle, der Durchführung von Softwareanwen­ dungen an den Bausteinen zur Co-Verifizierung des Ent­ wurfs und der Steuerung der Aufgabenverteilung auf eine Vielzahl von Verifizierungseinheiten. In jedem Arbeits­ platz DVS setzt die Verifizierungseinheit (VU) 66 Prüf­ muster ein, die auf der Grundlage von Prüfbankdaten für die jeweils zugehörige integrierte Siliziumschaltungen 68 des entsprechenden Bausteins erzeugt wurden. Vor­ zugsweise werden die einzelnen Verifizierungseinheiten (VUs) 66 durch Ereignisprüfgeräte gebildet, worauf spä­ ter noch näher eingegangen wird.
Die Ereignisse (Prüfmuster) werden dem Bauteilprüfling (DUT) durch die Pin-Elektronik 69 zugeführt, wie sich dies Fig. 5 entnehmen läßt. Die Pin-Elektronik 69 ver­ bindet die Prüfpins physisch mit den ihnen zugeordneten Bauteilpins der jeweiligen integrierten Siliziumschal­ tung 68 (Bauteilprüfling DUT). Im wesentlichen umfaßt die Pin-Elektronik 69 eine Schnittstellenschaltung, die als Schnittstelle zwischen der Verifizierungseinheit (W) 66 und der zu prüfenden integrierten Silizium­ schaltung 68 dient. Die Schnittstellenschaltungen be­ stehen dabei beispielsweise jeweils aus einem oder meh­ reren (nicht dargestellten) Treibern und Komparatoren sowie einem Performance-Board. Der Treiber dient zur Zuführung des Prüfmusters zu einem Eingabepin des Bau­ teilprüflings, während der Komparator ein Antwortaus­ gangssignal des Bauteilprüflings mit einem SOLL-Wert vergleicht. Das Performance-Board dient zur mechani­ schen Verbindung mit dem Bauteilprüfling.
Im folgenden wird die Verifizierung einzelner Bausteine näher erläutert.
Gemäß der vorliegenden Erfindung werden zur Verifizie­ rung einzelner Bausteine A bis E die integrierten Sili­ ziumschaltungen 68 1 bis 68 5 der einzelnen Bausteine verwendet. Derartige integrierte Siliziumschaltungen 68 lassen sich üblicherweise sowohl vom Baustein-Zuliefe­ rer als auch vom zugehörigen Baustein-Hersteller bezie­ hen. Das gesamte System wird zunächst so rekonfigu­ riert, daß pro Baustein eine Verifizierungseinheit 66 vorgesehen ist, wie sich dies den Fig. 4A und 5 entneh­ men läßt. Zur Verifizierung werden die Prüfbänke ein­ zelner Bausteine zusammen mit Informationen über die Ein- und Ausgänge jedes Bausteins im Systemhauptrechner CPU 62 geladen.
Der Systemhauptrechner CPU 62 rekonfiguriert die Sy­ stem-Pins so, daß jeweils eine Verifizierungseinheit (VU) 66 pro Baustein vorgesehen ist und ordnet dieser eine Steuerzentraleinheit CPU 67 zu. Zur Verbesserung der Systemleistung kann bei diesem Konzept im übrigen auch eine Steuerzentraleinheit 67 pro Pin anstatt einer Steuerzentraleinheit 67 pro Verifizierungseinheit (VU) 66 vorgesehen werden. Eine derartige Ausgestaltung führt logischerweise zu einer direkten Verbesserung des in den Fig. 4A und 5 dargestellten Systems, so daß hier nicht näher darauf eingegangen werden muß.
In Abhängigkeit von den Ein- und Ausgängen des Baust­ eins kann eine Verifizierungseinheit 66 zwischen 64 und 256 Pins umfassen, wobei sich die Pin-Zahl jeweils durch 2N wiedergeben läßt. Bei diesen Pins handelt es sich üblicherweise um Kanäle eines ereignisgestützten Prüfgeräts, welche eine Treiber- bzw. Komparator-Opera­ tion ermöglichen. Das in den Fig. 4B und 5 gezeigte Sy­ stem erlaubt die genannte Rekonfiguration der Pins so­ wie deren Zuordnung zu einzelnen Bausteinen, wobei im Grunde das gesamte System zu einer Vielzahl von Verifi­ zierungseinheiten 66 rekonfiguriert wird, von denen jede einem IP bzw. Baustein zugeordnet ist, wie sich dies Fig. 5 entnehmen läßt. Die den einzelnen Bausteinen zugeordneten Verifizierungseinheiten 66 erscheinen da­ bei jeweils als bausteinspezifisches ereignisgestütztes Verifizierungssystem. Ein Beispiel für ein ereignisge­ stütztes Verifizierungssystem läßt sich der US-Pa­ tentanmeldung Nr. 09/406,300 "Event Based Semiconductor Test System" entnehmen, wobei dieses Beispiel weiter unten noch kurz erläutert wird. Die ereignisgestützten Simulationsvektoren der Bausteine können nun (zur Über­ prüfung der Funktionsfähigkeit und der Struktur) dem Haustein (bzw. der integrierten Siliziumschaltung 68) zugeführt werden, wobei dann die Antwortsignale des Bausteines überwacht und durch die Verifizierungsein­ heit 66 mit den Simulationsdaten vergleichen werden.
Zur Verifizierung der Funktionsfähigkeit sowie der Zeitsteuerung des Bausteins, liefert der Systemhaupt­ rechner CPU 62 die jeweiligen Baustein-Simulationsprüf­ bankdaten an die Steuerzentraleinheit 67 der zugehöri­ gen Verifizierungseinheit (VU) 66. Diese Daten bilden die Entwurfs-Simulationsprüfbank des Bausteins, die die Signalwerte und Zeitsteuerungsinformationen zur Festle­ gung von Ereignissen liefert, an denen der Signalwert von 0 zu 1 bzw. von 1 zu 0 wechselt, d. h. es handelt sich hier um ereignisgestützte Prüfmuster, so daß keine Übersetzung benötigt wird und sich die Daten direkt der Baustein-Siliziumschaltung 68 zuführen lassen.
Da es sich bei den Daten um Entwurfs-Simulationsdaten handelt, funktioniert ein einwandfreier Baustein genau so, wie dies durch die Simulation vorhergesagt wurde. Das entsprechende Antwortsignal wird von der zur Veri­ fizierungseinheit 66 gehörenden Steuerzentraleinheit CPU 67 überwacht und mit der Simulation verglichen, wo­ bei die Steuerzentraleinheit CPU 67 jede Abweichung von der Simulation feststellt, was eine Ermittlung aller Fehler in der integrierten Bausteinschaltung durch alle Verifizierungseinheiten (VU) 66 ermöglicht. Durch die­ sen Verfahrensschritt wird an einer Verifizierungsein­ heit (VU) 66 die Fehlerfreiheit der integrierten Sili­ ziumschaltung des jeweiligen Hausteins sichergestellt, ehe die Überprüfung des Entwurfs auf Systemchip-Ebene erfolgt.
Im übrigen ist es bei dem Verfahren und der Vorrichtung gemäß der vorliegenden Erfindung für den Benutzer auch sehr viel einfacher, einen Fehler im Baustein zu korri­ gieren, als dies bei den bisher verwendeten Systemen der Fall ist, da die Umgebung des erfindungsgemäßen Gültigkeitsprüfsystems der Simulationsumgebung des Ori­ ginalentwurfs, d. h. der EDA-Umgebung, entspricht, wobei jeweils ereignisgestützte Daten zum Einsatz kommen.
Nachfolgend wird näher auf die (durch ein ereignisge­ stütztes Prüfgerät gebildete) Verifizierungseinheit eingegangen.
Wie bereits erwähnt, wird jede Verifizierungseinheit 66 gemäß der vorliegenden Erfindung durch ein ereignisge­ stütztes Prüfgerät gebildet. Im folgenden wird ein Bei­ spiel für ein solches ereignisgestütztes Prüfgerät un­ ter Bezugnahme auf Fig. 6 kurz beschrieben, wobei sich eine genauere Erläuterung wiederum der bereits erwähn­ ten US-Patentanmeldung Nr. 09/406,300 "Event Based Se­ miconductor Test System" desselben Anmelders entnehmen läßt. Beim ereignisgestützten Prüfgerät wird ein Prüf­ muster durch Signalwertveränderungen von 0 zu 1 bzw. 1 zu 0 beschrieben, die in Form von Parametern eines zeitlichen Abstands zu einem Referenzpunkt vorliegen, während bei herkömmlichen zyklusgestützten Prüfdaten ein Prüfmuster durch eine Kombination von Zeitsteue­ rungsdaten, Wellenformdaten und Vektordaten für jeden Prüfzyklus angegeben wird. Da die heutzutage eingesetz­ ten Entwurfs-Automatisierungseinrichtungen bei der Durchführung einer Logiksimulation des entworfenen Halbleiterbauteils ereignisgestützte Prüfdaten erzeu­ gen, lassen sich die in der Entwicklungsphase des Halb­ leiterbauteils gewonnenen Simulationsdaten beim ereig­ nisgestützten Prüfsystem direkt einsetzen.
Beim Beispiel gemäß Fig. 5 umfaßt die Verifizierungsein­ heit 66 einen Verifizierungseinheit-Schreibdekodierer 83 sowie eine Steuerzentraleinheit CPU 67, die mit ei­ nem Pin-Einheitsbus 64, einem internen Bus 85, einer Adreßfolge-Steuereinheit 88, einem Fehlerspeicher 87, einem Ereignisspeicher 90, einer Dekomprimierungsein­ heit 92, einer Zeitsteuerungszähl- und Skalierlogik 93 und einer Ereigniserzeugungseinheit 94 verbunden sind. Die Verifizierungseinheit 66 liefert durch die Pin- Elektronik ein Prüfmuster an die den Baustein wiederge­ bende integrierte Siliziumschaltung 68.
Der Schreibdekodierer 83 der Verifizierungseinheit dient dazu, die Identifikation der Verifizierungsein­ heit 66 so anzuzeigen, daß der Systemhauptrechner 62 die Verifizierungseinheiten 66 konfigurieren kann, in­ dem er jeweils eine Gruppenauswahldresse an den System­ bus 64 sendet. Beim internen Bus 85 handelt es sich um einen Bus in der Hardware des ereignisgestützten Prüf­ geräts, der üblicherweise mit den meisten der funkti­ onsspezifischen Bausteine, etwa der Adreßfolge- Steuereinheit 88, dem Fehlerspeicher 87, der Dekompri­ mierungseinheit 92, der Zeitsteuerungszähl- und Ska­ lierlogik 93 und der Ereigniserzeugungseinheit 94, ver­ bunden ist.
Wie bereits erwähnt, liefert die Steuerzentraleinheit CPU 67 auf der Grundlage der Baustein-Prüfbankdaten vom Systemhauptrechner CPU 62 Befehle an andere funktions­ spezifische Bausteine in der Verifizierungseinheit 66. Der Fehlerspeicher 87 speichert mit Hilfe der von der Adreßfolge-Steuereinheit 88 gelieferten Adreßinforma­ tionen vom (nicht dargestellten) Komparator kommende Prüfergebnisse, wobei es sich beispielsweise um Feh­ lerinformationen über die integrierte Siliziumschaltung 68 des Bausteins handelt. Die im Fehlerspeicher 87 ge­ speicherten Informationen finden während der Fehlerana­ lyse der Bausteine und des Systemchips Verwendung.
Die Adreßfolge-Steuereinheit 88 liefert Adreßdaten an den Ereignisspeicher 90. Der Ereignisspeicher 90 spei­ chert die Zeitsteuerungsdaten jedes Ereignisses, wobei er diese Daten zum Beispiel in zweierlei Weise abspei­ chert, nämlich einerseits diejenigen Daten, die ein ganzzahliges Vielfaches eines Hauptaktzyklus (Referenztaktzyklus) angeben, und andererseits die Zeitsteuerungsdaten, die einen Bruchteil bzw. Bruch­ teile eines Referenztaktzyklus betreffen.
Vorzugsweise werden die Zeitsteuerungsdaten im Ereig­ nisspeicher 90 komprimiert, um die benötigte Speicher­ kapazität zu reduzieren. Die Dekomprimierungseinheit 92 erhält die komprimierten Daten vom Ereignisspeicher 90 und stellt die Zeitsteuerungsdaten in einem Dekompri­ mierungsvorgang wieder her, wobei die dekomprimierten Zeitsteuerungsdaten sodann der Zeitsteuerungszähl- und -skalierlogik 93 zugeführt werden.
Die Zeitsteuerungszähl- und -skalierlogik 93 erzeugt das gegenwärtige Ereignis auf der Grundlage von aus dem Ereignisspeicher 90 stammenden Zeitsteuerungsdaten. Die Daten für die Gesamtzeitsteuerung können durch Summie­ rung der gegenwärtigen Zeitsteuerungsdaten mit vorher­ gehenden Zeitsteuerungsdaten gewonnen werden. Durch die Zeitsteuerungszähl- und Skalierlogik 93 können die Zeitsteuerungsdaten zudem proportional zu einem Ska­ lierfaktor modifiziert werden, wobei eine entsprechende Skalierung der Zeitsteuerungsdaten in der Multiplika­ tion von Zeitsteuerungsdaten (jeder Delta- oder Abso­ lutzeit) mit einem Skalierfaktor besteht. Die Ereig­ niserzeugungseinheit 94 erzeugt schließlich die Real­ zeit-Ereignissignale auf der Grundlage der von der Zeitsteuerungszähl- und Skalierlogik 93 gelieferten Ge­ samtzeitsteuerungsdaten und liefert die Ereignissignale (Prüfmuster) an die Pin-Elektronik 69.
Im folgenden wird die Verifizierung der Schnittstellen, des chipinternen Busses und der Verknüpfungslogik näher erläutert.
Ein großer Prozentsatz des Systemchip-Entwurfs besteht aus vorgefertigten Bausteinen. Allerdings ist auch im­ mer eine Art von Logik vorhanden, die durch den mit der Integration der Bausteine befaßten Ingenieur (bzw. Sy­ stemchip-Designer) entwickelt wird und sowohl zur Aus­ führung einiger sehr spezifischer Funktionen als auch zur Verbindung verschiedener Bausteine dient. Eine sol­ che Logik wird allgemein als "Verknüpfungslogik" be­ zeichnet. Herkömmlicherweise wird die Verknüpfungslogik gemäß den Wünschen des Kunden entwickelt, wobei jedoch neuerdings auch vorgeschlagen wurde, eingebettete an­ wenderprogrammierbare Gate-Arrays (FPGAs) zur Herstel­ lung der Verknüpfungslogik einzusetzen. Wie bereits er­ wähnt, läßt sich diese Logik gemäß dem derzeitigen Stand der Technik nur äußerst unvollständig verifizie­ ren.
Beim erfindungsgemäßen Verfahren erfolgt die Verifizie­ rung dieser Logik nun durch ein speziell zugeordnetes Untersystem, das dem in Fig. 5 dargestellten Arbeits­ platz DVS6 zur Verifizierung der Verknüpfungslogik ent­ spricht. Das dabei eingesetzte Verfahren umfaßt die folgenden grundlegenden Verfahrensschritte:
  • 1. Verwendung des in Fig. 5 gezeigten, die verschiedenen integrierten Siliziumschaltungen 68 verbindenden Verbindungsbusses 71 als Modell für den chipinternen Systemchip-Bus. Dieser Systembus dient als Modell für das Verhalten des die verschiedenen Bausteine A bis E verbindenden chipinternen Busses. Durch dieses Vorgehen werden die Befehle und der Datenfluß auf der Systemchip-Ebene (von einem Baustein zum ande­ ren) in Befehle und Datenfluß auf der Ebene des Ar­ beitsplatzes (von einer Verfizierungseinheit zur an­ deren Verifizierungseinheit) abgebildet. Dieser Bus kann somit alle Anforderungs- und Bewilligungsproto­ kolle des chipinternen Systemchip-Busses sowie alle Datenübertragungen an jeder Schnittstelle der ein­ zelnen Bausteine erfassen.
  • 2. Verwendung eines anwenderprogrammierbaren Gate-Ar­ rays (FPGA) als Verknüpfungslogik für ein spezifisch zugeordnetes Untersystem. Gemäß einem alternativen Ansatz kann hier die Verknüpfungslogik auch am spe­ zifisch zugeordneten Untersystem emuliert werden.
Die beiden Ansätze sind in Fig. 7 bzw. Fig. 8 darge­ stellt.
Fig. 7 zeigt das Emulator-Untersystem. Bei diesem Ansatz kann jedes beliebige kommerziell erhältliche Emulator­ system Verwendung finden. Wie sich Fig. 7 entnehmen läßt, werden im Emulator 72 die synthetisch generierba­ ren RTL-Daten der Verknüpfungslogik sowie die Prüfbank­ daten der Verknüpfungslogik-Prüfbankdatei 77 geladen. Die Synchronisiereinheit und die Bewertungseinheit wer­ den in Verbindung mit dem kommerziell erhältlichen Emu­ lator als dessen gemeinsame Schnittstelle mit anderen Verifizierungseinheit 66 eingesetzt. Die Steuerzen­ traleinheit CPU 67 dient zur Synchronisierung und zur Datenübertragung zum Systemhauptrechner CPU 62.
In Fig. 8 ist der Ansatz unter Verwendung eines anwen­ derprogrammierbaren Gate-Arrays dargestellt. Bei diesem Ansatz wird der Verknüpfungslogikentwurf durch Einsatz eines anwenderprogrammierbaren Gate-Arrays 73 verwirk­ licht und das anwenderprogrammierbare Gate-Array 73 wie ein Silizium-IP bzw. Baustein behandelt. Wird die Ver­ knüpfungslogik im Systemchip durch ein eingebettetes anwenderprogrammierbares Gate-Array gebildet, so han­ delt es sich bei dem hier verwendeten Gate-Array 73 um eine unabhängig funktionierende Wiedergabe des einge­ betteten Gate-Arrays (d. h. der Verknüpfungslogik). Die­ ses anwenderprogrammierbare Gate-Array 73 wird wie ein unabhängiger IP verwendet und einer spezifisch zugeord­ neten Verifizierungseinheit VU zugeteilt.
Soll die Verknüpfungslogik im Systemchip durch einen kundenspezifischen Entwurf gebildet werden, so werden die RTL-Daten der Verknüpfungslogik in Form eines unab­ hängig funktionierenden anwenderprogrammierbaren Gate- Arrays ausgebildet, das zusammen mit einer zugehörigen Verifizierungseinheit eingesetzt wird. In diesem Fall ist zumeist die Geschwindigkeit des anwenderprogram­ mierbaren Gate-Arrays geringer als die der kundenspezi­ fischen Verknüpfungslogik des Systemchips, so daß für diese spezifische Verifizierungseinheit eine zusätzli­ che Synchronisiereinheit 75 und eine zusätzliche Busbe­ wertungseinheit 76 benötigt werden. Abgesehen von der geringen Operationsgeschwindigkeit ist diese Verifizie­ rungseinheit im übrigen jeder anderen Verifizierungs­ einheit identisch, wobei auch ihre Operationsweise der jeder anderen Verifizierungseinheit entspricht.
Im folgenden wird auf die Zeitsteuerungsverifizierung näher eingegangen.
Sobald die Funktionsfähigkeit der einzelnen Bausteine, der Schnittstellen und der Verknüpfungslogik verifi­ ziert ist, wird die Zeitsteuerungsverifizierung an kri­ tischen Pfaden auf Systemchip-Ebene überprüft. Nach der Beendigung der in Fig. 2 dargestellten Schritte S31 und S32 verfügt der erfindungsgemäße Arbeitsplatz über alle einzelnen Bestandteile des Systemchips und über die Da­ tenübertragung, wobei die Funktionsfähigkeit der ein­ zelnen Bausteine und der Verknüpfungslogik ebenso veri­ fiziert wurde wie die Zeitsteuerung der einzelnen Bau­ steine. Somit kann man nun sowohl die Simulationsprüf­ bänke auf Systemchip-Ebene als auch vollständige Anwen­ dungen am gesamten System einsetzen und bei einem auf­ tretenden Fehler auf eine mangelhafte Integration der Bausteine schließen.
Beim erfindungsgemäßen Verfahren wird vorzugsweise eine kleine Anzahl von Simulationsvektoren (bzw. eine Prüf­ bank) auf Systemchip-Ebene eingesetzt, um die Korrekt­ heit der Zeitsteuerung von Baustein zu Baustein sowie die Korrektheit der Zeitsteuerung der kritischen Pfade auf Systemchip-Ebene zu verifizieren. Zu diesem Zweck wird die Simulationsprüfbank auf Systemchip-Ebene im Systemhauptrechner geladen. Die entsprechenden Prüf­ bänke werden während der Systemchip-Entwicklung zur Überprüfung der Zeitsteuerung der kritischen Pfade des Entwurfs erzeugt. Die Daten dieser Prüfbänke (Vektoren) liegen in ereignisgestützter Form vor. Sie besitzen bei der derzeit eingesetzten Technologie üblicherweise ein VCD-Format (Wertänderungs-Speicherauszugsformat), das durch einen Verilog/VHDL-Simulator geliefert wird.
Mit Hilfe der Vektoren der Prüfbankdaten wird nun eine unterschiedliche Zeitsteuerung an kritischen System­ chip-Pfaden vorgenommen, die verschiedene Teile des Sy­ stemchips miteinander verbinden. Wie bereits erwähnt wurde, verfügt der Arbeitsplatz zur Entwurfsgültig­ keitsprüfung gemäß der vorliegenden Erfindung über alle Bestandteile des Systemchips, so daß zu erwarten ist, daß die Abläufe und Ergebnisse beim Einsatz der Simula­ tionsprüfbank zur Zeitsteuerungsverifizierung denjeni­ gen der Simulation entsprechen. Jegliche Abweichung von den Simulationsergebnissen weist hingegen auf einen Fehler hin, der sich in der der Entwicklungssimulati­ onsumgebung entsprechenden erfindungsgemäßen ereignis­ gestützten Umgebung auf einfache Weise korrigieren läßt.
Schließlich wird nachfolgend die Verifizierung des Sy­ stemchips bzw. die Gültigkeitsprüfung beim Gesamtent­ wurf näher erläutert.
Zur umfassenden Verifizierung der Funktionsfähigkeit des den Systemchip bildenden Systems werden die während der Entwurfssimulation entwickelten Funktionsvektoren auf Systemchip-Ebene am Arbeitsplatz zur Systemchip- Gültigkeitsprüfung eingesetzt. Diese Vektoren liegen ebenfalls in ereignisgestützer Form vor und werden häu­ fig erzeugt, indem eine Softwareanwendung am System­ chip-Entwurf (Verilog/VHDL-RTL-Modell bzw. Verhaltens­ modell) durchgeführt wird. Mit Hilfe dieser Vektoren werden verschiedene Teile des Systemchips gleichzeitig oder nacheinander so geprüft, daß sich jeweils das Ge­ samtverhalten des Systemchips durch eine Kombination der Antwortsignale bestimmen läßt.
Liegt das Anwendungsprogramm in einer höheren Program­ miersprache, etwa einer C/C++-Sprache oder in binärer Form vor, so werden, wie in Fig. 9 gezeigt ist, eine An­ wender-Programmschnittstelle (API) und eine Programm­ sprachen-Schnittstelle (PLI) benötigt, um diese Pro­ gramme in den Systemhauptrechner CPU 62 zu laden und die Datenübertragung vom Systemhauptrechner CPU 62 nach außen sicherzustellen.
Der Systemhauptrechner CPU 62 enthält zu diesem Zweck eine Mehrfach-Verteilungssteuerung mit einem Mehrfach- Busprotokoll (das in den Fig. 5 und 9 als "Multi-BP" be­ zeichnet ist), wobei er eine "Aufteil"-Operation an der Anwendungsaufgabe (d. h. der Softwareanwendung) durch­ führt und diese dabei in mehrere Unteraufgaben auf­ teilt, wobei er diese Unteraufgaben zeitlich organi­ siert und sie verschiedenen Verifizierungseinheit 66 zuordnet, die wiederum den einzelnen Bausteinen zuge­ teilt sind. Diese "Aufteil"-Operation wird übrigens an einer Anwendungsoftware vorgenommen, die in einer höhe­ ren Programmiersprache, beispielsweise Verilog/VHDL oder sogar einer C/C++-Sprache vorliegt, so daß die Sy­ stem-Compilersoftware mit Mehrfach-Aufteilungssteuerung zur Ausführung der Aufgabe in einer durch die vielen Verifizierungseinheiten 66 gebildeten Umgebung zur nicht zentralen Verarbeitung eine "Aufteilung" der An­ wendungsaufgabe durchführen kann.
Nach dieser "Aufteilungs"-Operation werden die Unter­ aufgaben durch den Systembus 64 an die einzelnen Veri­ fizierungseinheiten 66 verteilt. Die Steuerzentralein­ heit CPU 67, die Bewertungseinheit 76 und die Synchro­ nisiertakteinheit 75 ermöglichen dabei die Verbindung sowie die fehlerfreie Datenübertragung vom Systemhaupt­ rechner CPU 62 zu den Steuerzentraleinheiten CPU 67 der einzelnen Verifizierungseinheiten VU 66. Die durch die Steuerzentraleinheit CPU 62, die Beurteilungseinheit 76 und die Synchronisiertakteinheit 75 gebildete Anordnung ist in Fig. 9 dargestellt.
Die Steuerzentraleinheiten CPU 67 führen den einzelnen Bausteinen ereignisgestützte Vektoren entsprechend der ihnen zugeordneten Unteraufgabe zu und sammeln die je­ weiligen Antwortsignale der Bausteine. Diese Antwortsi­ gnale werden, wiederum unter Einsatz der eine fehler­ freie Datenübertragung ermöglichenden Bus-Steuerungs­ zentraleinheit, Bus-Beurteilungseinheit und Synchroni­ siereinheit an den Systemhauptrechner CPU 62 weiterge­ leitet. Der Systemhauptrechner CPU 62 führt nun eine "Verbindungs"-Operation durch, um die verschiedenen Antwortsignale zu einem Antwortsignal auf Systemchip- Ebene kombinieren, das sodann mit dem Antwortsignal der Simulation verglichen wird, um festzustellen, ob die Operation des Systemchips fehlerfrei war. Handelt es sich um eine Anwendungsdurchführung, so entspricht die zu erzielende Antwort dem zu erwartenden Ergebnis der Anwendung, so daß beispielsweise bei der Durchführung einer Videoanwendung als Ergebnis die Darstellung eines Bildes erfolgen sollte. Jegliche Abweichung von den Si­ mulationsdaten bzw. dem zu erwartenden Anwendungsergeb­ nis wird durch die Steuerzentraleinheit CPU 67 identi­ fiziert und kann vom Entwicklungsingenieur problemlos korrigiert werden, da es sich bei der vorliegenden Um­ gebung wie bei der Originalentwurfsumgebung um eine er­ eignisgestützte Umgebung handelt.
Schließlich wird noch auf das Verbindungsmittel bzw. das Performance-Board eingegangen.
Für den erfindungsgemäßen Arbeitsplatz zur Entwurfsgül­ tigkeitsprüfung wird ein Performance-Board benötigt, das eine Schnittstelle zwischen den Silizium-Bausteinen 68 und dem als Verknüpfungslogik dienenden anwenderpro­ grammierbaren Gate-Array darstellt. Beim Beispiel gemäß den Fig. 5 bis 9 wird pro Haustein (d. h. für jeden Ar­ beitsplatz DVS zur Entwurfsgültigkeitsprüfung) ein Bau­ teil-Load-Board bzw. Performance-Board 69 vorgesehen. Das Blockschaltbild gemäß Fig. 10 zeigt ein Beispiel für den Aufbau des Performance-Board. Bei diesem Beispiel umfaßt ein Performance-Board 90 alle zu prüfenden Bau­ steine sowie die zu prüfende Verknüpfungslogik. Zur Verbindung der Verifizierungseinheit 66 mit dem Silizi­ umbaustein 68 werden zwischen diesen beiden Bauelemen­ ten Verbindungselemente 95 vorgesehen.
Das Performance-Board 90 entspricht Großteils dem Per­ formance-Board eines herkömmlichen Prüfgeräts, wobei es sich um eine mehrere Schichten aufweisende gedruckte Leiterplatte handelt. Der Hauptunterschied zwischen dem erfindungsgemäß verwendeten Performance-Board 90 und einem Prüfgerät-Performance-Board liegt darin, daß das Prüfgerät-Performance-Board nur einen Bauteilprüfling haltert, während das Performance-Board 90 des erfin­ dungsgemäßen Arbeitsplatzes für die Entwurfsgültig­ keitsprüfung die integrierten Siliziumschaltungen 68 aller Bausteine sowie das als Verknüpfungslogik die­ nende anwenderprogrammierbare Gate-Array trägt.
Fig. 11 läßt sich ein weiteres Beispiel für den erfin­ dungsgemäßen Arbeitsplatz zur Entwurfsgültigkeitsprü­ fung entnehmen, bei dem eine Vielzahl von Verifizie­ rungseinheiten (VU) direkt durch den Systemhauptrechner gesteuert werden. Anders als bei den vorhergehenden Beispielen enthalten die einzelnen Arbeitsplätze bei diesem Beispiel keine Steuerzentraleinheit, sondern werden über den Systembus 64 direkt durch den System­ hauptrechner CPU 62 gesteuert. Somit werden alle Aufga­ ben, wie beispielsweise die Synchronisierung, die Be­ wertung der Antwortsignale der Bausteine, die Bewertung der Zeitsteuerung und die Bewertung des gesamten Sy­ stemchips etc., vom Systemhauptrechner 62 durchgeführt.

Claims (34)

1. Verfahren zur Gültigkeitsprüfung bei Entwürfen für auf der Verwendung eingebetteter Bausteine basie­ rende Systemchips (SoCs), in die eine Vielzahl funk­ tionsspezifischer Bausteine integriert ist, enthal­ tend die folgenden Verfahrensschritte:
  • - Verifizierung einzelner in einen Systemchip zu integrierender Bausteine unter Verwendung einer integrierten Siliziumschaltung jedes Bausteins und von durch einen Baustein-Zulieferer bereit­ gestellten Simulationsprüfbänken;
  • - Verifizierung von Schnittstellen zwischen den einzelnen Bausteinen, chipinternen Bussen der Bausteine und der Verknüpfungslogik unter Ver­ wendung von durch einen Systemchip-Entwicklungs­ ingenieur entworfenen Simulationsprüfbänken und unter Einsatz eines anwenderprogrammierbaren Gate-Arrays (FPGA) bzw. Emulation der Verknüp­ fungslogik;
  • - Verifizierung der Zeitsteuerung von Baustein zu Baustein und der für die Zeitsteuerung auf Sy­ stemchip-Ebene kritischen Pfade; sowie
  • - Durchführung einer Gültigkeitsprüfung des ge­ samten Entwurfs unter Einsatz von Simulations­ prüfbänken eines vollständigen Systemchips und der Durchführung von Anwendungsdurchläufen.
2. Verfahren nach Anspruch 1, wobei die Verifizierungs­ schritte durchgeführt werden, nachdem eine Vielzahl von Verifizierungseinheiten den integrierten Silizi­ umschaltungen der einzelnen Bausteine zugeteilt wur­ den.
3. Verfahren nach Anspruch 1, wobei die Verifizierungs­ schritte durchgeführt werden, nachdem eine Vielzahl von Verifizierungseinheiten den integrierten Silizi­ umschaltungen der einzelnen Bausteine zugeteilt wur­ den, indem man Prüf-Pins der Verifizierungseinheiten entsprechend den Eingabe-/Ausgabepins der zu prüfen­ den integrierten Siliziumschaltungen konfiguriert hat.
4. Verfahren nach Anspruch 1, wobei die Verifizierungs­ schritte durchgeführt werden, nachdem eine Vielzahl von Verifizierungseinheiten den integrierten Silizi­ umschaltungen der einzelnen Bausteine zugeteilt wur­ den, wobei jede Verifizierungseinheit in Form eines ereignisgestützten Prüfgeräts ausgebildet ist, das ein Prüfmuster auf der Grundlage von ereignisge­ stützten Daten erzeugt, die das Prüfmuster in Form von Wertänderungen und deren zeitlicher Steuerung wiedergeben.
5. Verfahren nach Anspruch 4, wobei die Simulations- Prüfbank der einzelnen Bausteine ein ereignisge­ stütztes Datenformat aufweist, was die Fehlerkorrek­ tur in den Bausteinen des Systemchips mit Hilfe der durch eine ereignisgestützte Prüfvorrichtung gebil­ deten Verifizierungseinheit vereinfacht.
6. Verfahren zur Gültigkeitsprüfung bei Entwürfen für auf der Verwendung eingebetteter Bausteine basie­ rende Systemchips (SoCs), in die eine Vielzahl funk­ tionsspezifischer Bausteine integriert ist, enthal­ tend die folgenden Verfahrensschritte:
  • - Erzeugen einer Vielzahl von integrierten Silizi­ umschaltungen, die in ihrer Schaltstruktur je­ weils einem zugehörigen, in einen Systemchip zu integrierenden Baustein entsprechen;
  • - Vorsehen einer Vielzahl von Verifizierungsein­ heiten und Zuordnen der einzelnen Verifizie­ rungseinheiten zu den einzelnen integrierten Si­ liziumschaltungen der Bausteine;
  • - Verbinden der Bausteine durch einen Verbindungs­ bus, welcher ein Modell für einen chipinternen Bus darstellt, der im Systemchip zur Verbindung zwischen den Bausteinen dient; und
  • - Verifizieren der in den Systemchip zu integrie­ renden Bausteine durch Zuführung von Prüfmustern zu den integrierten Siliziumschaltungen und Überwachung der Antwortausgangssignale der inte­ grierten Siliziumschaltungen;
  • - wobei die Prüfmuster direkt durch Einsatz von durch einen Baustein-Zulieferer bereitgestellten Simulationsprüfbankdaten erzeugt werden.
7. Verfahren nach Anspruch 6, weiterhin enthaltend einen Verfahrensschritt, bei dem die Schnittstelle zwischen den Bausteinen und die Verknüpfungslogik, die in den Systemchip integriert werden sollen, ve­ rifiziert werden, indem die Schnittstellen und die Verknüpfungslogik mit Hilfe eines Emulators emuliert werden.
8. Verfahren nach Anspruch 6, weiterhin enthaltend einen Verfahrensschritt, bei dem die Schnittstelle zwischen den Bausteinen und die Verknüpfungslogik, die in den Systemchip integriert werden sollen, ve­ rifiziert werden, indem Funktionen der Schnittstelle und der Verknüpfungslogik mit Hilfe eines anwender­ programmierbaren Gate-Arrays (FPGA) ausgeführt wer­ den.
9. Verfahren nach Anspruch 6, weiterhin enthaltend einen Verfahrensschritt zur Verifizierung der jewei­ ligen Zeitsteuerung von Baustein zu Baustein sowie der für die Zeitsteuerung auf Systemchip-Ebene kri­ tischen Pfade durch Zuführung eines Testimpulses, welcher auf Daten einer Prüfbank auf Systemchip- Ebene basiert, zu den integrierten Siliziumschaltun­ gen der einzelnen Bausteine.
10. Verfahren nach Anspruch 6, weiterhin enthaltend einen Verfahrensschritt, bei dem eine Gültigkeits­ prüfung für den gesamten Entwurf unter Einsatz von Simulationsprüfbänken eines Gesamtsystemchips und der Durchführung von Anwendungsdurchläufen erfolgt.
11. Verfahren nach Anspruch 6, wobei die Verifizierungs­ schritte durchgeführt werden, nachdem eine Vielzahl von Verifizierungseinheiten den integrierten Silizi­ umschaltungen der einzelnen Bausteine zugeteilt wurde.
12. Verfahren nach Anspruch 6, wobei die Verifizierungs­ schritte durchgeführt werden, nachdem eine Vielzahl von Verifizierungseinheiten den integrierten Silizi­ umschaltungen der einzelnen Bausteine zugeteilt wur­ den, wobei jede Verifizierungseinheit in Form eines ereignisgestützten Prüfgeräts vorliegt, das ein Prüfmuster auf der Grundlage von ereignisgestützten Daten erzeugt, die das Prüfmuster in Form von Wer­ tänderungen und deren zeitlicher Steuerung wiederge­ ben.
13. Verfahren nach Anspruch 12, wobei die Simulations­ prüfbank der einzelnen Bausteine ein ereignisge­ stütztes Datenformat aufweist, was die Fehlerkorrek­ tur in den Bausteinen des Systemchips mit Hilfe der jeweils durch eine ereignisgestützte Prüfvorrichtung gebildeten Verifizierungseinheit erleichtert.
14. Verfahren nach Anspruch 6, wobei die Verifizierungs­ schritte durchgeführt werden, nachdem eine Vielzahl von Verifizierungseinheiten den integrierten Silizi­ umschaltungen der einzelnen Bausteine zugeteilt wurde, indem man Prüf-Pins der Verifizierungseinhei­ ten entsprechend den Eingabe-/Ausgabepins der zu prüfenden integrierten Siliziumschaltungen konfigu­ riert hat.
15. Vorrichtung zur Gültigkeitsprüfung bei Entwürfen für auf der Verwendung eingebetteter Bausteine basie­ rende Systemchips (SoCs), in die eine Vielzahl funk­ tionsspezifischer Bausteine integriert ist, wobei die Vorrichtung folgenden Bestandteile enthält:
- einen Systemhauptrechner, der als Benutzer­ schnittstelle und zur Steuerung der Gesamtopera­ tion einer Vorrichtung zur Entwurfsgültigkeist­ prüfung dient;
  • - eine Vielzahl von Verifizierungseinheiten, die Prüfbankdaten vom Systemhauptrechner empfangen und unter Verwendung der Prüfbankdaten Prüfmu­ ster zum Prüfen einer Vielzahl von in einen Sy­ stemchip zu integrierenden funktionsspezifischen Bausteinen erzeugen, wobei jede Verifizierungs­ einheit einen Steuerrechner umfaßt, der die Prüfbankdaten vom Systemhauptrechner empfängt; und
  • - einen Systembus, der als Schnittstelle den Sy­ stemhauptrechner mit der Vielzahl von Verifizie­ rungseinheiten verbindet;
  • - wobei eine Vielzahl von integrierten Silizium­ schaltungen mit den Verifizierungseinheiten ver­ bunden ist und so von den Verifizierungseinhei­ ten das Prüfmuster empfängt und Antwortausgangs­ signale erzeugt, die durch die Verifizierungs­ einheiten und den Systemhauptrechner bewertet werden, und wobei die integrierten Silizium­ schaltungen in ihrem inneren Aufbau den in den Systemchip zu integrierenden funktionsspezifi­ schen Bausteinen identisch sind.
16. Vorrichtung nach Anspruch 15, wobei der Steuerrech­ ner jeder Verifizierungseinheit auf der Grundlage der Prüfbankdaten, die er vom Systemhauptrechner durch den Systembus empfängt, die Prüfmuster für die der jeweiligen Verifizierungseinheit zugeordnete in­ tegrierte Siliziumschaltung erzeugt und das Antwort­ ausgangssignal der integrierten Siliziumschaltung bewertet.
17. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit einer der integrierten Siliziumschal­ tungen zugeordnet ist.
18. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit einer der integrierten Siliziumschal­ tungen zugeordnet ist und Prüf-Pins der Verifizie­ rungseinheiten entsprechend den Eingabe-/Ausgabepins der zu prüfenden integrierten Siliziumschaltungen konfiguriert sind.
19. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit eine Gruppe von Prüf-Pins aufweist und die Pin-Anordnung der Verifizierungseinheit sich entsprechend der Pin-Anordnung der zu prüfenden in­ tegrierten Siliziumschaltung beliebig verändern läßt.
20. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit eine Gruppe von Prüf-Pins aufweist und die Pin-Anordnung der Verifizierungseinheit sich entsprechend der Pin-Anordnung der zu prüfenden in­ tegrierten Siliziumschaltung beliebig verändern läßt und wobei die Größe der Gruppe durch den System­ hauptrechner entsprechend der Anzahl der Eingabe- /Ausgabepins der der jeweiligen Verifizierungsein­ heit zugeordneten integrierten Siliziumschaltung be­ stimmt wird.
21. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit einen Steuerrechner umfaßt, der die Prüfbankdaten über den Systembus vom Systemhaupt­ rechner empfängt, die Prüfmuster für die der Verifi­ zierungseinheit zugeordnete integrierte Silizium­ schaltung erzeugt und das Antwortausgangssignal der integrierten Siliziumschaltung bewertet, wobei für jeden Prüf-Pin der Verifizierungseinheit ein Steuer­ rechner vorgesehen ist.
22. Vorrichtung nach Anspruch 15, wobei die Verifizie­ rungseinheit zur Verifizierung des entsprechenden funktionsspezifischen Hausteins die ihr zugeordnete integrierte Siliziumschaltung und zudem die Schnitt­ stelle zwischen den integrierten Siliziumschaltungen und die Verknüpfungslogik bewertet, die in den Sy­ stemchip integriert werden sollen, indem sie die Schnittstelle und die Verknüpfungslogik mit Hilfe eines Emulators emuliert.
23. Vorrichtung nach Anspruch 15, wobei die Verifizie­ rungseinheit zur Verifizierung des entsprechenden funktionsspezifischen Bausteins die ihr zugeordnete integrierte Siliziumschaltung und zudem die Schnitt­ stelle zwischen den integrierten Siliziumschaltungen und die Verknüpfungslogik bewertet, die in den Sy­ stemchip integriert werden sollen, indem sie Funk­ tionen der Schnittstelle und der Verknüpfungslogik mit Hilfe eines anwenderprogrammierbaren Gate-Arrays (FPGA) aus führt.
24. Vorrichtung nach Anspruch 15, wobei der Systemhaupt­ rechner und die Verifizierungseinheiten die jewei­ lige Zeitsteuerung von Baustein zu Baustein sowie die für die Zeitsteuerung auf Systemchip-Ebene kri­ tischen Pfade durch Zuführung eines Testimpulses ve­ rifizieren, der auf Prüfbankdaten auf Systemchip- Ebene basiert und den die einzelnen Bausteine reprä­ sentierenden integrierten Siliziumschaltungen zuge­ führt wird.
25. Vorrichtung nach Anspruch 15, wobei der Systemhaupt­ rechner und die Verifizierungseinheiten unter Ver­ wendung von Simulationsprüfbänken eines vollständi­ gen Systemchips und der Ausführung von Anwendungs­ durchläufen eine Gesamtentwurfsverifizierung durch­ führen.
26. Vorrichtung nach Anspruch 15, wobei der Systemhaupt­ rechner und die Verifizierungseinheiten unter Ver­ wendung von Simulationsprüfbänken eines vollständi­ gen Systemchips und der Ausführung von Anwendungs­ durchläufen eine Gesamtentwurfsverifizierung durch­ führen, wobei der Systemhauptrechner den Verifizie­ rungseinheiten die Berechnung einzelner Programmbe­ reiche der Systemchipsoftware-Anwendungen zuteilt, indem er die Berechnung in mehrere Unteraufgaben un­ terteilt und diese Unteraufgaben auf die vielen Ve­ rifizierungseinheiten verteilt.
27. Vorrichtung nach Anspruch 15, wobei der Systemhaupt­ rechner und die Verifizierungseinheiten unter Ver­ wendung von Simulationsprüfbänken eines vollständi­ gen Systemchips und unter Ausführung von Anwendungs­ durchläufen eine Gesamtentwurfsverifizierung durch­ führen, wobei der Systemhauptrechner den Verifizie­ rungseinheiten die Berechnung einzelner Programmbe­ reiche der Systemchipsoftware-Anwendungen zuteilt, indem er die Berechnungen in mehrere Unteraufgaben unterteilt und die Unteraufgaben auf die vielen Ve­ rifizierungseinheiten verteilt, und wobei der Haupt­ rechner die von den Verifizierungseinheiten kommen­ den Antwortsignale der integrierten Silizumschaltun­ gen zu einem zur Fehlerbestimmung dienenden Antwort­ signal auf Systemchip-Ebene kombiniert.
28. Vorrichtung nach Anspruch 15, weiterhin enthaltend ein Performance-Board, auf dem in den einzelnen Ve­ rifizierungseinheiten die entsprechenden integrier­ ten Siliziumschaltungen vorgesehen sind.
29. Vorrichtung nach Anspruch 15, weiterhin enthaltend ein Performance-Board, auf dem alle zu prüfenden in­ tegrierten Siliziumschaltungen sowie die zu prüfende Verknüpfungslogik vorgesehen sind.
30. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit in Form eines ereignisgestützten Prüf­ geräts ausgebildet ist, das das Prüfmuster auf der Grundlage von Ereignisdaten erzeugt, welche das Prüfmuster durch Wertänderungen und deren jeweilige Zeitsteuerung wiedergeben.
31. Vorrichtung nach Anspruch 30, wobei die Simulations­ prüfbank der einzelnen Bausteine ein ereignisge­ stütztes Datenformat aufweist, was die Fehlerkorrek­ tur in den Bausteinen des Systemchips durch die durch ein ereignisgestütztes Prüfgerät gebildete Ve­ rifizierungseinheit erleichtert.
32. Vorrichtung nach Anspruch 15, wobei jede Verifizie­ rungseinheit durch ein ereignisgestütztes Prüfgerät gebildet wird, das die folgenden Bestandteile ent­ hält:
  • - einen Ereignisspeicher zur Speicherung von Zeit­ steuerungsdaten für jedes Ereignis, welche durch ein ganzzahliges Vielfaches eines Referenztak­ tintervalls (ganzzahliger Datenteil) und einen Bruchteil des Referenztaktintervalls (Bruch-Da­ tenteil) gebildet werden und einen Zeitunter­ schied zwischen einem gegenwärtigen Ereignis und einem festgelegten Referenzpunkt darstellen;
  • - eine Adreßfolge-Steuereinheit, die Adreßdaten für den Zugriff auf den Ereignisspeicher er­ zeugt;
  • - eine Ereignis-Zähllogik zur Erzeugung eines Er­ eignisstartsignals, das durch das Ergebnis einer Multiplikation des Referenztaktintervalls mit dem ganzzahligen Datenteil verzögert ist;
  • - eine Ereignis-Erzeugungsschaltung, die zur Bil­ dung des Prüfmusters auf der Grundlage des Er­ eignisstartsignals von der Ereigniszähl-Logik und des Bruchdatenteils die einzelnen Ereignisse erzeugt; und
  • - einen zur Verifizierungseinheit gehörenden Schreibdecodierer, der für die Zuordnung einer Verifizierungseinheit zu den Pins der integrier­ ten Siliziumschaltung eine Adresse der Verifi­ zierungseinheit ermittelt.
33. Vorrichtung zur Gültigkeitsprüfung bei Entwürfen für auf der Verwendung eingebetteter Bausteine basie­ rende Systemchips (SoCs), in die eine Vielzahl funk­ tionsspezifischer Bausteine integriert ist, wobei die Vorrichtung die folgenden Bestandteile enthält:
  • - einen Systemhauptrechner, der als Benutzer­ schnittstelle und zur Steuerung der gesamten Operation einer Vorrichtung zur Entwurfsgültig­ keitsprüfung dient;
  • - eine Vielzahl von Verifizierungseinheiten, die Prüfbankdaten vom Systemhauptrechner empfangen und unter Verwendung der Prüfbankdaten Prüfmu­ ster zum Prüfen einer Vielzahl von in einen Sy­ stemchip zu integrierenden funktionsspezifischen Bausteinen erzeugen; und
  • - einen Systembus, der als Schnittstelle den Sy­ stemhauptrechner mit der Vielzahl von Verifizie­ rungseinheiten verbindet;
  • - wobei eine Vielzahl von integrierten Silizium­ schaltungen mit den Verifizierungseinheiten ver­ bünden ist und so von den Verifizierungseinhei­ ten das Prüfmuster empfängt und Antwortausgangs­ signale erzeugt, die durch die Verifizierungs­ einheiten und den Systemhauptrechner bewertet werden, und wobei die integrierten Silizium­ schaltungen in ihrem inneren Aufbau den in den Systemchip zu integrierenden funktionsspezifi­ schen Bausteinen identisch sind;
  • - und wobei der Systemhauptrechner alle folgenden Aufgaben durchführt: Erzeugung der den inte­ grierten Siliziumschaltungen zuzuführenden Prüf­ muster, Bewertung der Antwortausgangssignale der integrierten Siliziumschaltungen, Durchführung der Zeitsteuerung und der Bewertung der Schnitt­ stellen des Systemchips sowie Gültigkeitsprüfung des gesamten Systemchipentwurfs.
DE10053207A 1999-10-28 2000-10-26 Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen Withdrawn DE10053207A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/428,746 US6678645B1 (en) 1999-10-28 1999-10-28 Method and apparatus for SoC design validation

Publications (1)

Publication Number Publication Date
DE10053207A1 true DE10053207A1 (de) 2001-05-03

Family

ID=23700234

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10053207A Withdrawn DE10053207A1 (de) 1999-10-28 2000-10-26 Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen

Country Status (5)

Country Link
US (1) US6678645B1 (de)
JP (1) JP4804620B2 (de)
KR (1) KR100491461B1 (de)
DE (1) DE10053207A1 (de)
TW (1) TW494325B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1417577A1 (de) * 2001-08-14 2004-05-12 Axis Systems, Inc. Vcd-auf-bedarf-system und -verfahren

Families Citing this family (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076415B1 (en) * 1998-12-17 2006-07-11 Cadence Design Systems, Inc. System for mixed signal synthesis
US6904397B1 (en) * 2000-02-22 2005-06-07 Xilinx, Inc. System and method for assisting in the development and integration of reusable circuit designs
US6970814B1 (en) * 2000-03-30 2005-11-29 International Business Machines Corporation Remote IP simulation modeling
US7191112B2 (en) * 2000-04-28 2007-03-13 Cadence Design Systems, Inc. Multiple test bench optimizer
US7124376B2 (en) * 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip
US6675310B1 (en) * 2000-05-04 2004-01-06 Xilinx, Inc. Combined waveform and data entry apparatus and method for facilitating fast behavorial verification of digital hardware designs
KR100374328B1 (ko) * 2000-06-03 2003-03-03 박현숙 칩 설계 검증 및 테스트 장치 및 방법
US20030154465A1 (en) * 2000-07-21 2003-08-14 Gianmario Bollano Method and system for verifying modules destined for generating circuits
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7016826B2 (en) * 2000-12-21 2006-03-21 Intel Corporation Apparatus and method of developing software for a multi-processor chip
US6922665B1 (en) * 2001-01-08 2005-07-26 Xilinx, Inc. Method and system for device-level simulation of a circuit design for a programmable logic device
US20020107678A1 (en) * 2001-02-07 2002-08-08 Chuan-Lin Wu Virtual computer verification platform
US6880112B2 (en) * 2001-04-04 2005-04-12 Nec Corporation Method and apparatus for online detection and correction of faults affecting system-on-chip buses
US6876941B2 (en) * 2001-04-12 2005-04-05 Arm Limited Testing compliance of a device with a bus protocol
JP4078435B2 (ja) * 2001-06-06 2008-04-23 株式会社ルネサステクノロジ 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
US20030005396A1 (en) * 2001-06-16 2003-01-02 Chen Michael Y. Phase and generator based SOC design and/or verification
US7260517B2 (en) * 2001-06-17 2007-08-21 Brian Bailey Synchronization of multiple simulation domains in an EDA simulation environment
US7401015B1 (en) 2001-06-17 2008-07-15 Brian Bailey Coherent state among multiple simulation models in an EDA simulation environment
KR100725135B1 (ko) * 2001-06-30 2007-06-25 어보브반도체 주식회사 시스템 온 칩
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7627462B2 (en) * 2001-11-27 2009-12-01 Arm Limited Hardware simulation using a test scenario manager
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation
US7171602B2 (en) * 2001-12-31 2007-01-30 Advantest Corp. Event processing apparatus and method for high speed event based test system
US7353156B2 (en) * 2002-02-01 2008-04-01 International Business Machines Corporation Method of switching external models in an automated system-on-chip integrated circuit design verification system
US6941538B2 (en) * 2002-02-22 2005-09-06 Xilinx, Inc. Method and system for integrating cores in FPGA-based system-on-chip (SoC)
US7577540B2 (en) * 2002-03-01 2009-08-18 Nec Corporation Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards
JP2003271694A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd プロセッサを含む論理回路の検証用シミュレーション方法及び装置並びに論理回路検証用エラー検出プログラム
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7099813B2 (en) * 2002-04-09 2006-08-29 Arm Limited Simulating program instruction execution and hardware device operation
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US6880133B2 (en) * 2002-05-15 2005-04-12 Sonics, Inc. Method and apparatus for optimizing distributed multiplexed bus interconnects
FR2841668B1 (fr) * 2002-06-26 2006-08-11 Emulation And Verification Eng Procede et systeme d'emulation d'un circuit sous test associe a un environnement de test
KR100487535B1 (ko) * 2002-08-14 2005-05-03 삼성전자주식회사 다른 종류의 반도체 장치들을 동시에 테스트하는 시스템
US7340585B1 (en) * 2002-08-27 2008-03-04 Xilinx, Inc. Method and system for fast linked processor in a system on a chip (SoC)
US7761845B1 (en) * 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7092865B1 (en) * 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
US20040078179A1 (en) * 2002-10-17 2004-04-22 Renesas Technology Corp. Logic verification system
US8332197B2 (en) * 2002-12-12 2012-12-11 Pmc-Sierra Us, Inc. Simulation of complex system architecture
JP3951925B2 (ja) * 2003-01-31 2007-08-01 セイコーエプソン株式会社 ハードウェア/ソフトウェア協調検証方法
US7587690B1 (en) 2003-04-29 2009-09-08 Cadence Design Systems, Inc. Method and system for global coverage analysis
US7216318B1 (en) 2003-04-29 2007-05-08 Cadence Design Systems, Inc. Method and system for false path analysis
US7007264B1 (en) * 2003-05-02 2006-02-28 Xilinx, Inc. System and method for dynamic reconfigurable computing using automated translation
US20040236562A1 (en) * 2003-05-23 2004-11-25 Beckmann Carl J. Using multiple simulation environments
US7194658B2 (en) * 2003-07-24 2007-03-20 Sonics, Inc. Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers
US6920621B1 (en) * 2003-08-20 2005-07-19 Xilinx, Inc. Methods of testing for shorts in programmable logic devices using relative quiescent current measurements
US7376917B1 (en) * 2003-08-25 2008-05-20 Xilinx, Inc. Client-server semiconductor verification system
US7606695B1 (en) * 2003-09-30 2009-10-20 Sun Microsystems, Inc. Self-checking simulations using dynamic data loading
US8065128B1 (en) * 2003-10-23 2011-11-22 Altera Corporation Methods and apparatus for automated testbench generation
US7509603B2 (en) * 2003-10-31 2009-03-24 Semiconductor Energy Laboratory Co., Ltd. Semiconductor integrated circuit and design method thereof
US9087036B1 (en) * 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
US8504992B2 (en) * 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US7409602B2 (en) * 2003-11-12 2008-08-05 Lsi Corporation Methodology for debugging RTL simulations of processor based system on chip
DE10353580A1 (de) * 2003-11-14 2005-06-30 Infineon Technologies Ag Verfahren zur Simulation der Systemleistung eines On-Chip-Systems
US20050120278A1 (en) * 2003-11-19 2005-06-02 Smith Zachary S. Systems and methods for verifying lockstep operation
US20050114735A1 (en) * 2003-11-20 2005-05-26 Smith Zachary S. Systems and methods for verifying core determinacy
US8856401B2 (en) * 2003-11-25 2014-10-07 Lsi Corporation Universal controller for peripheral devices in a computing system
US7475303B1 (en) 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US8180620B2 (en) * 2004-01-27 2012-05-15 Arm Limited Apparatus and method for performing hardware and software co-verification testing
WO2005093575A1 (en) * 2004-03-09 2005-10-06 Seiyang Yang Dynamic-verification-based verification apparatus achieving high verification performance and verification efficency and the verification methodology using the same
US6972571B2 (en) * 2004-03-22 2005-12-06 Freescale Semiconductor, Inc. Load board with embedded relay tracker
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8818784B1 (en) 2004-06-23 2014-08-26 Cypress Semiconductor Corporation Hardware description language (HDL) incorporating statistically derived data and related methods
KR100921314B1 (ko) * 2004-07-12 2009-10-13 양세양 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
TWI299468B (en) * 2004-09-06 2008-08-01 Matsushita Electric Ind Co Ltd Debug system for debugging multi-task system and a circuit device connected with a host computer
US7516058B2 (en) * 2004-09-21 2009-04-07 Faraday Technology Corp. Method for IP characterization and path finding, and computer readable recording medium for storing program thereof
US7676661B1 (en) 2004-10-05 2010-03-09 Xilinx, Inc. Method and system for function acceleration using custom instructions
US7526745B2 (en) * 2004-12-08 2009-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for specification and integration of reusable IP constraints
KR100626663B1 (ko) 2004-12-14 2006-09-25 한국전자통신연구원 인터넷 전화용 시스템온칩 개발 및 검증 장치
US7290194B2 (en) * 2004-12-17 2007-10-30 Lsi Corporation System for performing automatic test pin assignment for a programmable device
KR100638476B1 (ko) * 2004-12-22 2006-10-26 삼성전자주식회사 버추얼 플랫폼 기반의 시스템 온 칩 개발 환경 및 개발 방법
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7353162B2 (en) * 2005-02-11 2008-04-01 S2C, Inc. Scalable reconfigurable prototyping system and method
US7313738B2 (en) * 2005-02-17 2007-12-25 International Business Machines Corporation System and method for system-on-chip interconnect verification
WO2006101836A2 (en) * 2005-03-16 2006-09-28 Gaterocket, Inc. Fpga emulation system
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) * 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
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
US20070074000A1 (en) * 2005-09-28 2007-03-29 Liga Systems, Inc. VLIW Acceleration System Using Multi-state Logic
US20070073999A1 (en) * 2005-09-28 2007-03-29 Verheyen Henry T Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register
US7444276B2 (en) 2005-09-28 2008-10-28 Liga Systems, Inc. Hardware acceleration system for logic simulation using shift register as local cache
JP4667206B2 (ja) * 2005-10-31 2011-04-06 富士通セミコンダクター株式会社 マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法
US20070129926A1 (en) * 2005-12-01 2007-06-07 Verheyen Henry T Hardware acceleration system for simulation of logic and memory
US20070129924A1 (en) * 2005-12-06 2007-06-07 Verheyen Henry T Partitioning of tasks for execution by a VLIW hardware acceleration system
US7444258B2 (en) * 2005-12-05 2008-10-28 International Business Machines Corporation Automated simulation testbench generation for serializer/deserializer datapath systems
US7711534B2 (en) * 2005-12-09 2010-05-04 International Business Machines Corporation Method and system of design verification
US7509605B2 (en) 2005-12-12 2009-03-24 International Business Machines Corporation Extending incremental verification of circuit design to encompass verification restraints
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US20070150702A1 (en) * 2005-12-23 2007-06-28 Verheyen Henry T Processor
US7469401B2 (en) * 2006-02-22 2008-12-23 International Business Machines Corporation Method for using partitioned masks to build a chip
US7496464B2 (en) * 2006-03-21 2009-02-24 Mediatek Usa Inc. Validation system with flow control capability
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7571414B2 (en) * 2006-06-15 2009-08-04 National Chip Implementation Center, National Applied Research Laboratories Multi-project system-on-chip and its method
WO2008013968A2 (en) 2006-07-28 2008-01-31 Vast Systems Technology Corporation Virtual processor generation model for co-simulation
US7823017B2 (en) * 2006-08-02 2010-10-26 International Business Machines Corporation Structure for task based debugger (transaction-event-job-trigger)
KR100750184B1 (ko) * 2006-08-11 2007-08-17 삼성전자주식회사 반도체 집적 회로의 간접 시뮬레이션 방법 및 장치
KR100873956B1 (ko) 2006-08-17 2008-12-15 삼성전자주식회사 에뮬레이션 시스템
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
KR100851524B1 (ko) 2006-12-29 2008-08-11 전자부품연구원 SoC 코아로직의 천이 지연 고장 테스트를 지원하는IEEE 1500 래퍼 셀 및 이를 이용한 테스트 방법
KR101375171B1 (ko) 2006-12-30 2014-03-18 삼성전자주식회사 시스템 온 칩 모델 검증 방법 및 장치
WO2008091575A2 (en) 2007-01-22 2008-07-31 Vast Systems Technology Corporation Method and system for modeling a bus for a system design incorporating one or more programmable processors
WO2008111135A1 (ja) * 2007-03-15 2008-09-18 Fujitsu Microelectronics Limited デバイス間接続試験回路生成方法、生成装置、および生成プログラム
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8130025B2 (en) * 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) * 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US20080263489A1 (en) * 2007-04-23 2008-10-23 Canada Miles G Method to identify and generate critical timing path test vectors
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8145967B2 (en) * 2007-10-12 2012-03-27 Oracle America, Inc. System and method for verifying the receive path of an input/output component
US8136065B2 (en) * 2007-12-10 2012-03-13 Inpa Systems, Inc. Integrated prototyping system for validating an electronic system design
US8275975B2 (en) * 2008-01-25 2012-09-25 Mtekvision Co., Ltd. Sequencer controlled system and method for controlling timing of operations of functional units
US8046726B2 (en) * 2008-09-16 2011-10-25 Lsi Corporation Waiver mechanism for physical verification of system designs
TWI381180B (zh) * 2008-10-03 2013-01-01 Holtek Semiconductor Inc Circuit Simulation System
US8838406B2 (en) * 2008-11-11 2014-09-16 Advantest (Singapore) Pte Ltd Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment
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
US8020126B2 (en) * 2009-02-05 2011-09-13 Texas Instruments Incorporated Links and chains verification and validation methodology for digital devices
US8413103B2 (en) * 2009-03-13 2013-04-02 Synopsys, Inc. Execution monitor for electronic design automation
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8042079B1 (en) * 2009-05-19 2011-10-18 Xilinx, Inc. Synchronization for a modeling system
US8015537B1 (en) 2009-05-19 2011-09-06 Xilinx, Inc. Automated rate realization for circuit designs within high level circuit implementation tools
US9081924B2 (en) * 2010-03-29 2015-07-14 Synopsys, Inc. Method and apparatus for transaction recording and visualization
KR20110124617A (ko) 2010-05-11 2011-11-17 삼성전자주식회사 시스템-온-칩 및 그것의 디버깅 방법
TWI450118B (zh) * 2010-11-02 2014-08-21 Global Unichip Corp 混合的電子設計系統及其可重組連接矩陣
US20120330637A1 (en) * 2011-06-21 2012-12-27 International Business Machines Corporation Method for providing debugging tool for a hardware design and debugging tool for a hardware design
US8429581B2 (en) * 2011-08-23 2013-04-23 Apple Inc. Method for verifying functional equivalence between a reference IC design and a modified version of the reference IC design
US9734263B2 (en) * 2012-12-20 2017-08-15 Intel Corporation Method and apparatus for efficient pre-silicon debug
US8645897B1 (en) * 2013-01-07 2014-02-04 Freescale Semiconductor, Inc. Integrated circuit design verification system
KR20140113175A (ko) 2013-03-15 2014-09-24 삼성전자주식회사 버스 프로토콜 검사기, 이를 포함하는 시스템 온 칩 및 버스 프로토콜 검사 방법
US9038006B2 (en) * 2013-04-30 2015-05-19 Freescale Semiconductor, Inc. Method and apparatus for generating gate-level activity data for use in clock gating efficiency analysis
US9195575B2 (en) * 2013-05-17 2015-11-24 Coherent Logix, Incorporated Dynamic reconfiguration of applications on a multi-processor embedded system
US8856708B1 (en) * 2013-07-12 2014-10-07 Hamilton Sundstrand Corporation Multi-tier field-programmable gate array hardware requirements assessment and verification for airborne electronic systems
US9298250B2 (en) 2013-08-06 2016-03-29 Globalfoundries Inc. Reconfigurable circuit to emulate system critical paths
KR102122455B1 (ko) 2013-10-08 2020-06-12 삼성전자주식회사 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치
JP6478562B2 (ja) 2013-11-07 2019-03-06 株式会社半導体エネルギー研究所 半導体装置
JP6393590B2 (ja) 2013-11-22 2018-09-19 株式会社半導体エネルギー研究所 半導体装置
US9317385B2 (en) 2013-12-30 2016-04-19 Samsung Electronics Co., Ltd. Hardware profiling
JP6444723B2 (ja) 2014-01-09 2018-12-26 株式会社半導体エネルギー研究所 装置
US9379713B2 (en) 2014-01-17 2016-06-28 Semiconductor Energy Laboratory Co., Ltd. Data processing device and driving method thereof
US9869716B2 (en) 2014-02-07 2018-01-16 Semiconductor Energy Laboratory Co., Ltd. Device comprising programmable logic element
JP2015165226A (ja) 2014-02-07 2015-09-17 株式会社半導体エネルギー研究所 装置
US9760663B2 (en) * 2014-10-30 2017-09-12 Synopsys, Inc. Automatic generation of properties to assist hardware emulation
US9804911B2 (en) 2015-05-27 2017-10-31 Apple Inc. Concurrent validation of hardware units
US10176078B1 (en) * 2015-08-28 2019-01-08 Cadence Design Systems, Inc. Debugging process
CN105302950B (zh) * 2015-10-19 2018-07-24 北京精密机电控制设备研究所 一种软、硬件协同的可编程逻辑器件交联仿真测试方法
US10338138B2 (en) * 2015-12-31 2019-07-02 Chinsong Sul Low cost design for test architecture
US10534882B2 (en) * 2016-03-29 2020-01-14 Qualcomm Incorporated Method and apparatus for configuring an integrated circuit with a requested feature set
US10437946B1 (en) * 2016-09-01 2019-10-08 Xilinx, Inc. Using implemented core sources for simulation
KR20180043626A (ko) 2016-10-20 2018-04-30 삼성전자주식회사 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법
CN106599343B (zh) * 2016-11-01 2020-10-20 深圳国微技术有限公司 一种提高仿真效率的soc系统验证方法和装置
CN109933880B (zh) * 2019-03-06 2022-10-11 西安微电子技术研究所 基于配置驱动的SoC原型验证用例提取模型建模方法
KR20210047127A (ko) 2019-10-21 2021-04-29 삼성전자주식회사 반도체 회로를 검증하기 위한 최적화된 검증 벡터를 생성하는 전자 장치 및 그 동작 방법
CN110907798A (zh) * 2019-10-23 2020-03-24 盛科网络(苏州)有限公司 集成SoC的交换芯片的测试验证板、测试装置及方法
US11144696B1 (en) * 2020-05-27 2021-10-12 Chinsong Sul Low cost design for test architecture
KR102183267B1 (ko) * 2020-05-28 2020-11-26 최훈기 Ic 간의 설계 적합성 체크 시스템
CN111859832B (zh) * 2020-07-16 2022-07-08 山东云海国创云计算装备产业创新中心有限公司 一种芯片仿真验证方法、装置及相关设备
US20220019720A1 (en) * 2020-07-17 2022-01-20 University Of Florida Research Foundation, Incorporated Framework for automated synthesis of secure, optimized system-on-chip architectures
CN111949470A (zh) * 2020-08-24 2020-11-17 海光信息技术有限公司 一种芯片验证方法、装置、电子设备及存储介质
CN114722750A (zh) * 2022-03-18 2022-07-08 北京遥感设备研究所 Soc芯片仿真验证方法、装置、设备和存储介质
CN114860519B (zh) * 2022-04-08 2022-12-23 中国人民解放军国防科技大学 一种面向大规模asic芯片的多芯片联合验证方法及装置
CN115248998B (zh) * 2022-09-22 2023-01-03 济南新语软件科技有限公司 一种SoC芯片分布式仿真验证平台和方法
CN116011392A (zh) * 2022-12-23 2023-04-25 摩尔线程智能科技(北京)有限责任公司 用于验证环境级联的装置、方法、设备、介质和程序产品
CN115639461A (zh) * 2022-12-23 2023-01-24 长沙驰芯半导体科技有限公司 一种基于双处理器的超宽带芯片原型验证平台
CN115993952B (zh) * 2023-03-23 2023-05-30 中大智能科技股份有限公司 基于risc-v的桥梁支座监测芯片及设计系统、方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0673363B2 (ja) * 1984-07-02 1994-09-14 株式会社東芝 システムlsiの設計方法
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
JP2752262B2 (ja) * 1991-04-19 1998-05-18 株式会社東芝 1チップlsiの製造方法
JP3168839B2 (ja) * 1994-09-09 2001-05-21 株式会社日立製作所 論理エミュレーションシステム及び等価回路生成方法
JP2888512B2 (ja) * 1995-09-22 1999-05-10 三菱電機マイコン機器ソフトウエア株式会社 エミュレーション装置
US5903475A (en) * 1996-07-18 1999-05-11 Lsi Logic Corporation System simulation for testing integrated circuit models
JP4020462B2 (ja) * 1996-08-30 2007-12-12 テキサス インスツルメンツ インコーポレイテツド テストインタフェースを含む集積回路及びテストインタフェースを使用する方法
US5828824A (en) * 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
JP3004641B2 (ja) * 1998-02-05 2000-01-31 松下電器産業株式会社 シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体
US6094726A (en) * 1998-02-05 2000-07-25 George S. Sheng Digital signal processor using a reconfigurable array of macrocells
US6360353B1 (en) * 1998-02-21 2002-03-19 Adaptec, Inc. Automated alternating current characterization testing
US6304837B1 (en) * 1998-02-21 2001-10-16 Adaptec, Inc. Automated test vector generation and verification
KR19990079355A (ko) * 1998-04-03 1999-11-05 윤종용 테스트벤치 발생기 및 이를 이용한 시뮬레이션방법
US6269467B1 (en) * 1998-09-30 2001-07-31 Cadence Design Systems, Inc. Block based design methodology
US6249893B1 (en) * 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
US6532561B1 (en) * 1999-09-25 2003-03-11 Advantest Corp. Event based semiconductor test system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1417577A1 (de) * 2001-08-14 2004-05-12 Axis Systems, Inc. Vcd-auf-bedarf-system und -verfahren
EP1417577A4 (de) * 2001-08-14 2009-08-26 Verisity Design Inc Vcd-auf-bedarf-system und -verfahren

Also Published As

Publication number Publication date
US6678645B1 (en) 2004-01-13
JP4804620B2 (ja) 2011-11-02
KR20010067370A (ko) 2001-07-12
JP2001189387A (ja) 2001-07-10
TW494325B (en) 2002-07-11
KR100491461B1 (ko) 2005-05-25

Similar Documents

Publication Publication Date Title
DE10053207A1 (de) Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE10147078A1 (de) Verfahren zur Gültigkeitsprüfung von Entwürfen für komplexe integrierte Schaltungen
JP2862886B2 (ja) Asic用計算機支援設計システム
US5581742A (en) Apparatus and method for emulating a microelectronic device by interconnecting and running test vectors on physically implemented functional modules
US6083269A (en) Digital integrated circuit design system and methodology with hardware
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
US5426770A (en) System for automatically determining the logical function of a circuit
DE19950821A1 (de) Bewertungssystem für integrierte Halbleiterschaltungen
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
DE102004058753A1 (de) Verifizierung von Integrierte-Schaltung-Tests unter Verwendung einer Testsimulation und einer Integrierte-Schaltungs-Simulation mit einem simulierten Ausfall
DE4211162C2 (de) Hardware-Emulationssystem
DE10034405A1 (de) Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware
CN107817439A (zh) 一种基于sram型fpga敏感因子的功能失效时间评估方法
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
US8868396B1 (en) Verification and debugging using heterogeneous simulation models
US6338158B1 (en) Custom IC hardware modeling using standard ICs for use in IC design validation
DE10317431A1 (de) Verfahren zur Generierung von Testersteuerungen
CN112861455B (zh) Fpga建模验证系统及方法
CN1267980C (zh) 远程监视和控制半导体制造过程的装置和方法
DE112013005831T5 (de) Netzlistenabstraktion
DE102008046397A1 (de) Verifizierung auf Basis von Transaktionen eines Systems auf einem Chip auf Systemebene durch Übersetzen von Transaktionen in Maschinencodierung
Xia et al. Dynamic test emulation for EDA-based mixed-signal test development automation
DE60026178T2 (de) Modellierung und prüfung einer integrierten schaltung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee