DE102012222581B4 - Schnellbypass-Speicherschaltkreis - Google Patents

Schnellbypass-Speicherschaltkreis Download PDF

Info

Publication number
DE102012222581B4
DE102012222581B4 DE102012222581.1A DE102012222581A DE102012222581B4 DE 102012222581 B4 DE102012222581 B4 DE 102012222581B4 DE 102012222581 A DE102012222581 A DE 102012222581A DE 102012222581 B4 DE102012222581 B4 DE 102012222581B4
Authority
DE
Germany
Prior art keywords
logic
input data
circuit
memory
latched
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.)
Active
Application number
DE102012222581.1A
Other languages
English (en)
Other versions
DE102012222581A1 (de
Inventor
Venkata Kottapalli
Scott Pitkethly
Christian Klingner
Matthew Gerlach
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.)
Nvidia Corp
Original Assignee
Nvidia 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
Priority claimed from US13/327,693 external-priority patent/US8848458B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102012222581A1 publication Critical patent/DE102012222581A1/de
Application granted granted Critical
Publication of DE102012222581B4 publication Critical patent/DE102012222581B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption

Abstract

Ein Speicherschaltkreis, der prompt beim Erhalten eines Taktimpulses Eingangsdaten an einem Datenausgang vorlegt, der Schaltkreis aufweisend:eine vorgeordnete Speicher-Logikschaltung (32), die zum Latchen der Eingangsdaten beim Erhalten des Taktimpulses konfiguriert ist,eine nachgeordnete Speicher-Logikschaltung (34a), die zum Speichern der gelatchten Eingangsdaten konfiguriert ist, undeine Auswahl-Logikschaltung (18a), die konfiguriert ist zum Darlegen eines logischen Zustandes in Abhängigkeit davon, ob die vorgeordnete Speicher-Logikschaltung (34a) die Eingangsdaten gelatched hat, wobei der dargelegte logische Zustand aus den Eingangsdaten, bevor die Eingangsdaten gelatched wurden, und aus den gelatchten Eingangsdaten, nachdem die Eingangsdaten gelatched wurden, hergeleitet wird, dadurch gekennzeichnet, dassder Speicherschaltkreis einen Puffer aufweist, durch welchen der Taktimpuls in der vorgeordneten Speicher-Logikschaltung (32) verzögert erhalten wird, wobeiein Ausgang der vorgeordneten Speicher-Logikschaltung (32) erkennen lässt, ob die Eingangsdaten gelatched wurden, und wobei dieser Ausgang der Auswahl-Logikschaltung vorgelegt wird.

Description

  • TECHNISCHES GEBIET
  • Diese Patentanmeldung bezieht sich auf das Gebiet der Integrierten-Schaltkreis-(IC)-Technik und spezifischer auf digitale Mikroarchitektur höher Geschwindigkeit („high-speed digital microarchitecture“). Die Anmeldung betrifft insbesondere ein Speicherschaltkreis und ein Verfahren zum Vorlegen von Eingangsdaten an einen Datenausgang.
  • HINTERGRUND
  • Digitale Daten mögen durch einen IC über viele Logikschaltungspfade strömen. Solche Pfade mögen sequentielle Logikuhre („logic-clocks“), Monoflops („one-shots“) und Speicherschaltkreise, wie zum Beispiel Flipflops, enthalten. In einigen ICs mag der gesamte Durchsatz von Daten von der Daten-zu-Ausgang-Verzögerungszeit („data-to-output lag“) (tDQ) eines Speicherschaltkreises begrenzt bzw. limitiert werden, die eine Funktion der Datenvorbereitungszeit („data-setup time“) (ts) und die Takt-zu-Output-Verzögerungszeit („clock-to-output lag“) (tCQ) ist. Es mag deswegen erwünscht sein, sowohl die ts als auch die tCQ von Speicherschaltkreisen, die den Datendurchsatz limitieren, zu reduzieren.
  • Des Weiteren mögen sequentielle Logikschaltungen bzw. Schaltwerke, die bei sehr hohen Taktfrequenzen arbeiten, anfällig für die Wirkungen von Taktverzerrung („clock skew“), Taktjitter und chipinterne Verzögerungsvariationen („within-die delay variations“) sein, die logische Fehler verursachen können. Eine Methode zum Vermeiden solcher Fehler ist, die Taktfrequenz zu reduzieren, was auch den Datendurchsatz reduziert. Eine bessere Alternative mag das Implementieren von Zeit-Ausleihen („time borrowing“) sein. Das Zeit-Ausleihen ist nützlich zum Absorbieren von Taktverzerrung und Taktjitter und zum Ausgleichen („averaging out“) von chipinternen Verzögerungsvariationen. Diese Herangehensweise kann den nützlichen Bereich der Taktfrequenz in einem IC erweitern. Zeit-Ausleihkonzepte mögen aber nicht für jede Art von Speicherschaltkreis geeignet sein. Die US 2003/0 210 078 A1 offenbart einen Verstärker zur Strom- und Spannungsevaluierung. Die US 7 408 393 B1 zeigt ein Master-Slave FlipFlop zum Schalten eines getakteten Signals vom Eingang an den Ausgang. Die US 5 349 255 A offenbart eine Schaltung mit einem schnellen Durchlauf und einem langsamen Durchlauf.
  • ZUSAMMENFASSUNG
  • Demzufolge stellt die Offenbarung hiermit eine neue Klasse von Speicherschaltkreisen bereit, die attraktiv kürze tS- und tCQ-Eigenschaften aufweist und für Zeit-Ausleihen offen ist. Eine Ausführungsform stellt einen Speicherschaltkreis gemäß Anspruch 1 bereit, der prompt beim Erhalten eines Taktimpulses Eingangsdaten an einem Datenausgang vorlegt („presents“). Der Schaltkreis weist unter anderem eine vorgeordnete („upstream“) Speicher-Logikschaltung, eine nachgeordnete („downstream“) Speicher-Logikschaltung und eine Auswahl-Logikschaltung auf. Die vorgeordnete Speicher-Logikschaltung ist zum Latchen der Eingangsdaten beim Erhalten des Taktimpulses konfiguriert. Die nachgeordnete Speicher-Logikschaltung ist zum Speichern der gelatchten Eingangsdaten konfiguriert. Die Auswahl-Logikschaltung ist konfiguriert zum Darlegen („expose“) eines logischen Zustandes in Abhängigkeit davon, ob die vorgeordnete Speicher-Logikschaltung die Eingangsdaten gelatched hat, wobei der dargelegte logische Zustand aus den Eingangsdaten, bevor die Eingangsdaten gelatched wurden, und aus den gelatchten Eingangsdaten, nachdem die Eingangsdaten gelatched wurden, hergeleitet wird. Eine weitere Ausführungsform stellt ein Verfahren zum prompten Vorlegen von Eingangsdaten an einem Datenausgang eines Speicherschaltkreises beim Erhalten eines Taktimpulses in dem Speicherschaltkreis gemäß Anspruch 9 bereit. Das Verfahren unter anderem enthält ein Verzögern des Erhaltens des Taktimpulses in einer vorgeordneten Speicher-Logikschaltung des Speicherschaltkreises, ein Latchen der Eingangsdaten in der vorgeordneten Speicher-Logikschaltung beim Erhalten des Taktimpulses in der vorgeordneten Speicher-Logikschaltung, und ein Darlegen, in einer Auswahl-Logikschaltung des Speicherschaltkreises, eines logischen Zustandes, der aus den Eingangsdaten hergeleitet ist, bevor die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gelatched worden sind, und Darlegen eines logischen Zustandes, der aus den gelatchten Eingangsdaten hergeleitet ist, nachdem die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gelatched worden sind.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 zeigt schematisch einen nicht-transparenten Schnellbypass-Speicherschaltkreis gemäß einer Ausführungsform dieser Offenbarung.
    • 2 zeigt schematisch eine vorgeordnete Speicher-Logikschaltung eines Speicherschaltkreises gemäß einer Ausführungsform dieser Offenbarung.
    • 3 ist ein qualitatives Zeitdiagramm, das die Ausbreitung von Daten durch einen Speicherschaltkreis zeigt, gemäß einer Ausführungsform dieser Offenbarung.
    • 4 zeigt schematisch eine Auswahl-Logikschaltung eines Speicherschaltkreises gemäß einer Ausführungsform dieser Offenbarung.
    • 5 zeigt schematisch einen weiteren nicht-transparenten Schnellbypass-Speicherschaltkreis gemäß einer Ausführungsform dieser Offenbarung.
    • 6 zeigt schematisch eine nachgeordnete Speicher-Logikschaltung gemäß einer Ausführungsform dieser Offenbarung.
    • 7 zeigt schematisch eine Auswahl-Logikschaltung gemäß einer weiteren Ausführungsform dieser Offenbarung.
    • 8 zeigt schematisch eine nachgeordnete Speicherlogikschaltung gemäß einer weiteren Ausführungsform dieser Offenbarung.
    • 9 zeigt schematisch einen weiteren nicht-transparenten Schnellbypass-Speicherschaltkreis gemäß einer Ausführungsform dieser Offenbarung.
    • 10 zeigt ein Verfahren zum Vorlegen von Eingangsdaten an einem Datenausgang eines Speicherschaltkreises gemäß einer Ausführungsform dieser Offenbarung.
    • 11 zeigt schematisch eine Verarbeitungsumgebung gemäß einer Ausführungsform dieser Offenbarung.
    • 12 zeigt eine hoch-schematische Ansicht eines Mikroprozessors gemäß einer Ausführungsform dieser Offenbarung.
    • 13 zeigt schematisch eine taktgesteuerte Speicherstufe, die zur Verwendung in einer Repeater-basierten Verbindung („repeater-based interconnect“) geeignet ist, gemäß einer Ausführungsform dieser Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • Aspekte von dieser Offenbarung werden jetzt beispielhaft und mit Bezug auf die dargestellten Ausführungsformen beschrieben, die oben aufgelistet sind. Bauelemente, die in einer oder mehreren Ausführungsformen im Wesentlichen die gleichen sein mögen, werden koordiniert („coordinately“) gekennzeichnet und mit minimaler Wiederholung beschrieben. Es wird aber bemerkt werden, dass koordiniert gekennzeichnete Bauelemente sich auch in gewissen Maßen unterscheiden mögen. Die an dieser Beschreibung angehängten Patentansprüche definieren eindeutig den hierin beanspruchten Gegenstand. Die Patentansprüche sind weder auf die unten dargestellten beispielhaften Strukturen und numerischen Bereichen, noch auf Implementierungen, die die hierin angegebenen Probleme oder Nachteile des gegenwärtigen Standes der Technik ansprechen, beschränkt.
  • 1 zeigt schematisch einen nicht-transparenten Schnellbypass-Speicherschaltkreis 10 in einer Ausführungsform. In dem Schaltkreis 10 bewirkt eine ansteigende Flanke des Taktimpulses 12, dass Eingangsdaten D prompt an dem Datenausgang 14 erscheinen. In einigen Ausführungsformen mögen die Bauelemente des Speicherschaltkreises aus komplementären-Metall-Oxid-Halbleiter-(CMOS)-Elementen hergestellt werden. In anderen Ausführungsformen mögen andere Halbleitertechnologien verwendet werden.
  • Wie es weiter unten detaillierter beschrieben wird, enthält der Speicherschaltkreis 10 einen Flipflop 16, der zum Speichern der Eingangsdaten D konfiguriert ist. In einigen Datenpfaden mag tCQ - die Zeit, die dafür benötigt wird, dass die Eingangsdaten in dem Flipflop gespeichert werden und sich durch den Flipflop ausbreitet - unerwünscht groß sein. Deswegen weist der Speicherschaltkreis 10 auch die Auswahl-Logikschaltung 18A auf. Die Auswahl-Logikschaltung zwingt den Datenausgang 14 zu dem logischen Zustand der gespeicherten Daten, nachdem die Eingangsdaten gespeichert sind, das heißt, nachdem sie völlig und stabil in dem Flipflop gelatched sind. Bevor die Eingangsdaten gespeichert sind, zwingt die Auswahl-Logikschaltung, beim Empfangen des Taktimpulses 12, den Datenausgang auf dem logischen Zustand der nicht gespeicherten Eingangsdaten - 20 in 1. In dieser Weise nimmt die Eingangsdaten D einen schnellen Weg zu dem Datenausgang 14, wobei sie die logischen Stufen innerhalb des Flipflops 16 umgehen („bypassing“). Folglich mag die tatsächliche Takt-zu-Output tCQ für den Speicherschaltkreis erheblich geringer sein als die Zeit, die dazu benötigt wird, dass die Eingangsdaten in dem Flipflop gespeichert werden und sich durch den Flipflop ausbreitet.
  • In der Ausführungsform der 1 erhält die Auswahl-Logikschaltung 18A eine Mehrzahl von Daten- und Steuerungseingaben: Dateneingang 20, gespeicherte-Daten-Leitung („stored-data line“) 22, Timing-Eingang 24, erste Steuerungsleitung 26 und zweite Steuerungsleitung 28. Die Auswahl-Logikschaltung treibt, durch den Multiplexer 30, den Datenausgang 14 auf dem logischen Zustand des Dateneingangs oder der gespeicherten-Daten-Leitung in Abhängigkeit von dem Zustand des Timing-Eingangs und der ersten und zweiten Steuerungsleitungen. In der dargestellten Ausführungsform wird der Timing-Eingang von dem Taktimpuls 12 getrieben, während der ersten und zweiten Steuerungsleitung von dem Flipflop 16 getrieben werden. Es wird verstanden werden, dass die verschiedenen Dateneingänge, Datenleitungen, Steuerungsleitungen und Ausgänge, auf die hierin Bezug genommen wird, auch als „Knotenpunkten“ („nodes“) bezeichnet werden mögen, ohne jegliche Änderung der Bedeutung.
  • Der Flipflop 16 ist, weiterhin mit Bezug auf 1, ein Flipflop der D-Art („D-type“), aber andere Arten, wie zum Beispiel JK oder T, kommen auch in Betracht. Das Flipflop wird getriggert von dem Taktimpuls 12 und ist dazu konfiguriert, die Dateneingabe 20 zu erhalten und die gespeicherte-Daten-Leitung 22, die erste Steuerungsleitung 26 und die zweite Steuerungsleitung 28 zu treiben. Zu diesem Zweck weist das Flipflop eine vorgeordnete Speicher-Logikschaltung 32 auf, die die Eingangsdaten erhält und die erste Steuerleitung und die zweite Steuerleitung treibt. Die vorgeordnete Speicher-Logikschaltung ist dazu konfiguriert, die Eingangsdaten beim Erhalten des Taktimpulses zu latchen („to latch“). Zu diesem Zweck mag die vorgeordnete Speicher-Logikschaltung einen taktgesteuerten Latch der Leseverstärkerart (SA) („clocked, sense-amplifier-type (SA) latch“) aufweisen, wie es in 2 gezeigt ist. Ein Vorteil, den der SA-Latch bietet, ist eine sehr kurze ts - 0 Picosekunden in einigen Beispielen. Es wird bemerkt werden, dass der SA-Latch als ein Einzelspeicherschaltkreis (im Gegensatz zu der Konfiguration der 1) typischerweise nicht für Zeit-Ausleihen offen ist („amenable to time-borrowing“).
  • In dieser und anderen Ausführungsformen ist die Auswahl-Logikschaltung konfiguriert zum Darlegen eines logischen Zustandes in Abhängigkeit davon, ob die vorgeordnete Speicher-Logikschaltung die Eingangsdaten gelatched hat. Der dargelegte logische Zustand wird, bevor die Eingangsdaten gelatched wurden, aus den Eingangsdaten und, nachdem die Eingangsdaten gelatched wurden, aus den gelatchten Eingangsdaten hergeleitet. In den hierin berücksichtigten Ausführungsformen lässt eine Ausgabe der vorgeordneten Speicher-Logikschaltung erkennen, ob die Eingangsdaten gelatched sind. Diese Ausgabe wird der Auswahl-Logikschaltung vorgelegt zwecks Feststellens, ob die Eingangasdaten gelatched sind. In der Ausführungsform von 1 weist der Ausgang der vorgeordneten Speicher-Logikschaltung 32 eine erste Steuerleitung 26 und eine zweite Steuerleitung 28 auf. Wenn die Eingangsdaten gelatched sind, übernimmt die erste Steuerleitung den logischen Zustand der Eingangsdaten und die zweite Steuerleitung ist komplementär zu der ersten Steuerleitung. Wenn die Eingangsdaten nicht gelatched sind, sind die erste Steuerleitung und die zweite Steuerleitung gleich zueinander - zum Beispiel übernehmen beide einen hohen logischen Zustand („high logic level“).
  • Der Flipflop 16 weist ferner, weiterhin mit Bezug auf 1, eine nachgeordnete Speicher-Logikschaltung 34A auf, die die erste Steuerleitung 26 und die zweite Steuerleitung 28 empfangen und die gespeicherte-Daten-Leitung 22 treibt. In der Ausführungsform der 1 ist die nachgeordnete Speicher-Logikschaltung ein nicht-taktgesteuerter Latch der RS-Art („unclocked RS-type latch“). Es wird aber bemerkt, dass auch andere geeignete Latches in Betracht kommen. Wie es in 1 gezeigt ist, ist die vorgeordnete Speicher-Logikschaltung 32 konfiguriert zum Vorlegen der gelatchten Eingangsdaten bei der nachgeordneten Speicher-Logikschaltung 34A; die nachgeordnete Speicher-Logikschaltung ist konfiguriert zum Vorlegen der gespeicherten gelatchten Eingangsdaten bei der Auswahl-Logikschaltung 18A; und die Auswahl-Logikschaltung ist konfiguriert zum Vorlegen des dargelegtenlogischen Zustandes beim Datenausgang 14.
  • Das Erhalten des Taktimpulses 12 in dem Speicherschaltkreis 10 triggert das Flipflop 16 zum Speichern des logischen Zustandes des Dateneingangs 20. Dieses Speichern mag im Allgemeinen durch jede Flanke eines Taktimpulses getriggert werden - das heißt, eine vordere oder hintere, eine ansteigende oder abfallende Flanke. Zwecks vereinfachterer Beschreibung wird es hierin im Folgenden angenommen, dass das Flipflop 16 beim Erhalten einer vorderen Flanke von dem Taktsignal getriggert wird, den logischen Zustand des Dateneingangs zu speichern.
  • Mit der wie gezeigt konfigurierten Auswahl-Logikschaltung 18A wird der Datenausgang 14 auf den logischen Zustand des Dateneingangs 20 nur dann getrieben, wenn der Timing-Eingang 24 und jede von den ersten und zweiten Steuerleitungen (26, 28) logisch eins („high“) sind, und ansonsten wird er auf den logischen Zustand der gespeicherten-Daten-Leitung 22 getrieben. Die erste und zweite Steuerleitung werden vor dem Erhalt des Taktimpulses 12, das heißt, als der Timing-Eingang logisch null („low“) ist, auf logisch eins gehalten. Bei diesen Bedingungen ist die BYP_SEL-Leitung auf logisch eins aber die BYP_CLK ist auf logisch null. Der Multiplexer 30 hält folglich den Datenausgang in dem logischen Zustand der zuletzt gespeicherten Eingangsdaten (welcher Zustand auf der gespeicherten-Daten-Leitung vorhanden ist) ein. Der bei dem Datenausgang vorgelegte logische Zustand wird bis zum Erhalt des Taktimpulses in der Auswahl-Logikschaltung gehalten. Als der Taktimpuls zunächst erhalten wird, das heißt, wenn der Timing-Eingang auf logisch eins geht, verbleiben die erste und zweite Steuerleitung vorübergehend auf logisch eins, was bewirkt, dass auch BYP_CLK auf logisch eins geht. Daher schaltet der Multiplexer 30 den Datenausgang auf den logischen Zustand des Dateneingangs. Wegen des Puffers 36 wird der Taktimpuls folglich in der Auswahl-Logikschaltung erhalten, bevor er in der vorgeordneten Speicher-Logikschaltung erhalten wird. Der Datenausgang wird folglich auf den logischen Zustand des Dateneingangs getrieben, bevor die Eingangsdaten im Flipflop 16 gespeichert sind und spezifischer beim Erhalten des Taktimpulses in der Auswahl- Logikschaltung 18A.
  • Der Taktimpuls 12 wird verzögert durch den Puffer 36 in der vorgeordneten Speicher-Logikschaltung 32 erhalten. Die vorgeordnete Speicher-Logikschaltung wird dabei zum Latchen des logischen Zustands des Dateneingangs 20 getriggert. Dieser logische Zustand erscheint dann auf der ersten Steuerleitung 26, während des komplementären logischen Zustands auf der zweiten Steuerleitung 28 erscheint. Das Latchen führt dazu, dass die erste und zweite Steuerleitung Komplemente von einander werden, so dass BYP_SEL und BYP_CLK auf logisch null gezwungen werden. An dieser Stelle schaltet der Multiplexer 30 den Datenausgang 14 auf den logischen Zustand von den gespeicherten Daten auf der gespeicherten-Daten-Leitung 22. In dieser Weise wird der Datenausgang auf den logischen Zustand der gespeicherten-Daten-Leitung getrieben, sobald der logische Zustand der Eingangsdaten in dem Flipflop 16 gespeichert ist.
  • Das Zeitdiagramm der 3 zeigt in qualitatives Detail wie die Steuersignalen in dem Speicherschaltkreis 10 erzeugt werden. Die tatsächliche tDQ von diesem Schaltkreis, sowie die Datenvorbereitungszeit tS, ist von der Verzögerung des Multiplexers bestimmt. Die gesamte tDQ in dem Speicherschaltkreis 10 mag folglich 30 ps oder weniger sein. In einem traditionellen Flipflop würde tDQ im Gegensatz dazu gleich der Summe der Ausbreitungsverzögerungen von zwei in Reihe geschalteten Latchstufen sein - in einigen Beispielen 60 bis 80 ps.
  • Wie oben erwähnt wird das Flipflop 16 von der vorderen Flanke des Taktimpulses 12 durch den Puffer 36 getriggert. Der Puffer bewirkt, dass das Triggen des Flipflops relativ zu dem Erhalt des Taktimpulses in der Auswahl-Logikschaltung verzögert wird. Die Dauer der Verzögerung mag geeignet sein, um die harten Taktflanken, die ein SA-Latch typischerweise aufweisen, weicher zu machen („softening“). Ein solches Weichmachen ermöglicht Zeit-Ausleihen zur Absorption von Taktverzerrung und Taktjitter und zum Ausgleichen von chipinternen Verzögerungsvariationen. Der Umfang der Absorption von Taktverzerrung und Taktjitter mag von den Einzelheiten des Taktimpuls-Verteilungsplans („clock-pulse distribution scheme“) abhängen. In einem Beispiel mag eine Absorption von 25 ps aber appliziert werden, was IDQ effektiv von 30 ps zu 5 ps reduziert.
  • Der Speicherschaltkreis 10 bietet kurze tS und tCQ, welche in Kombination eine kurze gesamte tDQ ergeben. Der Schaltkreis ist ferner offen für Zeit-Ausleihen. Der für diese Vorteile bezahlte Preis ist ein ziemlich langes Haltezeit-Erfordernis („hold-time requirement“) τD, das in einigen Beispielen 70 ps sein mag. Falls die Eingangsdaten nach dem Erhalt des Taktimpulses aber vor τD geändert werden, dann werden diese Änderungen sich direkt durch zu dem Ausgang ausbreiten und unter Umständen einen logischen Fehler verursachen. Folglich ist der offenbarte Speicherschaltkreis am vorteilhaftesten in Durchsatz-begrenzende Datenpfaden, bei denen die Eingangsdaten nicht für Änderungen innerhalb des τD-Intervahs anfällig sind.
  • Kein Aspekt der vorhergehenden Beschreibung sollte in einer einschränkender Weise verstanden werden, da viele andere Ausführungsformen auch zusätzlich in Betracht kommen. Die Auswahl-Logikschaltung mag zum Beispiel dazu konfiguriert sein, den Timing-Eingang und nur eine Steuerleitung von dem Flipflop zu erhalten. Diese Anpassung könnte in trivialer Weise durch Einbauen des UND-Gatters 38 in dem Flipflop 16, statt in der Auswahl-Logikschaltung 18A, erreicht werden. Andere Varianten kommen in Betracht, in denen das Flipflop zum Treiben einer einzigen Steuerleitung konfiguriert ist, die wiederspiegelt, ob die Eingangsdaten gespeichert oder nicht gespeichert worden sind.
  • Ferner muss die Auswahl-Logikschaltung keinen Multiplexer enthalten. Statt des Multiplexers mag sie, wie es in 4 gezeigt ist, ein invertierendes komplexes Gatter aufweisen. In der dargestellten Ausführungsform ist das invertierende komplexe Gatter 40 dazu konfiguriert, eine Ausgabe-Promoter-Eingabe („output-promoter input“) 42 und eine Ausgabe-Demoter-Eingabe („output-demoter input“) 44 zusätzlich zu der Dateneingabe 20 zu erhalten und die Datenausgabe 14 zur Verfügung zu stellen. Die Auswahl-Logikschaltung 18B ist derart konfiguriert, dass die Ausgabe-Demoter-Eingabe nur dann logisch eins wird, wenn die gespeicherte-Daten-Leitung 22 und zumindest eine von der Timing-Eingabe 24 und der ersten und zweiten Steuerleitung (26, 28) logisch null ist. Die Ausgabe-Promoter-Eingabe wird nur dann logisch eins, wenn die gespeicherte-Daten-Leitung logisch null ist oder wenn die Timing-Eingabe und jede der ersten und zweiten Steuerleitung logisch eins sind.
  • Die Auswahl-Logikschaltung 18B ist folglich funktionell analog zu der Auswahl-Logikschaltung 18A, mag aber wegen der relativ zu dem Multiplexer 30 reduzierten Anzahl von logischen Stufen in dem Daten-zu-Ausgang-Pfad des invertierenden komplexen Gatters 40 eine noch kürzere tCQ anbieten.
  • In der in 4 gezeigten Ausführungsform ist das invertierende komplexe Gatter 40 aus n- und p-Kanal-Metall-Oxid-Halbleiter-Feldeffekttransistoren (MOSFETs) in einer typischen CMOS-Architektur konstruiert. Die Bezeichnungen 1X, 2X und 4X weisen auf das relative Breitezu-Länge-Verhältnis oder auf die parallele Redundanz jedes in dem Schaltbild gezeigten MOSFET hin, das bzw. die direkt mit der AN-Konduktanz („ON conductance) in Zusammenhang steht. Die AN-Konduktanz eines 4X-MOSFET ist mit anderen Worten viermal so groß als die eines 1X-MOSFET.
  • Der Geschwindigkeitsvorteil des invertierenden komplexen Gatters 40 ist zum größten Teil auf die Tatsache zurückzuführen, dass das Signal von dem Dateneingang 20 sich nur durch eine einzige Transistorstufe ausbreiten muss, vor es an dem Datenausgang 14 ankommt. Trotz der Vorteile der dargestellten Ausführungsformen wird es verstanden werden, dass verschiedene andere Konfigurationen, einschließlich anderer Varianten von invertierenden komplexen Gattern, auch in Betracht kommen.
  • 5 zeigt schematisch einen anderen Schnellbypass-Speicherschaltkreis 46 gemäß einer Ausführungsform. Wie die oben beschriebenen Speicherschaltkreise weist der Speicherschaltkreis 46 eine vorgeordnete Speicher-Logikschaltung 32 und eine nachgeordnete Speicher-Logikschaltung 34B auf, wobei der Puffer 36 eine Taktimpuls-Verzögerung für die vorgeordnete Speicher-Logikschaltung bereitstellt. Der Speicherschaltkreis 46 weist auch eine Auswahl-Logikschaltung 18C auf. Im Gegensatz zu der Auswahl-Logikschaltung der obigen Ausführungsformen ist die Auswahl-Logikschaltung 18C zwischen der vorgeordneten Speicher-Logikschaltung und der nachgeordneten Speicher-Logikschaltung angebracht. Die Auswahl-Logikschaltung 18C stellt fest, ob der Dateneingang 20, auf der einen Seite, oder ein Ausgang der vorgeordneten Speicher-Logikschaltung 32, auf der anderen Seite, als Eingabe zu der nachgeordneten Speicher-Logikschaltung 34B appliziert wird.
  • In der in 5 gezeigten Ausführungsform ist die vorgeordnete Speicher-Logikschaltung 32 konfiguriert zum Vorlegen der gelatchten Eingangsdaten bei der Auswahl-Logikschaltung 18C; die Auswahl-Logikschaltung ist konfiguriert zum Vorlegen eines dargelegten logischen Zustandes bei der nachgeordneten Speicher-Logikschaltung 34B; und die nachgeordnete Speicher-Logikschaltung ist konfiguriert zum Speichern des dargelegten logischen Zustands, der von der Auswahl-Logikschaltung vorgelegt wird, und zum Vorlegen des gespeicherten logischen Zustands bei dem Datenausgang 14, beim Erhalten des Taktimpulses 12. Wie in den vorhergehenden Ausführungsformen ist der logische Zustand, der von der Auswahl-Logikschaltung dargelegt wird, abhängig davon, ob die vorgeordnete Speicher-Logikschaltung die Eingangsdaten gelatched hat. Bevor die Eingangsdaten gelatched wurden, wird der dargelegte logische Zustand von den Eingangsdaten abgeleitet, und nachdem die Eingangsdaten gelatched wurden, wird er von den gelatchten Eingangsdaten abgeleitet.
  • Das schematische Diagramm der 6 zeigt Aspekte von einer beispielhaften nachgeordneten Speicher-Logikschaltung 34B in einer Ausführungsform. Die nachgeordnete Speicher-Logikschaltung in 6 ist ein taktgesteuerter Latch. Der invertierte Ausgang ~Q der nachgeordneten Speicher-Logikschaltung treibt den Datenausgang 14 des Speicherschaltkreises. Die nachgeordnete Speicher-Logikschaltung 34B weist eine MOSFET-Dateneingangsstufe 48 auf, die von den komplementären Taktimpulssignalen CLK und ~CLK aktiviert („enabled“) wird. Die Dateneingangsstufe leitet in den Latch 50 hinein, der die Inverter 52 und 54 aufweist. Der Inverter 54 wird von dem invertierten Taktimpuls ~CLK aktiviert. Der Ausgang des Latches leitet, wie es in 6 gezeigt wird, in den Inverter 55 hinein, der die invertierte Datenausgabe ~Q vorlegt.
  • In der in 5 dargestellten Ausführungsform weist die Auswahl-Logikschaltung 18C einen Inverter 56 und eine Und-Oder-Invertier-(AOI)-Struktur („and-or-invert (AOI) structure“) 58 auf. Das schematische Diagramm der 7 zeigt Aspekte einer beispielhaften AOI-Struktur 58 in einer Ausführungsform. Die dargestellte AOI-Struktur weist eine MOSFET-Eingangsstufe 60 und eine MOSFET-Ausgangsstufe 62 auf.
  • Vor Erhalten des Taktimpulses 12 durch den Puffer 36 wird, jetzt wieder mit Bezug auf 5, der INT-Ausgang und der INTB-Ausgang der vorgeordneten Speicher-Logikschaltung 32 auf logisch eins gehalten. ~INTB ist folglich auf logisch null. Der D-Eingang der nachgeordneten Speicher-Logikschaltung 34B wird unter diesen Bedingungen auf die Inverse des logischen Zustands vom Dateneingang 20 gesetzt. Der gespeicherte logische Zustand, der bei dem Datenausgang vorgelegt wird, wird aber bis zum Erhalt des Taktimpulses in der nachgeordneten Speicher-Logikschaltung gehalten. Das Eintreffen des Taktimpulses 12 bei dem CLK-Eingang der nachgeordneten Speicher-Logikschaltung bewirkt, dass der inverse logische Zustand der Eingangsdaten in der nachgeordneten Speicher-Logikschaltung gespeichert wird. Da der ausgewählte Datenausgang 14 der invertierende Ausgang ~Q der nachgeordneten Speicher-Logikschaltung ist, wird der logische Zustand, der bei dem Datenausgang 14 vorgelegt wird, zweimal invertiert (das heißt nicht-invertiert) relativ zu dem logischen Zustand, der an dem Dateneingang erhalten wird.
  • Der Puffer 36 ist dazu konfiguriert, den Erhalt des Taktimpulses 12 in der vorgeordneten Speicher-Logikschaltung 32 relativ zu dem Erhalt des Taktimpulses in der nachgeordneten Speicher-Logikschaltung 34B zu verzögern. Wenn der Taktimpuls 12 nach der vorgewählten Verzögerung in der vorgeordneten Speicher-Logikschaltung erhalten wird, werden die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gespeichert. Zu diesem Zeitpunkt werden die INT- und INTB-Ausgaben Komplemente von einander, wobei sowohl INT als auch ~INTB den logischen Zustand der gespeicherten Eingangsdaten übernehmen. Der D-Eingang der nachgeordneten Speicher-Logikschaltung 34B wird unter diesen Bedingungen auf die Inverse von den gespeicherten Eingangsdaten gesetzt. Noch einmal, da der Datenausgang 14 der invertierende Ausgang der nachgeordneten Speicher-Logikschaltung ist, ist der logische Zustand, der bei dem Datenausgang 14 vorgelegt wird, nicht invertiert relativ zu dem logischen Zustand, der in der vorgeordneten Speicher-Logikschaltung gespeichert ist.
  • Ein Vorteil des Speicherschaltkreises 46 relativ zu dem Speicherschaltkreis 10 der 1 ist eine Reduktion des Haltezeit-Erfordernisses τD. In dem Speicherschaltkreis 10 fließen Daten von dem INT-Knotenpunkt und durch die NAND-Gatter der nachgeordneten Speicher-Logikschaltung 34 zu dem gespeicherten-Daten-Knotenpunkt 22. INT und INTB fließen parallel durch die Auswahl-Logikschaltung 18A, um BYP_CLK zu erzeugen. Die Verzögerung von BYP_CLK muss, um Fehler zu vermeiden, groß genug sein, um sicherzustellen, dass der gespeicherte-Daten-Knotenpunkt auf dem gewünschten Wert zur Ruhe gekommen ist. Eine gewisse Zeitspanne („time margin“) muss mit anderen Worten, nachdem der gespeicherte-Daten-Knotenpunkt umgeschaltet hat aber bevor der Multiplexer 30 umschalten kann, bereitgestellt werden. Erst nachdem der Multiplexer umgeschaltet hat, wird D wieder frei zum Hin- und Herschalten bzw. Umschalten. Die Reduktion des τD von dem Speicherschaltkreis 46, relativ zu dem Speicherschaltkreis 10, ist effektiv gleich der Verzögerung der NAND-Gatter plus die gewünschte Zeitspanne für den gespeicherten-Daten-Knotenpunkt zur Ruhe zu kommen minus die Verzögerung des Inverters 56 - 30 bis 40 ps in einigen Beispielen.
  • Ein Nachteil des Speicherschaltkreises 46 relativ zu dem Speicherschaltkreis 10 ist ein leichter Anstieg der tDQ. Im Speicherschaltkreis 10 ist die tDQ einfach die Verzögerung durch den Multiplexer 30, der einen ersten Inverter gefolgt von einem Transfergatter gefolgt von einem zweiten Inverter aufweisen mag. In dem Speicherschaltkreis 46 ist der erste Inverter tatsächlich durch die AOI-Struktur 58 ersetzt. Da die AOI-Struktur gestapelt („stacked“) ist, mag sie langsamer als ein Inverter sein. Der Anstieg der tDQ ist folglich gleich der Differenz zwischen der Verzögerung durch die AOI-Struktur relativ zu der Verzögerung durch einen Inverter - 5 ps in einigen Beispielen.
  • Das schematische Diagramm der 8 zeigt Aspekte der nachgeordneten Speicher-Logikschaltung 34C, die eine scan-testbare („scantestable“) Variante der nachgeordneten Speicher-Logikschaltung von 6 ist. Die Scan-Aktivieren-(SE)-Leitung („scan-enable“) und Scan-Schalten-Takt-(SCK)-Leitung („scan-shift clock“) sind im normalen Betrieb auf logisch null, so dass der Schaltkreis in der gleichen Weise wie die nachgeordnete Speicher-Logikschaltung 34B operiert. Während des Scantests wird der Takt (CLK) aber anfangs auf logisch null gehalten, so dass die Latchstruktur, die ~Q vorgeordnet ist, die Daten halten. Wenn SE auf logisch eins geht, werden diese Daten dann von der komplementären Latchstruktur gehalten, die dem Scan-Schalten-Ausgang ~SO vorgeordnet ist. Dieses Ereignis wird als „Scanerfassung“ („scan capture“) bezeichnet. Dann schaltet der Scantakt um, um Scan-Schalten durchzuführen („enact“). Wenn das Scan-Schalten durchgeführt worden ist, wird SCK auf logisch null gehalten und SE geht wieder auf logisch null. Dies bewirkt, dass die Daten, die gerade eingeschaltet wurden, von der Latchstruktur gehalten werden, die ~Q vorgeordnet ist. Der Schaltkreis kann dann die normale Operation wiederaufnehmen. Es wird verstanden werden, dass die Scantestfähigkeit des nachgeschalteten Speicher-Logikschaltkreises 18C im Wesentlichen keinen Einfluss auf die normale Operation hat.
  • 9 zeigt schematisch einen anderen Schnellbypass-Speicherschaltkreis 63 in einer Ausführungsform. Dieser Schaltkreis ist dem Speicherschaltkreis 46 der 5 ähnlich, weist aber eine etwas unterschiedliche nachgeordnete Speicher-Logikschaltung 34D auf. Es ist wichtig, dass dieses Design den Ausgangsinverter 55 eliminiert. Die Weglassung des Ausgangsinverters mag die tDQ weiter um etwa 10 ps verkürzen, auf Kosten aber von Treibstärke („drive strength“) und von einer etwas größeren Grundfläche („footprint“).
  • Die Konfigurationen, die oben beschreiben sind, ermöglichen verschiedene Verfahren zum prompten Vorlegen von Eingangsdaten bei einem Datenausgang eines Speicherschaltkreises beim Erhalten eines Taktimpulses in dem Speicherschaltkreis. Einige solche Verfahren werden folglich jetzt als Beispiele beschrieben, weiterhin unter Bezugnahme auf die obigen Konfigurationen. Es wird aber verstanden werden, dass die hier beschriebenen Verfahren, und andere innerhalb des Umfangs dieser Offenbarung, auch mittels anderen Konfigurationen realisiert werden mögen. Die Verfahren mögen zu jedem Zeitpunkt, zu dem der Speicherschaltkreis in Betrieb ist, beigetreten werden, und mögen wiederholt durchgeführt werden. Einige von den Verfahrensschritten, die hierin beschrieben und/oder dargestellt sind, mögen des Weiteren in einigen Ausführungsformen weggelassen werden, ohne dass der Umfang dieser Offenbarung verlassen wird. Die angeführte Reihenfolge der Verfahrensschritte mag in ähnlicher Weise nicht immer notwendig sein, um das beabsichtigte Ergebnis zu erreichen, ist aber zwecks Einfachheit der Darstellung und Beschreibung vorgesehen. Eine oder mehrere der dargestellten Handlungen, Funktionen oder Operationen mögen in Abhängigkeit von der bestimmten Strategie, die benutzt wird, wiederholt durchgeführt werden.
  • 10 stellt ein beispielhaftes Verfahren 64 zum prompten Vorlegen von Eingangsdaten bei einem Datenausgang eines Speicherschaltkreises beim Erhalten eines Taktimpulses in dem Speicherschaltkreis dar. Bei 66 des Verfahrens 64 wird das Erhalten eines Taktimpulses in der vorgeordneten Speicher-Logikschaltung verzögert. Die Verzögerung mag von einem Puffer erwirkt werden, der vorgeordnet zu dem CLK-Eingang der vorgeordneten Speicher-Logikschaltung gekoppelt ist. Bei 68 werden die Eingangsdaten, die dem Speicherschaltkreis bereitgestellt worden sind, beim Erhalten des Taktimpulses in der vorgeschalteten Speicher-Logikschaltung gelatched. Bei 70 werden die gelatchten Eingangsdaten der vorgeschalteten Speicher-Logikschaltung bei der Auswahl-Logikschaltung des Speicherschaltkreises vorgelegt. Bei 72 wird es basierend auf einer Asugabe von dem Speicherschaltkreis festgestellt bzw. bestimmt, ob die Eingangsdaten gelatched sind. Falls die Eingangsdaten gelatched sind, dann geht das Verfahren weiter zu 74, wo die Auswahl-Logikschaltung des Speicherschaltkreises den logischen Zustand der gelatchten Eingangsdaten darlegt. Falls die Eingangsdaten aber nicht gelatched sind, dann geht das Verfahren weiter zu 76, wo die Auswahl-Logikschaltung des Speicherschaltkreises den logischen Zustand der ungelatchten Eingangsdaten darlegt. In dieser Art und Weise legt die Auswahl-Logikschaltung einen logischen Zustand, der von den Eingangsdaten abgeleitet ist, vor die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gelatched sind, und einen logischen Zustand, der von den gelatchten Eingangsdaten abgeleitet ist, nachdem die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gelatched sind, dar.
  • Bei 78 wird der dargelegte logische Zustand der Auswahl-Logikschaltung bei der nachgeordneten Speicher-Logikschaltung vorgelegt. Bei 80 wird der dargelegte logische Zustand, der von der Auswahl-Logikschaltung vorgelegt wurde, in der nachgeordneten Speicher-Logikschaltung gespeichert. Bei 82 wird der logische Zustand, der in der nachgeordneten Speicher-Logikschaltung gespeichert wurde, beim Erhalten des Taktimpulses bei dem Datenausgang vorgelegt. Von 82 geht das Verfahren zurück.
  • Wie oben bemerkt, mögen die hierin beschriebenen Speicherschaltkreise mit Vorteil in solchen logischen Pfaden verwendet werden, wo eine sehr kurze tDQ gewünscht ist und eine annehmbar lange τD zur Verfügung steht. Solche Pfade existieren in zahlreichen variierten Umgebungen in der IC-Mikroarchitektur. Eine beispielhafte Umgebung ist in 11 dargestellt. Diese Zeichnung zeigt schematisch eine Verarbeitungsumgebung 60 - zum Beispiel eine zentrale Verarbeitungseinheit oder eine Grafikverarbeitungseinheit von einem persönlichen Computer, einem Spielsystem oder einem Smartphone. Die Umgebung 60 enthält Mikroprozessor 84, der an den Instruktionsspeicher 86 und den Datenspeicher 88 operativ gekoppelt ist. Verkörpert in RAM-Speicher jeglicher zweckmäßigen Variante mögen die Instruktionsspeicher und Datenspeicher unterschiedlichen physikalischen Speicherstrukturen oder unterschiedlichen Teilen der gleichen physikalischen Speicherstruktur entsprechen.
  • Der Mikroprozessor 84 weist zusätzlich zu zahlreichen Steuer- und Verbindungsstrukturen, die in 11 nicht gezeigt sind, Substrukturen 90 bis 104 auf. Der Mikroprozessor weist insbesondere eine Abruf-Logikschaltung („fetch logic“) 90 auf, die konfiguriert ist zum Auslesen einer Sequenz von Instruktionen aus einem Instruktionscache 70, die in dem Instruktionsspeicher 86 gespeichert ist und aus dem Instruktionsspeicher abgerufen wird. Die Abruf-Logikschaltung ist ferner konfiguriert zum Absenden der Sequenz von Instruktionen an die Decodier-Logikschaltung 92. Die Decodier-Logikschaltung decodiert zum Beispiel die Instruktionen durch Parsen von Op-Codes, Operanden und Adressierungsmodi. Nach dem Parsen werden die Instruktionen von einer Ganzzahleinheit („integer unit“) 94 und/oder von einer Fließkommaeinheit („floating point unit“) 96 ausgeführt.
  • In der in 11 gezeigten Ausführungsform weist die Ganzzahleinheit 94 einen Registerspeicher 98A, eine Ausführungs-Logikschaltung 80A, eine Rückschreibe-Logikschaltung („write-back logic“) 100A und eine Speicher-Logikschaltung 102A auf. Die Fließkommaeinheit 96 weist einen separaten Registerspeicher 98B und separate Ausführungs-, Rückschreibe- und Speicher-Logikschaltungen auf. In anderen Ausführungsformen mögen zumindest einige dieser Strukturen zwischen den Ganzzahl- und Fließkommaeinheiten geteilt („shared“) werden. Als die Instruktionen ausgeführt werden, entstehen eine Sequenz logischer und/oder arithmetischer Ergebnisse in der Ausführungs-Logikschaltung von einer oder beiden Einheiten. Die entsprechende Rückschreibe-Logikschaltung speichert solche Ergebnisse in einem zweckmäßigen Register von dem entsprechenden Registerspeicher. In einigen Architekturen hat die Speicher-Logikschaltung den einzigen bzw. exklusiven Task, Speicher- und Ladeoperationen zu und aus dem Datenspeicher 88 über den Datencache 104 zu verordnen. Obwohl die Umgebung 60 nur einen Verarbeitungskern zeigt, ist jeder Aspekt von dieser Offenbarung ebenso konsistent mit Mehrkern-Prozessoren und -Umgebungen.
  • So gut wie jede der Mikroprozessor-Substrukturen 90 bis 104 mag Logikpfade aufweisen, die den gesamten Datendurchsatz potenziell begrenzen können. In solchen Pfaden mag ein nicht-transparenter Schnellbypass-Speicherschaltkreis mit Vorteil verwendet werden. Der Speicherschaltkreis 10 oder 46 mag zum Beispiel in der Decodier-Logikschaltung 92, Ausführungs-Logikschaltung 80A/B und/oder Rückschreibe-Logikschaltung 100A/B verwendet werden.
  • Eine andere Verwendung für die Speicherschaltkreise 10 oder 46 in den verschiedenen Substrukturen des Mikroprozessors 84 mag zum Reduzieren der Wirkungen von Taktjitter und Taktverzerrung sein. Taktjitter bezeichnet die inhärente Periodenlängenvariation der Impulsfolge von einem Taktgeber; er mag aus verschiedenen Umweltfaktoren entstehen. Taktverzerrung ist ein Szenario, bei dem verschiedene Mikroprozessor-Substrukturen Taktimpulsen erhalten, die aufgrund von sogenannten chipinternen (WID) Verzögerungsvariationen mangelhaft synchronisiert sind. Einige WID Verzögerungsvariationen können sich aus nicht-idealen Zuständen bei der Herstellung ergeben - geometrische und/oder materielle Inkonsistenzen, die zum Beispiel die Impedanzen von Signalpfaden beeinflussen. Andere Verzögerungsvariationen sind lediglich das Ergebnis daraus, dass der Taktimpuls verschiedene Strecken zurücklegen muss, um die verschiedenen Substrukturen des Mikroprozessors zu erreichen.
  • 12 stellt diesen Punkt dar. Die Zeichnung zeigt, als unschattierte rechteckige Kästen, ein beispielhaftes Layout von Substrukturen (zum Beispiel jedem der Substrukturen 90 bis 104) in einem Abschnitt des Mikroprozessors 84. Die Zeichnung zeigt auch einen Taktgeber 106, der einen Taktimpuls an zumindest einige der Substrukturen über Signalpfade unterschiedlicher Länge überträgt. Der Leser wird, wieder mit Bezug auf 1, daran erinnert, dass die vorgeordnete Speicher-Logikschaltung 32 beim Erhalten des Taktimpulses 12 zum Latchen des logischen Zustandes der Eingangsdaten getriggert wird, und dass der Taktimpuls in der vorgeordnete Speicher-Logikschaltung durch den Puffer 36 hindurch erhalten wird. Wie es hierin oben erwähnt wurde, mag der Puffer konfiguriert sein zum Verzögern des Taktimpulses mit einem Betrag, der passend ist, um Zeit-Ausleihen in der Mehrzyklus-Verbindung 108 herbeizuführen, um die Wirkungen von Taktverzerrung und Taktjitter im Mikroprozessor 84 zu reduzieren. Ein Jitterereignis („jitter event“) mag zum Beispiel zur Folge haben, dass eine Taktflanke bei dem Takteingang eines gegebenen Speicherschaltkreises früher als erwartet ankommt. Dadurch wird die Datenvorbereitungszeit („data-setup time“) ts tatsächlich verlängert, was weniger Zeit dafür übrig lässt, dass der logische Zustand an dem Dateneingang vorbereitet („set up“) wird. Durch Verzögern der Ankunft der Taktflanke bei der vorgeordneten Speicher-Logikschaltung 32 mittels Puffers 36 kann es sichergestellt werden, dass der Dateneingang ausreichend Zeit hat, um vorbereitet zu werden, und dass der Speicherschaltkreis den korrekten logischen Zustand der Inputdaten speichert. Es ist bemerkenswert, dass, mit den hierin offenbarten Konfigurationen, diese zusätzliche Pufferverzögerung IDQ nicht erhöhen wird, da die Ausgabe, vor dem Latchen, sich direkt vom Dateneingang 20, nicht von der vorgeordneten Speicher-Logikschaltung, ausbreitet.
  • Die hierin beschriebene Speicherschaltkreise mögen auch in sogenannten Verbindungen der Repeater-Art („repeater-type interconnects“) benutzt werden, die Signale zwischen den verschiedenen Substrukturen des Mikroprozessors 84 tragen. Dieser Aspekt wird weiter mit Bezug auf 12 dargestellt. Die Verbindungen sind in dieser Zeichnung als schattierte Bereiche gezeigt.
  • Insbesondere die Verbindung 108 ist konfiguriert zum Tragen von Daten zwischen zwei Substrukturen des Mikroprozessors 84. Diese Verbindung weist einen monodirektionalen Signalpfad 110 auf, durch welchen ein Datensignal über einen Leiter oder eine Reihe von Leitern getragen wird. In einigen Ausführungsformen mag eine Verbindung einen bidirektionalen Signalpfad aufweisen, zum Beispiel zwei antiparallele monodirektionale Signalpfade. In noch weiteren Ausführungsformen mag eine Verbindung so gut wie jede Multiplizität von monodirektionalen oder bidirektionalen Signalpfaden aufweisen - zum Beispiel 64 bidirektionale Signalpfaden zum bidirektionalen Austauschen von 64-Bit-Daten zwischen Substrukturen des Mikroprozessors.
  • Wie es in 12 dargestellt ist, mag der Signalpfad 110 kürzer als einige Signalpfade, die Daten zu der gleichen Substruktur tragen, und länger als andere sein. Der Unterschied in geometrischer Länge von den verschiedenen Signalpfaden mag potenziell zur asynchronen Ankunft von Daten, die früher synchronisiert waren, in einer Substruktur führen, wie auch WID-Verzögerungsvariationen, die aus Herstellungsinkonsistenzen folgen. Um die Ankunft von Daten in den verschiedenen Mikroprozessorsubstrukturen besser zu synchronisieren, mögen die Verbindung 108 und andere Verbindungen des Mikroprozessors 84 Repeater-basierte Verbindungen sein, in denen jeder Signalpfad zumindest eine taktgesteuerte Speicherstufe 112 aufweist, durch welche ein Datensignal aktiv getrieben wird. In einigen Ausführungsformen mögen einige oder alle Repeater-basierte Verbindungen Mehrzyklus-Repeater-basierten Verbindungen sein, in welchen jeder Signalpfad zwei oder mehr taktgesteuerte Speicherstufen aufweist, die in Reihe angebracht sind. In dieser Konfiguration schaltet ein Datensignal hin und her („toggles“) durch jede taktgesteuerte Speicherstufe der Reihe nach, getrieben von darin erhaltenen synchronisierten Taktimpulsen.
  • 13 zeigt schematisch ein Beispiel von einer taktgesteuerten Speicherstufe 112, die zur Verwendung in der Mehrzyklus-Repeater-basierten Verbindung 108 geeignet ist. In diesem Schaltkreis werden Daten durch den Signalpfad 110 von links nach rechts in der Zeichnung getrieben, zuerst durch die Tiefpassfilterstufe 114 und dann durch den invertierenden Puffer 116. Die Daten werden von dem invertierenden Puffer 116 in invertierter Form an dem D-Eingang eines Speicherschaltkreises appliziert. Der Speicherschaltkreis erhält auch den Taktimpuls 12. Der logische Datenzustand, der an dem D-Eingang erhalten wurde, erscheint prompt beim Erhalten des Taktimpulses an dem Datenausgang Q, wie es oben beschrieben ist. Die taktgesteuerte Speicherstufe 112 weist auch einen invertierenden Puffer 118 auf, der an den Datenausgang Q gekoppelt ist. Das Signal von dem Datenausgang Q wird in dem invertierenden Puffer 118 erhalten, der den Signalpfad 110 auf den gleichen logischen Zustand treibt als der, der am Eingang D erhalten wurde, in Synchronizität mit dem Taktimpuls 112.
  • Wieder mit Bezug auf die 1 und 5 und auf die obige Erläuterungen, mag der Puffer 36 dazu konfiguriert sein, den Taktimpuls mit einem Betrag zu verzögern, der geeignet ist, um Zeit-Ausleihen in der Mehrzyklusverbindung 108 herbeizuführen, um chipinterne Verzögerungsvariationen in den verschiedenen Segmenten der Verbindung auszugleichen („average out“).
  • Beispielhafte Konzepte der vorliegenden Erfindung enthalten:
    • Konzept 1. Ein Speicherschaltkreis, der prompt beim Erhalten eines Taktimpulses Eingangsdaten an einem Datenausgang vorlegt, der Schaltkreis aufweisend: eine vorgeordnete Speicher-Logikschaltung, die zum Latchen der Eingangsdaten beim Erhalten des Taktimpulses konfiguriert ist, eine nachgeordnete Speicher-Logikschaltung, die zum Speichern der gelatchten Eingangsdaten konfiguriert ist, und eine Auswahl-Logikschaltung, die konfiguriert ist zum Darlegen eines logischen Zustandes in Abhängigkeit davon, ob die vorgeordnete Speicher-Logikschaltung die Eingangsdaten gelatched hat, wobei der dargelegte logische Zustand aus den Eingangsdaten, bevor die Eingangsdaten gelatched wurden, und aus den gelatchten Eingangsdaten, nachdem die Eingangsdaten gelatched wurden, hergeleitet wird.
    • Konzept 2. Der Speicherschaltkreis gemäß Konzept 1, ferner aufweisend einen Puffer, durch welchen der Taktimpuls in der vorgeordneten Speicher-Logikschaltung verzögert erhalten wird.
    • Konzept 3. Der Speicherschaltkreis gemäß Konzept 1, wobei die vorgeordnete Speicher-Logikschaltung einen taktgesteuerten Latch der Leseverstärkerart aufweist.
    • Konzept 4. Der Speicherschaltkreis gemäß Konzept 1, wobei ein Output der vorgeordneten Speicher-Logikschaltung erkennen lässt, ob die Eingangsdaten gelatched wurden, und wobei dieser Output der Auswahl-Logikschaltung vorgelegt wird.
    • Konzept 5. Der Speicherschaltkreis gemäß Konzept 4, wobei der Output der vorgeordneten Speicher-Logikschaltung eine erste Steuerleitung und eine zweite Steuerleitung aufweist, die komplementär zu einander sind, wenn die Eingangsdaten gelatched sind, und die einander gleich sind, wenn die Eingangsdaten nicht gelatched sind, und wobei die erste Steuerleitung den logischen Zustand der Eingangsdaten übernimmt, wenn die Eingangsdaten gelatched sind.
    • Konzept 6. Der Speicherschaltkreis gemäß Konzept 1, wobei die vorgeordnete Speicher-Logikschaltung, die nachgeordnete Speicher-Logikschaltung und die Auswahl-Logikschaltung aus komplementärer-MetallOxid-Halbleiter-Elemente gefertigt sind.
    • Konzept 7. Der Speicherschaltkreis gemäß Konzept 1, wobei die vorgeordnete Speicher-Logikschaltung dazu konfiguriert ist, der Auswahl-Logikschaltung die gelatchten Eingangsdaten vorzulegen, wobei die Auswahl-Logikschaltung dazu konfiguriert ist, der nachgeordneten Speicher-Logikschaltung den dargelegten logischen Zustand vorzulegen, und wobei die nachgeordnete Speicher-Logikschaltung dazu konfiguriert ist, den logischen Zustand, der von der Auswahl-Logikschaltung dargestellt ist, zu speichern und den gespeicherten logischen Zustand an dem Datenausgang vorzulegen.
    • Konzept 8. Der Speicherschaltkreis gemäß Konzept 7, wobei der Taktimpuls in der nachgeordneten Speicher-Logikschaltung erhalten wird, bevor er in der vorgeordneten Speicher-Logikschaltung erhalten wird.
    • Konzept 9. Der Speicherschaltkreis gemäß Konzept 1, wobei die nachgeordneten Speicher-Logikschaltung ein taktgesteuerter Latch ist, und wobei ein invertierter Ausgang der nachgeordneten Speicher-Logikschaltung den Datenausgang treibt.
    • Konzept 10. Der Speicherschaltkreis gemäß Konzept 1, wobei die Auswahl-Logikschaltung einen Inverter und eine Und-Oder-Invertier-Struktur aufweist.
    • Konzept 11. Der Speicherschaltkreis gemäß Konzept 1, wobei der gespeicherte logische Zustand, der an dem Datenausgang vorgelegt wird, bis zum Erhalten des Taktimpulses in der nachgeordneten Speicher-Logikschaltung gehalten wird.
    • Konzept 12. Der Speicherschaltkreis gemäß Konzept 1, wobei die vorgeordnete Speicher-Logikschaltung dazu konfiguriert ist, der nachgeordneten Speicher-Logikschaltung die gelatchten Eingangsdaten vorzulegen, wobei die nachgeordnete Speicher-Logikschaltung dazu konfiguriert ist, der Auswahl-Logikschaltung die gespeicherten gelatchten Eingangsdaten vorzulegen, und wobei die Auswahl-Logikschaltung dazu konfiguriert ist, den dargestellten logischen Zustand an dem Datenausgang vorzulegen.
    • Konzept 13. Der Speicherschaltkreis gemäß Konzept 12, wobei der Taktimpuls in der Auswahl-Logikschaltung erhalten wird, bevor er in der vorgeordneten Speicher-Logikschaltung erhalten wird.
    • Konzept 14. Der Speicherschaltkreis gemäß Konzept 12, wobei die vorgeordnete Speicher-Logikschaltung und die nachgeordnete Speicher-Logikschaltung in einem Flipflop gekoppelt sind.
    • Konzept 15. Der Speicherschaltkreis gemäß Konzept 12, wobei die Auswahl-Logikschaltung einen Multiplexer oder ein invertierendes komplexes Gatter („inverting complex gate“) aufweist.
    • Konzept 16. Der Speicherschaltkreis gemäß Konzept 12, wobei der dargestellte logische Zustand, der an dem Datenausgang vorgestellt ist, bis zum Erhalten des Taktimpulses in der Auswahl- Logikschaltung gehalten wird.
    • Konzept 17. Ein Verfahren zum prompten Vorlegen von Eingangsdaten an einem Datenausgang eines Speicherschaltkreises beim Erhalten eines Taktimpulses in dem Speicherschaltkreis, das Verfahren aufweisend:
      • Verzögern des Erhaltens des Taktimpulses in einer vorgeordneten Speicher-Logikschaltung des Speicherschaltkreises, Latchen der Eingangsdaten in der vorgeordneten Speicher-Logikschaltung beim Erhalten des Taktimpulses in der vorgeordneten Speicher-Logikschaltung, und Darlegen, in einer Auswahl-Logikschaltung des Speicherschaltkreises, eines logischen Zustandes, der aus den Eingangsdaten hergeleitet ist, bevor die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gelatched worden sind, und Darlegen eines logischen Zustandes, der aus den gelatchten Eingangsdaten hergeleitet ist, nachdem die Eingangsdaten gelatched worden sind.
    • Konzept 18. Das Verfahren gemäß Konzept 17, ferner aufweisend: Vorlegen der gelatchten Eingangsdaten der vorgeordneten Speicher-Logikschaltung bei der Auswahl-Logikschaltung, Vorlegen des dargestellten logischen Zustandes der Auswahl-Logikschaltung bei der nachgeordneten Speicher-Logikschaltung, Speichern des von der Auswahl-Logikschaltung dargestellten logischen Zustands in der nachgeordneten Speicher-Logikschaltung, und Vorlegen des gespeicherten logischen Zustands von der nachgeordneten Speicher-Logikschaltung bei dem Datenausgang.
    • Konzept 19. Das Verfahren gemäß Konzept 17, ferner aufweisend ein Feststellen, basierend auf einer Ausgabe der vorgeordneten Speicher-Logikschaltung, ob die Eingangsdaten gelatched sind.
    • Konzept 20. Ein Speicherschaltkreis, der prompt beim Erhalten eines Taktimpulses Eingangsdaten an einem Datenausgang vorlegt, der Schaltkreis aufweisend: eine vorgeordnete Speicher-Logikschaltung, die zum Latchen der Eingangsdaten beim Erhalten des Taktimpulses konfiguriert ist, eine Auswahl-Logikschaltung, die konfiguriert ist zum Darlegen eines logischen Zustandes in Abhängigkeit davon, ob die vorgeordnete Speicher-Logikschaltung die Eingangsdaten gelatched hat, wobei der dargelegte logische Zustand aus den Eingangsdaten, bevor die Eingangsdaten gelatched wurden, und aus den gelatchten Eingangsdaten, nachdem die Eingangsdaten gelatched wurden, hergeleitet wird, eine nachgeordnete Speicher-Logikschaltung, die zum Speichern des von der Auswahl-Logikschaltung dargelegten logischen Zustandes und zum Vorstellen des gespeicherten logischen Zustands beim bzw. nach dem Erhalten des Taktimpulses, und einen Puffer, der dazu konfiguriert ist, das Erhalten des Taktimpulses in der vorgeordneten Speicher-Logikschaltung relativ zu dem Erhalten des Taktimpulses in der nahgeschalteten Speicher-Logikschaltung zu verzögern.

