DE10139061A1 - Gatterübergangszähler - Google Patents
GatterübergangszählerInfo
- 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
Links
- 230000007704 transition Effects 0.000 title claims description 48
- 230000010355 oscillation Effects 0.000 claims abstract description 15
- 230000015654 memory Effects 0.000 claims abstract description 14
- 239000000872 buffer Substances 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims 5
- 230000001934 delay Effects 0.000 description 13
- 238000000034 method Methods 0.000 description 9
- 239000000543 intermediate Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04F—TIME-INTERVAL MEASURING
- G04F10/00—Apparatus for measuring unknown time intervals by electric means
- G04F10/04—Apparatus 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
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.
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).
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.
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.
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
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.
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.
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.
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
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.
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.
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)
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)
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)
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 |
-
2000
- 2000-08-11 US US09/637,534 patent/US6396312B1/en not_active Expired - Fee Related
-
2001
- 2001-08-07 SG SG200104677A patent/SG106622A1/en unknown
- 2001-08-09 DE DE10139061A patent/DE10139061C2/de not_active Expired - Fee Related
- 2001-08-13 JP JP2001245747A patent/JP2002116231A/ja active Pending
Cited By (3)
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 |