DE19741915A1 - Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen - Google Patents
Zwischenspeicheroptimierung in Hardware-Logikemulations-SystemenInfo
- Publication number
- DE19741915A1 DE19741915A1 DE19741915A DE19741915A DE19741915A1 DE 19741915 A1 DE19741915 A1 DE 19741915A1 DE 19741915 A DE19741915 A DE 19741915A DE 19741915 A DE19741915 A DE 19741915A DE 19741915 A1 DE19741915 A1 DE 19741915A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- buffer
- flip
- signal
- flop
- 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
- 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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Description
Die Erfindung betrifft eine Hardware-Logik-Emulation,
insbesondere die Optimierung von auf Zwischenspeichern
basierenden Konstruktionen für eine Logikemulation.
Hardware-Logikemulatoren sind leistungsfähige Werkzeuge, die
bei der Gestaltung von integrierten Schaltkreisen verwendet
werden, wie anwendungsspezifische integrierte Schaltkreise
(ASICs) und Mikroprozessoren. Hardware-Emulationssysteme
ermöglichen einem Schaltkreis-Entwickler ein logisches
Äquivalent zu der Hardware des entwickelten Schaltkreises zu
implementieren, bevor der entwickelte Schaltkreis als
integrierter Schaltkreis realisiert wird. Dies ermöglicht es
dem Entwickler zu überprüfen, ob der entwickelte Schaltkreis
erwartungsgemäß arbeitet. Auch wird ein gemeinsames Entwickeln
von damit verwandten Komponenten ermöglicht, wie z. B. Software.
Ferner ermöglichen Hardware-Emulatoren dem Entwickler zu über
prüfen, ob der von diesem entwickelte Schaltkreis in einem
System funktioniert, in dem der integrierte Schaltkreis
eventuell eingesetzt werden wird (Zielsystem). Bei den aus dem
Stand der Technik bekannten Emulatoren sind wieder
programmierbare integrierte Logikschaltkreise verwendet worden,
die mit programmierbaren, zusammenschaltbaren Betriebsmitteln
zusammengeschaltet worden sind. Zum Beispiel sind solche
Emulatoren aus den US. Patenten 5 109 353, 5 036 473,
5 452 239 und 5 475 830 bekannt.
Hardware-Logik-Emulationssysteme können auch mit Hilfe von
mehreren Mikroprozessoren konstruiert werden, die in einer
Parallelkonfiguration zusammengeschaltet sind. Zum Beispiel
sind solche Anordnungen aus den US. Patenten 4 306 286, 4 656
580, 4 914 612 und 5 551 013 bekannt. In solchen Anordnungen
werden die Signale zwischen den Prozessoren im Zeitmultiplex
verarbeitet. Demgemäß werden innerhalb eines jeden Taktzyklus
solche Verbindungen zwischen den Prozessoren ausgebildet, daß
die erforderlichen Prozessor-Betriebsmittel zum Bewerten der
während des Taktzyklus ablaufenden Logikvorgänge zusammen
geschaltet sind. Nachdem die Logikvorgänge für diesen
Taktzyklus bewertet worden sind, konfiguriert der Emulator die
Verbindungen zwischen den Prozessoren erneut, so daß die
erforderlichen Prozessor-Betriebsmittel zum Bewerten der
Logikvorgänge im nächsten Taktzyklus zusammengeschaltet werden.
Insbesondere beschreibt US. Patent 5 551 013 eine Struktur zum
Implementieren der Hardware-Logikemulation nach der
vorliegenden Erfindung.
Auf Zwischenspeichern ("Latch") basierende Konstruktionen sind
unter Entwicklern von integrierten Schaltkreisen bekannt, da
sie mit kleineren integrierten Schaltkreisentwurfsgeometrien
implementiert werden können als andere sequentielle Logik
funktionselemente, wie z. B. Flip-Flops. Obwohl auf Zwischen
speichern basierende Konstruktionen Vorteile bieten, wenn sie
als integrierter Schaltkreis realisiert sind, sind Zwischen
speicher in einem auf Prozessoren basierenden Emulationssystem
schwer zu realisieren. Um zu verstehen, warum Zwischenspeicher
in solchen Systemumgebungen schwer zu realisieren sind, wird
die Funktion von Flip-Flops und Zwischenspeichern kurz
erörtert. Die Erörterung nimmt Bezug auf die Fig. 1-4. Wie
einem Fachmann bekannt ist, sind Flip-Flops flankengesteuerte
sequentielle Bauelemente. Demgemäß nimmt, wie aus Fig. 2
ersichtlich, der Ausgang Q den am Eingang D anliegenden Wert
auf die Flanke eines ankommenden Taktsignals CLK hin an. Das
aus den Fig. 1-2 ersichtliche Flip-Flop (FF) 10 ist ein
positiv-flankengesteuertes Flip-Flop. Ferner ist dem Fachmann
bekannt, daß Zwischenspeicher im Gegensatz zu Flip-Flops
pegelsensitive sequentielle Bauelemente sind. Daher folgt in
einem Zwischenspeicher (Latch) der Ausgang Q dem Eingang D,
wenn das Taktsignal CLK einen H-Pegel annimmt. Der Ausgang hält
dann den Wert, wenn das Taktsignal CLK einen L-Pegel annimmt.
Der aus den Fig. 3-4 ersichtliche Zwischenspeicher 20 ist
daher ein positiv-transparenter Zwischenspeicher.
Ein grundlegendes Blockdiagramm des Logikelements eines z.Z.
bevorzugten Emulationsprozessors ist aus Fig. 5a ersichtlich.
Die Prozessoren in einem auf Prozessoren basierenden
Emulationssystem weisen, wie aus Fig. 5a ersichtlich, einen
Eingangsstapelspeicher 50, einen Ausgangsstapelspeicher 60 und
einen Logiktabellenstapelspeicher 70 auf. Der Eingangs
stapelspeicher enthält Eingangsdatensignale, welche die
Eingangssignale der Logik für einen einzigen Taktzyklus
aufweisen. Der Ausgangsstapelspeicher 60 weist Ausgangssignale
der Logik auf, die während eines einzigen Taktzyklus bewertet
worden sind. Der Logikstapelspeicher 70 weist die möglichen
Primitiven auf, die von dem Prozessor bewertet werden können.
Somit werden die Eingangssignale des Eingangsstapelspeichers
unter Verwendung der Primitiven des Logiktabellenstapel
speichers für einen gegebenen Taktzyklus bewertet. Das Ergebnis
der Bewertung wird in dem Ausgangsstapelspeicher gespeichert.
In einer herkömmlichen integrierten Schaltkreisstruktur
erzeugt ein Taktgeneratorschaltkreis 100 ein oder mehrere
Taktsignale von dem der integrierten Schaltkreisstruktur
zugeführten Taktsignal. Ein Blockdiagramm eines Taktsignal
generatorschaltkreises ist aus Fig. 5b ersichtlich. Der
Taktgeneratorschaltkreis 100, dem das Eingangstaktsignal FCLK
(das von dem Zielsystem kommen kann) zugeführt wird, erzeugt
ein oder mehrere Taktsignale A und B. Die Taktsignale A und B
sind synchrone Taktsignale. Der Taktgeneratorschaltkreis kann
ferner nichtüberlappende Phasen des Takts A (Signals Aph_1 und
Aph_2) und des Takts B (Signale Bph_1 und Bph_2) erzeugen.
Nichtüberlappende Taktsignale nehmen niemals gleichzeitig den
H-Pegel an. Im allgemeinen werden von Entwicklungsingenieuren
nichtüberlappende Taktsignale beim Entwickeln von Multi-
Zwischenspeicher-Logikschaltkreisen verwendet. Der Grund dafür
ist, daß es schwierig ist, die Signalausbreitung durch die
Zwischenspeicher in der Anwenderstruktur zu steuern, wenn
überlappende Taktsignale von den Entwicklungsingenieuren beim
Entwickeln dieser Schaltkreise verwendet werden. Dies kann zu
unerwünschten Überlaufzuständen und zu einem unvorhersehbaren
Schaltkreisverhalten führen, das ebenfalls unerwünscht ist.
Aufgrund der Art und Weise, in der auf Prozessoren basierende
Emulatoren arbeiten, werden auf Flip-Flops basierende
Strukturen richtig emuliert. Wie beschrieben, basieren auf
Prozessoren basierende Emulationssysteme auf Taktzyklen. Somit
gleicht der Prozessor, in dem die momentane Bewertung statt
findet, die kombinatorische Logik für einen gegebenen Datenpfad
ab, d. h., der Prozessor ordnet die Pegel der kombinatorischen
Logik, um sicherzustellen, daß richtige Eingangssignale zu
jedem Pegel vorhanden sind, wenn der Pegel der Logik bewertet
wird. Für jeden Emulationszyklus bewertet der Prozessor nur die
kombinatorische Logik zwischen den sequentiellen Logikgattern.
In dem Fall, in dem der Datenpfad Flip-Flops aufweist, führt
eine solche Anordnung zu einer funktionell korrekten Emulation,
da Flip-Flops flankensensitiv sind. Deshalb kann der Ausgangs
zustand des Flip-Flops nur wechseln, wenn eine Flanke des
Taktsignals auftritt. Somit übertragen die Flip-Flops in jedem
Taktzyklus in einem auf Prozessoren basierenden Emulations
system die Datensignale nur von einem Datenpfad zu dem
nächsten. Somit sind die Flip-Flops inhärent Teil des Daten
pfades in einem auf Prozessoren basierenden Emulationssystem.
Zwischenspeicher sind im Gegensatz zu den Flip-Flops wegen
ihrer transparenten Natur nicht inhärent Teil der Struktur. Wie
beschrieben, sind Zwischenspeicher pegelsensitive Bauelemente,
bei denen der Zustand des Ausgangs solange nicht wechselt, bis
das empfangene Taktsignal dem Pegel nahekommt, für den der
Zwischenspeicher empfindlich ist. Wegen dieser Eigenschaft der
Zwischenspeicher, können Zwischenspeicher transparent sein. Die
Transparenz eines auf Zwischenspeicher basierenden
Schaltkreispfades tritt ein, wenn eine Reihe von
Zwischenspeichern in einem einzigen Schaltkreispfad alle mit
der gleichen Taktphase getaktet werden. Falls die in Reihe
geschalteten Zwischenspeicher gleichzeitig getaktet werden,
durchlaufen die Ausgangssignale jedes Datenpfades die Zwischen
speicher, d. h., die Zwischenspeicher sind transparent. Wenn
diese Transparenz vorhanden ist, kann der auf Prozessoren
basierende Emulator nicht das Ende des Datenpfads bestimmen.
Diese Eigenschaft hat zur Folge, daß die Emulation von auf
Zwischenspeicher basierenden Schaltkreisstrukturen
problematisch ist. Somit ist die Emulation von auf Zwischen
speicher basierenden Strukturen mit einem auf Prozessoren
basierenden Emulationssystem, wie dem aus dem US. Patent
5 551 013 bekannten, unbefriedigend.
Wie in einer auf Flip-Flops basierenden Struktur, enthält ein
Schaltkreispfad einer typischen auf Zwischenspeicher
basierenden Struktur einen Datenpfad, der kombinatorische Logik
aufweist, die die Eingangssignale den Zwischenspeichen zuführt.
Ein Beispiel für einen solchen Schaltkreispfad 200 ist aus
Fig. 6 ersichtlich. Der aus Fig. 6 ersichtliche
Schaltkreispfad 200 weist einen Zwischenspeicher 210 auf,
dessen Ausgang Q den Datenpfad 215 speist. Der Datenpfad 215
speist den Eingang D des Zwischenspeichers 220. Der Ausgang Q
des Zwischenspeichers 220 speist den Datenpfad 225, der den
Eingang D des Zwischenspeichers 230 speist. Der Emulator soll
bewerten, wie der Schaltkreis 200 ein an dem Eingang D des
Zwischenspeichers 210 anliegendes Datensignal in einen
Emulationszyklus verarbeitet. Das heißt, daß der Emulator den
Signalpfad von einem sequentiellen Logikelement zu dem nächsten
sequentiellen Element bewertet. Falls jedoch jeder der
Zwischenspeicher 210, 220 und 230 mit dem gleichen Taktsignal
(oder mit der gleichen Phase des gleichen Taktsignals) getaktet
wird, sind die Zwischenspeicher zur gleichen Zeit transparent,
wenn jeder der Zwischenspeicher 210, 220 und 230 eine
Taktsignalflanke empfängt. Deswegen werden die Zwischenspeicher
210, 220 und 230 die an ihren Eingängen D anliegenden Signale
direkt zu ihren Ausgängen Q durchlassen, d. h., die
Zwischenspeicher werden transparent. Die von dem Emulator
vorzunehmende Bewertung, wie der Schaltkreis 200 das
Datensignal in einem einzigen Emulationszyklus verarbeitet hat,
kann aufgrund der Transparenz nicht mehr geeignet durchgeführt
werden. Zum Beispiel, falls die Zwischenspeicher 210 und 230
mit dem gleichen Taktsignal (oder der gleichen Phase des
gleichen Taktsignals ph1) getaktet werden und der
Zwischenspeicher 220 mit einem anderen nichtüberlappenden
Taktsignal (oder einer anderen, nichtüberlappenden Phase des
gleichen Taktsignals ph2) getaktet wird, sind die Zwischen
speicher nicht transparent zueinander. Andererseits, falls die
Zwischenspeicher 210 und 220 mit dem gleichen Taktsignal (oder
der gleichen Phase des gleichen Taktsignals ph1) getaktet
werden und der Zwischenspeicher 230 mit einem anderen, nicht
überlappenden Taktsignal (oder einer anderen nichtüberlappenden
Phase des gleichen Taktsignals) getaktet wird, ist der
Zwischenspeicher 210 transparent bezüglich des
Zwischenspeichers 220. Zwischenspeicher 220 ist jedoch nicht
transparent bezüglich des Zwischenspeichers 230. Der Grund
dafür ist, daß das am Eingang D des Zwischenspeichers 220
anliegende Signal von dem Ausgang Q eines vor dem
Zwischenspeicher 210 angeordneten Zwischenspeichers (nicht
gezeigt) abhängig ist, da der Zwischenspeicher 220 mit dem
selben Taktsignal getaktet wird wie der Zwischenspeicher 210
(Zwischenspeicher 210 ist transparent). Im Gegensatz dazu ist
der Wert des Eingangs D des Zwischenspeichers 230 von dem
Ausgang Q des Zwischenspeichers 220 abhängig, da die
Zwischenspeicher 220 und 230 mit unterschiedlichen Taktsignalen
getaktet werden (d. h., der Zwischenspeicher 220 ist nicht
transparent).
Im Gegensatz dazu können Flip-Flops nicht transparent sein.
Deswegen werden Flip-Flops inhärent in einer auf Zyklen
basierenden Emulationsumgebung, d. h., die Ausgangssignale an
dem Datenpfad 215 und dem Datenpfad 225 werden in dem Flip-Flop
220 bzw. 230 gespeichert. Aufgrund dieser Eigenschaft der Flip-Flops
sind diese für eine solche Art von Emulationsumgebung
ideal. Andererseits sind Zwischenspeicher wegen ihrer Trans
parenz schwer zu emulieren. Obwohl es zum Erreichen des
gewünschten Transparenzeffekts möglich ist, die Zwischen
speicher durch Flip-Flops in der Anwenderstruktur zu ersetzen
und das den Flip-Flops zugeführte Signal überabzutasten, führt
ein solches Verfahren zu einer signifikant langsameren
Emulationsgeschwindigkeit. Ein geringere Emulations
geschwindigkeit ist jedoch unerwünscht. Somit ist ein Verfahren
zum Optimieren von auf Zwischenspeichern basierenden Strukturen
für die Emulation in einem auf Prozessoren basierenden
Emulationssystem erforderlich.
Die Erfindung behebt die Probleme und Nachteile aus dem Stand
der Technik durch das Bereitstellen eines einzigartigen
Verfahrens zum Optimieren einer logischen Anwenderstruktur. Die
erfindungsgemäßen Verfahren analysieren die Anwenderstruktur,
um zu bestimmen, ob diese Zwischenspeicher aufweist. Falls die
Anwenderstruktur Zwischenspeicher aufweist, bestimmen die
erfindungsgemäßen Verfahren, welche der Zwischenspeicher in der
Anwenderstruktur transparent sein müssen, d. h. es wird
bestimmt, welche der Zwischenspeicher der Anwenderstruktur
transparente Zwischenspeicher sind. Aufeinanderfolgende
Zwischenspeicher, die mit der gleichen Phase des gleichen Takt
signals (oder desselben Taktsignals) getaktet werden, sind
transparent. Die Zwischenspeicher in der Anwenderstruktur, die
nicht transparent sind, werden erfindungsgemäß in der Anwender
struktur zu Flip-Flops transformiert. Falls der Zwischen
speicher in der Anwenderstruktur transparent ist, muß
erfindungsgemäß die Transparenz des Zwischenspeichers
berücksichtigt werden, wenn die Optimierung durchgeführt wird.
Falls der transparente Zwischenspeicher keinen Taktfreigabe
eingang aufweist, wird er in einen ungetakteten Puffer
transformiert. Falls der transparente Zwischenspeicher einen
Taktfreigabeeingang aufweist, wird er in einen Logikschaltkreis
transformiert, dessen Eingang für den Datenpfad, der den
Zwischenspeicher speist, sowohl mit dem Eingang D des Flip-Flops
als auch mit dem Eingang eines ungetakteten Puffers
verbunden ist. Der Ausgang Q des Flip-Flops ist mit dem ersten
Dateneingang eines zwei-zu-eins Multiplexers (Mux) verbunden,
wohingegen der Ausgang des ungetakteten Puffers mit dem zweiten
Dateneingang des zwei-zu-eins Multiplexers verbunden ist. Der
Auswahleingang des zwei-zu-eins Multiplexers wird mit einem
Freigabesignal angesteuert, welches das ursprüngliche Freigabe
signal des transparenten Zwischenspeichers war. Dasselbe Signal
wird auch dem Freigabeingang ("enable" oder "en") des
Flip-Flops zugeführt.
Die Erfindung kann, falls erforderlich, Strukturen mit
Multitakt (multiple, multi-nichtüberlappende Phasentakte) in
Strukturen mit einem einzigen Takt konvertieren. Wie oben
beschrieben, ist dieser Schritt nicht erforderlich, falls der
Emulationsprozessor mehr als ein Taktsignal verarbeiten kann.
Im speziellen sind erfindungsgemäß Logikgatter vorzusehen, die
nach einer bevorzugten Ausführungsform UND-Gatter sind, und die
an die Taktfreigabeeingänge der Flip-Flops geschaltet werden.
Dem Logikgatter wird als erstes Eingangssignal das
Freigabesignal zugeführt, welches das Eingangssignal des
Zwischenspeicher der Anwenderstruktur bildete. Ein zweites
Eingangssignal des Logikgatters ist das Taktsignal, welches das
Takteingangssignal des nichtoptimierten Zwischenspeichers
bildete. Dieses Taktsignal wird invertiert, bevor es dem
Logikgatter zugeführt wird.
Die Erfindung wird anhand bevorzugter Ausführungsformen unter
Bezugnahme auf die Zeichnung näher erläutert. In der Zeichnung
zeigen
Fig. 1 eine schematische Ansicht eines Flip-Flop-Logik
elements,
Fig. 2 ein Beispiel für einen Signalverlauf eines Taktsignals,
eines Eingangssignals und eines Ausgangssignals des Flip-Flops
nach Fig. 1,
Fig. 3 eine schematische Ansicht eines Zwischenspeicher-Logik
elements,
Fig. 4 ein Beispiel für einen Signalverlauf eines Taktsignals,
eines Eingangssignals und eines Ausgangssignals des Zwischen
speichers ("Latch") nach Fig. 3,
Fig. 5a ein grundlegendes Blockdiagramm der Architektur eines
Logikelements eines bevorzugten Emulationsprozessors, der für
ein auf einem Prozessor basierendes Emulationssystem verwendet
wird,
Fig. 5b ein Blockdiagramm eines Taktgeneratorschaltkreises,
Fig. 6 ein schematisches Diagramm eines auf Zwischenspeichern
basierenden Logikschaltkreises vor der Optimierung unter
Verwendung der erfindungsgemäßen Verfahren,
Fig. 7 ein schematisches Diagramm eines auf Zwischenspeichern
basierenden Logikschaltkreises, der aufeinanderfolgende
Zwischenspeicher aufweist, die mit unterschiedliche Phasen
desselben Taktsignals getaktet werden,
Fig. 8 ein Diagramm, aus dem eine Optimierung unter Verwendung
der erfindungsgemäßen Verfahren ersichtlich ist,
Fig. 8a ein Signalflußdiagramm eines positiv-transparenten
Zwischenspeichers und eines negativ-flankengetriggerten
Flip-Flops,
Fig. 9 ein Diagramm, aus dem eine zusätzliche Optimierung
unter Verwendung der erfindungsgemäßen Verfahren ersichtlich
ist,
Fig. 10 ein schematisches Diagramm des Logikschaltkreises nach
Fig. 8 nach der Optimierung unter Verwendung der erfindungs
gemäßen Verfahren,
Fig. 11 ein schematisches Diagramm eines auf Zwischenspeicher
basierenden Logikschaltkreises mit aufeinanderfolgenden
Zwischenspeichern, die mit der gleichen Phase des gleichen
Taktsignals getaktet werden,
Fig. 12 ein Diagramm, aus dem eine zusätzliche Optimierung
unter Verwendung der erfindungsgemäßen Verfahren ersichtlich
ist,
Fig. 13 ein Diagramm, aus dem eine zusätzliche Optimierung
unter Verwendung der erfindungsgemäßen Verfahren ersichtlich
ist,
Fig. 14 ein Diagramm, aus dem eine zusätzliche Optimierung
unter Verwendung der erfindungsgemäßen Verfahren ersichtlich
ist,
Fig. 15 ein schematisches Diagramm des Logikschaltkreises nach
Fig. 11 nach der Optimierung unter Verwendung der erfindungs
gemäßen Verfahren,
Fig. 16 ein schematisches Diagramm des Logikschaltkreises nach
Fig. 11 nach der Optimierung unter Verwendung der erfindungs
gemäßen Verfahren, wobei einer der Zwischenspeicher keinen
Freigabeeingang aufweist,
Fig. 17 ein schematisches Diagramm eines auf Zwischenspeicher
basierenden Logikschaltkreises, wobei aufeinanderfolgende
Zwischenspeicher mit der gleichen Phase des gleichen Takt
signals getaktet werden,
Fig. 18 ein schematisches Diagramm des Logikschaltkreises nach
Fig. 17 nach der Optimierung unter Verwendung der erfindungs
gemäßen Verfahren,
Fig. 19 ein schematisches Diagramm eines auf Zwischenspeicher
basierenden Logikschaltkreises, wobei aufeinanderfolgende
Zwischenspeicher mit der gleichen Phase des gleichen
Taktsignals getaktet werden,
Fig. 20 ein schematisches Diagramm des Logikschaltkreises nach
Fig. 19 nach der Optimierung unter Verwendung der
erfindungsgemäßen Verfahren,
Fig. 21 ein schematisches Diagramm eines auf Zwischenspeicher
basierenden Logikschaltkreises mit mehreren Taktsignalen, wobei
aufeinanderfolgende Zwischenspeicher mit der gleichen Phase des
gleichen Taktsignals getaktet werden, und
Fig. 22 ein schematisches Diagramm des Logikschaltkreises nach
Fig. 11 nach der Optimierung unter Verwendung der erfindungs
gemäßen Verfahren.
Erfindungsgemäß werden vor der Emulation Transformationen in
der Anwenderstruktur durchgeführt. Vor der Emulation der
Struktur wird von einem die erfindungsgemäßen Konzepte
verwendenden Logikemulationssystem die Struktur bewertet und
für die Emulation durch Verwendung einer transformierten Logik
optimiert. Durch den optimierten Schaltkreis wird erfindungs
gemäß ermöglicht, ein logisches Äquivalent der Struktur zu
emulieren, wobei die Emulationsfunktionen erhalten bleiben, von
denen eine die funktionelle Verifizierung der Struktur ist.
Somit wird von der Transformation die Struktur für die
Emulation optimiert.
Die Transformationen, die erfindungsgemäß in der zu
emulierenden Logikstruktur vorgenommen werden, sind wie folgt.
Die Erfindung transformiert auf Zwischenspeicher basierende
Strukturen, die mehrere, mehrfach-nichtüberlappende Phasentakte
aufweisen, in eine auf Flip-Flops basierende Struktur. Falls
gewünscht, kann die Erfindung die Anwenderstruktur in eine
Struktur mit einem einzigen Taktsignal transformieren. Die
Erfindung analysiert die Struktur und bestimmt für jeden
Zwischenspeicher, welche Art von Transformation erforderlich
ist, um die logische Äquivalenz aufrechtzuerhalten. Die zur
Zeit bevorzugten Emulationsprozessoren haben nur die Fähigkeit,
ein einziges Taktsignal zu verarbeiten. Somit wird erfindungs
gemäß der Taktpfad durch Konvertieren des Schaltkreises in ein
System mit einem einzigen Taktsignal optimiert, welches System
den Haupttakt des Emulationsprozessors verwendet. Falls
Emulationsprozessoren verwendet werden, die multitaktfähig
sind, ist die Konvertierung in ein System mit einem einzigen
Taktsignal nicht erforderlich.
Zwischenspeicher, die in aufeinanderfolgenden Stufen mit
unterschiedlichen Phasen des Taktsignals getaktet werden, d. h.,
mit Phase 1 (Aph_1) und mit Phase 2 (Aph_2), sind nicht
transparent. Solch ein Schaltkreis ist aus Fig. 7 ersichtlich.
Der aus Fig. 7 ersichtliche Schaltkreispfad 300 weist einen
Zwischenspeicher 310 auf, dessen Ausgang Q den Datenpfad 315
speist. Der Eingang des Zwischenspeicher 310 wird von dem
Datenpfad 305 gespeist. Datenpfad 315 speist den Eingang D des
Zwischenspeichers 320. Der Ausgang Q des Zwischenspeicher 320
speist den Datenpfad 325, der den Eingang D des Zwischen
speichers 330 speist. Den Freigabeeingängen der Zwischen
speicher 310, 320 und 330 werden die Signale E_1, E_2 bzw. E_3
zugeführt. Der Zwischenspeicher 310 wird mit dem Taktsignal
Aph_1 getaktet; der Zwischenspeicher 320 wird mit dem
Taktsignal Aph_2 getaktet; und der Zwischenspeicher 330 wird
mit dem Taktsignal Aph_1 getaktet. Dabei sind die Taktsignale
Aph_1 und Aph_2 unterschiedliche Phasen desselben, aus Fig. 5
ersichtlichen Haupttaktsignals FCLK.
Da keiner der aufeinanderfolgenden Zwischenspeicher mit der
gleichen Phase des Haupttaktsignals FCLK getaktet wird,
existiert kein transparenter Zustand. Deshalb kann der
Zwischenspeicher erfindungsgemäß zu einem Flip-Flop
transformiert werden. Die grundlegende Optimierung ist aus
Fig. 8 ersichtlich. Der Eingang D des aus Fig. 8 ersicht
lichen Zwischenspeichers ist mit dem Ausgang des Datenpfads
(dpath) 255 verbunden. Dem Freigabeeingang des Zwischenspeicher
250 wird ein Signal E zugeführt, und dieser wird mit einem
Signal ph1 getaktet. Da keine Transparenz vorhanden ist, kann
der Zwischenspeicher 250 in ein Flip-Flop 260 transformiert
werden. Der Flip-Flop 260 weist als Eingang D den Ausgang des
Datenpfads 255 auf, der den Zwischenspeicher 250 speiste. Dem
Freigabeeingang des Flip-Flops 260 wird dasselbe Signal E
zugeführt. Das dem Flip-Flop 260 zugeführte Taktsignal ist das
invertierte Taktsignal ph1. Aus Fig. 8a ist ein Signalfluß
diagramm ersichtlich, das erklärt, warum das dem Flip-Flop 260
zugeführte Taktsignal das invertierte Taktsignal ph1 ist.
Insbesondere ist es für einen Zwischenspeicher erforderlich,
den am Eingang D zu der Zeit anliegenden Wert zu speichern, zu
der das Taktsignal ph1 einen L-Pegel aufweist. Ein negatives
Flanken-Flip-Flop (d. h., ein Flip-Flop mit invertiertem
Taktsignaleingang) speichert das am Eingang D anliegende
Signal, wenn das Taktsignal ph1 einen L-Pegel aufweist.
Nachdem der Zwischenspeicher 250 in ein Flip-Flop 260
transformiert worden ist, kann das Flip-Flop in ein System mit
einem einzigen Taktsignal transformiert werden, welches System
den Systemhaupttakt verwendet. Diese Transformation ist aus
Fig. 9 ersichtlich. Wie aus Fig. 9 ersichtlich, wird
erfindungsgemäß ein Logikgatter 265 verwendet, dessen Ausgang
mit dem Freigabeingang des Flip-Flops 260 verbunden ist. Gemäß
einer bevorzugten Ausführungsform ist das Logikgatter 265 ein
UND-Gatter. Dem Logikgatter 265 wird als erstes Eingangssignal
ein Freigabesignal E zugeführt, welches das Freigabeeingangs
signal E des Zwischenspeichers 250 bildete. Das zweite
Eingangssignal des Logikgatters 265 ist das invertierte
Taktphasensignal ph1. Das Haupttaktsignal FCLK des Zielsystems
wird dann dem Takteingang des Flip-Flops 260 zugeführt.
Der optimierte Schaltkreis 340 der ursprünglich auf Zwischen
speicher basierenden und aus Fig. 7 ersichtlichen Struktur 300
ist aus Fig. 10 ersichtlich. Wie aus Fig. 10 ersichtlich,
sind die Zwischenspeicher 310, 320 und 330 erfindungsgemäß in
Flip-Flops 350, 360 bzw. 370 transformiert. Datenpfad 305,
Datenpfad 315 und Datenpfad 325 bleiben unverändert. Zusätzlich
sind erfindungsgemäß, wie oben beschrieben, Logikelemente mit
den Freigabeeingängen der Flip-Flops 350, 360 und 370
verbunden, um die Struktur in eine Struktur mit einem einzigen
Taktsignal zu konvertieren. Wie beschrieben ist dieser Schritt
erforderlich, falls der Emulationsprozessor nur ein einziges
Taktsignal verarbeiten kann. Bevorzugt werden Logikgatter 375,
380 und 385 als Logikelemente hinzugefügt. Gemäß einer aus
Fig. 10 ersichtlichen bevorzugten Ausführungsform sind die
Logikgatter 375, 380 und 385 UND-Gatter. Der Ausgang des Logik
gatters 375 speist den Freigabeeingang des Flip-Flops 350, der
Ausgang des Logikgatters 380 speist den Freigabeeingang des
Flip-Flops 360 und der Ausgang des Logikgatters 385 speist den
Freigabeeingang des Flip-Flops 370. Den Logikgattern 375, 380
und 385 werden als erste Eingangssignale die Freigabsignale
zugeführt, welche die Eingangssignale der jeweiligen Zwischen
speicher 310, 320 und 330 des nichtoptimierten Schaltkreises
300 bildeten. Somit werden dem Logikgatter 375 das Freigabe
signal E_1 als erstes Eingangssignal, dem Logikgatter 380 das
Freigabesignal E_2 als erstes Eingangssignal und dem
Logikgatter 385 das Freigabesignal E_3 als erstes
Eingangssignal zugeführt. Den Logikgattern 375, 380 und 385
werden als zweite Eingangssignale die invertierten
Taktphasensignale zugeführt. Somit werden dem Logikgatter 375
das invertierte Taktsignal Aph_1 als zweites Eingangssignal,
dem Logikgatter 380 das invertierte Taktsignal Aph_2 als
zweites Eingangssignal und dem Logikgatter 385 das invertierte
Taktsignal Aph_1 als zweites Eingangssignal zugeführt.
Im Gegensatz zu dem Schaltkreis 300 sind Zwischenspeicher, die
in aufeinanderfolgenden Stufen eines Schaltkreispfades mit der
gleichen Phase des Taktsignals getaktet werden, transparent.
Wenn Transparenz auftritt, ist, wie oben beschrieben, die
Basis-Flip-Flop-Transformation nicht möglich, da bei dem zu
emulierenden Schaltkreis die Transparenz zu berücksichtigen
ist, was mit einem Flip-Flop selbst nicht möglich ist. Ein
Schaltkreis 400, in dem die Zwischenspeicher transparent sind,
ist aus Fig. 11 ersichtlich. Der aus Fig. 11 ersichtliche
Schaltkreis 400 weist einen Zwischenspeicher 410 auf, dessen
Ausgangs Q den Datenpfad 415 speist. Das Eingangssignal des
Zwischenspeichers 410 wird von dem Datenpfad 405 geliefert. Der
Datenpfad 415 speist den Eingang D des Zwischenspeichers 420.
Der Ausgang Q des Zwischenspeichers 420 speist den Datenpfad
425, der den Eingang D des Zwischenspeichers 430 speist. Den
Freigabeeingängen der Zwischenspeicher 410, 420 und 430 werden
die Signale E_1, E_2 bzw. E_3 zugeführt. Der Zwischenspeicher
410 wird mit dem Taktsignal Aphel getaktet; der Zwischen
speicher 420 wird mit dem Taktsignal Aph_2 getaktet; und der
Zwischenspeicher 430 wird auch mit dem Taktsignal Aph_2
getaktet. Dabei sind die Taktsignale Aph_1 und Aph_2
unterschiedliche Phasen desselben aus Fig. 5 ersichtlichen
Haupttaktsignals FCLK.
Da die Zwischenspeicher 420 und 430 mit dem gleichen Taktsignal
getaktet werden, z. B. mit der gleichen Phase des Haupttakt
signals FCLK, sind die Zwischenspeicher 420 und 430
transparent. Deshalb kann der Zwischenspeicher 420 nicht
lediglich in ein Flip-Flop transformiert werden. Die
erfindungsgemäße Basisoptimierung für transparente
Zwischenspeicher ist aus den Fig. 12 und 13 ersichtlich. Der
aus Fig. 12 ersichtliche Zwischenspeicher 450 weist als
Eingang D den Ausgang des Datenpfads 455 auf. Dem
Freigabeeingang des mit Signal ph1 getakteten Zwischenspeichers
450 wird ein Signal E zugeführt. Der aus Fig. 12 ersichtliche
Zwischenspeicher 460 weist als Eingang D den Ausgang des
Datenpfads 465 auf. Der Zwischenspeicher 460 weist keinen
Freigabeeingang auf. Im Falle des Zwischenspeichers 460 ohne
Freigabeeingang, wird der Zwischenspeicher 460 in einen
ungetakteten Puffer transformiert. Durch den nichtgetakteten
Puffer gelangt das Ausgangssignal des Datenpfads 465 direkt zu
dem nächsten Datenpfad, so daß die Transparenz aufrechterhalten
wird.
Im Gegensatz dazu werden bei der Transformation eines Zwischen
speichers mit Freigabeeingang, wie des Zwischenspeichers 450,
zwei Pfade erzeugt. Der erste aufgrund der Transformation
erzeugte Pfad weist ein Flip-Flop 470 mit einem invertierten
Taktsignaleingang auf, und der zweite Pfad weist einen
nichtgetakteten Puffer 475 auf. Eine solche Transformation wird
vorgenommen, da der Zwischenspeicher 450 in Abhängigkeit vom
Zustand des Signals am Freigabeeingang entweder transparent
oder nichttransparent sein kann. Falls der Zwischenspeicher 450
ein positiv-transparenter Zwischenspeicher ist, der nicht
freigegeben ist, ist Zwischenspeicher 450 nicht transparent.
Somit werden in aufeinanderfolgenden Stufen angeordnete
Zwischenspeicher 450, die mit dem gleichen Taktphasensignal
(z. B. mit Taktsignal ph1) getaktet werden, erfindungsgemäß wie
folgt transformiert. Der Ausgang des Datenpfads 455 wird mit
dem Eingang D des Flip-Flops 470 verbunden. Der Ausgang des
Datenpfads 455 wird auch mit dem Eingang des nichtgetakteten
Puffers 475 verbunden. Der Ausgang Q des Flip-Flops 470 wird
mit dem ersten Dateneingang eines Multiplexers 480 verbunden.
Der Ausgang des nichtgetakteten Puffers 475 wird mit dem
zweiten Dateneingang des Multiplexers 480 verbunden. Das
Freigabesignal E wird sowohl dem Freigabeeingang des Flip-Flops
470 als auch dem Auswahleingang des Multiplexers 480 zugeführt.
Somit wird in Abhängigkeit vom Zustand des Freigabeingangs
entweder der Ausgang Q des Flip-Flops 470 oder der Ausgang des
Puffers 475 zu dem Ausgang des Multiplexers 480
durchgeschaltet. Falls zum Beispiel das Freigabesignal einen
H-Pegel aufweist, ist der Zwischenspeicher 450 transparent. Falls
das Freigabesignal in dem transformierten Schaltkreis einen
H-Pegel aufweist, wird von dem mit dem Auswahleingang des
Multiplexers 480 verbundenen Freigabesignal das an dem zweiten
Dateneingang anliegende Signal "selektiert", welches das
Ausgangssignal des zweiten Puffers 475 ist. Somit wird das
Ausgangssignal des Puffers 475 auf den Ausgang des Multiplexers
480 durchgeschaltet. Falls das Freigabesignal einen L-Pegel
aufweist, ist im Gegensatz dazu der Zwischenspeicher 450 nicht
transparent. Falls das Freigabesignal in dem transformierten
Schaltkreis einen L-Pegel aufweist, wird von dem mit dem
Auswahleingang des Multiplexers 480 verbundenen Freigabesignal
das an dem ersten Dateneingang anliegende Signal "selektiert",
welches das am Ausgang Q des Flip-Flops 470 anliegende Signal
ist. Somit wird das am Ausgang Q des Flip-Flops 470 anliegende
Signal auf den Ausgang des Multiplexers 480 durchgeschaltet.
Nachdem der Zwischenspeicher 450 oder der Zwischenspeicher 460
transformiert worden ist, können die transformierten Schalt
kreise in ein den Systemhaupttakt verwendendes System mit einem
einzigen Taktsignal transformiert werden, falls ein System mit
einem einzigen Taktsignal gewünscht wird. Im Falle des
Zwischenspeichers 460, der in einen nichtgetakteten Puffer
transformiert ist, ist keine weitere Transformation
erforderlich. Jedoch ist für den Zwischenspeicher 450, der
einen Freigabeeingang aufweist und der, wie aus Fig. 12
ersichtlich, in einen Flip-Flop/Puffer/Multiplexer (FF-Buf-Mux)-Schalt
kreis transformiert ist, eine weitere Transformation
erforderlich. Diese Transformation ist aus Fig. 14
ersichtlich. Wie aus Fig. 14 ersichtlich, ist hierzu
erfindungsgemäß ein Logikgatter 485 vorgesehen, dessen Ausgang
mit dem Freigabeeingang des Flip-Flops 470 verbunden ist. Gemäß
einer bevorzugten Ausführungsform ist das Logikgatter 485 ein
UND-Gatter. Dem Logikgatter 485 wird als erstes Eingangssignal
das Freigabesignal E zugeführt, welches das Freigabeeingangs
signal E des Zwischenspeichers 450 bildete. Das zweite
Eingangssignal des Logikgatters 485 ist das invertierte
Taktphasensignal ph1. Der Haupttakt FCLK des Zielsystems wird
dann an den Takteingang des Flip-Flops 470 angelegt.
Der optimierte Schaltkreis 500 der aus Fig. 11 ersichtlichen
und ursprünglich auf Zwischenspeichern basierenden Struktur 400
ist aus Fig. 15 ersichtlich. Wie aus Fig. 15 ersichtlich, ist
der Zwischenspeicher 410 erfindungsgemäß in ein Flip-Flop 510
transformiert. Der Datenpfad 405 bleibt unverändert. Zusätzlich
ist erfindungsgemäß, wie oben beschrieben, ein Logikelement vor
den Freigabeeingang des Flip-Flops 510 geschaltet worden, um
die Struktur in eine Struktur mit einem einzigen Taktsignal zu
konvertieren. Wie beschrieben, ist dieser Schritt nicht
erforderlich, falls der in dem Emulationssystem verwendete
Emulationsprozessor mehr als ein Taktsignal verarbeiten kann.
Bevorzugt wird ein Logikgatter 505 als Logikelement verwendet.
Gemäß einer aus Fig. 15 ersichtlichen bevorzugten
Ausführungsform ist das Logikgatter 505 ein UND-Gatter. Der
Ausgang des Logikgatters 505 speist den Freigabeeingang eines
Flip-Flops 510. Dem Logikgatter 505 wird als ein erstes
Eingangssignal das Freigabesignal E_1 zugeführt, welches das
Freigabeeingangssignal des Zwischenspeichers 410 des
nichtoptimierten Schaltkreises 400 bildete. Dem Logikgatter 505
wird als zweites Eingangssignal das invertierte Taktphasen
signal Aph_1 zugeführt.
Da der Zwischenspeicher 420 der erste in einer Reihe von zwei
aufeinanderfolgenden Zwischenspeichern ist, die mit der
gleichen Phase des Taktsignals (Aph_2) getaktet werden, ist der
Zwischenspeicher 420 transparent bezüglich des Zwischen
speichers 430 und muß in einen aus Fig. 14 ersichtlichen
Flip-Flop/Puffer/Multiplexer-Schaltkreis transformiert werden. Somit
speist der Ausgang Q des Flip-Flops 510 den Datenpfad 415,
dessen Ausgang sowohl den Eingang D eines Flip-Flops 520 als
auch den Eingang eines nichtgetakteten Puffers 518 speist. Der
Ausgang Q des Flip-Flops 520 ist mit dem ersten Dateneingang
eines Multiplexers 522 verbunden und der Ausgang des nicht
getakteten Puffers 518, mit dem zweiten Dateneingang des
Multiplexers 522 verbunden. Das Freigabesignal E_2 ist ein
erstes Eingangssignal eines Logikgatters 515 und das
invertierte Taktphasensignal Aph_2 ist ein zweites Eingangs
signal des Logikgatters 515. Das Ausgangssignal des Logik
gatters 515 kommuniziert sowohl mit dem Freigabeeingang des
Flip-Flops 520 als auch dem Auswahleingang des Multiplexers
522. Da der Zwischenspeicher 430 ein Zwischenspeicher ist, der
einem mit dem gleichen Phasentakt getakteten Zwischenspeicher
420 folgt, sich aber dem Zwischenspeicher 430 ein
Zwischenspeicher anschließt, der mit einer unterschiedlichen
Phase des Taktsignals getaktet wird, wird der Zwischenspeicher
430 erfindungsgemäß in ein Flip-Flop 530 transformiert. Der
Grund dafür ist, wie beschrieben, daß der Zwischenspeicher 430
bezüglich des an ihm angeschlossenen nachfolgenden Zwischen
speichers (nicht gezeigt) nicht transparent ist. Somit wird der
Ausgang des Multiplexers 522 mit dem Eingang der Datenpfads 425
verbunden. Der Ausgang des Datenpfads 425 ist an den Eingang D
des Flip-Flops 530 angeschlossen. Zusätzlich ist erfindungs
gemäß, wie oben beschrieben, ein Logikelement vor den
Freigabeeingang des Flip-Flops 530 geschaltet, um die Struktur
in eine Struktur mit einem einzigen Taktsignal zu konvertieren.
Wie beschrieben, ist dieser Schritt nicht erforderlich, falls
die Emulationsprozessoren mehr als ein Taktsignal verarbeiten
können. Bevorzugt wird ein Logikgatter 525 als Logikelement
verwendet. Nach einer aus Fig. 15 ersichtlichen bevorzugten
Ausführungsform ist das Logikgatter 525 ein UND-Gatter. Der
Ausgang des Logikgatters 525 speist den Freigabeeingang des
Flip-Flops 530. Dem Logikgatter 525 wird als ein erstes
Eingangssignal das Freigabesignal E_3 zugeführt, welches das
Freigabeeingangssignal des Zwischenspeichers 430 des nicht
optimierten Schaltkreises 400 bildete. Dem Logikgatter 525 wird
als zweites Eingangssignal das invertierte Taktphasensignal
Aph_2 zugeführt.
Falls der Zwischenspeicher 420 des aus Fig. 11 ersichtlichen
Schaltkreises 400 keine Freigabelogik aufweisen würde, würde er
erfindungsgemäß nach der aus Fig. 16 ersichtlichen Art und
Weise transformiert werden. Wie aus Fig. 16 ersichtlich, ist
der Zwischenspeicher 410 erfindungsgemäß in ein Flip-Flop 510
transformiert. Datenpfad 405 bleibt unverändert. Zusätzlich
wird erfindungsgemäß, wie oben beschrieben, ein Logikelement
vor den Freigabeeingang des aus Fig. 16 ersichtlichen Flip-Flops
510 geschaltet, um die Struktur in eine Struktur mit
einem einzigen Taktsignal zu konvertieren. Wie beschrieben, ist
dieser Schritt nicht erforderlich, falls die Emulations
prozessoren mehr als ein Taktsignal verarbeiten können.
Bevorzugt wird ein Logikgatter 505 als Logikelement verwendet.
Gemäß einer aus Fig. 16 ersichtlichen Ausführungsform ist das
Logikgatter 505 ein UND-Gatter. Der Ausgang des Logikgatters
505 speist den Freigabeeingang des Flip-Flops 510. Dem
Logikgatter 505 wird als ein erstes Eingangssignal das
Freigabesignal E_1 zugeführt, welches das Freigabeeingangs
signal des Zwischenspeichers 410 des nichtoptimierten
Schaltkreises 400 bildete. Dem Logikgatter 505 wird als zweites
Eingangssignal das invertierte Taktphasensignal Aph_1
zugeführt.
Da der Zwischenspeicher 420 der erste in einer Reihe von zwei
aufeinanderfolgenden Zwischenspeichern ist, die mit der
gleichen Phase des Taktsignals (Aph_2) getaktet werden, ist
Zwischenspeicher 420 transparent bezüglich des Zwischen
speichers 430. Da keine Freigabelogik vorhanden ist, ist es
nicht erforderlich, den Zwischenspeicher 420 in einen aus Fig.
14 ersichtlichen Flip-Flop/Puffer/Multiplexer-Schaltkreis zu
transformieren. Somit speist der Ausgang Q des Flip-Flops 510
den Datenpfad 415, dessen Ausgang den Eingang eines unge
takteten Puffers 550 speist. Diese Logik erhält die Transparenz
auf Dauer aufrecht. Da der aus Fig. 11 ersichtliche Zwischen
speicher 430 dem mit dem gleichen Phasentakt getakteten
Zwischenspeicher 420 folgt, sich aber dem Zwischenspeicher 430
ein Zwischenspeicher anschließt, der mit einer
unterschiedlichen Phase des Taktsignals getaktet wird, ist der
Zwischenspeicher 430 nicht transparent bezüglich des an ihn
angeschlossenen nachfolgenden Zwischenspeichers (nicht
gezeigt). Somit wird der Zwischenspeicher 430 erfindungsgemäß
in ein Flip-Flop 530 transformiert. Somit wird der Ausgang des
ungetakteten Puffers 550 mit dem Eingang des Datenpfades 425
verbunden. Der Ausgang des Datenpfads 425 ist an den Eingang D
des Flip-Flops 530 angeschlossen. Zusätzlich ist
erfindungsgemäß, wie oben beschrieben, ein Logikelement vor den
Freigabeeingang des Flip-Flops 530 geschaltet, um die Struktur
in eine Struktur mit einem einzigen Taktsignal zu konvertieren.
Wie beschrieben, ist dieser Schritt nicht erforderlich, falls
die Emulationsprozessoren mehr als ein Taktsignal verarbeiten
können. Bevorzugt wird ein Logikgatter 525 als Logikelement
verwendet. Nach einer aus Fig. 16 ersichtlichen bevorzugten
Ausführungsform ist das Logikgatter 525 ein UND-Gatter. Der
Ausgang des Logikgatters 525 speist den Freigabeeingang des
Flip-Flops 530. Dem Logikgatter 525 wird als ein erstes
Eingangssignal das Freigabesignal E_3 zugeführt, welches das
Freigabeeingangssignal des Zwischenspeichers 430 des
nichtoptimierten Schaltkreises 400 bildete. Dem Logikgatter 525
wird als zweites Eingangssignal das invertierte
Taktphasensignal Aph_2 zugeführt.
Unter Bezugnahme auf die Fig. 17-18 wird ein anderes
Beispiel dafür gegeben, wie erfindungsgemäß auf Zwischen
speicher basierende Strukturen für eine auf Zyklen basierende
Emulation optimiert werden, wobei aufeinanderfolgende Zwischen
speicher mit dem gleichen Taktphasen getaktet werden, was zur
Transparenz führt. Der zweite der aufeinanderfolgenden
Zwischenspeicher und wenigstens ein anderer Zwischenspeicher
werden mit derselben Datenpfadlogik aber mit unterschiedlichen
Taktphasen angesteuert. Im einzelnen speist der Ausgang eines
Datenpfads 605 den Eingang D eines Zwischenspeichers 610. Ein
Freigabesignal E_2 wird dem Freigabeeingang des Zwischen
speichers 610 zugeführt. Der Ausgang Q des Zwischenspeichers
610 speist den Eingang eines Datenpfads 615. Der Ausgang des
Datenpfads 615 ist sowohl mit dem Eingang D eines
Zwischenspeichers 620 als auch mit dem Eingang D eines
Zwischenspeichers 630 verbunden. Die Zwischenspeicher 610 und
620 werden mit dem Taktsignal Aph_2 getaktet, wohingegen der
Zwischenspeicher 630 mit dem Taktsignal Aph_1 getaktet wird.
Der Zwischenspeicher (nicht gezeigt) der sich dem Zwischen
speicher 620 anschließt, wird mit Taktsignal Aph_1 getaktet,
und der Zwischenspeicher (nicht gezeigt) der sich dem
Zwischenspeicher 630 anschließt, wird mit Taktsignal Aph_2
getaktet. Freigabesignale E_3 und E_4 werden den
Freigabeeingängen der Zwischenspeicher 620 bzw. 630 zugeführt.
Da die Zwischenspeicher 610 und 620 mit der gleichen Phase des
Taktsignals (in diesem Beispiel: Aph_2) getaktet werden, muß
der Zwischenspeicher 610 in den aus Fig. 14 ersichtlichen
Flip-Flop/Puffer/Multiplexer-Schaltkreis transformiert werden.
Die optimierte Version des Schaltkreises 600 ist aus Fig. 18
ersichtlich. Der Ausgang des Datenpfads 605 speist sowohl den
Eingang D eines Flip-Flops 640 als auch den Eingang eines
nichtgetakteten Puffers 645. Der Ausgang Q des Flip-Flops 640
speist den ersten Dateneingang eines Multiplexers 650. Das
Freigabesignal E_3 wird als erstes Eingangssignal einem
Logikgatter 635 zugeführt, wohingegen das invertierte
Taktsignal Aph_2 als zweites Eingangssignal dem Logikgatter 635
zugeführt wird. Das Ausgangssignal des Logikgatters 635
kommuniziert sowohl mit dem Freigabeingang des Flip-Flops 640
als auch mit dem Auswahleingang des Multiplexers 650. Da der
Zwischenspeicher 620 einem mit der gleichen Phase getakteten
Zwischenspeicher folgt, sich aber dem Zwischenspeicher 620 ein
Zwischenspeicher (nicht gezeigt) anschließt, der mit einer
unterschiedlichen Phase des Taktsignals getaktet wird, ist der
Zwischenspeicher 620 nicht transparent hinsichtlich dieses
(nicht gezeigten) Zwischenspeichers. Somit wird der Zwischen
speicher 620 erfindungsgemäß in ein Flip-Flop 655 trans
formiert. Dabei ist der Ausgang des Multiplexers 650 mit dem
Eingang des Datenpfads 615 verbunden. Der Ausgang des
Datenpfads 615 ist an die Eingänge D der Flip-Flops 655 und 665
angeschlossen. Zusätzlich ist erfindungsgemäß, wie oben
beschrieben, jeweils ein Logikelement vor die Freigabeeingänge
der Flip-Flops 655 und 665 geschaltet, um die Struktur in eine
Struktur mit einem einzigen Taktsignal zu konvertieren. Wie
beschrieben, ist dieser Schritt nicht erforderlich, falls die
Emulationsprozessoren mehr als ein Taktsignal verarbeiten
können. Bevorzugt werden die Logikgatter 660 und 670 als
Logikelemente verwendet. Nach einer aus Fig. 18 ersichtlichen
bevorzugten Ausführungsform sind die Logikgatter 660 und 670
UND-Gatter. Der Ausgang des Logikgatters 660 speist den
Freigabeeingang des Flip-Flops 655. Dem Logikgatter 660 wird
als ein erstes Eingangssignal das Freigabesignal E_3 zugeführt,
welches das Freigabeeingangssignal des Zwischenspeichers 620
des nichtoptimierten Schaltkreises 600 bildete. Dem Logikgatter
660 wird als zweites Eingangssignal das invertierte
Taktphasensignal Aph_2 zugeführt. Der Ausgang des Logikgatters
670 speist den Freigabeeingang des Flip-Flops 665. Dem
Logikgatter 670 wird als ein erstes Eingangssignal das
Freigabesignal E_4 zugeführt, welches das Freigabeeingangs
signal des Zwischenspeichers 630 des nichtoptimierten
Schaltkreises 600 bildete. Dem Logikgatter 670 wird als zweites
Eingangssignal das invertierte Taktphasensignal Aph_1
zugeführt.
Unter Bezugnahme auf die Fig. 19-20 wird ein anderes
Beispiel dafür gegeben, wie erfindungsgemäß auf Zwischen
speicher basierende Strukturen für eine auf Zyklen basierende
Emulation optimiert werden. In dem aus Fig. 19 ersichtlichen
Schaltkreis 700 wird einer von zwei Zwischenspeichern, die
einen Datenpfad ansteuern, der einen dritten Zwischenspeicher
speist, mit der gleichen Taktphase wie der dritte Zwischen
speicher getaktet. Im einzelnen speist der Ausgang des
Datenpfads 705 den Eingang D eines Zwischenspeichers 710. Das
Freigabesignal E_2 wird dem Freigabesignaleingang des
Zwischenspeichers 710 zugeführt. Der Zwischenspeicher 710 wird
mit dem Taktphasensignal Aph_1 getaktet. Der Ausgang Q des
Zwischenspeichers 710 speist den Eingang eines Datenpfads 715.
Zusätzlich weist der Schaltkreis 700 einen Datenpfad 725 auf,
dessen Ausgang den Eingang D eines Zwischenspeichers 720
speist. Das Freigabesignal E_4 wird dem Freigabesignaleingang
des Zwischenspeichers 720 zugeführt. Der Zwischenspeicher 720
wird mit dem Taktphasensignal Aph_2 getaktet. Wie bei dem
Zwischenspeicher 710 speist der Ausgang Q des Zwischenspeicher
720 den Eingang des Datenpfads 715.
Der Ausgang des Datenpfads 715 ist mit dem Eingang D eines
Zwischenspeichers 730 verbunden. Das Freigabesignal E_3 wird
dem Freigabesignaleingang des Zwischenspeichers 730 zugeführt.
Der Zwischenspeicher 730 wird, wie Zwischenspeicher 720, mit
dem Taktphasensignal Aph_2 getaktet. Somit sind die Zwischen
speicher 720 und 730 aufeinanderfolgende Zwischenspeicher, die
mit der gleiche Phase des Taktsignals getaktet werden. Wie
beschrieben, führt dies zu einem transparenten Zustand.
Erfindungsgemäß wird der Schaltkreis 700 unter Verwendung der
oben beschriebenen Konzepte für die Emulation optimiert. Im
einzelnen kann, da Zwischenspeicher 710 nicht mit dem gleichen
Takt wie der darauffolgende Zwischenspeicher getaktet wird, die
aus den Fig. 8-9 ersichtliche Transformation verwendet
werden. Somit wird erfindungsgemäß der Zwischenspeicher 710 in
ein Flip-Flop 740 transformiert, dessen Eingang D mit dem
Ausgang des Datenpfads 705 verbunden ist. Zum Konvertieren des
Schaltkreises 700 in eine Struktur mit einem einzigen Takt
signal wird erfindungsgemäß, wie oben beschrieben, ein
Logikelement vor den Freigabeeingang des Flip-Flops 740
geschaltet. Bevorzugt wird dafür ein Logikgatter 735 verwendet.
Gemäß einer aus Fig. 20 ersichtlichen bevorzugten Ausführungs
form ist das Logikgatter 735 ein UND-Gatter. Der Ausgang des
Logikgatters 735 speist den Freigabeeingang des Flip-Flops 740.
Dem Logikgatter 735 wird als ein erstes Eingangssignal das
Freigabesignal E_2 zugeführt, welches das Freigabeeingangs
signal des Zwischenspeichers 710 des nichtoptimierten Schalt
kreises bildete. Dem Logikgatter 735 wird als ein zweites
Eingangssignal das invertierte Taktphasensignal Aph_1
zugeführt. Der Ausgang des Logikgatters 735 speist den
Freigabesignaleingang des Flip-Flops 740.
Da die Zwischenspeicher 720 und 730 mit der gleichen Phase des
Taktsignals (in diesem Beispiel Aph_2) getaktet werden, muß der
Zwischenspeicher 720 in den aus Fig. 14 ersichtlichen Flip-
Flop/Puffer/Multiplexer-Schaltkreis transformiert werden. Wie
aus Fig. 20 ersichtlich, speist der Ausgang des Datenpfads 725
sowohl den Eingang D eines Flip-Flops 750 als auch den Eingang
eines nichtgetakteten Puffers 755. Der Ausgang Q des Flip-Flops
750 speist den ersten Dateneingang eines Multiplexers 760,
wohingegen der Ausgang des ungetakteten Puffers 755 den zweiten
Dateneingang des Multiplexers 760 speist. Um den Schaltkreis
700 in eine Struktur mit einem einzigen Taktsignal zu
konvertieren, wird das Freigabesignal E_4 einem ersten Eingang
eines Logikgatters 745 zugeführt, wohingegen das invertierte
Taktphasensignal Aph_2 dem zweiten Eingang des Logikgatters 745
zugeführt wird. Das Ausgangssignal des Logikgatters 745
kommuniziert sowohl mit dem Freigabeeingang des Flip-Flops 750
als auch mit dem Auswahleingang des Multiplexers 760.
Da der Zwischenspeicher 730 dem mit dem gleichen Phasentakt
getakteten Zwischenspeicher 720 folgt, sich aber dem Zwischen
speicher 730 ein Zwischenspeicher (nicht gezeigt) anschließt,
der mit einer unterschiedlichen Phase des Taktsignals getaktet
wird, ist der Zwischenspeicher 730 nicht transparent
hinsichtlich des nachfolgenden (nicht gezeigten) Zwischen
speichers. Somit wird der Ausgang des Multiplexers 760 mit dem
Eingang des Datenpfads 715 verbunden. Der Ausgang des
Datenpfads 715 ist mit dem Eingang D eines Flip-Flops 765
verbunden. Zusätzlich ist erfindungsgemäß, wie oben
beschrieben, ein Logikelement vor den Freigabeeingang des Flip-Flops
765 geschaltet, um die Struktur in eine Struktur mit
einem einzigen Taktsignal zu konvertieren. Wie beschrieben, ist
dieser Schritt nicht erforderlich, falls die Emulations
prozessoren mehr als ein Taktsignal verarbeiten können.
Bevorzugt wird ein Logikgatter 770 als Logikelement verwendet.
Nach einer aus Fig. 20 ersichtlichen bevorzugten Ausführungs
form ist das Logikgatter 770 ein UND-Gatter. Der Ausgang des
Logikgatters 770 speist den Freigabeeingang des Flip-Flops 765.
Dem Logikgatter 770 wird als ein erstes Eingangssignal das
Freigabesignal E_3 zugeführt, welches das Freigabeeingangs
signal des Zwischenspeichers 730 des nichtoptimierten
Schaltkreises 700 bildete. Dem Logikgatter 770 wird als zweites
Eingangssignal das invertierte Taktphasensignal Aph_2
zugeführt. Das Ausgangssignal des Logikgatters 770 wird dem
Freigabeeingang des Flip-Flops 765 zugeführt.
Ein anderes Beispiel dafür, wie eine auf Zwischenspeicher
basierende Schaltkreisstruktur für eine logische Emulation
optimiert werden kann, ist aus den Fig. 21-22 ersichtlich.
Fig. 21 zeigt einen Schaltkreis 800, der mehrere Taktsignale
aufweist. Im einzelnen weist der aus Fig. 21 ersichtliche
Schaltkreis 21 zwei Taktsignale A und B auf. Die Taktsignale A
und B werden von dem aus Fig. 5 ersichtlichen
Taktsignalgeneratorschaltkreis 100 erzeugt. Wie beschrieben,
verwendet der Taktsignalgeneratorschaltkreis 100 das
Eingangstaktsignal FCLK, um die Taktsignale A und B zu
erzeugen. Der Taktsignalgeneratorschaltkreis erzeugt ferner
nichtüberlappende Phasen des Taktsignals A (Signale Aph_1 und
Aph_2) und des Taktsignals B (Signale Bph_1 und Bph_2).
Der Schaltkreis 800 weist einen Datenpfad 805 auf, dessen
Ausgang mit dem Eingang D eines Zwischenspeichers 810 verbunden
ist. Dem mit dem Taktsignal Aph_1 getakteten Zwischenspeicher
810 wird ein Signal AE1 als Freigabeeingangssignal zugeführt.
Der Ausgang Q des Zwischenspeichers 810 wird einem Datenpfad
815 zugeführt. Der Ausgang des Datenpfads 815 wird dem Eingang
D eines Zwischenspeichers 820 zugeführt. Dem mit dem Taktsignal
Aph_2 getakteten Zwischenspeicher 820 wird ein Signal AE2 als
Freigabeeingangssignal zugeführt. Der Ausgang Q des Zwischen
speichers 820 wird einem Datenpfad 825 zugeführt. Der Datenpfad
825 weist einen Signal-Pfad zu einem Datenpfad 860 auf und sein
Ausgang ist mit dem Eingang D eines Zwischenspeichers 830
verbunden. Dem mit dem Taktsignal Aph_2 getakteten Zwischen
speicher 830 wird ein Signal AE3 als Freigabeeingangssignal
zugeführt. Somit werden die Zwischenspeicher 820 und 830 mit
der gleichen Phase des gleichen Taktsignals A getaktet. Die
Stufe des Schaltkreises 800, die dem Zwischenspeicher 830 folgt
wird mit dem Taktsignal Aph_1 getaktet. Auch weist der
Schaltkreis 800 einen Datenpfad 850 auf, dessen Ausgang mit dem
Eingang D eines Zwischenspeichers 855 verbunden ist. Dem mit
dem Taktsignal Bph_1 getakteten Zwischenspeicher 855 wird ein
Signal BE1 als Freigabeeingangssignal zugeführt. Der Ausgang Q
des Zwischenspeichers 855 wird dem Datenpfad 860 zugeführt. Wie
beschrieben weist der Datenpfad 860 einen Signal-Pfad zu dem
Datenpfad 825 auf. Der Ausgang des Datenpfads 860 wird dem
Eingang D eines Zwischenspeichers 865 zugeführt. Dem mit dem
Taktsignal Bph_1 getakteten Zwischenspeicher 865 wird ein
Signal BE2 als Freigabeeingangssignal zugeführt. Somit werden
die Zwischenspeicher 855 und 865 mit der gleichen Phase des
gleichen Taktsignals B getaktet. Der Ausgang Q des Zwischen
speichers 865 wird einem Datenpfad 870 zugeführt. Der Ausgang
des Datenpfads 870 ist mit dem Eingang D eines Zwischen
speichers 875 verbunden. Dem mit dem Taktsignal Bph_2
getakteten Zwischenspeicher 875 wird ein Signal BE3 als
Freigabesignal zugeführt. Die Stufe des Schaltkreises 800, die
dem Zwischenspeicher 875 folgt, wird mit dem Taktsignal Bph_1
getaktet.
Erfindungsgemäß wird der Schaltkreis 800 für die Emulation wie
folgt optimiert. Da die Zwischenspeicher 810 und 820 mit
unterschiedlichen Phasen desselben Taktsignals A getaktet
werden, wird der Zwischenspeicher 810 erfindungsgemäß in ein
Flip-Flop 900 transformiert. Der Ausgang des Datenpfads 805
wird mit dem Eingang D des Flip-Flops 900 verbunden. Um den
Schaltkreis 800 in eine Struktur mit einem einzigen Taktsignal
zu konvertieren, wird erfindungsgemäß dem transformierten
Schaltkreis ein Logikgatter 905 in der oben beschriebenen Art
und Weise hinzugefügt. Erfindungsgemäß wird das Freigabesignal
AE1 als ein erstes Eingangssignal dem Logikgatter 905
zugeführt, wohingegen das invertierte Taktsignal Aph_1 als ein
zweites Eingangssignal dem Logikgatter 905 zugeführt wird. Dies
ermöglicht dem Flip-Flop 900, mit dem Systemhaupttakt FCLK
getaktet zu werden. Der Ausgang des Logikgatters 905 ist mit
dem Freigabeeingang des Flip-Flops 900 verbunden. Da die
Zwischenspeicher 820 und 830 mit dem gleichen Taktsignal
getaktet werden, in diesem Fall mit Aph_2, muß der
Zwischenspeicher 820 in den aus Fig. 14 ersichtlichen
Flip-Flop/Puffer/Multiplexer-Schaltkreis transformiert werden. Wie
aus Fig. 22 ersichtlich speist somit der Ausgang des
Datenpfads 815 sowohl den Eingang D eines Flip-Flops 910 als
auch den Eingang eines ungetakteten Puffers 920. Der Ausgang Q
des Flip-Flops 910 speist den ersten Dateneingang eines Multi
plexers 925, wohingegen der Ausgang des ungetakteten Puffers
920 den zweiten Dateneingang des Multiplexers 925 speist. Um
den Schaltkreis 800 in eine Struktur mit einem einzigen Takt
signal zu konvertieren, wird das Freigabesignal AE3 als ein
erstes Eingangssignal einem Logikgatter 915 zugeführt,
wohingegen das invertierte Taktsignal Aph_2 als ein zweites
Eingangssignal dem Logikgatter 915 zugeführt wird. Das
Ausgangssignal des Logikgatters 915 kommuniziert sowohl mit dem
Freigabesignaleingang des Flip-Flops 910 als auch mit dem
Auswahleingang des Multiplexers 925. Dies ermöglicht dem Flip-Flop
910, mit dem Haupttaktsignal FCLK getaktet zu werden.
Da der Zwischenspeicher 830 einem Zwischenspeicher folgt, der
mit dem gleichen Phasentakt getaktet wird (Zwischenspeicher
820), sich aber dem Zwischenspeicher 830 ein Zwischenspeicher
(nicht gezeigt) anschließt, der mit einer unterschiedlichen
Phase des Taktsignals getaktet wird, ist Zwischenspeicher 830
nicht transparent. Somit wird erfindungsgemäß der Zwischen
speicher 830 in ein Flip-Flop 930 transformiert. Dabei ist in
dem optimierten Schaltkreis der Ausgang des Multiplexers 925
mit dem Eingang des Datenpfads 825 verbunden. Das
Ausgangssignal des Datenpfads 825 wird an den Eingang D des
Flip-Flops 930 übertragen. Zusätzlich wird erfindungsgemäß, wie
oben beschrieben, ein Logikelement vor den Freigabeeingang des
Flip-Flops 930 geschaltet, um die Struktur in eine Struktur mit
einem einzigen Taktsignal zu konvertieren. Wie beschrieben, ist
dieser Schritt nicht erforderlich, falls die Emulations
prozessoren mehr als ein Taktsignal verarbeiten können. Im
einzelnen wird ein Logikgatter 935 als Logikelement verwendet.
Nach einer aus Fig. 22 ersichtlichen bevorzugten
Ausführungsform ist das Logikgatter 935 ein UND-Gatter. Der
Ausgang des Logikgatters 935 speist den Freigabeeingang des
Flip-Flops 930. Dem Logikgatter 935 wird als ein erstes
Eingangssignal das Freigabesignal AE3 zugeführt, welches das
Freigabeeingangssignal des Zwischenspeichers 830 des nicht
optimierten Schaltkreises 800 bildete. Dem Logikgatter 935 wird
als zweites Eingangssignal das invertierte Taktphasensignal
Aph_2 zugeführt. Zusätzlich ermöglicht das Logik-Gatter 935,
daß das Flip-Flop 930 mit dem Systemhaupttaktsignal FCLK
getaktet werden kann.
Da dem Zwischenspeicher 855 ein Zwischenspeicher 865 folgt, der
mit der gleichen Phase des gleichen Taktsignals (d. h., mit dem
gleichen Taktsignal) getaktet wird, in diesem Fall mit Bph_1,
wird erfindungsgemäß der Zwischenspeicher 855 in den aus Fig.
14 ersichtlichen Flip-Flop/Puffer/Multiplexer-Schaltkreis
transformiert. Wie aus Fig. 22 ersichtlich wird der
Schaltkreis 800 wie folgt transformiert. Der Ausgang des
Datenpfads 850 speist sowohl den Eingang D eines Flip-Flops 940
als auch den Eingang eines ungetakteten Puffers 950. Der
Ausgang Q des Flip-Flops 940 speist den ersten Dateneingang
eines Multiplexers 955, wohingegen der Ausgang des ungetakteten
Puffers 950 den zweiten Dateneingang des Multiplexers 955
speist. Um den Schaltkreis 800 in eine Struktur mit einem
einzigen Taktsignal zu konvertieren, wird das Freigabesignal
BE1 als ein erstes Eingangssignal einem Logikgatter 945
zugeführt, wohingegen das invertierte Taktsignal Bph_1 als ein
zweites Eingangssignal dem Logikgatter 945 zugeführt wird. Das
Ausgangssignal des Logikgatters 945 kommuniziert sowohl mit dem
Freigabesignaleingang des Flip-Flops 940 als auch mit dem
Auswahleingang des Multiplexers 955. Dies ermöglicht dem
Flip-Flop 940, mit dem Haupttaktsignal FCLK getaktet zu werden.
Da der Zwischenspeicher 865 einem Zwischenspeicher 855 folgt,
der mit dem gleichen Phasentakt getaktet wird, sich aber dem
Zwischenspeicher 865 ein Zwischenspeicher 875 anschließt, der
mit einer unterschiedlichen Phase des Taktsignals getaktet
wird, ist der Zwischenspeicher 865 hinsichtlich des
Zwischenspeichers 875 nicht transparent. Somit wird
erfindungsgemäß der Zwischenspeicher 865 in ein Flip-Flop 960
transformiert. Dabei ist dem optimierten Schaltkreis der
Ausgang des Multiplexers 955 mit dem Eingang des Datenpfads 860
verbunden. Das Ausgangssignal des Datenpfads 860 wird an den
Eingang D des Flip-Flops 960 übertragen. Zusätzlich ist
erfindungsgemäß, wie oben beschrieben, ein Logikelement vor den
Freigabeeingang des Flip-Flops 960 geschaltet, um die Struktur
in eine Struktur mit einem einzigen Taktsignal zu konvertieren.
Wie beschrieben, ist dieser Schritt nicht erforderlich, falls
die Emulationsprozessoren mehr als ein Taktsignal verarbeiten
können. Im einzelnen wird ein Logikgatter 965 als Logikelement
verwendet. Nach einer aus Fig. 22 ersichtlichen bevorzugten
Ausführungsform ist das Logikgatter 965 ein UND-Gatter. Der
Ausgang des Logikgatters 965 speist den Freigabeeingang des
Flip-Flops 960. Dem Logikgatter 965 wird als ein erstes
Eingangssignal das Freigabesignal BE2 zugeführt, welches das
Freigabeeingangssignal des Zwischenspeichers 865 des nicht
optimierten Schaltkreises 800 bildete. Dem Logikgatter 965 wird
als ein zweites Eingangssignal das invertierte Taktphasensignal
Bph_1 zugeführt. Zusätzlich ermöglicht das Logik-Gatter 965,
daß das Flip-Flop 960 mit dem Systemhaupttaktsignal FCLK
getaktet werden kann.
Da der Zwischenspeicher 875 und der diesem direkt folgende
Zwischenspeicher (nicht gezeigt) mit unterschiedlichen Phasen
des gleichen Taktsignals getaktet werden (d. h., Bph_2 für
Zwischenspeicher 875 und Bph_1 für den direkt folgenden
Zwischenspeicher), wird der Zwischenspeicher 875 erfindungs
gemäß in ein Flip-Flop 970 transformiert. Das Ausgangssignal
des Datenpfads 870 wird an den Eingang D des Flip-Flops 970
übertragen. Um den Schaltkreis 800 in eine Struktur mit einem
einzigen Taktsignal zu konvertieren, wird erfindungsgemäß, wie
oben beschrieben, dem transformierten Schaltkreis ein
Logikgatter 975 hinzugefügt. Im einzelnen wird dem Logikgatter
975 als ein erstes Eingangssignal das Freigabesignal BE3
zugeführt, wohingegen dem Logikgatter 975 als zweites
Eingangssignal das invertierte Taktphasensignal Bph_2 zugeführt
wird. Dies ermöglicht, daß das Flip-Flop 970 mit dem
Systemhaupttaktsignal FCLK getaktet werden kann.
Bevorzugte Algorithmen zum Ausführen des erfindungsgemäßen
Verfahrens sind im folgenden aufgeführt:
Somit ist ein bevorzugtes Verfahren zum Optimieren von auf
Zwischenspeicher basierenden Schaltkreisen für eine
Logikemulation beschrieben worden.
Claims (13)
1. Verfahren zum Optimieren eines Schaltkreises für eine
Logikemulation mit:
Bestimmen, ob irgendwelche Zwischenspeicher des Schaltkreises transparente Zwischenspeicher sind und ob irgendwelche der Zwischenspeicher des Schaltkreises nichttransparente Zwischenspeicher sind;
Transformieren der nichttransparenten Zwischenspeicher des Schaltkreises in einen ersten transformierten Schaltkreis;
Transformieren der transparenten Zwischenspeicher des Schaltkreises in einen zweiten transformierten Schaltkreis.
Bestimmen, ob irgendwelche Zwischenspeicher des Schaltkreises transparente Zwischenspeicher sind und ob irgendwelche der Zwischenspeicher des Schaltkreises nichttransparente Zwischenspeicher sind;
Transformieren der nichttransparenten Zwischenspeicher des Schaltkreises in einen ersten transformierten Schaltkreis;
Transformieren der transparenten Zwischenspeicher des Schaltkreises in einen zweiten transformierten Schaltkreis.
2. Verfahren nach Anspruch 1, wobei der erste transformierte
Schaltkreis einen Flip-Flop aufweist.
3. Verfahren nach Anspruch 1, wobei
der zweite transformierte Schaltkreis entweder einen ersten nichtgetakteten Puffer aufweist, falls der transparente Zwischenspeicher keinen Freigabeeingang aufweist, oder ein Flip-Flop, einen zweiten nichtgetakteten Puffer und einen Multiplexer aufweist, falls der transparente Zwischenspeicher einen Freigabeeingang aufweist,
die Eingänge des Flip-Flops und des zweiten nicht getakteten Puffers den Eingang des transparenten Zwischenspeichers aufweisen,
der Ausgang des Flip-Flops einen ersten Dateneingang des Multiplexers aufweist,
der Ausgang des zweiten ungetakteten Puffers einen zweiten Dateneingang des Multiplexers aufweist, und
der Multiplexer einen Auswahleingang aufweist, dem als Eingangssignal das gleiche Signal zugeführt wird, welches dem Freigabeeingang des transparenten Zwischenspeichers zugeführt wird.
der zweite transformierte Schaltkreis entweder einen ersten nichtgetakteten Puffer aufweist, falls der transparente Zwischenspeicher keinen Freigabeeingang aufweist, oder ein Flip-Flop, einen zweiten nichtgetakteten Puffer und einen Multiplexer aufweist, falls der transparente Zwischenspeicher einen Freigabeeingang aufweist,
die Eingänge des Flip-Flops und des zweiten nicht getakteten Puffers den Eingang des transparenten Zwischenspeichers aufweisen,
der Ausgang des Flip-Flops einen ersten Dateneingang des Multiplexers aufweist,
der Ausgang des zweiten ungetakteten Puffers einen zweiten Dateneingang des Multiplexers aufweist, und
der Multiplexer einen Auswahleingang aufweist, dem als Eingangssignal das gleiche Signal zugeführt wird, welches dem Freigabeeingang des transparenten Zwischenspeichers zugeführt wird.
4. Verfahren nach Anspruch 1, wobei der zweite transformierte
Schaltkreis einen ungetakteten Puffer aufweist.
5. Verfahren nach Anspruch 1, wobei
der transparente Zwischenspeicher einen Freigabeeingang aufweist,
der zweite transformierte Schaltkreis ein Flip-Flop, einen ungetakteten Puffer und einen Multiplexer aufweist,
der Flip-Flop einen Dateneingang, einen Freigabeeingang, einen Taktsignaleingang und einen Ausgang aufweist,
der ungetaktete Puffer einen Eingang und einen Ausgang aufweist,
der Multiplexer einen ersten Dateneingang, einen zweiten Dateneingang und einen Auswahleingang aufweist,
der Dateneingang des Flip-Flops und der Eingang des Puffers den Eingang des transparenten Zwischenspeichers aufweisen,
der Ausgang des Flip-Flops mit dem ersten Dateneingang des Multiplexers verbunden ist,
der Ausgang des Puffers mit dem zweiten Dateneingang des Multiplexers verbunden ist, und
dem Auswahleingang des Multiplexers dasselbe Signal als dem Freigabeeingang des transparenten Zwischenspeichers zugeführt wird.
der transparente Zwischenspeicher einen Freigabeeingang aufweist,
der zweite transformierte Schaltkreis ein Flip-Flop, einen ungetakteten Puffer und einen Multiplexer aufweist,
der Flip-Flop einen Dateneingang, einen Freigabeeingang, einen Taktsignaleingang und einen Ausgang aufweist,
der ungetaktete Puffer einen Eingang und einen Ausgang aufweist,
der Multiplexer einen ersten Dateneingang, einen zweiten Dateneingang und einen Auswahleingang aufweist,
der Dateneingang des Flip-Flops und der Eingang des Puffers den Eingang des transparenten Zwischenspeichers aufweisen,
der Ausgang des Flip-Flops mit dem ersten Dateneingang des Multiplexers verbunden ist,
der Ausgang des Puffers mit dem zweiten Dateneingang des Multiplexers verbunden ist, und
dem Auswahleingang des Multiplexers dasselbe Signal als dem Freigabeeingang des transparenten Zwischenspeichers zugeführt wird.
6. Verfahren zum Bilden eines optimierten Schaltkreises für
eine Emulation einer Anwenderstruktur, wobei
die Anwenderstruktur aufeinanderfolgende Zwischenspeicher aufweist,
jeder Zwischenspeicher der aufeinanderfolgenden Zwischenspeicher einen Dateneingang, einen Ausgang und einen Taktsignaleingang aufweist,
die aufeinanderfolgenden Zwischenspeicher durch einen Datenpfad separiert sind,
der Datenpfad einen Eingang, der eine kombinatorische Logik speist, und einen Ausgang aufweist,
der Ausgang des Datenpfads den Dateneingang wenigstens eines der aufeinanderfolgenden Zwischenspeicher speist, und
der Taktsignaleingang jedes Zwischenspeichers der aufeinanderfolgenden Zwischenspeicher eines von einer Mehrzahl von Taktsignalen empfängt, wobei das Verfahren die folgenden Schritte aufweist:
Bestimmen, welche der aufeinanderfolgenden Zwischenspeicher mit identischen Taktsignalen getaktet werden, und welche der aufeinanderfolgenden Zwischenspeicher mit unterschiedlichen Taktsignalen getaktet werden;
Auszeichnen jedes Zwischenspeichers der aufeinander folgenden Zwischenspeicher, der mit einem identischen Taktsignal getaktet wird, als einen transparenten Zwischenspeicher;
Auszeichnen jedes Zwischenspeichers der aufeinander folgenden Zwischenspeicher, der mit einem unterschiedlichen Taktsignal getaktet wird, als einen nichttransparenten Zwischenspeicher;
Transformieren des transparenten Zwischenspeichers in einen ersten transformierten Schaltkreis, wobei der erste transformierte Schaltkreis einen Eingang aufweist, der dem Eingang des transparenten Zwischenspeichers entspricht; und
Transformieren des nichttransparenten Zwischenspeichers in einen zweiten transformierten Schaltkreis, wobei der zweite transformierte Schaltkreis einen Eingang aufweist, der dem Eingang des nichttransparenten Zwischenspeichers entspricht.
die Anwenderstruktur aufeinanderfolgende Zwischenspeicher aufweist,
jeder Zwischenspeicher der aufeinanderfolgenden Zwischenspeicher einen Dateneingang, einen Ausgang und einen Taktsignaleingang aufweist,
die aufeinanderfolgenden Zwischenspeicher durch einen Datenpfad separiert sind,
der Datenpfad einen Eingang, der eine kombinatorische Logik speist, und einen Ausgang aufweist,
der Ausgang des Datenpfads den Dateneingang wenigstens eines der aufeinanderfolgenden Zwischenspeicher speist, und
der Taktsignaleingang jedes Zwischenspeichers der aufeinanderfolgenden Zwischenspeicher eines von einer Mehrzahl von Taktsignalen empfängt, wobei das Verfahren die folgenden Schritte aufweist:
Bestimmen, welche der aufeinanderfolgenden Zwischenspeicher mit identischen Taktsignalen getaktet werden, und welche der aufeinanderfolgenden Zwischenspeicher mit unterschiedlichen Taktsignalen getaktet werden;
Auszeichnen jedes Zwischenspeichers der aufeinander folgenden Zwischenspeicher, der mit einem identischen Taktsignal getaktet wird, als einen transparenten Zwischenspeicher;
Auszeichnen jedes Zwischenspeichers der aufeinander folgenden Zwischenspeicher, der mit einem unterschiedlichen Taktsignal getaktet wird, als einen nichttransparenten Zwischenspeicher;
Transformieren des transparenten Zwischenspeichers in einen ersten transformierten Schaltkreis, wobei der erste transformierte Schaltkreis einen Eingang aufweist, der dem Eingang des transparenten Zwischenspeichers entspricht; und
Transformieren des nichttransparenten Zwischenspeichers in einen zweiten transformierten Schaltkreis, wobei der zweite transformierte Schaltkreis einen Eingang aufweist, der dem Eingang des nichttransparenten Zwischenspeichers entspricht.
7. Verfahren nach Anspruch 6, wobei der erste transformierte
Schaltkreis einen nichtgetakteten Puffer aufweist.
8. Verfahren nach Anspruch 6, wobei
der zweite transformierte Schaltkreis einen Flip-Flop aufweist,
der Flip-Flop einen Dateneingang, einen Taktsignaleingang und einen Ausgang aufweist, und
der Taktsignaleingang ein invertiertes Signal des Takt signals empfängt, das von dem transparenten Zwischenspeicher empfangen wird.
der zweite transformierte Schaltkreis einen Flip-Flop aufweist,
der Flip-Flop einen Dateneingang, einen Taktsignaleingang und einen Ausgang aufweist, und
der Taktsignaleingang ein invertiertes Signal des Takt signals empfängt, das von dem transparenten Zwischenspeicher empfangen wird.
9. Verfahren nach Anspruch 6, wobei jeder Zwischenspeicher
der aufeinanderfolgenden Zwischenspeicher ferner einen
Freigabeeingang aufweist.
10. Verfahren nach Anspruch 9, wobei
der erste transformierte Schaltkreis einen Flip-Flop, einen Puffer und einen Multiplexer aufweist,
der Flip-Flop einen Dateneingang, einen Freigabeingang, einen Taktsignaleingang und einen Ausgang aufweist,
der Puffer einen Eingang und einen Ausgang aufweist,
der Multiplexer einen ersten Dateneingang, einen zweiten Dateneingang und einen Auswahleingang aufweist,
der Dateneingang des Flip-Flops und der Eingang des Puffers den Eingang des transparenten Zwischenspeichers aufweisen,
der Ausgang des Flip-Flops mit dem ersten Dateneingang des Multiplexers verbunden ist,
der Ausgang des Puffers mit dem zweiten Dateneingang des Multiplexers verbunden ist,
dem Auswahleingang des Multiplexers dasselbe Signal zugeführt wird, das dem Freigabeeingang des transparenten Zwischenspeichers zugeführt wird, und
der Taktsignaleingang des Flip-Flops ein invertiertes Signal des Taktsignals empfängt, das von dem transparenten Zwischenspeicher empfangen wird.
der erste transformierte Schaltkreis einen Flip-Flop, einen Puffer und einen Multiplexer aufweist,
der Flip-Flop einen Dateneingang, einen Freigabeingang, einen Taktsignaleingang und einen Ausgang aufweist,
der Puffer einen Eingang und einen Ausgang aufweist,
der Multiplexer einen ersten Dateneingang, einen zweiten Dateneingang und einen Auswahleingang aufweist,
der Dateneingang des Flip-Flops und der Eingang des Puffers den Eingang des transparenten Zwischenspeichers aufweisen,
der Ausgang des Flip-Flops mit dem ersten Dateneingang des Multiplexers verbunden ist,
der Ausgang des Puffers mit dem zweiten Dateneingang des Multiplexers verbunden ist,
dem Auswahleingang des Multiplexers dasselbe Signal zugeführt wird, das dem Freigabeeingang des transparenten Zwischenspeichers zugeführt wird, und
der Taktsignaleingang des Flip-Flops ein invertiertes Signal des Taktsignals empfängt, das von dem transparenten Zwischenspeicher empfangen wird.
11. Verfahren nach Anspruch 10, ferner mit dem Schritt:
Verbinden eines Ausgangs eines Logikgatters mit dem Freigabeeingang des Flip-Flops, wobei
dem Logikgatter als ein erstes Eingangssignal das gleiche Signal zugeführt wird, das dem Freigabeeingang des transparenten Zwischenspeicher zugeführt wird, und
dem Logikgatter als ein zweites Eingangssignal das Taktsignal des transparenten Zwischenspeichers invertiert zugeführt wird.
Verbinden eines Ausgangs eines Logikgatters mit dem Freigabeeingang des Flip-Flops, wobei
dem Logikgatter als ein erstes Eingangssignal das gleiche Signal zugeführt wird, das dem Freigabeeingang des transparenten Zwischenspeicher zugeführt wird, und
dem Logikgatter als ein zweites Eingangssignal das Taktsignal des transparenten Zwischenspeichers invertiert zugeführt wird.
12. Verfahren nach Anspruch 9, wobei
der zweite transformierte Schaltkreis einen Flip-Flop aufweist, und
der Flip-Flop einen Dateneingang, einen Freigabeeingang, einen Taktsignaleingang und einen Ausgang aufweist.
der zweite transformierte Schaltkreis einen Flip-Flop aufweist, und
der Flip-Flop einen Dateneingang, einen Freigabeeingang, einen Taktsignaleingang und einen Ausgang aufweist.
13. Verfahren nach Anspruch 12, ferner mit dem Schritt:
Verbinden eines Ausgangs eines Logikgatters mit dem Freigabeeingang des Flip-Flops,
wobei dem Logikgatter als ein erstes Eingangssignal das gleiche Signal zugeführt wird, das dem Freigabeeingang des nichttransparenten Zwischenspeicher zugeführt wird, und
dem Logikgatter als ein zweites Eingangssignal das Taktsignal des nichttransparenten Zwischenspeichers invertiert zugeführt wird.
Verbinden eines Ausgangs eines Logikgatters mit dem Freigabeeingang des Flip-Flops,
wobei dem Logikgatter als ein erstes Eingangssignal das gleiche Signal zugeführt wird, das dem Freigabeeingang des nichttransparenten Zwischenspeicher zugeführt wird, und
dem Logikgatter als ein zweites Eingangssignal das Taktsignal des nichttransparenten Zwischenspeichers invertiert zugeführt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/718,655 US5886904A (en) | 1996-09-23 | 1996-09-23 | Latch optimization in hardware logic emulation systems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19741915A1 true DE19741915A1 (de) | 1998-04-02 |
Family
ID=24886951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19741915A Withdrawn DE19741915A1 (de) | 1996-09-23 | 1997-09-23 | Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen |
Country Status (5)
Country | Link |
---|---|
US (1) | US5886904A (de) |
JP (1) | JPH10134091A (de) |
DE (1) | DE19741915A1 (de) |
FR (1) | FR2754368B1 (de) |
GB (1) | GB2319099B (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301553B1 (en) * | 1996-05-31 | 2001-10-09 | Luc M. Burgun | Method and apparatus for removing timing hazards in a circuit design |
US6141636A (en) * | 1997-03-31 | 2000-10-31 | Quickturn Design Systems, Inc. | Logic analysis subsystem in a time-sliced emulator |
US6081656A (en) * | 1997-06-27 | 2000-06-27 | Advanced Micro Devices, Inc. | Method for deriving a double frequency microprocessor from an existing microprocessor |
US6279146B1 (en) | 1999-01-06 | 2001-08-21 | Simutech Corporation | Apparatus and method for verifying a multi-component electronic design |
US6715093B1 (en) * | 2000-04-28 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Method for triggering an asynchronous event by creating a lowest common denominator clock |
US6433603B1 (en) | 2000-08-14 | 2002-08-13 | Sun Microsystems, Inc. | Pulse-based high speed flop circuit |
CA2329601A1 (en) * | 2000-12-22 | 2002-06-22 | Logicvision, Inc. | Method and program product for modeling circuits with latch based design |
US7260515B2 (en) * | 2001-08-20 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for simulating transparent latches |
JP2003091569A (ja) * | 2001-09-17 | 2003-03-28 | Nec Corp | 半導体集積回路設計方法、半導体集積回路、電子機器 |
US6718530B2 (en) * | 2002-07-29 | 2004-04-06 | Sun Microsystems, Inc. | Method and apparatus for analyzing inductive effects in a circuit layout |
US6920625B2 (en) * | 2003-04-24 | 2005-07-19 | International Business Machines Corporation | Method and apparatus for optimum transparent latch placement in a macro design |
US7254793B2 (en) * | 2005-02-04 | 2007-08-07 | Synopsys, Inc. | Latch modeling technique for formal verification |
US7299436B2 (en) * | 2005-02-10 | 2007-11-20 | International Business Machines Corporation | System and method for accurately modeling an asynchronous interface using expanded logic elements |
US8595683B1 (en) | 2012-04-12 | 2013-11-26 | Cadence Design Systems, Inc. | Generating user clocks for a prototyping environment |
US10140413B2 (en) * | 2015-04-21 | 2018-11-27 | Synopsys, Inc. | Efficient resolution of latch race conditions in emulation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US4656580A (en) * | 1982-06-11 | 1987-04-07 | International Business Machines Corporation | Logic simulation machine |
JPH0743733B2 (ja) * | 1985-12-11 | 1995-05-15 | 株式会社日立製作所 | 論理シミュレーション方法 |
US4914612A (en) * | 1988-03-31 | 1990-04-03 | International Business Machines Corporation | Massively distributed simulation engine |
EP0437491B1 (de) * | 1988-10-05 | 1995-12-13 | Quickturn Systems Inc | Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
US5475830A (en) * | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
US5359535A (en) * | 1992-05-04 | 1994-10-25 | Motorola, Inc. | Method for optimization of digital circuit delays |
US5352123A (en) * | 1992-06-08 | 1994-10-04 | Quickturn Systems, Incorporated | Switching midplane and interconnection system for interconnecting large numbers of signals |
US5425036A (en) * | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
US5452239A (en) * | 1993-01-29 | 1995-09-19 | Quickturn Design Systems, Inc. | Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system |
US5551013A (en) * | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5521529A (en) * | 1995-06-02 | 1996-05-28 | Advanced Micro Devices, Inc. | Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation |
-
1996
- 1996-09-23 US US08/718,655 patent/US5886904A/en not_active Expired - Lifetime
-
1997
- 1997-09-23 FR FR9711810A patent/FR2754368B1/fr not_active Expired - Fee Related
- 1997-09-23 GB GB9720233A patent/GB2319099B/en not_active Expired - Fee Related
- 1997-09-23 DE DE19741915A patent/DE19741915A1/de not_active Withdrawn
- 1997-09-24 JP JP9258931A patent/JPH10134091A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB9720233D0 (en) | 1997-11-26 |
GB2319099B (en) | 2001-06-27 |
GB2319099A (en) | 1998-05-13 |
FR2754368A1 (fr) | 1998-04-10 |
JPH10134091A (ja) | 1998-05-22 |
US5886904A (en) | 1999-03-23 |
FR2754368B1 (fr) | 2001-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60202749T2 (de) | Schnittstelle von synchron zu asynchron zu synchron | |
DE60002571T2 (de) | Elastische schnittstelleanornung und verfahren dafür | |
DE60034788T2 (de) | Verfahren und schaltung zur zeitlichen anpassung der steuersignale in einem speicherbaustein | |
DE102005060394B4 (de) | Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung | |
DE102008046831B4 (de) | Ereignisgesteuerte Zeitintervallmessung | |
DE4320681C2 (de) | Schieberegisterzelle | |
DE60002567T2 (de) | Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür | |
DE19741915A1 (de) | Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen | |
DE2853239A1 (de) | Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang | |
DE2719531B2 (de) | Digitale Logikschaltung zur Synchronisierung der Datenübertragung zwischen asynchrongesteuerten Datensystemen | |
EP0628832B1 (de) | Integrierte Schaltung mit Registerstufen | |
DE3829730A1 (de) | Register fuer eine nacheinanderfolgende hochgeschwindigkeits-approximation in einem analog-digital-wandler | |
DE60101169T2 (de) | Logikschaltkreis mit Pipeline-Struktur | |
DE3722907A1 (de) | Maximallaengen-schieberegister-folgegenerator | |
DE19811591C2 (de) | Taktsignal modellierende Schaltung mit negativer Verzögerung | |
DE19530669A1 (de) | Verfahren zum automatischen Auswählen eines taktsteuernden Signalpfads in umprogrammierbaren Systemen zur Hardware-Emulation | |
DE60007196T2 (de) | Vorrichtung zur Beseitigung von "Durchgleiten" von Daten während einer Schiebeoperation mit Master-Slave Kippschaltungen | |
DE60221515T2 (de) | Speichersystem für schleifenbeschleunigung nach wunsch | |
DE10018988B4 (de) | Hochgeschwindigkeits-Pipelinevorrichtung und Verfahren zum Erzeugen von Steuersignalen dafür | |
DE2235802A1 (de) | Verfahren und einrichtung zur pruefung nichtlinearer schaltkreise | |
DE4233947A1 (de) | Ausgangsschaltung fuer eine integrierte halbleiterschaltung | |
DE102005004807A1 (de) | Taktverdoppler | |
DE60320057T2 (de) | System und Verfahren zur Schaltungsprüfung | |
DE102019220472A1 (de) | Synchronvorrichtung mit Schlupfschutzschaltung | |
DE102009041815B4 (de) | Verfahren zur Erzeugung einer Schaltung aus einer Darstellung von Eigenschaften in einem Eigenschaftsgraphen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |