-
Die
vorliegende Erfindung betrifft allgemein eine elektronische Vorrichtung
mit einem Taktbuffer und einem Taktumschaltungsschaltkreis, um an
einem Ausgang entweder ein erstes oder ein zweites Taktsignal bereitzustellen.
Die vorliegende Erfindung betrifft ebenfalls ein Verfahren zum Umschalten
zwischen einem ersten und einem zweiten Taktsignal.
-
In
diversen elektronischen Vorrichtungen ist es wünschenswert, zwischen verschiedenen
Taktsignalen umzuschalten. Dies wird typischerweise durch Verwendung
eines Taktumschalters mit Taktbuffern und einem Multiplexer realisiert.
Die Taktsignale werden durch die Taktbuffer, die so eingerichtet
sind, dass sie in eine Tristate-Betriebsart geschaltet werden können, in
der der Taktbuffer einen hochohmigen Ausgangszustand hat, gebuffert
(Tristate-Buffer). Um von einem Taktsignal auf das andere umzuschalten,
wird zum Beispiel ein dem ersten Taktsignal zugeordneter, erster
Tristate-Buffer in eine hochohmige Betriebsart geschaltet, und ein
dem zweiten Taktsignal zugeordneter, zweiter Tristate-Buffer wird eingeschaltet,
um an seinem Ausgang das gebufferte zweite Taktsignal bereitzustellen.
Beide Buffer sind mit ihren entsprechenden Ausgängen mit einem Multiplexer
gekoppelt, und der Multiplexer wird so geschaltet, dass das benötigte Taktsignal
an den Ausgang des Multiplexers durchgeschaltet wird. Das Hauptproblem
beim Umschalten von Taktsignalen sind Störimpulse, die in dem Ausgangssignal
auftreten können,
wenn das Umschalten des Multiplexers bzw. des Buffers mit Flanken des
Taktsignals zusammenfällt.
Störimpulse
können
vermieden werden, indem die Taktsignale in einem vorbestimmten Moment,
d. h. gleichzeitig mit ihren Flanken, ausgeschaltet werden. Ein
derartiges Umschaltverfahren ist in 1 gezeigt.
Ein erstes Taktsignal CLK0 und ein zweites Taktsignal CLK1 werden
an einen Multiplexer angelegt, der durch ein Multiplexersteuersignal
SEL_MUX gesteuert wird. Ein asynchrones Auswahlsignal ASYN_SEL gibt
mit einem Pegelwechsel von niedrig auf hoch an, dass der Ausgang
des Multiplexers von der Ausgabe des ersten Taktsignals CLK0 auf
das zweite Taktsignal CLK1 umgeschaltet werden sollte. Das Umschalten
von dem ersten Taktsignal CLK0 auf das zweite Taktsignal CLK1 wird
jedoch nicht sofort durchgeführt.
Es wird ein Synchronisationsschritt durchgeführt, in dem das synchronisierte
Auswahlsignal SEL_SYNC mit dem ersten Taktsignal CLK1 synchronisiert
wird. Danach wird das Multiplexersteuersignal SEL_MUX mit einer
fallenden Flanke des ersten Taktsignals von niedrig auf hoch umgeschaltet,
um an dem Ausgang des Multiplexers das erste Taktsignal CLK1 bereitzustellen.
Des Weiteren wird das erste Taktsignal CLK0 mit einer steigenden
Flanke des asynchronen Auswahlsignals ASYN_SEL in seinem momentanen
Zustand eingerastet (entweder '0' oder '1'). In dem vorliegenden Beispiel ist
dies der Zustand '0'. Folglich bleibt das
Ausgangssignal CLKOUT so lange auf einem logisch niedrigen Pegel '0', bis der Ausgang des Multiplexers als
Reaktion auf das Multiplexersteuersignal SEL_MUX umgeschaltet wird.
Es können
noch immer Störimpulse
auftreten, wenn ein herkömmlicher
Taktumschalter eingeschaltet wird, d. h. wenn der Schalter mit der
Versorgungsspannung verbunden ist. Deshalb benötigen Taktumschalter gemäß dem Stand
der Technik einen genau festgelegten RÜCKSETZ-Impuls, um nach dem
Einschalten der elektronischen Vorrichtung einen gültigen Zustand
einzunehmen. Außerdem
kann ein mit einem Taktumschalter nach dem Stand der Technik durchgeführtes RÜCKSETZEN
Störimpulse
in dem Ausgangssignal des Taktumschalters nicht verhindern.
-
Aus
der
US 2005/0040855
A1 ist ein Taktumschalter zum Umschalten zwischen einem
ersten Taktsignal und einem zweiten Taktsignal bekannt, wobei der
Taktumschalter einen ersten bzw. zweiten Tristate-Buffer zum Buffern
des ersten bzw. zweiten Taktsignals sowie einen Multiplexer aufweist,
der mit einem Ausgang des ersten Tristate-Buffers und mit einem
Ausgang des zweiten Tristate-Buffers gekoppelt ist und so eingerichtet
ist, daß er
als Reaktion auf ein Multiplexer-Steuersignal entweder das erste
Taktsignal oder das zweite Taktsignal als Taktausgangssignal ausgibt.
Auch diese Vorrichtung vermag die Nachteile des zuvor beschriebenen Standes
der Technik nicht zu beheben.
-
Gemäß der vorliegenden
Erfindung wird eine elektronische Vorrichtung bereitgestellt, die
den Taktumschalter zum Umschalten zwischen einem ersten Taktsignal
und einem zweiten Taktsignal umfasst, damit entweder das erste Taktsignal
oder das zweite Taktsignal als Ausgangssignal bereitgestellt wird.
Der Taktumschalter umfasst einen ersten Tristate-Buffer zum Buffern
des ersten Taktsignals. Der erste Tristate-Buffer hat einen Steuereingang
für den
Empfang eines ersten Tristate-Steuersignals. Es gibt ebenso einen
zweiten Tristate-Buffer zum Buffern des zweiten Taktsignals. Der
zweite Tristate-Buffer hat einen Steuereingang für den Empfang eines zweiten
Tristate-Steuersignals. Des Weiteren gibt es einen Multiplexer,
der mit einem Ausgang des ersten Tristate-Buffers und mit einem
Ausgang des zweiten Tristate-Buffers gekoppelt ist. Der Multiplexer ist
so eingerichtet, dass er als Reaktion auf ein Multiplexersteuersignal
entweder das erste oder das zweite Taktsignal als Taktausgangssignal
ausgibt. Es wird eine Steuerstufe bereitgestellt und so eingerichtet,
dass sie ein Taktauswahlsignal empfängt, das in einem ersten Zustand
anzeigt, dass das erste Taktsignal auszugeben ist, und in dem zweiten
Zustand, dass das zweite Taktsignal auszugeben ist. Die Steuerstufe
ist ferner so eingerichtet, dass sie das Multiplexersteuersignal
bereitstellt, das einen ersten Zustand zur Ausgabe des ersten Taktsignals
durch den Multiplexer und einen zweiten Zustand zur Ausgabe des
zweiten Taktsignals durch den Multiplexer hat. Des Weiteren ist
die Steuerstufe ferner so eingerichtet, dass eine Änderung
des Multiplexersteuersignals von dem ersten Zustand in den zweiten
Zustand durch eine Flanke des zweiten Takts ausgelöst wird
und eine Änderung
des Multiplexersteuersignals von dem zweiten Zustand in den ersten
Zustand durch eine Flanke des ersten Taktsignals ausgelöst wird,
wobei das Multiplexersteuersignal durch logische Gatter mit dem
Taktauswahlsignal verschaltet wird, um das erste Tristate-Steuersignal
und das zweite Tristate-Steuersignal zu erzeugen. Gemäß diesem
Aspekt der vorliegenden Erfindung wird eine einen Taktumschalter
umfassende elektronische Vorrichtung bereitgestellt, die eine Rückkopplungsverbindung
des Multiplexersteuersignals in Kombination mit dem Taktauswahlsignal
verwendet. Unter der Annahme, dass das Auswahlsignal zwei verschiedene
Zustände
hat und das Multiplexersteuersignal zwei verschiedene Zustände hat,
gibt es insgesamt vier verschiedene Zustände, die durch die beiden Eingangssignale
(d. h. das Taktauswahlsignal und das rückgekoppelte Multiplexersteuersignal)
gemeinsam festgelegt werden. Die Steuerstufe kann auf Grundlage der
logischen Verknüpfung
der beiden Eingangssignale als Reaktion auf das Taktauswahlsignal
und das Multiplexersteuersignal, das den momentanen Zustand des
Taktumschalters widerspiegelt, als Zustandsmaschine arbeiten. Wenn
das Taktauswahlsignal von einem Zustand in den anderen umgeschaltet
wird (d. h. es wird extern angezeigt, dass der Taktumschalter auf
ein anderes Taktsignal umschalten soll), können jegliche Unterschiede
zwischen dem Zustand des Multiplexersteuersignals und dem Zustand
des Taktauswahlsignals als Indikator dafür verwendet werden, dass sich
der Taktumschalter noch nicht auf seinen endgültigen Zustand eingestellt
hat. Deshalb ist es durch Verwendung des Multiplexersteuersignals
in Kombination mit dem Taktauswahlsignal möglich, undefinierte Anfangszustände nach
dem Einschalten der elektronischen Vorrichtung zu verhindern. Es
gibt entweder endgültige
Zustände,
die durch zwei entsprechende Zustände der beiden Signale angegeben
werden, die sich beide auf dasselbe auszugebende Sollausgangssignal
beziehen, oder Übergangszustände, wenn
sich die beiden Signale (d. h. das Taktauswahlsignal und das Multiplexersteuersignal) auf
verschiedene Sollausgangstakte beziehen. Diese Situation muss jedoch
durch Einstellen des Multiplexersteuersignals überwunden werden. Die Übergangszustände können in
der Steuerstufe korrekt detektiert werden.
-
Gemäß einem
Aspekt der vorliegenden Erfindung werden das komplementäre Multiplexersteuersignal (d.
h. im Fall von zwei unterschiedlichen Zuständen des Multiplexersteuersignals
ist dies das invertierte Multiplexersteuersignal) und das Taktauswahlsignal
einer logischen UND-Funktion zugeführt, um das erste Tristate-Steuersignal
zu erzeugen. Das Multiplexer-Steuersignal und das komplementäre Taktauswahlsignal
(d. h. im Fall von zwei unterschiedlichen Zuständen des Taktauswahlsignals
ist dies das invertierte Taktauswahlsignal) werden einer logischen
UND-Funktion zugeführt,
um das zweite Tristate-Steuersignal
zu erzeugen. Das erste und das zweite Tristate-Steuersignal werden
zur Steuerung der Tristate-Buffer verwendet. Entsprechend ist es
durch Anwendung einer logischen UND-Verknüpfung auf das Multiplexersteuersignal
und das Taktauswahlsignal möglich,
den Zustand der Tristate-Buffer als Reaktion auf den Ausgangszustand
(momentaner Zustand des Steuersignals) und den Sollzustand des Taktumschalters,
der durch das Taktauswahlsignal angegeben wird, zu steuern. Dadurch
können
die Tristate-Buffer ebenso in Bezug auf endgültige Zustände und Übergangszustände gesteuert
werden. Dieser Aspekt der vorliegenden Erfindung bietet zusätzliche
Freiheitsgrade bei der Steuerung des Taktumschalters, da die Tristate-Buffer
zum Beispiel gemäß den endgültigen Zuständen oder
den Übergangszuständen eingeschaltet
oder in Tristate geschaltet werden können.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung kann die Steuerstufe so
eingerichtet sein, dass sie einen ersten statischen Zustand annimmt,
wenn das Taktauswahlsignal und das Multiplexersteuersignal beide
den ersten Zustand aufweisen, und einen zweiten statischen Zustand
annimmt, wenn das Taktauswahlsignal und das Multiplexersteuersignal
beide den zweiten Zustand aufweisen. Gemäß diesem Aspekt der Erfindung
wird angenommen, dass der erste Zustand des Taktauswahlsignals und
der erste Zustand des Multiplexersteuersignals beide dasselbe Taktsignal
angeben, das an dem Multiplexerausgang auszugeben ist. Ist dies
der Fall, können
die Steuerstufe gemäß der vorliegenden
Erfindung und dadurch ebenso der Taktumschalter als in einem ersten
statischen Zustand befindlich angesehen werden, in dem keine internen
Steuersignale zu ändern
sind. Beide Tristate-Buffer können
insbesondere während
des ersten statischen Zustands und während des zweiten statischen
Zustands eingeschaltet werden. Entsprechend ist es möglich, das
entsprechende andere Taktsignal zu verwenden, wenn eines der Taktsignale
ausfällt.
Dieser Aspekt der Erfindung hilft dabei, Fehler auf Grund von Taktfehlern
zu vermeiden.
-
Die
Steuerstufe gemäß der vorliegenden
Erfindung kann so eingerichtet sein, dass sie einen ersten Übergangszustand
annimmt, wenn das Taktauswahlsignal den ersten Zustand aufweist
und das Multiplexersteuersignal den zweiten Zustand aufweist. Des
Weiteren kann die Steuerstufe so eingerichtet sein, dass sie einen
zweiten Übergangszustand
annimmt, wenn das Taktauswahlsignal den zweiten Zustand aufweist
und das Multiplexersteuersignal den ersten Zustand aufweist. Entsprechend
kann die Steuerstufe gemäß der vorliegenden
Erfindung so eingerichtet sein, dass sie vier verschiedene Zustände hat;
zwei statische Zustände und
zwei Übergangszustände. Die Übergangszustände sind
als die Zustände
festgelegt, in denen das von der Steuerstufe ausgegebene Multiplexersteuersignal
einen anderen Zustand als das Taktauswahlsignal an dem Eingang der
Steuerstufe aufweist. In dieser Situation muss die Steuerstufe die
notwendigen Schritte durchführen,
um das Multiplexersteuersignal als Reaktion auf das Taktauswahlsignal
so zu ändern,
dass es denselben Zustand wie das Taktausgangssignal annimmt. Die Übergangszustände können jedoch
zur Durchführung
bestimmter interner Steuerfunktionen verwendet werden. In dem ersten Übergangszustand
kann das zweite Tristate-Steuersignal zum Beispiel einen Zustand
aufweisen, der den zweiten Tristate-Buffer in Tristate setzt. Dann
kann das Ausgangssignal des ersten Tristate-Buffers zur Auslösung einer Änderung
des Zustands des Multiplexersteuersignals von dem zweiten in den
ersten Zustand verwendet werden. Entsprechend wird das Umschalten
des Multiplexersteuersignals mit dem ersten Takt, der der von dem
Multiplexer auszugebende Sollausgangstakt ist, synchronisiert. Des
Weiteren ist das erste Tristate-Steuersignal in dem zweiten Übergangszustand
in einem Zustand, in dem der erste Tristate-Buffer in Tristate gesetzt wird, und
das Ausgangssignal des zweiten Tristate-Buffers kann zur Auslösung einer Änderung
des Zustands des Multiplexersteuersignals von dem ersten in den
zweiten Zustand verwendet werden. Entsprechend wird der Sollausgangstakt,
der, wie durch das Taktauswahlsignal angegeben, von dem Multiplexer
auszugeben ist, zur Durchführung
des Schaltvorgangs verwendet. Hierdurch wird eine interne Synchronisation
mit dem Sollausgangstakt bereitgestellt. Des Weiteren kann das entsprechende
andere Taktsignal vorübergehend
und intern ausgeschaltet werden. Sobald sich der Taktumschalter
gemäß der vorliegenden
Erfindung jedoch in einen statischen Zustand eingeschwungen hat,
können
die beiden Tristate-Buffer eingeschaltet werden, so dass die gebufferten
Taktsignale beide für die
elektronische Vorrichtung gemäß der vorliegenden
Erfindung verfügbar
sind.
-
Gemäß einem
Aspekt der vorliegenden Erfindung kann ein bestimmter verzögerter Tristate-Buffer
verwendet werden. Der Tristate-Buffer gemäß der vorliegenden Erfindung
ist so eingerichtet, dass er als Reaktion auf ein erstes (internes)
Konfigurationssignal, das als Reaktion auf ein Steuersignal, das
ein an dem Tristate-Buffer angelegtes Tristate- Steuersignal ist, gesetzt wird, in einen
hochohmigen Zustand geschaltet werden kann. Der Tristate-Buffer
umfasst ferner eine mit einem Ausgang des Tristate-Buffers gekoppelte
Rückkopplungsschleife
zum Aufrechterhalten eines Ausgangssignals des Tristate-Buffers,
wenn der Tristate-Buffer in den hochohmigen Zustand geschaltet wird.
Eine Verzögerungsstufe
ist mit einem Eingang des Tristate-Buffers gekoppelt, um ein Eingangssignal
für den
Tristate-Buffer zu verzögern.
In dem Buffer wird eine Gatterstufe bereitgestellt, die Eingänge aufweist,
um das Eingangssignal, ein verzögertes
Signal, das eine zumindest durch die Verzögerungsstufe verzögerte Version
des Eingangssignals ist, und ein asynchrones Tristate-Steuersignal zu
empfangen, welches anzeigt, dass der Buffer in den hochohmigen Zustand
zu schalten ist. Die Gatterstufe hat einen Ausgang, der mit dem
Tristate-Buffer gekoppelt ist, um das erste Konfigurationssignal
bereitzustellen. Des Weiteren ist die Gatterstufe so eingerichtet,
dass sie das erste Konfigurationssignal nur dann setzt, wenn das
Tristate-Steuersignal gesetzt ist und das Eingangssignal und das
verzögerte
Signal Logikpegel haben, die anzeigen, dass sich innerhalb der Verzögerungsstufe
kein Signalpegelwechsel des Eingangssignals ausbreitet. Das verzögerte Signal
kann vorzugsweise das Ausgangssignal des Tristate-Buffers sein.
Entsprechend wird in dem verzögerten
Tristate-Buffer
dem Schaltkreis ein Signal zugeführt
und durch die Verzögerungsstufe
verzögert.
Das verzögerte
Eingangssignal wird dann durch den Tristate-Buffer gebuffert, um
ein Ausgangssignal zu erzeugen. Die Gatterstufe empfängt das
Eingangssignal und ein verzögertes
Signal, das ein Ausgangssignal der Verzögerungsstufe oder das Ausgangssignal
des Tristate-Buffers sein kann. Wenn der Tristate-Buffer in einen
hochohmigen Zustand zu schalten ist, empfängt die Gatterstufe ein Tristate-Steuersignal.
Nur wenn das Tristate-Steuersignal an der Gatterstufe empfangen
wird, und ebenfalls, wenn sowohl das Eingangssignal als auch das
verzögerte
Signal Logikpegel haben, die anzeigen, dass sich in der Verzögerungsstufe
kein Signalpegelwechsel des Eingangssignals ausbreitet, gibt die
Gatterstufe das erste Konfigurationssignal an den Tristate-Buffer
aus, das ihn in einen hochohmigen Zustand schaltet. Praktisch kann
ein sich durch die Verzögerungsstufe
ausbreitender Pegelwechsel mittels gleichen oder unterschiedlichen
Logikpegeln des Eingangssignals und des verzögerten Signals detektiert werden.
Das verzögerte
Signal kann vorzugsweise das Ausgangssignal des Tristate-Buffers
sein, aber es kann ebenso eine verzögerte Version des Eingangssignals
verwendet werden, das ein Ausgangssignal der Verzögerungsstufe
sein kann. Während
der Tristate-Buffer
in den hochohmigen Zustand geschaltet wird, hält die mit dem Ausgang des
Tristate-Buffers verbundene Rückkopplungsschleife
das Ausgangssignal. Anders ausgedrückt, der Logikpegel des Ausgangssignals wird
durch die Rückkopplungsschleife
aufrechterhalten, wenn der Buffer in Tristate schaltet. Das Verschalten des
ersten Konfigurationssignals mit logischen Gattern auf die beschriebene
Weise und die Verwendung der Verzögerungsstufe bedeuten, dass
jede mögliche
Störimpulserzeugung
außerhalb
des Signalpfads des Buffers verschoben wird. Auf Grund der Verzögerungsstufe
hat das Schalten des Tristate-Buffers
in Bezug auf das Eingangssignal einen vorübergehenden Vorsprung. Wenn
das Verzögerungsausmaß sorgfältig ausgewählt wird,
kann vermieden werden, dass irgendein Pegelwechsel oder irgendeine
Flanke des Eingangssignals während
des Schaltens des Tristate-Buffers in die hochohmigen Betriebsart
durch den Tristate-Buffer hindurchgeht. Des Weiteren stellt die
vorliegende Erfindung eine Schaltung bereit, die einfach ist, lediglich
eine geringe Fläche
benötigt
und lediglich eine geringe Strommenge verbraucht.
-
Noch
immer in Bezug auf den verzögerten
Tristate-Buffer ist das Eingangssignal ein Taktsignal, und die Verzögerungsstufe
ist so eingerichtet, dass sie auf das Eingangssignal eine Verzögerung ausübt, die
kürzer
als eine halbe Taktperiode des Taktsignals ist. Die Verzögerungsstufe
verzögert
das Eingangssignal, um ein verzögertes
Eingangssignal bereitzustellen, das um weniger als eine halbe Taktperiode
des Eingangssignals verzögert
ist. Theoretisch sollte die Verzögerung
länger
als 2·n·T/2 und
kürzer
als (2·n
+ 1)T/2 sein, wobei T die Taktperiode des Eingangstaktsignals und
n eine ganze Zahl mit n ≥ 0
ist. Das Tristate-Steuersignal
ist asynchron zu dem Eingangssignal. Wenn das Tristate-Steuersignal durch
logische Gatter mit dem Eingangssignal und dem verzögerten Signal
verschaltet wird, sorgt eine Verzögerung von weniger als einer
halben Taktperiode dafür,
dass Störimpulse
während
des Übergangs
in die Haltebetriebsart, d. h. in die hochohmige Betriebsart des
Tristate-Buffers, vermieden werden. Praktisch können keine Störimpulse
in dem Bufferausgangssignal beim Schalten des Tristate-Buffers in
dessen hochohmigen Zustand bei einem gleichzeitigen Pegelwechsel
des Eingangs-(takt-)signals auftreten.
-
In
den Tristate-Buffern kann die Verzögerungsstufe eine Kette aus
einer Mehrzahl von Invertern umfassen. Die die Verzögerungsstufe
bildenden Inverter können
zwischen den Eingang und den Tristate-Buffer in Reihe geschaltet
sein. Jeder Inverter kann zum Beispiel aus einem komplementären Paar
MOS-Transistoren gebildet werden, wodurch der Schaltungsaufbau vereinfacht
wird und was bedeutet, dass für
die elektronische Vorrichtung bestehende Entwurfsbibliotheken verwendet
werden können.
-
Die
Gatterstufe in dem verzögerten
Tristate-Buffer gemäß der vorliegenden
Erfindung umfasst vorzugsweise ein Speicher-Flipflop, das nur dann
gesetzt wird, wenn das Tristate-Steuersignal gesetzt ist und das Eingangssignal
und das Ausgangssignal die entsprechenden Logikpegel haben. Hierbei
kann es sich je nach spezifischer Ausführung um gleiche Pegel oder
um unterschiedliche Pegel handeln. Die vorliegende Erfindung wird
nachfolgend in Bezug auf die beiden Signale mit denselben Logikpegeln
beschrieben. Für
einen Fachmann ist es jedoch offensichtlich, dass eine Invertierung
verwendet werden kann, um den weiteren Betrieb auf unterschiedliche
Logikpegel des Ausgangs- und des Eingangssignals zu stützen. Für gleiche
Logikpegel wird das Speicher-Flipflop dann so gesetzt, dass die
Gatterstufe das erste Konfigurationssignal nur dann ausgibt, wenn
es das Tristate-Steuerignal zur selben Zeit empfängt, zu der das Eingangs- und
das Ausgangssignal dieselben Logikpegel haben.
-
Die
vorliegende Erfindung betrifft ebenfalls ein Verfahren zum Umschalten
zwischen einem ersten Taktsignal und einem zweiten Taktsignal. Das
erste Taktsignal wird mit einem ersten Tristate-Buffer gebuffert, und
das zweite Taktsignal wird mit einem zweiten Tristate-Buffer gebuffert.
Das erste Taktsignal oder das zweite Taktsignal werden als Ausgangssignale
der Taktumschalter als Reaktion auf ein Steuersignal ausgegeben. Das
Steuersignal in diesem Zusammenhang ist zum Beispiel das Signal,
das zum Umschalten des Multiplexers verwendet wird. Allgemein ist
das Steuersignal ein Signal, das als Reaktion auf ein Taktauswahlsignal
gesetzt wird. Das Taktauswahlsignal, das in einem ersten Zustand
anzeigt, dass das erste Taktsignal auszugeben ist, und in einem
zweiten Zustand, dass das zweite Taktsignal auszugeben ist, wird
empfangen. Das Steuersignal wird so bereitgestellt, dass es einen
ersten Zustand zur Ausgabe des ersten Taktsignals und einen zweiten
Zustand zur Ausgabe des zweiten Taktsignals hat. Eine Änderung
des Steuersignals von dem ersten Zustand in den zweiten Zustand
wird mit einer Flanke des zweiten Taktsignals (das das Sollausgangstaktsignal für diese
Situation ist) ausgelöst,
während
eine Änderung
des Steuersignals von dem zweiten Zustand in den ersten Zustand
mit einer Flanke des ersten Taktsignals (d. h. des Sollausgangstaktsignals
in diesem Fall) ausgelöst
wird. Des Weiteren können
der erste Tristate-Buffer und der zweite Tristate-Buffer als Reaktion
auf die verknüpften
Logikzustände
des Taktauswahlsignals und des Steuersignals gesteuert werden. Wie
obenstehend dargelegt, sorgt das Steuern des Tristate-Buffers als
Reaktion auf die verknüpften
Logikzustände
des Taktauswahlsignals und des Steuersignals, das durch die Steuerstufe
selbst bereitgestellt wird, für
eine stabile Situation, die der Taktumschalter gemäß der vorliegenden
Erfindung immer annimmt. Es kann ein erster statischer Zustand angenommen
werden, wenn das Taktauswahlsignal und das Steuersignal beide den
ersten Zustand aufweisen, und der Taktumschalter gemäß der vorliegenden
Erfindung kann einen zweiten statischen Zustand annehmen, wenn das
Taktauswahlsignal und das Steuersignal beide den zweiten Zustand
aufweisen. In diesen statischen Zuständen können der erste Tristate-Buffer
und der zweite Tristate-Buffer eingeschaltet werden. Des Weiteren
kann es einen ersten und einen zweiten Übergangszustand geben, wenn
das Taktauswahlsignal und das Steuersignal, wie obenstehend erläutert, unterschiedliche
Zustände
aufweisen.
-
Weitere
Vorteile und Merkmale der Erfindung ergeben sich aus der untenstehenden
Beschreibung der bevorzugten Ausführungsformen und aus den beigefügten Zeichnungen.
Es zeigen:
-
1 ein
Diagramm, das Signalverläufe
darstellt, die sich auf einen Taktumschalter gemäß dem Stand der Technik beziehen;
-
2 ein
vereinfachtes Schaltbild einer Ausführungsform der vorliegenden
Erfindung;
-
3 ein
Zustandsdiagramm, das Aspekte der vorliegenden Erfindung darstellt;
-
4 ein
vereinfachtes Schaltbild einer Ausführungsform der vorliegenden
Erfindung;
-
5 ein
vereinfachtes Schaltbild eines Tristate-Buffers gemäß einer
Ausführungsform
der Erfindung;
-
6 ein
vereinfachtes Schaltbild eines Tristate-Buffers gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
7 ein
Diagramm von Taktsignalpegelwechseln eines Tristate-Buffers gemäß der vorliegenden
Erfindung für
einen kleinen Störimpuls
des Tristate-Steuersignals; und
-
8 ein
Diagramm von Taktsignalpegelwechseln eines Tristate-Buffers gemäß der vorliegenden
Erfindung für
einen größeren Störimpuls
des Tristate-Steuersignals.
-
2 ist
ein vereinfachtes Schaltbild einer Ausführungsform der vorliegenden
Erfindung. Es gibt eine Steuerstufe CNTL, die mit einem ersten Tristate-Buffer
TBUF0 und einem zweiten Tristate-Buffer TBUF1 sowie einem Multiplexer
MUX gekoppelt ist. Der erste Tristate-Buffer TBUF0 empfängt ein
erstes Taktsignal CLK0 und gibt ein gebuffertes erstes Taktsignal
CLK0_BUF aus, das die gebufferte Version des ersten Taktsignals CLK0
ist. Der zweite Tristate-Buffer TBUF1 empfängt ein zweites Taktsignal
CLK1 und gibt ein gebuffertes zweites Taktsignal CLK1_BUF aus. Beide
der Tristate-Buffer TBUF0, TBUF1 empfangen ein entsprechendes Tristate-Steuersignal
3ST0 bzw. 3ST1, um die Tristate-Buffer
in eine Tristate-Betriebsart zu schalten. In der Tristate-Betriebsart
haben die Tristate-Buffer einen hochohmigen Ausgang. Des Weiteren
empfängt
die Steuerstufe das Taktauswahlsignal SEL und erzeugt ein Multiplexersteuersignal
MUX_SEL an ihrem Ausgang zur Steuerung des Multiplexers MUX. Der
Multiplexer empfängt
das gebufferte erste Taktsignal CLK0_BUF und das zweite gebufferte
Taktsignal CLK1_BUF an entsprechenden Eingängen IN0 bzw. IN1. Der Multiplexer schaltet
als Reaktion auf das Multiplexersteuersignal entweder das Eingangssignal
IN0 oder das Eingangssignal IN1 durch, damit sie das Ausgangstaktsignal
an dem Multiplexerausgangsknoten CLK_OUT werden. Das Multiplexersteuersignal
MUX_SEL ist ebenfalls mit einem Eingang der Steuerstufe CNTL gekoppelt,
wodurch eine Rückkopplungskonfiguration
gebildet wird. Dies ermöglicht
es der Steuerstufe, interne Zustände
als Reaktion sowohl auf das Taktauswahlsignal SEL als auch auf das
Multiplexersteuersignal MUX_SEL bereitzustellen.
-
3 zeigt
ein Zustandsdiagramm, das Aspekte der vorliegenden Erfindung darstellt.
Insbesondere kann der Betrieb der in 2 gezeigten
Steuerstufe CNTL so verstanden werden, wie durch 3 dargestellt ist.
Es gibt vier verschiedene Zustände '00', '01', '10', '11', die sich auf zwei
verschiedene Zustände
der beiden Signale, des Taktauswahlsignals SEL und des Multiplexersteuersignals
MUX_SEL beziehen. Wenn die Steuerstufe Zustand '00' aufweist
und das Taktauswahlsignal SEL auf '0' bleibt,
bleibt die Steuerstufe ebenfalls in diesem ersten statischen Zustand '00'. Wenn das Taktauswahlsignal
SEL jedoch auf '1' umschaltet, verlässt die
Steuerstufe den ersten statischen Zustand '00' und
geht in den ersten Übergangszustand '10' über. Das Taktauswahlsignal
SEL gibt durch Annehmen des ersten Zustands (d. h. der logischen '1') an, dass das zweite Taktsignal CLK1
an dem in 2 gezeigten Ausgangsknoten CLK_OUT
ausgegeben werden sollte. In dem Übergangszustand '10' befindet sich das
Multiplexersteuersignal MUX_SEL jedoch noch immer in dem ersten Zustand,
d. h. in Logikzustand '0'. Die Steuerstufe
bleibt in diesem ersten Übergangszustand
(d. h. '10') bis das Multiplexersteuersignal
MUX_SEL mit dem Sollausgangstakt CLK1 synchronisiert ist. Nach Erreichen
einer Synchronisation, was durch „synchron" angegeben ist, geht die Steuerstufe
in den zweiten statischen Zustand '11' über. In
diesem zweiten statischen Zustand wird das zweite Taktsignal CLK1
von dem Taktumschalter an dem Ausgangsknoten CLK_OUT ausgegeben.
So lange das Taktauswahlsignal SEL logisch '1' ist,
bleiben die Steuerstufe und dadurch der Steuerschalter in dem zweiten
statischen Zustand '11'. Wenn das Taktauswahlsignal
SEL jedoch auf logisch '0' geschaltet wird,
verlässt
die Steuerstufe den zweiten statischen Zustand '11' und
geht in den zweiten Übergangszustand '01' über. In diesem Zustand wird
das Multiplexersteuersignal MUX_SEL mit dem Sollausgangstakt CLK0
synchronisiert. Sobald die Synchronisation erreicht ist, was durch „synchron" angegeben ist, geht
die Steuerstufe in den ersten statischen Zustand '00' über, in dem das erste Taktsignal
CLK0 ausgegeben wird. Die in 3 gezeigte
Regelkreiskonfiguration veranschaulicht, dass die Steuerstufe CNTL
gemäß der vorliegenden
Erfindung eine Zustandsmaschine implementiert, die so eingerichtet
ist, dass sie unabhängig
von den Zuständen
des Taktauswahlsignals bzw. des Multiplexersteuersignals MUX_SEL
automatisch in einen statischen Zustand zurückfällt (d. h. entweder einen ersten
('00') oder einen zweiten
statischen Zustand ('11')).
-
Die
folgende Tabelle 1 fasst die Zustände und die zugehörigen Signale
zusammen Tabelle 1
SEL | MUX_SEL | Zustand | Bemerkung |
0 | 0 | statisch
CLK0 | MUX
ist in Position CLK0. Beide Buffer TBUF0 und TBUF1 leiten ihre entsprechenden Takte
CLK0 bzw. CLK1 weiter. Der Zustand wird aufrechterhalten bis SEL auf '1' wechselt |
1 | 0 | gehe
zu CLK1 | SEL
zeigt an, dass CLK1 auszugeben ist, aber MUX ist noch immer in Position
CLK0. CLK0 wird während
dieses Zustands gehalten. Es treten an dem MUX-Ausgang keine Pegelwechsel innerhalb
von 2 Zyklen des CLK1-Takts auf.
Dann wechselt MUX_SEL auf '1' |
1 | 1 | statisch
CLK1 | MUX
ist in Position CLK1. Beide Buffer TBUF0 und TBUF1 leiten ihre entsprechenden Takte
CLK0 bzw. CLK1 weiter. Der Zustand wird aufrechterhalten bis SEL auf '0' wechselt |
0 | 1 | gehe
zu CLK0 | SEL
zeigt an, dass CLK0 auszugeben ist, aber MUX ist noch immer in Position
CLK1. CLK0 wird während
dieses Zustands gehalten. Es treten an dem MUX-Ausgang keine Pegelwechsel innerhalb
von 2 Zyklen des CLK0-Takts auf.
Dann wechselt MUX_SEL auf '0' |
-
4 zeigt
ein vereinfachtes Schaltbild einer Ausführungsform der vorliegenden
Erfindung ausführlicher.
Der erste und der zweite Tristate-Buffer TBUF0 bzw. TBUF1 empfangen das
erste Taktsignal CLK0 bzw. das zweite Taktsignal CLK1. Sie erzeugen
an ihren Ausgängen
ein gebuffertes erstes Taktsignal CLK0_BUF bzw. ein gebuffertes
zweites Taktsignal CLK1_BUF. Diese gebufferten Versionen der beiden
Taktsignale werden einem Multiplexer zugeführt, der durch ein Multiplexersteuersignal
MUX_SEL gesteuert wird. Die Tristate-Buffer TBUF0 und TBUF1 werden
durch entsprechende Tristate-Steuersignale 3ST0 bzw. 3ST1 gesteuert. Die
Tristate-Steuersignale 3ST0 und 3ST1 werden durch ein entsprechendes
erstes bzw. zweites UND-Gatter AN1 bzw. AN2 erzeugt. Die in 2 gezeigte
Steuerstufe CNTL ist nun durch die UND-Gatter AN1 bis AN6, die Inverter
INV1 bis INV3, die Flipflops FF1 bis FF4, ein Speicher-Flipflop
(RS-Flipflop) und zwei ODER-Gatter OR1 und OR2 realisiert. Das Multiplexersteuersignal
MUX_SEL wird an den Eingang der Steuerstufe rückgekoppelt. Eine komplementäre Version
des Multiplexersteuersignals MUX_SEL wird dem ersten UND-Gatter AN1
(durch einen invertierten Eingang des UND-Gatters) zugeführt. Das
UND-Gatter AN2 empfängt die
komplementäre
Version des Taktauswahlsignals SEL (durch einen Inverter), bei dem
es sich um SELZ handelt, und das Multiplexersteuersignal MUX_SEL.
Als Reaktion auf die Logikzustände
des Taktauswahlsignals SEL und des Multiplexersteuersignals MUX_SEL
wird entweder das erste Tristate-Steuersignal 3ST0 für den ersten
Tristate-Buffer
TBUF0 auf logisch '1' gesetzt, oder das
zweite Tristate-Steuersignal 3ST1 für den zweiten Tristate-Buffer
TBUF1 wird auf logisch '1' gesetzt. Wenn der
Tristate-Buffer TBUF0 bzw. TBUF1 erfolgreich in Tristate gesetzt
ist, wird das Signal IN_3ST0 bzw. IN_3ST1 hoch, d. h. logisch '1'. Dieser Aspekt der vorliegenden Erfindung
betrifft die Tristate-Buffer TBUF0 und TBUF1, wobei eine bestimmte
Verzögerung
berücksichtigt werden
muss, bevor der Tristate-Buffer schließlich in Tristate eintritt.
Dieser Aspekt wird nachfolgend in Bezug auf eine spezifische Tristate-Bufferkonfiguration
erläutert.
In einer vereinfachten Ausführungsform
kann der Knoten IN_3ST0 jedoch direkt mit dem Knoten 3ST0 gekoppelt
sein, und der Knoten IN_3ST1 kann direkt mit 3ST1 gekoppelt sein.
-
Die
Logikgatter und Flipflops in dem oberen Teil der 4,
d. h. AN3, AN4, FF1, FF2, INV2 und OR1 dienen im Grunde dazu, eine
logische '1' an dem Ausgang des
ODER-Gatters OR1 zu erzeugen, wenn der Tristate-Buffer TBUF0 erfolgreich in Tristate
gesetzt ist und an den Takteingängen
der beiden Flipflops FF1 und FF2 eine steigende oder fallende Flanke
der gebufferten Version des zweiten Signals CLK1_BUF empfangen wird.
Dies sorgt dafür,
dass jegliche Änderungen
des Multiplexersteuersignals MUX_SEL lediglich als Reaktion auf
eine steigende oder eine fallende Flanke des zweiten Taktsignals
CLK1 (d. h. synchron mit dem Sollausgangstakt) auftreten können, wenn
von dem ersten Takt CLK0 auf den zweiten Takt CLK1 umgeschaltet
wird. Der Ausgang des ODER-Gatters
OR1 ist mit dem Eingang des RS-Flipflops gekoppelt.
-
Der
untere Teil der Steuerstufe in 4 umfasst
die UND-Gatter ANS, AN6, einen Inverter INV3, das ODER-Gatter OR2
und die beiden Flipflops FF3 und FF4. Diese Logikzustände und
Flipflops implementieren die zu dem oberen Teil der in 4 gezeigten
Schaltung komplementäre
Funktion. Wenn das Signal IN_3ST1 hoch wird und das Taktauswahlsignal
SEL logisch '0' ist, wird an dem
Ausgang des ODER-Gatters OR2 als Reaktion auf eine Flanke des gebufferten
ersten Taktsignals CLK0_BUF eine logische '1' erzeugt.
-
Die
Ausgänge
der ODER-Gatter OR1 und OR2 steuern das RS-Flipflop. Eine logische '1' an dem Rücksetzeingang R des RS-Flipflops
und eine logische '0' an dem Setzeingang
S des RS Flipflops erzeugen eine logische '0' an
dem Ausgang Q des RS-Flipflops. Bei einer logischen '1' an dem Setzeingang S und einer logischen '0' an dem Rücksetzeingang R wird an dem
Ausgang X des RS-Flipflops eine logische '0' erzeugt. R
und S auf '1' ist nicht gestattet,
und mit zwei '0'-en, bleibt der Zustand
des Ausgangs erhalten. Der Ausgang Q des RS-Flipflops stellt das
Multiplexersteuersignal MUX_SEL bereit.
-
Die
Flipflops FF1 und FF2 empfangen das Taktauswahlsignal SEL an ihren
Eingängen
CLRZ. Diese Eingänge
werden dazu verwendet, die Flipflops FF1 und FF2 zu löschen, was
bedeutet, dass die Ausgänge Q
auf logisch '0' gesetzt werden,
wenn das Taktauswahlsignal logisch '0' ist.
Das entsprechende invertierte bzw. komplementäre Taktauswahlsignal SELZ wird
an die Flipflops FF3 und FF4 angelegt, was dafür sorgt, dass der Ausgang des
zweiten ODER-Gatters OR2 so lange auf logisch '0' bleibt
wie das Taktauswahlsignal SEL auf logisch '1 ist. Dieser Aspekt sorgt dafür, dass
lediglich entweder der Eingang S oder der Eingang R des RS-Flipflops logisch '1' sein kann.
-
Entsprechend
sorgt die Steuerstufe gemäß der vorliegenden
Erfindung dafür,
dass das Multiplexersteuersignal MUX_SEL als Reaktion auf das Taktauswahlsignal
SEL umgeschaltet wird, jedoch lediglich synchron mit dem entsprechenden
Sollausgangstakt. Wenn das Taktauswahlsignal SEL logisch '0' ist, sollte der Ausgangstakt CLK_OUT
das erste Taktsignal CLK0 sein. Wenn jedoch das Multiplexersteuersignal
MUX_SEL logisch '0' ist, ist kein Pegelwechsel
notwendig, und die Steuerstufe bleibt in dem ersten statischen Zustand. Wenn
das Multiplexersteuersignal MUX_SEL logisch '1' ist,
ist die Steuerstufe in einem Übergangszustand. Dieser Übergangszustand
kann nur dann auftreten, wenn der vorhergehende Zustand des Taktumschalters der
Zustand war, in dem das zweite Taktsignal CLK1 an dem Multiplexerausgang
CLK_OUT ausgegeben wurde. In dieser Situation muss das Multiplexersteuersignal
MUX_SEL mit dem Sollausgangstakt (CLK0) synchronisiert werden, bevor
der Multiplexer MUX umgeschaltet werden kann. Dann fällt die
Steuerstufe in einen statischen Zustand, der dem in 3 gezeigten
Zustand '00' entspricht.
-
Wenn
das Taktauswahlsignal SEL logisch '1' ist
und das Multiplexersteuersignal MUX_SEL ebenfalls logisch '1' ist, ist keine Änderung erforderlich, und die
Steuerstufe bleibt in dem zweiten statischen Zustand. Wenn das Multiplexersteuersignal
MUX_SEL jedoch logisch '0' ist, gibt dies an,
dass der vorhergehende Zustand des Steuerschalters ein Zustand war,
in dem das erste Taktsignal CLK0 durch den Multiplexer MUX als Ausgangstaktsignal
CLK_OUT ausgegeben wurde. In dieser Situation ist die Steuerstufe
in einem Übergangszustand,
und das Multiplexersteuersignal MUX_SEL muss synchron mit dem Sollausgangstaktsignal
CLK1 auf logisch '1' geändert werden.
-
Außerdem werden
die Tristate-Buffer TBUF1 und TBUF2 während der Übergangszustände vorübergehend
ausgeschaltet und während
der statischen Zustände
eingeschaltet. Für
einen Schaltvorgang von dem ersten Takt CLK0 auf den zweiten Takt
CLK2 ist der obere Teil der 4 zu berücksichtigen.
Die UND-Gatter AN3 und AN4 koppeln das Ausgangssignal CLK0_BUF des
ersten Tristate-Buffers TBUF0 logisch mit dem Signal IN_3ST0, was
angibt, dass TBUF0 erfolgreich in Tristate gesetzt wurde. Auf Grund
von internen Verzögerungen
in dem Tristate-Buffer
TBUF0, die nachfolgend ausführlicher
erläutert
werden, kann das Signal IN_3ST0 in Bezug auf das Steuersignal 3ST0
verzögert
sein. Nach einer bestimmten, durch die interne Struktur von TBUF0
festgelegten Zeit, wird IN_3ST0 logisch '1'.
Wenn CLK0_BUF ebenfalls auf '1' eingefroren ist, gibt
das logische UND-Gatter AN3 eine logische '1' aus.
Andernfalls, wenn CLK0_BUF gleich '0' ist,
gibt das andere UND-Gatter AN4 eine logische '1' aus.
Wenn TBUF0 in Tristate gesetzt ist, wird der Zustand des Ausgangs
von TBUF0 allgemein als erhalten (d. h. eingefroren) gewertet, wenn
kein anderes Signal an den Ausgangsknoten angelegt wird. Folglich
empfängt
eines der Flipflops FF1 bzw. FF2 immer eine '1',
und das entsprechende Flipflop gibt entweder mit einer steigenden
Flanke von CLK1_BUF oder mit einer fallenden Flanke von CLK1_BUF
eine '1' aus. Deshalb ist
der Ausgang des ODER-Gatters OR1 immer so lange auf logisch '1' gesetzt wie CLK1_BUF einen Pegelwechsel
durchführt,
und TBUF0 wird erfolgreich in die Tristate-Betriebsart geschaltet.
Wenn MUX_SEL jedoch als Reaktion darauf von '0' logisch '1' gesetzt wird, wird der Ausgang des UND-Gatters
AN1 niedrig, d. h. logisch '0', und der Tristate-Buffer
TBUF0 wird wieder eingeschaltet, d. h. die Tristate-Betriebsart von TBUF0
wird beendet. Entsprechend ist die Steuerstufe so lange in einer Übergangsbetriebsart,
während
der CLK0_BUF eingefroren ist (d. h. das Schalten ist deaktiviert),
wie MUX_SEL '0' ist und SEL '1' ist. Des Weiteren wird ein weiterer Übergangszustand
angenommen, in dem TBUF1 in Tristate geschaltet ist, wenn MUX_SEL '1' ist und SEL '0' ist.
ANS, AN6, FF3 und FF4 führen
entsprechende Operationen, wie für
AN3, AN4, und FF1, FF2 beschrieben, durch. Wenn SEL und MUX_SEL
beide logisch '0' sind, ist der Übergangszustand
vorüber,
und der statische Endzustand für
einen Pegelwechsel von CLK1 zu CLK0 ist erreicht.
-
5 zeigt
einen Tristate-Buffer gemäß Aspekten
der Erfindung, der in den in 2 und 4 gezeigten
Ausführungsformen
verwendet werden kann. Der Tristate-Buffer TBUF hat einen Eingangsknoten,
der so betrieben werden kann, dass er ein Eingangssignal BUF_IN,
zum Beispiel ein Taktsignal, empfängt. Der Eingangsknoten ist
mit einem Eingang einer Verzögerungsstufe
DEL und einem Eingang einer Gatterstufe GS gekoppelt. Die Verzögerungsstufe
DEL ist so konfiguriert, dass sie ein verzögertes Eingangssignal BUF_IN_DEL
ausgibt, und der Ausgang der Verzögerungsstufe DEL wird dem Eingang
eines Tristate-Buffers TBUF zugeführt, der so betrieben werden
kann, dass er ein Ausgangssignal BUF_OUT ausgibt. Eine Rückkopplungsschleife
ist mit dem Ausgang des Tristate-Buffers TBUF verbunden, von dem
das Signal BUF_OUT ausgegeben wird. Die Gatterstufe GS hat ebenfalls
einen Eingang, der das verzögerte
und gebufferte Eingangssignal von dem Ausgang des Tristate-Buffers TBUF empfängt. Eigentlich
ist das von der Gatterstufe GS empfangene Signal das verzögerte Eingangssignal
BUF_IN_DEL nach Bufferung durch den Tristate-Buffer TBUF. Dies ist
in 5 als gestrichelte Linie von dem Ausgang der Verzögerungsstufe
DEL zu der Gatterstufe GS gezeigt. Die Gatterstufe GS hat ebenso
einen weiteren Eingang, der so konfiguriert ist, dass er das Tristate-Steuersignal
3ST und ein Ausgangssignal IN_3ST empfängt, um anzuzeigen, dass der
erfindungsgemäße Buffer
erfolgreich in den hochohmigen Zustand (Tristate) eingetreten ist.
Das Tristate-Steuersignal 3ST ist das externe Signal, das anfordert,
dass der Buffer in Tristate schaltet. Der Ausgang der Gatterstufe
GS ist mit dem Freigabeeingang des Tristate-Buffers TBUF verbunden,
um ein Konfigurationssignal CS1 bereitzustellen, um den Tristate-Buffer
TBUF in einen hochohmigen Zustand zu schalten.
-
Tabelle
2 zeigt die Logikpegel des Eingangssignals BUF_IN, des Ausgangssignals
BUF_OUT, des Tristate-Steuersignals 3ST und des Konfigurationssignals
CS1 während
des Betriebs der in
5 gezeigten Vorrichtung. Tabelle 2
BUF_IN | BUF_OUT | 3ST | CS1 |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 |
-
Wenn
das Konfigurationssignal CS1 logisch '1' ist,
wird der Buffer TBUF in den hochohmigen Zustand geschaltet. Dies
ist nur dann der Fall, wenn der Buffereingang BUF_IN und der Bufferausgang
BUF_OUT denselben Zustand haben; entweder sind beide Signale logisch '0' oder beide Signale sind logisch '1'. Des Weiteren ist eine Anforderung
zum Schalten des Buffers TBUF in einen hochohmigen Zustand anhängig, wenn
3ST logisch '1' ist. Wenn 3ST logisch '0' ist, bleibt das Konfigurationssignal
CS1 logisch '0'. Die Gatterstufe
ist so eingerichtet, dass sie das entsprechende Konfigurationssignal
CS1 als Reaktion auf 3ST, BUF_IN und BUF_OUT erzeugt. Wenn das Tristate-Steuersignal
3ST gesetzt und logisch '1' ist, und wenn sowohl
das Eingangssignal BUF_IN als auch das Ausgangssignal BUF_OUT logisch '1' sind, kann das Konfigurationssignal CS1
auf logisch '1' gesetzt werden.
Dieselbe Situation tritt ein, wenn BUF_OUT und BUF_IN logisch '0' sind. Wenn BUF_IN und BUF_OUT in demselben
Zustand sind, bedeutet dies ebenfalls, dass sich innerhalb der Verzögerungsstufe
DEL (und innerhalb des Tristates TBUF) kein Signalpegelwechsel des
Eingangssignals BUF_IN ausbreitet. Wenn die Gatterstufe GS ein Konfigurationssignal
CS1 mit logisch '1' erzeugt (setzt),
wird der Tristate-Buffer TBUF in einen hochohmigen Zustand geschaltet.
Wenn das Eingangssignal BUF_IN jedoch logisch '0' und
das Ausgangssignal BUF_OUT logisch und umgekehrt ist, gibt dies
an, dass sich innerhalb der Verzögerungsstufe
DEL (oder innerhalb des Buffers TBUF) ein Signalpegelwechsel des
Eingangssignals BUF_IN ausbreitet.
-
Folglich
erzeugt die Gatterstufe GS kein Konfigurationssignal CS1, wenn sie
einen dieser beiden Logikzustände
detektiert, selbst wenn das Tristate-Steuersignal 3ST gesetzt ist; d. h.
das Konfigurationssignal CS1 ist logisch '0',
selbst wenn das Tristate-Steuersignal 3ST logisch '1' ist. Da der Tristate-Buffer TBUF nicht in
einen hochohmigen Zustand geschaltet wird, es sei denn, es breitet
sich kein Signalpegelwechsel des Eingangssignals BUF_IN innerhalb
der Verzögerungsstufe
DEL aus, werden Störimpulse
in dem Ausgangssignal BUF_OUT vermieden. Ein Signalpegelwechsel
des Eingangssignals BUF_IN kann an dem Tristate-Buffer erst nach
einem Zeitintervall auftreten, das der Verzögerungszeit der Verzögerungsstufe
DEL entspricht. Folglich erzeugt der Buffer gemäß der vorliegenden Erfindung
beim Umschalten in den hochohmigen Zustand keine Störimpulse.
-
In
dem verzögerten
Tristate-Buffer gemäß der vorliegenden
Erfindung werden Störimpulse
während des
asynchronen Tristate-Vorgangs nicht vollständig aus dem System entfernt.
Der Punkt der potentiellen Störimpulserzeugung
wird außerhalb
des Signalpfads verschoben. Wenn eine Tristate-Anforderung mit dem
Pegelwechsel des Signals „CAN_3ST" zusammenfällt, kann
ein Störimpuls
erzeugt werden. Dieser Störimpuls tritt
jedoch nicht im Signalpfad auf sondern am Eingang eines Speicher-Flipflops, welches
das erste Konfigurationssignal „CS1" erzeugt. Dieser Störimpuls kann ausreichend lange
sein, um das Speicher-Flipflop zu setzen, oder er kann zu kurz sein,
um es zu setzen. In beiden Fällen
führt er
jedoch nicht zu einem Störimpuls
in dem Ausgangssignal, da der Verzögerungs- und Detektionsschaltkreis
sicherstellt, dass sich ein Pegelwechsel des Eingangssignals zu
diesem Zeitpunkt nicht durch den Tristate-Buffer ausbreitet.
-
Allgemein
werden auch jegliche Störimpulse
in dem an der Gatterstufe GS angelegten Tristate-Steuersignal 3ST
nicht an das Ausgangssignal BUF_OUT geleitet, da sich die Gatterstufe
GS nicht in dem direkten Signalpfad befindet, sondern vielmehr parallel
mit der Verzögerungsstufe
DEL und dem Tristate-Buffer TBUF verbunden ist. Der Logikpegel des
Ausgangssignals BUF_OUT wird durch die Rückkopplungsschleife RL gehalten,
während
der Tristate-Buffer TBUF in seine hochohmige bzw. Tristate-Betriebsart
geschaltet wird. Auf Grund der Verzögerungsstufe DEL und des Konfigurationssignals,
hat dadurch das Schalten des Tristate-Buffers TBUF einen Vorsprung, der lange
genug gewählt
wird, um zu vermeiden, dass ein Pegelwechsel des Eingangssignals
BUF_IN auftritt, wenn der Buffer geschaltet wird. Die kritische
Taktung und die daraus resultierenden Störimpulse werden außerhalb
des Signalpfads verschoben. Dies wird in Bezug auf die 6 und 7 ausführlicher
erläutert.
-
Gemäß einer
leicht veränderten
Konfiguration kann an Stelle von BUF_OUT das verzögerte Signal BUF_IN_DEL
verwendet werden. Dies ist in 5 durch
eine gestrichelte Linie angezeigt. Die alternative Ausführungsform
mag zwar etwas weniger zuverlässig
als die Konfiguration sein, die BUF_OUT als zweites Eingangssignal
für die
Gatterstufe verwendet, aber wenn die Verzögerung der Verzögerungsstufe
DEL entsprechend gewählt
wird, bleibt die allgemeine Funktionsweise dieselbe. Man kann dann
BUF_OUT in Tabelle 1 durch BUF_IN_DEL ersetzen, und es gelten für BUF_IN_DEL
entsprechende Erläuterungen
wie sie in Bezug auf BUF_OUT ausgeführt werden.
-
6 zeigt
eine bevorzugte Ausführungsform
der Erfindung, die gleich funktioniert wie die in
5 gezeigte
Ausführungsform.
In der Ausführungsform
gemäß
6 wird
die Verzögerungsstufe
DEL durch eine Kette aus einer Mehrzahl von Invertern gebildet,
wobei jeder der Inverter als komplementäres Paar MOS-Transistoren,
die zwischen die positive und negative Versorgungsspannung VDD bzw.
VSS geschaltet sind, implementiert ist. Wenn einem Signalnamen ein
Buchstabe Z angehängt
ist, weist dies darauf hin, dass es sich hierbei um das in Bezug
auf das Signal mit demselben Namen ohne ein angehängtes Z
komplementäre
bzw. invertierte Signal handelt. Zwei PMOS- und zwei NMOS-Transistoren,
die zwischen die positive und negative Versorgungsspannung VDD und
VSS in Reihe geschaltet sind, bilden den Tristate-Buffer TBUF, wobei
einer der NMOS- und einer der PMOS-Transistoren zusammengeschaltete Gate-Anschlüsse haben.
Die Gate-Anschlüsse des
anderen PMOS- bzw. NMOS-Transistors in dem Tristate-Buffer TBUF bilden
die Freigabeeingänge
des Tristate-Buffers TBUF und können
so betrieben werden, dass sie komplementäre Konfigurationssignale CS1
und CS1Z empfangen, die durch die Gatterstufe GS mit logischen Gattern
verschaltet werden. Der Ausgang des Tristate-Buffers TBUF zur Ausgabe
des Signals BUF_OUT wird an der Zusammenschaltung der Drain-Anschlüsse des
mittleren komplementären Paars
MOS-Transistoren in der Reihenschaltung gebildet. Die Rückkopplungsschleife
RL hat zwei Paare komplementärer,
in Reihe geschalteter MOS-Transistoren. Die Gatterstufe besteht
aus einem XOR-Gatter,
das in Reihe mit einem NAND-Gatter gekoppelt ist, zwei weiteren parallel über kreuz
gekoppelten NAND-Gattern, die ein Speicher-Flipflop bilden, und
einer Kette aus einer Mehrzahl von Invertern, die durch komplementäre MOS-Transistorenpaare
gebildet werden. Das XOR-Gatter kann so betrieben werden, dass es
an einem Eingang das Eingangssignal BUF_IN und an seinen Eingängen das
Ausgangssignal BUF_OUT empfängt
und an einen Eingang des ersten NAND-Gatters ein Signal CAN_3ST
ausgibt. Das andere Eingangssignal des ersten NAND-Gatters ist das
Tristate-Steuersignal 3ST, das ebenfalls einem der über kreuz
gekoppelten NAND-Gatter zugeführt
wird. Das erste NAND-Gatter kann so betrieben werden, dass es ein
Ausgangssignal SETZ erzeugt, das dem anderen der über kreuz
gekoppelten NAND-Gatter zugeführt
wird. Wenn SETZ logisch '0' ist, ist das Speicher-Flipflop
gesetzt und STOP wird logisch '1'. Andernfalls ist
STOP logisch '0'. Das Signal STOP
wird einem Eingang der Inverterkette in dem Speicher-Flipflop zugeführt. Das
andere Ende der Inverterkette ist so konfiguriert, dass es das Tristate-Anzeigesignal IN_3ST
ausgibt. IN_3ST kann als Flag verwendet werden, das anzeigt, dass
der Tristate-Buffer erfolgreich in einen hochohmigen Zustand geschaltet
wurde. Das erste Konfigurationssignal CS1 wird an dem Ausgang eines
Inverters in der Kette erzeugt, und das komplementäre Konfigurationssignal
CS1Z wird an dem Ausgang eines anderen Inverters in der Kette erzeugt. Tabelle 3
IN_BUF | OUT_BUF | CAN_3ST | 3ST | SETZ | CS1 |
1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 1 |
-
Tabelle
3 zeigt die relativen Logikzustände
der Signale, die in der in 6 gezeigten
Schaltung erzeugt wurden. Die Eingänge des XOR-Gatters in der Gatterstufe GS umfassen
eine ungerade Anzahl von Invertern in der die Verzögerungsstufe
DEL bildenden Verzögerungskette.
Ein Eingang des XOR-Gatters empfängt
das invertierte Eingangssignal BUF_IN, und ohne einen Pegelwechsel
in der Verzögerungsstufe
(zwischen den Eingängen
des XOR-Gatters) ist der Ausgang des XOR-Gatters (das Signal CAN_3ST) logisch '1'. So lange CAN_3ST logisch '1' und 3ST nicht gesetzt ist (d. h. es
ist logisch '0'), bleibt der Ausgang
des NAND-Gatters, das CAN_3ST als Eingangssignal hat, auf logisch '1'. Bei einem Signalpegelwechsel in der Verzögerungsstufe
haben die Eingänge
des XOR-Gatters denselben Zustand, und das Signal CAN_3ST ist logisch
0. Das aus dem XOR-Gatter ausgegebene Signal CAN_3ST dient als Signal
zum logischen Verschalten mit dem asynchronen Tristate-Steuersignal 3ST,
das das durch die NAND-Gatteranordnung gebildete Speicher-Flipflop
setzen kann. Immer dann, wenn ein Pegelwechsel durch die Verzögerungsstufe
DEL (und durch den Tristate-Buffer TBUF) läuft, wird das Tristate-Steuersignal
3ST so mit logischen Gattern verschaltet, dass das Signal SETZ logisch '1' ist. Als Folge dessen bleibt das Konfigurationssignal
CS1 logisch Null, und der Tristate-Buffer TBUF kann nicht in einen
hochohmigen Zustand geschaltet werden. Das bedeutet, dass die Erzeugung
eines Störimpulses
an dem Ausgang vermieden wird. Wenn jedoch kein Pegelwechsel in
der Verzögerungsstufe
DEL und innerhalb des Buffers TBUF auftritt (d. h. CAN_3ST ist logisch '1') und 3ST logisch '1' ist,
wechselt das Setzsignal SETZ auf logisch '0'.
Mit 3ST auf logisch '1' und SETZ auf logisch '0' als Eingangssignale wird das aus dem
Paar über
kreuz gekoppelter NAND-Gatter bestehende Speicher-Flipflop gesetzt,
und das Ausgangssignal STOP des Speicherflipflops wechselt von logisch '0' auf logisch '1'.
Als Folge dessen wechselt das Signal CS1Z auf logisch '0', und das Signal CS1 wechselt auf logisch '1'. Der Buffer TBUF wird dann auf eine
hohe Impedanz gesetzt.
-
Mit
der in 6 gezeigten Anordnung kann das Zusammenfallen
eines Impulses des Tristate-Steuersignals 3ST mit einer fallenden
Flanke des aus dem XOR-Gatter ausgegebenen Signals CAN_3ST zu einem kurzen
Impuls des aus dem ersten NAND-Gatter ausgegebenen Signals SETZ
führen.
Entsprechend kann ein Störimpuls
des Signals SETZ auftreten. Diese Situation ist in Bezug auf die 7 und 8 näher erläutert. Wie
in den 7 und 8 gezeigt ist, welche die relativen
Taktsignalpegewechsel in der Schaltung gemäß 6 zeigen,
ist diese Situation harmlos. Wenn der Impuls oder Störimpuls
von SETZ zu kurz ist, wie in 7 gezeigt
ist, und das Speicher-Flipflop nicht umschaltet, hat ein Störimpuls
in dem Signal STOP, das der Inverterkette in der Gatterstufe GS
zugeführt
wird, keine Auswirkungen, da das Buffer-Ausgangssignal BUF_OUT stabil logisch '0' oder logisch '1' ist.
Wenn der Impuls jedoch breit genug ist, wie in 8 gezeigt
ist, löst
das Speicher-Flipflop
aus und STOP wechselt auf logisch '1'.
Auf Grund der Verzögerungsstufe
DEL ist der nächste Taktpegelwechsel
in dem Buffer TBUF noch immer in der Inverterkette unterwegs und
der Buffer TBUF wird zu einem Zeitpunkt umgeschaltet, der genügend Abstand
zu der nächsten
Flanke des verzögerten
Eingangssignals IN_BUF hat. Das Bufferausgangssignal BUF_OUT zeigt
in dieser Situation keinen Störimpuls.