DE69831460T2 - Schaltungsentwurfprüfung - Google Patents

Schaltungsentwurfprüfung Download PDF

Info

Publication number
DE69831460T2
DE69831460T2 DE69831460T DE69831460T DE69831460T2 DE 69831460 T2 DE69831460 T2 DE 69831460T2 DE 69831460 T DE69831460 T DE 69831460T DE 69831460 T DE69831460 T DE 69831460T DE 69831460 T2 DE69831460 T2 DE 69831460T2
Authority
DE
Germany
Prior art keywords
signal
signals
area
module
clock signal
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.)
Expired - Fee Related
Application number
DE69831460T
Other languages
English (en)
Other versions
DE69831460D1 (de
Inventor
Brian Michael Dowling
James David Rodeo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE69831460D1 publication Critical patent/DE69831460D1/de
Application granted granted Critical
Publication of DE69831460T2 publication Critical patent/DE69831460T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Description

  • Die vorliegende Erfindung bezieht sich auf ein Prüfen von Schaltungsentwürfen, insbesondere des Entwurfs von integrierten Schaltungen. Insbesondere bezieht sich die Erfindung auf ein Verfahren und eine Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen, die unter Verwendung einer Hardwarebeschreibungssprache (HDL) ausgedrückt sind.
  • Die Masse von anwendungsspezifischen integrierten Schaltungen (ASICs) werden heute unter Verwendung einer Hardwarebeschreibungssprache (HDL), wie z. B. Verilog oder VHDL, entworfen. Entwürfe, die mit HDL codiert sind, sind von spezifischen ASIC-Lieferanten, Bibliotheken und Werkzeugen unabhängig. Diese Unabhängigkeit macht die Entwürfe portabel und wiederverwendbar. In vielen Fällen kann der Entwurf verschiedene Teilkomponenten oder Module aufweisen, die neu sein können oder die zuvor viele Male bei anderen Entwürfen verwendet worden sind. Es kann jedoch sein, dass die verschiedenen Module nicht alle in dem gleichen Taktbereich wirksam sind. Zum Beispiel kann ein Speicherelement (z. B. ein Flipflop) bei einem Modul von einer anderen Quelle getaktet werden als ein Speicherelement bei einem zweiten Modul. Zum Beispiel kann ein eingebetteter Mikroprozessor in einer ASIC mit 33 MHz getaktet werden, und eine Schnittstellenkomponente, wie z. B. eine Lokales-Netz- (LAN-) Steuerung, kann mit 10 MHz getaktet werden. Falls Signale von einem Modul zum anderen geleitet werden, muss darauf geachtet werden, die Signale von der Quelle mit dem Taktbereich des Ziels zu synchronisieren. Dies ist in 1 gezeigt, bei der es sich um ein schematisches Blockdiagramm einer Schaltung handelt, die eine Synchronisiereinrichtung 20 zum Synchronisieren von Signalen zwischen verschiedenen Schaltungselementen, z. B. einem Mikroprozessor 10 und einer LAN-Steuerung 30, umfasst.
  • Schaltungen, die nicht in Synchronisation betrieben werden, werden als asynchrone Schaltungen bezeichnet. Obwohl asynchrone Schaltungen absichtlich in verschiedene Entwürfe eingeführt werden können, ist es in hohem Maße unerwünscht, einen Entwurf zu erzeugen, der ungeplante asynchrone Schaltungen umfasst. Falls dementsprechend die Synchronisation von Signalen, die sich zwischen Taktbereichen bewegen, übersehen wird, können Zeitgebungsprobleme in Form von Einrichtungs- oder Halteverletzungen auftreten, was zu metastabilen Zuständen bei Flipflops führt, die bei dem Entwurf verwendet werden. Dieser Zustand kann verschiedene Funktionsprobleme bei einem Entwurf verursachen, wie z. B. Datenverfälschung, oder derselbe kann bewirken, dass Zustandsmaschinen hängen bleiben oder zu unzulässigen Zuständen übergehen. Bei Entwürfen, die eine große Anzahl von Modulen oder Komponenten aufweisen, könnte es Hunderte von Signalen geben, die eine Synchronisation benötigen. Somit nimmt die Möglichkeit des Übersehens eines Signals, das eine Synchronisation benötigt, in dem Maße zu, in dem die Größe eines Entwurfs zunimmt.
  • Es gibt mehrere bekannte Verfahren zum Sicherstellen, dass ein Entwurf frei von jeglichen ungeplanten asynchronen Schaltungen ist. Ein Verfahren liefert klar definierte Schnittstellen zwischen Modulen und veranlasst die Module, sich an strenge Synchronisationsanforderungen zu halten. Diese Technik erfordert eine gut verstandene und dokumentierte Schnittstelle oder die genaue Kenntnis des Entwurfs und aller anderen Entwürfe, die mit dem Entwurf eine Schnittstelle bilden können, seitens des Entwicklers. Dabei handelt es sich um einen derzeit bevorzugten Entwurfsansatz, derselbe weist jedoch seine Nachteile auf. Zum Beispiel bevorzugt dieser Ansatz gut dokumentierte Spezifikationen. Falls eine Dokumentation nicht vorbereitet oder vernachlässigt ist, ist der im Vorhergehenden genannte Ansatz weder umfassend noch vollständig.
  • Aufgrund der gesteigerten Fähigkeit von Systemen, Funktionen in ASICs zu integrieren, werden Schaltungsentwürfe komplexer und viel größer. Entwurfsteams können aus mehreren Entwicklern bestehen, und deshalb kann es für einen einzelnen Entwickler schwierig sein, eine genaue Kenntnis aller Module bei einem Entwurf zu erreichen. Da es nicht mehr üblich und auch nicht praktisch ist, dass nur ein einziger Entwickler an einer ASIC arbeitet, muss das Wissen über einen Entwurf so portabel wie der Entwurf selbst sein. Falls ein Entwickler nicht mehr zur Beratung zur Verfügung steht, geht die genaue Kenntnis des Entwurfs verloren und falsche Annahmen können bezüglich des Entwurfs gemacht werden. Dieser Ansatz eignet sich auch nicht gut für die Verwendung von geistigem Eigentum Dritter, das zur Verwendung bei einem größeren Entwurf verfügbar sein kann, da das Wissen über dieses geistige Eigentum Dritter eventuell nicht mehr für Entwurfszwecke zur Verfügung steht.
  • Ein weiterer Ansatz zum Prüfen eines Entwurfs auf asynchrones Verhalten hin liefert eine strenge Entwurfsprüfung durch Entwickler, um übersehene Elemente bei Synchronisationsverfahren und -praktiken zu erfassen. Dieser Ansatz ist von seiner Beschaffenheit her manuell und arbeitsintensiv und aufgrund der mangelnden Vertrautheit eines Entwicklers mit einem Entwurf fehleranfällig.
  • Ein sekundärer Faktor bei der zunehmenden Fehlerwahrscheinlichkeit ist die Komplexität des Entwurfs selbst und die entsprechende Dateistruktur, die dem Entwurf zugeordnet ist. Wie es im Vorhergehenden erörtert ist, können ASIC-Entwürfe Hunderte von Modulen aufweisen, die dazu neigen, hierarchisch angeordnet zu sein. 2 ist ein schematisches Blockdiagramm eines ASIC-Entwurfs, das die hierarchische Anordnung von Modulen in dem Entwurf zeigt. Ein Grundproblem beim Prüfen auf eine asynchrone Schaltungsanordnung bei einem Entwurf hin besteht darin, dass eine Hierarchie zusätzliche Komplexität in den Entwurf einbringt. Ein Verfolgen von Signalen von einer Zielvorrichtung auf Ebene 2 in Verzweigung A (level2a.v) zu einer Quellenvorrichtung auf Ebene 3 in Verzweigung B (nicht gezeigt) erfordert, dass ein Entwickler viele Dateien abtastet, wobei sowohl Zieltakt als auch Daten verfolgt werden.
  • In dem Maße, in dem die Anzahl von Entwurfsschichten und die Tiefe der Hierarchie zunehmen, wird der Verifizierungsprozess problematischer. Die Aufgabe wird ferner verkompliziert, falls sich die Signalnamen des Taktes oder der Daten von einem Modul zum nächsten verändern. Zum Beispiel ist es in der HDL-Sprache zulässig (und in einigen Fällen nötig), ein Signal z. B. auf einer Ebene CLK 33 und auf einer anderen Ebene CLK zu nennen.
  • Es wäre vorteilhaft, ein verbessertes Verfahren und eine verbesserte Vorrichtung zum Prüfen von asynchronen HDL-Schaltungsentwürfen zu schaffen.
  • Der Artikel „Detection and Identification of Asynchronous Logic in a Synchronous Environment" IBM technical disclosure bulletin, US, IBM corp. New York, Bd. 34, Nr. 11, 1. April 1992 (1992-04-01), S. 462–464, XP000303329 ISSN: 0018–8689 offenbart eine Softwareeinrichtung, um bei der Erfassung und Identifikation einer asynchronen Logik in einer synchronen Umgebung durch ein Liefern eines Prozesses und eines Algorithmus zu helfen, der garantiert, dass alle Grenzen zwischen asynchroner und synchroner Logik identifiziert werden. Bei dieser Identifikation wird ein Bericht erzeugt, um alle möglichen Problem-Latches anzuzeigen, die an dem Entwurf beteiligt sind.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Vorrichtung geliefert, die angepasst ist, um einen Entwurf für eine integrierte Schaltung, der in einem Hardwarebeschreibungssprach- (HDL-) Code ausgedrückt ist, auf asynchrone Wege hin zu überprüfen, wobei der Entwurf für eine integrierte Schaltung Module aufweist, wobei jedes Modul Taktsignaleingänge, Moduleingangssignale, Modulaus gangssignale, interne Signale aufweist, wobei es sein kann, dass die verschiedenen Module nicht alle in dem gleichen Taktbereich wirksam sind, wobei die Vorrichtung folgende Merkmale aufweist:
    eine Signaltabellenerzeugungseinrichtung, die angepasst ist, um eine Eingangs-HDL-Quellendatei als einen Strom von Tokens syntaktisch zu analysieren, wobei neue Signale, die in dem Strom erfasst werden, zu einer Signaltabelle hinzugefügt werden, wobei für jedes hinzugefügte Signal alle Speisungssignale und der Taktsignalbereich für dieses Signal gespeichert werden;
    eine Signalbereichauflösungseinrichtung, die angepasst ist, um die Signaltabelle in mehreren Durchgängen zu verarbeiten, bis ein Logikkegel hinter jedem Signal vollständig bestimmt ist, durch ein Auflösen der Taktsignalbereiche aller Speisungssignale zu jedem Signal, und um eine Liste zu erzeugen, die die Taktsignalbereiche aller Speisungssignale speichert;
    eine Bereichsverifizierungseinrichtung, die angepasst ist, um den Taktsignalbereich jedes Flipflops, das die Speisungssignale verwendet, mit dem Taktsignalbereich der Speisungssignale dazu zu vergleichen, und um jedes Flipflop mit einem Code zu etikettieren, der das Ergebnis des Vergleichs beschreibt; und
    eine Berichterzeugungseinrichtung, die angepasst ist, um Berichte abhängig von Eingangsparametern in einem ausgewählten Ausgangsformat anzuzeigen.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Durchführen einer Entwurfsprüfung eines Entwurfs für eine integrierte Schaltung, der in einem Hardwarebeschreibungssprach- (HDL-) Code ausgedrückt ist, bezüglich eines asynchronen Wegs geliefert, wobei der Entwurf für eine integrierte Schaltung Module aufweist, wobei jedes Modul Taktsignaleingänge, Moduleingangssignale, Modulausgangssignale, interne Signale aufweist, wobei es sein kann, dass die verschiedenen Module nicht alle in dem gleichen Taktbereich wirksam sind, wobei das Verfahren folgende Schritte aufweist:
    Erzeugen einer Signaltabelle durch ein syntaktisches Analysieren einer Eingangs-HDL-Quellendatei in einen Strom von Tokens, Erfassen neuer Signale in diesem Strom von Tokens, und Hinzufügen von erfassten Signalen zu der Signaltabelle, wobei für jedes hinzugefügte Signal alle Speisungssignale und der Taktsignalbereich für dieses Signal gespeichert werden;
    Auflösen eines Signalbereichs durch ein Verarbeiten der Signaltabelle in mehreren Durchgängen, bis ein Logikkegel hinter jedem Signal vollständig bestimmt ist, durch ein Auflösen der Taktsignalbereiche aller Speisungssignale zu jedem Signal, und Erzeugen einer Liste, die die Taktsignalbereiche aller Speisungssignale umfasst;
    Verifizieren eines Bereichs durch ein Verwenden der vollständigen Signaltabelle, um den Taktsignalbereich der Speisungssignale mit dem Taktsignalbereich jedes Flipflops, das die Speisungssignale verwendet, zu vergleichen, und Etikettieren jedes Flipflops mit einem Code, der das Ergebnis des Vergleichs beschreibt; und
    Erzeugen eines Berichts.
  • Diese Erfindung liefert ein Werkzeug, das den Entwurfsprüfungsprozess automatisiert und beschleunigt. Diese Erfindung ermöglicht es Entwicklern, eine umfassende Entwurfsprüfung des HDL-Codes des Entwurfs auf asynchrone Wege hin sehr früh in dem Entwurfsprozess durchzuführen. Das Werkzeug ist bezüglich einer gesamten Hierarchie oder eines beliebigen Teilblocks des Entwurfs wirksam. Filter sind bereitgestellt, um es dem Benutzer zu ermöglichen, bekannte und erwünschte Synchronisationsschaltungen von der Ausgabe, die durch das Werkzeug erzeugt wird, auszuklammern. Das Werkzeug liefert eine Ausgabe, die eines von zwei Formaten annehmen kann, d. h. die Ausgabe kann in einer tabellarischen Form durch einen hierarchischen Signalnamen präsentiert werden, oder dieselbe kann in einer graphischen, schematischen Blockdiagrammform präsentiert werden.
  • In Betrieb führt das Werkzeug eine erschöpfende Durchsuchung aller Schaltungen durch und identifiziert jegliches asynchrone Verhalten. Dies erzeugt einen Entwurf höherer Qualität, was durch ein Verringern von ASIC-Neuentwürfen, die sich aus Entwurfszeitgebungsfehlern ergeben, eine schnellere Vermarktungszeit ermöglicht.
  • Das Werkzeug weist eine einfache Benutzerschnittstelle auf. Die Benutzerschnittstelle erfordert nur zwei Benutzereingaben und liefert mehrere Programmverhaltensmodifizierungsoptionen. Die zwei obligatorischen Felder identifizieren den Ort aller Entwurfsdateien und das Modul, bei dem das Werkzeug seine Analyse beginnen soll.
  • Das Werkzeug beginnt seine Analyse auf der Ebne des Moduleingangs und durchläuft den Entwurf von diesem Punkt die Hierarchie abwärts zu allen Endmodulen.
  • 1 ist ein schematisches Blockdiagramm einer Schaltung, die eine Synchronisiereinrichtung zum Synchronisieren von Signalen zwischen verschiedenen Schaltungselementen umfasst;
  • 2 ist ein schematisches Blockdiagramm eines ASIC-Entwurfs, das die hierarchische Anordnung von Modulen in dem Entwurf zeigt;
  • 3 ist ein Flussdiagramm eines Verfahrens und einer Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen, die unter Verwendung der Hard warebeschreibungssprache (HDL) gemäß der Erfindung ausgedrückt sind;
  • 4 ist ein Flussdiagramm einer ersten Phase des Verfahrens und der Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen gemäß der Erfindung;
  • 5 ist ein Flussdiagramm einer zweiten Phase des Verfahrens und der Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen gemäß der Erfindung;
  • 6 ist ein Flussdiagramm einer dritten Phase des Verfahrens und der Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen gemäß der Erfindung;
  • 7 ist ein Flussdiagramm einer vierten Phase des Verfahrens und der Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen gemäß der Erfindung; und
  • 8 ist eine schematische Darstellung einer graphischen Benutzerschnittstelle für das Verfahren und die Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen gemäß der Erfindung.
  • Die Erfindung liefert ein Werkzeug, das den ASIC-Entwurfsprüfungsprozess automatisiert und beschleunigt. Die Erfindung ermöglicht es Entwicklern, eine umfassende Entwurfsprüfung des HDL-Codes des Schaltungsentwurfs auf asynchrone Wege hin sehr früh in dem Entwurfsprozess durchzuführen. Das Werkzeug ist entweder bezüglich einer gesamten Hierarchie oder bezüglich eines beliebigen Teilblocks des Schaltungsentwurfs wirksam. Filter sind bereitgestellt, um es dem Benutzer zu ermöglichen, bekannte und erwünschte Synchronisationsschaltungen von der Ausgabe, die durch das Werkzeug erzeugt wird, auszuklammern. Das Werkzeug erzeugt eine Ausgabe, die eines von zwei Formaten annehmen kann, d. h. die Ausgabe kann in einer tabellarischen Form durch einen hierarchischen Signalnamen (siehe unten) präsentiert werden, oder dieselbe kann in einer beliebigen gewünschten graphischen schematischen Blockdiagrammform (nicht gezeigt) unter Verwendung bekannter Anzeigetechniken präsentiert werden.
  • In Betrieb führt das Werkzeug eine erschöpfende Durchsuchung aller Schaltungen durch und identifiziert jegliches asynchrone Verhalten. Dies erzeugt einen Entwurf höherer Qualität, was durch ein Verringern von ASIC-Neuentwürfen, die sich aus Entwurfszeitgebungsfehlern ergeben, eine schnellere Vermarktungszeit ermöglicht.
  • Die Benutzerschnittstelle erfordert zwei Dateneingaben und liefert zusätzliche optionale Felder. Die zwei obligatorischen Felder identifizieren den Ort aller Entwurfsdateien und das Modul, bei dem das Werkzeug seine Analyse beginnen soll. Das Werkzeug beginnt seine Analyse auf der Ebene des Moduleingangs und durchläuft den Entwurf von diesem Punkt die Hierarchie abwärts zu allen Endmodulen.
  • Die folgende Erörterung identifiziert zusammen mit den 37 den logischen Fluss der hier beschriebenen Erfindung, d. h. der Asynchroner-HDL-Entwurf-Prüfungseinrichtung. Wie es in 3 gezeigt ist, kann der Betrieb der Entwurfsprüfungseinrichtung in vier Hauptphasen unterteilt werden, und zwar Signaltabellenerzeugung (100), Signalbereichsauflösung (110), Bereichsverifizierung (120) und Berichterzeugung (130). Jede Phase ist im Folgenden beschrieben.
    • • Phase I. Signaltabellenerzeugung (siehe 4) – Während dieser Phase wird eine Eingangs-HDL-Quellendatei (220) als ein Strom von Tokens (200) syntaktisch analysiert. Wenn neue Signale erfasst werden (210), werden dieselben zu einer Signaltabelle (240) hinzugefügt (230) und während der nachfolgenden Ausführung des Programms modifiziert. Modulinstanzierungen werden bearbeitet, wenn dieselben aufgefunden werden.
    • • Phase II. Signalbereichsauflösung (siehe 5) – In dieser Phase wird die Signaltabelle (240) in mehreren Durchgängen verarbeitet (300), bis der Logikkegel hinter jedem Signal vollständig bestimmt ist (330). Eine Liste, die Speisungssignale (340) für jedes Signal umfasst, wird erzeugt.
    • • Phase III. Bereichsverifizierung (siehe 6) – Die vollständige Signaltabelle (240) wird verwendet, um den Bereich der Speisungssignale (340) mit dem Bereich jedes Flipflops, das dieselben verwendet, zu vergleichen (400). Jedes Signal wird mit einem Code, der die Ergebnisse der Verarbeitung beschreibt, wie folgt etikettiert (420)
    • – 0) – kombinatorische Logik, die von mehreren Quellen gespeist wird;
    • – 1) – keine Bereichsverletzungen (doppelsync Flop);
    • – 2) – Eingangssignal von externer Quelle;
    • – 3) – mehrere Takte in Speisungssignal;
    • – 4) – nicht in der Lage, Speisungssignal(e) aufzulösen;
    • – 5) – Speisungseinrichtung in einem Bereich, Floptakt in einem anderen Bereich (Bereichskreuzung);
    • – 6) – unbekanntes Problem mit Signaltabelle (ungültiger Bereichseintrag);
    • – X) – unvollständige Informationen (nicht in der Lage, Bereiche zu prüfen); oder
    • – S) – Signal ausgelassen (Signal nicht für Bereichskreuzung berücksichtigt).
    • • Phase IV. Berichterzeugung (siehe 7 und 8) – Abhängig von den Eingangsparametern kann eines von mehreren möglichen Ausgangsformaten zur Anzeige (510) ausgewählt werden (500). Diese Formate umfassen:
    • – ein textbasiertes, koloriertes HTML-Format (Voreinstellung):
    • – eine Auflistung aller Signale in einem spezifizierten Bereich;
    • – eine Auflistung aller Signale in einem spezifizierten Modul;
    • – eine hierarchische Anzeige des Logikkegels hinter einem spezifizierten Signal;
    • – eine Liste aller Module, die durch ein spezifiziertes Rücksetzsignal rückgesetzt werden;
    • – eine Auflistung von erfassten potentiellen Rücksetzproblemen;
    • – ein Speicherauszug der Signalinformationsdatenbank, die während einer Programmausführung kompiliert wird;
    • – ein Nur-Text-Diagramm, das Problemsignale und ihre Speisungseinrichtungen zeigt;
    • – ein Schlüsselwortfrequenzdiagramm; und/oder
    • – ungültige oder fehlende Rücksetzsignale.
  • Programmoptionen.
  • Die folgenden Optionen sind bei dem derzeit bevorzugten Ausführungsbeispiel der Erfindung bereitgestellt. Es sei darauf hingewiesen, dass zusätzliche Optionen als eine Frage der Wahl für einen Fachmann aufgenommen werden können.
    • • Alle Signale anzeigen: Ein Auswählen dieser Optionen zwingt die Erfindung, alle Signale, die in einer SigInfo-Datenbank enthalten sind, zusammen mit einer Beschreibung des Problemcodes, der jedem Signal zugeordnet ist, anzuzeigen. Das Wählen dieser Option ist identisch mit einem Auswählen aller Optionen in der Gruppe von Ankreuzkästchen, die unmittelbar unter derselben eingerückt sind, mit Ausnahme von „etikettierte synchrone Flops ausschließen" (siehe 8, im Folgenden beschrieben);
    • • Doppelsynchrone Flops anzeigen: Wenn diese Option ausgewählt wird, werden Signale, die vollständig synchronisiert sind (keine Gefahr von Bereichskreuzungsverletzungen), angezeigt;
    • • Bereichskreuzung anzeigen: Per Voreinstellung ausgewählt. Wenn diese Option ausgewählt wird, werden bekannte Bereichskreuzungsverletzungen angezeigt. Falls ein Signal das Ausgangssignal der ersten Synchronisationsstufe ist, wird es trotzdem als eine Bereichskreuzung markiert, es sei denn, sein Name ist mit einem benutzerdefinierten Filtermuster (d. h. sync) präfixiert und die Option „etikettierte synchrone Flops ausschließen" ist ausgewählt;
    • • Etikettierte synchrone Flops ausschließen: Diese Option ist ein Modifikationsmittel der Option „Bereichskreuzung anzeigen". Wenn diese Option ausgewählt wird, werden Signale, die normalerweise als bereichskreuzungsverletzend betrachtet würden, ignoriert, vorausgesetzt, ihr Name ist mit einem benutzerdefinierten Filtermuster präfixiert. (Mehrere Filtermuster können definiert sein, wobei in diesem Fall das Signal nicht markiert wird, wenn Filter übereinstimmen);
    • • Signale mit Mehrtaktbereicheingängen anzeigen: Wenn dieselbe ausgewählt wird, zeigt diese Option synchrone Signale an, die Eingangssignale aufweisen, die in unterschiedlichen Taktbereichen liegen;
    • • Kombinatorische Signale anzeigen: Diese Option erzwingt die Anzeige von nicht synchronen Signalen, die sich in einem einzigen Taktbereich befinden. Falls ein kombinatorisches Signal Speisungssignale aufweist, die in mehr als einem Bereich erzeugt werden, wird das Ausgangssignal des Signals durch die Option „Kombinatorische Logik anzeigen, die durch Signale in unterschiedlichen Bereichen gespeist wird" gesteuert (im Folgenden erörtert);
    • • Nicht aufgelöste Signale anzeigen: Per Voreinstellung ausgewählt. Wenn diese Option ausgewählt wird, werden Signale angezeigt, die durch die Erfindung nicht vollständig bestimmt worden sind. Dies erfolgt nur, falls notwendige Informationen nicht verfügbar sind;
    • • Externe Eingangssignale anzeigen: Wenn ein Signal in das Modul der höchsten Ebene eintritt, wird dasselbe als eine Eingabe von der Außenwelt betrachtet und es werden keine Annahmen bezüglich desselben vorgenommen. Wenn diese Option ausgewählt wird, werden alle derartigen Eingangssignale gezeigt;
    • • Signale anzeigen, die nicht auf Bereichskreuzungen hin geprüft werden: Bestimmte Signale werden durch die Erfindung nicht auf Bereichskreuzungsverletzungen hin geprüft, da dies nicht sinnvoll wäre. Diese Signale umfassen externe Eingangssignale und kombinatorische Logik. Wenn diese Option ausgewählt wird, werden diese Signale angezeigt und dementsprechend etikettiert;
    • • Eine kombinatorische Logik anzeigen, die durch Signale in unterschiedlichen Bereichen gespeist wird: Wenn diese Option ausgewählt wird, werden Ausgangssignale von einer kombinatorischen Logik, deren Eingangssignale mehr als eine Taktquelle (oder eine Mischung von synchronen und asynchronen Signalen) enthalten, angezeigt; und
    • • Alle Bereichsnamen anzeigen: Ein Auswählen dieser Option führt dazu, dass die Erfindung eine Liste aller aufgefundenen Taktbereiche und der Signale, die in denselben liegen, anzeigt.
  • 8 ist eine schematische Darstellung einer graphischen Benutzerschnittstelle für das Verfahren und die Vorrichtung zum Prüfen von asynchronen Schaltungsentwürfen gemäß der Erfindung. 8 zeigt verschiedene Anzeigeoptionen, die einem Benutzer während des Betriebs der Erfindung (wie im Vorhergehenden erörtert) präsentiert werden. Es sei darauf hingewiesen, dass das tatsächliche Erscheinungsbild der Benutzerschnittstelle sowie die bestimmten Anzeigeoptionen, die dem Benutzer präsentiert werden, für einen Fachmann eine Frage der Wahl sind.
  • Befehlszeilenformat.
  • Das derzeit bevorzugte Befehlszeilenformat, das bei der Erfindung verwendet wird, sieht wie folgt aus:
    DDr sourcefilepath modulename [-all_pcodes|-domain_x|-double_sync|-keyfreq_multi_clk_in|-show_domains|-no_syncs|-resets|-show_d[domain]|-show_mod[mod]|-show_reset[signals]|-show_sig[signal]|-sig_tab|-unresolved|-graphic
  • Beispiele für Befehlszeilen.
    • • DDr /source/ verilog.v -graphic -all_pcodes: Eine HTML-Auflistung aller Flipflops erzeugen, wobei der Logikkegel hinter jedem Flipflop gezeigt wird. Das Flipflop-Signal ist mit einer Graphik hypertextverknüpft, die die Logikwolke mit Speisungseinrichtungen zu dem Flipflop zeigt.
    • • DDr /source/ verilog.v -sigtab -keyfreq -reset: Erzeugt eine Textauflistung von Flipflops, die Bereichskreuzungen aufweisen können. Außerdem wird die erzeugte Signaltabelle zusammen mit einer Verilog-Schlüsselwortfrequenztabelle angezeigt.
  • Musterausgabe:
    • → Q5 (clk2) [n_reset]
    • comb1
    • → Q2 (clk1)
    • D1 (Extern)
    • Q3 (clk2)
    • D3 (Extern)
  • Schlüsselwortzuweisungen.
  • Tabelle 1 unten zeigt Schlüsselwortzuweisungen für ein bevorzugtes Ausführungsbeispiel der Erfindung.
  • Tabelle 1. Schlüsselwortzuweisungen
    Figure 00160001
  • BEISPIEL 1
  • Im Folgenden werden ein Verilog-Eingangscodebeispiel, die Ausgabe, die während der Ausführung durch die Erfindung erzeugt wird, und die erzeugte Tabelle sowie die Art, wie die Daten aus der Tabelle erzeugt werden, geliefert.
  • Verilog-Eingangscode.
    Figure 00160002
  • Figure 00170001
  • Figure 00180001
  • Figure 00190001
  • Beispiel für eine Ausgabe während einer Programmausführung.
    • Verarbeitung Befehlszeile ...
    • Ausgewählte Optionen: -all_pcodes -show_d[clk2] -show_mod[ddr] -show_sig[out] -show_reset[n_reset] -resets -sig_tab -keyfreq
    • Start Phase I (syntaktisches Analysieren Quellendatei)...
    • Syntaktisches Analysieren (Top)/mnt/hci4/test/ddr.v
    • Verarbeitung Modul ddr...
    • Warnung: Ungültige Rücksetzung bei /mnt/hci4/test/ (ddr).
    • Erwartet n_reset, gefunden Q3
    • Modul ddr verarbeitet.
    • Phase I abgeschlossen. Start Phase II
    • Taktbereiche auflösen
    • Start Durchgang 1
    • Q1 Speisungsbereich von (!) zu (Extern) geändert
    • Q2 Speisungsbereich von (!) zu (Extern) geändert
    • Q3 Speisungsbereich von (!) zu (Extern) geändert
    • Q4 Speisungsbereich von (!) zu (clk1) geändert
    • comb1 Speisungsbereich von (!) zu (MULT) geändert
    • comb2 Speisungsbereich von (!) zu (clk1) geändert
    • new_Q9 Speisungsbereich von (!) zu (MULT) geändert
    • out Speisungsbereich von (!) zu (MULT) geändert
    • Start Durchgang 2
    • Q5 Speisungsbereich von (!) zu (MULT) geändert
    • Q6 Speisungsbereich von (!) zu (MULT) geändert
    • Q7 Speisungsbereich von (!) zu (clk1) geändert
    • Q8 Speisungsbereich von (!) zu (clk1) geändert
    • Q9 Speisungsbereich von (!) zu (MULT) geändert
    • Start Durchgang 3
    • Phase II abgeschlossen. Start Phase III
    • (Suche nach Bereichskreuzungen)...
    • Q1 – unbekannter Bereich (externes Signal)
    • Q2 – unbekannter Bereich (externes Signal)
    • Q3 – unbekannter Bereich (externes Signal)
    • Q5 – mehrere Takte in Speisungssignal
    • Q6 – mehrere Takte in Speisungssignal
    • Q8 – Speisungseinrichtung in einem Bereich, Flop in einem anderen
    • Q9 – mehrere Takte in Speisungssignal
    • Phase III abgeschlossen.
      Signal: D1 Auflösungscode: S
      Signal: Q1 Auflösungscode: 2
      Signal: Q2 Auflösungscode: 2
      Signal: Q3 Auflösungscode: 2
      Signal: Q4 Auflösungscode: 1
      Signal: Q5 Auflösungscode: 3
      Signal: Q6 Auflösungscode: 3
      Signal: Q7 Auflösungscode: 1
      Signal: Q8 Auflösungscode: 5
      Signal: Q9 Auflösungscode: 3
      Signal: clk1 Auflösungscode: S
      Signal: clk2 Auflösungscode: S
      Signal: comb1 Auflösungscode: 0
      Signal: comb2 Auflösungscode: S
      Signal: n_reset Auflösungscode: S
      Signal: new_Q9 Auflösungscode: 0
      Signal: out Auflösungscode: 0
  • Ausgabe der Tabellenerzeugung.
  • Tabelle 2 unten ist eine Beispielsausgangstabelle, die durch die Erfindung erzeugt wird. Tabelle 2. Beispielsausgabe der Tabellenerzeugung
    Figure 00220001
    • * MC = mehrere Takte Fertig.
  • Analyse der Beispielsausgabe.
  • Es wurde festgestellt, dass der Taktbereich des Q8-Flopausgangssignals während Phase I der Verarbeitung clk2 war. Auch wurde während Phase I comb2 als die einzige Speisungseinrichtung zu Q8 erfasst – und Q2 und Q4 waren Speisungen zu comb2.
  • Während Phase II wurden alle Speisungssignalbereiche aufgelöst (d. h. comb2 verwendet Q2 und Q4, die beide durch clk1 getaktet werden, also wird comb2 als in dem clk1-Bereich befindlich betrachtet). Da die einzige Speisungseinrichtung in Q8 comb2 ist, wird clk1 als der Speisungsbereich betrachtet.
  • Während Phase III wird der Bereich der Speisungseinrichtung (clk1) bezüglich des Taktbereichs (clk2) des Flops geprüft. Da dieselben nicht übereinstimmen, wird Q8 mit dem folgenden Fehler markiert:
    • • Speisungssignale in einem Taktbereich, Floptakt in einem anderen.
  • Obwohl die Erfindung hier unter Bezugnahme auf das bevorzugte Ausführungsbeispiel beschrieben ist, wird ein Fachmann ohne weiteres erkennen, dass andere Anwendungen die hier dargelegten ersetzen können, ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen. Dementsprechend soll die Erfindung nur durch die im Folgenden aufgenommenen Ansprüche beschränkt sein.

Claims (15)

  1. Eine Vorrichtung, die angepasst ist, um einen Entwurf für eine integrierte Schaltung, der in einem Hardwarebeschreibungssprach- (HDL) Code ausgedrückt ist, auf asynchrone Wege hin zu überprüfen, wobei der Entwurf für eine integrierte Schaltung Module aufweist, wobei jedes Modul Taktsignaleingänge (clk1; clk2), Moduleingangssignale (D1; D3), Modulausgangssignale (Q7; Q8, Q9), interne Signale (Q1; Q2; ...; Q6; comb1; comb2) aufweist, wobei es sein kann, dass die verschiedenen Module nicht alle in dem gleichen Taktbereich wirksam sind, wobei die Vorrichtung folgende Merkmale aufweist: eine Signaltabellenerzeugungseinrichtung (100), die angepasst ist, um eine Eingangs-HDL-Quellendatei (220) als einen Strom von Tokens (200) syntaktisch zu analysieren, wobei neue Signale, die in dem Strom erfasst werden, zu einer Signaltabelle (240) hinzugefügt werden, wobei für jedes hinzugefügte Signal alle Speisungssignale und der Taktsignalbereich für dieses Signal gespeichert werden; eine Signalbereichauflösungseinrichtung (110), die angepasst ist, um die Signaltabelle (240) in mehreren Durchgängen zu verarbeiten (300), bis ein Logikkegel hinter jedem Signal vollständig bestimmt ist (330), durch ein Auflösen (210) der Taktsignalbereiche aller Speisungssignale zu jedem Signal, und um eine Liste (340) zu erzeugen, die die Taktsignalbereiche aller Speisungssignale speichert; eine Bereichsverifizierungseinrichtung (120), die angepasst ist, um den Taktsignalbereich jedes Flipflops, das die Speisungssignale verwendet, mit dem Taktsignalbereich der Speisungssignale dazu zu vergleichen, und um jedes Flipflop mit einem Code zu etikettieren, der das Ergebnis des Vergleichs beschreibt; und eine Berichterzeugungseinrichtung (130), die angepasst ist, um Berichte abhängig von Eingangsparametern in einem ausgewählten (500) Ausgangsformat anzuzeigen (510).
  2. Die Vorrichtung gemäß Anspruch 1, wobei die Vorrichtung entweder für eine gesamte Hierarchie oder für einen beliebigen Teilblock des Schaltungsentwurfs wirksam ist.
  3. Die Vorrichtung gemäß Anspruch 1 oder 2, bei der die Berichterzeugungseinrichtung (130) eine Ausgabe erzeugt, die entweder in einer tabellarischen Form durch einen hierarchischen Signalnamen oder in einer beliebigen gewünschten graphischen, schematischen Blockdiagrammform präsentiert werden kann.
  4. Die Vorrichtung gemäß einem der vorhergehenden Ansprüche, die folgendes Merkmal aufweist: eine Benutzerschnittstelle, die zwei Dateneingaben benötigt und die mehrere optionale Felder bereitstellt.
  5. Die Vorrichtung gemäß Anspruch 4, bei der die zwei benötigten Dateneingaben einen Ort aller Entwurfsdateien und ein Modul identifizieren, bei dem die Vorrichtung ihre Analyse beginnen soll.
  6. Die Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Berichterzeugungseinrichtung (130) beliebige ein oder mehr mögliche Ausgangsformate zur Anzeige erzeugt.
  7. Die Vorrichtung gemäß Anspruch 6, bei der die Ausgangsformate beliebige Kombinationen der Folgenden aufweisen: ein textbasiertes, koloriertes HTML-Format; eine graphische Darstellung von Bereichen unter Verwendung von Flipflop- und kombinatorischen Symbolen; eine Auflistung aller Signale in einem spezifizierten Bereich; eine Auflistung aller Signale in einem spezifizierten Modul; eine hierarchische Anzeige des Logikkegels hinter einem spezifizierten Signal; eine Liste aller Module, die durch ein spezifiziertes Rücksetzsignal rückgesetzt werden; eine Auflistung von erfassten potentiellen Rücksetzproblemen; ein Speicherauszug einer Signalinformationsdatenbank, die während einer Programmausführung kompiliert wird; ein Nur-Text-Diagramm, das Problemsignale und ihre Speisungseinrichtungen zeigt; ein Schlüsselwortfrequenzdiagramm; eine Liste aller Bereiche, die während einer Programmausführung erfasst werden; und ungültige Rücksetzsignale, die während einer Programmausführung angezeigt werden.
  8. Die Vorrichtung gemäß Anspruch 6 oder 7, bei der die Berichterzeugungseinrichtung (130) ferner zumindest eine der folgenden Optionen aufweist: alle Signale anzeigen; doppelsynchrone Flops anzeigen; Bereichskreuzungen anzeigen; etikettierte synchrone Flops ausschließen; Signal mit Mehrtaktbereicheingängen anzeigen; kombinatorische Signale anzeigen; nicht aufgelöste Signale anzeigen; externe Eingangssignale anzeigen; Signale anzeigen, die nicht auf Bereichskreuzungen hin geprüft werden; und eine kombinatorische Logik anzeigen, die durch Signale in unterschiedlichen Bereichen gespeist wird.
  9. Ein Verfahren zum Durchführen einer Entwurfsprüfung eines Entwurfs für eine integrierte Schaltung, der in einem Hardwarebeschreibungssprach- (HDL) Code ausgedrückt ist, bezüglich eines asynchronen Wegs, wobei der Entwurf für eine integrierte Schaltung Module aufweist, wobei jedes Modul Taktsignaleingänge (clk1; clk2), Moduleingangssignale (D1; D3), Modulausgangssignale (Q7; Q8, Q9), interne Signale (Q1; Q2; ...; Q6; comb1; comb2) aufweist, wobei es sein kann, dass die verschiedenen Module nicht alle in dem gleichen Taktbereich wirksam sind, wobei das Verfahren folgende Schritte aufweist: Erzeugen einer Signaltabelle (240) durch ein syntaktisches Analysieren einer Eingangs-HDL-Quellendatei (220) in einen Strom von Tokens (200), Erfassen neuer Signale (210) in diesem Strom von Tokens, und Hinzufügen (230) von erfassten Signalen zu der Signaltabelle, wobei für jedes hinzugefügte Signal alle Speisungssignale und der Taktsignalbereich für dieses Signal gespeichert werden; Auflösen eines Signalbereichs (100) durch ein Verarbeiten (300) der Signaltabelle (240) in mehreren Durchgängen, bis ein Logikkegel hinter jedem Signal vollständig bestimmt ist (330), durch ein Auflösen (210) der Taktsignalbereiche aller Speisungssignale zu jedem Signal, und Erzeugen einer Liste (340), die die Taktsignalbereiche aller Speisungssignale umfasst; Verifizieren eines Bereichs (120) durch ein Verwenden der vollständigen Signaltabelle (240), um den Taktsignalbereich der Speisungssignale mit dem Taktsignalbereich jedes Flipflops, das die Speisungssignale verwendet, zu vergleichen (400), und Etikettieren (420) jedes Flipflops mit einem Code, der das Ergebnis des Vergleichs beschreibt; und Erzeugen eines Berichts (130).
  10. Das Verfahren gemäß Anspruch 9, wobei das Verfahren seine Prüfung auf der Ebene eines Moduleingangs beginnt und den Entwurf von diesem Punkt eine Hierarchie abwärts zu allen Endmodulen durchläuft.
  11. Das Verfahren gemäß Anspruch 9 oder 10, bei dem Modulinstanzierungen verarbeitet werden, wenn sie aufgefunden werden.
  12. Das Verfahren gemäß einem der Ansprüche 9 bis 11, bei dem die Liste (340) Speisungssignale für jedes Signal umfasst.
  13. Das Verfahren gemäß einem der Ansprüche 9 bis 12, bei dem jedes Signal mit einem Code etikettiert wird, der die Ergebnisse der Verarbeitung beschreibt.
  14. Das Verfahren gemäß Anspruch 13, bei dem die Etiketten jedes beliebige der Folgenden aufweisen: 0) – kombinatorische Logik, die von mehreren Quellen gespeist wird; 1) – keine Bereichsverletzungen (doppelsync Flop); 2) – Eingangssignal von externer Quelle; 3) – mehrere Takte in Speisungssignal; 4) – nicht in der Lage, Speisungssignal(e) aufzulösen; 5) – Speisungseinrichtung in einem Bereich, Floptakt in einem anderen Bereich (Bereichskreuzung); 6) – unbekanntes Problem mit Signaltabelle (ungültiger Bereichseintrag) X) – unvollständige Informationen (nicht in der Lage, Bereiche zu prüfen); und S) – Signal ausgelassen (Signal nicht für Bereichskreuzung berücksichtigt).
  15. Das Verfahren gemäß einem der Ansprüche 9 bis 14, bei dem der Schritt des Erzeugens eines Berichts (130) einen weiteren Schritt eines Anzeigens (510) des Berichts in einem ausgewählten (500) Format umfasst.
DE69831460T 1997-10-02 1998-10-02 Schaltungsentwurfprüfung Expired - Fee Related DE69831460T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/943,085 US6099579A (en) 1997-10-02 1997-10-02 Method and apparatus for checking asynchronous HDL circuit designs
US943085 1997-10-02

Publications (2)

Publication Number Publication Date
DE69831460D1 DE69831460D1 (de) 2005-10-13
DE69831460T2 true DE69831460T2 (de) 2006-08-24

Family

ID=25479078

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69831460T Expired - Fee Related DE69831460T2 (de) 1997-10-02 1998-10-02 Schaltungsentwurfprüfung

Country Status (3)

Country Link
US (1) US6099579A (de)
EP (1) EP0907133B1 (de)
DE (1) DE69831460T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6879948B1 (en) * 1999-12-14 2005-04-12 Silicon Graphics, Inc. Synchronization of hardware simulation processes
KR100375828B1 (ko) * 2000-11-10 2003-03-15 한국전자통신연구원 아이피 인터페이스 파형의 흐름도 변환에 의한브이에이치디엘 코드 생성 방법
US6567961B2 (en) * 2000-12-13 2003-05-20 International Business Machines Corporation Method for detecting lack of synchronism in VLSI designs during high level simulation
US7269811B1 (en) * 2003-01-10 2007-09-11 Xilinx, Inc. Method of and apparatus for specifying clock domains in electronic circuit designs
US7412678B2 (en) * 2004-06-02 2008-08-12 Lsi Corporation Method and computer program for management of synchronous and asynchronous clock domain crossing in integrated circuit design
US20060190754A1 (en) * 2005-02-24 2006-08-24 Atrenta, Inc. A Method for Automatic Recognition of Handshake Data Exchange at Clock-Domain Crossing in Integrated Circuit Design
US8065647B2 (en) * 2007-10-19 2011-11-22 The University Of Utah Research Foundation Method and system for asynchronous chip design
JP5445358B2 (ja) * 2010-07-02 2014-03-19 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5661661A (en) * 1990-12-21 1997-08-26 Synopsys, Inc. Method for processing a hardware independent user description to generate logic circuit elements including flip-flops, latches, and three-state buffers and combinations thereof
US5721895A (en) * 1992-03-17 1998-02-24 International Business Machines Corporation Computer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5392227A (en) * 1992-07-24 1995-02-21 Logic Modeling Corporation System and method for generating electronic circuit simulation models having improved accuracy
US5426591A (en) * 1994-01-28 1995-06-20 Vlsi Technology, Inc. Apparatus and method for improving the timing performance of a circuit
US5854926A (en) * 1995-01-23 1998-12-29 Vlsi Technology, Inc. Method and apparatus for identifying flip-flops in HDL descriptions of circuits without specific templates
US5650938A (en) * 1995-12-13 1997-07-22 Synopsys, Inc. Method and apparatus for verifying asynchronous circuits using static timing analysis and dynamic functional simulation
US5864487A (en) * 1996-11-19 1999-01-26 Unisys Corporation Method and apparatus for identifying gated clocks within a circuit design using a standard optimization tool