Claims (10)

  1. Ein Speicherschaltkreis, der prompt beim Erhalten eines Taktimpulses Eingangsdaten an einem Datenausgang vorlegt, der Schaltkreis aufweisend: eine vorgeordnete Speicher-Logikschaltung (32), die zum Latchen der Eingangsdaten beim Erhalten des Taktimpulses konfiguriert ist, eine nachgeordnete Speicher-Logikschaltung (34a), die zum Speichern der gelatchten Eingangsdaten konfiguriert ist, und eine Auswahl-Logikschaltung (18a), die konfiguriert ist zum Darlegen eines logischen Zustandes in Abhängigkeit davon, ob die vorgeordnete Speicher-Logikschaltung (34a) die Eingangsdaten gelatched hat, wobei der dargelegte logische Zustand aus den Eingangsdaten, bevor die Eingangsdaten gelatched wurden, und aus den gelatchten Eingangsdaten, nachdem die Eingangsdaten gelatched wurden, hergeleitet wird, dadurch gekennzeichnet, dass der Speicherschaltkreis einen Puffer aufweist, durch welchen der Taktimpuls in der vorgeordneten Speicher-Logikschaltung (32) verzögert erhalten wird, wobei ein Ausgang der vorgeordneten Speicher-Logikschaltung (32) erkennen lässt, ob die Eingangsdaten gelatched wurden, und wobei dieser Ausgang der Auswahl-Logikschaltung vorgelegt wird.
  2. Der Speicherschaltkreis gemäß Anspruch 1, wobei die vorgeordnete Speicher-Logikschaltung einen taktgesteuerten Latch der Leseverstärkerart aufweist.
  3. Der Speicherschaltkreis gemäß Anspruch 1, wobei der Ausgang der vorgeordneten Speicher-Logikschaltung eine erste Steuerleitung und eine zweite Steuerleitung aufweist, die komplementär zu einander sind, wenn die Eingangsdaten gelatched sind, und die einander gleich sind, wenn die Eingangsdaten nicht gelatched sind, und wobei die erste Steuerleitung den logischen Zustand der Eingangsdaten übernimmt, wenn die Eingangsdaten gelatched sind.
  4. Der Speicherschaltkreis gemäß einem beliebigen der Ansprüche 1 bis 3, wobei die vorgeordnete Speicher-Logikschaltung dazu konfiguriert ist, der Auswahl-Logikschaltung die gelatchten Eingangsdaten vorzulegen, wobei die Auswahl-Logikschaltung dazu konfiguriert ist, der nachgeordneten Speicher-Logikschaltung den dargelegten logischen Zustand vorzulegen, und wobei die nachgeordnete Speicher-Logikschaltung dazu konfiguriert ist, den logischen Zustand, der von der Auswahl-Logikschaltung dargestellt ist, zu speichern und den gespeicherten logischen Zustand an dem Datenausgang vorzulegen.
  5. Der Speicherschaltkreis gemäß Anspruch 4, wobei der Taktimpuls in der nachgeordneten Speicher-Logikschaltung erhalten wird, bevor er in der vorgeordneten Speicher-Logikschaltung erhalten wird.
  6. Der Speicherschaltkreis gemäß einem beliebigen der Ansprüche 1 bis 5, wobei der gespeicherte logische Zustand, der an dem Datenausgang vorgelegt wird, bis zum Erhalten des Taktimpulses in der nachgeordneten Speicher-Logikschaltung gehalten wird.
  7. Der Speicherschaltkreis gemäß einem beliebigen der Ansprüche 1 bis 6, wobei die vorgeordnete Speicher-Logikschaltung dazu konfiguriert ist, der nachgeordneten Speicher-Logikschaltung die gelatchten Eingangsdaten vorzulegen, wobei die nachgeordnete Speicher-Logikschaltung dazu konfiguriert ist, der Auswahl-Logikschaltung die gespeicherten gelatchten Eingangsdaten vorzulegen, und wobei die Auswahl-Logikschaltung dazu konfiguriert ist, den dargestellten logischen Zustand an dem Datenausgang vorzulegen.
  8. Der Speicherschaltkreis gemäß Anspruch 7, wobei der Taktimpuls in der Auswahl-Logikschaltung erhalten wird, bevor er in der vorgeordneten Speicher-Logikschaltung erhalten wird.
  9. Ein Verfahren zum prompten Vorlegen von Eingangsdaten an einem Datenausgang eines Speicherschaltkreises beim Erhalten eines Taktimpulses in dem Speicherschaltkreis, das Verfahren aufweisend: Verzögern des Erhaltens des Taktimpulses in einer vorgeordneten Speicher-Logikschaltung des Speicherschaltkreises, Latchen der Eingangsdaten in der vorgeordneten Speicher-Logikschaltung beim Erhalten des Taktimpulses in der vorgeordneten Speicher-Logikschaltung, und Darlegen, in einer Auswahl-Logikschaltung des Speicherschaltkreises, eines logischen Zustandes, der aus den Eingangsdaten hergeleitet ist, bevor die Eingangsdaten in der vorgeordneten Speicher-Logikschaltung gelatched worden sind, und Darlegen eines logischen Zustandes, der aus den gelatchten Eingangsdaten hergeleitet ist, nachdem die Eingangsdaten gelatched worden sind, wobei ein Ausgang der vorgeordneten Speicher-Logikschaltung (32) erkennen lässt, ob die Eingangsdaten gelatched wurden, und wobei dieser Ausgang der Auswahl-Logikschaltung vorgelegt wird.
  10. Das Verfahren gemäß Anspruch 9, ferner aufweisend: Vorlegen der gelatchten Eingangsdaten der vorgeordneten Speicher-Logikschaltung bei der Auswahl-Logikschaltung, Vorlegen des dargestellten logischen Zustandes der Auswahl-Logikschaltung bei der nachgeordneten Speicher-Logikschaltung, Speichern des von der Auswahl-Logikschaltung dargestellten logischen Zustands in der nachgeordneten Speicher-Logikschaltung, und Vorlegen des gespeicherten logischen Zustands von der nachgeordneten Speicher-Logikschaltung bei dem Datenausgang.
