DE10139061A1 - Gatterübergangszähler - Google Patents

Gatterübergangszähler

Info

Publication number
DE10139061A1
DE10139061A1 DE10139061A DE10139061A DE10139061A1 DE 10139061 A1 DE10139061 A1 DE 10139061A1 DE 10139061 A DE10139061 A DE 10139061A DE 10139061 A DE10139061 A DE 10139061A DE 10139061 A1 DE10139061 A1 DE 10139061A1
Authority
DE
Germany
Prior art keywords
circuit
input
inverting
output
control signal
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.)
Granted
Application number
DE10139061A
Other languages
English (en)
Other versions
DE10139061C2 (de
Inventor
Shad R Shepston
Jeff Rearick
John G Rohrbaugh
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE10139061A1 publication Critical patent/DE10139061A1/de
Application granted granted Critical
Publication of DE10139061C2 publication Critical patent/DE10139061C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • G04F10/04Apparatus for measuring unknown time intervals by electric means by counting pulses or half-cycles of an ac

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

Gatterübergangszähler. Ein Ringoszillator stellt eine Mehrzahl von Ausgängen bereit, die alle bezüglich des benachbarten Ausgangs um eine Gatterverzögerung verzögert sind. Die Ausgangssignale des Ringoszillators werden auf ein Empfangen eines Haltesignals hin durch ein Array von Zwischenspeichern erfaßt. Der letzte Zwischenspeicher treibt einen Ripple-Zähler. Bei der bevorzugten Implementierung werden fünf Inverter in dem Ringoszillator verwendet, so daß jeder vollständige Zyklus des Ringoszillators zehn Gatterverzögerungen darstellt. Ein Ripple-Zähler zählt die Anzahl von Gatterverzögerungen in Zehnerschritten. Die Zwischenspeicherausgangssignale R und die Ausgänge C des Ripple-Zählers können in eine binäre Darstellung P der Anzahl von Gatterverzögerungen umgewandelt werden, um einen Zählwert in dem kleinsten Zeitinkrement bereitzustellen, das durch die Schaltung erzeugt werden kann.

Description

Diese Erfindung betrifft allgemein das Gebiet von Zeitge­ berschaltungen. Spezieller betrifft die Erfindung eine Vor­ richtung und ein Verfahren zur Verwendung eines Ringzählers zum Zählen von Gatterübergängen.
Bei vielen Schaltungsanwendungen ist es üblich, Zeit in einzelnen Zeitsegmenten zu messen, die außer Bezug zu her­ kömmlichen Zeitmaßen (z. B. Sekunden oder Mikrosekunden) stehen können. Ein einfaches Beispiel ist die Zahl der Taktübergänge, die ein Mikroprozessor braucht, um eine ge­ gebene Aufgabe (z. B. eine Additions- oder Divisionsfunkti­ on) auszuführen. Wenn, bei einem anderen Beispiel, eine Schaltung unter Verwendung einer konventionellen Taktgeber­ schaltung, die eine Taktperiode T aufweist, arbeitet, kann es nötig sein, einen logischen Übergang herzustellen, der bei ungefähr 1/16 der Zeitperiode T nach dem Taktübergang erfolgt. Als Zähler konfigurierte Zwischenspeicher (lat­ ches) und/oder Register können auf herkömmlichem Wege ver­ wendet werden, um solche Übergangszeiten zu erstellen, in­ dem die mehreren Zwischenspeichern oder Registern zugeord­ nete Zeitverzögerung angesammelt wird, um die gewünschte Zeitverzögerung zu erzeugen. Da derartige Zwischenspeicher und Register von mehreren Gatterübergängen verursachte Ver­ zögerungen aufweisen, können mit ihnen relativ lange Verzö­ gerungen zusammenhängen. Bei vielen Anwendungen, vor allem bei höheren Frequenzen, ist die mit dem Umschalten eines Zwischenspeichers oder Registers zusammenhängende Zeitver­ zögerung kein ausreichend kleines Zeitinkrement, um eine ausreichende Auflösung bereitzustellen, um eine gewünschte zeitliche Genauigkeit zu erzielen. Nehmen wir eine CMOS- Schaltung von 1,8 Mikrometer, bei der eine Taktperiode T 2,0 Nanosekunden und eine Gatterverzögerung 30 Pikosekunden beträgt, und ein Zwischenspeicher sechs Gatterverzögerungen oder 180 Pikosekunden erfordert. Bei diesem Beispiel gilt: T/16 = 125 Pikosekunden. Bei diesem Beispiel ist also eine Zwischenspeicherverzögerung viel zu groß, um sich dem für die meisten Anwendungen erforderlichen 1/16 einer Taktperi­ ode zu nähern. Bei dieser Anwendung kann die gewünschte Zeit im allgemeinen nur innerhalb ca. dreier Gatterverzöge­ rungen (die Hälfte der sechs Gatterverzögerungen des Zwi­ schenspeichers) garantiert werden.
Darüber hinaus können Abweichungen bei der Prozessierung integrierter Schaltungen die einem gegebenen Zwischenspei­ cher und Register zugeordnete absolute Zeit um beträchtli­ che Werte verändern. Dadurch wird das Problem der Verwen­ dung eines Zwischenspeichers oder Registers unter manchen Umständen erschwert, da der Fehler bezüglich der Auflösung durch Bearbeitungsabweichungen noch verstärkt werden kann. Wird, in Anbetracht des obigen Beispiels, die Taktperiode festgelegt (z. B. durch einen quarzgesteuerten Oszilla­ tor), so würde eine Prozessierungsabweichung, die nur zu einem zehnprozentigen Anstieg der Gatterverzögerungszeit führt, eine Zwischenspeicherverzögerung von 198 Pikosekun­ den nach sich ziehen - was sogar noch weiter von dem erfor­ derlichen T/16 = 125 Pikosekunden entfernt liegt.
Deshalb wäre es vorteilhaft, das kleinste zur Verfügung stehende Zeitmessungsinkrement zu verwenden, um derartige Fehler zu minimieren. Im Fall der Ausgestaltung integrier­ ter Schaltungen ist die kleinste Verzögerungszeit im allge­ meinen ein einzelner Gatterübergang. Aufgrund beträchtli­ cher Abweichungen bei Bearbeitungsparametern kann man die absolute Anzahl von Gatterübergängen jedoch nicht zuverläs­ sig wissen. Bei dem obigen Beispiel entsprechen vier Gat­ terübergänge 120 Pikosekunden, was den erforderlichen 125 Pikosekunden für die meisten Anwendungen ausreichend nahe­ kommt. Fachleute wissen jedoch, daß eine Gatterübergangs­ zeit für diesen Prozeß zwischen 20 und 50 Pikosekunden betragen kann. Dies bedeutet, daß die genaue Anzahl von Gatterübergängen, die erforderlich sind, um sich den 125 Pikosekunden zu nähern, zwischen zwei und sechs liegen könnte.
Es ist die Aufgabe der vorliegenden Erfindung, eine Gatter­ übergangszählerschaltung mit günstigen Eigenschaften und Verfahren für dieselbe zu schaffen.
Diese Aufgabe wird durch eine Schaltung zur Zählung von Gatterübergängen gemäß Anspruch 1 oder gemäß Anspruch 16 gelöst.
Bei einem Ausführungsbeispiel der vorliegenden Erfindung umfaßt eine der vorliegenden Erfindung entsprechende und Schaltung, die Gatterübergänge zählt, einen Ringoszillator mit einer Mehrzahl von N invertierenden Schaltungen, wobei N eine ungerade Ganzzahl ist und jede invertierende Schal­ tung einen Eingang und einen Ausgang aufweist. Die inver­ tierenden Schaltungen sind von Eingang zu Ausgang miteinan­ der verbunden, um eine Endlosschleife zu bilden. Die Schal­ tung umfaßt einen Eingang zum Empfangen eines Halten- Steuersignals, um die Schwingung des Ringoszillators anzu­ halten. Die Schaltung umfaßt ferner eine Mehrzahl von N Zwischenspeichern, wobei jeder Zwischenspeicher einen Ein­ gang und einen Ausgang aufweist und jeder der Eingänge der N Zwischenspeicher mit einem der Ausgänge der N invertie­ renden Schaltungen verbunden ist. Das Halten-Steuersignal ist mit der Mehrzahl von N Zwischenspeichern gekoppelt, um das Ausgangssignal der N invertierenden Schaltungen zu er­ fassen, wenn das Halten-Steuersignal empfangen wird.
Bei einem anderen Ausführungsbeispiel umfaßt eine Schal­ tung, die der vorliegenden Erfindung entspricht und Gatter­ übergängen zählt, einen Ringoszillator mit einer Mehrzahl von N invertierenden Schaltungen, wobei N eine ungerade Ganzzahl ist. Jede invertierende Schaltung weist einen Ein­ gang und einen Ausgang auf. Die invertierenden Schaltungen sind von Eingang zu Ausgang miteinander verbunden, um eine Endlosschleife zu bilden. Der Ringoszillator umfaßt eine Schaltung zum Empfangen eines Starten-Steuersignals, um die Schwingung des Ringoszillators zu starten, sowie eine Schaltung zum Empfangen eines Halten-Steuersignals, um die Schwingung des Ringoszillators zu stoppen. Es ist eine Mehrzahl von N Puffern vorgesehen, und bei einer Mehrzahl von N Zwischenspeichern, die jeweils einen Eingang und ei­ nen Ausgang aufweisen, ist jeder der N Zwischenspeicherein­ gänge durch einen der N Puffer mit einem der Ausgänge der N invertierenden Schaltungen verbunden. Das Halten- Steuersignal ist mit der Mehrzahl von N Zwischenspeichern gekoppelt, um den Ausgang der N invertierenden Schaltungen zu erfassen, wenn das Halten-Steuersignal empfangen wird. Bei einem Ripple-Zähler (bzw. Welligkeitszähler) ist ein Eingang mit einem der Zwischenspeicherausgängen verbunden. Der Ripple-Zähler zählt eine Anzahl von Übergängen des Zwi­ schenspeicherausgangs und erzeugt ein Ripple-Zähler- Ausgangssignal. Eine logische Schaltung empfängt die N Zwi­ schenspeicherausgangssignale und konvertiert die N Zwi­ schenspeicherausgangssignale in einen binären Wert.
Ein Verfahren, das mit bestimmten Ausführungsbeispielen der vorliegenden Erfindung übereinstimmt, zum Erfassen des Zu­ stands eines Ringoszillators, bei dem der Ringoszillator eine Mehrzahl von N invertierenden Schaltungen umfaßt, wo­ bei N eine ungerade Ganzzahl ist und jede invertierende Schaltung einen Eingang und einen Ausgang aufweist, die in­ vertierenden Schaltungen von Eingang zu Ausgang miteinander verbunden sind, um eine Endlosschleife zu bilden, umfaßt folgendes: Bewirken, daß der Ringoszillator oszilliert; Empfangen eines Halten-Steuersignals, um die Schwingung des Ringoszillators anzuhalten; und Zwischenspeichern eines Werts bei jedem Ausgang in einem der Mehrzahl von N Zwi­ schenspeichern, um einen zwischengespeicherten Wert R zu erhalten.
Bei einem anderen Verfahren, das mit der vorliegenden Er­ findung übereinstimmt, zum Erfassen des Zustands eines Rin­ goszillators, wobei der Ringoszillator eine Mehrzahl von N Logikgattern aufweist, jedes Gatter einen Eingang und ei­ nen Ausgang aufweist und die Gatter von Eingang zu Ausgang miteinander verbunden sind, um eine Endlosschleife zu bil­ den, umfaßt das Verfahren folgendes: Bewirken, daß der Ringoszillator oszilliert; Empfangen eines Halten- Steuersignals, um die Schwingung des Ringoszillators anzu­ halten; und Zwischenspeichern eines Werts bei jedem Ausgang in einem der Mehrzahl von N Zwischenspeichern, um einen zwischengespeicherten Wert R zu erhalten.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild eines Gatterübergangszählers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 2 eine Schaltbild des Ringoszillators, der Zwi­ schenspeicher und des Ripple-Zählers der Fig. 1 für ein Ausführungsbeispiel der vorliegenden Er­ findung;
Fig. 3 ein Ablaufdiagramm, das die Wechselwirkung des Startsignals und des Haltsignals mit dem Ringzäh­ ler der Fig. 1 veranschaulicht;
Fig. 4 eine Schaltungsausführung des Wandlers 70 der Fig. 1;
Fig. 5 ein Ausführungsbeispiel eines programmierbaren Teilers, der verwendet werden kann, um den Wert von F in Fig. 1 bei einem Ausführungsbeispiel der Erfindung selektiv aufzuteilen.
Während diese Erfindung in vielen verschiedenen Formen aus­ geführt werden kann, werden spezifische Ausführungsbeispie­ le in den Zeichnungen dargestellt und hierin ausführlich beschrieben, wobei es sich versteht, daß die vorliegende Patentoffenlegungsschrift als Beispiel der Prinzipien der Erfindung anzusehen ist und die Erfindung nicht auf die ge­ zeigten und beschriebenen spezifischen Ausführungsbeispiele beschränken soll. In der folgenden Beschreibung werden gleiche Bezugszeichen zur Beschreibung gleicher, ähnlicher oder einander entsprechender Teile in den verschiedenen An­ sichten der Zeichnungen verwendet.
Bezug nehmend auf Fig. 1 verwendet die vorliegende Erfin­ dung einen Ringoszillator 10 mit Ausgangssignalen, die an dem Ausgang jedes Inverters in dem Ring erfaßt werden, als Mechanismus zum Messen der in einem einzelnen Gatterüber­ gang verstrichenen Zeit für die vorliegende Erfindung. Der Ausgang jedes Inverters in dem Ringoszillator 10 ist mit einer Mehrzahl von Zwischenspeichern 20 gekoppelt. Auf ei­ nen Empfang eines Startsignals 30 hin beginnt der Ringos­ zillator 10 zu oszillieren, und auf einen Empfang eines Haltsignals 40 hin hört er auf zu oszillieren. Auf einen Empfang des Haltsignals 40 hin wird der Wert an dem Ausgang jedes Inverters in dem Ringoszillator 10 durch das Array der Zwischenspeicher 20 erfaßt, um einen Wert R zu erzeu­ gen. Bei dem veranschaulichten Beispiel werden fünf Inver­ ter verwendet, und somit werden auf einen Empfang des Halt­ signals 40 hin fünf Binärwerte r1 bis r5 in Zwischenspei­ chern 20 zwischengespeichert. Das Ausgangssignal des letz­ ten Inverters in dem Ringoszillator 10 wird als r5 erfaßt. Dieser Wert r5 wird verwendet, um einem Ripple-Zähler 50, der zum Zählen der Anzahl vollständiger Zyklen des Ringos­ zillators 10 verwendet wird, ein Eingangssignal bereitzu­ stellen.
Wie gezeigt stellt der Ripple-Zähler vier Zählstufen mit Ausgangssignalwerten C0 bis C3 bereit, wobei C3 das höchstwertige Bit der Vier-Bit-Zählwert darstellt. Das bi­ näre Ausgangssignal des Ripple-Zählers C stellt daher einen Zählwert der vollständigen Zyklen des Ringoszillators 10 bereit. Da der Ringoszillator 10 über fünf Stufen verfügt, kann er in einem vollständigen Zyklus des Oszillators ins­ gesamt 10 Gatterübergänge erzeugen (für jedes Gatter einen nach oben gerichteten und eine nach unten gerichteten). Das heißt, daß jeder Inverter in dem Ringoszillator für jeden Zyklus des Ringoszillators 10 einen positiv laufenden Über­ gang und einen negativ laufenden Übergang durchläuft. Somit zählt der Ripple-Zähler 50 die Anzahl von jeweils zehn Gat­ terübergängen in Binärform.
Der Ausgang R der Zwischenspeicher 20 kann durch eine Lo­ gikmaschine 60 so manipuliert werden, daß er einen binären Wert B mit Werten b0 mit b3 produziert, wobei b0 das min­ destwertige Bit darstellt. Die B- und C-Werte aus der Lo­ gikmaschine 60 bzw. dem Ripple-Zähler 50 können bei dem vorliegenden Beispiel in einem Wandler 70 kombiniert wer­ den, um einen Ausgang F mit Bits f0 bis f6 zu erzeugen, was die Anzahl der Gatterübergänge des Ringoszillators 10 in Binärform darstellt. Fachleuten leuchtet ein, daß der Rip­ ple-Zähler 50 um beliebig viele Stufen erweitert werden kann, wie zum Erzeugen eines für die jeweilige Aufgabe be­ nötigten binären Zählwerts erforderlich sind.
Bezug nehmend auf Fig. 2 werden eine detailliertere Dar­ stellung des Ringoszillators 10, der Zwischenspeicher 20 und des Ripple-Zählers 50 als Schaltung 100 gezeigt. Die Schaltung 100 stellt die grundlegende Zählfunktion zum Zäh­ len der Gatterübergänge jedes der Inverter in dem Ringos­ zillator 10 bereit. Bei dem Ausführungsbeispiel der Schal­ tung 100 sind die für den Ringoszillator 10 erforderlichen Invertierungsfunktionen durch fünf NAND-Gatter 102, 104, 106, 108 und 110 bereitgestellt (im allgemeinen kann jede beliebige ungerade Anzahl N von invertierenden Schaltungen verwendet werden. Werden in dem Ring nicht-invertierende Gatter verwendet, kann die Schwingung mit N als einer gera­ den Zahl stattfinden). Die NAND-Gatter 104, 106 und 108 verhalten sich wie einfache Inverter, da bei ihnen ein Ein­ gang mit einer logischen Eins (Vdd) verbunden ist. Nach Empfang eines Logische-Eins-Startsignals 30 an seinem zwei­ ten Eingang verhält sich auch das NAND-Gatter 102 als ein­ facher Inverter. Auf ähnliche Weise wird das Haltsignal 40 durch einen Inverter 114 bereitgestellt, so daß ein niedrig verlaufendes Signal an dem zweiten Eingang des NAND-Gatters 110 die Migration des Signals durch den Ring an dem NAND- Gatter 110 stoppt und somit bewirkt, daß der Ringoszillator aufhört zu oszillieren.
Für Fachleute wird es ersichtlich sein, daß das Schaltungs­ diagramm der Fig. 2 eine Vereinfachung ist, die zum Veran­ schaulichen des Konzepts der vorliegenden Erfindung dient. Es könnten diverse Schaltungseinstellungen zum Erleichtern der geeigneten Zeitgebung der Schaltung erforderlich sein, um die Zahl der Gatterübergänge genau zu erfassen. Zum Bei­ spiel sollte die Gatterverzögerung des durch den Inverter 114 geleiteten Haltsignals berücksichtigt werden, um si­ cherzustellen, daß ein genauer Zählwert von dem Ringoszil­ lator erreicht wird.
Läßt man den zweiten Eingang der NAND-Gatter 102, 104, 106, 108, und 110 außer acht, so bleibt noch ein in Reihe ge­ schalteter Ring aus Invertern übrig, wobei jeder Inverter­ eingang mit dem Ausgang des vorhergehenden Inverters ver­ bunden ist. Jeder Eingangs-/Ausgangsanschluß ist mit 103, 105, 107, 109 bzw. 111 bezeichnet. Das Signal an jedem die­ ser Anschlüsse 103, 105, 107, 109 und 111 wird jeweils ei­ nem Puffer 122, 124, 126, 128 bzw. 130 bereitgestellt. Die­ se Puffer werden verwendet, um die Eingänge eines Satzes von fünf (im allgemeinen N) Zwischenspeichern 132, 134, 136, 138 bzw. 140 zu treiben. Auch hier wird es Fachleuten einleuchten, daß jegliche mit den Puffern 122, 124, 126, 128 und 130 zusammenhängende Zeitgebung dargelegt werden sollte, indem sichergestellt wird, daß die richtige Anzahl an Gatterübergängen ordnungsgemäß erfaßt wird. Zwischen­ speicher 132, 134, 136, 138 und 140 empfangen alle das Haltsignal 40, das verwendet wird, um die Schwingung des Ringoszillators 10 zu stoppen. Auf einen Empfang des Halt­ signals 40 hin speichern die Zwischenspeicher 20 die bei den Knoten 103, 105, 107, 109 und 111 vorliegenden Werte ein, um die Werte r1, r2, r3, r4 bzw. r5 zu erzeugen.
Das Ausgangssignal des letzten Zwischenspeichers 140 (r5) wird durch einen Inverter 142 invertiert und als das Takt­ signal für die vier bei dem Ripple-Zähler 50 verwendeten Zwischenspeicher benutzt. Diese vier Zwischenspeicher sind jeweils als 152, 154, 156 und 158 dargestellt. Der Ripple- Zähler 50 kann von einer beliebigen geeigneten Ausgestal­ tung sein und erzeugt binäre Ausgänge c0, c1, c2 und c3, die die zehnerweise Anzahl von Gatterübergänge, die in dem Rin­ goszillator 10 vorkommen, darstellen. Mit anderen Worten dient das Ausgangssignal r5 als eine Art Überlaufanzeige, wobei der Ripple-Zähler 50 die Zahl der Überläufe zählt, die bei dem durch die Zwischenspeicher 20 des Ringoszilla­ tors 10 erfaßten Zählwert auftreten. Die Werte c0 bis c3 werden rückgekoppelt und auf bekannte Weise durch EXKLUSIV- ODER-Gatter (EXOR-Gatter) 162, 164 und 166 sowie NAND- Gatter 172 und 174 zusammen mit Invertern 182, 184 und 186 kombiniert, um den binären Zählwert C bereitzustellen. Es könnte auch jede andere geeignete Ausgestaltung eines Rip­ ple-Zählers zum Zwecke der Verwendung adaptiert werden, oh­ ne von der vorliegenden Erfindung abzuweichen.
Deshalb wird im Betrieb ein Startsignal 30 an den Eingang des Gatters 102 angelegt, um die Schwingung des Ringoszil­ lators 10 zu starten. Auf Erhalt eines nachfolgenden Halt­ signals 40 hin hört der Ringoszillator auf zu oszillieren, und sein angehaltener Zustand wird in den Zwischenspeichern 20 erfaßt, wobei jeder Zyklus des Ringoszillators als Zähl­ wert in dem Ripple-Zähler 50 erscheint. Die Ausgangssignal­ werte r1 bis r5 (d. h. R) und c0 bis c3 (d. h. C) können so­ mit verwendet werden, um die Anzahl von Gatterübergängen darzustellen, die zwischen dem Zeitpunkt des Startsignals und dem des Haltsignals aufgetreten sind. Es wird jedoch darauf hingewiesen, daß die Werte von C in Form einer binä­ ren Zahl vorliegen, was nicht für die Werte von R gilt. Um den Zählwert effektiv zu nutzen, können viele Ausführungs­ beispiele die Umwandlung des Zählwerts C + R in eine binäre (oder dezimale oder sonstige) Darstellung erfordern. Bei anderen Ausführungsbeispielen können diese Werte R und C möglicherweise direkt verwendet werden.
Die Funktionsweise der Kombination des Ringzählers 10 und der Zwischenspeicher 20 ist in dem Ablaufdiagramm der Fig. 3 veranschaulicht, das die Werte der Knoten 103, 105, 107, 109 und 111 (oder alternativ r1, r2, r3, r4 und r5) zeigt, wobei die Zeit von links nach rechts zunimmt. Zum Zeitpunkt t1 wird das Startsignal an das NAND-Gatter 102 angelegt, und der bei Knoten 103 erscheinende logische Wert führt zum Zeitpunkt t2 einen Übergang von positiv zu negativ aus. Zum Zeitpunkt t3, eine Gatterübergangszeit nach t2, führt das Ausgangssignal bei Knoten 105 einen Übergang von niedrig zu hoch aus. Ähnlich führt Knoten 107 einen Gatterübergang später, zum Zeitpunkt t4, einen Übergang von hoch zu nied­ rig aus. Eine Gatterverzögerung später, zum Zeitpunkt t5, führt Knoten 109 einen Übergang von niedrig zu hoch aus, und zum Zeitpunkt t6 führt der Knoten 111 einen Übergang von hoch zu niedrig aus. Zu diesem Zeitpunkt wurde jeder der Inverter in dem Ringoszillator 10 ausgelöst und ist da­ bei, zu oszillieren. Der Knoten 111 legt an das Gatter 102 ein neues Eingangssignal an, um seinen nächsten Übergang zu erzeugen, usw.
Die Schwingungen setzen sich bis zum Zeitpunkt t7 fort, zu dem das Haltsignal einen Übergang von niedrig zu hoch aus­ führt. Dieses Signal wird invertiert und an das UND-Gatter 110 angelegt, so daß dieser Übergang die Schwingung des Ringoszillators 10 beendet. Zusätzlich speichert das Halt­ signal die Werte von r1 bis r5 von den Knoten 103, 105, 107, 109 und 111 in die Zwischenspeicher 132, 134, 136, 138 und 140 zu dem zum Zeitpunkt des Haltsignals vorliegenden Werten ein. Wie in Fig. 3 veranschaulicht ist, durchläuft das Signal bei Knoten 111 mehr als einen vollständigen Zy­ klus, wobei es den Ripple-Zähler 50 veranlaßt, zu zählen. Bei diesem einfachen Beispiel wird lediglich ein Zählwert von Eins in dem Ripple-Zähler registriert. Würde das Halt­ signal jedoch zu einem späteren Zeitpunkt empfangen, so würde der Ripple-Zähler jeden vollständigen Zyklus des Si­ gnals bei Knoten 111 zählen, was dann als binärer Zählwert C erscheinen würde.
Nachdem die Werte von r durch die Zwischenspeicher 20 er­ faßt wurden, wandelt die Logikmaschine 60 die Werte von r unter Verwendung der folgenden Gleichungen in binäre Werte um:
b3 = r3.r5
b2 = r3.r4
b1 = r1.r4 + r1.r3
b0 = r1.r2 + r3.r4 + r1.r2.r3.r4.r5 + r2.r3 + r4.r5
Die Logikmaschine 60 wird durch diese Gleichungen für das vorliegende Ausführungsbeispiel vollständig definiert und läßt sich auf einfache Weise für alternative Ausführungs­ beispiele, die weniger oder mehr Bits aufweisen, ableiten. Somit werden die fünf individuellen Bitwerte von R, die den Zustand des Ringoszillators 10 zum Zeitpunkt des Haltsi­ gnals darstellen, in eine oben als b0 bis b3 gezeigte 4- Bit-Binärdarstellung umgewandelt. Um den Zählwert von der Logikmaschine 60 (B) und den Zählwert von dem Ripple-Zähler 50 (C) zu einem einzigen binären Zählwert umzuwandeln, werden die Werte von C und B durch den Wandler 70 kombi­ niert. Dies wird z. B. durch ein Verwenden der in Fig. 4 gezeigten Schaltung erzielt, bei der die F-Werte als F = (10 × C) + 8 angegeben sind, wobei "10" eine dezimale Zehn (nicht eine binäre 10) ist. Dies kann in F = (2C + 8C) + B aufgespalten werden. Um dies zu implementieren, verschiebt die Schaltung 70 der Fig. 4 den Wert von C um ein Bit nach links, um eine Multiplikation mit Zwei zu erzielen. Außer­ dem wird der Wert von C um drei Bits nach links verschoben, um eine Multiplikation mit Acht zu erzielen. Diese beiden Werte werden durch eine Reihe von sieben Ein-Bit- Volladdierern 402 zusammenaddiert, wobei ein Ausgangssignal unter Verwendung einer zweiten Reihe von sieben Ein-Bit- Volladdierern 404 zu den Werten von B hinzuaddiert wird. Das sich ergebende Ausgangssignal ist die binäre Darstel­ lung F für die Anzahl von in dem Ringoszillator 10 auftre­ tenden Gatterübergängen.
Bei der bisher beschriebenen Schaltung wurde eine Schal­ tungsanordnung gezeigt, die verwendet werden kann, um die zwischen einem Startsignal 30 und einem Haltsignal 40 lie­ gende Zeit zu bestimmen. Die Zeit wird als F dargestellt, was bei diesem Beispiel eine Sieben-Bit-Binärzahl ist, die die Anzahl von im Ringoszillator 10 auftretenden Gatterver­ zögerungen darstellt. Diese Anordnung kann z. B. verwendet werden, um zu bestimmen, wie viele Gatterverzögerungen ei­ ner Taktperiode entsprechen, die zum Auslösen des Startsi­ gnals 30 am Beginn der Taktperiode und des Haltsignals 40 am Ende der Taktperiode verwendet wird. Somit treten inner­ halb einer Taktperiode T von 2,0 Nanosekunden und einer Gatterverzögerung von 30 Pikosekunden ca. 66 Gatterübergän­ ge in dem Ringoszillator 10 auf. Bei diesem Beispiel be­ trägt die kleinste meßbare Zeiteinheit (eine Gatterverzöge­ rung) 30 Pikosekunden. Ist 1/16 einer Taktperiode T erfor­ derlich (125 Nanosekunden), so kann dies durch vier 30 Pi­ kosekunden betragende Gatterverzögerungen (120 Nanosekun­ den) annähernd erreicht werden.
Geht man von demselben Erfordernis von 1/16 einer Taktperi­ ode T bei einer Gatterverzögerung von 20 Pikosekunden aus, so kann die erforderliche Verzögerungszeit durch sechs Gat­ terverzögerungen von 20 Pikosekunden annähernd erreicht werden. Die entsprechende Anzahl von Gatterverzögerungen kann daher unter Verwendung jedes beliebigen Verfahrens konfiguriert werden, nachdem die ordnungsgemäße Anzahl von erforderlichen Gatterübergängen bestimmt wurde. Auf jeden Fall kann die erforderliche Zeit im Gegensatz zu den drei Gatterverzögerungen des vorherigen Beispiels auf ca. eine halbe Gatterverzögerung erzeugt werden.
Bei einem Ausführungsbeispiel kann die Zeit direkt von dem Ausgangssignal des Ripple-Zählers 50 und der Zwischenspei­ cher 20 bestimmt werden. Dies kann durch Voreinstellen des Ripple-Zählers 50 und des Ringoszillators 10 erreicht wer­ den. Bei diesem Ausführungsbeispiel gilt, daß der entspre­ chende Zählwert erreicht wurde, wenn der Ripple-Zähler 50 überläuft. Das Voreinstellen des Ripple-Zähler 50 kann durch bekannte Voreinstellungsmethoden erreicht werden. Die Voreinstellung des Ringoszillators kann erzielt werden, in­ dem man die Position des zum Treiben des Ripple-Zählers verwendeten Signals verändert und/oder indem man das Halt­ signal an dem zweiten Eingang eines anderen der fünf NAND- Gatter eingehen läßt. Auf diese Weise beträgt der erste Zählwert des Ringzählers 10 weniger als die vollen zehn Gatterübergänge.
Die Werte von F können auch direkt verwendet werden, um ei­ nen Fraktionswert P des Zeitintervalls zwischen dem Start­ signal 30 und dem Haltsignal 40 zu berechnen. Die Schaltung 500 der Fig. 5 kann somit verwendet werden, um einen belie­ bigen Bruchteilwert bezüglich der Auflösung des binären Zählwerts von F auszuwählen. Die Schaltung von Fig. 5 um­ faßt sechs Reihen von Multiplexern 502, 504, 506, 508, 510 und 512. Diese Multiplexer werden verwendet, um fünf Reihen von Addierern 520, 522, 524, 526 und 528 bitverschobene Versionen von F bereitzustellen. Von oben bis unten bildet das Ausgangssignal jedes Addierers ein Eingangssignal für den nächsten Addierer, wobei die nächsten Multiplexeranord­ nung das zweite Eingangssignal für die Addierer liefert. Die erste Reihe von Multiplexern 502 stellt als die B- Eingangssignale an die Addierer 520 selektiv entweder ein Array von Nullen oder den Wert F bereit, der um ein Bit nach rechts verschoben ist. Indem der Wert von F um ein Bit nach rechts verschoben wird, wird der Wert von F/2 durch geeignete Auswahl der Zeile 530 hinzuaddiert.
Die Leitung 532 steuert das Array von Multiplexern 504, um F, das um zwei Bits nach rechts verschoben ist, oder F/4 selektiv hinzuzuaddieren. Durch die Wahl der Leitung 532 wird somit der Wert 0 oder F, um zwei nach rechts verscho­ ben, als die Eingangssignale a in die Addierer 520 bereit­ gestellt, wobei die höchstwertigen Bits von F mit Nullen gefüllt sind. Auf ähnliche Weise wird der Wert von F um ein zusätzliches Bit für jede Reihe von Multiplexern 506, die durch die Zeile 534 gesteuert werden, von Multiplexern 508, die durch die Zeile 536 gesteuert werden, von Multiplexern 510, die durch die Zeile 538 gesteuert werden und Multiple­ xern 512, die durch die Zeile 540 gesteuert werden, ver­ schoben. Eine Auswahl der Zeile 534 addiert F/8 also hinzu. Eine Auswahl der Zeile 536 addiert F/16 hinzu, während eine Auswahl von 538 bzw. 540 F/32 bzw. F/64 hinzuaddiert. Durch Kombinieren der Zeilen 530, 532, 534, 536, 538 und 540 in jeder beliebigen Kombination kann jeder beliebige Wert von 1/64 bis 63/64 als der durch Schaltung 500 bereitgestellte Bruch ausgewählt werden. Im allgemeinen Fall empfängt die programmierbare Teilerschaltung den binären Zählwert F und erzeugt einen Ausgangswert P, der den binären Zählwert F dividiert durch einen programmierten Wert gleich (2M-1)/K darstellt, wobei K eine Ganzzahl zwischen 1 und (2M-1-1) ist und wobei M die Anzahl von Bits des binären Zählwerts F ist.
Der geteilte Wert P kann von dem Überlaufwert extrahiert und zum Voreinstellen gemäß bestimmter Ausführungsbeispiele der vorliegenden Erfindung verwendet werden.
Während bei der obigen Offenlegungsschrift angenommen wird, daß die Schwingung bei einem Startsignal beginnt, so sollte diese keine Einschränkung darstellen, da die Schwingung auch bei dem Anlegen von Leistung an die Schaltung beginnen könnte. Die genaue Implementierung sollte jegliche Verzöge­ rungen bei der Schaltungsimplementierung (z. B. Erzeugung der Start- und Haltesignale, Pufferverzögerungen usw.) dar­ legen, um einen genauen Zählwert von Gatterübergängen zu gewährleisten. Obwohl das obige Beispiel einen Vier-Bit- Ripple-Zähler verwendet, könnte ein Ripple-Zähler jeder be­ liebigen Größe verwendet werden. Dementsprechend kann auch die Zahl N von bei dem Ringoszillator verwendeten invertie­ renden Schaltungen variiert werden, ohne daß dies eine Ab­ weichung von der Erfindung darstellt. Zudem kann jede ge­ eignete Einrichtung verwendet werden, um die Zwischenspei­ cher voreinzustellen, falls die Vorrichtung zum Zählen ei­ nes vorbestimmten Zählwerts verwendet wird. Als Ersatz für den Teiler 500 könnte eine Arithmetik-Logik-Einheit oder ein anderer Teiler verwendet werden. Außerdem legt die vor­ liegende Erfindung ein Signal an einen Eingang eines NAND- Gatters in dem Ringoszillator an, um das Anhalten und das Starten des Oszillators zu erzielen, jedoch können auch an­ dere Techniken angewandt werden. Zum Beispiel, ohne daß dies jedoch eine Einschränkung darstellt, können andere Lo­ gikgatter wie z. B. INVERTER-Gatter, ODER-Gatter, NOR- Gatter, UND-Gatter, EXKLUSIV-ODER-Gatter usw. sowie Kombi­ nationen aus denselben verwendet werden, um einen analogen Ringoszillator zu implementieren, wobei eine Eingangssteue­ rung für diese Gatter (einschließlich Öffnen eines Reihen­ schalters zum Öffnen des Rings oder Steuern des Eingangs eines Gatters) verwendet werden könnte, um die Schwingung zu starten und anzuhalten, ohne dabei von der Erfindung abzuweichen.

Claims (25)

1. Schaltung, die Gatterübergänge zählt und folgende Merkmale aufweist:
einen Ringoszillator (10), der eine Mehrzahl von N in­ vertierenden Schaltungen (102, 104, 106, 108, 110) aufweist, wobei N eine ungerade Ganzzahl ist, wobei jede invertierende Schaltung einen Eingang und einen Ausgang (103, 105, 107, 109, 111) aufweist und wobei die invertierenden Schaltungen von Eingang zu Ausgang miteinander verbunden sind, um eine Endlosschleife zu bilden;
eine Einrichtung zum Empfangen eines Halten- Steuersignals (40), um die Schwingung des Ringoszilla­ tors anzuhalten;
eine Mehrzahl von N Zwischenspeichern (132, 134, 136, 138, 140), wobei jeder einen Eingang und einen Ausgang aufweist und wobei jeder der Eingänge der N Zwischen­ speicher mit einem der Ausgänge (103, 105, 107, 109, 111) der N Inverterschaltungen verbunden ist; und
wobei das Halten-Steuersignal (40) mit der Mehrzahl von N Zwischenspeichern (132, 134, 136, 138, 140) ge­ koppelt ist, um das Ausgangssignal der N invertieren­ den Schaltungen zu erfassen, wenn das Halten- Steuersignal empfangen wird.
2. Schaltung gemäß Anspruch 1, bei der mindestens eine der N invertierenden Schaltungen (102) ein NAND-Gatter (110) aufweist, das einen ersten und einen zweiten Eingang aufweist, wobei der erste Eingang mit einer vorhergehenden invertierenden Schaltung (108) verbun­ den ist und wobei die Einrichtung zum Empfangen des Halten-Steuersignals (40) den zweiten Eingang auf­ weist.
3. Schaltung gemäß Anspruch 1, bei der die Mehrzahl von N invertierenden Schaltungen (102, 104, 106, 108, 110) eine erste invertierende Schaltung (102) und eine letzte invertierende Schaltung (110) umfaßt, und bei der die letzte invertierende Schaltung ein NAND-Gatter aufweist, das zwei Eingänge aufweist, wobei ein erster der zwei Eingänge den Eingang der letzten invertieren­ den Schaltung aufweist und ein zweiter der zwei Ein­ gänge das Halten-Steuersignal empfängt.
4. Schaltung gemäß Anspruch 1, die ferner eine Mehrzahl von N Puffern aufweist, die zwischen den N invertie­ renden Schaltungen (102, 104, 106, 108, 110) und den N Zwischenspeichern (132, 134, 136, 138, 140) angeordnet ist.
5. Schaltung gemäß Anspruch 1, die ferner folgendes Merk­ mal aufweist:
eine Einrichtung zum Empfangen eines Starten- Steuersignals (30) zum Starten der Schwingung des Ringoszillators (10).
6. Schaltung gemäß Anspruch 5, bei der mindestens eine der N invertierenden Schaltungen (102) ein NAND-Gatter aufweist, das einen ersten und einen zweiten Eingang aufweist, wobei der erste Eingang mit einer vorherge­ henden invertierenden Schaltung (110) verbunden ist und wobei die Einrichtung zum Empfangen des Starten- Steuersignals den zweiten Eingang aufweist.
7. Schaltung gemäß Anspruch 5, bei der die Mehrzahl von N invertierenden Schaltungen (102, 104, 106, 108, 110) eine erste invertierende Schaltung (102) und eine letzte invertierende Schaltung (110) umfaßt und bei der die erste invertierende Schaltung ein NAND-Gatter aufweist, das zwei Eingänge aufweist, wobei ein erster der zwei Eingänge den Eingang der ersten invertieren­ den Schaltung aufweist und ein zweiter der zwei Ein­ gänge das Starten-Steuersignal empfängt.
8. Schaltung gemäß Anspruch 5, bei der die Mehrzahl von N invertierenden Schaltungen (102, 104, 106, 108, 110) eine erste (102) und eine letzte (110) invertierende Schaltung umfaßt,
und bei der die Mehrzahl von N Zwischenspeichern (132, 134, 136, 138, 140) einen entsprechenden ersten und letzten Zwischenspeicher umfaßt, wobei der Eingang des ersten Zwischenspeichers den Ausgang der ersten inver­ tierenden Schaltung (102) empfängt und der Eingang des letzten Zwischenspeichers den Ausgang der letzten in­ vertierenden Schaltung (110) empfängt,
und die ferner einen Ripple-Zähler aufweist, der einen Eingang aufweist, der mit dem Ausgang der letzten in­ vertierenden Schaltung (110) gekoppelt ist, wobei der Ripple-Zähler eine Anzahl von Übergängen der letzten invertierenden Schaltung zählt und ein Ripple-Zähler- Ausgangssignal erzeugt.
9. Schaltung gemäß Anspruch 8, bei der der Eingang des Ripple-Zählers durch den letzten Zwischenspeicher mit der letzten invertierenden Schaltung gekoppelt ist.
10. Schaltung gemäß Anspruch 9, die ferner folgendes Merk­ mal aufweist:
eine Logikschaltung (60), die die Ausgänge der N Zwi­ schenspeicher empfängt und die Ausgänge der N Zwi­ schenspeicher zu einem binären Wert umwandelt.
11. Schaltung gemäß Anspruch 10, bei der N = 5 und bei der die fünf Zwischenspeicherausgangssignale mit r1, r2, r3, r4 und r5 bezeichnet sind und bei der die Logik­ schaltung (60) die fünf Zwischenspeicherausgangssigna­ le durch die folgenden Gleichungen in einen binären Wert B umwandelt, der die Bits b0, b1, b2 und b3, von dem mindestwertigen zu dem höchstwertigen Bit, auf­ weist:
b3 = r3.r5
b2 = r3.r4
b1 = r1.r4 + r1.r3
b0 = r1.r2 + r3.r4 + r1.r2.r3.r4 . r5 + r2 . r3 + r4.r5
12. Schaltung gemäß Anspruch 11, bei der das Ausgangssi­ gnal des Ripple-Zählers (50) ein mit C bezeichneter Vier-Bit-Binärzählwert ist, der die Bits c0, c1, c2 und c3, von dem mindestwertigen bis zu dem höchstwertigen Bit, aufweist, und die ferner eine Wandlungsschaltung (70) zum Kombinieren von C mit B aufweist, um einen Sieben-Bit-Binärwert F zu erzeugen, der Bits f0, f1, f2, f3, f4, f5 und f6, von dem mindestwertigen zu dem höchstwertigen Bit, aufweist, wobei F = B + 10C.
13. Schaltung gemäß Anspruch 10, die ferner folgendes Merkmal aufweist:
eine zweite Wandlungsschaltung (70), die den binären Zählwert von der Logikschaltung (60) und das Ausgangs­ signal des Ripple-Zählers (50) empfängt und einen bi­ nären Zählwert F erzeugt, der eine Anzahl von Übergän­ gen der invertierenden Schaltung darstellt.
14. Schaltung gemäß Anspruch 13, die ferner folgendes Merkmal aufweist:
eine programmierbare Teilerschaltung (500), die den binären Zählwert F empfängt und einen Ausgangswert er­ zeugt, der den binären Zählwert dividiert durch einen programmierten Wert gleich (2M-1)/K darstellt, wobei K eine Ganzzahl zwischen 1 und (2M-1-1) ist.
15. Schaltung gemäß Anspruch 14, bei der der Ripple-Zähler (50) ferner einen voreingestellten Eingang aufweist, der einen Anfangswert des Ripple-Zählers (50) vorein­ stellt, wobei der voreingestellte Eingang den Aus­ gangswert der programmierbaren Teilerschaltung (500) empfängt.
16. Schaltung, die Gatterübergänge zählt und folgende Merkmale aufweist:
einen Ringoszillator (10), der eine Mehrzahl von N in­ vertierenden Schaltungen (102, 104, 106, 108, 110) aufweist, wobei N eine ungerade Ganzzahl ist, wobei jede invertierende Schaltung einen Eingang und einen Ausgang (103, 105, 107, 109, 111) aufweist, und wobei die invertierenden Schaltungen von Eingang zu Ausgang miteinander verbunden sind, um eine Endlosschleife zu bilden;
eine Einrichtung zum Empfangen eines Starten- Steuersignals (30), um die Schwingung des Ringoszilla­ tors zu starten;
eine Einrichtung zum Empfangen eines Halten- Steuersignals (40), um die Schwingung des Ringoszilla­ tors anzuhalten;
eine Mehrzahl von N Puffern;
eine Mehrzahl von N Zwischenspeichern (132, 134; 136, 138, 140), wobei jeder einen Eingang und einen Ausgang aufweist und wobei jeder der Eingänge der N Zwischen­ speicher durch einen der N Puffer mit einem der Aus­ gänge (103, 105, 107, 109, 111) der N Inverterschal­ tungen verbunden ist;
wobei das Halten-Steuersignal (40) mit der Mehrzahl von N Zwischenspeichern (132, 134, 136, 138, 140) ge­ koppelt ist, um das Ausgangssignal der N invertieren­ den Schaltungen zu erfassen, wenn das Halten- Steuersignal empfangen wird;
einen Ripple-Zähler (50), der einen Eingang aufweist, der mit einem der Ausgänge der Zwischenspeicher gekop­ pelt ist, wobei der Ripple-Zähler eine Anzahl von Übergängen des Ausgangs des Zwischenspeichers zählt und ein Ripple-Zähler-Ausgangssignal erzeugt; und
eine Logikschaltung (60), die Ausgangssignale der N Zwischenspeicher empfängt und die Ausgangssignale der N Zwischenspeicher zu einem binären Wert umwandelt.
17. Schaltung gemäß Anspruch 16, bei der mindestens eine der N invertierenden Schaltungen ein NAND-Gatter (110) aufweist, das einen ersten und einen zweiten Eingang aufweist, wobei der erste Eingang mit einer vorherge­ henden invertierenden Schaltung (108) verbunden ist und wobei die Einrichtung zum Empfangen des Halten- Steuersignals (40) den zweiten Eingang aufweist.
18. Schaltung gemäß Anspruch 16, bei der die Mehrzahl von N invertierenden Schaltungen (102, 104, 106, 108, 110) eine erste invertierende Schaltung (102) und eine letzte invertierende Schaltung (110) umfaßt und bei der die letzte invertierende Schaltung ein NAND-Gatter aufweist, das zwei Eingänge aufweist, wobei ein erster der zwei Eingänge den Eingang der letzten invertieren­ den Schaltung aufweist und ein zweiter der zwei Ein­ gänge das Halten-Steuersignal (40) empfängt.
19. Schaltung gemäß Anspruch 16, bei der mindestens eine der N invertierenden Schaltungen ein NAND-Gatter (110) aufweist, das einen ersten und einen zweiten Eingang aufweist, wobei der erste Eingang mit einer vorherge­ henden invertierenden Schaltung verbunden ist und wo­ bei die Einrichtung zum Empfangen des Starten- Steuersignals (30) den zweiten Eingang aufweist.
20. Schaltung gemäß Anspruch 16, bei der die Mehrzahl von N invertierenden Schaltungen (102, 104, 106, 108, 110) eine erste invertierende Schaltung (102) und eine letzte invertierende Schaltung (110) umfaßt und bei der die erste invertierende Schaltung ein NAND-Gatter aufweist, das zwei Eingänge aufweist, wobei ein erster der zwei Eingänge den Eingang der ersten invertieren­ den Schaltung aufweist und ein zweiter der zwei Ein­ gänge das Starten-Steuersignal empfängt.
21. Schaltung gemäß Anspruch 16, bei der die N Zwischen­ speicherausgangssignale mit r1, r2, r3, r4 und r5 be­ zeichnet sind und bei der die Logikschaltung (60) die N Zwischenspeicherausgangssignale anhand der folgenden Gleichungen in einen binären Wert B umwandelt, der die Bits b0, b1, b2 und b3, von dem mindestwertigen zu dem höchstwertigen Bit, aufweist:
b3 = r3.r5
b2 = r3.r4
b1 = r1.r4 + r1.r3
b0 = r1.r2 + r3.r4 + r1.r2.r3.r4.r5 + r2 . r3 + r4.r5
22. Schaltung gemäß Anspruch 21, bei der das Ausgangssi­ gnal des Ripple-Zählers (50) ein mit C bezeichneter Vier-Bit-Binärzählwert ist, der die Bits c0, c1, c2 und c3, von dem mindestwertigen bis zu dem höchstwertigen Bit, aufweist, und die ferner eine Wandlungsschaltung (70) zum Kombinieren von C mit B aufweist, um einen Sieben-Bit-Binärwert F zu erzeugen, der Bits f0, f1, f2, f3, f4, f5 und f6, von dem mindestwertigen zu dem höchstwertigen Bit, aufweist, wobei F = B + 10C.
23. Schaltung gemäß Anspruch 22, die ferner folgendes Merkmal aufweist:
eine zweite Wandlungsschaltung (70), die den binären Zählwert von der ersten Wandlungsschaltung und das Ausgangssignal des Ripple-Zählers (50) empfängt und
einen binären Zählwert F erzeugt, der eine Anzahl von Übergängen der invertierenden Schaltung darstellt.
24. Schaltung gemäß Anspruch 23, die ferner folgendes Merkmal aufweist: eine programmierbare Teilerschaltung (500), die den binären Zählwert F empfängt und einen Ausgangswert er­ zeugt, der den binären Zählwert dividiert durch einen programmierten Wert gleich (2 M-1) /K darstellt, wobei K eine Ganzzahl zwischen 1 und (2 M-1-1) ist.
25. Schaltung gemäß Anspruch 24, bei der der Ripple-Zähler (50) ferner einen voreingestellten Eingang aufweist, der einen Anfangswert des Ripple-Zählers (50) vorein­ stellt, wobei der voreingestellte Eingang den Aus­ gangswert der programmierbaren Teilerschaltung (500) empfängt.
DE10139061A 2000-08-11 2001-08-09 Gatterübergangszähler Expired - Fee Related DE10139061C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/637,534 US6396312B1 (en) 2000-08-11 2000-08-11 Gate transition counter

Publications (2)

Publication Number Publication Date
DE10139061A1 true DE10139061A1 (de) 2002-02-21
DE10139061C2 DE10139061C2 (de) 2003-01-02

Family

ID=24556342

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10139061A Expired - Fee Related DE10139061C2 (de) 2000-08-11 2001-08-09 Gatterübergangszähler

Country Status (4)

Country Link
US (1) US6396312B1 (de)
JP (1) JP2002116231A (de)
DE (1) DE10139061C2 (de)
SG (1) SG106622A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005024648A1 (de) * 2005-05-25 2006-11-30 Infineon Technologies Ag Elektrische Schaltung zum Messen von Zeiten und Verfahren zum Messen von Zeiten

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668346B1 (en) * 2000-11-10 2003-12-23 Sun Microsystems, Inc. Digital process monitor
US6642801B1 (en) * 2001-08-21 2003-11-04 3Com Corporation Oscillator using virtual stages for multi-gigabit clock recovery
US7403074B2 (en) * 2004-02-26 2008-07-22 Sony Corporation Oscillator
US6826249B1 (en) 2002-10-10 2004-11-30 Xilinx, Inc. High-speed synchronous counters with reduced logic complexity
US7139955B2 (en) * 2002-12-17 2006-11-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Hierarchically-controlled automatic test pattern generation
US20040246007A1 (en) * 2003-06-03 2004-12-09 Wolfgang Fallot-Burghardt Fast, high precision, interference tolerant impedance measurement apparatus
US7692477B1 (en) * 2003-12-23 2010-04-06 Tien-Min Chen Precise control component for a substrate potential regulation circuit
US7649402B1 (en) * 2003-12-23 2010-01-19 Tien-Min Chen Feedback-controlled body-bias voltage source
US8134412B2 (en) * 2005-03-31 2012-03-13 Urenschi Assets Limited Liability Company Synchronization of a data output signal to an input clock
US7276982B1 (en) * 2005-03-31 2007-10-02 Chris Karabatsos High frequency digital oscillator-on-demand with synchronization
US8330548B2 (en) * 2010-08-20 2012-12-11 International Business Machines Corporation Latched ring oscillator device for on-chip measurement of clock to output delay in a latch
US8981822B2 (en) * 2012-09-14 2015-03-17 Intel Corporation High speed dual modulus divider
US9698764B2 (en) 2013-09-18 2017-07-04 Intel Corporation Quadrature divider
US10742220B1 (en) * 2019-04-30 2020-08-11 Synopsys, Inc. Method and apparatus for operating programmable clock divider using reset paths
JP6847160B2 (ja) 2019-06-11 2021-03-24 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. リングオシレータ及び時間計測回路
KR102157965B1 (ko) * 2019-06-24 2020-09-21 윈본드 일렉트로닉스 코포레이션 링 오실레이터 및 시간 계측 회로

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045811A (en) * 1990-02-02 1991-09-03 Seagate Technology, Inc. Tuned ring oscillator
US5126691A (en) * 1991-06-17 1992-06-30 Motorola, Inc. Variable clock delay circuit
JP3455982B2 (ja) * 1993-01-14 2003-10-14 株式会社デンソー 偶数段リングオシレータ及びパルス位相差符号化回路
JP2929888B2 (ja) * 1993-03-26 1999-08-03 株式会社デンソー パルス位相差符号化回路
JP2900772B2 (ja) * 1993-12-24 1999-06-02 株式会社デンソー パルス位相差符号化回路とパルス発生回路との複合装置及びデジタル制御pll装置
GB2296142B (en) * 1994-12-16 1998-03-18 Plessey Semiconductors Ltd Circuit arrangement for measuring a time interval
JP3217314B2 (ja) * 1998-05-19 2001-10-09 旭化成マイクロシステム株式会社 タイマ回路
US6011445A (en) * 1998-09-01 2000-01-04 Admtek Incorporated Method for oscillating and start up circuit for oscillator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005024648A1 (de) * 2005-05-25 2006-11-30 Infineon Technologies Ag Elektrische Schaltung zum Messen von Zeiten und Verfahren zum Messen von Zeiten
US7653170B2 (en) 2005-05-25 2010-01-26 Infineon Technologies Ag Electrical circuit for measuring times and method for measuring times
DE102005024648B4 (de) 2005-05-25 2020-08-06 Infineon Technologies Ag Elektrische Schaltung zum Messen von Zeiten und Verfahren zum Messen von Zeiten

Also Published As

Publication number Publication date
SG106622A1 (en) 2004-10-29
US6396312B1 (en) 2002-05-28
JP2002116231A (ja) 2002-04-19
DE10139061C2 (de) 2003-01-02

Similar Documents

Publication Publication Date Title
DE10139061C2 (de) Gatterübergangszähler
DE102008046831B4 (de) Ereignisgesteuerte Zeitintervallmessung
DE69101391T2 (de) Abgestimmter Ringoszillator und zugehöriger Taktgenerator.
DE69430334T2 (de) Impulsgenerator
DE69701604T2 (de) Integrierte schaltung, die eine zeitmessvorrichtung zur zur genauen messung kleiner zeitintervalle verkörpert
DE69410469T2 (de) Verfahren und Vorrichtung zur Phasenverschiebung eines Taktsignals
DE69410410T2 (de) Taktsignalgenerator für eine Vielzahl nicht überlappender Taktsignale
DE68915756T2 (de) Programmierbarer hochgeschwindigkeitsteiler.
DE4125387A1 (de) Verfahren und generatorschaltung zur analogen zeitsteuerung
DE69429372T2 (de) Impulsgenerator mit digitaler Steuerung
DE60122787T2 (de) Digitaler frequenzvervielfacher
DE69113836T2 (de) Integrierter Hochgeschwindigkeitssynchronzähler mit asynchroner Auslesung.
DE102005024648B4 (de) Elektrische Schaltung zum Messen von Zeiten und Verfahren zum Messen von Zeiten
DE3818546A1 (de) Pulsgeneratorschaltung
DE69317986T2 (de) Schnelle Zähler zum alternativen Auf- und Abzählen von Impulsfolgen
DE69129889T2 (de) Pipelineschaltung und Verfahren zum Vergleich der relativen Differenz zwischen zwei asynchronen Zeigern und einem programmierbaren Wert
DE4304702A1 (en) High speed serial to parallel converter for data transmission - has input data stream fed to pair of parallel multi stage registers with outputs generated via selector controlled by compressor
DE3789819T2 (de) Verarbeitungsschaltung für serielle Digitalsignale.
DE2225462A1 (de) Verfahren und Einrichtung zur Mittelwertbildung der von einem Vorwärts-Rückwärtssignalgeber her anliegenden Signale
EP0201634B1 (de) Digitaler Wortgenerator zur automatischen Erzeugung periodischer Dauerzeichen aus n-bit-Wörtern aller Wortgewichte und deren Permutationen
DE3119650A1 (de) Funktionsgenerator
DE102008064063B4 (de) Steuersignalerzeugungsschaltung zur Einstellung eines Periodenwerts eines erzeugten Taktsignals als die Periode eines Referenzsignals, multipliziert mit oder dividiert durch eine beliebige reelle Zahl
DE2111670A1 (de) Anordnung fuer die Anzeige der mittleren Rate des Auftretens eines ein Ereignis anzeigenden Signals
DE3714901C2 (de)
DE3743434A1 (de) Zeitsignalgeber

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AVAGO TECHNOLOGIES GENERAL IP ( SINGAPORE) PTE. LT

8339 Ceased/non-payment of the annual fee