Also Published As

Publication number Publication date
DE69831460D1 (de) 2005-10-13
US6099579A (en) 2000-08-08
EP0907133B1 (de) 2005-09-07
EP0907133A3 (de) 2000-05-10
EP0907133A2 (de) 1999-04-07

Similar Documents

Publication Publication Date Title
DE69533275T2 (de) Ein Steuergerät zur Durchführung der Abtastprüfung
DE69834892T2 (de) Eingebetteter Logikanalysator
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
EP0433066A2 (de) Bibliotheksarchitektur mit gemeinsamem Symbol
DE2349324A1 (de) Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE2346617A1 (de) Verfahren zur pruefung der laufzeitverzoegerung einer funktionalen logischen einheit
DE19860061A1 (de) System zur Prüfung der kombinatorischen Äquivalenz
DE69831460T2 (de) Schaltungsentwurfprüfung
DE112006002097T5 (de) Vorsehen genauer Zeitsteuerung zwischen mehreren standardisierten Prüfinstrumentenchassis
Kushik et al. Adaptive homing and distinguishing experiments for nondeterministic finite state machines
DE112006002092T5 (de) Schaltungskartensynchronisation innerhalb eines standardisierten Prüfinstrumentenchassis
EP0580663A1 (de) Verfahren zur verifikation datenverarbeitender systeme.
DE69533567T2 (de) Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
DE10345150B3 (de) Verfahren, Vorrichtung und System zum Analysieren digitaler Schaltungen
DE19748016A1 (de) Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen
DE112006002098T5 (de) Vorsehen genauer Zeitsteuerung innerhalb eines standardisierten Prüfinstrumentenchassis
WO2005086408A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
JP2016081397A (ja) 設計検証支援装置および設計検証支援方法
EP1296152A1 (de) Elektronischer Baustein und Verfahren zu dessen Qualifizierungsmessung
US8156395B2 (en) Methods for generating test patterns for sequential circuits
EP3657363A1 (de) Registertransfer-modell und verfahren zur simulation eines integrierten schaltkreises
EP0457769B1 (de) Verfahren zur erzeugung von testmustern für einen baustein
DE60034337T2 (de) Prüfbare Analog/Digitalschnittstelleschaltung
Beneš et al. Factorization for component-interaction automata

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee