-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht
sich auf Emulationssysteme, und im spezielleren bezieht sich die
vorliegende Erfindung auf die Erzeugung und Verteilung multipler
synchronisierter Taktsignale in einem Emulationssystem.
-
HINTERGRUND
DER ERFINDUNG
-
Im Stand der Technik bekannte Takterzeugungs-
und -verteilungsschemata für
Emulationssysteme beinhalten typischerweise ein Grundtaktsignal, eine
Schaltungsanordnung zur Frequenzmultiplikation oder Frequenzdivision
des Grundtaktsignals und eine Schaltungsanordnung zum Verteilen
der abgeleiteten Taktsignale. Die abgeleiteten Taktsignale hängen typischerweise
mit dem Grundtaktsignal über Potenzen
von zwei zusammen. Beispielsweise kann das Grundtaktsignal durch
zwei frequenzgeteilt und mit zwei frequenzmultipliziert werden,
um drei synchronisierte Taktsignale mit verschiedenen Frequenzen
bereitzustellen. Zur Erzeugung dieser abgeleiteten Taktsignale ist
eine fest zugeordnete Schaltungsanordnung vorgesehen, um jedes abgeleitete
Taktsignal zu erzeugen. Zusätzliche
oder verschiedene Taktsignale erfordern eine zusätzliche oder verschiedene Schaltungsanordnung.
-
Im Stand der Technik bekannte Takterzeugungs-
und -verteilungsschemata sind deshalb starr im Hinblick auf die
Anzahl der zur Verfrügung
gestellten abgeleiteten Taktsignale und das Verhältnis der abgeleiteten Taktsignale
zu dem Grundtaktsignal. Insbesondere sind im Stand der Technik bekannte Takterzeugungs-
und -verteilungsschemata unbrauchbar für Emulationssysteme, die viele
Taktsignale verwenden.
-
Bei der Bereitstellung multipler
Taktsignale, die von einem einzigen Grundtaktsignal abgeleitet werden,
startet das Emulationssystem typischerweise das Grundtaktsignal,
hält es
an und nimmt es wieder auf, um die Emulation zu starten, anzuhalten
und wieder aufzunehmen. Die abgeleiteten Taktsignale brauchen jedoch
mit dem Grundtaktsignal nicht in Phase zu sein. Wenn die abgeleiteten
Taktsignale mit dem Grundtaktsignal nicht in Phase sind und die Emulation
angehalten wird, hält
die Emulation in bezug auf eine ansteigende oder abfallende Flanke
des Grundtaktsignals an. In aufgrund abgeleiteter Taktsignale arbeitenden
Taktbereichen geht jedoch die Emulation bis zu einer nachfolgen den
abgeleiteten Taktflanke weiter. Wenn die Emulation wieder aufgenommen
wird, wird das Grundtaktsignal an der Stelle, an der es angehalten
worden ist, wieder aufgenommen, wogegen es vorkommen kann, weil
die abgeleiteten Taktsignale, da sie in bezug auf das Grundtaktsignal
außer
Phase sein können,
möglicherweise nicht
an demselben Zeitpunkt wie die Grundtaktsignale angehalten werden,
daß die
abgeleiteten Taktsignale nicht an dem Punkt wieder aufgenommen werden,
an dem die Emulation angehalten worden ist. Daher können die
im Stand der Technik bekannten Taktverteilungsschemata keine vol
funktionsfähige Start-,
Anhalte- und Wiederaufnahmefunktionalität für die Emulation liefern.
-
Deshalb werden ein Verfahren und
eine Vorrichtung zur Takterzeugung- und -verteilung benötigt, welche
die Erzeugung abgeleiteter Taktsignale ohne eine spezielle Schaltungsanordnung
für jede
abgeleitete Taktfrequenz ermöglichen
und welche die Wiederaufnahme abgeleiteter Taktsignale an der Stelle, an
der sie angehalten worden sind, sowohl wenn das abgeleitete Taktsignal
mit dem Grundtaktsignal in Phase ist oder auch nicht, ermöglichen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung ist in
den unabhängigen
Ansprüchen
1 und 3 definiert.
-
Es ist ein Verfahren und eine Vorrichtung
zur Erzeugung eines oder mehrerer abgeleiteter Taktsignale offenbart.
In einer Ausführungsform
werden mehrere abgeleitete Taktsignale von einer Nachschlagetabelle
erzeugt. Ein Zählschaltkreis
zählt Grundtaktzyklen
und liefert einen Index in die Nachschlagetabelle. Die Emulation
kann durch Anhalten des Grundtaktsignals angehalten werden, wodurch die
abgeleiteten Taktsignale an einem Anhaltepunkt in den jeweiligen
abgeleiteten Taktzyklen angehalten werden. Die abgeleiteten Taktsignale
setzen sich nicht zu einem nachfolgenden Übergang fort, bevor sie anhalten.
Die Emulation wird durch Wiederaufnahme des Grundtaktsignals wieder
aufgenommen, wodurch die abgeleiteten Taktsignale an dem Anhaltepunkt
in dem jeweiligen abgeleiteten Taktsignalzyklus wieder aufgenommen
werden.
-
Abgeleitete Taktsignale können dort
wieder aufgenommen werden, wo sie angehalten worden sind, sowohl
an einer Flanke oder auch nicht, um die Emulation fortzusetzen,
wodurch eine genauere Emulation bewerkstelligt wird. Nachschlagetabellen erhöhen auch
die Einfachheit der Synchronisation zwischen abgeleiteten Taktsignalen
gegenüber
dem Stand der Technik, weil multiple abgeleitete Taktsignale durch
gleichartige Schaltungsanordnung parallel erzeugt werden, was zu
angenähert
derselben Verzögerung
für jedes
abgeleitete Taktsignal führt, und
es werden Einschwingvorgänge
oder Unregelmäßigkeiten,
die in dem Grundtaktsignal auftreten, an die abgeleiteten Taktsignale
weitergegeben. Wenn Verteilungsnetzwerke für eine Verminderung oder Beseitigung
von Takt unsymmetrie ausgelegt sind, halten die abgeleiteten Taktsignale
die gewünschten
Phasenbeziehungen aufrecht.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die vorliegende Erfindung ist in
den Figuren der beigefügten
Zeichnungen, in denen sich gleiche Bezugszeichen auf gleichartige
Elemente beziehen, beispielhaft und nicht zum Zwecke der Einschränkung dargestellt.
-
1 ist
eine Ausführungsform
einer Zeitsteuerungserzeugungsschaltung zur Erzeugung abgeleiteter
Taktsignale gemäß der vorliegenden
Erfindung.
-
2 ist
eine Ausführungsform
einer Zeitsteuerungserzeugungsschaltung zur Erzeugung abgeleiteter
Taktsignale mit einem Wählschaltkreis
gemäß der vorliegenden
Erfindung.
-
3 ist
eine Ausführungsform
von Nachschlagetabelleneinträgen
und entsprechenden abgeleiteten Taktsignalen gemäß der vorliegenden Erfindung.
-
4 ist
eine Ausführungsform
eines Emulationssystems, in dem die vorliegende Erfindung implementiert
werden kann.
-
DETAILLIERTE
BESCHREIBUNG
-
Es werden ein Verfahren und eine
Vorrichtung zur Takterzeugung und -verteilung in einem Emulationssystem
beschrieben. In der folgenden Beschreibung werden zum Zwecke der
Erläuterung zahlreiche
spezielle Einzelheiten dargelegt, um ein gründliches Verständnis der
vorliegenden Erfindung zu ermöglichen.
Jedoch erkennt der Fachmann, daß die
vorliegende Erfindung ohne diese speziellen Einzelheiten ausgeführt werden
kann. An anderen Stellen werden wohlbekannte Strukturen und Vorrichtungen
in Blockdiagrammform gezeigt, um einen Verlust an Klarheit der vorliegenden
Erfindung zu vermeiden.
-
Die vorliegende Erfindung stellt
kurz gesagt ein Verfahren und eine Vorrichtung zur Erzeugung eines
oder mehrerer abgeleiteter Taktsignale mit einem eine Nachschlagetabelle
aufweisenden Schaltkreis zur Verfügung. Ein Zählerschaltkreis zählt Grundtaktzyklen
und liefert einen Index in die Nachschlagetabelle. In einer Ausführungsform
kann ein Frequenzteilerschaltkreis zwischen dem Zählerschaltkreis
und einem Grundtaktsignal verwendet werden, um ein Zwischentaktsignal
mit einer Frequenz zu erzeugen, die kleiner ist als die Frequenz
des Grundtaktsignals.
-
Durch die Erzeugung abgeleiteter
Taktsignale mit Nachschlagetabellen aufweisenden Schaltkreisen können die
abgeleiteten Taktfrequenzen und Tastverhältnisse abgeändert werden,
indem die Einträge
in der Nachschlagetabelle verändert
werden, anstelle einer Änderung
der die abgeleiteten Taktsignale liefernden Hardware, wie es beim
Stand der Technik der Fall ist, wodurch eine größere Flexibilität erreicht
wird. Ferner können
die abgeleiteten Taktsignale an der Stelle wieder aufgenommen werden,
an der sie angehalten worden sind, sowohl an einer Flanke oder auch
nicht, um die Emulation fortzusetzen, wodurch eine genauere Emulation
erreicht wird. Nachschlagetabellen erhöhen auch die Einfachheit der
Synchronisierung zwischen abgeleiteten Taktsignalen gegenüber dem
Stand der Technik, weil multiple abgeleitete Taktsignale parallel
durch gleichartige Schaltungsanordnung erzeugt werden, was annähernd zu
derselben Verzögerung
für jedes
abgeleitete Taktsignal führt,
und es werden Einschwingvorgänge
oder Unregelmäßigkeiten,
die in dem Grundtaktsignal auftreten, an das (die) abgeleitete(n)
Taktsignale) weitergegeben.
-
In einer Ausführungsform ist ein Wählschaltkreis
zum Auswählen
zwischen dem Grundtaktsignal und einem externen Taktsignal vorgesehen.
Das externe Taktsignal kann beispielsweise ein abgeleitetes Taktsignal
aus einem anderen Schaltkreis, ein alternatives Grundtaktsignal
oder jedes andere Zeitsteuerungssignal sein. Der Wählschaltkreis
kann auch einen Frequenzvervielfacher aufweisen, um das externe
Taktsignal zu vervielfachen.
-
Übersicht der Takterzeugungsschaltungsanordnung
-
1 ist
eine Ausführungsform
der Takterzeugungsschaltungsanordnung gemäß der vorliegenden Erfindung.
Ein Ableitungstakterzeugungsschaltkreis 150 empfängt ein
Grundtaktsignal von einem Grundtakterzeugungsschaltkreis 100,
um ein abgeleitetes Taktsignal zu erzeugen. Der Grundtakterzeugungsschaltkreis 100 kann
ein Hochfrequenzoszillator, wie ein Kristall, sein oder jede Art
von Schaltkreis, der ein Taktsignal mit der gewünschten Frequenz erzeugt.
-
Der Ableitungstakterzeugungsschaltkreis 150 enthält allgemein
einen Frequenzteilerschaltkreis 152, einen Zählerschaltkreis 154 und
eine Nachschlagetabelle 156. Der Frequenzteilerschaltkreis 152 empfängt ein
Taktsignal von dem Grundtakterzeugungsschaltkreis 100 oder
einer anderen Quelle und erzeugt ein Signal niedrigerer Frequenz als
einen Ausgang. Der Frequenzteilerschaltkreis 152 kann jeder
beliebige im Stand der Technik bekannte Frequenzteilerschaltkreis
sein oder jede andere Art von Schaltkreis, der eine Frequenzteilerfunktion
auf das empfangene Grundtaktsignal ausübt. Alternativ kann der Frequenzteilerschaltkreis 152 durch
einen Frequenzvervielfacherschaltkreis ersetzt werden, um ein Taktsignal
höherer
Frequenz zu erzeugen.
-
Der Zählerschaltkreis 154 empfängt den Ausgang
des Frequenzteilerschaltkreises 152 und zählt Zyklen
des von dem Frequenzteilerschaltkreis 152 ausgegebenen
Taktsignals. Beispielsweise kann der Zählerschaltkreis 154 ein
3-Bit-Zähler
sein, der von 0 bis 7 zählt.
Natürlich
kann der Zählerschaltkreis 154 ein
verschiedener Zählerschaltkreis
sein, wie ein 2-Bit-, 4-Bit-Zähler,
etc., oder jede andere Art von Zählerschaltkreis.
-
Die Nachschlagetabelle 156 empfängt den Ausgang
des Zählerschaltkreises 154,
der zur Indizierung von in der Nachschlagetabelle 156 gespeicherten
Einträgen
verwendet wird. In einer Ausführungsform
weist die Nachschlagetabelle 156 einen Asynchronspeicher
auf. Jede Speicherkonfiguration, die eine Nachschlagetabellenfunktion
bietet, kann verwendet werden. In einer Ausführungsform mit einem 3-Bit-Zähler weist
die Nachschlagetabelle 156 acht Einträge auf, deren jeder einen Ausgangssignalpegel
speichert. Den Ausgang der Nachschlagetabelle 156 bilden
ein oder mehrere abgeleitete Taktsignale. In einer Ausführungsform
mit einem 3-Bit-Zähler
und acht Einträgen
gibt die Nachschlagetabelle 156 sequentiell und zyklisch
die darin gespeicherten Einträge
aus.
-
2 ist
eine Ausführungsform
der einen Wählschaltkreis
aufweisenden Takterzeugungsschaltungsanordnung gemäß der vorliegenden
Erfindung. Die Schaltungsanordnung von 2 ist dieselbe wie die Schaltungsanordnung
von 1 mit dem Zusatz
eines Multiplexers 210 und eines Frequenzvervielfachers 220.
Der Multiplexer 210 ermöglicht die
Auswahl externer Taktsignale anstelle des Grundtaktsignals, um einen
Eingang für
den Ableitungstakterzeugungsschaltkreis 150 zu liefern.
-
An den Multiplexer 210 angelegte
Wählsignale
(in 2 nicht dargestellt)
können
durch einen zentralen Steuerschaltkreis erzeugt werden, der Wählsignale
an multiple Multiplexer anlegt. Wählsignale können auch durch einen Ableitungstakterzeugungsschaltkreis
geliefert werden, der ein externes Taktsignal an den Multiplexer 210 anlegt.
Jede im Stand der Technik bekannte Art der Erzeugung geeigneter
Steuersignale kann benutzt werden.
-
Indem die Fähigkeit zur Auswahl aus multiplen
Taktsignalen zur Ansteuerung des Ableitungstakterzeugungsschaltkreises 150 zur
Verfügung
gestellt wird, bietet die vorliegende Erfindung eine größere Flexibilität zur Erzeugung
abgeleiteter Taktsignale, als es sonst möglich wäre.
-
In einer Ausführungsform ist der Frequenzvervielfacher 220 zwischen
ein externes Taktsignal und den Multiplexer 210 geschaltet.
Der Frequenzvervielfacher 220 multipliziert das externe
Taktsignal mit einem geeigneten Faktor zum Ausgleich für den Frequenzteilerschaltkreis 152 und
die Nachschlagetabelle 156, so daß eines oder mehrere der abgeleiteten
Taktsignale eine Frequenz aufweist, die der des externen Taktsignals
gleicht. Durch die Multiplikation der externen Taktsignale kann
die Schaltung in dem Ableitungstakterzeugungsschaltkreis 150 von
dem externen Taktsignal und dem Grundtaktsignal gemeinsam verwendet
werden. Jedoch werden Einschwingvorgänge in dem externen Taktsignal
durch den Ableitungstakterzeugungsschaltkreis 150 hindurch
zu dem Ausgangssignal weitergeleitet. Dies liefert die richtige
Beziehung zwischen dem externen Taktsignal und den abgeleiteten
Taktsignalen unabhängig
von Inkonsistenzen und/oder Einschwingvorgängen in dem externen Taktsignal
oder dem Grundtaktsignal und die Fähigkeit, das abgeleitete Taktsignal
an Punkten zusätzlich
zu den Taktflanken zu starten, anzuhalten und wieder aufzunehmen.
-
3 stellt
eine Ausführungsform
von Nachschlagetabelleneinträgen
und entsprechenden abgeleiteten Taktsignalen gemäß der vorliegenden Erfindung
dar. 3 beinhaltet vier
Beispiele von Nachschlagetabelleneinträgen in einer Tabelle mit Achtfacheinträgen und
von entsprechenden abgeleiteten Taktsignalen. Es ist jedoch wichtig,
anzumerken, daß gemäß der vorliegenden
Erfindung jede Nachschlagetabellengröße verwendet und jede Anzahl
abgeleiteter Taktsignale erzeugt werden kann. In einer Ausführungsform
werden die Nachschlagetabelleneinträge von 3 in einer einzigen Nachschlagetabelle gespeichert;
es können
jedoch multiple Nachschlagetabellen verwendet werden.
-
Die Nachschlagetabelleneinträge 300 entsprechen
Einträgen
in einer Nachschlagetabelle, wie Nachschlagetabelle 156 (in 1 dargestellt). Der INDEX-Eintrag
ist der Index oder die Adresse, die zu einem Signalpegeleintrag
gehört.
In einer Ausführungsform
sind acht mit 0 bis 7 bezeichnete INDEX-Werte in einer Naschlagetabelle
enthalten. Natürlich
kann jede Anzahl von INDEX-Werten verwendet werden. Die Nachschlagetabelleneinträge 300 beinhalten
auch TAKT_1-Einträge,
welche Signalpegel für
ein abgeleitetes Taktsignal für
jeden zugehörigen
INDEX-Wert angeben. In einer Ausführungsform entspricht eine
logische 0 einer niedrigen Spannung (z. B. 0 V bis 0,7 V) und eine
logische 1 einer hohen Spannung (z. B. 3 V bis 5 V). Es können jedoch
auch alternative Einträge
und Spannungspegel verwendet werden.
-
Die INDEX-Einträge entsprechen von dem Zählerschaltkreis 154 (in 1 gezeigt) empfangenen Eingangssignalen.
Während
der Zählerschaltkreis 154 wiederholt
von 0 bis 7 zählt,
werden zugehörige
Signalpegel ausgegeben. Das Signal 305 gehört zu den
Nachschlagetabelleneinträgen 300. Während sich
der Eingang in die Nachschlagetabelle ändert, alterniert der Ausgang
aus der Nachschlagetabelle zwischen einem hohen Pegel und einem
niedrigen Pegel. In dieser Ausführungsform
ist der Ausgang der Nachschlagetabelle an den Ausgang des Frequenzteilerschaltkreises
in dem Ableitungstakterzeugungsschaltkreis mit der Nachschlagetabelle
angepaßt.
-
Die Nachschlagetabelleneinträge 310 erzeugen
ein Taktsignal 315 mit einer Frequenz, welche die Hälfte der
Frequenz der Nachschlagetabelleneinträge 300 ist. Ein Ausgangspegel
(TAKT_2) wird für zwei
aufeinanderfolgende Eingänge
in die Nachschlagetabelle aufrechterhalten.
-
Die Nachschlagetabelleneinträge 320 erzeugen
ein Taktsignal 325 mit derselben Frequenz wie das Taktsignal 315 mit
einem unterschiedlichen Tastverhältnis.
Das Taktsignal 325 ist für drei Zählwerte des Zählerschaltkreises
niedrig und für
einen Zählwert hoch.
Die Nachschlagetabelleneinträge 330 erzeugen
ein Taktsignal 335 mit einer Frequenz, welche die Hälfte der
Frequenz des Taktsignals 315 ist.
-
Die Emulation kann beispielsweise
zum Zeitpunkt t2, welches eine dem Übergang
zwischen den INDEX-Werten 4 und 5 entsprechende Anstiegsflanke von
TAKT_1 ist, angehalten werden. Jedoch entspricht t2 nicht
einer Flanke für
die anderen Taktsignale von 3.
Um beim Stand der Technik bekannte Emulationssysteme bei t2 anzuhalten, läuft die Emulation typischerweise
bis zu der ersten auf t2 folgenden Flanke
weiter. Deshalb kann es vorkommen, daß die TAKT_2, TAKT_3 und TAKT_4
entsprechenden Taktbereiche nicht bei t2 anhalten.
Beispielsweise halten TAKT_2, TAKT_3, TAKT_4 zwischen t2 und t3 an. Wenn beim Stand der Technik die Emulation wieder
aufgenommen wird, werden die angehaltenen Taktsignale von dem Punkt
aus wieder aufgenommen, an dem die Taktzyklen anhielten.
-
Im Unterschied zum Stand der Technik
ermöglicht
es die vorliegende Erfindung, daß TAKT_2, TAKT_3 und TAKT_4
bei t2 anhalten und dort wieder aufgenommen
werden, da Nachschlagetabellen zur Erzeugung der Taktsignale verwendet
werden. Um bei t2 anzuhalten, werden die
INDEX-Werteingänge an
die Nachschlagetabellen 300, 310, 320 und 330 bei
4 angehalten. Jedes Taktsignal wird an diesem Punkt angehalten und
schreitet nicht zu dem nachfolgenden Übergang fort. Zur Wiederaufnahme
der Taktsignale bei t2 werden die INDEX-Werte
auf 5 inkrementiert und schreiten gemäß der gewünschten Emulationsabfolge fort.
-
Übersicht
eines abgeleitete Taktsignale verwendenden Emulationssystems
-
Figur 4 zeigt eine Ausführungsform
eines Emulationssystems, in dem die vorliegende Erfindung implementiert
werden kann. Das Emulationssystem 40 weist allgemein multiple
Emulationsplatinen auf, die durch einen Bus oder eine andere Vorrichtung
untereinander verbunden sind. Das Emulationssystem 40 weist
ferner einen Zeitsteuerungserzeugungsschaltkreis auf, der die anderen
Komponenten des Emulationssystems 40 mit Taktsignalen versorgt.
-
Das Emulationssystem 40 enthält multiple Emulationsplatinen,
wie Emulationsplatinen 410 und 420. Die Emulationsplatinen
ermöglichen
es dem Emulationssystem 40, Hardwareentwürfe für Test- und
Fehlerbeseitigungszwecke zu emulieren. In einer Ausführungsform
weist jede Emulationsplatine multiple programmierbare Vorrichtungen
(in 4 nicht dargestellt)
auf, wie benutzerprogrammierbare Gatterfeld(FPGA)-Vorrichtungen.
Die Emulationsplatinen sind durch einen Bus 400 untereinander
verbunden. Alternativ kann der Bus 400 durch eine andere
Vorrichtung ersetzt werden, welche die wechselseitige Verbin dung
zwischen den multiplen Platinen bewirkt, wie Leiterplattenchassis
und Verbindungsplatinen.
-
Der Zeitsteuerungserzeugungsschaltkreis 450 ist
ebenfalls mit dem Bus 400 gekoppelt. Der Zeitsteuerungserzeugungschaltkreis 450 liefert
eines oder mehrere Taktsignale an Komponenten des Emulationssystems 40.
In einer Ausführungsform weist
der Zeitsteuerungsschaltkreis 450 acht Schaltkreise zur
Erzeugung abgeleiteter Taktsignale auf. Natürlich kann von dem Zeitsteuerungserzeugungsschaltkreis 450 jede
Anzahl von Taktsignalen erzeugt werden. In einer Ausführungsform
weist der Zeitsteuerungserzeugungsschaltkreis 450 einen
Ableitungstakterzeugungsschaltkreis auf, wie den oben unter Bezugnahme
auf 2 und 3 erörterten Schaltkreis.
-
Ein Vorteil der Erzeugung abgeleiteter
Taktsignale gemäß der vorliegenden
Erfindung besteht darin, daß verteilte
Taktsignale keine als Folge der Verwendung multipler Takterzeugungsschaltkreise eingeführte Phasenverschiebung
aufweisen. Wenn daher die Taktverteilungswege auf eine Reduzierung oder
Beseitigung von Asymmetrie ausgelegt sind, bleiben die abgeleiteten
Taktsignale in Phase, wodurch die Emulation im Vergleich zum Stand
der Technik verbessert wird.
-
In der vorstehenden Beschreibung
ist die Erfindung unter Bezugnahme auf spezielle Ausführungsformen
beschrieben worden. Es ist jedoch offensichtlich, daß verschiedene
Abwandlungen und Änderungen
eingeführt
werden können,
ohne von der Reichweite der Erfindung abzuweichen. Dementsprechend
sind die Beschreibung und die Zeichnung in einem veranschaulichenden
und nicht in einem einschränkenden
Sinn zu verstehen.