-
Die Erfindung betrifft eine getaktete
logische Schaltung, die sich aus mindestens einem Block miteinander
verbundener Gatter zusammensetzt.
-
Ein bekanntes Prinzip zum Aufbau
getakteter logischer Schaltungen (d. h. sequentieller Schaltungen;
ein Beispiel ist in 1 dargestellt)
besteht darin, die Datenausgänge
von synchron durch einen Takt gesteuerten Speichereinheiten (Registern,
z. B. 11 in 1) mit den
Eingängen
von Blöcken
(z. B. 12 in 1) aus
Gattern (ein Begriff, der hier auch Inverter umfassen soll) zu verbinden
und die Ausgänge der
Logikschaltungen wieder an Eingänge
von Registern (13 in 1)
anzuschließen
und so fort. Zustandsmaschinen (finite state machines) sowie synchron
getaktete Datenflussmaschinen (dataflow machines) verwenden oft
dieses Prinzip. Dabei kann ein nachfolgendes Register auch ganz
oder teilweise identisch sein mit dem vorigen, so dass zyklische Rückführungen
entstehen.
-
Die Taktrate und damit die Verarbeitungsleistung
einer solchen getakteten Schaltung kann um so höher gewählt werden, je kleiner die
maximale Verzögerungszeit
für einen
Durchlauf von Register durch den Signalpfad des logischen Blockes
zu Register ist. Die maximale Verzögerungszeit für einen
Taktzyklus setzt sich zusammen aus der maximalen Dauer des Signaldurchlaufs
durch den Block im ungünstigsten Fall
(auf dem kritischen Pfad) sowie aus den maximalen Verzögerungszeiten
(und ggf. nötigen
Vorhaltezeiten) der verwendeten Register.
-
Die Register sind bei diesem Schaltungsprinzip
erforderlich, um den Signalfluss solange zu unterbrechen, bis alle
Ausgangssignale der Logikschaltung, die ja verschieden lange Verzögerungszeiten auf
verschiedenen Pfaden haben können,
gültig
sind und das Signal zu diesem Zeitpunkt zur Weitergabe zu speichern.
-
Bei einfachen logischen Funktionen
mit kurzem Signaldurchlauf durch den jeweiligen Pfad des Blockes
wird die maximale Verzögerungszeit
für einen
Taktzyklus wesentlich von den Verzögerungszeiten der Register
bestimmt. Es gibt daher eine Anzahl von Entwicklungen von Schaltungen,
um die Verzögerungszeit
von Registern zu verringern (z. B. U. S. Pat. 4 057 741).
-
Bekannt ist ein integrierter Halbleiterschaltkreis
gemäß
JP 7-288465 A .
Er enthält
Logik-Gatter, die über in Reihe
geschaltete n-MOS-Transistoren getaktet werden. Am Ausgang mindestens
eines Gatters ist der Ausgang einer steuerbaren Stromquelle angeschlossen,
deren Steuereingang mit einem steuernden Takt verbunden ist. Außerdem ist wenigstens
eine Gruppe von Komponenten, z. B. Gatter, untereinander über Signalleitungen
verbunden und weist zu Komponenten außerhalb dieser Gruppe keine
Signalverbindungen außer
Verbindungen über
die äußeren Signalanschlüsse dieser
Gruppe auf. Alle getakteten Stromquellen, die zu ein und demselben
Block (entsprechend einer Gruppe von Komponenten) gehören, sind
an ihrem Ausgang mit dem Ausgang jeweils einer Komponente verbunden. An
ihrem Steuereingang liegt jeweils ein Takt mit der gleichen Periodendauer.
-
Der Erfindung lag die Aufgabe zu
Grunde, eine Logikschaltung zu schaffen, bei der die Gatter mit
maximaler Geschwindigkeit getaktet werden, und zwar so, dass der
Signalfluss durch die Gatter mit einem Takt synchronisiert wird.
Die Lösung
dieser Aufgabe geschieht auf der Basis einer getakteten Logikschaltung
erfindungsgemäß durch
die Merkmale des Anspruches 1. Zweckmäßige Ausgestaltungen sind in
den Ansprüchen
2 bis 5 fixiert.
-
Die Taktsteuerung geschieht (siehe 2) dadurch, dass am Ausgang
(A) eines Gatters (21) der logischen Schaltung jeweils
eine zusätzliche
Stromquelle (22) parallel zum Ausgang (A) des betreffenden
Gatters (21) angeschlossen wird, deren Ausgangsstrom (i2)
mit der Frequenz eines Takts (CLK) gesteuert wird. Das Gatter (21)
hat einen Ausgang (A) und im verallgemeinerten Fall N Eingänge, von denen
nur der erste (E1) und der letzte (EN) in 2 dargestellt sind.
-
Die am Ausgangsknoten (A) vorhandene Lastkapazität ist in 2 nicht dargestellt, wird
aber in den folgenden Darlegungen in ihrer Wirkung mit einbezogen.
Spannungsänderungen
am Ausgangsknoten (A) erfordern Auf- oder Entladeströme der an A
vorhandenen Lastkapazität.
Dies geschieht durch den zeitlich veränderlichen Ausgangsstrom i,
der die Summe des momentanen Ausgangsstromes i2 der Stromquelle
(22) und des momentanen Ausgangsstromes il des Gatters
(21) ist. Im Folgenden wird also auch das Gatter selbst
als veränderliche
Stromquelle betrachtet und nicht, wie in der digitalen Schaltungstechnik
oft üblich,
als veränderliche
Spannungsquelle mit einer lastabhängigen Verzögerung.
-
3 zeigt
schematisch ein Beispiel für
das Zeitverhalten der Ausgangsspannung (Span nungsachse: V, Zeitachse:
t) eines solchen durch eine zusätzliche
Stromquelle getakteten Gatters. Hier sei zur Erläuterung vereinfachend angenommen,
dass beim Umschalten des Ausgangs des Gatters zur positiven Betriebsspannung
hin der Ausgangsstrom il der Ausgangsstufe des Gatters den konstanten
Wert I1 hat (i1=I1), solange die Ausgangsspannung nicht völlig den
Wert der positiven Betriebsspannung (Vdd in 3) erreicht hat. Wenn dieser Zustand
erreicht ist, sei der Ausgangsstrom Null(i1=0).
-
Analoges gelte beim Umschalten des
Ausgangs der getakteten Stromquelle zur positiven Betriebsspannung
hin: bis zum Erreichen der positiven Betriebsspannung habe der Ausgangsstrom
i2 der getakteten Stromquelle (22) den konstanten Wert
IZ (i2=I2), danach den Wert Null(i2=0).
-
Umgekehrt gelte für die Um- bzw. Entladung zur
negativen Betriebsspannung (0 in 3) für
beide Ausgänge
das oben Gesagte, aber mit negativem Vorzeichen (il=-I1, i2=-I2),
da es eine Entladung der Lastkapazität an A ist. Auch hier seien,
wenn die negative Betriebsspannung erreicht ist, die Ausgangsströme jeweils
wieder Null (i1=0, i2=0). Außerdem
sei hier der konstante Wert I1 größer als der konstante Wert
I2, zum Beispiel das Doppelte (I1 = 2 · I2).
-
In 3 ist
der Fall dargestellt, dass die Ausgangsstufe des Gatters zeitlich
vor der getakteten Stromquelle beginnt umzuschalten. Hier seien
zunächst
beide Stromquellen auf Entladung geschaltet. Es fließt zunächst kein
Strom, da die Ausgangsspannung bereits den Wert der negativen Betriebsspannung
erreicht hat.
-
Der Zeitpunkt t1 markiert in 3 den Zeitpunkt, an dem
die Ausgangsstufe des Gatters umschaltet, so dass deren Ausgangsstrom
nun i1=I1 beträgt.
Damit verschiebt sich die Ausgangsspannung ein wenig vom Nullpunkt,
so dass nun sofort auch von i2 ein Strom beigetragen wird. Zunächst ist
aber die getaktete Stromquelle noch auf Entladung geschaltet, so
dass ihr Strom negativ gerichtet ist (i2=-I2). Der resultierende
Ausgangsstrom ist die Summe aus beiden Strömen; wegen der entgegengesetzten
Richtung also die Differenz der Beträge (i1+i2 = I1-I2). Die Ausgangsspannung
wächst
daher jetzt nur langsam: im Vergleich zu einem Umschalten nur mittels
des ungetakteten Stromes i 1 der Ausgangsstufe des Gatters beträgt ihr Anstieg
nur den Bruchteil (I1-I2)/I1 vom ursprünglichen Anstieg. Im Rechenbeispiel
(I1 = 2 · I2)
wäre dieser
Bruchteil 50 %, so dass in dieser Phase die Änderung der Ausgangsspannung
und damit die Weitergabe des Signals auf die Hälfte der ursprünglichen
Geschwin digkeit verlangsamt wäre.
-
Der Zeitpunkt t2 markiert in 6 den Zeitpunkt, an dem die getaktete
Stromquelle umschaltet, so dass deren Ausgangsstrom nun i2=I2 beträgt. Der nun
resultierende Ausgangsstrom ist wieder die Summe aus beiden Strömen; wegen
der gleichen Richtung also die Summe der Beträge (il+i2 = I1+I2). Die Ausgangsspannung
wächst
daher jetzt wesentlich schneller: im Vergleich zu einem Umschalten
nur mittels des Stromes I1 der Ausgangsstufe des Gatters beträgt ihr Anstieg
nun den Faktor (I1+I2)/Il vom ursprünglichen Anstieg.
-
Im Rechenbeispiel (I1 = 2 · I2) wäre dieser Faktor
150%, so dass in dieser Phase die Änderung der Ausgangsspannung
und damit die Weitergabe des Signals auf das Anderthalbfache der
ursprünglichen
Geschwindigkeit beschleunigt wäre.
-
Die beiden Stromquellen wirken also
im Fall der Koinzidenz wesentlich stärker als im Fall des nicht
gleichzeitigen Wirkens (und zwar um den Faktor (I1+I2)/(I1-I2);
im Rechenbeispiel beträgt
dieser Faktor 3).
-
Zum Zeitpunkt t3 ist die positive
Betriebsspannung erreicht, und beide Ströme werden zu Null. Bei geeigneter
Dimensionierung der Stromquelle zum Ausgangswiderstand bzw. Ausgangsstrom
des Gatters kann der Zeitpunkt des Erreichens der Umschaltschwelle
des nächsten
Gatters und damit der Zeitpunkt der Übertragung des Signals zum
nächsten Gatter
in gewissen Grenzen vom Eingangstakt bestimmt werden. Dadurch besteht
die Möglichkeit,
individuelle Unterschiede in den Verzögerungszeiten der Gatter auszugleichen
und diese Verzögerungszeiten
an die Taktung anzupassen.
-
Es sind nicht nur Verzögerungen
des Signals gegenüber
der Durchlaufzeit eines vom Eingangstakt unbeeinflussten Gatters
möglich
(wenn die sich summierenden Ströme
entgegengesetzte Richtung haben), sondern auch Beschleunigungen
(bei gleicher Richtung der Ströme).
-
Auf diese Weise wird der Zeitverlauf
des Aufladens der Ausgangskapazität wesentlich vom Takt mitbestimmt.
Es kann erreicht werden, dass die Durchgänge der Signalpegel durch die
Eingangs-Umschaltschwelle an den Ausgängen der getakteten Gatter
im wesentlichen phasenstarr zu den jeweiligen Umschaltzeitpunkten
der steuernden Takte stattfinden, so dass eine Taktsynchronisation
erfolgt, ohne dass eine Unterbrechung des Signalpfades oder ein
Register nötig
sind.
-
Im Vergleich zu einer konventionellen
Schaltung mit Registern kann eine erfindungsgemäße Schaltung einerseits schneller
arbeiten, weil Register und damit Verzögerungen entfallen können, zum
anderen kann durch die Addition der Teilströme im Koinzidenzfall sogar
noch eine weitere Beschleunigung über die minimale Durchlaufzeit
der ungetakteten Schaltung hinaus erfolgen.
-
Nach Anspruch 1 enthält eine
Gesamtschaltung logische Teilblöcke,
in denen die getakteten Stromquellen die zu einem Block gehören, jeweils
mit einem individuellen Takt gesteuert werden, dessen Periodendauer
k·t ein
ganzzahliges Vielfaches einer Grund-Periodendauer t des jeweiligen Blockes
ist. Hierbei ist k ist eine positive ganze Zahl. Während t im
gesamten Block konstant ist, kann sich k von Takteingang zu Takteingang
einer getakteten Stromquelle des Blockes ändern. So kann auch innerhalb
eines Blockes mit verschiedenen Verzögerungszeiten der getakteten
Komponenten gearbeitet werden.
-
Dies kann von Vorteil sein, um z.
B. Gatter von stark verschiedener Komplexität in demselben Block einzusetzen,
deren Verzögerungszeit
durch eine Taktung mit gleicher Periode nicht in Übereinstimmung
zu bringen wäre.
-
Die gemeinsame Grund-Periodendauer
vereinfacht hierbei den Entwurf, weil dadurch zueinander synchron
schaltende Knotenpunkte in den Signalpfaden auf einfache Weise geschaffen
werden können.
-
Um weiterhin die Entwurfsstrategie
des eingangs beschriebenen konventionellen Aufbauprinzips logischer
Schaltungen, das auf logischen Blöcken und Registern basiert
(siehe 1), anwenden zu
können
und dennoch mittels erfindungsgemäßer Taktung Register weglassen
und die Durchsatzrate erhöhen
zu können,
muss sichergestellt werden, dass – bis auf einen gewissen zulässigen Restfehler – der Signaldurchlauf
auf jedem Pfad des Blockes die gleiche Verzögerungszeit aufweist.
-
Dies geschieht dadurch, dass die
Signalpfade so gestaltet werden, dass für jeden Signalpfad durch den
Block die Summe der Periodendauern der getakteten Stromquellen,
die zu den Ausgängen
der Komponenten dieses Pfades gehören, gleich ist. Bei geeigneter
Dimensionierung der getakteten Stromquellen und/oder der Ausgangsstufen
der Gatter kann dann erreicht werden, dass auch die Gesamt-Verzögerungszeit
der Pfade nahezu gleich ist.
-
Ein Beispiel eines Entwurfs für eine solche Schaltung
wird in 4 und 5 dargestellt.
-
Ausgangspunkt ist das Schaltungsbeispiel von 1, das in eine Schaltung
mit prinzipiell gleicher logischer Funktion, jedoch wesentlich höherer Taktrate,
umgewandelt werden soll.
-
In diesem Beispiel soll ein Takt
der gleichen Periodendauer t1 für
alle getakteten Gatter des Blockes Verwendung finden. Überdies
sollen alle Gatter des Blockes getaktet werden. Für die längsten in 1 vorhandenen Signalpfade
durch den Block (12), die durch drei Gatter verlaufen,
ergäbe
sich bei einer Taktung eine Periodendauersumme von 3·t1.
-
Damit die Periodendauersumme aller
Pfade gleich ist, werden, wie in 4 dargestellt,
zunächst in
die kürzeren
Pfade des Blockes (42) zusätzliche Gatter eingefügt, ohne
die logische Funktion zu verändern.
In 4 sind es in drei
Pfaden jeweils zwei Inverter hintereinander, die gegenüber 1 hinzugefügt wurden.
-
Nun verläuft jeder Pfad durch drei Gatter
und bei einem Anschluss von geeignet dimensionierten getakteten
Stromquellen, die jeweils mit der gleichen Periodendauer t1 gesteuert
werden, beträgt
die Periodendauersumme für
jeden der Pfade 3·t1. 5 zeigt dieses Schaltungsbeispiel
mit den Gattern nach 4,
an denen zusätzlich
jeweils am Ausgang eine getaktete Stromquelle angeschlossen ist.
Anstelle der Register (41) und (43) in 4 sind an den äußeren Anschlüssen des
Blocks (52) direkte Verbindungen getreten (51) und (53),
die man beim Entwurf als „virtuelle
Register" betrachten kann.
-
Zur Vereinfachung des Schaltbilds
wurde in 5 für die zum
Block (52) gehörenden
getak teten Stromquellen jeweils ein Symbol gezeichnet: ein kleines
gleichschenkliges, aufrecht stehendes Dreieck mit einem vertikalen
Anschluss nach oben, der den Ausgang der Stromquelle symbolisieren
soll. Dieses Symbol wird in 5 unten
links zusätzlich
zu den zum Block (52) gehörenden getakteten Stromquellen noch
einmal explizit dargestellt (54 in 5).
Der Anschluss der Steuereingänge
der Stromquellen an einen Takt mit jeweils gleicher Periodendauer
wurde hier zur Vereinfachung nicht dargestellt.
-
Wenn diese Schaltung auf einem integrierten Schaltkreis
mit der gleichen Halbleitertechnologie hergestellt wird, wie die
ursprüngliche
Schaltung nach 1, kann
damit bei geeigneter Wahl des Schaltkreis-Layouts eine wesentlich
höhere
Taktrate erreicht werden als mit der Schaltung nach 1. Da mit den Registern relativ komplexe
Objekte entfallen, die erheblich Layout benötigen, kann trotz der vielen zusätzlichen
getakteten Stromquellen der Bedarf an Chipfläche beider Lösungen vergleichbar
sein.
-
Nach Anspruch 3 können die getakteten Stromquellen
aus im Gegentakt arbeitenden Transistoren gebildet werden. In diesem
Fall wird eine bekannte Verstärkerschaltung,
die häufig
als Spannungsverstärker
genutzt wird, als eine mit hoher Frequenz steuerbare Stromquelle
eingesetzt. Im einfachsten Fall kann dies eine aus der digitalen
Schaltungstechnik bekannte Inverterschaltung sein, deren Transistorgeometrien
jedoch für
den Einsatz als getaktete Stromquelle abgestimmt werden müssen in Bezug
zu den Transistorgeometrien der zu taktenden Ausgangsstufe.
-
Nach Anspruch 4 können die getakteten Stromquellen
auch einen Eintaktverstärker
enthalten, z. B. für
den Fall, dass keine komplementären
Transistoren Verfügung
stehen und ein Gegentaktverstärker
hierfür
nicht sinnvoll eingesetzt werden kann. Eine geeignet dimensionierte
Induktivität
im bzw. am Lastkreis kann ggf. den Effekt eines gegenphasig gesteuerten
komplementären
Transistors bei hohen Frequenzen für den erfindungsgemäßen Zweck
als steuerbare Stromquelle funktionell ersetzen.
-
Da die getakteten Stromquellen jeweils
nur in einem bestimmten Frequenzbereich (dem des jeweils steuernden
Taktes) arbeiten müssen,
kann mit der Induktivität
gemäß Anspruch
5 vorteilhaft ein auf diese Frequenz abgestimmter Schwingkreis erzeugt werden,
in den sowohl zusätzliche
elektrische Kapazitäten
als auch die jeweiligen vorhandenen parasitären Kapazitäten einbezogen werden können.