Beschreibung
Vorrichtung und Verfahren zur Synchronisation eines asynchronen Signals in Synthese und Simulation einer getakteten Schaltung.
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur Synchronisation eines asynchronen Signals in Synthese und Simulation einer getakteten Schaltung und insbesondere auf eine Vorrichtung und ein
Verfahren mit dem bei der Durchführung einer Simulation ein kritischer von einem unkritischen Zustand im Zeitverhalten eines Signals in einer getakteten Schaltung getrennt werden kann.
In zunehmendem Maße werden applikationsspezifische integrierte Schaltungen (ASICS) , kundenspezifische integrierte Schaltungen (fullcustom ICs) sowie deren Mischformen (semicustom ICs) vor der Herstellung eines entsprechenden Halbleiterbausteins mittels Simulation vorab auf ihre logische Funktion und ihr zeitliches Verhalten getestet.
Üblicherweise wird hierbei eine Schaltung in einer Hardware-Beschreibungssprache wie beispielsweise einem VHDL- Code beschrieben und mittels eines VHDL Logik-Simulators die logische Funktion der Schaltung überprüft. Eine Überprüfung des Zeitverhaltens der Signale kann jedoch mit einem derartigen Logik-Simulator auf der Grundlage der Hard- ware-Beschreibungssprache (VHDL-Code) nicht durchgeführt werden.
Zur Durchführung einer Überprüfung des Zeitverhaltens einer Schaltung muß vielmehr die Hardware-Beschreibungssprache (VHDL-Code) durch ein Synthese-Tool in eine Netzliste um- gewandelt werden, die einen weiteren Code (Stromlauf) zur Darstellung der ursprünglichen Schaltung darstellt. Anhand
dieser Netzliste kann nunmehr mittels eines Logik/Timing- Simulators auch das Zeitverhalten der Signale in der Schaltung erfaßt bzw. überprüft werden.
Bei einer derartigen Überprüfung des Zeitverhaltens der Signale in der Schaltung bzw. Timing-Simulation können zeitkritische Signalzustände in der Schaltung bereits bei der Simulation erkannt und behoben werden. Beispielhaft sei ein derartiger zeitkritischer Signalzustand anhand eines ge- takteten Flip-Flops erläutert, wobei jedoch die Erfindung nicht auf derartige Bauteile beschränkt ist.
Die Figur 1 zeigt ein Schaltbild eines herkömmlichen Flip- Flops FF1 mit einem Eingangsanschluß D, einem Takteingang CLK und einem Ausgangsanschluß Q. Die Figur 2 zeigt ein beispielhaftes Signal-Zeitverhalten, bei dem kein zeitkritischer Signal-Zustand im getakteten Flip-Flop FF1 auftritt. Abhängig von der jeweils verwendeten Technologie bzw. der technischen Realisierung eines elektronischen Bau- teils (z.B. Flip-Flops) in einem Halbleiter ergeben sich bauteiltypische Kennwerte. Die für das Flip-Flop FF1 gemäß Figur 1 wesentlichen Kennwerte sind hierbei die Setup-Zeit ts und die Hold-Zeit t^. Diese Zeiten legen für das in Figur 1 dargestellte Flip-Flop FF1 einen Zeitraum vor und nach der steigenden Flanke des Taktsignals CLK fest, bei dem eine zuverlässige Übernahme eines am Eingang D anliegenden Signals erfolgt. Da gemäß Figur 2 das Signal am Eingang D bereits vor dem Zeitraum ts und t^ einen stabilen Wert "1" besitzt, wird zum Zeitpunkt der steigenden Flanke des Taktsignals CLK das Signal am Ausgang Q des Flip-Flops FF1 zuverlässig auf "1" gesetzt.
Demgegenüber ist in Figur 3 ein Signal-Zeitverhalten dargestellt, bei dem eine Verletzung der Setup-Zeit ts erfolgt, weshalb der Ausgang Q einen Undefinierten Zustand annimmt. Gemäß Figur 3 fällt die steigende Flanke des Signals am
Eingang D des Flip-Flops FF1 in den Zeitraum ts der Setup- Zeit, weshalb das Signal am Ausgang Q zunächst in einen metastabilen Zustand I gerät, um nach der Zeit tm einen Undefinierten aber festen Zustand II ("0" oder "1") anzu- nehmen. Der metastabile Zustand I besitzt etwa eine Zeitdauer tm = 5x t £), wobei tp£) die Laufzeit im Flip-Flop FF1 vom Takteingang CLK zum Ausgang Q ist . Die Zeitdauer für tm für den metastabilen Zustand I ist abhängig von der verwendeten Technologie und dem verwendeten Halbleiter. Nach dem metastabilen Zustand I, in dem das AusgangsSignal Q üblicherweise schwingt, geht das Ausgangssignal Q in einen stabilen aber Undefinierten Zustand II über, der beliebig und zufällig angenommen wird. Gleiches gilt bei Verletzung der Hold-Zeit.
Derartige unbekannte, d.h. metastabile bzw. Undefinierte, Zustände im Signal-Zeitverhalten sind unerwünscht, da sie die Funktion der dieses Signal verwertenden nachgeschalteten Schaltungselemente nachteilig beeinflussen, und werden nachfolgend allgemein als Setup/Hold-Zeitverletzungen bezeichnet .
Insbesondere bei der Durchführung einer Logik/Timing-Simulation bzw. der Überprüfung des Signal-Zeitverhaltens einer getakteten Schaltung wirkt sich die vorstehend beschriebene Setup/Hold-Zeitverletzung derart aus, daß der Simulator für das betroffene Signal einen "unknown" -Zustand ausgibt und schaltungstechnisch von diesem Signal abhängige Signale bzw. Schaltungselemente nicht mehr überprüft werden können. Dies führt bei einem Großteil von Anwendungsfällen zu erheblichen Problemen (Abbruch der Simulation) .
Die Figur 4 zeigt eine getaktete Schaltung die aus einem ersten ASIC-Modul AI und einem zweiten ASIC-Modul A2 be- steht. Das ASIC-Modul AI wird mit einem ersten Taktsignal CLKI beispielsweise 16 MHz und das ASIC-Modul A2 mit einem
zweiten Taktsignal CLKII beispielsweise 25 MHz betrieben. Die Takte CLKI und CLKII sind nicht synchronisiert, wodurch sich die Problematik ergibt, daß vom ASIC-Modul AI ein zum Taktsignal CLKII asynchrones AusgangsSignal S_ASYNC ausge- geben wird. Das Signal S_ASYNC ist asynchron zum Eingangstaktsignal CLKII. Damit können zwangsläufig Setup/Hold-Zeitverletzungen in einer Eingangsschaltung des ASIC -Moduls A2 auftreten. Bei einer durchzuführenden Logik/Timing-Simulation der Schaltung gemäß Figur 4 kann somit das gesamte ASIC-Modul A2 hinsichtlich seines Zeitverhaltens nicht überprüft werden, da die potentielle Gefahr von Setup/Hold-Zeitverletzungen am Eingangs-FF von ASIC-Modul A2 besteht. Zur Vermeidung eines derartigen Ergebnisses kann entweder die Überprüfung einer Setup/Hold- Zeitverletzung generell abgeschaltet werden oder für die Durchführung der Simulation der Signalverlauf der jeweiligen Signale gezielt verändert werden, beispielsweise wird das Signal S_ASYNCH synchron zum Takt CLKII erzeugt. Eine weitere Möglichkeit besteht darin, einen manuellen Eingriff in die Netzliste der zu simulierenden Schaltung vorzunehmen um die Überprüfung bzw. die Setup-Zeitverletzung für die Eingangsschaltung (Flip-Flop) selektiv zu deaktivieren.
Alle diese Maßnahmen sind jedoch zeitaufwendig, fehler- trächtig oder verschlechtern das Simulationsergebnis, da das reale Zeitverhalten der Signale der Simulation nicht zugrunde gelegt wird.
Der Erfindung liegt daher die Aufgabe zugrunde eine Vor- richtung und ein Verfahren zur Synchronisation eines asynchronen Signals in Synthese und Simulation einer getakteten Schaltung zu schaffen, bei dem die gesamte Schaltung auf einfache Weise hinsichtlich Setup/Hold-Zeitverletzungen überprüft werden kann.
Diese Aufgabe wird hinsichtlich des Verfahrens durch die im Patentanspruch 1 angegebenen Maßnahmen gelöst. Hinsichtlich der Vorrichtung wird diese Aufgabe durch die im Patentanspruch 10 angegebenen Merkmale gelöst.
Erfindungsgemäß wird somit zunächst eine Schaltung mit einer Hardware-Beschreibungssprache beschrieben und die vorhandenen asynchronen Signale markiert. Anschließend erfolgt eine Synthese der Hardware-Beschreibungssprache zum Erstellen einer Netzliste, wobei bei jeder Markierung ein Synchronisations-Modul eingefügt wird. Mit dieser Netzliste wird eine Logik/Timing-Simulation durchgeführt, wobei automatisch die Überprüfung des Zeitverhaltens für jedes eingefügte Synchronisations-Modul deaktiviert wird. Alle weite- ren noch auftretenden Undefinierten Signal-Zeitverhalten werden angezeigt .
Somit können auch getaktete Schaltungen mit einer Vielzahl von zueinander asynchronen Signalen hinsichtlich ihres Zeitverhaltens vollständig überprüft werden, ohne daß dabei aufwendige Gegenmaßnahmen für das Erfassen von nicht vermeidbaren aber Undefinierten Zuständen notwendig werden.
Als Synchronisations-Modul kann beispielsweise ein imagi- näres Flip-Flop eingefügt werden, das aus zwei hinterein- andergeschalteten Flip-Flops besteht, wobei bei der Durchführung der Timing-Simulation automatisch eine Setup/Hold- Zeitverletzungs-Überprüfung für das erste Flip-Flop deaktiviert wird.
Die Erfindung wird nachstehend anhand von Ausführungsbei- spielen unter Bezugnahme auf die Zeichnungen näher beschrieben. Es zeigen:
Figur 1 ein Schaltbild eines getakteten Flip-Flops zur Veranschaulichung von Setup/Hold-Zeitverletzungen;
Figur 2 eine Darstellung der Signal -Zeitverläufe im Flip- Flop gemäß Figur 1, wobei kein unbekannter Zustand auftritt;
Figur 3 eine Darstellung der Signal-Zeitverläufe im Flip- Flop gemäß Figur 1, wobei unbekannte Zustände auftreten; Figur 4 ein Blockschaltbild einer getakteten Schaltung mit asynchronen Signalen;
Figur 5 ein Blockschaltbild einer Schaltung zur Verdeutlichung der Umsetzung in eine Hardware-Beschreibungsspra- ehe;
Figur 6 eine Darstellung der erfindungsgemäß erzeugten Netzliste zur Schaltung gemäß Figur 5 ;
Figur 7 eine Darstellung der Netzliste eines weiteren Ausführungsbeispiels für das imaginäre Flip-Flop gemäß Fi- gur 6;
Figur 8 ein Blockschaltbild mit einer eine Setup-Zeitverletzung hervorrufenden Logik;
Figur 9 eine Darstellung der Signal-Zeitverläufe der Schaltung gemäß Figur 6 ; und Figur 10 eine Darstellung der Signal -Zeitverläufe der Schaltung gemäß Figur 8.
Die Figur 5 zeigt eine Darstellung eines Blockschaltbilds zur Veranschaulichung der Wirkungsweise des erfindungsge- mäßen Verfahrens. Hierbei entspricht ein Schaltungsteil AI dem in Figur 4 dargestellten Asic-Modul AI während ein Schaltungsteil A2 in Figur 5 dem Asic-Modul A2 gemäß Figur 4 entspricht. Die Schaltung wird zunächst durch eine Hardware-Beschreibungssprache beschrieben. Eine häufig verwen- dete Hardware-Beschreibungssprache ist hierbei der VHDL- Code, wobei jedoch auch andere Hardware-Beschreibungssprachen auf die vorliegende Erfindung angewendet werden können. Der Schaltungsteil AI bestehend aus einem UND- Gatter AND und einem getakteten Flip-Flop FF1, und wird nachfolgend im VHDL-Code beispielhaft beschrieben: process AI (CLKI)
begin wait until (CLKI'event and CLKI= "1");
C <= A & B; end process;
process A21 (CLKI) begin wait until (CLKI'event and CLKI= "1");
S3 <= S2; end process;
process A22 (CLKII) begin wait until (CLKII 'event and CLKII= "1"); S4 <= S3; end process;
Mit diesem VHDL-Code wird der Schaltungsteil AI und A2 gemäß Figur 5 hinsichtlich seiner logischen Funktion be- schrieben. Auf der Grundlage dieses VHDL-Codes kann mit einem VHDL Logik-Simulator eine logische Überprüfung der Schaltung vorgenommen werden.
Wie bereits in der Beschreibungseinleitung erwähnt, kann jedoch eine Timing-Simulation auf der Grundlage dieses
VHDL-Codes nicht durchgeführt werden. Vielmehr muß für die zeitliche Analyse der Schaltung gemäß Figur 5 eine Netzliste aus der Hardware-Beschreibungssprache durch Synthese gewonnen werden, die als Grundlage für die Logik/Timing- Simulation dient.
Bei Durchführung einer herkömmlichen Synthese entsteht eine Netzliste, die im wesentlichen dem Blockschaltbild gemäß Figur 5 entspricht. Wie bereits in der Beschreibungseinlei- tung erwähnt können hierbei jedoch im Flip-Flop FF2 Setup-
Zeitverletzungen auftreten, da dem Flip-Flop FF2 ein zum Taktsignal CLKII nicht synchrones bzw. asynchrones Signal S2 zugeführt wird. Somit können die in Figur 3 dargestellten metastabilen bzw. Undefinierten Zustände am Ausgang Q des Flip-Flops FF2 auftreten und die gesamten nachfolgenden Schaltungsbereiche im Schaltungsteil A2 nicht mehr überprüft werden.
Die Figur 6 zeigt ein Blockschaltbild einer Netzliste, wie sie mit dem erfindungsgemäßen Verfahren bzw. der erfindungsgemäßen Vorrichtung erzeugt wird.
Zunächst werden alle Schaltungsbestandteile der Schaltung gemäß Figur 5 in einer Hardware-Beschreibungssprache be- schrieben, wobei alle asynchronen Signale in geeigneter Art und Weise markiert werden (z.B. ASYNC signal S2... ) . Der so entstandene VHDL-Code kann nunmehr mit einem VHDL Logik-Simulator hinsichtlich der logischen Funktionen der Schaltung gemäß Figur 5 überprüft werden. Anschließend erfolgt eine Synthese des VHDL-Codes zum Erstellen einer Netzliste, wobei für jedes entsprechend markierte asynchrone Signal ein Synchronisations-Modul bzw. ein imaginäres Flip-Flop IFF gemäß Figur 6 eingefügt wird. Dieses Synchronisations- Modul dient der Synchronisation des asynchronen Signals S2. Die restlichen Elemente wie zum Beispiel das UND-Gatter
'AND' und das Flip-Flop FF1 bleiben in der Netzliste unverändert .
Die Figur 9 zeigt eine Darstellung der wesentlichen Signal- Zeitverläufe gemäß Figur 5. Mit CLKI ist ein Taktsignal bezeichnet, das einem Flip-Flop FF1 an seinem Takteingang eingegeben wird. Am Eingangsanschluß D des Flip-Flops FF1 wird ein Signal SI eingegeben, das sich aus der UND- Verknüpfung der Signale A und B ergibt. Das Signal S2 zeigt das Ausgangssignal des Flip-Flops FFl, welches als asynchrones Signal S2 (async) einem Flip-Flop FF2 an seinem D
Eingang zugeführt wird. Gemäß Figur 9 steigt das Signal S2 zum Zeitpunkt t]_ auf den Wert "1", wenn am Flip-Flop FF1 die steigende Flanke des Taktsignals CLKI anliegt. Da das Eingangssignal SI bereits hinreichend lange stabil anliegt, ergeben sich keine unbekannten Zustände. In gleicher Weise wird zum Zeitpunkt t2 ein Ausgangssignal S3 des Flip-Flops FF2 auf den Wert "1" gesetzt, wenn die steigende Flanke eines zweiten Taktsignals CLKII anliegt. Auch in diesem Fall ergeben sich keine unbekannten Zustände für das Signal S3, da das Eingangssignal des Flip-Flops FF2 bereits hinreichend lange stabil anliegt.
Aufgrund der Tatsache, daß jedoch die TaktSignale CLKI und CLKII nicht miteinander synchronisiert sind und darüber hinaus unterschiedliche Taktfrequenzen aufweisen kann es jedoch zum Zeitpunkt t zu einer Setup-Zeitverletzung des Flip-Flops 2 kommen. Wie in Figur 9 dargestellt, kann nämlich die das zweite Flip-Flop FF2 triggernde steigende Flanke des Taktsignals CLKII im wesentlichen mit der fal- lenden Flanke des Signals S2 zusammenfallen, so daß im kritischen Zeitraum der Setup-Zeit für das Flip-Flop FF2 kein fest definiertes Signal vorliegt.
Wie bereits anhand von Figur 3 beschrieben wurde, erzeugt ein derartiger unstabiler Zustand am Eingangsanschluß D eines Flip-Flops zunächst einen metastabilen Zustand mit der Zeitdauer tm, in der das Ausgangssignal S3 schwingt, um anschließend einen willkürlichen Undefinierten aber festen Zustand anzunehmen. Dieser Zustand zum Zeitpunkt t3 wird bei einer Timing-Simulation üblicherweise als unbekannter Zustand ("unknown") ausgewertet, weshalb einer weiteren Betrachtung des Zeitverhaltens der davon abhängigen Signale ebenso ein unbekannter Zustand zugeordnet wird.
Gemäß dem erfindungsgemäßen Verfahren wird jedoch gemäß
Figur 6 ein imaginäres Flip-Flop IFF23 (= Synchronisations-
FF) bei einem markierten asynchronen Signal in die Netzliste einer zu simulierenden Schaltung eingefügt. Setup/Hold- Zeitverletzungen werden für dieses spezielle Element in geeigneter Art und Weise unterdrückt (z.B. durch entsprechende Anpassungen im Simulationsmodell des IFF23) , weshalb das Ausgangssignal S4 des imaginären Flip-Flops IFF23 ein definiertes Signal ist und keine Probleme bei der Logik/Timing-Simulation verursacht .
In Kombination mit einer modifizierten Logik/Timing-Simulation, bei der die Überprüfung des Zeitverhaltens für jedes eingefügte imaginäre Flip-Flop IFF (bzw. ein Teil des Flip- Flops IFF) in geeigneter Art und Weise deaktiviert wird, kann somit auch für eine getaktete Schaltung mit asynchronen Signalen eine vollständige Überprüfung des Signal-Zeitverhaltens in der Schaltung erfolgen. Alle weiteren zu erfassenden Undefinierten Zustände können nämlich sicher erfaßt werden, wie sich aus Figur 8 ergibt.
Die Figur 8 zeigt ein Blockschaltbild einer Schaltung mit einer fehlerhaften Dimensionierung der als Verzögerungselement wirkenden Logik DL, die beispielsweise am Ausgang sout der Figur 5 nachgeschaltet sein kann. Die fehlerhafte Dimensionierung der als Verzögerungselement wirkenden Logik DL bewirkt eine Verletzung der Setup-Zeit des nachgeschalteten Flip-Flops FFout.
Die Figur 10 zeigt eine Darstellung der Signal-Zeitverläufe der wesentlichen Signale gemäß Figur 8, wobei die Zeit iogik die Verzögerungszeit der Logik DL darstellt. Gemäß Figur 10 kann es bei schlechter Dimensionierung der Logik DL ebenso zu Setup/Hold-Zeitverletzungen am Eingang des Flip-Flop FFout kommen. Gemäß Figur 8 wird ein Eingangs- Flip-Flop FFin und ein Ausgangs-Flip-Flop FFout mit dem gleichen Taktsignal CLK getaktet. Ein Eingangssignal S-j_n wird mit einer steigenden Taktflanke des Taktsignalε CLK
auf "1" gesetzt und mit der nächsten steigenden Taktflanke wieder auf "0" gesetzt. Dieses Signal SI wird der logischen Schaltung DL zugeführt, die sich zwischen dem Eingangs- Flip-Flop FFin und dem Ausgangs-Flip-Flop FFout befindet zugeführt. Aufgrund von Gatter-Laufzeiten der Logik DL ergibt sich eine zeitliche Verzögerung des Signals, die bei schlechter Dimensionierung der Schaltung zu einem Fall führen kann wie er in Figur 10 dargestellt ist . Gemäß Figur 10 fällt die steigende Flanke des um die Verzögerungszeit tiogik der Logikschaltung DL verzögerten Signals S2 mit der steigenden Flanke des Taktsignals CLK zusammen, wodurch sich eine Setup-Zeitverletzung ergibt. Aufgrund des Fehlens eines hinreichend stabilen EingangsSignals am Eingangsanschluß D des Ausgangs-Flip-Flops FFout erhält man für ein Ausgangssignal Sout am Ausgangsanschluß Q des Flip-Flops FFout einen unbekannten Zustand, der sich aus dem bereits erwähnten metastabilen Zustand und dem Undefinierten Zustand ergibt .
Derartige unerwünschte Zustände können bei der Logik/Timing-Simulation weiterhin erfaßt und lokalisiert werden, damit dem erfindungsgemäßen Verfahren lediglich ein Syn- chronisations-Modul für ein markiertes asynchrones Signal eingefügt wird und die Überprüfung auf Setup/Hold-Zeitver- letzung selektiv deaktiviert wird.
Die Figur 7 zeigt ein weiteres Ausführungsbeispiel für ein in der Netzliste einzufügendes Flip-Flop IFF. Hierbei besteht das imaginäre Flip-Flop bzw. Synchronisations-Modul wiederum aus einem Flip-Flop FF2 und einem Flip-Flop FF3 , wobei jedoch zusätzlich ein Invertierer INV eingefügt wird, der das dem Flip-Flop FF3 zugeführte Taktsignal CLK durch invertieren des dem Flip-Flop FF2 zugeführten Taktsignals CLK erzeugt. Dadurch steht das am Flip-Flop 3 ausgegebene Signal S4 bereits nach einem Taktzyklus bereit.
Die vorliegende Erfindung wurde ausschließlich anhand von getakteten Flip-Flops beschrieben, die mit steigender Flanke gesetzt werden. Es können jedoch auch Flip-Flops verwendet werden, die mit fallender Flanke gesetzt werden oder es wird eine Kombination dieser beiden Arten von Flip- Flops verwendet. Ferner ist die vorliegende Erfindung nicht auf getaktete Flip-Flops beschränkt sondern bezieht sich vielmehr auf alle Arten von getakteten Schaltelementen, bei denen die vorstehend beschriebenen Vorgänge zur Erzeugung von unbekannten Zuständen auftreten können. Insbesondere ist die Verwendung von zwei Flip-Flops für das in der Netzliste eingefügte Synchronisations-Modul beliebig änderbar, solange es hinsichtlich seines Zeitverhaltens eine Synchronisation von zwei asynchronen Signalen zuläßt und darüber hinaus eine Setup-Zeitverletzung gezielt deaktiviert werden kann.
Die Figur 11 zeigt ein Flußdiagramm des vorstehend be- schriebenen erfindungsgemäßen Verfahrens. Zunächst wird in einem Schritt SI eine beliebige Schaltung, für die ein ASIC, ein fullcustom IC oder ein semicustom IC angefertigt werden soll mit einer Hardware-Beschreibungssprache beschrieben. Hierbei werden bereits alle asynchronen Signale oder Signalleitungen markiert. Im Schritt S2 kann beispielsweise eine logische Simulation des so erstellten VHDL-Codes durchgeführt werden, wobei die rein logischen Operationen der Schaltung überprüft werden. Im Schritt S3 erfolgt eine Synthese der Hardware-Beschreibungssprache bzw. des VHDL-Codes zum erstellen einer Netzliste, wobei bei den markierten Signalen ein vordefiniertes Synchronisations-Modul in die Netzliste eingefügt wird. Anhand dieser modifizierten Netzliste der Ausgangsschaltung wird im Schritt S4 eine spezifische Timing-Simulation durchgeführt, wobei die Überprüfung von Setup/Hold-Zeitverletzungen für jedes eingefügte Synchronisations-Modul oder zumindest
einen Teil dieses Synchronisationε-Moduls selektiv deaktiviert wird. Alle in synchronen Signalpfaden noch auftretenden Undefinierten Signal-Zeitverhalten, d.h. unbekannte Zustände nach Setup/Hold-Zeitverletzungen werden weiterhin erkannt und angezeigt . Vorzugsweise wird in der vorliegenden Erfindung ein VHDL-Code als Hardware-Beschreibungssprache verwendet. In gleicher Weise sind jedoch alle weiteren Hardware-Beschreibungssprachen zu verwenden, sofern sie eine Markierung von asynchronen Signalen bzw. Si- gnalleitungen zulassen. Ebenso können alle Arten von Synthese-Tools verwendet werden, bei denen aus einer Hardware- Beschreibungssprache eine Netzliste erstellt werden kann und bei Auftreten einer Markierung das Einfügen eines Synchronisations-Moduls möglich ist. In gleicher Weise kön- nen für die Timing-Simulationen alle Arten von Simulatoren verwendet werden, bei denen das eingefügte Synchronisations-Modul oder zumindest ein Teil dieses Moduls hinsichtlich der Überprüfung des Zeitverhaltens selektiv deaktiviert werden kann.
Die Figur 12 zeigt eine Vorrichtung zum Durchführen des vorstehend beschriebenen Verfahrens. Die Vorrichtung besteht im wesentlichen aus einer Eingabevorrichtung 1, einer ersten Speichervorrichtung 2 zum Speichern der Hardware-Be- Schreibungssprache (VHDL-Code) und einem zweiten Speicher 3 zum Speichern des bei der Synthese erstellten zweiten Codes, d.h. der Netzliste. Eine Markiervorrichtung 4 markiert selektiv alle in der Hardware-Beschreibungssprache befindlichen asynchronen Signale bzw. Signalleitungen, wäh- rend ein Logik-Simulator 8 eine logische Simulation zur Überprüfung der logischen Funktionen der Schaltung anhand der Hardware-Beschreibungssprache durchführt. Eine Synthesevorrichtung 6 führt eine Synthese der im Speicher 2 abgelegten und markierten Hardware-Beschreibungssprache (VHDL- Codes) durch, wodurch eine modifizierte Netzliste entsteht, die im Speicher 3 abgelegt wird. Wie bereits vorstehend be-
schrieben besitzt die im Speicher 3 abgelegte Netzliste die eingefügten Synchronisations-Module. Ein Logik/Timing- Simulator 7 führt eine Logik/Timing-Simulation an der im Speicher 3 abgespeicherten Netzliste durch, wobei er derart ausgestaltet ist, daß keine Überprüfung von Setup/Hold- Zeitverletzungen im Synchronisations-Modul oder Teilen dieses Moduls durchgeführt wird. Über eine Anzeigevorrichtung 5 werden die vom Logik-Simulator und Timing-Simulator erfaßten Ergebnisse ausgegeben, wobei optional das die Zeitverletzung verursachende Schaltungselement mit angezeigt wird. Die Vorrichtungen 1 bis 8 sind vorzugsweise über eine Busstruktur 9 miteinander verbunden, wobei die Synthesevorrichtung 6, der Timing-Simulator 7 und der Logik-Simulator durch eine oder mehrere CPUs (Zentraleinheiten) mit dazugehörigen Speichereinheiten (ROMs) realisiert werden können.