DE102012222581.1A 2011-12-15 2012-12-07 Schnellbypass-Speicherschaltkreis Active DE102012222581B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/327,693 2011-12-15
US13/327,693 US8848458B2 (en) 2011-12-15 2011-12-15 Fast-bypass memory circuit
US13/447,037 2012-04-13
US13/447,037 US9911470B2 (en) 2011-12-15 2012-04-13 Fast-bypass memory circuit

Publications (2)

Publication Number Publication Date
DE102012222581A1 DE102012222581A1 (de) 2013-06-20
DE102012222581B4 true DE102012222581B4 (de) 2023-09-07

Family

ID=48522301

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012222581.1A Active DE102012222581B4 (de) 2011-12-15 2012-12-07 Schnellbypass-Speicherschaltkreis

Country Status (4)

Country Link
US (1) US9911470B2 (de)
CN (1) CN103165167B (de)
DE (1) DE102012222581B4 (de)
TW (1) TWI629688B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10141930B2 (en) 2013-06-04 2018-11-27 Nvidia Corporation Three state latch
US8908449B1 (en) 2013-09-10 2014-12-09 Freescale Semiconductor, Inc. Master-slave flip-flop with reduced setup time
US9169064B2 (en) * 2014-03-03 2015-10-27 Loubert Joseph Raymond Bag reloading garbage unit
US20200106424A1 (en) 2018-09-27 2020-04-02 Apple Inc. Semi dynamic flop and single stage pulse flop with shadow latch and transparency on both input data edges

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349255A (en) 1993-03-08 1994-09-20 Altera Corporation Programmable tco circuit
US20030210078A1 (en) 2002-05-08 2003-11-13 University Of Southern California Current source evaluation sense-amplifier
US7408393B1 (en) 2007-03-08 2008-08-05 Inphi Corporation Master-slave flip-flop and clocking scheme

