DE69821461T2 - Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren - Google Patents

Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren Download PDF

Info

Publication number
DE69821461T2
DE69821461T2 DE69821461T DE69821461T DE69821461T2 DE 69821461 T2 DE69821461 T2 DE 69821461T2 DE 69821461 T DE69821461 T DE 69821461T DE 69821461 T DE69821461 T DE 69821461T DE 69821461 T2 DE69821461 T2 DE 69821461T2
Authority
DE
Germany
Prior art keywords
signal
delay
input
bits
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69821461T
Other languages
English (en)
Other versions
DE69821461D1 (de
Inventor
Richard Relph
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE69821461D1 publication Critical patent/DE69821461D1/de
Publication of DE69821461T2 publication Critical patent/DE69821461T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Landscapes

  • Pulse Circuits (AREA)
  • Shift Register Type Memory (AREA)

Description

  • Die vorliegende Erfindung betrifft Logikschaltungen wie sequentielle Logikschaltungen und insbesondere eine neuartige Schaltung und ein Verfahren zum Takten einer Logikschaltung.
  • Hintergrund der Erfindung
  • Ein herausragendes Merkmal von sequentiellen Logikschaltungen ist der Speicher. Der Ausgang einer sequentiellen Logikschaltung hängt nicht nur von den aktuellen Werten der angelegten Eingangssignale, sondern auch vom vergangenen Schaltungszustand ab, beispielsweise der Sequenz zuvor angelegter Eingangssignale.
  • Sequentielle Logikschaltungen können asynchron oder synchron sein. Asynchrone sequentielle Logikschaltungen reagieren unmittelbar auf Veränderungen in Eingangssignalen und geben veränderte Ausgangssignale ab. Ungleiche Ausbreitungsverzögerungen in asynchronen Schaltungen können jedoch zu Gefahren und Wettlaufbedingungen führen.
  • Um diese Schwierigkeiten in asynchronen Schaltungen zu überwinden, werden synchrone Schaltungen verwendet, die in Reaktion auf regelmäßige Taktimpulse in Registern zwischengespeichert werden. Die Geschwindigkeit synchroner Schaltungen ist jedoch durch die Periode der Taktzyklen begrenzt, welche von den Ausbreitungsverzögerungen von Logikblöcken und Registern anhängen.
  • 1 zeigt beispielsweise eine synchrone Schaltung mit zwei Blöcken kombinatorischer Logik: einem ersten Logikblock 302 zum Berechnen einer Funktion "F" basierend auf "N" Eingängen I1–IN und einem zweiten Logikblock 306 zum Berechnen einer Funktion "G" basierend auf "M" Eingängen F1–FM. Die Schaltung weist ferner drei Register 300, 304 und 308 zum Zwischenspeichern von Bits zu Beginn jedes Taktzyklus auf.
  • Wenn "N" Bits im Register 300 zu Beginn eines Taktzyklus zwischengespeichert werde, werden sie nach einer gewissen Ausbreitungsverzögerung für das Register 300 als Eingänge I1–IN an den ersten Logikblock 302 angelegt. Der erste Logikblock 300 berechnet die Funktion "F" anhand der Eingangsbits und erzeugt daraus "M" Bits des Ausgangs F1–FM. Diese Ausgangsbits F1–FM werden an ein Register 304 angelegt, welches diese Bits in Reaktion auf das Taktsignal zum nächsten Taktzyklus zwischenspeichert.
  • Nachdem die Bits F1–FM durch das Register 304 zwischengespeichert sind, werden sie an den zweiten Logikblock 306 angelegt. In Reaktion darauf berechnet der zweite Logikblock 306 die Funktion "G" basierend auf den Bits F1–FM und erzeugt daraus "L" Bits des Ausgangs G1–GL. Diese Ausgangsbits G1–GL werden an das Register 306 angelegt und in Reaktion auf das Taktsignal im nächsten Taktzyklus gespeichert. Somit erfordert die Berechnung der Funktionen "F" und "G" zwei Taktzyklen.
  • Da die herkömmliche Praxis dazu neigt, ein gemeinsames Taktsignal in einer digitalen Schaltung zu verwenden, ist die Taktperiode langsamer eingestellt, als der langsamste Logikblock. Da die meisten Funktionen in der Schaltung schneller als der langsamste Logikblock sind, geht viel Zeit für das Warten der digitalen Schaltung auf das gemeinsame Taktsignal verloren.
  • Es sei zum Beispiel angenommen, daß die Register 300, 304 und 308 eine Ausbreitungsverzögerung von 7 ns haben, der erste Logikblock 302 eine Ausbreitungsverzögerung von 21 ns und der zweite Logikblock 306 eine Ausbreitungsverzögerung von 28 ns hat. Die Berechnung im ersten Taktzyklus erfordert mindestens 28 ns (7 ns für das Speichern im Register 300 + 21 ns für den ersten Logikblock 302). Die Berechnung im zweiten Taktzyklus erfordert andererseits wenigstens 35 ns, bevor die Daten zum Speichern durch das Register 308 bereit sind (7 ns für das Register 304 + 28 ns für den zweiten Logikblock 306). Da die Register 300, 304 und 308 sich ein gemeinsames Taktsignal teilen, ist die Taktperiode auf 35 ns eingestellt. Somit beträgt die Gesamtzeit für die beiden Berechnungen, d. h. zwei Taktzyklen, 70 ns. Jedoch vergingen 7 ns der ersten Taktperiode von 35 ns mit dem Warten auf den nächsten Taktzyklus. Deshalb werden digitale Funktionen herkömmlicherweise mit der Geschwindigkeit des gemeinsamen Takts kaskadiert, was langsamer als das Kaskadieren mit der Geschwindigkeit der meisten Funktionen selbst ist.
  • Vor dem Offenbaren der vorliegenden Erfindung werden die folgenden vier Dokumente als Stand der Technik gewürdigt. US-A-5 229 668 offenbart ein Verfahren und eine Vorrichtung für eine Hochgeschwindigkeitsabtastung eines Datensignals. US-A-5 033 066 offenbart eine Zeitverzögerungsschaltung zum Schaffen einer verzögerten Replik eines digitalen Eingangssignals. GB-A-2 310 738 offenbart eine dynamische Logikpipeline, in der jede Stufe eine Logikschaltung, eine Halteschaltung und eine Steuerschaltung aufweist. US-A-5 565 798 offenbart eine selbst-getaktete Steuerschaltung für selbst-rücksetzende Logikschaltungen.
  • Offenbarung der Erfindung
  • Es besteht der Bedarf, die Geschwindigkeit sequentieller Schaltungen zu verbessern. Es besteht ferner der Bedarf, eine Schaltung und ein Verfahren zum Takten von Registern in einer sequentiellen Schaltung mit der Geschwindigkeit logischer Funktionen zu schaffen.
  • Es wird das Takten von Logikschaltungen unter Verwendung selbst-zeitgesteuerter Verzögerungsleitungsverfahren beschrieben. Insbesondere ist jeder Eingang eines Logikblocks oder einer Logikschaltung mit einem Gültigkeitssignal verbunden. Das Gültigkeitssignal wird von einer Verzögerungsleitung für mindestens die, jedoch vorzugsweise innerhalb 140 ns der, Ausbreitungsverzögerung des Logikblocks verzögert. Das verzögerte Gültigkeitssignal kann zum Zwischenspeichern eines vom Logikblock in Reaktion auf die Eingänge erzeugten Ausgangssignals verwendet werden.
  • Ein Aspekt der Erfindung betrifft daher eine sequentielle Logikschaltung mit:
    einer Logikschaltung, die auf ein Eingangssignal zum Berechnen einer Funktion aus diesem und zum Erzeugen eines Ausgangssignals nach einer Ausbreitungsverzögerung reagiert, wobei das Eingangssignal mehrere Eingangsbits aufweist; und
    einem Register zum Halten des Ausgangssignals;
    dadurch gekennzeichnet, daß die sequentielle Logikschaltung selbst-getaktet ist, indem sie ferner aufweist:
    eine auf ein erstes Signal reagierende Verzögerungsleitung zum Erzeugen eines ersten verzögerten Signals nach einem Zeitraum, der wenigstens so lang wie die Ausbreitungsverzögerung ist, wobei das erste Signal die gleiche Anzahl von Bits wie das Eingangssignal aufweist, wobei jedes Bit des ersten Signals jeweils einem Bit des Eingangssignals entspricht und einen gemeinsamen spezifizierten Bitwert aufweist, wenn das entsprechende Bit des Eingangssignals zuerst von der sequentiellen Logikschaltung empfangen wird, wobei die Verzögerungsleitung eine Schaltung zum Berechnen eines logischen Produkts aus den mehreren Bits des ersten Signals aufweist und derart ausgebildet ist, daß sie das erste verzögerte Signal nach einem Zeitraum erzeugt, der wenigstens so lang wie die Ausbreitungsverzögerung ist, wenn sämtliche der mehreren Bits des ersten Signals den gemeinsamen spezifizierten Bitwert aufweisen, und wobei das Register das Ausgangssignal in Reaktion auf das erste verzögerte Signal hält.
  • Ein anderer Aspekt der Erfindung schafft ein Verfahren zum Halten eines Ausgangssignals, das durch eine Logikschaltung in Reaktion auf ein Eingangssignal nach einer Verzögerung erzeugt wird, wobei das Eingangssignal mehrere Eingangsbits aufweist, wobei das Verfahren ferner die folgenden Schritte umfaßt:
    Liefern eines ersten Signals mit der gleichen Anzahl von Bits wie das Eingangssignal, wobei jedes Bit des ersten Signals jeweils einem Bit des Eingangssignals entspricht und einen gemeinsamen spezifizierten Bitwert aufweist, wenn das entsprechende Bit des Eingangssignals zuerst von der sequentiellen Logikschaltung empfangen wird;
    Berechnen eines logischen Produkts aus den mehreren Bits des ersten Signals und Ausgeben des zweiten verzögerten Signals, wenn sämtliche der mehreren Bits des ersten Signals den gemeinsamen spezifizierten Bitwert aufweisen;
    Verzögern des zweiten Signals für einen Zeitraum, der wenigstens so lang wie die Verzögerung ist; und
    Halten des Ausgangssignals in Reaktion auf das verzögerte Signal.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Erfindung ist anhand von Beispielen und nicht einschränkend in den Figuren der zugehörigen Zeichnungen dargestellt, in denen Elemente mit den gleichen Bezugszeichen stets gleich Elemente darstellen, und welche zeigen:
  • 1 ein Hochlevel-Blockdiagramm einer selbstgetakteten Logikschaltung nach einem Ausführungsbeispiel der Erfindung;
  • 2(a) ein Blockdiagramm der Verzögerungsleitung, die zum Implementieren der in 1 dargestellten Schaltung verwendet wird;
  • 2(b) und (c) Schaltungsdiagramme einer nicht invertierenden Verzögerungsstufe und einer invertierenden Verzögerungsstufe, die zum Implementieren einer in 2(a) dargestellten Verzögerungsstufe verwendbar sind;
  • 3 ein Hochlevel-Blockdiagramm einer herkömmlich getakteten Schaltung.
  • Beste Art der Ausführung der Erfindung
  • Eine Schaltung und ein Verfahren zum Takten einer sequentiellen Schaltung werden beschrieben. In der folgenden Beschreibung sind zahlreiche spezifische Details beschrieben, um ein gründliches Verständnis der vorliegenden Erfindung zu schaffen. Es ist jedoch ersichtlich, daß die vorliegende Erfindung ohne diese spezifischen Details ausführbar ist. In anderen Fällen sind bekannte Strukturen und Vorrichtungen als Blockdiagramm dargestellt, um ein unnötiges Verkomplizieren der Erfindung zu vermeiden.
  • Selbst-getaktete Logik
  • Nach einem Ausführungsbeispiel der vorliegenden Erfindung stellt 1 eine selbst-getaktete Schaltung entsprechend der in 3 dargestellten herkömmlichen sequentiellen Schaltung dar. Insbesondere entsprechen die Logikblöcke 102 und 106 der 1 den Logikblöcke 302 und 306 der 3. Die Register 100, 104 und 108 der 1 entsprechen den Registern 300, 304 und 308 der 3.
  • Der erste Logikblock 102 berechnet die Funktion "F" basierend auf "N" Eingängen I1–IN und der zweite Logikblock 106 berechnet die Funktion "G" basierend auf "M" Eingängen F1–FM. die drei Register 100, 104 und 108 speichern daran angelegte Bits in Reaktion auf die von der selbst-getakteten Schaltung, die Verzögerungsleitungen 110118 und das Gatter 120 aufweist, erzeugten Signale.
  • Jedem Bit des Eingangssignals I1–IN ist ein entsprechendes Gültigkeitsbit VI1–VIN zugeordnet, das bestätigt wird, wenn das zugeordnete Eingangsbit I1–IN gültig ist. Die Gültigkeitsbits VI1–VIN können asynchron oder synchron erzeugt werden, wenn das Eingangssignal I1–IN zuerst von einer anderen Schaltung, beispielsweise einer Off-Chip-Schaltung, empfangen wird. Beispielsweise werden einige Eingangssignale an eine integrierte Schaltung mit einem Strobe übermittelt, das angibt, daß die Eingänge bereit sind. In dieser Situation wird das zugeordnete Gültigkeitssignal aus dem Strobe abgeleitet. In einem anderen Beispiel sind die Eingangssignale in jedem Zyklus eines extern zugeführten Taktsignals gültig, wobei das zugehörige Gültigkeitssignal aus dem Taktsignal abgeleitet wird. Gültigkeitssignale, die durch interne, d. h. On-Chip-Logikblöcke erzeugten Signalen zugeordnet sind, werden aus der selbst-getakteten Schaltung für jeden internen Logikblock abgeleitet.
  • Für die mehreren Gültigkeitsbits VI1–VIN weist die selbst-getaktete Schaltung ein Gatter 120 auf, das feststellt, wann sämtliche Eingangsbits I1–IN für das entsprechende Register 100 gültig sind, d. h. wann sämtliche Gültigkeitsbits VI1–VIN bestätigt wurden. Das Gatter 120 kann jede Schaltung sein, die ein logisches Produkt berechnet, beispielsweise ein UND-Gatter in positiver Logik oder ein NOR-Gatter in negativer Logik.
  • Der Ausgang des Gatters 120 ist mit dem "TAKT" Eingang des Registers 100 verbunden, so daß, wenn sämtliche Gültigkeitsbits VI1–VIN bestätigt wurden, das resultierende konsolidierte Eingangsgültigkeit VI bewirkt, daß das Register 100 die Eingangsbits I1–IN zwischenspeichert. Die Eingangsbits I1–IN werden somit nur zwischengespeichert, wenn sämtliche Eingangsbits I1–IN gültig sind. Darüber hinaus ist der Ausgang des Gatters 120 mit einer Verzögerungsleitung 110 verbunden, die wie im folgenden näher beschrieben implementiert sein kann.
  • Wenn "N" Bits im Register 100 in Reaktion auf das Eingangsgültigkeitssignal VI gehalten werden, werden sie als Eingänge I1–IN an den ersten Logikblock 102 nach einer gewissen Ausbreitungsverzögerung für das Register 100 angelegt. Das Eingangsgültigkeitssignal VI wird von der Verzögerungsleitung 110 verzögert, welche das Eingangsgültigkeitssignal VI für einen Zeitraum verzögert, der wenigstens so lang wie die Ausbreitungsverzögerung des Registers 100 ist. Wenn beispielsweise das Register 100 eine Ausbreitungsverzögerung von 7 ns hat, verzögert die Verzögerungsleitung 110 das Eingangsgültigkeitssignal VI um wenigstens 7 ns, um ein verzögertes Eingangsgültigkeitssignal VI' zu erzeugen.
  • Der erste Logikblock 102 berechnet die Funktion "F" der Eingangsbits und erzeugt daraus "M" Bits des Ausgangs F1–FM nach einer gewissen Ausbreitungsverzögerung. Währenddessen wird das entsprechende verzögerte Eingangsgültigkeitssignal VI' für die Eingangsbits I1–IN durch die Verzögerungsleitung 112 verzögert, welche das Eingangsverzögerungssignal VI' für einen Zeitraum verzögert, der wenigstens so lang ist wie die Ausbreitungsverzögerung des ersten Logikblocks 102. Der Ausgang der Verzögerungsleitung 112 wird somit bestätigt, wenn die Ausgänge des entsprechenden ersten Logikblocks 102 gültig werden. Anders ausgedrückt: der Ausgang der Verzögerungsleitung 112 ist ein Gültigkeitssignal VF für den ersten Logikblock 102. wenn beispielsweise der erste Logikblock 102 eine Ausbreitungsverzögerung von 21 ns hat, verzögert die Verzögerungsleitung 112 das verzögerte Eingangsgültigkeitssignal VI' um wenigstens 21 ns, um das erste Blockgültigkeitssignal VF zu erzeugen.
  • Da das erste Blockgültigkeitssignal VF durch die Verzögerungsleitung 112 erzeugt wird, wenn die Bits F1–FM gültig sind, wird das erste Blockgültigkeitssignal VF verwendet, um die Bits F1–FM im Register 104 zu speichern. Nachdem die Bits F1– FM im Register 104 gespeichert sind, werden sie nach einer Ausbreitungsverzögerung an den zweiten Logikblock 106 angelegt. Das erste Blockgültigkeitssignal VF wird durch eine Verzögerungsleitung 114 verzögert, welche das erste Blockgültigkeitssignal VF für einen Zeitraum verzögert, der mindestens so lang wie die Ausbreitungsverzögerung für das Register 104 ist. Wenn beispielsweise das Register 104 eine Ausbreitungsverzögerung von 7 ns hat, verzögert die Verzögerungsleitung 114 das erste Blockverzögerungssignal VF über wenigstens 7 ns, um das erste Blockgültigkeitssignal VF' zu erzeugen.
  • Der zweite Logikblock 106 berechnet die Funktion "G" basierend auf den daran angelegten Bits F1–FM und erzeugt daraus "L" Ausgangsbits G1–GL nach einer Ausbreitungsverzögerung. Das entsprechende verzögerte erste Blockgültigkeitssignal VF' für die Bits F1–FM wird durch die Verzögerungsleitung 116 verzögert, welche das verzögerte erste Blockgültigkeitssignal VF' über einen Zeitraum verzögert, der wenigstens so lang wie die Ausbreitungsverzögerung des zweiten Logikblocks 106 ist. Der Ausgang der Verzögerungsleitung 116 wird bestätigt, wenn die Ausgänge des entsprechenden zweiten Logikblocks 106 gültig werden. Anders ausgedrückt: der Ausgang der Verzögerungsleitung 116 ist ein Gültigkeitssignal VG für den zweiten Logikblock 106. Wenn beispielsweise der zweite Logikblock 106 eine Ausbreitungsverzögerung von 28 ns hat, verzögert die Verzögerungsleitung 116 das verzögerte erste Blockgültigkeitssignal VF' für wenigstens 28 ns, um das zweite Blockgültigkeitssignal VG zu erzeugen.
  • Da die Verzögerungsleitung 116 mit dem "TAKT" Eingang des Registers 108 verbunden ist, werden die Ausgangsbits G1–GL vom Register 106 in Reaktion auf das zweite Blockgültigkeitssignal VG zwischengespeichert. Das zweite Blockgültigkeitssignal VG wird durch eine Verzögerungsleitung 118 verzögert, welche das zweite Blockgültigkeitssignal VG für einen Zeitraum verzögert, der mindestens so lang wie die Ausbreitungsverzögerung für das Register 108 ist. Wenn beispielsweise das Register 108 eine Ausbreitungsverzögerung von 7 ns hat, verzögert die Verzögerungsleitung 118 das zweite Blockverzögerungssignal VG über wenigstens 7 ns, um das zweite Blockgültigkeitssignal VG' zu erzeugen.
  • Die von dem Zeitpunkt, zu dem die Eingangsbits II–IM im Register 100 gültig wurden, bis zu dem Zeitpunkt, zu dem die Ausgangsbits GI–GL am Register 108 bereit sind, verstrichene Zeit, ist die Summe der Ausbreitungsverzögerungen durch den ersten Logikblock 102, den zweiten Logikblock 106 und die Register 100 und 104. In dem Beispiel beträgt diese Summe 21 ns für den ersten Logikblock 102, 28 ns für den zweiten Logikblock 106 und 7 ns für jedes Register 100 und 104, also insgesamt 21 ns + 28 ns + 7 ns + 7 ns = 63 ns. Die sequentielle Schaltung nach einem Ausführungsbeispiel der Erfindung speichert die Berechnung der Funktionen "F" und "G" nach 63 ns gegenüber 70 ns bei einer herkömmlich getakteten sequentiellen Schaltung. Insbesondere ist das Register, welches den Ausgang eines schnelleren Logikblocks speichert (beispielsweise das Register 104 und der erste Logikblock 102), in der Lage, den Ausgang unmittelbar zu speichern, ohne für einen Zeitraum zu warten, der mit dem langsameren Logikblock synchronisiert ist (beispielsweise dem zweiten Logikblock 106).
  • Digitale Verzögerungsleitung
  • 2(a) ist ein Blockdiagramm einer exemplarischen digitalen Hochauflösungsverzögerungsleitung 200, mit welcher die vorliegende Erfindung implementiert werden kann. Die exemplarische digitale Hochauflösungsverzögerungsleitung 200 empfängt ein Bit und verzögert das Bit wiederholt durch eine Vielzahl digitaler Verzögerungselemente 210-1 bis 210-n, die in Reihe geschaltet sind. Die digitale Verzögerungsleitung 200 kann eine beliebige Anzahl n von digitalen Verzögerungselementen aufweisen, je nach den jeweiligen Einschränkungen der verwendeten Halbleiterimplementierung oder anderen praktischen Erwägungen. Die digitale Leitung 200 kann beispielsweise Zehntausende digitaler Verzögerungselemente enthalten. Da jedes der digitalen Verzögerungselemente 210-1 bis 210-n der digitalen Verzögerungsleitung 200 während des gleichen Herstellungsvorgangs auf dem selben Halbleitersubstrat hergestellt wird, ist wahrscheinlich, daß die Betriebscharakteristiken und somit die Verzögerungsperiode des digitalen Verzögerungselements nahezu identisch sind.
  • Ausgänge mehrerer digitaler Verzögerungselemente können abgegriffen werden, um die digitalen Verzögerungselemente über ein verzögertes Bit zu beobachten. Daher weist die digitale Verzögerungsleitung 200 mehrere Abgriffsstellen 212-1 bis 212-n auf, die mit den Ausgängen der jeweiligen digitalen Verzögerungsele mente 210-1 bis 210-n verbunden sind, um Teile der digitalen Verzögerungsleitung 200 parallel zu überwachen.
  • Die Verzögerungscharakteristiken jeder digitalen Schaltung variieren von Chip zu Chip und mit der Zeit aufgrund von unvermeidlichen Schwankungen der Herstellungs- und der Betriebsbedingungen. Es besteht daher die Notwendigkeit, die Verzögerungsperiode jedes der digitalen Verzögerungselemente 210-1 bis 210-n zu kalibrieren, um einer bestimmten Periode zu entsprechen. Nach einem Ansatz wird die Verzögerungsperiode auf einen zuverlässigen genauen Referenztakt synchronisiert, beispielsweise einen Kristalloszillator.
  • Die Verzögerungsperiode jedes der digitalen Verzögerungselemente 210-1 bis 210-n ist vorzugsweise durch einen digitalen Befehlscode als Kalibriersignal einstellbar. Dieses Kalibriersignal wird in bezug zu einem zuverlässigen präzisen Taktsignal erzeugt, vorzugsweise durch eine (nicht dargestellte) digitale On-Chip-Servoschaltung, wie in dem gleichzeitig übertragenen US-Patent 5 457 719, erteilt an Guo et al. am 10. Oktober, 1995, beschrieben. Die digitale On-Chip-Servoschaltung weist kurz gesagt eine eigene einstellbare digitale Verzögerungsleitung auf, welche sie überwacht und stetig mittels eines Kalibriersignals in einer Rückkopplungsschleife einstellt. Das Kalibriersignal wird mit anderen Systemen auf dem Chip geteilt.
  • Wie in 2(b) dargestellt weist jedes einstellbare digitale Verzögerungselement 210 zwei in Reihe geschaltete einstellbare Invertierer 220-1 und 220-2 auf, die jeweils das genannte Kalibriersignal empfangen. Die Verzögerungszeit jedes der beiden einstellbaren Invertierer 220-1 und 220-2 beträgt somit eine Hälfte der Verzögerungszeit des einstellbaren Verzögerungselements und wird durch das Kalibriersignal gesteuert.
  • Wie in 2(c) gezeigt weist in einem bevorzugten Ausführungsbeispiel jeder einstellbare Invertierer 220 mehrere schaltbare Invertierer 230-1 bis 230-m auf, die parallel geschaltet sind. Jeder der schaltbaren Invertierer 230-1 bis 230-m wird durch eines der Bits 232-1 bis 232-m ein oder aus geschaltet. Zwei der Parameter, welche die Ausbreitungsverzögerung eines Invertierers bestimmen, das Verhältnis der p-Kanalgröße zur n-Kanalgröße und die Ansteuerleistung, können zur exakten Steuerung über die Verzögerungszeit bestimmt werden. Schaltbare Invertierer sind in dem gleichzeitig übertragenen US-Patent 5 220 216, erteilt an Woo am 15. Juni, 1993, und dem gleichzeitig übertragenen US-Patent 5 227 679, erteilt an Woo am 13. Juli, 1993 näher beschrieben.
  • Somit weist die digitale Verzögerungsleitung 200 eine Reihe von einstellbaren digitalen Verzögerungselementen 210-1 bis 210-n auf, welche jeweils eine gleichmäßige Verzögerungszeit liefern, die entsprechend einem Kalibriersignal mit einer Referenztaktperiode synchronisiert ist. Ferner kann jeder einstellbare Invertierer 220 eine konsistente Verzögerungszeit von 70 ps aufweisen. Somit kann jedes einstellbare digitale Verzögerungselement 210 eine konsistente Verzögerungszeit von 140 ps aufweisen.
  • Die digitale Verzögerungsleitung 200 ist mit ausreichend vielen einstellbaren digitalen Verzögerungselementen mit einer bestimmten Verzögerungszeit versehen, so daß die Gesamtverzögerungszeit die Verzögerungszeit des schlechtesten Pfads durch die entsprechende Logikschaltung überschreitet. Wenn beispielsweise die Verzögerungszeit des schlechtesten Pfads durch die Logikschaltung 28 ns beträgt, ist ein Minimum von 200 (28 ns/140 ps) einstellbaren Verzögerungselementen mit einer Verzögerungszeit von 140 ps erforderlich. Die digitale Verzögerungsleitung 200 kann zum Verzögern eines Signals für eine Periode innerhalb von 140 ps einer gewünschten Verzögerungszeit ausgebildet sein.
  • Die Anzahl der einstellbaren Verzögerungselemente kann durch Verwenden einstellbarer Verzögerungselemente mit größerer Periode verringert werden. Es können einstellbare Verzögerungselemente mit verschiedenen Perioden verwendet werden, beispielsweise 19 mit einer Verzögerungsperiode von 1,4 ns und 10 mit einer Verzögerungsperiode von 140 ps.
  • Bei der Ausbildung nach 1 ist erkennbar, daß die Reihe von Verzögerungsleitungen 110118 ein einzelnes Gültigkeitssignal, VI, verzögert. Die Abfolge von Verzögerungsleitungen 110118 kann durch eine einzelne Verzögerungsleitung mit geeigneten Abgriffsstellen ersetzt werden, die mit jeweiligen "TAKT"-Eingängen der Register 104 und 108 gekoppelt sind.
  • Die Erfindung wurde in Verbindung mit dem gegenwärtig als praktischsten und bevorzugten angesehenen Ausführungsbeispiel beschrieben, jedoch sei darauf hingewiesen, daß die Erfindung nicht auf die offenbarten Ausführungsbeispiele beschränkt ist, sondern im Gegenteil verschiedene Modifikationen und äquivalente Anordnungen abdeckt, die in den Rahmen der zugehörigen Ansprüche fallen.

Claims (15)

  1. Sequentielle Logikschaltung mit: einer Logikschaltung (102), die auf ein Eingangssignal (I1–In) zum Berechnen einer Funktion aus diesem und zum Erzeugen eines Ausgangssignals (F1–Fm) nach einer Ausbreitungsverzögerung reagiert, wobei das Eingangssignal (I1–In) mehrere Eingangsbits aufweist; und einem Register (104) zum Halten des Ausgangssignals (F1–Fm); dadurch gekennzeichnet, daß die sequentielle Logikschaltung selbst-getaktet ist, indem sie ferner aufweist: eine auf ein erstes Signal (VI1–VIn) reagierende Verzögerungsleitung (120, 110, 112) zum Erzeugen eines ersten verzögerten Signals (VF) nach einem Zeitraum, der wenigstens so lang wie die Ausbreitungsverzögerung ist, wobei das erste Signal (VI1–VIn) die gleiche Anzahl von Bits wie das Eingangssignal (I1–In) aufweist, wobei jedes Bit des ersten Signals (VI1–VIn) jeweils einem Bit des Eingangssignals (I1–In) entspricht und einen gemeinsamen spezifizierten Bitwert aufweist, wenn das entsprechende Bit des Eingangssignals (I1–In) zuerst von der sequentiellen Logikschaltung empfangen wird, wobei die Verzögerungsleitung (120, 110, 112) eine Schaltung (120) zum Berechnen eines logischen Produkts aus den mehreren Bits des ersten Signals (VI1–VIn) aufweist und derart ausgebildet ist, daß sie das erste verzögerte Signal (VF) nach einem Zeitraum erzeugt, der wenigstens so lang wie die Ausbreitungsverzögerung ist, wenn sämtliche der mehreren Bits des ersten Signals (VI1–VIn) den gemeinsamen spezifizierten Bitwert aufweisen, und wobei das Register (104) das Ausgangssignal (F1–Fm) in Reaktion auf das erste verzögerte Signal (VF) hält.
  2. Selbst-getaktete Schaltung nach Anspruch 1, bei der die Schaltung zum Erzeugen eines logischen Produkts ein UND-Gatter (120) aufweist, das auf die mehreren Bits des ersten Signals (VI1–VIn) reagiert.
  3. Selbst-getaktete Schaltung nach Anspruch 1, bei der die Schaltung zum Erzeugen eines logischen Produkts ein NOR-Gatter (120) aufweist, das auf die mehreren Bits des ersten Signals (VI1–VIn) reagiert.
  4. Selbst-getaktete Schaltung nach einem der Ansprüche 1–3, ferner mit einer weiteren auf das erste verzögerte Signal (VF) reagierenden Verzögerungsleitung (114) zum Erzeugen eines zweiten verzögerten Signals (VF') nach einem Zeitraum, der wenigstens so lang wie die Verzögerungszeit des Registers (104) ist.
  5. Selbst-getaktete Schaltung nach einem der Ansprüche 1–4, bei der die Verzögerungsschaltung (120, 110, 112) zum Erzeugen des ersten verzögerten Signals (VF) innerhalb von 140 ps der Ausbreitungsverzögerung ausgebildet ist.
  6. Selbst-getaktete Schaltung nach einem der Ansprüche 1–4, bei der die Verzögerungsleitung (120, 110, 112) und/oder die andere Verzögerungsleitung (114) mehrere in Reihe verbundene digitale Verzögerungselemente (210-1 bis 210-n) aufweist.
  7. Selbst-getaktete Schaltung nach Anspruch 6, bei der: die Verzögerungsleitung und/oder die andere Verzögerungsleitung ferner einen zum Empfangen eines Kalibriersignals (CALIBRATE) verbundenen Kalibriereingang aufweist; und jedes digitale Verzögerungselement (210-1 bis 210-n) einen Kalibriereingang (CALIBRATE) zum Empfangen des Kalibriersignals für das Einstellen des Verzögerungszeitraums aufweist.
  8. Selbst-getaktete Schaltung nach Anspruch 7, bei der jedes der digitalen Verzögerungselemente (210-1 bis 210-n) aufweist: einen ersten einstellbaren Inverter (220-1) mit einem ersten Kalibriereingang zum Empfangen des Kalibriersignals (CALIBRATE); und einen zweiten einstellbaren Inverter (220-2), der in Reihe mit dem ersten einstellbaren Inverter (220-1) verbunden ist und einen zweiten Kalibriereingang zum Empfangen des Kalibriersignals (CALIBRATE) aufweist.
  9. Selbst-getaktete Schaltung nach einem der Ansprüche 1–8, bei der der Verzögerungszeitraum jedes der digitalen Verzögerungselemente ungefähr 140 ps beträgt.
  10. Selbst-getaktete Schaltung nach einem der Ansprüche 1–9, bei der der Verzögerungszeitraum jedes der digitalen Verzögerungselemente gleich ist.
  11. Verfahren zum Halten eines Ausgangssignals (F1–Fm), das durch eine Logikschaltung (102) in Reaktion auf ein Eingangssignal (I1–In) nach einer Verzögerung (112) erzeugt wird, wobei das Eingangssignal mehrere Eingangsbits (I1–In) aufweist, wobei das Verfahren ferner die folgenden Schritte umfaßt: Liefern eines ersten Signals (VI1–VIn) mit der gleichen Anzahl von Bits wie das Eingangssignal (I1–In), wobei jedes Bit des ersten Signals (VI1–VIn) jeweils einem Bit des Eingangssignals (I1–In) entspricht und einen gemeinsamen spezifizierten Bitwert aufweist, wenn das entsprechende Bit des Eingangssignals (I1–In) zuerst von der sequentiellen Logikschaltung empfangen wird; Berechnen eines logischen Produkts aus den mehreren Bits des ersten Signals (VI1–VIn) und Ausgeben des zweiten verzögerten Signals (VI), wenn sämtliche der mehreren Bits des ersten Signals (VI1–VIn) den gemeinsamen spezifizierten Bitwert aufweisen; Verzögern (110, 112) des zweiten Signals (VI) für einen Zeitraum, der wenigstens so lang wie die Verzögerung ist; und Halten des Ausgangssignals (F1–Fm) in Reaktion auf das verzögerte Signal (VF).
  12. Verfahren nach Anspruch 11, ferner mit dem Schritt des Verzögerns des verzögerten zweiten Signals (VF) für einen anderen Zeitraum (114), der so lang ist wie der Schritt des Haltens dauert.
  13. Verfahren nach einem der Ansprüche 11 und 12, bei dem das Verzögern des zweiten Signals für einen Zeitraum, der wenigstens so lang wie die Verzögerung ist, den Schritt des Verzögerns des zweiten Signals für 140 ps der Verzögerung umfaßt.
  14. Verfahren nach einem der Ansprüche 11 bis 13, bei dem der Schritt des Verzögerns des zweiten Signals für einen Zeitraum, der wenigstens so lang wie die Verzögerung ist, den Schritt des wiederholten Verzögerns des zweiten Signals um einen gemeinsamen Verzögerungszeitraum (210-1 bis 210-n) umfaßt.
  15. Verfahren nach Anspruch 14, ferner mit dem Schritt des Kalibrierens (CALIBRATE) des gemeinsamen Verzögerungszeitraums.
DE69821461T 1997-12-18 1998-05-21 Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren Expired - Lifetime DE69821461T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/992,634 US6064232A (en) 1997-12-18 1997-12-18 Self-clocked logic circuit and methodology
US992634 1997-12-18

Publications (2)

Publication Number Publication Date
DE69821461D1 DE69821461D1 (de) 2004-03-11
DE69821461T2 true DE69821461T2 (de) 2004-11-25

Family

ID=25538564

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69821461T Expired - Lifetime DE69821461T2 (de) 1997-12-18 1998-05-21 Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren

Country Status (4)

Country Link
US (1) US6064232A (de)
EP (1) EP0924859B1 (de)
JP (1) JPH11185492A (de)
DE (1) DE69821461T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6232796B1 (en) * 1999-07-21 2001-05-15 Rambus Incorporated Apparatus and method for detecting two data bits per clock edge
US6369614B1 (en) * 2000-05-25 2002-04-09 Sun Microsystems, Inc. Asynchronous completion prediction
JP2002083000A (ja) * 2000-09-06 2002-03-22 Fujitsu Ltd 論理回路設計方法及び論理回路
US6621302B2 (en) * 2001-03-21 2003-09-16 Bae Systems Information And Electronic Systems Integration, Inc Efficient sequential circuits using critical race control
US6731147B2 (en) 2001-10-29 2004-05-04 Cypress Semiconductor Corp. Method and architecture for self-clocking digital delay locked loop
JP2005518699A (ja) * 2002-02-21 2005-06-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 低減された基板バウンスを有する集積回路
JP5087278B2 (ja) * 2003-11-12 2012-12-05 エヌエックスピー ビー ヴィ 電子回路における電力消費ピークの制御
DE102005033270B4 (de) * 2005-07-15 2007-11-29 Texas Instruments Deutschland Gmbh Digitale Logikeinheit
US7671579B1 (en) * 2006-03-09 2010-03-02 Altera Corporation Method and apparatus for quantifying and minimizing skew between signals
US8543750B1 (en) 2008-10-15 2013-09-24 Octasic Inc. Method for sharing a resource and circuit making use of same
US8130019B1 (en) * 2008-10-15 2012-03-06 Octasic Inc. Clock signal propagation method for integrated circuits (ICs) and integrated circuit making use of same
US8689218B1 (en) * 2008-10-15 2014-04-01 Octasic Inc. Method for sharing a resource and circuit making use of same
US9602106B1 (en) * 2015-03-05 2017-03-21 Altera Corporation Methods for optimizing circuit performance via configurable clock skews
CN111510137A (zh) * 2020-06-04 2020-08-07 深圳比特微电子科技有限公司 时钟电路、计算芯片、算力板和数字货币挖矿机

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4929850A (en) * 1987-09-17 1990-05-29 Texas Instruments Incorporated Metastable resistant flip-flop
US5033066A (en) * 1990-02-16 1991-07-16 Hughes Aircraft Company Event tagging time delay
EP0453171A3 (en) * 1990-04-18 1992-11-19 Quickturn Systems Inc Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like
US5111086A (en) * 1990-11-19 1992-05-05 Wang Laboratories, Inc. Adjusting delay circuitry
JPH0528789A (ja) * 1991-07-25 1993-02-05 Sharp Corp 論理回路
US5132572A (en) * 1991-08-12 1992-07-21 Advanced Micro Devices, Inc. High-speed CMOS-to-ECL translator circuit
DE4137340C1 (en) * 1991-11-13 1992-11-26 Siemens Ag, 8000 Muenchen, De Bistable flip=flop circuit comprising two D=flip=flops and correction circuit - checks output level of first flip=flop and uses correction signal to switch through output of flip=flop or reference signal to second flip=flop
US5227679A (en) * 1992-01-02 1993-07-13 Advanced Micro Devices, Inc. Cmos digital-controlled delay gate
US5220216A (en) * 1992-01-02 1993-06-15 Woo Ann K Programmable driving power of a CMOS gate
US5252867A (en) * 1992-02-14 1993-10-12 Vlsi Technology, Inc. Self-compensating digital delay semiconductor device with selectable output delays and method therefor
DE4206082C1 (de) * 1992-02-27 1993-04-08 Siemens Ag, 8000 Muenchen, De
US5229668A (en) * 1992-03-25 1993-07-20 North Carolina State University Of Raleigh Method and apparatus for high speed digital sampling of a data signal
US5363419A (en) * 1992-04-24 1994-11-08 Advanced Micro Devices, Inc. Dual phase-locked-loop having forced mid range fine control zero at handover
US5349612A (en) * 1992-06-19 1994-09-20 Advanced Micro Devices, Inc. Digital serializer and time delay regulator
US5452333A (en) * 1992-06-19 1995-09-19 Advanced Micro Devices, Inc. Digital jitter correction method and signal preconditioner
US5367542A (en) * 1992-06-19 1994-11-22 Advanced Micro Devices, Inc. Digital data recovery using delay time rulers
US5264745A (en) * 1992-08-28 1993-11-23 Advanced Micro Devices, Inc. Recovering phase and data from distorted duty cycles caused by ECL-to-CMOS translator
US5400370A (en) * 1993-02-24 1995-03-21 Advanced Micro Devices Inc. All digital high speed algorithmic data recovery method and apparatus using locally generated compensated broad band time rulers and data edge position averaging
US5457719A (en) * 1993-08-11 1995-10-10 Advanced Micro Devices Inc. All digital on-the-fly time delay calibrator
US5457336A (en) * 1994-10-13 1995-10-10 Advanced Micro Devices, Inc. Non-volatile memory structure including protection and structure for maintaining threshold stability
US5565798A (en) * 1995-08-21 1996-10-15 International Business Machines Corporation Self-timed control circuit for self-resetting logic circuitry
GB2310738B (en) * 1996-02-29 2000-02-16 Advanced Risc Mach Ltd Dynamic logic pipeline control
US5764083A (en) * 1996-06-10 1998-06-09 International Business Machines Corporation Pipelined clock distribution for self resetting CMOS circuits

Also Published As

Publication number Publication date
EP0924859A1 (de) 1999-06-23
EP0924859B1 (de) 2004-02-04
DE69821461D1 (de) 2004-03-11
US6064232A (en) 2000-05-16
JPH11185492A (ja) 1999-07-09

Similar Documents

Publication Publication Date Title
DE3586647T2 (de) Verzoegerungssteuerungsschaltung und verfahren zur steuerung der verzoegerungen in einem halbleiterelement.
DE69821461T2 (de) Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE69033309T2 (de) Takterzeugungsschaltung
DE3789458T2 (de) Programmierbare logische Vorrichtung mit Programmierungsprüfungsmitteln und Methode dazu.
DE69122189T2 (de) Flip-Flop-Schaltung vom "Master-Slave"-Typ
DE10141939B4 (de) Flip-Flop-Schaltung zur taktsignalabhängigen Datenpufferung und diese enthaltender Signalhöhenkomparator
DE69833595T2 (de) Synchrones Verzögerungsschaltkreissystem
DE69231609T2 (de) Verdrahteter Oder-Multiplexer
DE4326134B4 (de) Eingangswechseldetektorschaltung
DE69520960T2 (de) Zeitgeber für ein automatisches testsystem mit hohen datenraten
DE4445311A1 (de) Zeitsignal-Erzeugungsschaltung
DE102005016299A1 (de) Tastverhältniskorrektur
DE10130122B4 (de) Verzögerungsregelkreis
DE102012219056A1 (de) Störimpulsfreier programmierbarer Taktformer
DE102005024648A1 (de) Elektrische Schaltung zum Messen von Zeiten und Verfahren zum Messen von Zeiten
DE3850808T2 (de) Erzeugung von Taktimpulsen.
DE10346559A1 (de) Dateninvertierungsschaltung und Halbleitervorrichtung
DE69517604T2 (de) Zeitgeber mit mehreren kohärenten synchronisierten takten
DE19954564A1 (de) Steuerungsschaltung für die CAS-Verzögerung
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE10243765A1 (de) Halbleitervorrichtung mit Verzögerungskorrekturfunktion
DE69123725T2 (de) Elektrischer Schaltkreis zum Generieren von Impulsreihen
DE19549156A1 (de) Datensignalverteilungsschaltung für ein Synchronspeicherelement
DE3801993C2 (de) Zeitgebersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition