DE4212202C2 - Logikgatter - Google Patents
LogikgatterInfo
- Publication number
- DE4212202C2 DE4212202C2 DE4212202A DE4212202A DE4212202C2 DE 4212202 C2 DE4212202 C2 DE 4212202C2 DE 4212202 A DE4212202 A DE 4212202A DE 4212202 A DE4212202 A DE 4212202A DE 4212202 C2 DE4212202 C2 DE 4212202C2
- Authority
- DE
- Germany
- Prior art keywords
- logic
- vector
- gate
- logic gate
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/5016—Half or full adders, i.e. basic adder cells for one denomination forming at least one of the output signals directly from the minterms of the input signals, i.e. with a minimum number of gate levels
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
- H03K19/096—Synchronous circuits, i.e. using clock signals
- H03K19/0966—Self-timed logic
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
- H03K19/215—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical using field-effect transistors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3872—Precharge of output to prevent leakage
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Logic Circuits (AREA)
Description
Die Erfindung betrifft ein Logikgatter, zur Verwendung in
einem logischen System, wie in Datenverarbeitungsanlagen,
insbesondere eine funktional vollständige Familie von
selbstgetakteten Logikgattern.
Mit zunehmender Leistungsfähigkeit und Miniaturisierung
von Rechnern ist die historische Grenze zwischen Zentral
rechnern, Kleinrechnern und Mikrocomputern immer weiter
verwischt worden. Heute sind Kleinrechner und Mikrocom
puter so leistungsfähig wie die Zentralrechner vor 10
Jahren. Diese Entwicklung führte in der Industrie zu
einer weitreichenden Nachfrage nach Rechnerkomponenten,
die hochleistungsfähig sind und weniger wertvollen Bauraum
im Rechner belegen.
Ein Hauptbestandteil, dem in der Industrie große Beachtung
geschenkt wird, ist die Zentraleinheit (CPU - Central
Processing Unit) die die Haupt-Intelligenzquelle in
einem Rechner darstellt. Die CPU muß extrem schnell ausge
legt sein, weil sie im allgemeinen die meisten in einem
Rechner auftretenden Interaktionen abwickelt und deren
Endüberwachung durchführt.
Die CPU weist normalerweise eine Rechen- und Logikeinheit
(ALU - Arithmetic Logic Unit) zum Durchführen mathema
tischer Operationen, wie Addition, Multiplikation und
Gleitkomma-Operationen, auf. Normalerweise sind diese
mathematischen Operationen durch zugeordnete Logikschal
tungen innerhalb der CPU realisiert. Diese zugeordneten
Logikschaltungen müssen aufgrund ihres häufigen Einsatzes
schnell sein, um den Gesamtbetrieb der CPU und die Inter
aktion mit der CPU nicht unerwünscht zu verlangsamen.
Darüber hinaus müssen diese zugeordneten Logikschaltungen
klein sein, um die gesamte Größe der CPU zu minimieren.
Traditionell wurden "statische" Logikgatter eingesetzt, um
Logikschaltungen zum Durchführen mathematischer Opera
tionen zu bauen. Statische Logikgatter sind solche, die
kontinuierlich logische Operationen ausführen können,
solange elektrische Energie vorhanden ist. Das heißt,
statische Logikgatter benötigen kein elektrisches Vor
laden, oder Nachladen, um ordnungsgemäß logische Opera
tionen durchzuführen. Statische Logikgatter sind funk
tional vollständig. Sie können direkt sowohl invertierende
als auch nicht-invertierende Funktionen durchführen. Sie
können ferner in mehreren Stufen verkettet sein, um ge
meinsam logische Funktionen durchzuführen. Statische
Logikgatter sind jedoch schon einzeln unerwünscht langsam,
und wenn sie zum gemeinsamen Ausführen einer logischen
Funktion gekoppelt sind, sogar noch langsamer.
Ferner sind aus dem Stand der Technik "dynamische" Logik
gatter bekannt. Dynamische Logikgatter werden beim her
kömmlichen Aufbau von Logikschaltungen eingesetzt, die
eine hohe Leistungsfähigkeit und eine gemäßigte Größe
erfordern. Dynamische Logikgatter sind solche, die ein
periodisches elektrisches Vorladen, oder Nachladen, erfor
dern, wie bei einem dynamischen Speicher mit wahlfreiem
Zugriff (DRAM - Dynamic Random Access Memory), um ihre
beabsichtigte logische Funktion aufrechtzuerhalten und
ordnungsgemäß auszuführen. Wenn eine einem dynamischen
Logikgatter zugeführte elektrische Vorladung oder Vor
spannung einmal durch das dynamische Logikgatter entladen
wurde, kann das dynamische Logikgatter keine weitere
logische Funktion durchführen, bis es nicht wiederum
aufgeladen wird.
Der Einsatz herkömmlicher dynamischer Logikschaltungen im
Aufbau logischer Netzwerke ist jedoch problematisch, weil
sie funktional unvollständig sind. Mit anderen Worten,
können mit den herkömmlichen dynamischen Logikgattern nur
nicht-invertierende Logikfunktionen durchgeführt werden.
Hochleistungs-Addierer-Logikschaltungen und Multiplizie
rer-Logikschaltungen erfordern jedoch unabdingbar logische
Inversionen. Addierer-Logik-Schaltungen und Multiplizie
rer-Logikschaltungen können folglich nicht mit konven
tionellen dynamischen Logikgattern aufgebaut werden.
Ferner können in vielen Fällen herkömmliche dynamische
Logikgatter nicht direkt als aufeinanderfolgende Stufen
zusammengeschlossen werden, um gemeinsam logische Funk
tionen durchzuführen, und dabei ihre besonderen dyna
mischen Eigenschaften erhalten. Insbesondere treten
Schwierigkeiten bezüglich "statischer Gefährdungen" auf.
Eine statische Gefährdung ist eine dem Bauteil inhärente
Bedingung, die bei kombinierten Logikanordnungen aufgrund
von Laufzeitverzögerungen auftritt.
Man betrachte beispielsweise ein Exklusiv-ODER-Gatter mit
zwei Eingängen in einem herkömmlichen binären logischen
System, bei dem beide Eingänge zunächst hoch sind und dann
gleichzeitig auf einen niedrigen Pegel schalten. Aus der
Sicht eines Programmierers sollte der Ausgang des Exklu
siv-ODER-Gatters vor, während und nach dem Übergang nie
drig bleiben. Tatsächlich aber ändert sich einer der
Eingänge kurz vor dem anderen. Folglich springt der Aus
gang des Exklusiv-Oder-Gatters während des Übergangs-Zeitintervalls
unerwünscht und plötzlich auf einen hohen
und dann auf einen niedrigen Pegel.
Statische Gefährdungen machen einer Kette von statischen
Logikgattern in der Regel keine Probleme, weil die stati
schen Logikgatter mehr als einmal reagieren können, um so
in ordnungsgemäßer Übereinstimmung mit den letzten Zustän
den der logischen Eingänge zu sein. In einer Kette dyna
mischer Logikgatter mit einer ungeraden Anzahl von Inver
sionen in einem Logikzweig resultieren statische Gefähr
dungen jedoch in logischen Fehlern, weil die dynamischen
Logikschaltungen, nachdem sie einmal getriggert sind,
nicht weiter reagieren können, bis sie nachfolgend aufge
laden werden. Dynamische Logikschaltungen können also
nicht wirksam in Stufen zusammengeschaltet werden, um
einige Logikgatter abzuleiten, und dabei ihre dynamischen
Eigenschaften erhalten, weil sie sich von inhärenten
statischen Gefährdung nicht erholen können.
Aus der US-A 4 352 031 ist eine dynamische Logikschaltung für
ein ROM bekannt, welche mehrere Logikzweige zur Verwendung in
einem logischen System mit mehreren Logikzuständen umfaßt,
wobei jedem Logikzweig eine Logik und eine Belegungsvorrich
tung zugeordnet sind.
Erfindungsgemäß wird ein Logikgatter mit den Merkmalen von An
spruch 1 sowie ein Verfahren gemäß Anspruch 14 vorgeschlagen.
Die Erfindung gibt ein System zum
Implementieren einer neuen Familie von extrem schnellen
Logikgattern in einem Rechnersystem an. Die neuen Logik
gatter werden "Mausefallen-Logikgatter" genannt.
Die Erfindung sieht vor, logische Wege oder
Logikzweige zum Kodieren von "Vektor-Logikzuständen" im
Rechnersystem zu vergeben. Die Vektor-Logikzustände sind
im Rechnersystem durch gemeinsames "In-Begriffe-Fassen"
der einzelnen Logikzustände in den Logikzweigen definiert
und spezifiziert. Die einzelnen Logikzustände sind als
"Vektorkomponenten" bezeichnet.
Insbesondere ist ein
"ungültiger" Vektor-Logikzustand dann definiert, wenn
alle Vektorkomponenten logisch niedrig sind (logische
"0"; niedriger elektrischer Signalpegel). Jeder der "gül
tigen" Vektor-Logikzustände kann ferner über verschie
dene Schemata spezifiziert sein. Bei einem Schema ist
jeder gültige Vektor-Logikzustand beispielsweise dann
definiert, wenn eine und nur eine der Vektorkomponenten
eines Vektor-Logikzustands logisch hoch ist (logische
"1"; hoher elektrischer Signalpegel). Das Kodieren von
Vektor-Logikzuständen könnte durch Definieren eines gül
tigen Vektor-Logikzustands durch mehr als einen Logikzweig
erfolgen, wobei nach wie vor ein ungültiger Vektor-Logik
zustand definiert ist, wenn alle Logikzweige logisch
niedrig sind.
Bezüglich der Architektur beabsichtigt die Erfindung
mehrere Mausefallen-Gatter elektrisch in Reihe und/oder
parallel geschaltet zusammenzuschließen, um eine Vielzahl
logischer Funktionen mit den Vektor-Logikzuständen auszu
führen, beispielsweise eine UND-Funktion, eine Inklusiv-ODER-Funktion,
eine Exklusiv-ODER-Funktion und eine Über
trags(carry)-Fortpflanzungsschaltung. Eine oder mehrere
Vektoreingaben werden bearbeitet, um eine Vektorausgabe
abzuleiten.
Jedes Mausefallen-Gatter weist eine oder mehrere parallele
Mausefallen-Gatter-Komponenten auf, die den logischen Zu
stand der Vektorkomponente der Vektorausgabe liefern. Jede
Mausefallen-Komponente umfaßt darüberhinaus eine Be
legungsvorrichtung, eine Kettenlogik und eine Puffervor
richtung.
Die Belegungsvorrichtung aktiviert oder lädt die Puffer
vorrichtung periodisch. Als Analogie: die Ladevorrichtung
stellt eine Art "Mausefalle" auf. Die Aktivierung oder
Aussteuerung bewirkt, daß die Puffervorrichtung die Vek
torkomponenten-Ausgabe der Gatterkomponente logisch nie
drig hält, bis sie von der Kettenlogik getriggert wird.
Wenn alle Gatterkomponenten ihre jeweiligen Ausgänge
logisch niedrig halten, liegt eine ungültige Vektorausgabe
vor.
Die Kettenlogik jeder Gatterkomponente führt logische
Funktionen mit einer oder mehreren der gültigen Vektorein
gaben durch (eine und nur eine der Vektorkomponenten
jeder Vektoreingabe ist auf einem logischen hohen Pegel).
Die Kettenlogik einer Gatterkomponente triggert deren
Puffervorrichtung nur, wenn dies von dem Ergebnis der
logischen Funktion erfordert wird.
Die Puffervorrichtung einer Gatterkomponente hält jeweils
ihre zugeordnete Vektorkomponente der Vektorausgabe
logisch niedrig, bis sie und nur wenn sie von der Ketten
logik getriggert wird. Wenn sie getriggert ist, liefert
die Puffervorrichtung ihrer Vektorkomponente auf einem
logisch hohen Pegel.
Die Erfindung überwindet diese Nachteile des Standes der
Technik und bietet ferner die folgenden Vorteile.
Die Mausefallen-Logikgatter der Erfindung bieten Inge
nieuren und Designern von Computer-Architektur allgemein
eine neue, hochleistungsfähige Entwurfsmöglichkeit.
Die erfindungsgemäße Vektorlogik sieht sowohl einen ungül
tigen Logikzustand als auch einen Anzahl von gültigen
Logikzuständen vor, anders als bei herkömmlichen Logik
systemen. Dieses Merkmal erlaubt eine Selbst-Taktung und
schafft so eine Logik, die statische Gefährdungen vermei
det.
Aus dieser Familie erfindungsgemäßer Mausefallen-Gatter
können unendlich viele Vektorlogikgatter aufgebaut werden.
Die erfindungsgemäßen Mausefallen-Logikgatter können,
anders als herkömmliche dynamische Logikgatter, inver
tierende und nicht invertierende Funktionen unmittelbar
ausführen. Folglich können Hochleistungs-Addierer-Logik
schaltungen und Multiplizierer-Logikschaltungen, die
viele logische Inversionen erfordern, einfach aufgebaut
und implementiert werden.
Die Mausefallen-Logikgatter nach der Erfindung sind
selbsttaktend. Eine Mausefallen-Logikstufe erzeugt daher
keine gültige Vektorausgabe, bis sie nicht nicht gültige
Vektoreingaben empfangen hat. Ferner können Mausefallen-Logikgatter
in aufeinander folgenden Stufen zusammenge
schlossen werden, um gemeinsam logische Funktionen durch
zuführen, ohne nachteilige Rückwirkungen aufgrund stati
scher Gefährdungen zu erleiden, die beim Zusammenschließen
herkömmlicher dynamischer Logikgatter traditionell ungün
stige logische Effekte bewirkt haben.
Die Mausefallen-Gatter der Erfindung können auf einfache
Weise pipelineartig nacheinander geschaltet werden, um
aufeinanderfolgende logische Verknüpfungen auszuführen.
Logische Bestimmungen in Mausefallen-Logikgattern werden
von Gatter-Komponente zu Gatter-Komponente in der Form
einer gleichförmigen oder monotonen Zunahme (oder eines
gleichförmigen Fortschreitens) umgesetzt. Das heißt, Daten
werden von Stufe zu Stufe der Mausefallen-Logikgatter
übertragen, indem nur die Zustandsübergänge von niedrig
zu hoch und nicht die von hoch zu niedrig, in jedem be
liebigen Logikzweig beachtet werden. Mit Kenntnis der
Richtung der logischen Zustandsübergänge, kann der spezi
fische Hardware-Aufbau der Schaltkomponenten, wie MOSFET′s,
zum Maximieren der Geschwindigkeit in der einen gleich
förmigen Richtung beeinflußt werden, ungeachtet der Nach
teile für die entgegengesetzte Richtung.
Beispielsweise bei bestimmten Umsetzungen mit MOSFET′s,
können N-Kanal-MOSFET′s, welche hierfür geeigneter als
P-Kanal-MOSFET′s sind, eingesetzt werden, um alle benötig
ten logischen Funktionen in den kritischen Datenweg durch
zuführen. Die N-Kanal-MOSFET′s weisen gegenüber den
P-Kanal-MOSFET′s überlegene Ansteuerfähigkeiten, Raumbe
darf und Belastungseigenschaften auf. Allgemein schaltet
ein N-Kanal-MOSFET ungefähr 50% schneller als ein ver
gleichbarer P-Kanal-MOSFET.
Darüberhinaus kann die Inversion, die in dem kritischen
Weg ausgeführt werden muß, durch geschicktes Beeinflussen
des Aufbaus (der Gain; Verstärkung) eines CMOSFET-Inver
ters mit sowohl einem P-Kanal-MOSFET zum Hochziehen der
Spannung (pull-up) als auch einem N-Kanal-MOSFET zum
Herabziehen der Spannung (pull-down) erreicht werden. Da
ein gleichförmiges Fortschreiten bekannt ist, kann die
relative Breite eines MOSFET-Gates, das zwischen Source
und Drain liegt, so ausgelegt sein, daß das Schalten in
eine Richtung auf Kosten der anderen Richtung begünstigt
wird. Erfindungsgemäß wird insbesondere die Gate-Breite
des P-Kanal-MOSFET breiter als die Gate-Breite des
N-Kanal-MOSFET gemacht, so daß der CMOSFET sehr schnell
von einem logisch hohen (der Zustand, in dem das Mause
fallen-Gatter vorbelegt ist) zu einem logisch tiefen
Pegel schaltet. Die Geschwindigkeit des MOSFET, der von
einem logisch tiefen zu einem logisch hohen Pegel schal
tet, ist nicht erheblich, weil das Mausefallen-Gatter
während dieser Zeitspanne vorbelegt wird. Die Mausefallen-Logikgatter
können also so gebaut werden, daß sie in der
einen Richtung eine überlegene Leistungsfähigkeit und
gute Abmessungen zeigen, um so die Geschwindigkeit der
Datenübertragung erheblich zu erhöhen und die Abmessungen
der Logikgatter zu vermindern.
Da alle Logikgatter-Komponenten, die logische Funktionen
in den kritischen Logikzweigen ausführen, von derselben
Art sind, können die Logikgatter-Komponenten gemeinsam
benutzt werden, um weiterhin den Raumbedarf zu vermindern.
Die Erfindung ist im folgenden anhand bevorzugter Ausfüh
rungsbeispiele mit Bezug auf die Zeichnung mit weiteren
Einzelheiten näher erläutert. Es zeigen:
Fig. 1 ein Großsignal-Blockdiagramm einer Familie
von Mausefallen-Logikgattern nach der Erfin
dung;
Fig. 2 ein Kleinsignal-Blockdiagramm eines Inklusiv-ODER-Mausefallen-Logikgatters
mit zwei Ein
gängen gemäß der in Fig. 1 dargestellten
Erfindung;
Fig. 3 ein Kleinsignal-Blockdiagramm eines Addi
tions-Vordekodierer-Logikgatters gemäß der
in Fig. 1 dargestellten Erfindung;
Fig. 4 ein Kleinsignal-Blockdiagramm eines Übertrag
(Carry)-Fortpflanzungs-Logikgatters gemäß
der Erfindung, das seriell mit dem Addierer-Vordekodierer-Logikgatter
von Fig. 3 in
Reihe eingesetzt sein kann und
Fig. 5 ein Kleinsignal-Blockdiagramm eines Exklusiv-ODER-Mausefallen-Logikgatters
mit drei Ein
gängen nach der Erfindung, das zur Summen
bildung in einem Volladdierer eingesetzt sein
kann und keine nachteiligen Auswirkungen
aufgrund statischer Gefährdungen erleidet.
Üblicherweise ist die Logik in einem Rechner auf binäre
Weise in einem einzelnen Logikzweig kodiert, der oft
lediglich ein elektrischer Draht oder ein Halbleiter-Durchgang
ist. Definitionsgemäß zeigt ein hoher Signal
pegel, im allgemeinen eine Spannung oder ein Strom, einen
hohen Logikzustand an (in der Programmiersprache eine
"1"). Ein niedriger Signalpegel zeigt einen niedrigen
Logikzustand an (in der Programmiersprache eine "0"). Die
Erfindung beabsichtigt eine "Vektorlogik" zu implemen
tieren, bei der sich mehr als zwei Logikzustände durch
die Logikgatter in einem Rechner ausbreiten können.
Anders als bei der herkömmlichen binären Logik mit zwei in
einem Logikzweig definierten, gültigen Logikzuständen
(hoch, niedrig) ordnet die Vektorlogik der Erfindung
jedem gültigen Logikzustand einen Logikzweig zu. Gemäß
einer bevorzugten Ausgestaltung werden beispielsweise in
einem Vektorlogik-System mit zwei gültigen Logikzuständen
zwei Logikzweige benötigt. Wenn beide Logikzweige logisch
niedrig sind, besteht nach Definition ein ungültiger
Logikzustand. Weiterhin entspricht ein logisch hoher
Pegel in ausschließlich jeweils einem der beiden Logik
zweige den zwei gültigen Logikzuständen des Vektorlogik-Systems.
Wenn schließlich beide Logikzweige hoch sind,
entspricht dies einem nicht definierten Logikzustand im
Vektorlogik-System. Bei einem erfindungsgemäßen Vektor
logik-System, das drei Logikzustände erfordert, würden
drei Logikzweige benötigt, usw. Gemäß der bevorzugten
Ausgestaltung der Erfindung umfaßt also ein Vektorlogik-System
mit n gültigen Logikzuständen und einem ungültigen
Zustand n Logikzweige.
Es sei bemerkt, daß auch andere Vektorlogik-Systeme neben
dem Vektorlogik-System gemäß der bevorzugten Ausgestaltung
der Erfindung geplant sind, die noch von jener umfaßt
sind. Insbesondere könnte das Kodieren von Vektor-Logik
zuständen durch Definieren eines gültigen Vektor-Logikzu
standes bei einem logisch hohen Pegel in mehr als einem
Logikzweig erfolgen, wobei noch immer ein ungültiger
Zustand definiert ist, wenn alle Zweige ein logisch nie
driges Signal zeigen. Die Vektor-Logikzustände schließen
sich also nicht gegenseitig aus.
In einem Vektorlogik-System, das zwei logisch hohe Pegel
zum Definieren jedes gültigen Vektor-Logikzustandes ein
setzt, könnte beispielsweise das folgende logische Schema
umgesetzt sein. Bei drei Logikzweigen könnte "0,1,1" einen
Vektor-Logikzustand 1, "1,0,1" einen Vektor-Logikzustand
2 und "1,1,0" einen Vektor-Logikzustand 3 bezeichnen. Bei
vier Logikzweigen könnten sechs gültige Vektor-Logikzu
stände festgesetzt werden. Bei fünf Logikzweigen könnten
zehn gültige Vektor-Logikzustände festgesetzt werden, usw.
Bei einer weiteren Ausgestaltung der Erfindung ist bei
spielsweise ein Vektorlogik-System abgeleitet, bei dem
drei logisch hohe Pegel jeden gültigen Vektor-Logikzustand
definieren. Bei vier Logikzweigen könnte also "0,1,1,1"
einen Vektor-Logikzustand 1, "1,1,1,0" einen Vektor-Logik
zustand 2, "1,1,0,1" einen Vektor-Logikzustand 3 und
"1,0,1,1" einen Vektor-Logikzustand 4 bezeichnen. Bei
fünf Logikzweigen könnten zehn gültige Vektor-Logikzu
stände spezifiziert werden, usw.
Fig. 1 zeigt ein Großsignal-Blockdiagramm einer Familie
von "Mausefallen"-Logikgattern gemäß der Erfindung. Die
im folgenden im einzelnen beschriebenen Mausefallen-Logik
gatter können eine Vektorlogik mit hoher Geschwindigkeit
umsetzen, sind funktional vollständig, sind selbst ge
taktet und erfahren keine nachteiligen logischen Auswir
kungen aufgrund statischer Gefährdung, wenn sie in aufein
anderfolgenden Stufen zusammengeschlossen sind.
Wie in Fig. 1 gezeigt, ist jede Eingabe in das Mause
fallen-Logikgatter 100 der Erfindung ein Vektor, bezeich
net durch Eingangsvektoren oder Vektoreingaben I, J, . . . ,
K.
Bezüglich der Anzahl der Vektoreingaben I, J, . . . , K
gibt es keine Beschränkung. Ferner kann jede Vektorein
gabe I, J, . . . , K durch eine beliebige Anzahl von Vektor
komponenten gegeben sein,
die in Fig. 1 durch
I₀-IN, J₀-JM und K₀-KS bezeichnet sind.
Prinzipiell spezifiziert jede Vektoreingabe einen Vektor-Logikzustand.
Wie bereits gesagt, besteht ein ungültiger
Logikzustand für irgendeine der Vektoreingaben I, J, . . . ,
K, wenn alle ihre entsprechenden Vektorkomponenten, d. h.
I₀-IN, J₀-JM und K₀-KS logisch niedrig sind.
Der Ausgang oder die Ausgabe des gattungsgemäßen Mausen
fallen-Logikgatters 100 ist ebenfalls ein Vektor, bezeich
net durch einen Ausgangsvektor oder eine Vektorausgabe O.
Die Vektorausgabe O besteht aus Vektorkomponenten O₀-OP.
Die Vektorkomponenten O₀-OP, schließen sich gegenseitig
aus und sind unabhängige Funktionen der Vektoreingaben I,
J, . . . , K. Weiterhin weisen die Vektorkomponenten O₀-OP
zugeordnete Mausefallen-Gatterkomponenten 102-106 in dem
Mausefallen-Logikgatter 100 auf. Gemäß der Definition der
Erfindung ist einer und nur einer der O₀-OP zu einem
beliebigen bestimmten Zeitpunkt logisch hoch.
Weiterhin besteht bezüglich der Anzahl der Vektorkomponen
ten O₀-OP, die dem Ausgabevektor O zugeordnet sein können,
keine Grenze. Die Anzahl von Vektorkomponenten O₀-OP und
also von Mausefallen-Gatterkomponenten 102-106 hängt von
der mit den Vektoreingaben einzeln oder gemeinsam auszu
führenden logischen Funktion, der Anzahl von gewünschten
Vektorausgabe-Komponenten, sowie anderer Überlegungen
bezüglich des logischen Zweckes des Mausefallen-Logik
gatters 100 ab.
Wie in Fig. 1 gezeigt, umfaßt jede Mausefallen-Gatterkom
ponente 102-106 des Mausefallen-Logikgatters 100 eine
Belegungsvorrichtung 108, eine Kettenlogik 110 und eine
invertierende Pufferanordnung 112. Die Belegungseinrich
tung 108 ist eine Vorrichtung zum Vorladen oder Akti
vieren, zum Belegen und Rücksetzen der Mausefallen-Logik
gatters 100.
Die Belegungsvorrichtung 108 dient prinzipiell als Schal
ter, um bei Anregung durch ein Taktsignal (hoch oder
niedrig) auf Leitung 114 wahlweise eine einen logischen
Zustand definierende Spannung V₀ an einer Leitung 116
anzulegen. Jede bekannte Art von Schaltelement oder Puffer
zum selektiven Anlegen einer Spannung basierend auf einem
Taktsignal kann hierfür eingesetzt sein. Wenn die Logik
eines Rechnersystems auf Strompegeln basiert, und nicht
auf Spannungspegeln, könnte die Belegungsvorrichtung 108
eine schaltbare Stromquelle sein, die ebenfalls aus dem
Stand der Technik bekannt ist. Eine beliebige Ausgestal
tung, die die beschriebene Schaltfunktion erfüllt, kann
hier als Belegungsvorrichtung 108 eingesetzt sein.
Die Kettenlogik 110 ist zum Durchführen einer logischen
Funktion mit den Vektoreingaben I, J, . . . , K aufgebaut.
Die jeder Mausefallen-Gatterkomponente 102-106 ent
sprechende Kettenlogik 110 kann abhängig vom Ziel oder
Zweck jeder Mausefallen-Gatterkomponente 102-106 vari
ieren. Bei der bevorzugten Ausgestaltung ist die Ketten
logik 110 prinzipiell eine Kombination einfacher Logik
gatter, beispielsweise logischer ODER-Gatter und/oder
logischer UND-Gatter, die in Reihe und/oder parallel
geschaltet sind. Es sei bemerkt, daß die Kettenlogik 110
der Erfindung so konfiguriert ist, daß eine und nur eine
der Vektorausgabe-Komponenten O₀-OP bei einer beliebigen
Stichprobe einer gültigen Vektorausgabe O logisch hoch
ist. Einzelne Umsetzungen und Ausführungen der Kettenlogik
110 sind weiter unten im Bezug auf die Zeichnungen 2 bis
5 beschrieben.
Die Kettenlogik 110 muß mit hoher Geschwindigkeit arbei
ten, weil sie in den kritischen Logikzweigen liegt, anders
als die Belegungsvorrichtung 108, die anfänglich durch
Belegen der Mausefallen-Gatterkomponenten wirksam ist,
dann aber vorübergehend "schläft", während die Daten
tatsächlich durch die Mausefallen-Gatterkomponente
fließen, d. h. durch den kritischen Logikzweig. Da die
Kettenlogik 110 in dem kritischen Logikzweig liegt, also
im wesentlichen dort, wo die logische Intelligenz angeord
net ist, sind ferner im allgemeinen mehrere Logikgatter
notwendig, um die gewünschte logische Funktion umzusetzen.
Ebenfalls im kritischen Logikzweig liegt die invertierende
Puffervorrichtung 112. Die invertierende Puffervorrichtung
112 dient zunächst als Inverter, weil es zum Schaffen
einer vollständigen logischen Wirksamkeit des Mausefallen-Gatters
100 notwendig ist, eine Inversions-Funktion im
kritischen Logikzweig zu haben. Die invertierende Puffer
vorrichtung 112 sieht weiterhin eine Verstärkung des
Signals in Leitung 116 vor und bildet eine Isolation
zwischen anderen möglichen Stufen der Mausefallen-Gatter
komponenten, welche ähnlich den Mausefallen-Logikgatter-Komponenten
102-106 von Fig. 1 sind. Die invertierende
Puffervorrichtung 112 ist durch eine hohe Eingangsimpedanz
und eine niedrige Ausgangsimpedanz gekennzeichnet. Jede
Pufferausführung mit den bezüglich der Puffervorrichtung
112 beschriebenen Eigenschaften und Funktionen kann hier
bei eingesetzt sein.
Es sei noch bemerkt, daß die Belegungsvorrichtung 108, die
Kettenlogik 110 und die invertierende Vorrichtung 112 bei
einigen Implementierungen alle in einem einzigen inte
grierten Schaltkreis (IC) umgesetzt sein können, bei
spielsweise in einem anwendungsspezifischen integrierten
Schaltkreis (ASIC) oder einem Mikroprozessor-Chip.
Der Betrieb des Mausefallen-Logikgatters 100 ist im fol
genden auf einem hohen konzeptionellen Niveau der Einfach
heit halber bezüglich nur einer Mausefallen-Gatterkom
ponente 102 beschrieben. Diese Einschränkung der Beschrei
bung hat ihren Grund darin, daß die verschiedenen Mause
fallen-Gatterkomponenten 102-106 im wesentlichen redundant
sind, mit Ausnahme ihrer entsprechenden Kettenlogik-Funk
tionen, die durch die Kettenlogiken 110, 120 bzw. 130
realisiert sind. Die nachfolgende Beschreibung ist also
auf gleiche Weise auf die übrigen Mausefallen-Gatterkompo
nenten 104 und 106 anwendbar.
Im Betrieb zieht die Belegungsvorrichtung 108 bei Anregung
durch einen Taktimpuls CK auf der Leitung 114 den Ausgang
116 der Kettenlogik 110 auf einen logischen hohen Pegel
hoch bzw. steuert ihn an. Gleichzeitig zieht die Be
legungsvorrichtung 108 den Eingang auf Leitung 116 zur
invertierenden Puffervorrichtung 112 logisch hoch. Die
korrespondierende Vektorkomponente O₀ auf einer Leitung
117 wird demzufolge auf einem logisch niedrigem Pegel
gehalten, der erfindungsgemäß als ein ungültiger Zustand
definiert ist. Bei der obigen Anfangsbedingung kann das
Mausefallen-Logikgatter 100 einer "Mausefalle" im herkömm
lichen Sinne des Wortes analog gesetzt werden, die gesetzt
worden ist und die darauf wartet, durch die Vektoreingaben
I, J, . . ., K getriggert zu werden.
Das Mausefallen-Logikgatter 100 bleibt in diesem vorbe
legten Zustand, bei dem die Vektorkomponente O₀ ungültig
ist, bis es durch die Kettenlogik 110 getriggert wird.
Das Mausefallen-Logikgatter 100 wird beim Empfang von
ausreichend vielen gültigen Vektoreingaben I, J, . . . , K
getriggert, um den korrekten Zustand der Vektorkomponente
O₀ auf Leitung 117 endgültig zu bestimmen. Bei einigen
Ausführungen der Kettenlogik 110 müssen nicht alle der
Vektoreingaben beachtet werden, um ein Ausgangssignal auf
Leitung 116 und dann auf Leitung 117 zu bilden. Die Anzahl
an benötigten Vektoreingaben I, J, . . . , K zum Bilden der
endgültigen Bestimmung des Ausgangszustands sowie die
Zeittaktung dieser Bestimmung wird durch den Inhalt und
die Konfiguration der einfachen Logikgatter in der Ketten
logik 110 definiert.
Nachdem die Vektorkomponente O₀ auf Leitung 117 herge
leitet ist, wird sie an die nächste (nicht gezeigte)
Stufe der Logik weitergegeben. Die Mausefallen-Logik
gatter-Komponente 102 wird keine weitere Funktion durch
führen, bis sie nicht durch die Belegungsvorrichtung 108
zurückgesetzt oder wieder belegt oder aufgefrischt
(refresh) wird. Auf eine Weise hängt die Taktung von
Mausefallen-Logikgatter-Komponente zur Mausefallen-Gatter-Komponente
sowie von Gatter zu Gatter von den kodierten
Daten selbst ab. Das heißt, die Mausefallen-Logikgatter-Komponenten
sind "selbstgetaktet".
Die erfindungsgemäßen Mausefallen-Logikgatter führen
unmittelbar invertierende und nicht invertierende Funk
tionen durch. Folglich können Mausefallen-Logikgatter,
im Gegensatz zu herkömmlichen dynamischen Logikgattern,
Multiplikationen und Additionen, die logische Inversionen
erfordern, mit extrem hohen Geschwindigkeiten durchführen.
Schließlich soll noch bemerkt werden, daß die Gatter
dieser Familie von Mausefallen-Logikgatter 100 elektrisch
in Reihe geschaltet werden kann, um ein kombiniertes
Logikgatter abzuleiten, das in seiner Gesamtheit logische
Funktionen durchführt. Eine Mausefallen-Gatter-Komponente
mit einer Belegungsvorrichtung, einer Kettenlogik und
einer invertierenden Puffervorrichtung kann also als die
kleinste Untergruppe eines Mausefallen-Logikgatters be
zeichnet werden. Es können darüber hinaus verschiedene
Mausefallen-Gatter-Komponenten seriell und/oder parallel
verbunden werden, um eine Vielzahl logischer Gatter abzu
leiten.
Wenn jedoch Mausefallen-Logikgatter in langen Ketten
(möglicherweise mehr als zwei oder drei Mausefallen-Gatterkomponenten
in Reihe) verbunden sind, kann das
Vorbelegen oder Vorladen dieser Ketten unerwünscht lange
dauern. Die Ursache liegt darin, daß Mausefallen-Gatter-Komponenten
ihre Ausgänge nicht auf einen niedrigen Pegel
(ungültig) ziehen können, bis ihre Eingänge nicht auf
diesen niedrigen Pegel gezogen sind. Deshalb werden die
Mausefallen-Gatter-Komponenten nacheinander vom ersten
zum letzten Glied in der Kette geladen, wodurch das Vorbe
legen der gesamten Kette unerwünscht verlangsamt wird. Es
besteht also die Notwendigkeit für eine Lösung, um die
Mausefallen-Gatter-Komponenten einer Kette parallel und
nicht nacheinander seriell vorzubelegen.
Paralleles Vorbelegen kann auf mehrere, verschiedene
Weisen erfolgen. Eine bevorzugte Lösung ist, einen Takt
impuls getriggerten N-Kanal-MOSFET vorzusehen, um die
Kettenlogiken 110, 120 und 130 von Fig. 1 während der
Vorbelegung der Mausefallen-Gatter-Komponenten zu sperren.
Es wird also eine Gegentakt(Push-Pull)-Bedingung implemen
tiert. Die Belegungsvorrichtung einer Mausefallen-Gatter-Komponenten
zieht den Eingang der invertierenden Puffer
vorrichtung hoch (Vorladen), während der eingefügte N-Kanal-MOSFET
die Kettenlogik auf einen logisch niedrigen
Pegel zieht.
Es sei bemerkt, daß der N-Kanal-MOSFET den Betrieb der
Mausefallen-Gatter-Komponente geringfügig verlangsamt. Es
sei dabei jedoch betont, daß der N-Kanal-MOSFET nicht für
jede Mausefallen-Gatter-Komponente implementiert sein
muß. Es genügt, bei jeder zweiten oder dritten Mause
fallen-Gatter-Komponente in Reihe einen solchen N-Kanal-MOSFET
einzufügen. Bei bestimmten logischen Schaltungen,
wie solchen für Multiplikationen, kann die Parallelität
der logischen Operation ausgenutzt werden, um die Anzahl
der notwendigen N-Kanal-MOSFETs zu vermindern. Die be
schriebene Ausgestaltung, bei der paralleles Vorbelegen
vorgesehen ist, hat folgende Vorteile. Sie bewirkt nur
eine geringe zusätzliche Verlustleistung. Ferner kann
sie, wenn dies erwünscht ist, der Einfachheit halber
einheitlich auf alle Mausefallen-Gatter-Komponenten ange
wendet werden.
Eine weitere bevorzugte Art des parallelen Vorbelegens
von in Reihe geschalteten Mausefallen-Gatter-Komponenten
ist, periodisch ein Mausefallen-UND-Gatter in den kri
tischen Logikzweig einzufügen. Dem Mausefallen-UND-Gatter
wird (1) eine Ausgangsvektor-Komponente einer vorhergehen
den Mausefallen-Gatter-Komponente und (2) der Vorbe
legungs-Takt eingegeben. Das Ausgangssignal des Mause
fallen-UND-Gatters wird der nächsten Mausefallen-Gatter-Komponente
in der Reihe eingegeben.
Fig. 2 zeigt ein Kleinsignal-Blockdiagramm eines Bei
spiels eines Inklusiv-ODER-Mausefallen-Logikgatters 200
mit zwei Eingängen gemäß der in Fig. 1 gezeigten Erfin
dung. Das Inklusiv-ODER-Mausefallen-Logikgatter 200 kann
in einem Vektorlogiksystem mit zwei gültigen Logikzu
ständen und einem ungültigen Logikzustand eingesetzt sein.
Wie gezeigt, weist das Inklusiv-ODER-Mausefallen-Logik
gatter 200 zwei Mausefallen-Gatter-Komponenten 202 und
204 auf. Die Mausefallen-Gatter-Komponente 202 umfaßt
eine Belegungsvorrichtung 208, eine Kettenlogik 210 und
eine invertierende Puffervorrichtung 212. Die Mausefallen-Gatter-Komponente
204 umfaßt eine Belegungsvorrichtung
218, eine Kettenlogik 220 und eine invertierende Puffer
vorrichtung 222. Die Bezugszeichen von Fig. 2 sowie den
nachfolgenden Figuren sind ähnlich den Bezugszeichen von
Fig. 1.
Das Inklusiv-ODER-Mausefallen-Logikgatter 200 und insbe
sondere die Belegungsvorrichtungen 208 und 218 werden
durch einen Steuerbefehl eines Taktimpulses NCK ("N"
bedeutet aktiv bei einem niedrigen logischen Pegel) auf
entsprechenden Leitungen 214 und 224 vorbelegt. Bei den
bevorzugten Ausgestaltungen der Erfindung sind die Be
legungsvorrichtung 208 und 218 P-Kanal-Metalloxid-Halb
leiter-Feldeffekt-Transistoren (MOSFET), wie in Fig. 2
gezeigt, die handelsüblich erhältlich und aus dem Stand
der Technik wohl bekannt sind. Anstelle der P-Kanal-MOSFETs
können auch N-Kanal-MOSFETs eingesetzt sein; wobei
dann die Taktung offensichtlich genau entgegengesetzt
sein müßte.
Wie in Fig. 2 gezeigt, dienen die die Belegungsvorrich
tungen 208 und 218 umfassenden MOSFETs im wesentlichen als
Schalter, um eine Spannung V₀ an entsprechende Leitungen
216 und 226 anzulegen, wenn sie von einem niedrigen Takt
NCK-Signal über entsprechende Leitung 214 und 224 angeregt
werden. Jede bekannte Schaltelementart zum Schalten von
Spannungen kann eingesetzt sein.
Beim bevorzugten Ausführungsbeispiel ist die einfache
Logik in den Kettenlogiken 210 und 220 mit N-Kanal-MOSFETs
implementiert, wie teilweise gezeigt. Der Grund für die Verwendung
von N-Kanal-MOSFETs ist der folgende. N-Kanal-MOSFETs
haben gegenüber vergleichbaren P-Kanal-MOSFETs überlegene
Ansteuerfähigkeiten, Raumausnutzung und Belastungseigen
schaften. Ein typischer N-Kanal-MOSFET kann im allgemeinen
12 mal schneller schalten als ein vergleichbarer P-Kanal-MOSFET
mit ähnlichen Merkmalen.
Ferner sind bei den bevorzugten Ausgestaltungen die inver
tierenden Puffervorrichtungen 212 und 222 statische CMOSFET-Inverter,
wie in Fig. 2 gezeigt, die aus dem Stand
der Technik hinlänglich bekannt und handelsüblich erhält
lich sind. CMOSFET-Inverter werden aus verschiedenen
Gründen eingesetzt. Wie bereits gesagt, muß in dem kri
tischen Logikzweig eine Inversion stattfinden, um funk
tionale Vollständigkeit zu gewährleisten. Die Inversion,
die in dem kritischen Zweig durchgeführt werden muß, kann
durch gezieltes Beeinflussen des Aufbaus (der Verstärkung)
eines herkömmlichen CMOSFET-Inverters erreicht werden,
der sowohl einen P-Kanal-MOSFET-Pullup 215 als auch ein
N-Kanal-MOSFET-Pulldown 219 aufweist. Mit anderen Worten,
kann aufgrund der Kenntnis eines monotonen Fortschreitens,
die relative Breite des MOSFET-Gates, das zwischen der
Source und der Drain liegt, so ausgelegt werden, daß das
Schalten in eine Richtung begünstigt wird [d. h., entweder
hoch (1) nach niedrig (0) oder niedrig (0) nach hoch
(1)], auf Kosten der anderen Richtung.
Insbesondere wird bei dem speziellen CMOSFET-Inverter der
Erfindung die Gatebreite des einen Bestandteil bildenden
P-Kanal-MOSFET 215 breiter sein als die Gatebreite des
einen anderen Bestandteil bildenden N-Kanal-MOSFET 219.
Der CMOSFET-Inverter schaltet also sehr schnell von einem
logisch hohen Pegel (1; der vorbelegte Zustand der Mause
falle) in einen logisch niedrigen Zustand (0; der nicht
belegte Zustand der Mausefalle). Die Schaltgeschwindigkeit
des CMOSFET-Inverters von einem logisch niedrigen zu
einem logisch hohen Pegel ist unerheblich, weil das Mause
fallen-Gatter 200 während dieser Zeitspanne vorgeladen
wird. Das Mausefallen-Gatter 200 kann also so aufgebaut
werden, daß es in eine Richtung eine verbesserte
Leistungsfähigkeit und Raumabmessungen aufweist, wodurch
die Geschwindigkeit der Datenübertragung erheblich gestei
gert und die Abmessungen des Mausefallen-Logikgatters 200
vermindert werden.
Zur Erläuterung der Arbeitsweise ist im folgenden eine
Wahrheitstabelle für ein Inklusiv-ODER-Mausefallen-Logik
gatter 200 in Tabelle A angegeben.
In der obigen Tabelle A bedeutet "x" eine unerhebliche
oder "don′t care" Bedingung, "inv" bezeichnet einen ungül
tigen Logikzustand, "1" bezeichnet einen hohen Logikzu
stand, und "0" bezeichnet einen niedrigen Logikzustand.
Wie in Tabelle A angegeben und in Fig. 2 gezeigt, werden
eine Vektoreingabe a und eine Vektoreingabe b von dem
Inklusiv-ODER-Mausefallen-Logikgatter 200 bearbeitet, um
eine Vektorausgabe O abzuleiten. Zur Erläuterung sei
gesagt, daß die Vektoreingabe a und die Vektoreingabe b
sowie wie die Vektorausgabe O den entsprechenden Vektor
eingaben I und J und der Vektorausgabe O von Fig. 1
entsprechen könnten.
Die Vektoreingabe a bezeichnet einen Vektorlogikzustand,
der durch zwei Vektorkomponenten AH und AL definiert ist.
Die Vektoreingabe b bezeichnet einen Vektorlogikzustand,
der durch zwei andere Vektorkomponenten BH und BL defi
niert ist. Die Vektorausgabe O bezeichnet einen Vektor
logikzustand, der durch zwei Vektorkomponenten OH und OL
definiert ist, die gemeinsam die inklusive Disjunktion
(ODER-Funktion) der Vektoreingaben a und b beschreiben.
In Vektorschreibweise heißt das: a = ⟨AH, AL⟩; b = ⟨BH,
BL⟩ und O = ⟨OH, OL⟩ = a + b.
Fig. 3 zeigt ein Kleinsignal-Blockdiagramm eines Addi
tions-Vordecoder-Logikgatters 300 mit zwei Eingängen
gemäß der in Fig. 1 gezeigten Erfindung. Wie aus dem
Stand der Technik bekannt ist, wird ein Vordecoder in
erster Linie in der arithmetischen Recheneinheit (ALU)
eingesetzt, um arithmetische Funktionen, insbesondere
Additionen durchzuführen. Im allgemeinen unterstützt ein
Vordecoder die Parallelverarbeitung und vereinfacht die
Steuerung eines Übertragbit(carry bit)-Weges.
Wie gezeigt, weist der Vordecoder 303 Mausefallen-Gatter-Komponenten
302 bis 306 auf. Die drei Mausefallen-Gatter-Komponenten
302 bis 306 weisen jeweils die folgenden
Merkmale auf:
(1) eine Belegungsvorrichtung 308, eine Kettenlogik 310 und ein Puffer 312; (2) eine Belegungsvorrichtung 318, eine Kettenlogik 320 und ein Puffer 322; und (3) eine Belegungsvorrichtung 328, eine Kettenlogik 330 und ein Puffer 332.
(1) eine Belegungsvorrichtung 308, eine Kettenlogik 310 und ein Puffer 312; (2) eine Belegungsvorrichtung 318, eine Kettenlogik 320 und ein Puffer 322; und (3) eine Belegungsvorrichtung 328, eine Kettenlogik 330 und ein Puffer 332.
Ein die Funktionsweise des Additions-Vordecoder-Logik
gatters 300 beschreibende Wahrheitstabelle ist durch
Tabelle B gegeben.
Ähnlich dem Inklusiv-ODER-Mausefallen-Logikgatter 200 von
Fig. 2, bestimmt eine Vektoreingabe a einen Vektorlogikzu
stand, der durch zwei Vektorkomponenten AH und AL defi
niert ist. Eine Vektoreingabe b bezeichnet einen Vektor
logikzustand, der durch zwei andere Vektorkomponenten BH
und BL definiert ist. Jedoch im Gegensatz zum Mausefallen-Logikgatter
von Fig. 2 kennzeichnet die Vektorausgabe O
einen Vektorlogikzustand, der durch drei Vektorkomponen
ten, P, K und G bestimmt ist, wie weiter unten noch erläu
tert wird. In Vektorschreibweise heißt dies:
a = ⟨AH, AL⟩; b = ⟨BH, BL⟩; und O = ⟨P, K, G⟩.
Herkömmliche Vordecoder sind normalerweise so aufgebaut,
daß ihr Ausgang nur einen von zwei Logikzuständen anzeigt.
In vielen Anwendungen zeigt ein herkömmlicher Vordecoder
entweder an, daß der Übertrag mitgeführt werden soll
(bezeichnet durch "prop"; propogated) oder daß das Über
tragbit gelöscht werden soll (bezeichnet durch "kill";
killed). Bei anderen Ausgestaltungen zeigt der Vordecoder
entweder an, daß der Übertrag mitgeführt werden soll oder
daß das Übertragbit gebildet werden soll (bezeichnet
durch "gen"; generated).
Gemäß der Erfindung kann die Vektorausgabe O also einen
der vier logischen Zustände, wie in Tabelle B angegeben,
aufweisen: Einen ungültigen Zustand und drei gültige
Zustände, nämlich Löschen, Mitführen oder Bilden.
Das Additions-Vordecoder-Logikgatter 300 muß ferner eine
Exklusiv-ODER-Funktion als Teil der gesamten Vordecoder-Funktion
durchführen. Herkömmlich konnten dynamische
logische Gatter die Exklusiv-ODER-Funktion nicht umsetzen,
weil statische Gefährdungen zu logischen Fehlern führten.
Statische Gefährdungen treten in kombinatorischen logi
schen Konfigurationen aufgrund von Laufzeitverzögerungen
auf. Solche statischen Gefährdungen wirken sich nicht
nachteilig auf die Mausefallen-Logikgatter der Erfindung
aus, weil diese selbstgetaktet sind. Wenn nicht alle
Vektoreingaben, die zum endgültigen Bestimmen der Ausgabe
der Kettenlogik notwendig sind, wie in Tabelle B angegeben
gültig sind, erscheint keine gültige Vektorkomponenten-Ausgabe.
Fig. 4 zeigt ein Kleinsignal-Blockdiagramm eines Über
trag(carry)-Fortpflanzungs-Gatters 400 nach der Erfindung.
Aus dem Stand der Technik ist bekannt ein Übertrag-Fort
pflanzungs-Logikgatter in Reihe mit einem Additions-Vor
decoder-Logikgatter einzusetzen, wie oben beschrieben,
um den Weg eines Übertragbits in einer ALU zu steuern.
Das Übertrag-Fortpflanzungs-Gatter 400 arbeitet bei der
bevorzugten Ausgestaltung in Reihe mit dem Additions-
Vordecoder-Logikgatter 300, um einen hochleistungsfähigen
Übertragbit-Pfad zu schaffen.
Das Übertrag-Fortpflanzungs-Gatter 400 weist zwei Mause
fallen-Gatter-Komponenten 402 und 404 auf. Die Mause
fallen-Gatter-Komponente 402 weist eine Belegungsvorrich
tung 408, eine Kettenlogik 410 und eine invertierende
Puffervorrichtung 412 auf. Die Mausefallen-Gatter-Kom
ponente 404 weist eine Belegungsvorrichtung 418, eine
Kettenlogik 420 und eine invertierende Puffervorrichtung
422 auf.
Die Arbeitsweise des Übertrag-Fortpflanzungs-Gatters 400
wird durch die folgende in Tabelle C angegebenen Wahr
heitstabelle für das Übertrag-Fortpflanzungs-Gatter 400
erläutert.
Fig. 5 zeigt ein Kleinsignal-Blockdiagramm eines Exklu
siv-ODER-Mausefallen-Logikgatters 500 mit drei Eingängen
gemäß der Erfindung. Das Exklusiv-ODER-Mausefallen-Logik
gatter 500 kann zur Hochgeschwindigkeits-Summenbildung in
entweder einem Voll- oder einem Halbaddierer eingesetzt
sein und ist keinen nachteiligen Effekten aufgrund stati
scher Gefährdung ausgesetzt. Logische Gatter zur Summen
bildung sind aus dem Stand der Technik hinlänglich be
kannt. Besonders nützlich sind sie für Addierer- und
Multiplizierer-Logikschaltungen.
Das Exklusiv-ODER-Mausefallen-Logikgatter 500 weist zwei
Mausefallen-Gatter-Komponenten auf, die je
weils Belegungsvorrichtung 508 bzw. 518 und invertierende
Puffervorrichtung 512 bzw. 522 aufweisen. Wie durch den
Phantomblock 540 angedeutet ist, ist die jedem der beiden
Mausefallen-Gatter-Komponenten zugeordnete
Kettenlogik bezüglich der Hardware nicht vollständig
getrennt, bleibt aber in einem logischen Sinne gegenseitig
ausschließend. Da die Kettenlogik in jeder Mausefallen-
Gatter-Komponente eines Mausefallen-Logikgatters dieselbe
Gatterart einsetzt, nämlich N-Kanal-MOSFETs können derer
logischen Funktionen, im Sinne eines allgemeinen Vor
schlags, manchmal dieselbe Hardware teilen, wodurch sich
eine geringere Gesamtanzahl von Gattern und eine Redu
zierung der bebauten Fläche im Rechner ergibt.
Tabelle D ist eine Wahrheitstabelle für den Betrieb des
Exklusiv-ODER-Mausefallen-Logikgatters 500.
Wie in Tabelle D angegeben und in Fig. 5 gezeigt, be
stimmt eine Vektoreingabe a einen Vektorlogikzustand,
der durch zwei Vektorkomponenten AH und AL definiert ist.
Vektoreingabe b bestimmt einen Vektorlogikzustand, der
durch zwei andere Vektorkomponenten BH und BL definiert
ist. Vektoreingabe c bestimmt einen Vektorlogikzustand,
der durch zwei Vektorkomponenten CH und CL definiert ist.
Ferner bestimmt eine Vektorausgabe s einen Vektorlogikzu
stand, der durch zwei Ausgaben SH und SL definiert ist.
In Vektorschreibweise heißt dies: a = ⟨AH, AL⟩;
b = ⟨BH, BL⟩; c = ⟨CH, CL⟩; und s = ⟨SH, SL⟩.
Claims (11)
1. Logikgatter mit mehreren parallelen Logikzweigen, in dem
Vektor-Logikzustände selbstgetaktet fort
schreiten, und bei dem jeder Logikzweig (102, 104, 106)
eine Kettenlogik (110, 120, 130) aufweist, welche Eingangsvektoren
(I, J, K) empfängt und deren Vektorkomponenten logisch verknüpft,
eine invertierende Puffervorrichtung (112, 122, 132) aufweist,
welche das Ausgangssignal (116, 126, 136) der Kettenlogik
empfängt und genau eine Ausgangsvektorkomponente Oϕ, O₁, Oρ) ausgibt, und
eine Belegungsvorrichtung (108, 118, 128) aufweist, welche die
invertierende Puffervorrichtung (112, 122, 132) periodisch
vorbelegt, so daß die invertierende Puffervorrichtung
die Ausgangsvektorkomponente bis zur Triggerung durch die Kettenlogik
(110, 120, 130) auf einem niedrigen Logikzustand
hält, wobei definiert ist, daß
ein ungültiger
Logikzustand eines Vektors genau dann vorliegt, wenn alle
seine Vektorkomponenten einen nidrigen Logikzustand haben, und
einer von mehreren gültigen Vektor-Logikzuständen genau dann
vorliegt, wenn eine vorgegebene Untermenge seiner Vektorkomponenten einen
hohen Logikzustand hat, und wobei
die invertierende Puffervorrichtung (112, 122, 132) einen
statischen CMOSFET-Invertierer mit einem P-Kanal-MOSFET
und einem N-Kanal-MOSFET aufweist und der P-Kanal-MOSFET
ein breiteres Gate als der N-Kanal-MOSFET hat.
2. Logikgatter nach Anspruch 1, da
durch gekennzeichnet, daß es zur Durchführung einer Übertrag-
Fortpflanzungs-Funktion (400) in einem Addierer
ausgebildet ist (Fig. 4).
3. Logikgatter nach Anspruch 1, dadurch
gekennzeichnet, daß es zur Durchführung einer Inklusiv-ODER-
Verknüpfung (200) von zwei Eingangsvektoren ausgebildet ist (Fig. 2).
4. Logikgatter nach einem der vorangehenden Ansprüche, da
durch gekennzeichnet, daß die Kettenlogik
(110, 120, 130) einen oder mehrere N-Kanal-MOSFETs zum
Implementieren logischer Funktionen aufweist.
5. Logikgatter nach einem der vorangehenden Ansprüche, da
durch gekennzeichnet, daß die Belegungsvor
richtung (108) eine Spannungsquelle aufweist, die zum
Anlegen einer Spannung über einen Transistor angeschlos
sen ist.
6. Logikgatter nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet, daß die Belegungs
vorrichtung (108) eine Stromquelle aufweist.
7. Logikgatteranordnung mit einem ersten Logikgatter nach
einem der vorangehenden Ansprüche,
gekennzeichnet durch ein zweites im Aufbau
mit dem ersten Logikgatter (100) im wesentlichen identi
sches Logikgatter, das mit diesem in Reihe geschaltet
ist.
8. Logikgatteranordnung nach Anspruch 7, gekennzeichnet durch
eine mit der Kettenlogik (110, 120, 130) eines Logikgat
ters der mehreren Logikgatter (100) verbundene Vorbele
gungs-Hilfsvorrichtung, welche die Kettenlogik während
der Vorbelegung sperrt und paralleles Vorbelegen der meh
reren hintereinander geschalteten Logikgatter fördert.
9. Logikgatteranordnung nach Anspruch 8, gekennzeich
net durch n hintereinander geschaltete Logikgatter
(100), und m Vorbelegungs-Hilfsvorrichtungen, wobei jede
der m Vorbelegungs-Hilfsvorrichtungen mit der Kettenlogik
eines der n hintereinander geschalteten Logikgatter ver
bunden ist,
wobei das Verhältnis von m : n kleiner als 1 ist.
10. Logikgatteranordnung nach Anspruch 8 oder 9, dadurch ge
kennzeichnet, daß die Vorbelegungs-Hilfsvorrichtung
einen Transistor zum Schalten der Kettenlogik
auf einen logisch niedrigen Pegel aufweist.
11. Logikgatteranordnung nach Anspruch 8 oder 9, dadurch ge
kennzeichnet, daß die Vorbelegungs-Hilfsvor
richtung ein UND-Logikgatter
im Logikzweig
aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/684,720 US5208490A (en) | 1991-04-12 | 1991-04-12 | Functionally complete family of self-timed dynamic logic circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4212202A1 DE4212202A1 (de) | 1992-10-15 |
DE4212202C2 true DE4212202C2 (de) | 1997-05-28 |
Family
ID=24749281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4212202A Expired - Lifetime DE4212202C2 (de) | 1991-04-12 | 1992-04-10 | Logikgatter |
Country Status (4)
Country | Link |
---|---|
US (1) | US5208490A (de) |
JP (1) | JP3253347B2 (de) |
DE (1) | DE4212202C2 (de) |
GB (1) | GB2254743B (de) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5477165A (en) * | 1986-09-19 | 1995-12-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
US5434520A (en) * | 1991-04-12 | 1995-07-18 | Hewlett-Packard Company | Clocking systems and methods for pipelined self-timed dynamic logic circuits |
US5389835A (en) * | 1991-04-12 | 1995-02-14 | Hewlett-Packard Company | Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression |
US5459414A (en) * | 1993-05-28 | 1995-10-17 | At&T Corp. | Adiabatic dynamic logic |
AU5550194A (en) * | 1993-09-27 | 1995-04-18 | Giga Operations Corporation | Implementation of a selected instruction set cpu in programmable hardware |
US5399921A (en) * | 1993-12-14 | 1995-03-21 | Dobbelaere; Ivo J. | Dynamic complementary pass-transistor logic circuit |
JPH08106413A (ja) * | 1994-10-06 | 1996-04-23 | Fujitsu Ltd | データ処理装置,データ転送方法及びメモリ装置 |
US5532625A (en) * | 1995-03-01 | 1996-07-02 | Sun Microsystems, Inc. | Wave propagation logic |
US5541536A (en) * | 1995-03-01 | 1996-07-30 | Sun Microsystems, Inc. | Rubberband logic |
US5517136A (en) * | 1995-03-03 | 1996-05-14 | Intel Corporation | Opportunistic time-borrowing domino logic |
US5521538A (en) * | 1995-03-30 | 1996-05-28 | At&T Corp. | Adiabatic logic |
US5587666A (en) * | 1995-04-26 | 1996-12-24 | Cyrix Corporation | Sense amplifier slew circuitry |
US5737547A (en) * | 1995-06-07 | 1998-04-07 | Microunity Systems Engineering, Inc. | System for placing entries of an outstanding processor request into a free pool after the request is accepted by a corresponding peripheral device |
US5812799A (en) * | 1995-06-07 | 1998-09-22 | Microunity Systems Engineering, Inc. | Non-blocking load buffer and a multiple-priority memory system for real-time multiprocessing |
US5691652A (en) * | 1996-02-20 | 1997-11-25 | Hewlett-Packard Co. | Completion detection as a means for improving alpha soft-error resistance |
US5706323A (en) * | 1996-03-01 | 1998-01-06 | Hewlett-Packard Company | Dynamic 1-of-2N logic encoding |
US5889979A (en) * | 1996-05-24 | 1999-03-30 | Hewlett-Packard, Co. | Transparent data-triggered pipeline latch |
US5886540A (en) * | 1996-05-31 | 1999-03-23 | Hewlett-Packard Company | Evaluation phase expansion for dynamic logic circuits |
US5719803A (en) * | 1996-05-31 | 1998-02-17 | Hewlett-Packard Company | High speed addition using Ling's equations and dynamic CMOS logic |
US5757687A (en) * | 1996-08-06 | 1998-05-26 | Hewlett-Packard Co. | Method and apparatus for bounding alignment shifts to enable at-speed denormalized result generation in an FMAC |
US5870404A (en) * | 1996-08-08 | 1999-02-09 | International Business Machines Corporation | Self-timed circuit having critical path timing detection |
US5815687A (en) * | 1996-09-19 | 1998-09-29 | International Business Machines Corporation | Apparatus and method for simulating domino logic circuits using a special machine cycle to validate pre-charge |
US5689228A (en) * | 1996-10-15 | 1997-11-18 | Hewlett-Packard Company | Parallel magnitude comparison using manchester carry chains |
US6046931A (en) | 1997-12-11 | 2000-04-04 | Evsx, Inc. | Method and apparatus for a RAM circuit having N-nary output interface |
US6219686B1 (en) * | 1997-12-11 | 2001-04-17 | Intrinsity, Inc. | Method and apparatus for an N-NARY sum/HPG adder/subtractor gate |
US6066965A (en) * | 1997-12-11 | 2000-05-23 | Evsx, Inc. | Method and apparatus for a N-nary logic circuit using 1 of 4 signals |
US6347327B1 (en) * | 1997-12-11 | 2002-02-12 | Intrinsity, Inc. | Method and apparatus for N-nary incrementor |
US6275841B1 (en) | 1997-12-11 | 2001-08-14 | Intrinsity, Inc. | 1-of-4 multiplier |
US6219687B1 (en) * | 1997-12-11 | 2001-04-17 | Intrinsity, Inc. | Method and apparatus for an N-nary Sum/HPG gate |
US6911846B1 (en) | 1997-12-11 | 2005-06-28 | Intrinsity, Inc. | Method and apparatus for a 1 of N signal |
US6069497A (en) | 1997-12-11 | 2000-05-30 | Evsx, Inc. | Method and apparatus for a N-nary logic circuit using 1 of N signals |
US6069836A (en) * | 1997-12-11 | 2000-05-30 | Evsx, Inc. | Method and apparatus for a RAM circuit having N-nary word line generation |
US6324239B1 (en) | 1997-12-11 | 2001-11-27 | Intrinsity, Inc. | Method and apparatus for a 1 of 4 shifter |
US6118716A (en) * | 1997-12-11 | 2000-09-12 | Evsx, Inc. | Method and apparatus for an address triggered RAM circuit |
GB2336487B (en) * | 1998-04-17 | 2002-01-09 | Advanced Risc Mach Ltd | Conditional invert functions in precharged circuits |
US6172529B1 (en) | 1998-09-28 | 2001-01-09 | International Business Machines Corporation | Compound domino logic circuit having output noise elimination |
US6265899B1 (en) | 1999-06-04 | 2001-07-24 | S3 Incorporated | Single rail domino logic for four-phase clocking scheme |
US6388489B1 (en) | 1999-11-26 | 2002-05-14 | Hewlett-Packard Company | Large input function replaying dynamic entry latch with static and monotonic dual rail outputs |
US6826588B2 (en) | 1999-12-23 | 2004-11-30 | Intel Corporation | Method and apparatus for a fast comparison in redundant form arithmetic |
US7231414B1 (en) * | 2000-02-09 | 2007-06-12 | Hewlett-Packard Development Company, L.P. | Apparatus and method for performing addition of PKG recoded numbers |
US6539413B1 (en) * | 2000-03-15 | 2003-03-25 | Agere Systems Inc. | Prefix tree adder with efficient sum generation |
US7028069B1 (en) * | 2000-05-01 | 2006-04-11 | Raza Microelectronics Inc. | Dynamic circuit using exclusive states |
DE10244738B3 (de) | 2002-09-25 | 2004-03-04 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Umsetzen und Addierer |
DE10304451B3 (de) | 2003-02-04 | 2004-09-02 | Infineon Technologies Ag | Modulare Exponentiation mit randomisiertem Exponenten |
US7429880B2 (en) * | 2003-08-11 | 2008-09-30 | Amar Pal Singh Rana | Reduced glitch dynamic logic circuit and method of synthesis for complementary oxide semiconductor (CMOS) and strained/unstrained silicon-on-insulator (SOI) |
JP3912545B2 (ja) * | 2004-03-24 | 2007-05-09 | セイコーエプソン株式会社 | 非同期加算器、非同期プロセッサ、及び電子機器 |
US8347165B2 (en) | 2007-12-17 | 2013-01-01 | Micron Technology, Inc. | Self-timed error correcting code evaluation system and method |
US8806316B2 (en) | 2012-01-11 | 2014-08-12 | Micron Technology, Inc. | Circuits, integrated circuits, and methods for interleaved parity computation |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4091360A (en) * | 1976-09-01 | 1978-05-23 | Bell Telephone Laboratories, Incorporated | Dynamic precharge circuitry |
US4352031A (en) * | 1980-04-23 | 1982-09-28 | Rca Corporation | Precharge circuit |
DE3047222A1 (de) * | 1980-12-15 | 1982-07-15 | Naamloze Vennootschap Philips' Gloeilampenfabrieken, 5621 Eindhoven | Verknuepfungsschaltung in 2-phasen-mos-technik |
JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
JPS59160267A (ja) * | 1983-03-02 | 1984-09-10 | Hitachi Ltd | ベクトル処理装置 |
US4531068A (en) * | 1983-09-19 | 1985-07-23 | International Business Machines Corporation | Bus line precharging tristate driver circuit |
US4570084A (en) * | 1983-11-21 | 1986-02-11 | International Business Machines Corporation | Clocked differential cascode voltage switch logic systems |
US4569032A (en) * | 1983-12-23 | 1986-02-04 | At&T Bell Laboratories | Dynamic CMOS logic circuits for implementing multiple AND-functions |
JPS60136875A (ja) * | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル演算器 |
NL8400408A (nl) * | 1984-02-09 | 1985-09-02 | Philips Nv | Logische optelschakeling. |
DE3506749A1 (de) * | 1984-02-27 | 1985-09-26 | Nippon Telegraph & Telephone Public Corp., Tokio/Tokyo | Matrixprozessor und steuerverfahren hierfuer |
JPH0640337B2 (ja) * | 1984-10-03 | 1994-05-25 | 株式会社日立製作所 | パイプライン演算装置 |
US4700086A (en) * | 1985-04-23 | 1987-10-13 | International Business Machines Corporation | Consistent precharge circuit for cascode voltage switch logic |
JPH0713878B2 (ja) * | 1985-06-20 | 1995-02-15 | 三菱電機株式会社 | Cmosトランジスタ回路 |
US4692637A (en) * | 1985-07-08 | 1987-09-08 | At&T Bell Laboratories | CMOS logic circuit with single clock pulse |
US4841174A (en) * | 1985-10-21 | 1989-06-20 | Western Digital Corporation | CMOS circuit with racefree single clock dynamic logic |
US4682055A (en) * | 1986-03-17 | 1987-07-21 | Rca Corporation | CFET inverter having equal output signal rise and fall times by adjustment of the pull-up and pull-down transconductances |
US5015882A (en) * | 1986-09-03 | 1991-05-14 | Texas Instruments Incorporated | Compound domino CMOS circuit |
JPS63228494A (ja) * | 1987-03-18 | 1988-09-22 | Fujitsu Ltd | ダイナミツク型デコ−ダ回路 |
JP2679994B2 (ja) * | 1987-08-14 | 1997-11-19 | 株式会社日立製作所 | ベクトル処理装置 |
KR910002748B1 (ko) * | 1988-04-12 | 1991-05-04 | 삼성 반도체통신 주식회사 | 반도체장치에 있어서 데이타 출력 버퍼회로 |
-
1991
- 1991-04-12 US US07/684,720 patent/US5208490A/en not_active Expired - Lifetime
-
1992
- 1992-03-11 GB GB9205316A patent/GB2254743B/en not_active Expired - Fee Related
- 1992-04-10 DE DE4212202A patent/DE4212202C2/de not_active Expired - Lifetime
- 1992-04-13 JP JP09306492A patent/JP3253347B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06236254A (ja) | 1994-08-23 |
JP3253347B2 (ja) | 2002-02-04 |
DE4212202A1 (de) | 1992-10-15 |
GB2254743B (en) | 1995-10-04 |
US5208490A (en) | 1993-05-04 |
GB2254743A (en) | 1992-10-14 |
GB9205316D0 (en) | 1992-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4212202C2 (de) | Logikgatter | |
DE2723821C2 (de) | Programmierbare logische Anordnung | |
DE69837775T2 (de) | Dynamische logische Schaltung und selbstgetaktetes Pipeline-Datenwegsystem | |
DE3919625C2 (de) | Halbleiterspeichereinrichtung | |
DE69518343T2 (de) | Halbleiterspeicheranordnung | |
DE69024773T2 (de) | Halbleiterspeicherschaltungsanordnung | |
DE4417575C2 (de) | Verbesserte Array-Architektur für programmierbare logische Zellen | |
DE19519794C2 (de) | Halteschaltung | |
DE4238063C2 (de) | Integrierte Speicherzellenschaltung mit Set-/Reset-Funktion | |
DE4326134B4 (de) | Eingangswechseldetektorschaltung | |
DE3347306C2 (de) | ||
DE69834011T2 (de) | Statische Direktzugriffspeicherschaltungen | |
DE3802363A1 (de) | Halbleiterspeicher | |
DE112005001906B4 (de) | Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette | |
DE3130330A1 (de) | "uebertragschaltung" | |
DE3884062T2 (de) | Programmierbare logische Einrichtung. | |
DE4335245A1 (de) | Vektorlogikverfahren und dynamisches Logikgatter für eine selbstzeitgebende, monotone Logikprogression | |
DE3886938T2 (de) | Reprogrammierbare logische Sicherung für logische Anordnungen, basierend auf einer 6-Elementen-SRAM-Zelle. | |
DE68916093T2 (de) | Integrierte Schaltung. | |
DE2528066A1 (de) | Digitale datenverarbeitungsschaltung | |
DE68920467T2 (de) | Programmierbare logische Anordnung. | |
DE60003503T2 (de) | Halteschaltung in Dominologic mit Rückstellzeit | |
DE4318422A1 (de) | Integrierte Schaltung mit Registerstufen | |
EP0352549B1 (de) | Carry-select-Addierer | |
DE3328042C2 (de) |
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: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
R071 | Expiry of right | ||
R071 | Expiry of right |