Family Cites Families (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3241122A (en) 1961-07-07 1966-03-15 Ibm Asynchronous data processing circuits
US3178590A (en) 1962-04-02 1965-04-13 Ibm Multistate memory circuit employing at least three logic elements
US3381232A (en) 1964-12-02 1968-04-30 Ibm Gated latch
US3413557A (en) 1965-07-02 1968-11-26 Ibm Gated strobing latch for synchronizing data in an asynchronous system
US3474262A (en) 1966-03-30 1969-10-21 Sperry Rand Corp N-state control circuit
US4256411A (en) 1978-12-15 1981-03-17 National Blank Book Company, Inc. File folder with integral loose leaf binder rings
US5032708A (en) * 1989-08-10 1991-07-16 International Business Machines Corp. Write-once-read-once batteryless authentication token
JPH04111297A (ja) 1990-08-30 1992-04-13 Nippon Steel Corp スタティック・ランダム・アクセス・メモリセル
US5262973A (en) 1992-03-13 1993-11-16 Sun Microsystems, Inc. Method and apparatus for optimizing complex arithmetic units for trivial operands
US5422805A (en) 1992-10-21 1995-06-06 Motorola, Inc. Method and apparatus for multiplying two numbers using signed arithmetic
US5898619A (en) 1993-03-01 1999-04-27 Chang; Ko-Min Memory cell having a plural transistor transmission gate and method of formation
US5497355A (en) * 1994-06-03 1996-03-05 Intel Corporation Synchronous address latching for memory arrays
US5586069A (en) 1994-09-30 1996-12-17 Vlsi Technology, Inc. Arithmetic logic unit with zero sum prediction
US5600598A (en) 1994-12-14 1997-02-04 Mosaid Technologies Incorporated Memory cell and wordline driver for embedded DRAM in ASIC process
US5638312A (en) 1995-03-03 1997-06-10 Hal Computer Systems, Inc. Method and apparatus for generating a zero bit status flag in a microprocessor
US5615113A (en) 1995-06-16 1997-03-25 Cyrix Corporation Early signaling of no-overflow for nonrestoring twos complement division
US5867443A (en) 1995-08-17 1999-02-02 The United States Of America As Represented By The Secretary Of The Air Force Shared bitline heterogeneous memory
EP0768758B1 (de) 1995-10-12 2004-01-02 STMicroelectronics S.r.l. Implementierung einer Flip-Flop-Schaltung niedrigen Verbrauchs und hoher Packungsdichte, insbesondere für Standardzellen-Bibliotheken
US5835941A (en) 1995-11-17 1998-11-10 Micron Technology Inc. Internally cached static random access memory architecture
US6055590A (en) 1996-06-05 2000-04-25 Compaq Computer Corporation Bridge circuit comprising independent transaction buffers with control logic adapted to store overflow data in second buffer when transaction size exceeds the first buffer size
GB2317466B (en) 1996-09-23 2000-11-08 Advanced Risc Mach Ltd Data processing condition code flags
US6260165B1 (en) 1996-10-18 2001-07-10 Texas Instruments Incorporated Accelerating scan test by re-using response data as stimulus data
US6009451A (en) 1996-11-22 1999-12-28 Lucent Technologies Inc. Method for generating barrel shifter result flags directly from input data
CA2198839C (en) 1997-02-28 2004-11-02 Richard C. Foss Enhanced asic process cell
US6172935B1 (en) * 1997-04-25 2001-01-09 Micron Technology, Inc. Synchronous dynamic random access memory device
US5903171A (en) 1997-05-29 1999-05-11 Winbond Electronics Corporation Sense amplifier with integrated latch and level shift
US6084856A (en) 1997-12-18 2000-07-04 Advanced Micro Devices, Inc. Method and apparatus for adjusting overflow buffers and flow control watermark levels
GB2346022B (en) 1997-12-22 2000-10-25 Lsi Logic Corp Controllable latch/register circuit
US6222757B1 (en) 1998-02-25 2001-04-24 Xilinx, Inc. Configuration memory architecture for FPGA
US5978311A (en) 1998-03-03 1999-11-02 Micron Technology, Inc. Memory with combined synchronous burst and bus efficient functionality
US6580411B1 (en) 1998-04-28 2003-06-17 Sharp Kabushiki Kaisha Latch circuit, shift register circuit and image display device operated with a low consumption of power
US6041008A (en) 1998-05-13 2000-03-21 Micron Technology Inc. Method and apparatus for embedded read only memory in static random access memory
US6400735B1 (en) 1998-06-22 2002-06-04 Xilinx, Inc. Glitchless delay line using gray code multiplexer
US6263331B1 (en) 1998-07-30 2001-07-17 Unisys Corporation Hybrid hash join process
US6263410B1 (en) 1998-09-15 2001-07-17 Industrial Technology Research Institute Apparatus and method for asynchronous dual port FIFO
US6173303B1 (en) 1998-11-06 2001-01-09 National Semiconductor Corp. Multiply circuit and method that detects portions of operands whose partial products are superfluous and modifies partial product manipulation accordingly
KR100351889B1 (ko) * 1998-11-13 2002-11-18 주식회사 하이닉스반도체 카스(cas)레이턴시(latency) 제어 회로
JP3510507B2 (ja) 1998-11-27 2004-03-29 Necマイクロシステム株式会社 ラッチ回路
KR100301059B1 (ko) 1999-07-20 2001-11-01 윤종용 완전 씨모스 에스램 셀
US6304505B1 (en) 2000-05-22 2001-10-16 Micron Technology Inc. Differential correlated double sampling DRAM sense amplifier
US6452433B1 (en) * 2000-05-31 2002-09-17 Conexant Systems, Inc. High phase margin low power flip-flop
US6747485B1 (en) 2000-06-28 2004-06-08 Sun Microsystems, Inc. Sense amplifier type input receiver with improved clk to Q
CA2313948A1 (en) * 2000-07-07 2002-01-07 Mosaid Technologies Incorporated Low delay, conditional differential data sense and capture scheme for a high speed dram
US6300809B1 (en) 2000-07-14 2001-10-09 International Business Machines Corporation Double-edge-triggered flip-flop providing two data transitions per clock cycle
US7333516B1 (en) * 2000-07-20 2008-02-19 Silicon Graphics, Inc. Interface for synchronous data transfer between domains clocked at different frequencies
US6366529B1 (en) 2000-08-30 2002-04-02 Texas Instruments Incorporated Fast FiFo memory storage system
US6794915B2 (en) 2000-11-10 2004-09-21 Leonid B. Goldgeisser MOS latch with three stable operating points
US6438024B1 (en) 2001-01-11 2002-08-20 Sun Microsystems, Inc. Combining RAM and ROM into a single memory array
US6396309B1 (en) 2001-04-02 2002-05-28 Intel Corporation Clocked sense amplifier flip flop with keepers to prevent floating nodes
JP2002342104A (ja) 2001-05-18 2002-11-29 Hitachi Ltd 制御装置及びそれを用いた光ディスク装置
JP4339532B2 (ja) 2001-07-25 2009-10-07 富士通マイクロエレクトロニクス株式会社 セルフタイミング回路を有するスタティックメモリ
US6987775B1 (en) 2001-08-15 2006-01-17 Internet Machines Corp. Variable size First In First Out (FIFO) memory with head and tail caching
US6472920B1 (en) 2001-09-17 2002-10-29 Agere Systems Inc. High speed latch circuit
US6765410B2 (en) 2001-12-20 2004-07-20 Sun Microsystems, Inc. Method and apparatus for performing a hazard-free multi-bit comparison
US6801991B2 (en) 2001-12-21 2004-10-05 Agere Systems Inc. Method and apparatus for buffer partitioning without loss of data
US7051169B2 (en) 2002-02-26 2006-05-23 Kyocera Wireless Corp. Memory configuration for a wireless communications device
JP4095367B2 (ja) 2002-07-23 2008-06-04 株式会社東芝 半導体集積回路装置
JP2004072426A (ja) 2002-08-06 2004-03-04 Renesas Technology Corp マスタースレーブフリップフロップ回路
KR100434509B1 (ko) 2002-08-07 2004-06-05 삼성전자주식회사 동기식 리셋 또는 비동기식 리셋 기능을 갖는 감지증폭기
US6803610B2 (en) 2002-09-30 2004-10-12 Mosaid Technologies Incorporated Optimized memory cell physical arrangement
US7227798B2 (en) 2002-10-07 2007-06-05 Stmicroelectronics Pvt. Ltd. Latch-type sense amplifier
JP4497874B2 (ja) 2002-12-13 2010-07-07 株式会社ルネサステクノロジ 半導体集積回路及びicカード
JP4122970B2 (ja) 2002-12-27 2008-07-23 ソニー株式会社 フリップフロップ
US6741111B1 (en) * 2003-04-21 2004-05-25 Pericom Semiconductor Corp. Data register for buffering double-data-rate DRAMs with reduced data-input-path power consumption
US6822908B1 (en) 2003-05-08 2004-11-23 Micron Technology, Inc. Synchronous up/down address generator for burst mode read
US7437634B2 (en) 2003-05-13 2008-10-14 Intel Corporation Test scan cells
US20050040856A1 (en) 2003-08-22 2005-02-24 Ravindraraj Ramaraju Domino circuitry compatible static latch
US7162673B2 (en) 2003-11-14 2007-01-09 Integrated Device Technology, Inc. Scan chain registers that utilize feedback paths within latch units to support toggling of latch unit outputs during enhanced delay fault testing
JP2005174504A (ja) 2003-12-15 2005-06-30 Matsushita Electric Ind Co Ltd 半導体集積回路
US6924683B1 (en) * 2003-12-19 2005-08-02 Integrated Device Technology, Inc. Edge accelerated sense amplifier flip-flop with high fanout drive capability
JP2005303464A (ja) * 2004-04-07 2005-10-27 Toshiba Corp フリップフロップ
US7057421B2 (en) 2004-04-22 2006-06-06 Winbond Electronics Corp. Flipflop
US7106098B1 (en) 2004-05-04 2006-09-12 Xilinx, Inc. Split FIFO configuration of block RAM
KR100618862B1 (ko) 2004-09-09 2006-08-31 삼성전자주식회사 낮은 공통모드 싱글 엔디드 차동 입력신호를 사용하는감지증폭기
US7346861B1 (en) 2004-12-02 2008-03-18 Altera Corporation Programmable logic devices with two-phase latch circuitry
US7187222B2 (en) 2004-12-17 2007-03-06 Seiko Epson Corporation CMOS master/slave flip-flop with integrated multiplexor
US7882299B2 (en) 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7283404B2 (en) 2005-02-11 2007-10-16 International Business Machines Corporation Content addressable memory including a dual mode cycle boundary latch
US7242235B1 (en) * 2005-02-25 2007-07-10 Exar Corporation Dual data rate flip-flop
US7196552B2 (en) 2005-04-12 2007-03-27 Hewlett-Packard Development Company, L.P. Comparator circuit with offset cancellation
US7415645B2 (en) 2005-07-28 2008-08-19 International Business Machines Corporation Method and apparatus for soft-error immune and self-correcting latches
DE602006016537D1 (de) 2005-11-25 2010-10-14 Semiconductor Energy Lab Betriebsverfahren und Anordnung eines Halbleiterspeichers
JP4571903B2 (ja) 2005-12-02 2010-10-27 富士通株式会社 演算処理装置,情報処理装置,及び演算処理方法
DE102005060394B4 (de) 2005-12-16 2012-10-11 Infineon Technologies Ag Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
US7304903B2 (en) 2006-01-23 2007-12-04 Purdue Research Foundation Sense amplifier circuit
JP4989900B2 (ja) 2006-01-31 2012-08-01 ルネサスエレクトロニクス株式会社 並列演算処理装置
US7603246B2 (en) 2006-03-31 2009-10-13 Nvidia Corporation Data interface calibration
US7405606B2 (en) 2006-04-03 2008-07-29 Intellectual Ventures Fund 27 Llc D flip-flop
US20070247885A1 (en) 2006-04-25 2007-10-25 Renesas Technology Corp. Content addressable memory
US7414903B2 (en) 2006-04-28 2008-08-19 Nscore Inc. Nonvolatile memory device with test mechanism
US7783911B2 (en) 2006-06-27 2010-08-24 International Business Machines Corporation Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements
US7739538B2 (en) 2006-06-27 2010-06-15 International Business Machines Corporation Double data rate chaining for synchronous DDR interfaces
JP5013768B2 (ja) 2006-08-03 2012-08-29 ルネサスエレクトロニクス株式会社 インターフェイス回路
US7499347B2 (en) 2006-08-09 2009-03-03 Qualcomm Incorporated Self-timing circuit with programmable delay and programmable accelerator circuits
TWI308223B (en) 2006-10-05 2009-04-01 Princeton Technology Corp Chip testing device and system
US7532078B2 (en) 2007-02-09 2009-05-12 International Business Machines Corporation Scannable virtual rail method and ring oscillator circuit for measuring variations in device characteristics
JP4888184B2 (ja) 2007-03-26 2012-02-29 ティアック株式会社 記憶装置
ATE495489T1 (de) 2007-05-16 2011-01-15 Nxp Bv Fifo-puffer
US7498850B2 (en) 2007-06-22 2009-03-03 Intel Corporation Compensated comparator for use in lower voltage, higher speed non-volatile memory
JP2009043342A (ja) * 2007-08-09 2009-02-26 Panasonic Corp 半導体記憶装置
US20090115488A1 (en) 2007-11-06 2009-05-07 Jordi Cortadella Variability-Aware Asynchronous Scheme Based on Two-Phase Protocols Using a Gated Latch Enable Scheme
JP2009163787A (ja) 2007-12-28 2009-07-23 Toshiba Corp 半導体記憶装置
US7760562B2 (en) 2008-03-13 2010-07-20 Qualcomm Incorporated Address multiplexing in pseudo-dual port memory
US8164966B2 (en) 2008-10-27 2012-04-24 ASIC North Variable-loop-path ring oscillator test circuit and systems and methods utilizing same
US7808279B2 (en) 2008-11-03 2010-10-05 Freescale Semiconductor, Inc. Low power, self-gated, pulse triggered clock gating cell
US8352530B2 (en) 2008-12-08 2013-01-08 International Business Machines Corporation Residue calculation with built-in correction in a floating point unit positioned at different levels using correction values provided by multiplexer
JP2010160653A (ja) 2009-01-07 2010-07-22 Renesas Electronics Corp リングバッファ回路及びその制御回路
US7760117B1 (en) 2009-01-16 2010-07-20 Mediatek Inc. Flip-flop and pipelined analog-to-digital converter utilizing the same
US8363492B2 (en) 2009-05-27 2013-01-29 Panasonic Corporation Delay adjustment device and delay adjustment method
US8065572B2 (en) 2009-06-30 2011-11-22 Oracle America, Inc. At-speed scan testing of memory arrays
US8127057B2 (en) 2009-08-13 2012-02-28 Advanced Micro Devices, Inc. Multi-level buffering of transactional data
US8654568B2 (en) 2009-08-24 2014-02-18 Texas Instruments Incorporated 10T SRAM cell with near dual port functionality
WO2011027501A1 (ja) 2009-09-02 2011-03-10 パナソニック株式会社 半導体記憶装置
US7996739B2 (en) 2009-09-11 2011-08-09 International Business Machines Corporation Avoiding race conditions at clock domain crossings in an edge based scan design
US8369177B2 (en) 2010-03-05 2013-02-05 Micron Technology, Inc. Techniques for reading from and/or writing to a semiconductor memory device
US8861720B2 (en) 2010-07-28 2014-10-14 The Ritsumeikan Trust Tamper-resistant memory integrated circuit and encryption circuit using same
US8330517B1 (en) 2010-12-21 2012-12-11 Xilinx, Inc. Bistable circuit with metastability resistance
US8742796B2 (en) 2011-01-18 2014-06-03 Nvidia Corporation Low energy flip-flops
US8453096B2 (en) 2011-01-28 2013-05-28 Lsi Corporation Non-linear common coarse delay system and method for delaying data strobe
US8762444B2 (en) 2011-09-28 2014-06-24 Nvidia Corporation Fast condition code generation for arithmetic logic unit
US8565034B1 (en) 2011-09-30 2013-10-22 Altera Corporation Variation compensation circuitry for memory interface
US8848458B2 (en) 2011-12-15 2014-09-30 Nvidia Corporation Fast-bypass memory circuit
US8760208B2 (en) 2012-03-30 2014-06-24 Intel Corporation Latch with a feedback circuit
US20140003160A1 (en) 2012-06-28 2014-01-02 Lsi Corporation High-Speed Sensing Scheme for Memory
CN103632712A (zh) 2012-08-27 2014-03-12 辉达公司 存储单元和存储器
US20140129745A1 (en) 2012-11-08 2014-05-08 Nvidia Corporation Asymmetric fifo memory
US8964457B2 (en) 2012-11-30 2015-02-24 Taiwan Semiconductor Manufacturing Company, Ltd. Methods for operating SRAM cells
US9281817B2 (en) 2012-12-31 2016-03-08 Nvidia Corporation Power conservation using gray-coded address sequencing
US8830766B2 (en) 2013-01-23 2014-09-09 Lsi Corporation Margin free PVT tolerant fast self-timed sense amplifier reset circuit
US20140244921A1 (en) 2013-02-26 2014-08-28 Nvidia Corporation Asymmetric multithreaded fifo memory
US20140355362A1 (en) 2013-06-04 2014-12-04 Nvidia Corporation Pipelined one cycle throughput for single-port 6t ram
US10141930B2 (en) 2013-06-04 2018-11-27 Nvidia Corporation Three state latch
US9418714B2 (en) 2013-07-12 2016-08-16 Nvidia Corporation Sense amplifier with transistor threshold compensation
US8908449B1 (en) 2013-09-10 2014-12-09 Freescale Semiconductor, Inc. Master-slave flip-flop with reduced setup time
US9525401B2 (en) 2015-03-11 2016-12-20 Nvidia Corporation Low clocking power flip-flop

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349255A (en) 1993-03-08 1994-09-20 Altera Corporation Programmable tco circuit
US20030210078A1 (en) 2002-05-08 2003-11-13 University Of Southern California Current source evaluation sense-amplifier
US7408393B1 (en) 2007-03-08 2008-08-05 Inphi Corporation Master-slave flip-flop and clocking scheme

Also Published As

Publication number Publication date
US9911470B2 (en) 2018-03-06
TWI629688B (zh) 2018-07-11
DE102012222581A1 (de) 2013-06-20
CN103165167A (zh) 2013-06-19
CN103165167B (zh) 2015-12-23
US20130155783A1 (en) 2013-06-20
TW201346929A (zh) 2013-11-16

Similar Documents

Publication Publication Date Title
DE60202749T2 (de) Schnittstelle von synchron zu asynchron zu synchron
DE4212202C2 (de) Logikgatter
DE102005060394B4 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE102012202747B4 (de) Doppeltrigger-Niedrigenergie-Flip-Flop-Schaltung
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE4326134B4 (de) Eingangswechseldetektorschaltung
DE102012222581B4 (de) Schnellbypass-Speicherschaltkreis
DE2728676A1 (de) Stufenempfindliches, als monolithisch hochintegrierte schaltung ausgefuehrtes system aus logischen schaltungen mit darin eingebetteter matrixanordnung
DE102005056278B4 (de) Flip-Flop-Vorrichtung und Verfahren zum Speichern und Ausgeben eines Datenwerts
DE2360762A1 (de) Elementarschaltungsanordnung fuer schaltwerke zur durchfuehrung von datenverarbeitungsoperationen
DE102012219056A1 (de) Störimpulsfreier programmierbarer Taktformer
DE60226141T2 (de) Fifo-speicher system und verfahren dafür
DE102012112352A1 (de) Scan-Flip-Flop, Verfahren davon und Vorrichtung mit demselben
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE69533567T2 (de) Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
DE102009012768B4 (de) JTAG Nachrichtenbox
DE102016115922A1 (de) Halbleiterschaltung
WO2005039050A2 (de) Master-latchschaltung mit signalpegelverschiebung für ein dynamisches flip-flop
US8848458B2 (en) Fast-bypass memory circuit
DE112008003831B4 (de) Synchrone sequentielle Logikvorrichtung mit doppelt getriggerten Flipflops sowie eine Methode zum gezielt zeitversetzten Triggern solcher zustandsspeichernden Register
EP1221097B1 (de) Schaltungszelle zur testmuster-generierung und testmuster-kompression
DE60023643T2 (de) Abtaststruktur für CMOS Speicherelemente
DE102009035022B4 (de) Makrozelle zum Addieren
EP1440324B1 (de) Elektronischer baustein mit ausgangsbuffersteuerung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division