DE60101169T2 - Logikschaltkreis mit Pipeline-Struktur - Google Patents

Logikschaltkreis mit Pipeline-Struktur Download PDF

Info

Publication number
DE60101169T2
DE60101169T2 DE60101169T DE60101169T DE60101169T2 DE 60101169 T2 DE60101169 T2 DE 60101169T2 DE 60101169 T DE60101169 T DE 60101169T DE 60101169 T DE60101169 T DE 60101169T DE 60101169 T2 DE60101169 T2 DE 60101169T2
Authority
DE
Germany
Prior art keywords
logic
circuit
signal
output
input
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 - Fee Related
Application number
DE60101169T
Other languages
English (en)
Other versions
DE60101169D1 (de
Inventor
Koji Hirairi
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of DE60101169D1 publication Critical patent/DE60101169D1/de
Application granted granted Critical
Publication of DE60101169T2 publication Critical patent/DE60101169T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Logikschaltung mit einer Pipeline-Struktur, die unter Verwendung von Logikzellen aufgebaut ist, insbesondere bezieht sie sich auf ein Verfahren zum Anheben der Geschwindigkeit eines Logikbetriebs und zum Absenken des Leistungsverbrauchs.
  • Eine "Datenweg-Pipeline" ist der Bereich, der die Prozessoren und die Pipeline-Register in einem Verarbeitungsblock eines Mikroprozessors aufweist. Um Operationen mit einer hohen Arbeitsfrequenz zu realisieren, ist es allgemeine Praxis, die Prozessoren in der Zeitrichtung zu unterteilen und Pipeline-Register zwischen den unterteilten Prozessoren einzufügen. Ein Betrieb wird über mehrere Zyklen ausgeführt, wobei jedoch ein neuer Betrieb in jedem Zyklus begonnen werden kann, so dass auch Betriebsergebnisse bei jedem Zyklus erhalten werden können. Wenn folglich die Arbeitsfrequenz um das Zweifache verbessert wird, verdoppelt sich auch die Menge an Operationen, die in einer bestimmten Zeit möglich sind. Auf diese Weise ist die Datenweg-Pipeline-Struktur ein breit verwendetes Verfahren, um die Arbeitsgeschwindigkeit zu verbessern und um die Menge an Operationen zu steigern.
  • 1A bis 1C zeigen den Aufbau einer allgemeinen Datenweg-Pipeline. Wie hier gezeigt ist, wird eine Erläuterung dadurch angegeben, dass als Beispiel eine Operation hergenommen wird, um eine kumulative Summe von absoluten Differenzwerten von Daten a1 bis a4 und b1 bis b4 herauszufinden.
  • 1A zeigt den Fall, bei dem der Betrieb durch einen einstufigen Konfigurationsprozessor realisiert wird. Hier wird angenommen, dass der Prozessor einen erforderlichen Betrieb in einer Zeit Top ausführt. Wenn der Betrieb aktuell ausgeführt wird, gibt es eine Zeit Tcq, bis jedes Pipeline-Register gültige Daten synchron zu einem Taktsignal (allgemein als "gültige Verzögerung" bezeichnet) ausgibt, und eine Zeit Tst, die für ein Pipeline-Register erforderlich ist, Daten zu holen (allgemein als "Setup-Zeit" bezeichnet). Die Betriebsperiode T1 wird daher zu: T1 = Top + Tcq + Tst.
  • Wie in 1B gezeigt ist, wird, wenn angenommen wird, dass der Betriebsprozess in exakt die Hälfte in der Zeitrichtung unterteilt werden könnte, die Verzögerungszeit eines Prozessors am häufigsten Top/2. Jedoch sind Tcq und Tst der Pipeline-Register, die einge fügt sind, insoweit konstant, wenn die gleichen Register verwendet werden, so dass die Betriebsperiode T2 wird: T2 = Top/2 + Tcq, + Tst.
  • Ähnlich wird, wie in 1C gezeigt ist, wenn ein vierstufiger Aufbau verwendet wird, die Betriebsperiode T4 zu: T4 = Top/4 + Tcq + Tst.
  • Wenn man die Probleme zusammenfasst, die durch die Erfindung gelöst werden sollen, ist die herkömmliche Logikschaltung mit einer Pipeline-Struktur immer durch eine Verzögerung (Tcq + Tst), die durch die Register hervorgerufen wird, beeinträchtigt. Aus diesem Grund kann, sogar wenn die Anzahl von Stufen der Pipeline vergrößert wird, eine messbare Verbesserung der Arbeitsfrequenzen nicht erhalten werden. Bei diesem Beispiel wurde außerdem angenommen, dass, wenn die Prozessoren unterteilt werden, der Prozess exakt halbiert wurde, wobei jedoch manchmal eine derartige geschickte Unterteilung nicht möglich ist und eine Seite, die eine erforderliche Betriebszeit hat, die länger als Top/2 erforderte, auftritt. In diesem Fall besteht ein Nachteil darin, dass die Arbeitsperiode weiter vergrößert wird.
  • Da außerdem Pipeline-Register in bezug auf alle Daten an den Öffnungsbereichen, welche durch die Teilung gebildet sind, eingefügt werden, bestehen Schwierigkeiten dahingehend, dass die Größe der Schaltung vergrößert wird, das Hardware-Übermaß groß ist und eine Vergrößerung des Leistungsverbrauchs unvermeidbar ist.
  • Die US-A 5 708 374 offenbart eine Logikschaltung mit einer Pipeline-Struktur. Aus dem Dokument Partovi H et al: "A Regenerative Push-Pull Differential Logic Family", Proceedings of the Spring Computer Society International Conference. (Compcon) US, Los Alamitos, IEEE COMP. SOC. PRESS, 28. Februar 1994, Seite 280–285 ist eine Logikzelle bekannt, welche eine logische Baumschaltung aufweist, die mehrere Schaltelemente hat, die zwischen einem Ausgangsknotenpunkt und einem Referenzpotential geschaltet sind, wobei das Schaltelement am nächsten zum Referenzpotential angeordnet ist, welches durch ein Signal gesteuert wird, welches am frühesten unter den mehreren Eingangssignalen ankommt, und das Schaltelement, welches am nächsten zum Ausgangsknotenpunkt angeordnet ist, durch ein Signal gesteuert wird, welches am spätesten unter den mehreren Eingangssignalen ankommt, und eine Ausgangsschaltung, welche mit dem Ausgangsknotenpunkt verbunden ist und das Signal des Ausgangsknotenpunkts gemäß dem Signal ausgibt, welches am spätesten unter den mehreren Eingangssignalen ankommt.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Logikschaltung unter Verwendung einer Logikzelle bereitzustellen, mit der man in der Lage ist, einen Hochgeschwindigkeits-Logikbetrieb mit einem geringen Hardware-Übermaß zu realisieren und ein Pipeline-Register zu verwenden und wobei man in der Lage ist, den Leistungsverbrauch abzusenken.
  • Erfindungsgemäß wird eine Logikschaltung bereitgestellt, welche aufweist:
    ein Eingangsregister, welches mehrere Eingangssignale hält;
    eine Logikbetriebsschaltung, welche mehrere Logikzellen aufweist, wobei jede ein Signal empfängt, welches durch das Eingangsregister gehalten wird, die einen vorher festgelegten Logikbetrieb durchführt und Betriebsergebnisse an die nächste Logikzelle ausgibt;
    ein Ausgangsregister, welches das Ausgangssignal einer letzten Logikzelle hält und ausgibt; und
    eine Rücksetzschaltung, welche das Eingangsregister zurücksetzt, wenn das Ausgangssignal einer Monitorverwendungs-Logikzelle, welches unter den mehreren Logikzellen ausgewählt wird, in einem vorher festgelegten Zustand ist gemäß dem Ausgangssignal der Monitorverwendungs-Logikzelle;
    wobei die Logikzelle aufweist:
    eine Logikbaumschaltung, die mehrere Schaltelemente hat, die zwischen einem Ausgangssignalknotenpunkt und einem Referenzpotential geschaltet sind, wobei das Schaltelement, das am nächsten zum Referenzpotential ist, durch ein Signal gesteuert wird, welches am frühesten unter den mehreren Eingangssignalen ankommt, und das Schaltelement, welches am nächsten zum Ausgangssignalknotenpunkt angeordnet ist, durch ein Signal gesteuert wird, welches am letzten unter den mehreren Eingangssignalen ankommt, und
    eine Ausgangsschaltung, die mit dem Ausgangssignalknotenpunkt geschaltet ist und das Signal des Ausgangssignalsknotenpunkts gemäß dem Signal ausgibt, welches am letzten unter den mehreren Eingangssignalen ankommt.
  • Vorzugsweise ist die Logikbaumschaltung durch Shannon-Erweiterung der mehreren Eingangssignale in der Reihenfolge von der letzten Ankunft gebildet.
  • Vorzugsweise hat die Ausgangsschaltung eine Latchschaltung, um den Signalpegel des Ausgangsknotenpunkts zu halten.
  • Vorzugsweise setzt das Eingangsregister jedes Eingangssignal in ein Signalpaar um und jedes Signalpaar zumindest nimmt drei Logikzustände eines logischen Zustandes 0 (0, 1), eines logisches Zustandes 1 (1, 0) und eines Leerzustandes (0, 0) an.
  • Vorzugsweise gibt, wenn das Eingangssignal, welches am letzten ankommt, den Leerzustand annimmt, die Ausgangsschaltung jeder Logikzelle außer der letzten Logikzelle ein Signal aus, welches den Leerzustand zeigt.
  • Wenn insbesondere das Ausgangssignal der Monitor-Verwendungs-Logikzelle einen Zustand annimmt, welcher anders ist als der Leerzustand, setzt die Rücksetzschaltung das Eingangsregister zurück.
  • Vorzugsweise werden, wenn das Eingangsregister zurückgesetzt wird, alle Ausgangssignale bei Signalen gehalten, welche den Leerzustand zeigen.
  • Das heißt, gemäß der vorliegenden Erfindung wird ein Logikschaltung bereitgestellt, um einen vorher festgelegten Logikbetrieb gemäß den mehreren Eingangssignalen durchzuführen, welche eine Logikbetriebsschaltung aufweist, die durch mehrere Logikzellen, die in Serie geschaltet sind, konfiguriert ist. Jedes Eingangssignal wird in ein Zweidrahtsignal umgesetzt, d.h., in 2 Datenbits, und Logikcodes, welche zumindest drei Logikzustände von Logik 0, Logik 1 und dem Leerzustand zeigen, sind durch diese Zweidrahtsignale gebildet. Jede Logikzelle ist durch eine Logikbaumschaltung gebildet, welche durch Shannon-Erweiterung der Eingangssignale gebildet ist, in der Reihenfolge der letzten Ankunft und durch eine Ausgangsschaltung.
  • In der Logikbetriebsschaltung, welche die mehreren Logikzellen aufweist, wird eine vorher festgelegte Logikzelle, welche in der Mitte existiert, als Monitorverwendungs-Logikzelle ausgewählt. Wenn das Ausgangssignal der bezogenen Monitorverwendungs-Logikzelle zu einem Code wird, der anders ist als der Leer-Code ((0, 1) oder (1, 0) wird unten als gültiger Logikcode bezeichnet), werden alle Ausgangssignale des Eingangsregisters auf den Leercode durch die Reset-Schaltung umgeschaltet. Dieser Leercode wird zur Ausgangsseite durch die Logikzellen verbreitet. Wenn das Ausgangssignal der Monitorverwendungs-Logikzelle zum Leercode wird, wird das Rücksetzen des Eingangsregisters gelöst, wodurch das Eingangssignal in einen Zweidrahtcode synchron mit dem Taktsignal umgesetzt wird und zu jeder Logikzelle geliefert wird. Vorher festgelegte logische Operationen werden gemäß diesen Eingangscodes ausgeführt. Wenn das Ausgangssignal der Monitorverwendungs-Logikzelle zu einem gültigen Logikcode wird, wird das Eingangsregister zurückgesetzt und ein Leercode wird wiederum zu jeder Logikzelle geliefert und an die Ausgangsseite verbreitet.
  • In der Logikschaltung, welche auf diese Art und Weise ausgebildet ist, kann ein Pipelinebetrieb realisiert werden, ohne Pipeline-Register zwischen den mehreren Logikzellen bereitzustellen, ein Vergrößerung des Schaltungsaufwands kann unterdrückt werden, das Hardware-Übermaß kann vermieden werden, und es kann eine Anhebung der Geschwindigkeit des Betriebs und eine Reduktion des Leistungsverbrauchs realisiert werden.
  • Diese und weitere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von bevorzugten Ausführungsformen deutlicher, welche in bezug auf die beigefügten Zeichnungen angegeben wird, in denen:
  • 1A bis 1C Blockdiagramme von Beispielen des Aufbaus einer herkömmlichen Logikbetriebsschaltung mit Pipeline-Struktur sind;
  • 2 ein Schaltungsdiagramm einer Ausführungsform einer Logikzelle ist, mit der eine Logikschaltung gemäß der vorliegenden Erfindung konfiguriert wird;
  • 3A bis 3C Schaltungsdiagramme einer logischen Baumschaltung sind, welche bei der Logikzelle verwendet wird;
  • 4A und 4B ein Schaltungsdiagramm eines Beispiels der Konfiguration einer Ausgabeschaltung, welche bei der Logikzelle verwendet wird, und eine Logiktabelle sind;
  • 5A und 5B ein Schaltungsdiagramm eines Beispiels eines anderen Ausbaus der Ausgabeschaltung, welche bei der Logikzelle verwendet wird, und eine Logiktabelle sind;
  • 6A und 6B Ansichten sind, um zu erläutern, wie eine logische Baumschaltung nach dem Stand der Technik zu bilden ist;
  • 7A und 7B Ansichten sind, um zu erläutern, wie eine logische Baumschaltung nach dem Stand der Technik zu bilden ist;
  • 8A bis 8C eine nichtgeeignete Logikschaltung zeigen, welche durch ein Verfahren nach dem Stand der Technik gebildet wird;
  • 9A und 9B eine nichtgeeignete Logikschaltung zeigen, welche durch das Verfahren nach dem Stand der Technik gebildet wird;
  • 10A bis 10C Ansichten der Prozedur sind, um eine logische Baumschaltung herzuleiten, welche für die Logikschaltung nach der vorliegenden Erfindung geeignet ist;
  • 11A bis 11D Ansichten der Prozedur sind, um eine logische Baumschaltung herzuleiten, welche für die Logikschaltung nach der vorliegenden Erfindung geeignet ist;
  • 12A bis 12C Ansichten des Prozesses sind, um eine logische Baumschaltung für andere Logikfunktionen zu bilden;
  • 13A bis 13D Ansichten des Verfahrens sind, um eine logische Baumschaltung für andere Logikfunktionen zu bilden;
  • 14A und 14B Schaltungsdiagramme von Konfigurationen von Ausgabeschaltungen sind, bei denen ein Latch nicht verwendet wird;
  • 15A und 15B Schaltungsdiagramme anderer Beispiele von Ausgabeschaltungen sind, bei denen kein Latch verwendet wird;
  • 16A und 16B Schaltungsdiagramme von Konfigurationen von Ausgabeschaltungen sind, bei denen ein Latch verwendet wird;
  • 17 ein Schaltungsdiagramm eines anderen Beispiels einer Ausgabeschaltung ist, bei denen ein Latch verwendet wird;
  • 18A und 18B Ansichten eines Beispiels der Konfiguration einer Latchschaltung, bei der ein Eingangsregister verwendet wird, und deren Betrieb sind;
  • 19A und 19B Ansichten eines Beispiels einer Flipflop-Schaltung sind, bei denen ein Eingangsregister verwendet wird;
  • 20A ein Schwingungsformdiagramm ist, welches den Betrieb des Flipflops unter Verwendung des Eingangsregisters zeigt;
  • 21 ein Schaltungsdiagramm eines Beispiels einer Logikschaltung ist, welche durch die Logikzellen konfiguriert ist, die bei der vorliegenden Erfindung verwendet werden;
  • 22 ein Schwingungsformdiagramm ist, welches den Betrieb der in 21 gezeigten Logikschaltung zeigt;
  • 23 ein Schaltungsdiagramm einer Ausführungsform der Betriebsschaltung nach der vorliegenden Erfindung ist; und
  • 24 ein Schwingungsformdiagramm ist, welches den Betrieb der Betriebsschaltung nach der vorliegenden Erfindung zeigt.
  • Bei einer Logikschaltung nach der vorliegenden Erfindung wird ein Codesystem verwendet, welches als Zweidraht-Zweiphasen-Typus bezeichnet wird. Bei diesem Codesystem wird ein Bit eines Logikcodes durch zwei gepaarte Signalleitungen dargestellt. In der folgenden Erläuterung wird in diesem Codesystem ein Bit eines Codes "a" durch einen Zweidraht-Zweiphasen-Code a# = (a, ^a) bezeichnet. Wenn zwei Signalleitungen nicht unterschieden werden, jedoch zusammen ausgedrückt werden, werden sie einfach durch a# bezeichnet. Der Potentialzustand der beiden Signalleitungen wird als (a, ^a) =(0, 1), (1, 0) oder (0, 0) ausgedrückt.
  • Die Codes werden grob in "gültige Logikcodes" und einen "nichtgültigen Logikcode" klassifiziert. Die gültigen Logikcodes umfassen die Logik "0" und die logische "1" und sind definiert als (a, ^a) = (0, 1), (1, 0). Wenn sie nicht unterschieden werden, werden sie unten einfach als "Logikcode" bezeichnet.
  • Der ungültige Code ist definiert durch (a, ^a) = (0, 0). Dieser Code dient zum Unterscheiden und zum Interpunktieren von Logikcodes, die nacheinander der Reihe nach flie ßen. Dies entspricht einem sogenannten "Leer"-Zeichen, und wird anschließend einfachheitshalber als "Leercode" bezeichnet.
  • Bei der Codeübertragung treten ein Logikcode und der Leercode abwechselnd nacheinander der Reihe nach auf. Aus diesem Grund wird dies als Zweiphasentypus bezeichnet. Ein Symbol "^" einer logischen Verneinung erlaubt ursprünglich keinen Zustand, beispielsweise (a = ^a = 0) (Unvereinbarkeit). Dies wird jedoch hier nicht als logischer Widerspruch verstanden, sondern als ein Zustand, der in der Mitte der Übertragung eines Codes erscheint.
  • Die Logikschaltung nach der vorliegenden Erfindung besitzt eine Pipeline-Struktur, welche durch Logikzellen aufgebaut ist. Außerdem ist die Logikschaltung nach der vorliegenden Erfindung unter der Annahme aufgebaut, dass die Reihenfolge der Ankunft von Signalen, die zu einer bestimmten Logikzelle geliefert werden, schon bekannt ist. Diese Annahme ist zur Einrichtung der Logikschaltung nach der vorliegenden Erfindung wichtig. Hier muss lediglich die Reihenfolge der Ankunft von Signalen, die zur Logikzelle geliefert werden, schon bekannt sein und nicht der Zeitunterschied der Ankunftszeiten oder die Mengen, beispielsweise der Maximalwert oder der Minimalwert. Außerdem ist der wichtigste Faktor in der Reihenfolge der Ankunft der, dass das Signal, welches am letzten ankommt, bekannt ist. Die Reihenfolge der Ankunft ist für Signale außer diesem nicht so wichtig.
  • Bei dem Logikaufbau wurde das Konzept des "kritischen Wegs", welches den Verbreitungsweg des Signals, welches am letzten ankommt, zeigt, allgemein im Stand der Technik betrachtet. Außerdem kann die Beziehung der Reihenfolge der Ankunft von der Anzahl von Logikzellen im aktuellen Logikaufbau geschätzt werden, der Länge der Zwischenverbindungen usw., und variiert nicht besonders in Bezug auf eine Änderung der Temperatur oder dgl. Folglich ist diese Annahme bei dem aktuellen Aufbau einer Logikschaltung nicht unrealistisch.
  • Aufau der Logikschaltung
  • 2 ist ein Schaltungsdiagramm des allgemeinen Aufbaus einer Logikzelle, die einen Teil einer Logikschaltung nach der vorliegenden Erfindung aufweist. Wie gezeigt ist, ist eine Logikzelle 100 durch eine Ausgangsschaltung 110, die mit einer Vorladungsschaltung und einem Ausgangspuffer usw. versehen ist, und durch eine logische Baumschaltung 120 konfiguriert, welche durch nMOS-Transistoren konfiguriert ist.
  • Hier ist die Reihenfolge der Ankunft der Eingangssignale, die zu einer Logikzelle geliefert werden, definiert als a1#, a2#, . . ., ω# von der frühesten Ankunft an. Unter diesen ist das Signal, welches am letzten ankommt, ω#. Bei der logischen Baumschaltung 120, welche durch nMOS-Transistoren aufgebaut ist, ist die Schaltung so aufgebaut, dass, um so früher die Reihenfolge der Ankunft des Signals ist, desto näher die Position zum Referenzpotential (Erde) ist, der nMOS-Transistor, der daran angeschaltet ist, angeordnet ist. Der nMOS-Transistor, der mit dem Signal ω# verbunden ist, ist im obersten Bereich der logischen Baumschaltung 120 angeordnet (Position, die am nächsten der Ausgabeschaltung 110 ist). Außerdem wird das Signal ω# auch zur Ausgabeschaltung 110 geliefert und hat die Funktion, den Betrieb der Ausgabeschaltung 110 umzuschalten.
  • 3A bis 3C sind Schaltungsdiagramme, die das Konzept der logischen Baumschaltung, die bei der vorliegenden Erfindung verwendet wird, zeigen. Die wichtigste Tatsache ist hier, dass es niemals einen Weg gibt, der zur Masse reicht, wenn das Signal ω# der Leercode ist. Bei dem Logikbaum, der in 3B gezeigt ist, wenn a = b = 1 oder a = b = 0, wird ein Weg zur Masse unabhängig vom Zustand von ω# gebildet. Eine solche logische Baumstruktur wird bei der vorliegenden Erfindung nicht zugelassen. Wenn dieser logische Weg existiert, sind zwei nMOS-Transistoren auf diesem Weg vorgesehen, um die Struktur zum logischen Baum wie in 3C zu rekonfigurieren.
  • 4A und 4B und 5A und 5B zeigen zwei Beispiele der Ausgangsschaltung, welche bei der vorliegenden Erfindung verwendet werden. Hier sind die Signale ω und ^ω, die zur Ausgangsschaltung 110 geliefert werden, Signale, die die letzte Reihenfolge der Ankunft unter den mehreren Signalen α1, ^α1, α2, ^α2, . . . ω, ^ω, welche zur logischen Baumschaltung 120 geliefert werden, haben. Bei einer Ausgabeschaltung 110a, welche in 4A gezeigt ist, wechselt, wenn sich das Signal ω# von einem Logikcode zu dem Leercode ändert, ein Ausgangssignal (X, ^X) auf den Leercode (0, 0). Im Gegensatz dazu behält in einer Ausgangsschaltung 110b, welche in 5A gezeigt ist, wenn sich das Signal ω# von einem Logikcode zum Leercode ändert, das Ausgangssignal (X, ^X) den Zustand unmittelbar davor bei. Anschließend werden, wenn diese nicht unterschieden sind, diese Einfachheitshalber als "Ausgangsschaltung" bezeichnet. Wenn das Frühere angezeigt wird, wird dies als "Nicht-Latch-Ausgangsschaltung" bezeichnet, während, wenn das Letztere angezeigt wird, wird dies als "Latch-Ausgangsschaltung" bezeichnet.
  • Verfahren zum Bilden eines Logikbaums
  • Wie oben ausgeführt muss bei der Logikbaumschaltung 120, welche einen Teil der Logikzelle 100 aufweist, die bei der vorliegenden Erfindung verwendet wird, wenn das letzte Eingangssignal ω# der Leercode ist, ein Weg von der Ausgangsschaltung zur Masse nicht gebildet werden. Aus diesem Grund ist es bei der vorliegenden Erfindung notwendig, die Logikbaumschaltung 120 zu konfigurieren, um diesen Zustand zu erfüllen. Anschließend wird das Verfahren erläutert, um die Logikbaumschaltung 120, welche bei der vorliegenden Erfindung verwendet wird, zu bilden.
  • 6A und 6B und 7A und 7B sind Schaltungsdiagramme, um das Verfahren zu erläutern, um eine Logikbaumschaltung nach dem Stand der Technik zu bilden. Hier ist ein Verfahren zum Bilden eines nMOS-Transistor-Logikbaums, der bei einem herkömmlichen Differenzkaskaden-Spannungsschaltungs-Logikverfahren (DCVS) oder einem Kaskadenspannungs-Schaltungslogikverfahren (CVSL) usw. verwendet wird, gezeigt. Diese Konfigurationsverfahren einer logischen Baumschaltung sind in IEEE Journal of Solid-state Circuits, Band sc-21, Nr. 6, Seite 1082–1087, Dezember 1986 usw. offenbart.
  • Hier ist als Beispiel ein Verfahren zum Bilden einer logischen Baumschaltung, um eine Logikfunktion, beispielsweise f = a + b + c herauszufinden, gezeigt.
  • Hier wird zunächst, wie in 6A gezeigt ist, eine binäre Baumerweiterung bezüglich f ausgeführt. Es sei angemerkt, dass das Verfahren, welches hier verwendet wird, auch als BDD-Erweiterung oder Shannon-Erweiterung bezeichnet wird. Die Reihenfolge der Variablen in diesem Zeitpunkt kann irgendeine Reihenfolge im Fall von DCVS sein. Wenn die Reihenfolge der Ankunft vorher bekannt ist, hat jedoch ein Logikbaum, der erweitert ist, in der Reihenfolge von der frühesten Ankunft her bessere elektrische Charakteristiken.
  • Die Bereiche, die anteilig bei dem erhaltenen binären Baum aufgeteilt werden können, sind anteilig, um einen reduzierten binären Baum zu bilden (6B). Wenn ein variabler Knotenpunkt durch ein Auswahlorgan ersetzt wird, welches zwei nMOS-Transistoren aufweist, wird die Logikbaumschaltung, welche in 7A gezeigt ist, erhalten.
  • Wenn die Wurzel der Logikbaumschaltung (Endpunkt f von 7A) mit Masse (Erde) verbunden wird und außerdem ein 0-Endpunkt des Logikbaums als Ausgangsknotenpunkt f und ein 1-Endpunkt des Logikbaums als negativer Logikausgangsknotenpunkt ^f definiert wird, wird die Logikbaumschaltung von 7B erhalten.
  • Bei dem Verfahren nach dem Stand der Technik zum Bilden des Logikbaums gibt es einen Fall, wo ein Logikbaum, der für die vorliegende Erfindung nicht geeignet ist, gebildet wird. Ein Beispiel davon ist in 8A bis 8C und 9A und 9B gezeigt. In diesem Fall ist ein Logikbaum, um eine Logikfunktion, beispielsweise f = a b+b c+c·d erweitert. 8A bis 8C und 9A zeigen Schritte, einen Logikbaum durch das Verfahren nach dem Stand der Technik zu erweitern. Der in 9A gezeigte Logikbaum kann einen Entladeweg, der von den Ausgangsknotenpunkten f und ^f gebildet ist, mit der Masse aufweisen, ohne von einem Signal c# abhängig zu sein, so dass dieser ein Logikbaum ist, der für die vorliegende Erfindung ungeeignet ist. Um folglich den Entladeweg zu blockieren, ist es notwendig, weitere nMOS-Transistoren hinzuzufügen, wie in 9B gezeigt ist.
  • Auf diese Weise gibt es bei der herkömmlichen Prozedur zum Erweitern eines Logikbaums Fälle, wo die Anzahl der nMOS-Transistoren, welche mit dem Signal verbunden sind, welches am letzten ankommt, groß wird und die Belastung groß wird. Dies wird zu einem Fall, wo die Logikoperationsgeschwindigkeit der Logikschaltung abgesenkt wird, was üblicherweise vermieden werden muss.
  • Anschließend wird die Prozedur erläutert, um einen Logikbaum herzuleiten, der für die Logikschaltung nach der vorliegenden Erfindung geeignet ist. 10A bis 10C und 11A bis 11D zeigen ein Beispiel einer Erweiterung eines Logikbaums nach der vorliegenden Erfindung. Hier ist die Prozedur zum Erweitern eines Logikbaums, um die Logikfunktion f = a + b + c ähnlich der, die oben beschrieben wurde, herauszufinden, gezeigt.
  • Zunächst wird, wie in 10A gezeigt ist, der Binärbaum in der Reihenfolge von der letzten Ankunft eines Signals erweitert. Der reduzierte Binärbaum wird so herausgefunden, wie in 10B gezeigt ist.
  • Anschließend wird der logische 0-Endpunkt von 10B durch den 1-Endpunkt ersetzt, und der logische 1-Endpunkt wird durch den 0-Endpunkt ersetzt, um die logische Baumschaltung ^f zu bilden, die in 10C gezeigt ist. Außerdem wird, wie in 10A gezeigt ist, der logische Endpunkt 1 von der logischen Baumschaltung f entfernt. Ähnlich wird, wie in 11B gezeigt ist, der logische Endpunkt 1 von der logischen Baumschaltung ^f entfernt.
  • In der logischen Baumschaltung ^f wird die 0 und 1 in 10C umgeschaltet, so dass die Ergebnisse von 11A und 11B natürlich unterschiedlich sind.
  • Die Strukturen, die anteilig verwendet werden können, werden herausgefunden mit Blick von den logischen Endpunkten in 11A und 11B und werden anteilig verwendet. Als Ergebnis wird die logische Baumschaltung, welche die Struktur hat, die in 11C gezeigt ist, erhalten. Danach wird jeder variable Knoten, der zwei Zweige hat, durch ein Auswahlorgan ersetzt, welches aus zwei nMOS-Transistoren besteht, und jeder variable Knotenpunkt, der einen Zweig hat, wird durch einen Schalter eines nMOS-Transistors ersetzt. Weiter ist der logische Endpunkt 0 geerdet. Wenn der Punkt f und der Punkt ^f der Wurzel der Logikbaumschaltung als Ausgangsknotenpunkte der logischen Baumschaltung wie sie sind definiert sind, wie in 11D gezeigt ist, wird eine logische Baumschaltung, welche für die logische Schaltung nach der vorliegenden Erfindung geeignet ist, erhalten.
  • Der wichtige Punkt bei der Prozedur zur Bildung der logischen Baumschaltung, die oben erläutert wurde, ist der, dass die Erweiterung zunächst für das Signal, welches am Letzten ankommt, durchgeführt wird. Wenn der Baum auf diese Art und Weise erweitert wird, wird, wenn der Binärbaum reduziert wird, der Knotenpunkt des Signals, welches am letzten ankommt, nicht gelöscht. Dann wird irgendein Entladungsweg, der die Masse erreicht, immer über den Schalter für das Signal laufen, welches am letzten ankommt.
  • Auf die gleiche Weise wie die oben erläuterte Prozedur ist der Prozess, eine logische Baumschaltung für die Logikfunktion (f = a b+b c+c a) zu bilden, in l2A bis 12C und 13A bis 13D gezeigt.
  • Bei dieser Logikfunktion werden, wie oben erläutert, besondere nMOS-Transistoren bei dem Verfahren des Standes der Technik erforderlich. Sechs nMOS-Transistoren werden zur Last für das letzte Signal c#. Gemäß dem Verfahren zum Bilden der vorliegenden Erfindung beträgt, wie in 13D gezeigt ist, die Anzahl der Transistoren, die zur Last werden, für das Signal c# vier. Im Vergleich zu dem Verfahren nach dem Stand der Technik wird die Anzahl der Transistoren für das letzte Signal vermindert, und es wird ein Effekt, die Last des Signals zu reduzieren, erzielt.
  • Ausführungsform der Ausgangsschaltung
  • Wie in 2 gezeigt ist, ist die Logikzelle 100, die einen Teil der Logikschaltung nach der vorliegenden Erfindung aufweist, durch die Ausgangschaltung 110 und die Logikbaumschaltung 120 konfiguriert. Die Spezifikationen der Nicht-Latch- und Latch-Ausgangsschaltungen sind in 4A und 4B und in 5A und in 5B gezeigt.
  • Anschließend wird der konkrete Schaltungsaufbau für die Nicht-Latch- und Latch- Ausgangsschaltung erläutert.
  • 14A und 14B und 15A und 15B sind Schaltungsdiagramme, welche Beispiele des Ausbaus einer Nicht-Latch-Ausgangsschaltung zeigen. Wie in 14A gezeigt ist, besteht die Nicht-Latch-Ausgangsschaltung 110a1 aus einem pMOS-Transistor P1, P2, P3 und P4 und Invertierern INV1 und INV2. Die Transistoren P1 und P2 sind zwischen einer Versorgungsleitung einer Versorgungsspannung VDD und internen Anschlüssen T1 und T2 geschaltet. Ein Gate des Transistors P1 ist mit einem Drain des Transistors P2 verbunden, und das Gate des Transistors P2 ist mit dem Drain des Transistors P1 verbunden. Die Transistoren P3 und P4 sind seriell zwischen den internen Anschlüssen T1 und T2 geschaltet, und Signale ω und ^ω werden zu den Gates der Transistoren P3 bzw. P4 geliefert. Die Eingangsanschlüsse der Invertierer INV1 und INV2 sind mit den internen Anschlüssen T1 bzw. T2 verbunden.
  • Außerdem sind die internen Anschlüsse T1 und T2 mit den Anschlüssen f und ^f der Logikbaumschaltung verbunden.
  • Bei der Nicht-Latch-Ausgangsschaltung 110a1, welche auf diese Weise aufgebaut ist, werden, wenn das Signal (ω, ^ω) = (0, 0), d.h., ω# der Leercode ist, beide Transistoren P3 und P4 leitend. 14B zeigt eine äquivalente Schaltung der Ausgangsschaltung 110a1 in diesem Fall. Wie gezeigt zeigen die Transistoren P1 und P2 eine Diodenverbindung, die internen Anschlüsse T1 und T2 werden durch die Versorgungsspannung VDD geladen und nehmen den hohen Pegel an, und daher werden die beiden Ausgangsanschlüsse der Invertierer INV1 und INV den niedrigen Pegel annehmen. In diesem Zeitpunkt ist nämlich das Ausgangssignal der Ausgangsschaltung der Leercode, d.h., (X, ^X) = (0, 0).
  • Wenn ω# ein Code ist, der anders ist als der Leercode, wird entweder das Signal ω oder das Signal ^ω zum hohen Pegel, und ein Entladungsweg zur Masse wird in einem der internen Anschlüsse T1 und T2 gemäß dem Eingangssignal gebildet, welches zur Logikbaumschaltung geliefert wird und auf dem Massepotential gehalten wird. Die Potentiale der Anschlüsse T1 und T2 werden durch die Latchschaltung vorübergehend gespeichert, die durch die Transistoren P1 und P2 konfiguriert ist. Wenn nämlich das Eingangssignal ω# der Leercode (0, 0) ist, werden die internen Anschlüsse T1 und T2 durch die Versorgungsspannung VDD geladen, während, wenn das Eingangssignal ω# zum Logikcode wechselt, der anders ist als der Leercode (0, 0), wird in der Ausgangsschaltung 110a1 der Pegel des Ausgangssignals (X, ^X) gemäß dem Eingangssignal gehalten.
  • 15A und 15B sind Schaltungsdiagramme, die andere konkrete Beispiele der Nicht-Latch-Ausgangsschaltung zeigen. 15A ist ein Schaltungsdiagramm, welches die Konfiguration einer Ausgangsschaltung 110a2 zeigt. Wie gezeigt ist die Ausgangsschaltung 110a2 durch die pMOS-Transistoren P1 und P2 aufgebaut, die die Latschschaltung bilden, und außerdem durch die pMOS-Transistoren P3 bis P6 und die Invertierer INV1 und INV2.
  • Wie gezeigt sind die Transistoren P3 und P4 seriell zwischen der Versorgungsleitung der Versorgungsspannung VDD und dem internen Anschluss T1 geschaltet und besitzen Gates, die mit den Signalen ω und ^ω geliefert werden. Die Transistoren P5 und P6 sind seriell zwischen der Versorgungsleitung und der Versorgungsspannung VDD und dem internen Anschluss T2 geschaltet und besitzen Gates, die mit den Signalen ω und ^ω beliefert werden.
  • Wenn das Signal ω# = (0, 0), d.h., wenn das Signal ω# der Leercode ist, werden alle Transistoren P3 bis P6 leitend, und die internen Anschlüsse T1 und T2 werden durch Versorgungsspannung VDD geladen und auf dem hohen Pegel gehalten. In diesem Zeitpunkt wird das Ausgangssignal (X, ^X) gleich (0, 0). Wenn das Signal ω# ein Code ist, der anders ist als die Leercode, werden die Pegel der internen Anschlüsse T1 und T2 gemäß dem Signal gesetzt, welches zur Logikbaumschaltung geliefert wird und durch die Latchschaltung, welche die Transistoren P1 und P2 aufweisen, vorübergehend gespeichert.
  • Eine Nicht-Latch-Ausgangsschaltung 110a3, welche in 15B gezeigt ist, wird durch weiteres Hinzufügen von nMOS-Transistoren N1, N2, N3 und N4 zur Ausgangsschaltung 110a2 erhalten, die in 15A gezeigt ist. Die Transistoren P1 und N1 und P2 und N2 bilden CMOS-Invertierer. Die Eingänge und die Ausgänge dieser Invertierer sind miteinander verbunden, wodurch eine Latchschaltung konfiguriert ist.
  • Die Nicht-Latch-Ausgangsschaltung 110a3 arbeitet fast in der gleichen Art und Weise wie die Nicht-Latch-Ausgangsschaltung 110a2.
  • 16A und 16B und 17 sind Schaltungsdiagramme, welche Beispiele des Aufbaus einer Latch-Ausgangsschaltung zeigen. 16A und 16B zeigen die Schaltungskonfigurationen der Latch-Ausgangsschaltungen 110b1 und 110b2, und 17 zeigt den Schaltungsaufbau einer Latch-Ausgangsschaltung 110b3. Wie in 16A und 16B und in 17 gezeigt ist, ersetzen diese Latch-Ausgangsschaltungen die Invertierer INV1 und INV2 der Nicht-Latch-Ausgangsschaltungen, die in 14A und 14B und in 15A und 15B gezeigt sind, durch einen RS-Flipflop, der NAND-Gates NG1 und NG2 aufweist.
  • Anschließend werden der Aufbau und die Arbeitsweise der Latch-Ausgangsschaltung 110b1 mit Hilfe von 16A erläutert. Die Latch-Ausgangsschaltung 110b1 wird durch die pMOS-Transistoren P1, P2, P3 und P4 und die NAND-Gates NG1 und NG2 gebildet. Die Anschaltung der Transistoren P1 bis P4 ist im Wesentlichen die gleiche wie die bei der Nicht-Latch-Ausgangsschaltung 110a1, welche in 14A gezeigt ist. Die NAND-Gates NG1 und NG2 bilden den RS-Flipflop. Ein Eingangsanschluss des NAND-Gates NG1 ist mit dem internen Anschluss T1 verbunden, und der andere Eingangsanschluss ist mit dem Ausgangsanschluss des NAND-Gates NG2 verbunden, während ein Eingangsanschluss des NAND-Gates NG2 mit den internen Anschluss T2 verbunden ist und der andere Eingangsanschluss mit dem Ausgangsanschluss des NAND-Gates NG1 verbunden ist.
  • Die Latchschaltung ist durch den RS-Flipflop gebildet, die die NAND-Gates NG1 und NG2 umfasst. Wenn das Eingangssignal ω# der Leercode (0, 0) ist, werden beide internen Anschlüsse T1 und T2 auf dem hohen Pegel gehalten, wodurch das RS-Flipflop zum Haltemodus wird und die Ausgangssignale (X, ^X der NOR-Gates NR1 und NR2 in Zuständen unmittelbar davor gehalten werden.
  • Die Latch-Ausgangsschaltungen 110b2 und 110b3 , welche in 16B und 17 gezeigt sind, führen im Wesentlichen den gleichen Betrieb durch wie den bei der Latch-Aus gangsschaltung 110b1, die in 16A gezeigt ist. Wenn das Eingangssignal der Leercode (0, 0) ist, wird das Ausgangssignal unmittelbar vor diesem durch die Latchschaltung gehalten, welche die NAND-Gates NG1 und NG2 aufweist.
  • Latchschaltung, Flipflop-Schaltung
  • Anschließend werden die Konfigurationen und die Arbeitsweise der Eingangsverwendungs-Latchschaltung erläutert, um die Arbeitsdaten an die Logikzelle und die Flipflop-Schaltung bei der vorliegenden Erfindung zu liefern.
  • Wie oben erläutert sind die Eingangsregister mit dem Anfang der Logikschaltung verbunden. Diese Eingangsregister setzen die Eingangsdaten D in den Zweidraht-Zweiphasen-Code um und liefern diesen an die Logikzellen, die die Logikschaltung bilden.
  • 18A zeigt ein Beispiel des Aufbaus der Eingangsregisterverwendungs-Latchschaltung, während 18B die Arbeitsweise dieser Latchschaltung zeigt.
  • Wie gezeigt besteht die Latchschaltung aus Invertierern INV1, INV2, INV3, pMOS-Transistoren P1 bis P4 und nMOS-Transistoren N1 bis N6.
  • Die Transistoren P1, N1 und P2, N2 bilden die CMOS-Invertierer, die Eingangsanschlüsse und die Ausgangsanschlüsse dieser Invertierer sind miteinander verbunden, wodurch die Latchschaltung gebildet ist. Der Eingangsanschluss des Invertierers INV1 ist mit einem Verbindungspunkt (Knoten) T1 der Drains der Transistoren P1 und N1 verbunden, und der Eingangsanschluss des Invertierers INV2 ist mit einem Verbindungspunkt T2 der Drains der Transistoren P2 und N2 verbunden.
  • Die Transistoren P3 und P4 sind zwischen der Versorgungsleitung der Versorgungsspannung VDD und den Knotenpunkten T1 und T2 geschaltet und besitzen Gates, welche mit Haltesignalen HLD beliefert werden.
  • Die Source des Transistors N1 und der Drain des Transistors N3 sind mit einem Knotenpunkt N3 verbunden, während die Source des Transistors N2 und der Drain des Transistors N4 mit einem Knotenpunkt T4 verbunden sind. Ein Signal gemäß den Daten D wird zum Gate des Transistors N4 geliefert, und ein invertiertes Logiksignal davon wird zum Gate des Transistors N4 geliefert.
  • Der Transistor N5 ist zwischen den Knotenpunkten T3 und T4 geschaltet und besitzt ein Gate, welches mit der Versorgungsleitung der Versorgungsspannung VDD verbunden ist.
  • Die Sourcen der Transistoren N3 und N4 sind gemeinsam mit dem Drain des Transistors N6 verbunden, die Source des Transistors N6 ist geerdet, und das Haltesignal HLD wird zum Gate geliefert.
  • 18B zeigt die Arbeitsweise der in 18A gezeigten Latchschaltung. Wenn das Haltesignal HLD gleich 0 ist, werden die Transistoren P3 und P4 in der Latchschaltung leitend, und die Knotenpunkte T1 und T2 werden auf die Versorgungsspannung VDD unabhängig von dem Wert der Eingangsdaten D geladen und auf dem hohen Pegel gehalten, wodurch das Ausgangssignal (X, ^X) der Latchschaltung gleich (0, 0) wird. Wenn das Haltesignal HLD gleich 0 ist, wird nämlich der Leercode von der Latchschaltung ausgegeben.
  • Wenn danach das Haltesignal HLD sich von 0 auf 1 ändert, werden gemäß den Eingangsdaten D das Ausgangssignal (X, ^X) gesetzt. Wenn das Haltesignal HLD gleich 1 ist, werden die Transistoren P3 und P4 in der Latchschaltung nichtleitend, und der Transistor N6 wird leitend. Gemäß den Eingangsdaten D wird einer der Transistoren N3 und N4 leitend, und die anderen werden nichtleitend. Wenn beispielsweise die Eingangsdaten D = 1, wird der Transistor N3 leitend, und der Transistor N4 wird nichtleitend. Ein Entladungsweg wird vom Knotenpunkt T1 über die Transistoren N1, N3 und N6 gebildet, wodurch dessen Potential auf den niedrigen Pegel abgesenkt wird, und der Knotenpunkt T1 wird auf den niedrigen Pegel gehalten und der Knotenpunkt T2 wird auf dem hohen Pegel durch die Latchschaltung gehalten, welche die Transistoren P1 und P2 und N1 und N2 aufweisen. Damit wird das Ausgangssignal (X, ^X) auf (1, 0) gehalten.
  • Wenn umgekehrt die Eingangsdaten D = 0, wird, wenn das Haltesignal HLD sich von 0 auf 1 ändert, das Ausgangssignal (X, ^X) = (0, 1) gehalten.
  • Wenn dann das Haltesignal HLD gleich 1 ist, wird der Transistor N6 im leitenden Zustand unverändert gehalten, wodurch die Zustände der Knotenpunkte T1 und T2 durch die Latchschaltung gehalten werden, die die Transistoren P1, P2 und N1, N2 aufweisen. Das Signal X# wird, wenn das Haltesignal HLD von 0 auf 1 umgeschaltet wird, gehalten.
  • Ein Beispiel des Eingangsregisters-Verwendungs-Flipflops ist in 19A und 19B gezeigt. Wie in 19A gezeigt ist, besteht das Flipflop 200 aus einer Haltesignal-Erzeugungsschaltung 210 und einer Latchschaltung 220. Die Latchschaltung 220 wird durch die Latchschaltung, die in 18A gezeigt ist, gebildet. Die Haltesignal-Erzeugungsschaltung 210 wird durch ein D-Flipflop gebildet, erzeugt das Haltesignal HLD mit einem Zeitablauf eines Taktsignals CK gemäß dem Eingangs-Reset-Signal RST und liefert dieses zur Latchschaltung 220.
  • 19B zeigt die Logikwerte des Reset-Signals RST, des Taktsignals CK und des Haltesignals HLD, welches durch die Haltesignal-Erzeugungsschaltung 210 erzeugt wird. Wenn das Reset-Signal RST gleich 0 ist, wird unabhängig vom Taktsignal CK das Haltesignal HLD auf 0 gehalten. Wenn das Reset-Signal gleich 1 ist, wird bei der ansteigenden Flanke des Taktsignals CK das Haltesignal HLD von 0 auf 1 umgeschaltet. In dem anderen Fall wird das Haltesignal HLD unverändert gehalten.
  • 20 ist ein Schwingungsformdiagramm, welches die Arbeitsweise des in 19A gezeigten Flipflops zeigt. Wie gezeigt ist wird, wenn das Reset-Signal RST sich von 1 auf 0 ändert, d.h., gemäß der abfallenden Flanke des Reset-Signals RST das Haltesignal HLD auf 0 umgeschaltet, und das Ausgangssignal (X, ^X) wird zum Leercode (0, 0).
  • Wenn anschließend das Reset-Signal RST gleich 1 ist, wird das Haltesignal HLD von 0 auf 1 bei der ansteigenden Flanke des Taktsignals CK umgeschaltet. Damit wird in der Latchschaltung 220 das Ausgangssignal (X, ^X) auf entweder (0, 1) oder (1, 0) gemäß den Eingangsdaten D gehalten.
  • Durch das Eingangsregister-Verwendungs-Flipflop 200 werden die synchronen Eingangsdaten D einer Phase in Daten des Zweidraht-Zweiphasen-Typus umgesetzt, die zur Logikschaltung nach der vorliegenden Erfindung synchron mit dem Taktsignal CK geliefert werden können.
  • Prinzip der Arbeitsweise der Logikschaltung nach der vorliegenden Erfindung
  • Nachstehend wird das Prinzip der Arbeitsweise der Logikschaltung nach der vorliegenden Erfindung mit Hilfe von 21 und 22 erläutert.
  • 21 zeigt ein Beispiel der Logikschaltung, welche durch Nicht-Latch-Logikzellen B, C und D aufgebaut ist. 22 ist ein Schwingungsformdiagramm, welches die Schwingungsform des Signals zeigt, wenn diese Logikschaltung den Betrieb ausführt.
  • Bei der herkömmlichen Logikschaltung muss das Ausgangssignal einer bestimmten Logikzelle bleiben, bis das Ausgangssignal der Logikzelle am Anschlussende entschieden ist. In der Logikschaltung, welche unter Verwendung von Logikzellen nach der vorliegenden Erfindung aufgebaut ist, tritt jedoch, wenn das Ausgangssignal der Logikzelle der Nachbarschaft entschieden ist, sogar wenn das Ausgangssignal der bestimmten Logikzelle gelöscht wird, ein logischer fehlerhafter Betrieb nicht auf. Anschließend wird in dies weiter ausführlich mit Hilfe von 21 erläutert.
  • Beispielsweise werden in 21 das früheste Signal αA# und das letzte Signal ωA# zur einer Logikzelle B geliefert. Es sei angemerkt, dass, obwohl dies nicht dargestellt ist, eines oder mehrere Signale zur Logikzelle B zwischen den Signalen αA# und ωA# geliefert werden.
  • ωA#, welches in einem bestimmten Zeitpunkt geliefert wird, hält den ersten Logikcode A1. Unabhängig von der Tatsache, dass das Ausgangssignal ωD# am Anschlussende noch nicht entschieden wurde, wird dieses zum Leercode in der Mitte verschoben, und es werden neue Daten A2 ständig geliefert.
  • Die Logikzelle B führt eine logische Auswertung (Logikbetrieb) durch, wenn das Eingangssignal ωA# zum Logikcode A1 wird und gibt den Logikcode B1 mit ωB# aus. Sogar wenn ein Signal αA# oder dgl. anders als ωA# sich zum Leercode in der Mitte verschiebt, wird das Ausgangssignal ωB# der Logikzelle B gehalten.
  • Die Logikzelle C führt eine logische Auswertung durch, wenn das Ausgangssignal ωB# der Ausgangszelle B zu einem Logikcode B1 wird und gibt einen Logikcode C1 als ωC# aus. Wenn dieser empfangen wird, kann die Logikzelle D die logische Auswertung beginnen.
  • Hier wird der Logikcode auf ωA# zum Leercode verschoben. Wenn eine gewisse Zeit verstrichen ist, hält, sogar in dem Augenblick, wenn das Ausgangssignal ωB# der Logikzelle B auf den Leercode verschoben wird, das Eingangssignal ωC# der Logikzelle D den Logikcode. Die Logikzelle D führt die Logikauswertung während dieser Zeit durch, und als Ergebnis der Auswertung entscheidet sie das Ausgangssignal ωD#. Dieses Betriebsergebnis ωD# wird zur späteren Stufe übertragen.
  • Wie oben erläutert wird während der Zeit, von der, wenn das Eingangssignal ωA# der Logikzelle B auf den Logikcode A1 verschoben wird, wenn das Ausgangssignal der Logikzelle C zum Durchführen des Logikbetriebs unter Verwendung des Ausgangssignals ωB# der bezogenen Zelle als das Eingangssignal auf einen Logikcode verschoben wird, d.h., im Zeitpunkt der "Betriebsgrenze", die in 22 gezeigt wird, wenn der Logikcode A1 beibehalten wird, das Betriebsergebnis der Reihe nach verbreitet, und neue Operationen können der Reihe nach begonnen werden, nachdem der Leercode eingefügt ist.
  • Der Zeitpunkt, von dem das Eingangssignal ωA# der Logikzelle B zum Leercode wird, wenn das Ausgangssignal ωC# der Logikzelle C zum Leercode wird, wird als "Leergrenze" definiert. Dieser Zeitpunkt ist im Wesentlichen gleich dem der Betriebsgrenze. Die Summe der Betriebsgrenze und der Leergrenze als "Betriebsschwellenwert" definiert. Dies bedeutet die minimale Betriebszeit der Zelle (Logikzelle B).
  • Der Grund dafür, warum es ausreichend ist, lediglich die Ausbreitung eines Signals ω*# zu betrachten, welches zu jeder Logikzelle geliefert wird (beispielsweise ωA#, welches zur Logikzelle B geliefert wird, ωB# , welches zur Logikzelle C geliefert wird, und ωC#, welches zur Logikzelle D geliefert wird) auf diese Art und Weise besteht darin, dass diese Signale ω*# Signale sind, die am Letzten in den Logikzellen ankommen.
  • Bei der obigen Erläuterung wurde angenommen, dass die Betriebsschwellenwerte der Logikzellen gleich sind. In Wirklichkeit sind die Betriebsschwellenwerte der Logikzellen leicht verschieden gemäß der Größe der Logikbauschaltungen in den Logikzellen. Folglich wird der maximale Betriebsschwellenwert unter den mehreren Logikzellen, die eine Betriebsschaltung bilden, als Betriebsschwellenwert der gesamten Betriebsschaltung definiert.
  • 23 zeigt eine Ausführungsform der Betriebsschaltung der vorliegenden Erfindung. Die Betriebsschaltung nach der vorliegenden Ausführungsform wird durch ein Eingangsregister 250, eine Logikzellenmatrix 300 und ein Ausgangsregister 350 gebildet.
  • Das Eingangsregister 250 ist unter Verwendung von mehreren Flipflops 200, welche in 19A gezeigt sind, gebildet. Diese Flipflops setzen die Bits der Eingangsdaten D in die Zweidraht-Zweiphasen-Daten um, die in der Logikbetriebszelle der vorliegenden Erfindung verwendet werden, und liefern diese an die vorher festgelegten Logikzellen, die die Logikzellenmatrix 300 bilden.
  • Die Logikzellenmatrix 300 ist eine Logikbetriebsschaltung, die durch mehrere Logikzellen gebildet ist. Jede Logikzelle besteht aus der Ausgangsschaltung und der Logikbaumschaltung, wie in 2 gezeigt ist. Hier wird eine Logikzelle, die aus einer Latch-Ausgangsschaltung und einer Logikbaumschaltung besteht, als Latch-Logikzelle bezeichnet, während eine Logikzelle, welche durch eine Nicht-Latch-Ausgangsschaltung und eine Logikbaumschaltung aufgebaut ist, als eine Nicht-Latch-Logikzelle bezeichnet wird. Unter den Logikzellen, die die Logikzellenmatrix 300 bilden, sind die Anfangs- und Zwischenlogikzellen durch Nicht-Latch-Logikzellen ausgebildet, und die letzte Logikzelle besteht aus einer Latch-Logikzelle. Zwischen den Logikzellen ist kein Pipeline-Register vorgesehen.
  • Das Ausgaberegister 350 besteht aus einem herkömmlichen Flipflop hält die Betriebsergebnisse der Logikzellenmatrix 300 und gibt diese nach außen hin aus.
  • Die Betriebsschaltung nach der vorliegenden Erfindung, welche den obigen Aufbau hat, erfordert kein Pipeline-Register, welches für die herkömmliche Datenweg-Pipeline wesentlich ist, zwischen Logikzellen, welche die Logikzellenmatrix 300 bilden, so dass ein Hochgeschwindigkeits-Logikbetrieb realisiert werden kann.
  • Wie oben erläutert hat die Betriebsschaltung nach der vorliegenden Erfindung eine einzigartige Betriebsschwellenwertzeit. Damit die Betriebsschaltung mit einer hohen Geschwindigkeit für eine Zeit in der Nähe arbeiten kann, ist ein Mechanismus, um alle Eingangssignale der Betriebsschaltung in Leercodes umzuschalten, wenn die Grenzzeit verstrichen ist, notwendig. Eine Realisierung besteht in einer frühen Beendigungsmonitorzelle (an schließend einfachheitshalber als Monitorzelle bezeichnet) S, die in 23 gezeigt ist, und aus einem 2-Eingangs-NOR-Gate NR, welches damit verbunden ist.
  • Die Monitorzelle S wählt die Logikzelle aus, die eine Verzögerung einer Zeit hat, die im Wesentlichen gleich der Betriebszeitgrenze der Logikbetriebsschaltung ist (Logikzellenmatrix 300), die per se vorher von den Logikzellen der Logikzellenmatrix 300 geschätzt wurde. Unabhängig von der Tatsache wird bestimmt, dass die Zelle per se den maximalen Betriebsschwellenwert der Logikzellenmatrix 300 vorschreibt. Zusammen mit der ansteigenden Flanke des Taktsignals CK werden die Daten, die zur Logikzellenmatrix 300 geliefert werden, vom Leercode auf den Logikcode umgeschaltet, und der Betrieb wird begonnen. Die Logikzellen beginnen ihren Betrieb nacheinander von der Seite am nächsten dem Eingangssignal, und die Logikcodes werden der Reihe nach ausgegeben. Wenn die Betriebsgrenzzeit der Logikzellenmatrix 300 per se verstrichen ist, gibt es viele Logikzellen, die Ausgangssignale haben, welche vom Leercode auf einen Logikcode verschoben werden. Es wird eine derartige Logikzelle geeignet ausgewählt und als Monitorzelle S definiert.
  • Anschließend wird der Betrieb der Monitorzelle S und des NOR-Gates NR erläutert.
  • Wenn zunächst das Ausgangssignal der Monitorzelle S der Leercode ist, ist das Ausgangssignal des NOR-Gates NR die logische 1. Nach dem Start des Betriebs wird, wenn das Ausgangssignal der Monitorzelle S sich vom Leercode auf den Logikcode verschiebt, das Ausgangssignal des NOR-Gates NR von 1 auf 0 geändert. Das Ausgangssignal des NOR-Gates NR (als frühes Beendigungsmonitorsignal C bezeichnet) wird zu den Flipflops, welche das Eingangsregister bilden, als Reset-Signal RST des Eingangsregisters 250 geliefert, wodurch das Eingangsregister 250 gemäß damit zurückgesetzt wird und alle Eingangssignale der Logikzellenmatrix 300 zu Leercodes werden.
  • Die Leercodes, welche vom Eingangsregister 250 ausgegeben werden, werden der Reihe nach in der Logikzellenmatrix 300 verbreitet. Wenn das Ausgangssignal der Monitorzelle S auf den Leercode umgeschaltet wird, wird das Ausgangssignal des NOR-Gates NR von 0 auf 1 umgeschaltet, und das Reset-Signal des Eingangsregisters 250 wird gelöst. Dann wird bei der nächsten ansteigenden Flanke des Taktsignals CK jedes Bit der Eingangsdaten D in das Eingangsregister 250 geholt, in einen Zweidraht-Zweiphasen-Code umgesetzt und zur Logikzellenmatrix 300 geliefert.
  • Wie oben beschrieben löscht die Logikzellenmatrix 300 per se den Inhalt des Eingangsregisters durch die Monitorzellen S und fügt den Leercode ein. Aus diesem Grund kann, wenn das Auswahlverfahren der Monitorzelle geeignet ist, der erforderliche Minimalbetriebs- Grenzzeitpegel und die Betriebsschwellenwertzeit erhalten werden. In Wirklichkeit gibt es Zeitverzögerungen des NOR-Gates NR und der Flipflops, die das Eingangsregister 250 bilden, wodurch es geeignet ist, wenn eine Logikzelle, welche eine Verzögerungszeit hat, die ein wenig kürzer ist als die Betriebsgrenzzeit, als Monitorzelle S ausgewählt wird.
  • Wie in 23 gezeigt ist, ist kein Pipeline-Register in die Logikzellenmatrix 300 eingefügt. Die Logikzellenmatrix 300 kann jedoch einen Pipelinebetrieb ähnlich dem einer Betriebsschaltung realisieren, die die herkömmliche Datenweg-Pipeline-Struktur hat, und sie kann einen Logikbetrieb realisieren, der bezüglich der Geschwindigkeit höher ist als der herkömmliche. 24 ist ein Schwingungsformdiagramm, welches den Betrieb der Logikschaltung, welche in 23 gezeigt ist, zeigt. Danach wird der Betrieb der Logikschaltung nach der vorliegenden Erfindung mit Hilfe von 23 und 24 ausführlich erläutert.
  • Zunächst werden Blockschaltungs-Eingangsdaten D, welche aus der übliche Einzelphasen-Synchronisationslogik bestehen, synchron mit den Taktsignal CK geliefert. Das Eingangsregister 250 setzt diese Eingangsdaten D in Zweidraht-Zweiphasen-Daten um und holt neue Daten für jeden Takt synchron mit dem Taktsignal CK. Wenn ein Ausgangssignal G des Eingangsregisters vom Leercode auf einen Logikcode synchron mit dem Taktsignal CK umgeschaltet wird, wird der vorher festgelegte Logikbetrieb in der Logikzellenmatrix 300 begonnen.
  • Wenn das Ausgangssignal der Monitorzellen S, welche in der Mitte der Logikzellenmatrix 300 ausgewählt wird, vom Leercode auf einen Logikcode geändert wird, wird das Ausgangssignal der bezogenen Monitorzelle S ebenfalls vom Leercode auf den Logikcode geändert. In diesem Zeitpunkt fällt das frühe Beendigungsermittlungssignal C ab und das Eingangsregister 250 wird zurückgesetzt. Als Ergebnis wird das Eingangssignal der Logikzellenmatrix 300 zum Leercode, und die Matrix ist für einen neuen Betrieb vorbereitet.
  • Wie in 24 gezeigt ist, werden die Eingangsdaten D in einer Reihenfolge D1, D2, D3, . . . synchron mit der ansteigenden Flanke des Taktsignals CK geliefert. Die Eingangsdaten werden zur Logikzellenmatrix 300 in einer Reihenfolge G1, G2, G3, . . . synchron mit dem Taktsignal CK geliefert. Wenn die Daten, die zur Logikzellenmatrix 300 geliefert werden, durch die Logikzellen verbreitet werden und das Eingangssignal der Monitorzelle C sich vom Leercode auf einen Logikcode verschiebt, fällt das Ausgangsdaten-Frühbeendigungs-Ermittlungssignal C des NOR-Gates NR ab, das Eingangsregister wird gemäß damit zurückgesetzt und alle Eingangssignale zur Logikzellenmatrix 300 werden zum Leercode. Wenn der Leercode in der Logikzellenmatrix 300 verbreitet wird und das Eingangssignal der Monitorzelle S zum Leercode wird, wird das Ausgangssignal des NOR-Gates NR zu 1, und der Reset des Eingangsregisters wird gelöst, so dass die nächsten Eingangsdaten über das Eingangsregister bei der nächsten ansteigenden Flanke des Taktsignals CK zur Logikzellenmatrix 300 geliefert werden.
  • Wie in 24 gezeigt ist, sind alle Ausgangsschwingungsformen der Logikzellen bezüglich der Schwingungsform des Ausgangssignals der Monitorzelle S ähnlich. Diese werden nämlich zu Schwingungsformen, die eine Breite haben, welche den Betriebsschwellenwert erfüllen. Aus diesem Grund können die Betriebsdaten nacheinander ausgebreitet werden und erreichen schließlich die letzte Stufe.
  • In dem Beispiel der Schwingungsformen, die in 24 gezeigt sind, wird ein Betriebsergebnis Z1 der Daten D1, die durch einen ersten Takt geholt werden, vom Ausgangsregister nach einem Ablauf von 3 Takten geholt. Diese Betriebsschaltung führt nämlich einen Betrieb durch, wobei eine Zeit hergenommen wird, welche länger ist als ein Zyklus eines Taktes (die Zeit vom Anstieg von G1 bis zum Anstieg von X1 ist die Zeit, um einen Betrieb in 24 auszuführen). Durch das charakteristische Merkmal der Logikzelle nach der vorliegenden Erfindung ist die Betriebsverarbeitung einer sogenannten Pipeline-Struktur, die einen neuen Betrieb für jeden Takt beginnt und das Betriebsergebnis für jeden Takt ausgibt, möglich. Aus diesem Grund kann eine Hochgeschwindigkeits-Betriebsverarbeitung realisiert werden. Außerdem ist es nicht notwendig, ein Pipeline-Register in der Logikzellenmatrix 300 vorzusehen, wodurch die Einschränkung der Betriebsgeschwindigkeit durch die Pipeline-Register beseitigt wird, und ein höherer Geschwindigkeitslogikbetrieb als der der Betriebsschaltung der herkömmlichen Pipeline-Struktur realisiert werden kann.
  • Wenn man die Wirkungen der Erfindung zusammenfasst, die oben erläutert wurde, kann gemäß der Logikschaltung nach der vorliegenden Erfindung der Betrieb einer Datenweg-Pipeline realisiert werden, ohne die herkömmlichen Pipeline-Register zwischen Logikzellen einzufügen. Aus diesem Grund kann die Verzögerungszeit aufgrund der Pipeline-Register und der Hardware-Überschuss, welche die Probleme bei der herkömmlichen Pipeline-Struktur-Betriebsschaltung waren, beseitigt werden, und es kann eine Vereinfachung der Schaltung und eine Vergrößerung der Betriebsgeschwindigkeit realisiert werden.
  • Bei der Betriebsschaltung nach der vorliegenden Erfindung wird der Betriebsschwellenwert gleich dem Wert von zwei Logikzellen der Betriebszeit. Aus diesem Grund kann die Betriebsfrequenz extrem hoch gemacht werden. Wenn gewünscht wird, eine Betriebsfrequenz zu realisieren, die gleich der ist, wie die bei einer herkömmlichen statischen CMOS-Logik, muss ein Pipeline-Register in Intervallen von einem bis zwei Logikschaltungen eingefügt werden. In diesem Fall wird eine Hälfte oder mehr der Periode durch die Ver zögerungszeit der Pipeline-Register verbraucht, wodurch zusätzlich zur Grenze bei der Verbesserung der Betriebsgeschwindigkeit, die Größe der Schaltung groß wird und die Schaltung vom Standpunkt der Anzahl von Gates und des Leistungsverbrauchs inpraktikabel wird. Daher gibt einen Vorteil durch die Betriebsschaltung nach der vorliegenden Erfindung, dass alle diese Probleme gelöst werden können und eine Betriebsschaltung mit einer hohen Geschwindigkeit und einem niedrigen Leistungsverbrauch realisiert werden kann.

Claims (9)

  1. Logikschaltung, welche aufweist: ein Eingangsregister (250), welches mehrere Eingangssignale hält; eine Logikbetriebsschaltung, welche mehrere Logikzellen (300) aufweist, wobei jede ein Signal empfängt, welches durch das Eingangsregister (250) gehalten wird, die einen vorher festgelegten Logikbetrieb durchführt und Betriebsergebnisse an die nächste Logikzelle (100) ausgibt; ein Ausgangsregister (350), welches das Ausgangssignal einer letzten Logikzelle hält und ausgibt; und eine Rücksetzschaltung, welche das Eingangsregister (250) zurücksetzt, wenn das Ausgangssignal einer Monitorverwendungs-Logikzelle (100), welches unter den mehreren Logikzellen (300) ausgewählt wird, in einem vorher festgelegten Zustand ist gemäß dem Ausgangssignal der Monitorverwendungs-Logikzelle (100); wobei die Logikzelle (100) aufweist: eine Logikbaumschaltung (120), die mehrere Schaltelemente hat, die zwischen einem Ausgangssignalknotenpunkt und einem Referenzpotential geschaltet sind, wobei das Schaltelement, das am nächsten zum Referenzpotential ist, durch ein Signal gesteuert wird, welches am frühesten unter den mehreren Eingangssignalen ankommt, und das Schaltelement, welches am nächsten zum Ausgangssignalknotenpunkt angeordnet ist, durch ein Signal gesteuert wird, welches am letzten unter den mehreren Eingangssignalen ankommt, und eine Ausgangsschaltung (110), die mit dem Ausgangssignalknotenpunkt geschaltet ist und das Signal des Ausgangssignalsknotenpunkts gemäß dem Signal ausgibt, welches am letzten unter den mehreren Eingangssignalen ankommt.
  2. Logikschaltung nach Anspruch 1, wobei die Logikbaumschaltung durch Shannon-Erweiterung der mehreren Eingangssignale in der Reihenfolge von der letzten Ankunft gebildet ist.
  3. Logikschaltung nach Anspruch 1, wobei die Ausgangsschaltung eine Latchschaltung hat, die den Signalpegel des Ausgangssignalknotenpunkts hält.
  4. Logikschaltung nach Anspruch 1, wobei das Eingangsregister (250) jedes Eingangssignal in ein Signalpaar umsetzt und jedes Signalpaar zumindest drei Logikzustände eines logischen Zustandes 0 (0, 1), eines logisches Zustandes 1 (1, 0) und eines Leerzustandes (0, 0) annimmt.
  5. Logikschaltung nach Anspruch 4, wobei, wenn das Eingangssignal, welches am letzten ankommt, den Leerzustand annimmt, die Ausgangsschaltung jeder Logikzelle außer der letzten Logikzelle ein Signal ausgibt, welches den Leerzustand zeigt.
  6. Logikschaltung nach Anspruch 4, wobei, wenn das Eingangssignal, welches am letzten ankommt, den Leerzustand annimmt, die Ausgangsschaltung der letzten Logikzelle das Betriebsergebnis unmittelbar davor hält und ausgibt.
  7. Logikschaltung nach Anspruch 1, wobei das Schaltelement einen Transistor aufweist, der das Eingangssignal an einem Steuerungsanschluss empfängt.
  8. Logikschaltung nach Anspruch 4, wobei, wenn das Ausgangssignal der Monitorverwendungs-Logikzelle einen Zustand außer dem Leerzustand annimmt, die Rücksetzschaltung das Eingangsregister (250) zurücksetzt.
  9. Logikschaltung nach Anspruch 8, wobei, wenn das Eingangsregister (250) zurückgesetzt wird, alle Ausgangssignale bei Signalen gehalten werden, welche den Leerzustand zeigen.
DE60101169T 2000-01-31 2001-01-31 Logikschaltkreis mit Pipeline-Struktur Expired - Fee Related DE60101169T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000027366 2000-01-31
JP2000027366A JP2001217707A (ja) 2000-01-31 2000-01-31 論理セル及びそれを用いた論理回路

Publications (2)

Publication Number Publication Date
DE60101169D1 DE60101169D1 (de) 2003-12-18
DE60101169T2 true DE60101169T2 (de) 2004-05-27

Family

ID=18552948

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60101169T Expired - Fee Related DE60101169T2 (de) 2000-01-31 2001-01-31 Logikschaltkreis mit Pipeline-Struktur

Country Status (4)

Country Link
US (1) US6496041B2 (de)
EP (1) EP1122888B1 (de)
JP (1) JP2001217707A (de)
DE (1) DE60101169T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3907962B2 (ja) * 2001-04-18 2007-04-18 株式会社東芝 半導体回路及び半導体回路のプリディスチャージ方法
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
DE102004011433A1 (de) * 2004-03-09 2005-10-20 Infineon Technologies Ag Logik-Grundzelle, Logik-Grundzellen-Anordnung und Logik-Vorrichtung
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7535252B1 (en) 2007-03-22 2009-05-19 Tabula, Inc. Configurable ICs that conditionally transition through configuration data sets
US7928761B2 (en) * 2007-09-06 2011-04-19 Tabula, Inc. Configuration context switcher with a latch
US7519927B1 (en) 2008-07-02 2009-04-14 International Business Machines Corporation Wiring methods to reduce metal variation effects on launch-capture clock pairs in order to minimize cycle-time overlap violations
US8074193B2 (en) * 2009-03-11 2011-12-06 Institute of Computer Science (ICS) of the Foundation for Research & Technology Hellas-Foundation for Research and Technology Hellas (FORTH) Apparatus and method for mixed single-rail and dual-rail combinational logic with completion detection
CN102684677B (zh) * 2012-06-01 2014-04-23 北京大学 基于延迟的双轨预充逻辑输入转换器
CN102684679A (zh) * 2012-06-05 2012-09-19 北京大学 基于延迟的双轨预充逻辑输出转换器
US9130568B2 (en) * 2012-08-09 2015-09-08 Ecole Polytechnique Federale De Lausanne (Epfl) Controllable polarity FET based arithmetic and differential logic
US10380309B2 (en) 2015-06-01 2019-08-13 Ecole Polytechnique Federale De Lausanne (Epfl) Boolean logic optimization in majority-inverter graphs

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491653A (en) 1994-10-06 1996-02-13 International Business Machines Corporation Differential carry-save adder and multiplier
US5670899A (en) 1994-11-21 1997-09-23 Yamaha Corporation Logic circuit controlled by a plurality of clock signals
US5568069A (en) * 1995-02-27 1996-10-22 Hughes Aircraft Company High speed, low power pipelined logic circuit
US5550490A (en) 1995-05-25 1996-08-27 International Business Machines Corporation Single-rail self-resetting logic circuitry
US5565798A (en) 1995-08-21 1996-10-15 International Business Machines Corporation Self-timed control circuit for self-resetting logic circuitry
US5867036A (en) * 1996-05-29 1999-02-02 Lsi Logic Corporation Domino scan architecture and domino scan flip-flop for the testing of domino and hybrid CMOS circuits

Also Published As

Publication number Publication date
DE60101169D1 (de) 2003-12-18
EP1122888B1 (de) 2003-11-12
US20010013797A1 (en) 2001-08-16
EP1122888A1 (de) 2001-08-08
US6496041B2 (en) 2002-12-17
JP2001217707A (ja) 2001-08-10

Similar Documents

Publication Publication Date Title
DE60202749T2 (de) Schnittstelle von synchron zu asynchron zu synchron
DE69837775T2 (de) Dynamische logische Schaltung und selbstgetaktetes Pipeline-Datenwegsystem
DE4320681C2 (de) Schieberegisterzelle
DE69924173T2 (de) Integrierte Halbleiterschaltung mit Schlafmodus mit geringem Stromverbrauch und geringem Flächenbedarf
DE2324787C3 (de) Logische schaltung
DE60224478T2 (de) Schaltung zur Serialisierung von synchronen Daten
DE102005060394B4 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE602004005669T2 (de) N-Domino Ausgangskippschaltung mit schnellem Auswertepfad
DE4326134B4 (de) Eingangswechseldetektorschaltung
DE69802865T2 (de) Logische Domino-Schaltungen
DE60101169T2 (de) Logikschaltkreis mit Pipeline-Struktur
DE19624270C2 (de) Komplementärtaktgenerator zum Erzeugen von Komplementärtakten
DE60313448T2 (de) Lehrer-Schüler-Flipflop
DE2546967A1 (de) Fuer spannungseinschaltung vorgesehener programmvorbereitungs-schaltkreis, geeignet fuer einen rechner
DE3050199C2 (de) Logikschaltung
DE19882086B4 (de) Verfahren und Vorrichtung zum Implementieren einer adiabatischen Logikfamilie
DE3635761A1 (de) Programmierbares logikfeld mit dynamischer cmos-logik
DE3719181A1 (de) Finite zustandsmaschine
DE69918718T2 (de) Verfahren und vorrichtung zur verminderung von signalübertragungsverzögerungen unter verwendung vonverschiebegattern
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE60003503T2 (de) Halteschaltung in Dominologic mit Rückstellzeit
DE10231186B4 (de) Frequenzteiler
DE112008003831B4 (de) Synchrone sequentielle Logikvorrichtung mit doppelt getriggerten Flipflops sowie eine Methode zum gezielt zeitversetzten Triggern solcher zustandsspeichernden Register
DE102006010282B4 (de) Teilerschaltung
DE10202725B4 (de) Integrierte Schaltung und Schaltungsanordnung zur Umwandlung eines Single-Rail-Signals in ein Dual-Rail-Signal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee