DE10053207A1 - Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen - Google Patents
Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-EntwürfenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design 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.
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)
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 (184)
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 | 박현숙 | 칩 설계 검증 및 테스트 장치 및 방법 |
WO2002008966A2 (en) * | 2000-07-21 | 2002-01-31 | Telecom Italia Lab S.P.A. | Method and system for verifying modules destined for generating circuits |
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 |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
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 |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
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 |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
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 | セイコーエプソン株式会社 | ハードウェア/ソフトウェア協調検証方法 |
US7216318B1 (en) * | 2003-04-29 | 2007-05-08 | Cadence Design Systems, Inc. | Method and system for false path analysis |
US7587690B1 (en) | 2003-04-29 | 2009-09-08 | Cadence Design Systems, Inc. | Method and system for global coverage 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 |
US9087036B1 (en) * | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
WO2005043617A1 (en) * | 2003-10-31 | 2005-05-12 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor integrated circuit and design method thereof |
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 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
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 |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
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 |
EP1859289A4 (de) * | 2005-03-16 | 2011-03-30 | Gaterocket Inc | Fpga-emulationssystem |
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 | デバイス間接続試験回路生成方法、生成装置、および生成プログラム |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8130025B2 (en) * | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
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 |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
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 |
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 |
US8015537B1 (en) | 2009-05-19 | 2011-09-06 | Xilinx, Inc. | Automated rate realization for circuit designs within high level circuit implementation tools |
US8042079B1 (en) * | 2009-05-19 | 2011-10-18 | Xilinx, Inc. | Synchronization for a modeling system |
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 |
CN111949470B (zh) * | 2020-08-24 | 2024-07-02 | 海光信息技术股份有限公司 | 一种芯片验证方法、装置、电子设备及存储介质 |
CN112580287B (zh) * | 2020-12-24 | 2024-08-16 | 西安翔腾微电子科技有限公司 | 一种SoPC芯片内嵌FPGA的验证模块 |
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的桥梁支座监测芯片及设计系统、方法 |
CN118363869B (zh) * | 2024-05-16 | 2024-10-15 | 无锡众星微系统技术有限公司 | Bifurcation模块验证解决方案自动生成方法和装置 |
Family Cites Families (18)
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 |
US6094726A (en) * | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
JP3004641B2 (ja) * | 1998-02-05 | 2000-01-31 | 松下電器産業株式会社 | シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体 |
US6304837B1 (en) * | 1998-02-21 | 2001-10-16 | Adaptec, Inc. | Automated test vector generation and verification |
US6360353B1 (en) * | 1998-02-21 | 2002-03-19 | Adaptec, Inc. | Automated alternating current characterization testing |
KR19990079355A (ko) * | 1998-04-03 | 1999-11-05 | 윤종용 | 테스트벤치 발생기 및 이를 이용한 시뮬레이션방법 |
HUP0301274A2 (en) * | 1998-09-30 | 2003-08-28 | Cadence Design Systems | 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 |
-
1999
- 1999-10-28 US US09/428,746 patent/US6678645B1/en not_active Expired - Fee Related
-
2000
- 2000-10-25 TW TW089122468A patent/TW494325B/zh not_active IP Right Cessation
- 2000-10-26 DE DE10053207A patent/DE10053207A1/de not_active Withdrawn
- 2000-10-27 KR KR10-2000-0063483A patent/KR100491461B1/ko not_active IP Right Cessation
- 2000-10-27 JP JP2000333518A patent/JP4804620B2/ja not_active Expired - Fee Related
Cited By (2)
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 |
TW494325B (en) | 2002-07-11 |
JP4804620B2 (ja) | 2011-11-02 |
KR20010067370A (ko) | 2001-07-12 |
JP2001189387A (ja) | 2001-07-10 |
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 | |
DE69315576T2 (de) | Verfahren und testanlage zur entwicklung einer integrierten schaltung. | |
JP2862886B2 (ja) | Asic用計算機支援設計システム | |
US5581742A (en) | Apparatus and method for emulating a microelectronic device by interconnecting and running test vectors on physically implemented functional modules | |
DE69225527T2 (de) | Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung | |
DE10392497T5 (de) | Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung | |
DE19950821A1 (de) | Bewertungssystem für integrierte Halbleiterschaltungen | |
DE10296464T5 (de) | Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen | |
DE4211162C2 (de) | Hardware-Emulationssystem | |
DE10034405A1 (de) | Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware | |
CN107817439A (zh) | 一种基于sram型fpga敏感因子的功能失效时间评估方法 | |
DE69030792T2 (de) | Methode und Gerät zur Wechselwirkung-Emulation zwischen einer anwendungsspezifischen integrierten Schaltung (ASIC) während der Entwicklung und ein Zielsystem | |
US8868396B1 (en) | Verification and debugging using heterogeneous simulation models | |
DE10317431A1 (de) | Verfahren zur Generierung von Testersteuerungen | |
US6338158B1 (en) | Custom IC hardware modeling using standard ICs for use in IC design validation | |
CN112861455B (zh) | Fpga建模验证系统及方法 | |
DE112013005831T5 (de) | Netzlistenabstraktion | |
DE102008046397A1 (de) | Verifizierung auf Basis von Transaktionen eines Systems auf einem Chip auf Systemebene durch Übersetzen von Transaktionen in Maschinencodierung | |
CN1347145A (zh) | 远程半导体测试方法和装置 | |
Xia et al. | Dynamic test emulation for EDA-based mixed-signal test development automation | |
DE60026178T2 (de) | Modellierung und prüfung einer integrierten schaltung | |
Cavin et al. | Design of integrated circuits: directions and challenges | |
Barth | EFFICIENT STRUCTURAL DESIGN FOR INTEGRATED CIRCUITS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8139 | Disposal/non-payment of the annual fee |