DE4212202C2 - Logikgatter - Google Patents

Logikgatter

Info

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
Application number
DE4212202A
Other languages
English (en)
Other versions
DE4212202A1 (de
Inventor
Jeffry D Yetter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE4212202A1 publication Critical patent/DE4212202A1/de
Application granted granted Critical
Publication of DE4212202C2 publication Critical patent/DE4212202C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/5016Half 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic 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/096Synchronous circuits, i.e. using clock signals
    • H03K19/0966Self-timed logic
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic 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/21EXCLUSIVE-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/215EXCLUSIVE-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3872Precharge 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.
Tabelle A
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.
Ein die Funktionsweise des Additions-Vordecoder-Logik­ gatters 300 beschreibende Wahrheitstabelle ist durch Tabelle B gegeben.
Tabelle B
Ä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.
Tabelle C
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.
Tabelle D
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.
DE4212202A 1991-04-12 1992-04-10 Logikgatter Expired - Lifetime DE4212202C2 (de)

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)

* Cited by examiner, † Cited by third party
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
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
US5434520A (en) * 1991-04-12 1995-07-18 Hewlett-Packard Company Clocking systems and methods for pipelined self-timed dynamic logic circuits
US5459414A (en) * 1993-05-28 1995-10-17 At&T Corp. Adiabatic dynamic logic
WO1995009392A1 (en) * 1993-09-27 1995-04-06 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 データ処理装置,データ転送方法及びメモリ装置
US5541536A (en) * 1995-03-01 1996-07-30 Sun Microsystems, Inc. Rubberband logic
US5532625A (en) * 1995-03-01 1996-07-02 Sun Microsystems, Inc. Wave propagation 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
US6066965A (en) * 1997-12-11 2000-05-23 Evsx, Inc. Method and apparatus for a N-nary logic circuit using 1 of 4 signals
US6118716A (en) * 1997-12-11 2000-09-12 Evsx, Inc. Method and apparatus for an address triggered RAM circuit
US6219686B1 (en) * 1997-12-11 2001-04-17 Intrinsity, Inc. Method and apparatus for an N-NARY sum/HPG adder/subtractor gate
US6275841B1 (en) 1997-12-11 2001-08-14 Intrinsity, Inc. 1-of-4 multiplier
US6069497A (en) 1997-12-11 2000-05-30 Evsx, Inc. Method and apparatus for a N-nary logic circuit using 1 of N signals
US6911846B1 (en) 1997-12-11 2005-06-28 Intrinsity, Inc. Method and apparatus for a 1 of N signal
US6219687B1 (en) * 1997-12-11 2001-04-17 Intrinsity, Inc. Method and apparatus for an N-nary Sum/HPG gate
US6347327B1 (en) * 1997-12-11 2002-02-12 Intrinsity, Inc. Method and apparatus for N-nary incrementor
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
US6046931A (en) 1997-12-11 2000-04-04 Evsx, Inc. Method and apparatus for a RAM circuit having N-nary output interface
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)

* Cited by examiner, † Cited by third party
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.
NL192637C (nl) * 1984-02-27 1997-11-04 Nippon Telegraph & Telephone Stelselprocessor.
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 삼성 반도체통신 주식회사 반도체장치에 있어서 데이타 출력 버퍼회로

Also Published As

Publication number Publication date
JP3253347B2 (ja) 2002-02-04
DE4212202A1 (de) 1992-10-15
GB2254743A (en) 1992-10-14
GB9205316D0 (en) 1992-04-22
US5208490A (en) 1993-05-04
JPH06236254A (ja) 1994-08-23
GB2254743B (en) 1995-10-04

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
DE69024773T2 (de) Halbleiterspeicherschaltungsanordnung
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
DE4238063C2 (de) Integrierte Speicherzellenschaltung mit Set-/Reset-Funktion
DE3347306C2 (de)
DE69834011T2 (de) Statische Direktzugriffspeicherschaltungen
DE3802363A1 (de) Halbleiterspeicher
DE19519794A1 (de) Halteschaltung
DE112005001906B4 (de) Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette
DE10219649C1 (de) Differentielle Strombewerterschaltung und Leseverstärkerschaltung zum Bewerten eines Speicherzustands einer SRAM-Halbleiterspeicherzelle
DE3130330A1 (de) "uebertragschaltung"
DE2712537B2 (de)
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
EP0224887B1 (de) Gate Array Anordnung in CMOS-Technik
DE4318422A1 (de) Integrierte Schaltung mit Registerstufen
DE69030575T2 (de) Integrierte Halbleiterschaltung mit einem Detektor

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