DE102013114341A1 - Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung - Google Patents

Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung Download PDF

Info

Publication number
DE102013114341A1
DE102013114341A1 DE201310114341 DE102013114341A DE102013114341A1 DE 102013114341 A1 DE102013114341 A1 DE 102013114341A1 DE 201310114341 DE201310114341 DE 201310114341 DE 102013114341 A DE102013114341 A DE 102013114341A DE 102013114341 A1 DE102013114341 A1 DE 102013114341A1
Authority
DE
Germany
Prior art keywords
circuit
latch circuit
latch
combinational logic
logic circuit
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.)
Granted
Application number
DE201310114341
Other languages
English (en)
Other versions
DE102013114341B4 (de
Inventor
William J. Dally
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
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102013114341A1 publication Critical patent/DE102013114341A1/de
Application granted granted Critical
Publication of DE102013114341B4 publication Critical patent/DE102013114341B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • H03K19/096Synchronous circuits, i.e. using clock signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

Es werden ein System, ein Verfahren und ein Computerprogrammprodukt zur Umwandlung eines Entwurfs von einer flankengesteuerten Taktung zu einer nicht-überlappenden Zwei-Phasen-Taktung offenbart. Das Verfahren umfasst die Schritte: Ersetzen einer flankengesteuerten Flipflop-Schaltung, die mit einer kombinatorischen Logikschaltung verbunden ist, durch ein Paar an Signalspeichern, das eine erste Signalspeicherschaltung und eine zweite Signalspeicherschaltung enthält, und Ermitteln eines Mittelpunkts der kombinatorischen Logikschaltung auf der Grundlage einer Timinginformation. Die zweite Signalspeicherschaltung wird bis zu einem Mittelpunkt der kombinatorischen Logikschaltung verbreitet, und es werden nicht-überlappende Zwei-Phasen-Taktsignale dem Paar an Signalspeichern zugeleitet.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Schaltungen und insbesondere eine Zwei-Phasen-Taktung von Schaltungen.
  • HINTERGRUND
  • Konventionelle Bauelemente, etwa Mikroprozessoren und Grafikprozessoren, beruhen typischerweise auf flankengesteuerten Flipflops für die Pipeline-Verarbeitung von Datenpfaden und zur Einrichtung einer sequenziellen Logik. Wenn die Logik zwischen zwei flankengesteuerten Flipflops eine geringe Verzögerung besitzt, insbesondere, wenn die Verzögerung sich der Haltezeit annähert, die für einen korrekten Betrieb erforderlich ist, wird von Timing-Werkzeugen zusätzliche Schaltung in den Pfad eingefügt, um die Verletzung der Haltezeit zu beheben. Für alle anderen Zwecke als zur Sicherstellung, dass die Verletzungen der Haltezeit behoben sind, ist die Einfügung einer zusätzlichen Schaltung unerwünscht, da die zusätzliche Schaltung Platz auf dem Chip einnimmt und während des Betriebs Leistung verbraucht.
  • Es besteht daher einen Bedarf zur Reduzierung von Verletzungen der Haltezeit und/oder zur Lösung anderer Probleme, die mit dem Stand der Technik einhergehen.
  • ÜBERBLICK
  • Es sind ein System, ein Verfahren und ein Computerprogrammprodukt zur Umwandlung eines Schaltungsentwurf von einer flankengesteuerte Taktung auf eine nicht-überlappende Zwei-Phasen-Taktung offenbart. Das Verfahren umfasst die Schritte: Ersetzen einer flankengesteuerten Flipflop-Schaltung, die mit einer kombinatorischen Logikschaltung verbunden ist, mit einem Paar an Signalspeichern (latches), die eine erste Signalspeicherschaltung (latch circuit) und eine zweite Signalspeicherschaltung enthalten, und Ermitteln eines Mittelpunkts (midpoint) der kombinatorischen Logikschaltung auf der Grundlage einer Timinginformation. Die zweite Signalspeicherschaltung wird bis zu einem Mittelpunkt der kombinatorischen Logikschaltung ausgebreitet (propagating) und die nicht-überlappenden Zwei-Phasen-Taktsignale werden dem Paar aus Signalspeichern zugeleitet.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A zeigt einen Pfad, der als Pipeline betrieben wird unter Verwendung einer flankengesteuerten Taktung mit einer aufgeteilten kombinatorischen Logik gemäß einer Ausführungsform;
  • 1B zeigt den Pfad, der in 1A gezeigt ist und umgewandelt ist, um eine nicht-überlappende Zwei-Phasen-Taktung gemäß einer Ausführungsform zu verwenden;
  • 1C zeigt den in 1B gezeigten Pfad mit der aufgeteilten kombinatorischen Logikschaltung, die zwischen Signalspeichern verteilt ist, gemäß einer Ausführungsform;
  • 2 zeigt ein Flussdiagramm eines Verfahrens zur Umwandlung eines Schaltungsentwurfs von einer flankengesteuerten Taktung zu einer nicht-überlappenden Zwei-Phasen-Taktung gemäß einer Ausführungsform;
  • 3A zeigt eine nicht-wiederherstellende statische Signalspeicherschaltung gemäß einer Ausführungsform;
  • 3B zeigt nicht-wiederherstellende statische Signalspeicher, die mit einer wiederherstellenden Logik gemäß einer Ausführungsform verbunden sind;
  • 3C zeigt ein Timingdiagramm der nicht-überlappenden Zwei-Phasen-Taktsignale gemäß einer Ausführungsform;
  • 3D zeigt eine Pulserzeugungsschaltung gemäß einer Ausführungsform;
  • 4A zeigt einen Pfad, der umgewandelt ist, um eine nicht-überlappende Zwei-Phasen-Taktung mit Abtastung gemäß einer Ausführungsform zu verwenden;
  • 4B zeigt einen nicht-wiederherstellenden Haupt-Signalspeicher bzw. Master-Signalspeicher mit Abtastschaltung gemäß einer Ausführungsform;
  • 5A zeigt einen Pfad, der sowohl die nicht-überlappende Zwei-Phasen-Taktung als auch eine flankengesteuerte Taktung gemäß einer Ausführungsform verwendet;
  • 5B ist ein Flussdiagramm eines Verfahrens zur Umwandlung eines Schaltungsentwurf von einer flankengesteuerten Taktung in eine nicht-überlappende Zwei-Phasen-Taktung gemäß einer Ausführungsform;
  • 6A ist eine Blockansicht, die einen Prozessor/Chip zeigt, der eine Gestaltung enthält, die umgewandelt ist, um eine nicht-überlappende Zwei-Phasen-Taktung gemäß einer Ausführungsform zu verwenden; und
  • 6B zeigt ein anschauliches System, in welchem die diversen Architekturen und/oder Funktionen der diversen vorhergehenden Ausführungsformen realisiert werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Das Zeitverhalten eines Schaltungsentwurfs bzw. einer Schaltungsgestaltung unter Anwendung flankengesteuerter Flipflops kann verbessert werden, indem der Schaltungsentwurf umgewandelt wird, so dass Signalspeicher verwendet werden, die unter Anwendung von nicht-überlappenden Zwei-Phasen-Taktsignalen getaktet sind. Es werden Haltezeitverletzungen vermieden, da die Zwei-Phasen-Taktung nicht-überlappende Zwei-Phasen-Taktsignale verwendet, um separat einen Haupt-Signalspeicher und einen Neben-Signalspeicher zu aktivieren. Es besteht keine Notwendigkeit, eine zusätzliche Schaltung in Pfade einzufügen, um Haltezeitverletzungen zu beheben. Ferner macht die Zeitausleihe zwischen Phasen die Schaltung weniger empfindlich für Takt-Jitter und Versatz, wodurch die Zeitsteuerungstoleranz weiter verbessert wird.
  • 1A zeigt einen als Pipeline betriebenen Pfad 100 mit einem Flipflop 105 unter Verwendung einer flankengesteuerten Taktung mit einer kombinatorischen Logik, die aufgeteilt ist, gemäß einer Ausführungsform. Die kombinatorische Logik ist in zwei Teile aufgeteilt, in Logikschaltungen 110 und 115 mit ungefähr gleicher Verzögerung. Die kombinatorische Logik ist an einem Mittelpunkt aufgeteilt, der ein Knoten ist, an welchem eine Ausbreitungsverzögerung eines Signals aus dem Ausgang des Flipflops 105 durch die Logikschaltung 110 ungefähr gleich der Ausbreitungsverzögerung des Signals durch die Logikschaltung 115 zu dem Eingang des Flipflops 105 ist. In einer Ausführungsform wird der Mittelpunkt ermittelt unter Anwendung eines konventionellen Timing-Analysewerkzeugs, das Timinginformation für den als Pipeline betriebenen Pfad 100 erzeugt.
  • 1B zeigt den als Pipeline betriebenen Pfad 120, der erzeugt wird, indem der als Pipeline betriebene Pfad 100, der in 1A gezeigt ist, umgewandelt wird, um eine nicht-überlappende Zwei-Phasen-Taktung gemäß einer Ausführungsform zu verwenden. Das Flipflop 105 ist durch ein Paar aus Signalspeichern 135A und 135B ersetzt. Der Signalspeicher 135A wird direkt von clkN angesteuert, und der Signalspeicher 135B wird von Clk_pulse angesteuert, d. h. einem nicht-überlappenden Zwei-Phasen-Taktpuls, der von einem Pulsgenerator 108 ausgegeben wird. Für jeden Puls von clkN erzeugt der Pulsgenerator 108 eine schmälere Version von clk (d. h. invertiertes clkN), die während der Zeitdauer innerhalb der Taktperiode zentriert wird, wenn clkN auf tiefem Pegel liegt. Obwohl der als Pipeline betriebene Pfad 120 ein umgewandelter als Pipeline betriebener Pfad ist, der korrekt funktioniert, wie der als Pipeline betriebene Pfad 100, hat der als Pipeline betriebene Pfad 120 eine große Einfügeverzögerung aufgrund der Verzögerung, die der Pulsgenerator 108 einführt, um sicherzustellen, dass die Pulse von clkN und Clk_pulse aufgrund der Takt-Versetzung nicht überlappen.
  • 1C zeigt einen umgewandelten als Pipeline betriebenen Pfad 130, der erzeugt wird, indem der als Pipeline betriebene Pfad 120, der in 1B gezeigt ist, umgewandelt wird, so dass der zweite Signalspeicher des Signalspeicherpaars zu einem Mittelpunkt der aufgeteilten kombinatorischen Logik gemäß einer Ausführungsform verschoben wird. Der Signalspeicher 135A kann als ein Haupt-Signalspeicher ausgebildet sein, der eine Abtastschaltung enthält, und der Signalspeicher 135B kann als ein Neben-Signalspeicher ausgebildet sein. Der Signalspeicher 135B ist auf eine Position zwischen der Logikschaltung 110 und der Logikschaltung 115 verschoben. Im Vergleich zu dem als Pipeline betriebenen Pfad 100 hat der umgewandelte als Pipeline betriebene Pfad 130 eine kleinere Einfügeverzögerung, ist größtenteils unempfindlich für eine Takt-Versetzung und für Jitter, und kann Zeitausleihtechniken realisieren, um Randbedingungen der Zeitsteuerung zu erfüllen. Die Zeitausleihe erlaubt es der Logikschaltung 115, eine größere Verzögerung im Vergleich zu der Logikschaltung 110 oder umgekehrt zu haben, so dass Zeit über den Signalspeicher 135B „ausgeliehen” wird, während die kombinierte Verzögerung der Logikschaltung 110 und 115 die Randbedingungen der Zeitsteuerung für einen Taktzyklus erfüllt. Da die Verzögerung der kombinatorischen Logik von einem Eingang zu unterschiedlichen Ausgängen variiert, kann die Verzögerung des Einganges des Signalspeichers 135B sich von der Verzögerung am Eingang des Signalspeichers 135A unterscheiden, nachdem eine Signalausbreitung am Signalspeicher 135A stattgefunden hat.
  • 2 zeigt ein Flussdiagramm 200 eines Verfahrens zur Umwandlung eines Schaltungsentwurfs von einer flankengesteuerten Taktung zu einer nicht-überlappenden Zwei-Phasen-Taktung gemäß einer Ausführungsform. Im Schritt 210 wird eine flankengesteuerte Flipflop-Schaltung, die mit einer kombinatorischen Logikschaltung verbunden ist, durch ein Paar an Signalspeicher (d. h. eine Haupt-Signalspeicherschaltung und eine Neben-Signalspeicherschaltung) ersetzt. Im Schritt 215 wird ein Mittelpunkt der kombinatorischen Logikschaltung auf der Grundlage einer Timinginformation ermittelt. Im Schritt 220 wird die zweite Signalspeicherschaltung zu einem Mittelpunkt der kombinatorischen Logikschaltung ausgebreitet. Im Schritt 225 werden nicht-überlappende Zwei-Phasen-Taktsignale dem Paar an Signalspeichern zugeleitet.
  • Es wird nun anschaulichere Information im Hinblick auf diverse optionale Architekturen und Eigenschaften angegeben, mit der die vorhergehende Technik realisiert werden kann oder auch nicht, wobei dies von den Bedürfnissen des Anwenders abhängt. Es ist jedoch dringend zu beachten, dass die folgende Information nur für anschauliche Zwecke angegeben ist und in keiner Weise als einschränkend erachtet werden sollte. Jedes der folgenden Merkmale kann optional mit oder ohne Ausschluss anderer beschriebener Merkmale integriert werden.
  • Die Verbreitung von Signalspeichern entlang von Pfaden in kombinatorischen Logikschaltungen kann unter Anwendung der Werkzeuge erreicht werden, die zur Ausführung einer automatischen Timingsteuerung verwendet werden. In einer Ausführungsform kann ein Schaltungsentwurf, in welchem eine flankengesteuerte Taktung verwendet ist, umgewandelt werden, um eine nicht-überlappende Zwei-Phasen-Taktung zu verwenden, indem doppelt so viele Pipeline-Stufen eingefügt werden, als im Schaltungsentwurf benötigt werden. Es können Werkzeuge zur automatischen Neu-Timingsteuerung verwendet werden, um die flankengesteuerten Flipflops gleichmäßig über die Ausbreitungsverzögerung der Logikschaltung zu verteilen, und um dann die flankengesteuerten Flipflops durch Signalspeicherpaare zu ersetzen. Die nicht-überlappenden Zwei-Phasen-Taktsignale werden dann den Signalspeicherpaaren zugeleitet, wobei ein erster Signalspeicher des Signalspeicherpaars das Taktsignal clkN und ein zweiter Signalspeicher jedes Signalspeicherpaars das Taktsignal clk_pulse empfängt.
  • Wenn die nicht-überlappende Zwei-Phasen-Taktung anstelle einer flankengesteuerten Taktung verwendet wird, sind die Wirkungen der Taktsignal-Versetzung und des Takt-Jitters reduziert. Die Einfügeverzögerung wird ebenfalls minimiert, wenn jedes Flipflop mit einer großen Einfügeverzögerung ts + tdcq durch ein Paar aus nicht-wiederherstellenden Signalspeichern ersetzt wird, die eine kleinere Ausbreitungsverzögerung besitzen, wobei ts die Einrichtzeit und tdcq die Verzögerung von einer Taktflanke bis zu einem Übergang des Ausgangs Q ist.
  • Um einige geringe Einfügeverzögerung zu erhalten, sollte die Ausbreitungsverzögerung des Signalspeichers möglichst klein gemacht werden. Eine Vorgehensweise für eine Signalspeicherschaltung mit geringer Verzögerung besteht darin, die Logikstufe vorteilhaft zu nutzen, die auf den Signalspeicher folgt (d. h. die Logikschaltung 110 oder die Logikschaltung 115), um eine wiederherstellende Verstärkung bereitzustellen. Daher darf der Signalspeicher selbst nicht-wiederherstellend sein. Jedoch sollte ein nicht-wiederherstellender statischer Signalspeicher nahe an der Logikstufe, die auf den nicht-wiederherstellenden statischen Signalspeicher folgt, angeordnet werden, um möglicherweise die Probleme und Störungen durch Übersprechen zu vermeiden, die bewirken können, dass der Wert eines Speicherknotens in dem Signalspeicher umgeschaltet wird. Anders ausgedrückt, die Länge einer Leitung, welche den Ausgangs des nicht-wiederherstellenden statischen Signalspeicher koppelt, sollte begrenzt sein, um sicherzustellen, dass die dem nicht-wiederherstellenden statischen Signalspeicher folgende Logikstufe nahe an dem nicht-wiederherstellenden statischen Signalspeicher liegt.
  • 3A zeigt eine nicht-wiederherstellende (non-restoring) statische Signalspeicherschaltung 300 gemäß einer Ausführungsform. Die nicht-wiederherstellende statische Signalspeicherschaltung 300 kann verwendet werden, um den Haupt-Signalspeicher 135 und/oder den Neben-Signalspeicher 140, die in 1C gezeigt sind, zu realisieren. Die nicht-wiederherstellende statische Signalspeicherschaltung umfasst ein CMOS-Übertragungsgatter 305 und eine Halte-Subschaltung. Wenn der Takteingang (Clk) auf hohem Pegel liegt, überträgt das Übertragungsgatter 305 den Eingang (D) zu dem Ausgang (Q), wodurch die nicht-wiederherstellende statische Signalspeicherschaltung 300 transparent wird. Wenn der Takteingang auf tiefem Pegel liegt, ist das Übertragungsgatter zu und der Ausgang wird zu dem Speicherknoten der nicht-wiederherstellenden statischen Signalspeicherschaltung 300. Wenn der Takteingang auf tiefem Pegel liegt, ist die Halte-Subschaltung aktiv und stellt jegliche verlorene Ladung in dem Speicherknoten aufgrund von Leckströmen oder Rauschen wieder her, wodurch die nicht-wiederherstellende statische Signalspeicherschaltung 300 statisch wird.
  • Die nicht-wiederherstellende statische Signalspeicherschaltung 300 hat eine minimale Einfügeverzögerung. Unter Anwendung eines Elmore-Verzögerungsmodells beträgt die Ausbreitungsverzögerung der nicht-wiederherstellenden statischen Signalspeicherschaltung 300 genau eine RC-Verzögerung, wobei R der Widerstand des Übertragungsgatters 305 und C die Kapazität der Halte-Subschaltung und des statischen Gatters ist, das auf die nicht-wiederherstellende statische Signalspeicherschaltung 300 folgt. Wenn die nicht-wiederherstellende statische Signalspeicherschaltung 300 nahe an dem statischen Gatter auf dem Siliziumschip liegt, ist die Kapazität der Leitung von dem Gatter, das den Eingang ansteuert, von dem Widerstand des Übertragungsgatters 305 getrennt.
  • Wie hierin verwendet ist, sind Transistoren direkt mit einem Signal verbunden, wenn das Signal dem Transistor ohne dazwischen liegende Logik zugeleitet ist, und die Transistoren sind indirekt mit einem Signal verbunden, wenn das Signal dem Transistor über eine dazwischenliegende Logik zugeleitet ist. Eine dazwischen liegende Logik kann eine beliebige Art einer diskreten Logik sein. Beispielsweise kann ein Transistor mit Masse oder mit einer Versorgungsspannung indirekt über zusätzliche Schaltungselemente, die eine Stromquelle enthalten, verbunden sein.
  • 3B zeigt einen Schaltungsentwurf für eine Signalwiederherstellung 330, in welchem nicht-wiederherstellende statische Signalspeicherschaltungen 300 mit der Wiederherstellungslogik gemäß einer Ausführungsform verbunden sind. Um Störungen des Speicherknotens in den nicht-wiederherstellenden statischen Signalspeicherschaltungen 300 zu minimieren, sollte der Ausgang der nicht-wiederherstellenden statischen Signalspeicherschaltungen 300 nur mit den Eingängen statischer Gatter, beispielsweise Inverter, Puffer, NICHT-UND bzw. NAND, NICHT-ODER bzw. NOR, ODER bzw. OR, UND bzw. AND, usw. verbunden werden. Ein statisches Gatter erzeugt ein oder mehrere Ausgangssignale, die auf VDD oder VSS herauf oder herabgezogen werden (mit Ausnahme während einer Übergangsphase beim Schalten). Der Ausgang der nicht-wiederherstellenden statischen Signalspeicherschaltungen 300 sollte nicht direkt mit einem Übertragungsgatter (komplementär oder nicht) verbunden werden. Wenn das Eingangssignal D beeinträchtigt wird (d. h., nicht auf einem hohen Spannungspegel oder einem niedrigen Spannungspegel liegt), wird der Signalpegel, der zu dem Ausgangssignal Q übertragen wird, ebenfalls beeinträchtigt und sollte in eine wiederherstellende Logik eingespeist werden. Wie in 3B gezeigt ist, steuern drei nicht-wiederherstellende statische Signalspeicherschaltungen 300 die Eingänge eines UND-ODER-INVERTER-Gatters mit drei Eingängen an. Die nicht-wiederherstellenden statischen Signalspeicherschaltungen 300 steuern jeweils nur Eingänge von statischen Gattern (d. h. wiederherstellenden Logik) an.
  • Konventionellerweise wird ein Schaltungsentwurf in einer Hardware-Entwurfssprache dargestellt und der Code, der den Schaltungsentwurf repräsentiert, wird synthetisiert, um das physikalische Layout zu erzeugen. Das physikalische Layout, das die Zellen (beispielsweise die nicht-wiederherstellenden statischen Signalspeicherschaltungen 300, einzelne Logikgatter kommen usw.) repräsentiert, wird getrennt instantiiert und dann einer Signalführung unterzogen, um Signale zwischen den diversen Komponenten anzuschließen. In einer Ausführungsform der den Hard-Makros, die das physikalische Schaltungslayout umfassen, aufgebaut, die die nicht-wiederherstellende statische Signalspeicherschaltung 300 mit jeder Gatterart kombinieren, die mit dem Ausgang einer nicht-wiederherstellenden statischen Signalspeicherschaltung 300 verbunden werden kann, um sicherzustellen, dass jede nicht-wiederherstellende statische Signalspeicherschaltung 300 und das wiederherstellende Gatter nahe an der nicht-wiederherstellenden statischen Signalspeicherschaltung 300 (d. h., dass die Länge der Leiterverbindung zwischen jeder nicht-wiederherstellenden statischen Signalspeicherschaltung 300 und dem wiederherstellenden Gatter beschränkt ist) liegt. Die Gesamtfläche des Schaltungslayouts kann kleiner sein, wenn die Hard-Makros verwendet werden. In einer weiteren Ausführungsform sind Schaltungsanordnungswerkzeuge ausgebildet, eine sehr hohe Priorität darauf zu verwenden, dass die Verdrahtung zwischen den nicht-wiederherstellenden statischen Signalspeicherschaltungen 300 und wiederherstellenden Gattern kurz sind, und es wird eine der Anordnung nachgeordnete Prüfung ausgeführt, um sicherzustellen, dass Leitungen (wire) eine maximale Länge nicht überschreiten.
  • 3C zeigt ein Timingdiagramm 350 der nicht-überlappenden Zwei-Phasen-Taktsignale ClkN und Clk_pulse gemäß einer Ausführungsform. Eine erste nicht-wiederherstellende statische Signalspeicherschaltung 300 eines Signalspeicherpaars (d. h. der Haupt-Signalspeicher) wird von clkN (dem invertierten Taktsignal) angesteuert. Eine zweite nicht-wiederherstellende statische Signalspeicherschaltung 300 des Signalspeicherpaars (d. h., der Neben-Signalspeicher) wird von Clk_pulse angesteuert, das heißt, dem Ausgang des Pulsgenerators 108. Clk_pulse ist eine geringfügig schmälere Version des Taktsignals. Anders ausgedrückt, Clk_pulse ist wesentlich schmäler als die Hälfte eines Taktzyklus. Die nicht-überlappenden Perioden t1 und t2 werden so festgelegt, dass eine Versetzung und Jitter in dem Taktverteilungsnetz toleriert werden.
  • 3D zeigt eine Pulserzeugungsschaltung 108 gemäß einer Ausführungsform. Das Signal Clk_pulse kann von einem einzelnen NICHT-ODER-Gatter bzw. NOR-Gatter aus einer vorauseilenden und einer verzögerten Version von clkN erzeugt werden, wie in 3D gezeigt ist. Die vorauseilende und die verzögerte Version von clkN kann ohne Aufwand erzeugt werden, indem eine Taktsignal-Baum-Erzeugung mit produktiver Verschiebung ausgeführt wird.
  • Das nicht-überlappende Zwei-Phasen-Taktschema ist kompatibel zu der konventionellen Taktbaum-Synthese und der Taktausblendung. Die Taktbaum-Synthese kann eingesetzt werden, um die einzelne Taktphase clkN zu verteilen. Das Taktsignal für die Neben-Phase bzw. Slave-Phase Clk_pulse wird dann von einem NOR-Gatter-Pulsgenerator erzeugt. Da die zeitliche Steuerung der Pulserzeugung nicht kritisch ist, können signifikante Beträge für Schwankungen in der Versetzung und der Verzögerung toleriert werden. Eine Taktausblendung wird durchgeführt, indem clkN auf tiefen Pegel gesetzt wird. Das Setzen auf tiefen Pegel von clkN bewirkt, dass Clk_pulse auf hohen Pegel geht, wenn das Taktsignal angehalten wird.
  • 4A zeigt umgewandelte als Pipeline betriebene Pfade mit einer Abtastschaltung 400, die eine nicht-überlappende Zwei-Phasen-Taktung gemäß einer Ausführungsform verwendet. Ein Schaltungsentwurf unter Anwendung von flankengesteuerten Flipflops zur Implementierung eines Abtastpfads kann umgewandelt werden, um eine nicht-überlappende Zwei-Phasen-Taktung anzuwenden, indem ein Multiplexer vor jeder nicht-wiederherstellenden statischen Haupt-Signalspeicherschaltung 300, die als Haupt-Signalspeicher 135(1) und 135(2) gezeigt sind, eingefügt wird und indem ein redundanter Neben-Signalspeicher, der als die nicht-wiederherstellenden statischen Signalspeicherschaltungen 405(1) und 405(2) gezeigt sind, entlang dem Abtastpfad hinzugefügt werden. Die nicht-wiederherstellenden statischen Signalspeicherschaltungen 405(1) und 405(2) werden von Clk_pulse getaktet, und die nicht-wiederherstellenden statischen Signalspeicherschaltung 405(1) empfängt das Abtasteingangssignal SIn. Wenn der Abtastpfad aktiviert ist, wählt der erste Multiplexer den Ausgang der nicht-wiederherstellenden statischen Signalspeicherschaltung 405(1) als Eingang für den Haupt-Signalspeicher 135(1) aus, und der zweite Multiplexer wählt den Ausgang der nicht-wiederherstellenden statischen Signalspeicherschaltung 405(2) als Eingang für den Haupt-Signalspeicher 135(2) aus, um den Abtastpfad zu erzeugen.
  • 4B zeigt einen nicht-wiederherstellenden Haupt-Signalspeicher mit Abtastschaltung 420 gemäß einer Ausführungsform. Im Vergleich zu den Haupt-Signalspeicherzellenschaltungen, die in 4A gezeigt sind, ist der Multiplexer mit dem Übertragungsgattereingang der nicht-wiederherstellenden statischen Signalspeicherschaltung kombiniert, die das Abtasteingangssignal (Sin) empfängt, so dass die Einfügeverzögerung nicht erhöht wird, wenn eine Abtastung einem Schaltungsentwurf hinzugefügt wird. Der nicht-wiederherstellende Haupt-Signalspeicher mit Abtastschaltung 420 umfasst einen wiederherstellenden Inverter 450 für den Abtastpfad, der das Abtastausgangssignal (Sout) ausgibt. Während des normalen Betriebs sind die normalen Takt-Signale (clkN, clk) im Umlauf und die Abtasttaktsignale (sclk, sclkN) werden in einem inaktiven Zustand gehalten (sclk = 0, sclkN = 1). Während des Abtastvorgangs werden die normalen Taktsignale (clkN, clk) in einem inaktiven Zustand gehalten (clk = 0, clkN = 1) und die Abtasttaktsignale sind im Umlauf. Ein Wiederherstellungstaktsignal (rclk, rclkN) ist in beiden Zuständen im Umlauf, um die Halte-Subschaltung zu aktivieren und um Q und Sout zu erzeugen.
  • Logikblöcke unter Verwendung der nicht-überlappenden Zwei-Phasen-Taktung können frei mit Logik kombiniert werden, die unter Verwendung von flankengesteuerten Flipflops als Pipeline betrieben wird. Neu entworfene Schaltungsbereiche, die die nicht-überlappende Zwei-Phasen-Taktung verwenden, können mit bestehenden Schaltungsblöcken, die eine flankengesteuerte Taktung verwenden, kooperieren. Die nicht-überlappende Zwei-Phasen-Taktung wird gegebenenfalls nur auf kritische Teile eines Schaltungsentwurfs angewendet, so dass ein Ausgleich des Entwurfs im Hinblick auf die Verwendung einer flankengesteuerten Taktung bleibt.
  • 5A zeigt einen gemischten als Pipeline betriebenen Pfad 500, in welchem sowohl eine nicht-überlappende Zwei-Phasen-Taktung als auch eine flankengesteuerte Taktung gemäß einer Ausführungsform verwendet sind. Der Haupt-Signalspeicher 535 und der Neben-Signalspeicher 540 bilden ein Signalspeicherpaar, das ausgebildet ist, nicht-überlappende Zwei-Phasen-Taktsignale zu verwenden, und das Flipflop 505 ist ein flankengesteuertes Flipflop. Der Haupt-Signalspeicher 535 kann als der nicht-wiederherstellende statische Signalspeicher 300 oder der nicht-wiederherstellende Haupt-Signalspeicher mit Abtastung 420 realisiert werden. Der Neben-Signalspeicher 540 kann als der nicht-wiederherstellende statische Signalspeicher 300 realisiert werden. Solange das Intervall t1 größer als die Haltezeit des flankengesteuerten Flipflops 505 ist, ist sichergestellt, dass der gemischte als Pipeline betriebene Pfad 500 Haltezeit-sicher ist – selbst wenn die Logikschaltung 525 eine Verzögerung von Null hat. Der gemischte als Pipeline betriebene Pfad 500 erlaubt eine Zeitausleihe in einer Richtung durch die Logikschaltung 520 und die Logikschaltung 525, die von der nicht-wiederherstellenden statischen Signalspeicherschaltung (beispielsweise der Haupt-Signalspeicher 535 und der Neben-Signalspeicher 540) angesteuert werden. Die Logikschaltung 520 kann bis zu einem halben Zyklus an Schlupf bzw. Stillstand, der von der Logikschaltung 510 und 515 verbleibt, aufbrauchen. Die Logikschaltung 525 kann bis zu einem Halb-Zyklus an Schlupf bzw. Stillstand aufbrauchen, der von der Logikschaltung 520 verbleibt. Zeit kann über den Haupt-Signalspeicher 535 und über den Neben-Signalspeicher 540 „ausgeliehen” werden.
  • 5B zeigt ein Flussdiagramm 540 eines Verfahrens zur Umwandlung eines Schaltungsentwurfs von einer flankengesteuerten Taktung zu einer nicht-überlappenden Zwei-Phasen-Taktung gemäß einer Ausführungsform. Das Verfahren kann von einem Computerprogramm ausgeführt werden. Im Schritt 210 wird eine flankengesteuerte Flipflop-Schaltung, die mit einer kombinatorischen Logikschaltung verbunden ist, durch ein Paar aus Signalspeichern (d. h., eine Haupt-Signalspeicherschaltung und eine Neben-Signalspeicherschaltung) ersetzt. In einer Ausführungsform operiert ein Computerprogramm an einem HDL-Code, der den Schaltungsentwurf repräsentiert, um die flankengesteuerte Flipflop-Schaltung durch ein Paar aus Signalspeichern zu ersetzen. Im Schritt 215 wird ein Mittelpunkt der kombinatorischen Logikschaltung auf der Grundlage eines Timings ermittelt. In einer Ausführungsform werden Zeitanalysewerkzeuge ausgeführt, um die Timinginformationen für einen Schaltungsentwurf zu erzeugen. Im Schritt 545 wird die kombinatorische Schaltung in einen ersten Logikblock und einen zweiten Logikblock aufgeteilt.
  • Im Schritt 550 wird ein Ausgang der ersten Signalspeicherschaltung direkt mit einem Eingang des ersten Logikblocks verbunden. Im Schritt 555 ermittelt das Verfahren, ob der Eingang des ersten Logikblocks eine wiederherstellende Logik ist, und wenn dies nicht der Fall ist, dann wird im Schritt 560 eine wiederherstellende Subschaltung (beispielsweise Inverter, Puffer, Logikgatter, usw.) am Ausgang der ersten Signalspeicherschaltung eingefügt, bevor zum Schritt 565 weitergegangen wird. Im Schritt 565 wird ein Ausgang des ersten Logikblocks direkt mit einem Eingang der zweiten Signalspeicherschaltung verbunden. Im Schritt 570 wird ein Ausgang der zweiten Signalspeicherschaltung direkt mit einem Eingang des zweiten Logikblocks verbunden. Im Schritt 575 ermittelt das Verfahren, ob der Eingang des zweiten Logikblocks eine wiederherstellende Logik ist, und wenn dies nicht der Fall ist, dann wird im Schritt 580 eine wiederherstellende Subschaltung am Ausgang der zweiten Signalspeicherschaltung eingefügt, bevor das Verfahren endet.
  • 6A ist eine Blockansicht, die einen Prozessor/Chip 650 zeigt, in welchem ein Entwurf bzw. eine Gestaltung enthalten ist, die umgewandelt ist, um eine nicht-überlappende Zwei-Phasen-Taktung gemäß einer Ausführungsform zu verwenden. I/O-Schaltungen 655 können Anschlussflächen und andere I/O-spezifische Schaltungen aufweisen, um Signale an andere Einrichtungen in einem System zu senden oder von diesen zu empfangen. Ausgangssignale werden von den I/O-Schaltungen 655 auf der Grundlage von Signalen erzeugt, die durch die I/O-Schaltungen 655 empfangen werden. Die durch die I/O-Schaltungen 655 empfangenen Eingangssignale werden der ersten nicht-wiederherstellenden Haupt-Signalspeicherschaltung mit Abtastung 420(1) eingespeist. Signale, die von den I/O-Schaltungen 655 erzeugt werden, werden an den nicht-wiederherstellenden statischen Signalspeicher 300(1) ausgegeben. Die kombinatorischen Schaltungen 620 empfangen das von dem nicht-wiederherstellenden statischen Signalspeicher 300(1) erzeugte Ausgangssignal und erzeugen ein kombinatorisches Ausgangssignal, das in der zweiten nicht-wiederherstellenden Haupt-Signalspeicherschaltung mit Abtastung 420(2) empfangen wird. Die zweite nicht-wiederherstellende Haupt-Signalspeicherschaltung mit Abtastung 420(2) speichert das kombinatorische Ausgangssignal und erzeugt ein Ausgangssignal, das den kombinatorischen Schaltungen 625 eingespeist wird. Das Ausgangssignal der kombinatorischen Schaltungen 625 wird in dem zweiten nicht-wiederherstellenden statischen Signalspeicher 300(2) empfangen und gespeichert. Der zweite nicht-wiederherstellende statische Signalspeicher 300(2) erzeugt ein Ausgangssignal, das den I/O-Schaltungen 655 zugeleitet wird.
  • 6B zeigt ein anschauliches System 600, in welchem die diversen Architekturen und/oder Funktionen der diversen vorhergehenden Ausführungsformen realisiert werden können. Wie gezeigt, ist ein System 600 bereitgestellt, das mindestens einen zentralen Prozessor 601 aufweist, der mit einem Kommunikationsbus 602 verbunden ist. Der Kommunikationsbus 602 kann unter Anwendung eines beliebigen geeigneten Protokolls eingerichtet werden, etwa durch PCI (periphere Komponenten-Verbindung), PCI-Express, AGP (beschleunigter Graphikport), HyperTransport oder durch ein oder mehrere andere Bus-Protokolle oder Punkt-Zu-Punkt-Kommunikationsprotokolle. Das System 600 kann ferner einen Hauptspeicher 604 aufweisen. Steuerlogik (Software) und Daten sind in dem Hauptspeicher 604 gespeichert, der die Form eines Speichers mit wahlfreiem Zugriff (RAM) aufweisen kann.
  • Das System 600 umfasst ferner Eingabegeräte 612, einen Grafikprozessor 606 und eine Anzeige 608, d. h. eine konventionelle CRT (Kathodenstrahlröhre), eine LCD (Flüssigkristallanzeige), eine LED (lichtemittierende Diode), eine Plasmaanzeige oder dergleichen. Eine Anwendereingabe kann über die Eingabegeräte 612, beispielsweise Tastatur, Maus, berührungsempfindliche Auflage, Mikrofon und dergleichen, empfangen werden. In einer Ausführungsform kann der Grafikprozessor 606 mehrere Schattierungs-Module, ein Rastermodul, usw. aufweisen. Jedes der vorhergehenden Module kann in einer einzelnen Halbleiterplattform angeordnet sein, so dass eine grafische Verarbeitungseinheit (GPU) gebildet ist.
  • In der vorliegenden Beschreibung kann eine einzelne Halbleiterplattform eine einzelne alleinstehende halbleiterbasierte integrierte Schaltung oder einen Chip bezeichnen. Es sollte beachtet werden, dass der Begriff einzelne Halbleiterplattform auch Multi-Chip-Module mit vergrößerter Verbindungsstruktur bezeichnen kann, die einen chipinternen Betrieb simulieren, und die eine wesentliche Verbesserung gegenüber der Verwendung einer Realisierung mit konventioneller zentraler Recheneinheit (CPU) und einem Bus darstellen. Selbstverständlich können die diversen Module auch separat oder in diversen Kombinationen von Halbleiterplattformen entsprechend den Bedürfnissen des Anwenders angeordnet sein. Der nicht-wiederherstellende statische Signalspeicher 300 und/oder die nicht-wiederherstellende Haupt-Signalspeicher-mit-Abtastung-Schaltung 420 können in einer oder mehreren der folgenden Komponenten integriert sein: der zentrale Prozessor 601, der Hauptspeicher 604, ein sekundärer Speicher 610, die Eingabegeräte 612, der Grafikprozessor 606, die Anzeige 608 und der Bus 602.
  • Das System 600 kann einen sekundären Speicher 610 umfassen. Der sekundäre Speicher 610 umfasst beispielsweise eine Festplatte und/oder eine entfernbare Speicherplatte, die ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein Kompaktdisketten-Laufwerk, ein Laufwerk für eine digitale Vielseitigkeitsdiskette (DVD), ein Aufzeichnungsgerät, einen Flash-Speicher mit universellem seriellen Bus (USB) repräsentieren kann. Die entfernbare Speichereinrichtung liest und/oder schreibt aus bzw. in eine entfernbare Speichereinheit in gut bekannter Weise. Computerprogramme oder Computer-Steuerlogikalgorithmen können in dem Hauptspeicher 604 und/oder in dem sekundären Speicher 610 gespeichert sein. Derartige Computerprogramme, versetzen, wenn sie ausgeführt werden, das System 600 die Lage, diverse Funktionen auszuführen. Der Hauptspeicher 604, der Speicher 610 und/oder ein beliebiger anderer Speicher sind mögliche Beispiele für computerlesbare Medien.
  • In einer Ausführungsform können die Architektur und/oder Funktionen der diversen vorhergehenden Figuren im Zusammenhang mit dem zentralen Prozessor 601, dem Grafikprozessor 606, einer integrierten Schaltung (nicht gezeigt), die zumindest einen Teil der Fähigkeiten sowohl des zentralen Prozessors 601 als auch des Grafikprozessors 606 aufweist, mit einem Chipsatz (das heißt, einer Gruppe aus integrierten Schaltungen, die so gestaltet ist, dass sie als Einheit zur Ausführung zugehöriger Funktionen arbeiten und als solche verkauft wird, usw.) und/oder mit einer anderen integrierten Schaltung für diesen Zweck realisiert werden.
  • Ferner können die Architektur und/oder Funktionen der diversen vorhergehenden Figuren auch im Rahmen eines allgemeinen Computersystems, eines Systems aus Leiterplatten, eines Systems mit Spielekonsole, die für Unterhaltungszwecke gedacht ist, im Rahmen eines anwendungsspezifischen Systems und/oder im Rahmen eines anderen gewünschten Systems realisiert werden. Beispielsweise kann das System 600 die Form eines Tischrechners, eines mobilen Rechners, eines Dienstleister-Rechners, eines Arbeitplatzrechners, von Spielekonsolen, eines eingebetteten Systems und/oder einer beliebigen Art von Logik annehmen. Des weiteren kann das System 600 die Form diverser anderer Einrichtungen annehmen, wozu gehören, ohne Einschränkung, eine Einrichtung als persönlicher digitaler Assistent (PDA), eine Einrichtung als Mobiltelefon, eine Einrichtung als Fernsehgerät, usw.
  • Obwohl dies ferner nicht gezeigt ist, kann das System 600 mit einem Netzwerk (beispielsweise einem Telekommunikationsnetzwerk, einem Nahbereichsnetzwerk (LAN), einem drahtlosen Netzwerk, einem Weitbereichsnetzwerk (WAN), etwa das Internet, einem Gerät-zu-Gerät-Netzwerk, einem Kabelnetzwerk oder dergleichen) für Kommunikationszwecke verbunden sein.
  • Obwohl diverse Ausführungsformen zuvor beschrieben worden sind, sollte beachtet werden, dass diese nur als Beispiel und nicht als Einschränkung gedacht sind. Daher sind die Breite und der Schutzbereich einer bevorzugten Ausführungsform nicht durch eine der zuvor beschriebenen anschaulichen Ausführungsformen eingeschränkt, sondern diese sollten nur entsprechend den folgenden Patentansprüchen und ihren äquivalenten definiert sein.

Claims (20)

  1. Ein Verfahren, umfassend: Ersetzen einer flankengesteuerten Flipflop-Schaltung, die mit einer kombinatorischen Logikschaltung verbunden ist, mit einem Paar an Signalspeichern, das eine erste Signalspeicherschaltung und eine zweite Signalspeicherschaltung enthält; Ermitteln eines Mittelpunkts der kombinatorischen Logikschaltung auf der Grundlage von Timinginformation; Ausbreiten der zweiten Signalspeicherschaltung bis zu dem Mittelpunkt der kombinatorischen Logikschaltung; und Bereitstellen von nicht-überlappenden Zwei-Phasen-Taktsignalen an dem Paar an Signalspeichern.
  2. Das Verfahren nach Anspruch 1, wobei die erste Signalspeicherschaltung und die zweite Signalspeicherschaltung nicht-wiederherstellende Signalspeicherschaltungen sind.
  3. Das Verfahren nach Anspruch 1, wobei eine Verzögerung von einem Eingang zu der kombinatorischen Logikschaltung zu dem Mittelpunkt der kombinatorischen Logikschaltung ungefähr gleich einer Verzögerung von dem Mittelpunkt der kombinatorischen Logikschaltung bis zu einem Ausgang der kombinatorischen Logikschaltung ist.
  4. Das Verfahren nach Anspruch 1, wobei die erste Signalspeicherschaltung unter Anwendung eines ersten Taktsignals der nicht-überlappenden Zwei-Phasen-Taktsignale getaktet wird, und wobei die zweite Signalspeicherschaltung unter Anwendung eines zweiten Taktsignals der nicht-überlappenden Zwei-Phasen-Taktsignale getaktet wird, das während solcher Zeiten innerhalb einer Taktperiode pulst, in denen das erste Taktsignal auf niedrigem Pegel liegt.
  5. Das Verfahren nach Anspruch 4, wobei das erste Taktsignal eine invertierte Version eines Takts ist und wobei das zweite Taktsignal als eine verschmälerte Version des Takts erzeugt wird.
  6. Das Verfahren nach Anspruch 1, wobei die erste Signalspeicherschaltung eine Abtastschaltung enthält.
  7. Das Verfahren nach Anspruch 6, wobei die Abtastschaltung ein wiederherstellendes Drivegatter in einem Abtastpfad umfasst.
  8. Das Verfahren nach Anspruch 1, wobei ein Ausgang der ersten Signalspeicherschaltung direkt mit einem Drivegatter an einem Eingang der kombinatorischen Logikschaltung verbunden ist.
  9. Das Verfahren nach Anspruch 1, das ferner umfasst: Begrenzen eine Länge einer Leitung, die einen Ausgang der ersten Signalspeicherschaltung mit dem Eingang der kombinatorischen Logikschaltung verbindet.
  10. Das Verfahren nach Anspruch 1, das ferner umfasst: Einfügen einer wiederherstellenden Subschaltung an einen Ausgang der ersten Signalspeicherschaltung, wenn der Ausgang nicht direkt mit einem Drivegatter innerhalb der kombinatorischen Logikschaltung verbunden ist.
  11. Das Verfahren nach Anspruch 1, das ferner umfasst: Einfügen einer wiederherstellenden Subschaltung an einem Ausgang der zweiten Signalspeicherschaltung, wenn der Ausgang nicht direkt mit einem Drivegatter innerhalb der kombinatorischen Logikschaltung verbunden ist.
  12. Das Verfahren nach Anspruch 1, das ferner umfasst: Verbinden eines Ausgangs der kombinatorischen Logikschaltung direkt mit einem Eingang eines flankengesteuerten Flipflops.
  13. Das Verfahren nach Anspruch 1, wobei der Schritt des Ausbreitens umfasst: Aufteilen der kombinatorischen Logikschaltung in einen ersten Logikblock und einen zweiten Logikblock; Verbinden eines Ausgangs der ersten Signalspeicherschaltung direkt mit einem Eingang des ersten Logikblocks; Verbinden eines Ausgangs des ersten Logikblocks direkt mit einem Eingang der zweiten Signalspeicherschaltung; und Verbinden eines Ausgangs der zweiten Signalspeicherschaltung direkt mit einem Eingang des zweiten Logikblocks.
  14. Ein nicht-flüchtiges computerlesbares Speichermedium, das Befehle speichert, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, die Schritte auszuführen, umfassend: Ersetzen einer flankengesteuerten Flipflop-Schaltung, die mit einer kombinatorischen Logikschaltung verbunden ist, mit einem Paar an Signalspeichern, das eine erste Signalspeicherschaltung und eine zweite Signalspeicherschaltung enthält; Ermitteln eines Mittelpunkts der kombinatorischen Logikschaltung auf der Grundlage von Timinginformation; Ausbreiten der zweiten Signalspeicherschaltung zu dem Mittelpunkt der kombinatorischen Logikschaltung; und Bereitstellen von nicht-überlappenden Zwei-Phasen-Taktsignalen für das Paar an Signalspeichern.
  15. Das nicht-flüchtige computerlesbare Speichermedien nach Anspruch 14, wobei die erste Signalspeicherschaltung und die zweite Signalspeicherschaltung nicht-wiederherstellende Signalspeicherschaltungen sind.
  16. Das nicht-flüchtige computerlesbare Speichermedien nach Anspruch 14, wobei eine Verzögerung von einem Eingang zu der kombinatorischen Logikschaltung bis zu dem Mittelpunkt der kombinatorischen Logikschaltung ungefähr gleich einer Verzögerung von dem Mittelpunkt der kombinatorischen Logikschaltung bis zu einem Ausgang der kombinatorischen Logikschaltung ist.
  17. Das nicht-flüchtige computerlesbare Speichermedien nach Anspruch 14, wobei die erste Signalspeicherschaltung unter Anwendung eines ersten Taktsignals der nicht-überlappenden Zwei-Phasen-Taktsignale getaktet wird, und wobei die zweite Signalspeicherschaltung unter Anwendung eines zweiten Taktsignals der nicht-überlappenden Zwei-Phasen-Taktsignale, das während Zeiten innerhalb einer Taktperiode pulsiert, in denen das erste Taktsignal auf tiefem Pegel liegt, getaktet wird.
  18. Das nicht-flüchtige computerlesbare Speichermedien nach Anspruch 14, wobei ein Ausgang der ersten Signalspeicherschaltung direkt mit einem Drivegatter an einen Eingang der kombinatorischen Logikschaltung verbunden ist.
  19. Das nicht-flüchtige computerlesbare Speichermedien nach Anspruch 14, das ferner umfasst: Begrenzen eine Länge einer Leitung, die einen Ausgang der ersten Signalspeicherschaltung mit dem Eingang der kombinatorischen Logikschaltung verbindet.
  20. Ein System umfassend: einem Speicher, der ausgebildet ist, einen Schaltungsentwurf zu speichern; und einer Verarbeitungseinheit, die ausgebildet ist, um: eine flankengesteuerte Flipflop-Schaltung innerhalb des Schaltungsentwurfs, die mit einer kombinatorischen Logikschaltung verbunden ist, mit einem Paar aus Signalspeichern zu ersetzen, das eine erste Signalspeicherschaltung und eine zweite Signalspeicherschaltung enthält; einen Mittelpunkt der kombinatorischen Logikschaltung auf der Grundlage einer Timinginformation zu ermitteln; die zweite Signalspeicherschaltung bis zu einem Mittelpunkt der kombinatorischen Logikschaltung zu verbreiten; und nicht-überlappende Zwei-Phasen-Taktsignale dem Paar an Signalspeichern bereitstellen.
DE102013114341.5A 2013-03-06 2013-12-18 Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung Active DE102013114341B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/787,705 US8930862B2 (en) 2013-03-06 2013-03-06 System, method, and computer program product for automatic two-phase clocking
US13/787,705 2013-03-06

Publications (2)

Publication Number Publication Date
DE102013114341A1 true DE102013114341A1 (de) 2014-09-11
DE102013114341B4 DE102013114341B4 (de) 2019-06-27

Family

ID=51385448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013114341.5A Active DE102013114341B4 (de) 2013-03-06 2013-12-18 Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung

Country Status (4)

Country Link
US (1) US8930862B2 (de)
CN (1) CN104038182B (de)
DE (1) DE102013114341B4 (de)
TW (1) TWI528716B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634668B2 (en) * 2013-03-15 2017-04-25 Picogem Corporation Pipelining of clock guided logic using latches
US10230374B1 (en) * 2016-09-16 2019-03-12 Xilinx, Inc. Methods and circuits for preventing hold violations
US10340900B2 (en) * 2016-12-22 2019-07-02 Apple Inc. Sense amplifier flip-flop with embedded scan logic and level shifting functionality
US10867097B2 (en) * 2018-09-14 2020-12-15 Synopsys, Inc. Elmore delay time (EDT)-based resistance model
CN115276613A (zh) * 2022-08-05 2022-11-01 珠海錾芯半导体有限公司 基于边缘触发器和敏感锁存器的集成电路及其可编程电路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081656A (en) * 1997-06-27 2000-06-27 Advanced Micro Devices, Inc. Method for deriving a double frequency microprocessor from an existing microprocessor
US6457161B1 (en) * 2001-03-27 2002-09-24 Benoit Nadeau-Dostie Method and program product for modeling circuits with latch based design
US7058868B2 (en) * 2003-08-14 2006-06-06 Broadcom Corporation Scan testing mode control of gated clock signals for memory devices
US7634749B1 (en) * 2005-04-01 2009-12-15 Cadence Design Systems, Inc. Skew insensitive clocking method and apparatus
US7761748B2 (en) * 2005-06-09 2010-07-20 Sony Computer Entertainment Inc. Methods and apparatus for managing clock skew between clock domain boundaries

Also Published As

Publication number Publication date
TWI528716B (zh) 2016-04-01
DE102013114341B4 (de) 2019-06-27
US20140253175A1 (en) 2014-09-11
US8930862B2 (en) 2015-01-06
CN104038182B (zh) 2017-04-12
TW201436463A (zh) 2014-09-16
CN104038182A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
DE102013114341B4 (de) Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung
DE102013224638B4 (de) Auf-Paket-Mehr-Prozessor-Masse-referenzierte-Einzel-Ende-Zwischenverbindung
DE102013224636B4 (de) Masse-referenziertes-Einzel-Ende-Signalisierung-verbundenes-Grafik-Verarbeitungs-Einheit-Mehr-Chip-Modul
DE102012202747B4 (de) Doppeltrigger-Niedrigenergie-Flip-Flop-Schaltung
DE112013000758B4 (de) Erzeugen von Taktsignalen für einen zyklusgenauen, zyklusreproduzierbaren FPGA-gestützten Hardware-Beschleuniger
DE102013114564A1 (de) System zur Reduzierung einer Leistungsspitze während einer Abtastverschiebung auf lokaler Ebene für abtastbasierte Prüfungen
DE102012112352A1 (de) Scan-Flip-Flop, Verfahren davon und Vorrichtung mit demselben
DE112006002097T5 (de) Vorsehen genauer Zeitsteuerung zwischen mehreren standardisierten Prüfinstrumentenchassis
DE102013217830A1 (de) Timing-Kalibrierung für chipinterne Verdrahtung
DE102015117511A1 (de) Effizientes Versatzzeitablaufsteuerungs-Verfahren für Leistungsfähigkeit und geringe Leistungsaufnahme einer Taktnetzanwendung
DE102012202241A1 (de) Vollständig statische Niedrig-Takt-Energie-Latch-Schaltung
DE112006002092T5 (de) Schaltungskartensynchronisation innerhalb eines standardisierten Prüfinstrumentenchassis
DE102013114390B4 (de) Datensynchronisierung über asynchrone Grenzen hinweg unter Anwendung selektierbarer Synchronisiereinheiten zur Minimierung der Latenz
DE102016120009B4 (de) Digitalschaltung und verfahren zum herstellen einer digitalschaltung
DE102006020186A1 (de) Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC
DE112007002984T5 (de) Kompensationsverfahren zur Reduzierung des Leistungsverbrauchs in digitaler Schaltung
DE102013218604A1 (de) System, Verfahren und Computerprogrammprodukt zum Testen eines integrierten Schaltkreises aus einer Befehlszeile
DE112012001448T5 (de) Kombinierter Pegelverschieber und Synchronisationsfehler-Beheber für Daten
DE112013005833T5 (de) Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz
DE102016115922A1 (de) Halbleiterschaltung
DE102014218028B4 (de) Slave-Vorrichtung für ein serielles, synchrones Vollduplexbussystem
DE102014111061B4 (de) Verfahren, Vorrichtung und System zur Kommunikation mit einer Einrichtung
DE19811591C2 (de) Taktsignal modellierende Schaltung mit negativer Verzögerung
DE102018102292A1 (de) Verfahren und Vorrichtung zur automatischen Implementierung eines kompensierenden Rücksetzens für neugetaktete Schaltungen
DE112017001764T5 (de) Interner datenpfad in einem modularen fabric

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
R018 Grant decision by examination section/examining division
R020 Patent grant now final