DE112015003632T5 - Dynamisches spielraumeinstellen zum steuern von anwendungsspezifischen schaltungen und speichern - Google Patents

Dynamisches spielraumeinstellen zum steuern von anwendungsspezifischen schaltungen und speichern Download PDF

Info

Publication number
DE112015003632T5
DE112015003632T5 DE112015003632.6T DE112015003632T DE112015003632T5 DE 112015003632 T5 DE112015003632 T5 DE 112015003632T5 DE 112015003632 T DE112015003632 T DE 112015003632T DE 112015003632 T5 DE112015003632 T5 DE 112015003632T5
Authority
DE
Germany
Prior art keywords
delay
circuit
delay unit
unit
circuit path
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.)
Pending
Application number
DE112015003632.6T
Other languages
English (en)
Inventor
Ajay Kumar Bhatia
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE112015003632T5 publication Critical patent/DE112015003632T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • H03K5/134Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices with field-effect transistors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/0084Arrangements for measuring currents or voltages or for indicating presence or sign thereof measuring voltage only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/40Testing power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00369Modifications for compensating variations of temperature, supply voltage or other physical parameters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • H03K2005/00026Variable delay controlled by an analog electrical signal, e.g. obtained after conversion by a D/A converter
    • H03K2005/00032Dc control of switching transistors
    • H03K2005/00039Dc control of switching transistors having four transistors serially

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Pulse Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ausführungsformen eines Verfahrens werden offenbart, das ein selektives Einstellen einer Verzögerung einzelner Logikpfade innerhalb einer anwendungsspezifischen Schaltung oder eines anwendungsspezifischen Speichers erlaubt. Die Schaltlogik kann konfiguriert sein, um einen Spannungspegel einer Energieversorgung zu überwachen, die mit der anwendungsspezifischen Schaltung oder dem anwendungsspezifischen Speicher gekoppelt ist. Eine Verzögerungsmenge einer Verzögerungseinheit innerhalb der anwendungsspezifischen Schaltung oder des anwendungsspezifischen Speichers kann als Reaktion auf eine Feststellung geändert werden, dass sich der Spannungspegel der Energieversorgung geändert hat.

Description

  • HINTERGRUND
  • Technisches gebiet
  • Hierin beschriebene Ausführungsformen betreffen integrierte Schaltungen und insbesondere Techniken zum Einstellen von Schaltungspfaden innerhalb integrierter Schaltungen.
  • Beschreibung der verwandten Technik
  • Prozessoren, Speicher und andere Typen von integrierten Schaltungen schließen typischerweise eine Anzahl von logischen Schaltungen ein, die aus miteinander verbundenen Transistoren zusammengesetzt sind, die auf einem Halbleitersubstrat gefertigt sind. Solche logischen Schaltungen können gemäß einer Anzahl unterschiedlicher Schaltungsgestaltungsarten konstruiert werden. Zum Beispiel kann eine kombinatorische Logik über eine Ansammlung von ungetakteten, statischen, komplementären Metall-Oxid-Halbleiter-Gattern, kurz CMOS-Gattern implementiert werden, die zwischen getakteten Zustandselementen, wie beispielsweise Flip-Flops oder Latches, angeordnet sind. Alternativ dazu können abhängig von Gestaltungsanforderungen manche Funktionen kombinatorischer Logik unter Verwendung von getakteter dynamischer Logik implementiert werden, wie beispielsweise Domino-Logik-Gattern.
  • Aus Metallisierungsschichten ausgebildete Leitungen, die in einem Halbleiterherstellungsprozess verfügbar sind, können verwendet werden, um die verschiedenen getakteten Zustandselemente und Logikgatter zu verbinden. Herstellungsschwankungen von Chip zu Chip sowie Unterschiede in der physikalischen Streckenführung der Leitungen können zu unterschiedlichen Laufzeiten zwischen Logikgattern führen.
  • Während eines Betriebs können Spannungspegel verschiedener chipinterner Energieversorgungen schwanken. Solch eine Schwankung kann das Ergebnis von Spannungsabfällen über parasitären Schaltungselementen während erhöhter Aktivitätsniveaus von schaltender Logik sein. In manchen Fällen kann die Schwankung der Energieversorgungsspannungspegel das Ergebnis von Änderungen in einem Betriebsmodus eines Chips, einer mobilen Vorrichtung usw. sein. Während Perioden erhöhter Aktivität können Energieversorgungsspannungspegel verringert werden, da ein langsameres Schaltungsverhalten akzeptabel ist.
  • ZUSAMMENFASSUNG DER AUSFÜHRUNGSFORMEN
  • Verschiedene Ausführungsformen eines Verfahrens und einer Einrichtung zum Einstellen einer Verzögerung in einem Schaltungspfad werden offenbart. Allgemein gesprochen werden eine Einrichtung und ein Verfahren betrachtet, bei denen eine Funktionseinheit eine Vielzahl von Schaltungspfaden einschließt, wobei jeder Schaltungspfad mindestens eine Verzögerungseinheit einschließt. Schaltlogik kann konfiguriert sein, einen Spannungspegel einer mit der Funktionseinheit gekoppelten Energieversorgung zu überwachen und als Reaktion auf eine Erfassung einer Änderung des Spannungspegels der Energieversorgung die Verzögerungsmenge einer Verzögerungseinheit eines gegebenen Schaltungspfades anzupassen.
  • In einer bestimmten Ausführungsform ist die Schaltlogik ferner konfiguriert, einen Betrieb des Funktionsblocks als Reaktion auf eine Erfassung der Änderung des Spannungspegels der Energieversorgung pausieren zu lassen.
  • In einer weiteren Ausführungsform kann die Schaltlogik ferner konfiguriert sein, als Reaktion auf ein Abschließen der Anpassung der Verzögerungsmenge der Verzögerungseinheit den Betrieb des Funktionsblocks wiederaufzunehmen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die folgende, detaillierte Beschreibung nimmt Bezug auf die begleitenden Zeichnungen, die nun kurz beschrieben werden.
  • 1 veranschaulicht eine Ausführungsform einer integrierten Schaltung.
  • 2 veranschaulicht eine Ausführungsform eines Logikpfades.
  • 3 veranschaulicht eine Ausführungsform einer Verzögerungseinheit.
  • 4 veranschaulicht eine weitere Ausführungsform einer Verzögerungseinheit.
  • 5 veranschaulicht eine Ausführungsform eines Speichers.
  • 6 veranschaulicht ein Diagramm einer Ausführungsform eines Verfahrens zum Anpassen einer Verzögerungseinheit.
  • Obwohl die Offenbarung in verschiedenen Modifikationen und alternativen Formen auftreten kann, sind spezifische Ausführungsformen davon in beispielhafter Weise in den Zeichnungen gezeigt und werden hierin im Detail beschrieben. Es sollte sich jedoch verstehen, dass die Zeichnungen und die detaillierte Beschreibung dazu die Offenbarung nicht auf die bestimmte veranschaulichte Form beschränken sollen, sondern im Gegenteil die Erfindung sämtliche Modifikationen, Äquivalente und Alternativen abdecken soll, die in den Geist und Umfang der vorliegenden Offenbarung fallen, wie durch die beigefügten Ansprüche definiert. Die hierin verwendeten Überschriften dienen nur organisatorischen Zwecken und sollen nicht verwendet werden, um den Umfang der Beschreibung einzuschränken. Wie in dieser Anmeldung verwendet, wird das Wort „können” im zulassenden Sinn verwendet (d. h. es bedeutet, dass eine Möglichkeit für etwas besteht) und nicht im obligatorischen Sinn (d. h. im Sinne von „müssen”). Gleichermaßen haben die Wörter „einschließen”, „einschließend”, „einschließlich”, „schließt ein”, die Bedeutung von „einschließlich, jedoch nicht beschränkt auf”.
  • Verschiedene Einheiten, Schaltungen oder andere Komponenten können als zum Durchführen einer oder mehrerer Aufgaben „konfiguriert” beschrieben sein. In solchen Kontexten ist „konfiguriert zu” eine weit gefasste Anführung einer Struktur, die allgemein bedeutet „Schaltlogik besitzend, die” die Aufgabe oder Aufgaben während des Betriebs durchführt. Insofern kann die Einheit/Schaltung/Komponente konfiguriert sein, die Aufgabe durchzuführen, auch wenn die Einheit/Schaltung/Komponente derzeit nicht eingeschaltet ist. Im Allgemeinen kann die Schaltlogik, welche die Struktur entsprechend „konfiguriert zu” bildet, Hardware-Schaltungen einschließen. Gleichermaßen können verschiedene Einheiten/Schaltungen/Komponenten der Zweckmäßigkeit wegen in der Beschreibung so beschrieben sein, dass sie eine Aufgabe oder Aufgaben durchführen. Solche Beschreibungen sollten so ausgelegt werden, als würden sie den Ausdruck „konfiguriert zu” einschließen. Das Nennen einer Einheit/Schaltung/Komponente, die konfiguriert ist, um eine oder mehrere Aufgaben durchzuführen, soll sich ausdrücklich nicht auf eine Interpretation nach 35 U.S.C. § 112, Absatz (f) für diese Einheit/Schaltung/Komponente beziehen. Allgemeiner soll sich die Nennung eines beliebigen Elements ausdrücklich nicht auf eine Interpretation nach 35 U.S.C. § 112, Absatz (f) für dieses Element beziehen, es sei denn die Sprache „Mittel zum” oder „Schritt zum” ist spezifisch genannt.
  • DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Dynamische Spannungsskalierung, d. h. die Anpassung von Spannungspegeln einer oder mehrerer interner Energieversorgungen in einem System auf einem Chip (SoC), kann verwendet werden, um dynamische Leistung und Verlustleistung innerhalb einer mobilen Vorrichtung zu verringern. Perioden verringerter Aktivität für Abschnitte eines SoC können erfasst werden, und ein Spannungspegel einer entsprechenden Energieversorgung für die identifizierten Abschnitte kann verringert werden. Eine Frequenz eines den identifizierten Abschnitten bereitgestellten Taktsignals kann zudem ebenso verringert werden. Solche Anpassungen an Energieversorgungsspannungspegel und Taktsignalfrequenzen können einen verringerten Energieverbrauch erlauben.
  • Einzelne Funktionsblöcke innerhalb eines SoC, wie z. B. ein Prozessor oder Speicher, können mehrere Schaltungspfade (sowohl Takt- als auch Datenpfade) einschließen, von denen jeder mehrere Logikgatter einschließen kann. Da Energieversorgungsspannungspegel als Reaktion auf das dynamische Spannungsskalieren geändert werden, können sich Zeittaktungsbeziehungen zwischen in unterschiedlichen Schaltungspfaden eingeschlossenen Signalen ändern. In manchen Fällen kann solch eine Änderung der Zeittaktungsbeziehung zwischen Signalen zu einem Funktionsausfall innerhalb des SoC führen. Wenn zum Beispiel ein Datenpfad relativ zu einem zugeordneten Taktpfad verzögert wird, gelingt es den Daten unter Umständen nicht, an einer Flip-Flop- oder Latch-Schaltung mit ausreichender Vorbereitungszeit anzukommen, was dazu führt, dass die Flip-Flop- oder Latch-Schaltung inkorrekte Daten erfasst. Die in den Zeichnungen veranschaulichten und nachstehend beschriebenen Ausführungsformen können Techniken bereitstellen, die eine Verzögerung innerhalb der Schaltungspfade addieren oder subtrahieren, um einen angemessenen Zeittaktungsspielraum über einen Bereich von Energieversorgungsspannungspegeln aufrechtzuerhalten.
  • Übersicht über ein System auf einem Chip
  • Ein Blockdiagramm einer integrierten Schaltung ist in 1 veranschaulicht. In der veranschaulichten Ausführungsform schließt die integrierte Schaltung 100 einen Prozessor 101 ein, der durch einen internen Bus 105 mit einem Speicherblock 102 und einem Analog-/Mischsignalblock 103 und einem E/A-Block 104 gekoppelt ist. In verschiedenen Ausführungsformen kann die integrierte Schaltung 100 zur Verwendung in einem Desktop-Computer, einem Server oder einer mobilen Rechenanwendung, wie z. B. einem Tablet- oder Laptop-Computer, konfiguriert sein.
  • Wie nachstehend detaillierter beschrieben, kann der Prozessor 101 in verschiedenen Ausführungsformen für einen universellen Prozessor stellvertretend sein, der Rechenoperationen durchführt. Zum Beispiel kann es sich bei dem Prozessor 101 um eine Zentraleinheit (CPU) handeln, wie beispielsweise einen Mikroprozessor, eine Mikrosteuereinheit, eine anwendungsspezifische integrierte Schaltung (ASIC) oder eine vor Ort programmierbare Gatteranordnung (FPGA). In manchen Ausführungsformen kann die Verarbeitungsvorrichtung 101 eine oder mehrere Verzögerungseinheiten 106 einschließen, die konfiguriert sein können, um beim Einstellen eines oder mehrerer Logikpfade zu assistieren, indem zum Beispiel eine variable Verzögerung bereitgestellt wird.
  • Der Speicherblock 102 kann jeden geeigneten Speichertyp einschließen, wie zum Beispiel einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM), einen statischen Speicher mit wahlfreiem Zugriff (SRAM), einen Nur-Lese-Speicher (ROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM) oder einen FLASH-Speicher. Es wird festgehalten, dass in der in 1 veranschaulichten Ausführungsform einer integrierten Schaltung ein einzelner Speicherblock abgebildet ist. In anderen Ausführungsformen kann jede geeignete Anzahl von Speicherblöcken verwendet werden.
  • Der Analog-/Mischsignalblock 103 kann eine Vielfalt von Schaltungen einschließen, einschließlich zum Beispiel eines Kristalloszillators, eines Phasenregelkreises (PLL), eines Analog-Digital-Wandlers (ADC) und eines Digital-Analog-Wandlers (DAC) (alle nicht gezeigt). In anderen Ausführungsformen kann der Analog-/Mischsignalblock 103 konfiguriert sein, um Energieverwaltungsaufgaben durchzuführen, einschließlich chipinterner Energieversorgungen und Spannungsregler. Der Analog-/Mischsignalblock 103 kann zudem in manchen Ausführungsformen Funkfrequenzschaltungen (HF-Schaltungen) einschließen, die zum Betrieb mit drahtlosen Netzwerken konfiguriert sind.
  • Der E/A-Block 104 kann konfiguriert sein, um eine Datenübertragung zwischen der integrierten Schaltung 100 und einer oder mehreren Peripherievorrichtungen zu koordinieren. Solche Peripherievorrichtungen können ohne Einschränkung Datenspeichervorrichtungen (z. B. auf magnetische oder optische Medien gestützte Datenspeichervorrichtungen, einschließlich Festplattenlaufwerken, Bandlaufwerken, CD-Laufwerken, DVD-Laufwerken usw.), Audioverarbeitungsteilsysteme oder jeden anderen geeigneten Typ von Peripherievorrichtungen einschließen. In manchen Ausführungsformen kann der E/A-Block 104 konfiguriert sein, um eine Version des „Universal Serial Bus”-Protokolls (USB-Protokolls) oder des „IEEE 1394”-Protokolls (Firewire®-Protokolls) zu implementieren.
  • Der E/A-Block 104 kann zudem konfiguriert sein, um eine Datenübertragung zwischen der integrierten Schaltung 100 und einer oder mehreren Vorrichtungen (z. B. anderen Computersystemen oder integrierten Schaltungen) zu koordinieren, die mit der integrierten Schaltung 100 über ein Netzwerk gekoppelt sind. In einer bestimmten Ausführungsform kann der E/A-Block 104 konfiguriert sein, die Datenverarbeitung durchzuführen, die notwendig ist, um zum Beispiel einen Ethernet-Netzwerkstandard (IEEE 802.3-Netzwerkstandard), wie beispielsweise Gigabit-Ethernet oder 10 Gigabit-Ethernet, zu implementieren, obwohl berücksichtigt wird, dass jeder geeignete Netzwerkstandard implementiert werden kann. In manchen Ausführungsformen kann der E/A-Block 104 konfiguriert sein, um mehrere separate Netzwerkschnittstellenanschlüsse zu implementieren.
  • Es wird festgehalten, dass die in 1 abgebildete Ausführungsform lediglich ein Beispiel darstellt. In anderen Ausführungsformen sind andere Funktionsblöcke und andere Konfigurationen von Funktionsblöcken möglich und werden berücksichtigt.
  • Logikpfade und Verzögerungseinheiten
  • Ein Beispiel eines Abschnitts eines Logikpfades (hierin auch als „Schaltungspfad” bezeichnet) ist in 2 veranschaulicht. In der veranschaulichten Ausführungsform ist ein Flip-Flop 201 mit einem Logikgatter 2-2 gekoppelt, das wiederum mit einem Logikgatter 203 gekoppelt ist. Das Logikgatter 203 ist mit einer Verzögerungseinheit 204 gekoppelt, die wiederum mit einem weiteren Flip-Flop 205 gekoppelt ist. Die veranschaulichte Ausführungsform schließt zudem ein Taktsignal 206, das mit „CLK” bezeichnet ist, und eine Steuerungseingabe 207, die als „CONTROL” bezeichnet ist, ein. Das Taktsignal 206 ist mit einer Verzögerungseinheit 208 gekoppelt, deren Ausgang mit einem Takteingang des Flip-Flops 205 gekoppelt ist. Im Allgemeinen können die Flip-Flops 201 und 205 jedem geeigneten Zustandselement entsprechen, wie beispielsweise einem statischen oder dynamischen Flip-Flop. Die Flip-Flops 201 und 205 können betrieben werden, um Eingabedaten als Reaktion auf das Taktsignal 206 zu erfassen und zu speichern. Zum Beispiel kann es sich bei den Flip-Flops 201 und 205 um ein flankengesteuertes Zustandselement handeln.
  • Die Logikgatter 202 und 203 können konfiguriert sein, um Funktionen kombinatorischer Logik jedes geeigneten Typs zu implementieren (z. B. AND, OR, NAND, NOR, XOR und XNOR oder jeden geeigneten Boole'schen Ausdruck). Jedes der Logikgatter 202 oder 203 kann unter Verwendung von statischer oder dynamischer Logik implementiert sein. Wenn sie zum Beispiel unter Verwendung von dynamischer Logik implementiert sind, können die Logikgatter 202 und 203 auch durch den Takteingang 206 getaktet sein, oder sie können durch ein anderes Taktsignal (nicht gezeigt) getaktet sein, das aus dem Taktsignal 206 abgeleitet ist. Es wird festgehalten, dass die Anzahl von Logikgattern und die Konnektivität, die in 2 gezeigt sind, lediglich ein veranschaulichendes Beispiel darstellen, und dass in anderen Ausführungsformen andere Anzahlen und Konfigurationen von Gattern und Zustandselementen verwendet werden können.
  • Wie nachstehend detaillierter beschrieben, kann die Verzögerungseinheit 204 konfiguriert sein, um eine Ausbreitung einer Ausgabe aus dem Logikgatter 203 zu verzögern, wodurch die Ankunft der Ausgabe des Logikgatters 203 am Eingang von 205 verzögert wird. Zusätzlich kann die Verzögerungseinheit 208 konfiguriert sein, um eine Ausbreitung des Taktsignals 206 vom Takteingang des Flip-Flops 201 zum Takteingang des Flip-Flops 205 zu verzögern. In verschiedenen Ausführungsformen kann eine Anpassung, d. h. eine Erhöhung oder Verringerung, der durch die Verzögerungseinheiten 204 und 206 bereitgestellten Menge an Verzögerung möglich sein. Die Steuerungseingabe 207 kann mehrere Datenbits einschließen, deren Werte decodiert werden können, um eine von verschiedenen möglichen Mengen an Verzögerung für jede der Verzögerungseinheiten 204 und 206 auszuwählen. In anderen Ausführungsformen kann die Steuerungseingabe 207 ein analoges Vorspannungssignal einschließen, das die durch die Verzögerungseinheit 204 in einen Logikpfad 200 eingebrachte Menge an Verzögerung und die in den Taktsignalpfad des Logikpfads 200 eingebrachte Menge an Verzögerung steuert.
  • Die Flip-Flops 201 und 205, die Logikgatter 202 und 203 und die Verzögerungseinheiten 204 und 208 können unter Verwendung von einer oder mehreren Verdrahtungsschichten gekoppelt sein, die in einem Halbleiterherstellungsprozess verfügbar sind. Physikalische Eigenschaften, wie beispielsweise der spezifische elektrische Widerstand, können für jede Verdrahtungsschicht unterschiedlich sein. Des Weiteren können Unterschiede der Streckenführungspfade, Leitungsbreiten und Ähnliches zu unterschiedlichen Zeitkonstanten für die verschiedenen Leitungsverbindungen zwischen Gattern sowie unterschiedlichen Logikpfaden führen.
  • Unterschiede der Verdrahtungszeitkonstanten können Zeittaktungsprobleme erzeugen, d. h. Verletzungen von Vorbereitungs- oder Haltezeiten für Flip-Flops oder Latches, wenn Signale aus einem bestimmten Logikpfad zu einem anderen Logikpfad weitergeleitet werden. In solchen Fällen können Verzögerungsmengen für eine oder mehrere Verzögerungseinheiten, wie z. B. die Verzögerungseinheit 204 oder die Verzögerungseinheit 208, angepasst werden, um einen angemessenen Zeittaktungsspielraum bereitzustellen. In manchen Ausführungsformen können die Verzögerungsmengen als Reaktion auf Änderungen eines Spannungspegels einer mit Komponenten eines Logikpfades gekoppelten Energieversorgung angepasst werden, um einen angemessenen Zeittaktungsspielraum bereitzustellen, wenn sich der Spannungspegel der Energieversorgung ändert.
  • Der in 2 veranschaulichte Logikpfad kann einem beliebigen von zahlreichen unterschiedlichen Typen von digitalen Logikschaltungen entsprechen und kann allgemein eine beliebige Reihe von durch Zustandselemente verbundenen Gattern einschließen. In manchen Ausführungsformen kann der Logikpfad 200 Teil eines Adressdecodierpfades oder eines Daten-Eingabe/Ausgabe-Pfades für einen Speicher sein. Der Logikpfad 200 kann in anderen Ausführungsformen einem Abschnitt eines Datenpfades innerhalb einer Verarbeitungsvorrichtung entsprechen. Bei dem Datenpfad kann es sich um einen Abschnitt eines Addierers, Verschiebers, Multiplizierers, Teilers, Puffers, einer Registerdatei, oder um jeden anderen Typ von Schaltung oder Funktionseinheit handeln, der betrieben wird, um Daten während des Verlaufs einer Anweisungsausführung zu speichern oder an ihnen zu arbeiten. Der Logikpfad kann auch Steuerungspfaden innerhalb eines Prozessors entsprechen, die Signale erzeugen, die den Betrieb eines Datenpfades oder anderer Elemente innerhalb des Prozessors steuern. Es wird jedoch festgehalten, dass andere Konfigurationen von Logikpfaden möglich sind und berücksichtigt werden.
  • Es wird festgehalten, dass der in 2 veranschaulichte Logikpfad lediglich ein Beispiel darstellt. In verschiedenen Ausführungsformen können andere Anzahlen von Logikgattern, Eingaben aus anderen Logikpfaden und zusätzliche Ausgaben an andere Logikpfade verwendet werden.
  • Unter Hinwendung zu 3 wird eine Ausführungsform einer Verzögerungseinheit veranschaulicht. Eine Verzögerungseinheit 300 kann in verschiedenen Ausführungsformen entweder der Verzögerungseinheit 204 oder der Verzögerungseinheit 208 entsprechen, wie in 2 veranschaulicht. In der veranschaulichten Ausführungsform schließt die Verzögerungseinheit 300 Verzögerungsschaltungen 301 bis 303, und eine Multiplexschaltung 304 ein. Die veranschaulichte Ausführungsform schließt zudem ein mit „INPUT” bezeichnetes Eingangssignal 305, mit „CONTROL” bezeichnete Steuerungssignale 307 und ein mit „OUTPUT” bezeichnetes Ausgangssignal 306 ein.
  • Jede der Verzögerungsschaltungen 301 bis 303 schließt mehrere Inverter ein. Zum Beispiel schließt die Verzögerungsschaltung 301 die Inverter 308 und 309 ein, von denen jeder eine Gatterverzögerung, d. h. die Verzögerung, die benötigt wird, damit sich ein Signal vom Gattereingang zu einem Gatterausgang ausbreitet, zur Gesamtverzögerung durch die Verzögerungsschaltung 301 beiträgt. Da jede der Verzögerungsschaltungen 301 bis 303 eine andere Anzahl von Invertern einschließt, besitzt jede Verzögerungsschaltung eine andere intrinsische Verzögerungsmenge, die durch die Multiplexschaltung 304 abhängig vom Steuerungssignal 307 ausgewählt werden kann. Obwohl Inverter in der in 3 veranschaulichten Ausführungsform gezeigt sind, kann in anderen Ausführungsformen jedes geeignete Logikgatter verwendet werden. Darüber hinaus können zusätzliche Vorrichtungen, wie z. B. p-Kanal- und/oder n-Kanal-MOSFETs, verwendet werden, um innerhalb einer Verzögerungsschaltung eine feste Last am Ausgang jedes Gatters aufrechtzuerhalten, wodurch konsistente Anstiegs- und Abfallzeiten bereitgestellt werden, wenn Signale wechseln.
  • Es wird festgehalten, dass statische komplementäre Metall-Oxid-Halbleiter-Inverter (CMOS-Inverter), wie beispielsweise die hierin gezeigten und beschriebenen, eine bestimmte Ausführungsform eines invertierenden Verstärkers darstellen können, die in den hierin beschriebenen Schaltungen verwendet werden kann. In anderen Ausführungsformen kann jedoch jede geeignete Konfiguration von invertierendem Verstärker verwendet werden, die fähig ist, die logische Bedeutung eines Signals zu invertieren, einschließlich invertierender Verstärker, die unter Verwendung von anderer Technologie als CMOS aufgebaut sind.
  • Ein Eingang von jeder der Verzögerungsschaltungen 301 bis 303 ist mit dem Eingangssignal 305 gekoppelt, und ein Ausgang von jeder der Verzögerungsschaltungen 301 bis 303 ist mit jeweiligen Eingängen der Multiplexschaltung 304 gekoppelt. Während des Betriebs kann das Steuerungssignal 307 so gesetzt werden, dass ein Ausgang von jeder der Verzögerungsschaltungen 301 bis 303 durch die Multiplexschaltung 304 ausgewählt werden kann. Wenn das Eingangssignal 305 wechselt, breitet sich der Übergang durch jede der Verzögerungsschaltungen 301 bis 304 aus und kommt nach jeweiligen unterschiedlichen Zeitperioden am Eingang der Multiplexschaltung 304 an. Die gewählte Ausgabe kann dann durch 306 zum Ausgang verbreitet werden. In verschiedenen Ausführungsformen kann durch Auswählen einer Ausgabe aus verschiedenen Verzögerungsschaltungen eine Verzögerungseinheit abhängig von einem Steuerungssignal, wie beispielsweise dem Steuerungssignal 307, unterschiedliche Verzögerungsmengen bereitstellen.
  • Die Multiplexschaltung 304 kann gemäß zahlreichen Gestaltungsarten gestaltet sein. Zum Beispiel kann die Multiplexschaltung 304 ein oder mehrere Durchgangsgatter einschließen, die durch die Steuerungssignale 307 gesteuert werden. Der Ausgang von jedem Durchgangsgatter kann in der Weise eines verdrahteten OR zusammengekoppelt sein. Es wird festgehalten, dass ein Durchgangsgatter (auch als ein „Transmissionsgatter” bezeichnet) einen n-Kanal-Metall-Oxid-Halbleiter-Feldeffekttransistor (MOSFET) und einen p-Kanal-MOSFET einschließen kann, die parallel geschaltet sind. In anderen Ausführungsformen können ein einzelner n-Kanal-MOSFET oder ein einzelner p-Kanal-MOSFET als ein Durchgangsgatter verwendet werden. Es wird ferner festgehalten, dass in verschiedenen Ausführungsformen ein „Transistor” einem oder mehreren Transkonduktanzelementen, wie zum Beispiel einem Sperrschicht-Feldeffekttransistor (JFET), entsprechen kann.
  • Die in 3 abgebildete Ausführungsform stellt lediglich ein Beispiel dar. In anderen Ausführungsformen können andere Anzahlen von Verzögerungsschaltungen verwendet werden.
  • Eine Ausführungsform einer Verzögerungsschaltung ist in 4 veranschaulicht. In der veranschaulichten Ausführungsform schließt eine Verzögerungsschaltung 400 gesteuerte Inverter 413 und 414 ein. Der Ausgang des gesteuerten Inverters 413 ist mit einem Eingang des gesteuerten Inverters 414 gekoppelt, um eine Pufferschaltung zu bilden, d. h. eine Schaltung, die den logischen Zustand (LOW oder HIGH) des Eingangssignals nicht ändert. Die Verzögerungsschaltung 400 schließt ferner ein mit „BIASP” bezeichnetes p-Kanal-Vorspannungssignal 409, ein mit „IN” bezeichnetes Dateneingangssignal 410, ein mit „BIASN” bezeichnetes n-Kanal-Vorspannungssignal 411 und ein mit „OUT” bezeichnetes Datenausgangssignal 412 ein.
  • Es wird festgehalten, dass sich „LOW” oder „niedriges Logikniveau” auf eine Spannung auf oder nahe an der Masse bezieht, und dass sich „HIGH” oder „hohes Logikniveau” auf einen Spannungspegel bezieht, der ausreichend groß ist, um einen n-Kanal-MOSFET einzuschalten und einen p-Kanal-MOSFET auszuschalten. In anderen Ausführungsformen kann eine andere Technologie zu anderen Spannungspegeln für „LOW” und „HIGH” führen.
  • Der gesteuerte Inverter 413 schließt Vorrichtungen 401 bis 404 ein, und der gesteuerte Inverter 414 schließt Vorrichtungen 405 bis 408 ein. Das Dateneingangssignal 410 steuert die Vorrichtungen 402 und 403, was es einer davon erlaubt, sich abhängig vom Logikzustand (entweder HIGH oder LOW) des Eingangssignals 410 zu aktivieren. Das p-Kanal-Vorspannungssignal 409 steuert die Vorrichtung 401, und das n-Kanal-Vorspannungssignal steuert die Vorrichtung 404. In manchen Ausführungsformen können das p-Kanal-Vorspannungssignal 409 und das n-Kanal-Vorspannungssignal 411 dem Steuerungssignal 207 entsprechen, wie in 2 veranschaulicht.
  • Während eines Betriebs können das p-Kanal-Vorspannungssignal 409 und das n-Kanal-Vorspannungssignal 411 auf einen Spannungspegel gesetzt werden, um die Vorrichtungen 401 bzw. 404 teilweise zu aktivieren (oder „einzuschalten”). Das p-Kanal-Vorspannungssignal 409 und das n-Kanal-Vorspannungssignal 411 können gemäß vielfältigen Schaltungsgestaltungstechniken auf vielfältige analoge Spannungspegel gesetzt werden. Zum Beispiel kann ein Stromspiegel verwendet werden, um einen Referenzstrom, oder eine skalierte Version davon, durch die Vorrichtungen 401 und 404 zu spiegeln.
  • Durch teilweises Aktivieren der Vorrichtungen 401 und 404 kann ein dem gesteuerten Inverter 413 zugeführter und von diesem abgeleiteter Strom beschränkt werden, wodurch eine Anstiegs- oder Abfallzeit der Ausgabe des gesteuerten Inverters 413 erhöht wird. Ein Erhöhen der Anstiegs- oder Abfallzeit der Ausgabe des gesteuerten Inverters 413 wird die Zeit der Signalausbreitung durch den gesteuerten Inverter 413 erhöhen, wodurch die Verzögerungsmenge des gesteuerten Inverters 413 erhöht wird. Wie bei der in 3 veranschaulichten Verzögerungseinheit ist die Verzögerungsschaltung 400 durch die Anpassung des p-Kanal-Vorspannungssignals 409 und des n-Kanal-Vorspannungssignals 411 zu mehreren Verzögerungsmengen fähig. Der gesteuerte Inverter 414 arbeitet in einer dem gesteuerten Inverter 413 ähnlichen Weise.
  • Es wird festgehalten, dass die in 4 veranschaulichte Ausführungsform einer Verzögerungseinheit lediglich ein Beispiel darstellt. In anderen Ausführungsformen sind andere Vorrichtungen und andere Konfigurationen von Vorrichtungen möglich und werden berücksichtigt.
  • Unter Hinwendung zu 5 wird ein Funktionsdiagramm einer Ausführungsform eines Speichers veranschaulicht. In der veranschaulichten Ausführungsform schließt der Speicher 500 einen Steuerungsblock 501, einen Adressblock 502, ein Array 504 und einen Datenblock 505 ein. In verschiedenen Ausführungsformen kann der Speicher 500 dem Speicherblock 102 des SoC 100, wie in 1 veranschaulicht, entsprechen. Der Speicher 500 schließt ferner ein mit „CLK” bezeichnetes Taktsignal 507, mit „ADD” bezeichnete Adresssignale 509 und mit „DATA” bezeichnete Datensignale 510 ein. Der Steuerungsblock 501 ist mit dem Adressblock 502 gekoppelt, der wiederum mit dem Array 504 gekoppelt ist. Der Steuerungsblock 501 ist ferner mit dem Datenblock 505 gekoppelt, der auch mit dem Array 504 gekoppelt ist.
  • Das Array 504 kann mehrere in Zeilen und Spalten angeordnete Speicherzellen einschließen. Jeder geeignete Speicherzellentyp kann verwendet werden. Zum Beispiel kann das Array 504 Zellen von statischem Speicher mit wahlfreiem Zugriff (SRAM), Zellen von dynamischem Speicher mit wahlfreiem Zugriff (DRAM) und dergleichen einschließen. In manchen Ausführungsformen kann das Array 504 mit einer dedizierten Energieversorgung gekoppelt sein, die von einer mit dem Steuerungsblock 501, dem Adressblock 502 und dem Datenblock 505 gekoppelten Energieversorgung getrennt ist. Ein Spannungspegel der mit dem Array 504 gekoppelten dedizierten Energieversorgung kann in manchen Ausführungsformen niedriger sein als ein Spannungspegel der mit den anderen Blöcken gekoppelten Energieversorgung.
  • Der Steuerungsblock 501 kann eine Zustandsmaschine oder Zustandslogik einschließen und kann konfiguriert sein, um dem Adressblock 502 und dem Datenblock 505 abhängig vom Status der Zustandsmaschine oder der Zustandslogik sowie des Taktsignals 507 und der Steuerungssignale 508 Zeittaktungssignale bereitzustellen. In manchen Ausführungsformen kann der Steuerungsblock 501 eine Decodierschaltung einschließen, um abhängig vom Zustand der Steuerungssignale 508 den Betriebsmodus des Speichers 500 zu ermitteln, wie z. B. eine Datenspeicher- oder „Schreib”-Operation. In anderen Ausführungsformen kann der Steuerungsblock 501 mehrere Schaltungspfade einschließen.
  • Der Adressblock 502 kann konfiguriert sein, um dem Array 504 Zeilenauswahlsignale und Spaltenauswahlsignale bereitzustellen. In manchen Ausführungsformen kann der Adressblock 502 ein n-zu-2n-Decodierschema, wobei n die Anzahl vom Bits in dem auf den Adresssignalen 509 codierten Adresswert ist, oder ein beliebiges geeignetes Decodierschema verwenden, um Zeilen- und Spaltenauswahlsignale zu erzeugen. Der Adressblock 502 kann Verzögerungseinheiten 503 einschließen. In verschiedenen Ausführungsformen, können unterschiedliche Schaltungspfade innerhalb des Adressblocks 502 eine oder mehrere Verzögerungseinheiten einschließen, und jede Verzögerungseinheit kann konfigurierbar sein, um eine von mehreren möglichen Verzögerungsmengen bereitzustellen. Durch Bereitstellen mehrerer Verzögerungsmengen können unerwünschte Zeittaktungsdifferenzen über einem Bereich von Energieversorgungsbetriebsspannungspegeln beseitigt werden.
  • Der Datenblock 505 kann konfiguriert sein, um in das Array 504 zu speichernde, d. h. zu schreibende, Daten zu empfangen. Darüber hinaus kann der Datenblock 505 Verstärker und zugehörige Schaltlogik einschließen, die notwendig sind, um in einer oder mehreren der im Array 504 eingeschlossenen Speicherzellen gespeicherte Daten abzurufen. Sowohl der Eingangs- als auch der Ausgangsabschnitt des Datenblocks 505 kann mehrere Schaltungspfade einschließen, von denen jeder eine von Verzögerungseinheiten 506 einschließen kann. Es wird festgehalten, dass jede geeignete Anzahl von Verzögerungsblöcken verwendet werden kann, obwohl in 5 nur ein einziger Blockverzögerungseinheitenblock abgebildet ist. Wie bei Verzögerungsblock 503 im Adressblock 502 kann der Verzögerungsblock 506 konfiguriert sein, um eine von einer Vielzahl von Verzögerungsmengen bereitzustellen.
  • Es wird festgehalten, dass die in 5 abgebildete Ausführungsform eines Speichers lediglich ein Beispiel darstellt. Andere Funktionsblöcke und andere Kombinationen von Funktionsblöcken können in anderen Ausführungsformen verwendet werden.
  • Unter Hinwendung zu 6 ist ein Ablaufplan, der ein Verfahren zum Anpassen einer in einem Schaltungspfad eines Funktionsblocks eingeschlossenen Verzögerungseinheit dargestellt. Das Verfahren beginnt in Block 601. Ein Spannungspegel einer mit dem Funktionsblock gekoppelten Energieversorgung kann dann überprüft werden (Block 602). In manchen Ausführungsformen kann eine analoge Vergleichsschaltung verwendet werden, um den Spannungspegel der Energieversorgung mit einer oder mehreren Referenzspannungen zu vergleichen. Die Energieversorgung kann in verschiedenen Ausführungsformen intern in einem SoC oder einer anderen integrierten Schaltung erzeugt werden, und ein oder mehrere Steuerungssignale können erzeugt werden, um andere Schaltungen über eine Änderung der Versorgungsspannung zu benachrichtigen.
  • Das Verfahren kann dann vom Spannungspegel der Energieversorgung abhängen (Block 603). In manchen Ausführungsformen können eine oder mehrere Abtastungen des Spannungspegels über eine Zeitperiode verfolgt und die Abtastungen mit einem vorbestimmten Schwellenwert verglichen werden, um festzustellen, ob sich der Spannungspegel verändert hat. Der Spannungspegel kann sich entweder erhöhen oder verringern, und in verschiedenen Ausführungsformen können abhängig davon, ob sich der Spannungspegel erhöht oder verringert hat, unterschiedliche Verzögerungsmengen ausgewählt werden. Die Größenordnung der Änderung des Spannungspegels kann ebenfalls ermittelt werden. Falls keine Änderung des Spannungspegels der Energieversorgung erfasst wurde, wird das Verfahren wie vorstehend beschrieben ab Block 602 fortgesetzt.
  • Wenn eine Änderung des Spannungspegels der Energieversorgung erfasst wurde, kann der Betrieb der Funktionseinheit oder des Funktionsblocks, wie z. B. des Speichers 500, wie in 5 veranschaulicht, pausiert werden (Block 604). In verschiedenen Ausführungsformen kann ein für den Funktionsblock intern erzeugter Takt gestoppt werden. Alternativ dazu kann ein dem Funktionsblock durch eine externe Erzeugungsschaltung bereitgestelltes Taktsignal am Eingang des Funktionsblock gesperrt werden, um das Taktsignal daran zu hindern, sich in den Funktionsblock auszubreiten. In manchen Ausführungsformen kann durch Pausieren eines Betriebs des Funktionsblocks vor jeglichen Anpassungen von Verzögerungseinheiten ein logischer Zustand des Funktionsblocks gespeichert werden.
  • Sobald der Betrieb pausiert wurde, können dann Verzögerungsmengen für eine oder mehrere Verzögerungseinheiten in verschiedenen Schaltungspfaden angepasst werden (Block 605). Zum Beispiel können Verzögerungsmengen in Schaltungspfaden innerhalb eines Adressdecodierers eines Speichers angepasst werden. Die Schaltungspfade können sowohl Daten- als auch Taktpfade innerhalb des Decodierers. Die angepassten Verzögerungsmengen können davon abhängen, ob die Änderung des Spannungspegels der Energieversorgung den Spannungspegel erhöht oder verringert. In anderen Ausführungsformen kann die Größenordnung der Änderung auch beeinflussen, wie die Verzögerungsmengen angepasst werden. Neue Verzögerungsmengen können in Fuses oder einem beliebigen anderen, geeigneten nichtflüchtigen Speicher gespeichert und abhängig von den vorgenannten Kriterien ausgewählt werden. Die gespeicherten Werte können das Ergebnis eines Kalibrierungsvorgangs sein, der ein Schaltungsverhalten bei verschiedenen Energieversorgungsspannungspegeln kennzeichnet. Solch ein Kalibrierungsvorgang kann während eines anfänglichen Tests des SoC oder der integrierten Schaltung durchgeführt werden.
  • Ist die Anpassung der Verzögerungsmengen abgeschlossen, kann der Betrieb des Funktionsblocks wiederaufgenommen werden (Block 606). Wie vorstehend beschrieben, kann ein intern erzeugter Takt wieder gestartet werden, oder einem extern erzeugten Taktsignal kann es wieder erlaubt werden, sich in den Funktionsblock auszubreiten. Sobald der Funktionsblock wieder betriebsbereit ist, kann das Verfahren in Block 607 enden.
  • Die in dem in 6 veranschaulichten Verfahren abgebildeten Operationen sind als in einer sequenziellen Weise durchgeführt gezeigt. In anderen Ausführungsformen können manche der oder alle Schritte parallel durchgeführt werden.
  • Zahlreiche Variationen und Modifikationen werden für den Fachmann ersichtlich, sobald die vorstehende Offenbarung vollständig verstanden ist. Es ist beabsichtigt, dass die folgenden Ansprüche so interpretiert werden, dass alle solchen Variationen und Modifikationen eingeschlossen sind.

Claims (20)

  1. Einrichtung, umfassend: eine Funktionseinheit, die eine Vielzahl von Schaltungspfaden einschließt, wobei jeder Schaltungspfad der Vielzahl von Schaltungspfaden mindestens eine Verzögerungseinheit einschließt; und Schaltlogik, die konfiguriert ist, um: einen Spannungspegel einer Energieversorgung zu überwachen; und eine Verzögerungsmenge der Verzögerungseinheit eines gegebenen Schaltungspfades der Vielzahl von Schaltungspfaden anzupassen, in Antwort auf ein Feststellen, dass sich der Spannungspegel der Energieversorgung geändert hat.
  2. Einrichtung nach Anspruch 1, wobei zum Anpassen der Verzögerungsmenge der Verzögerungseinheit des gegebenen Schaltungspfades der Vielzahl von Schaltungspfaden die Schaltlogik ferner konfiguriert ist, um einen Betrieb der Funktionseinheit zu pausieren, in Antwort auf das Feststellen, dass sich der Spannungspegel der Energieversorgung geändert hat.
  3. Einrichtung nach Anspruch 2, wobei zum Anpassen der Verzögerungsmenge der Verzögerungseinheit des gegebenen Schaltungspfades der Vielzahl von Schaltungspfaden die Schaltlogik ferner konfiguriert ist, um den Betrieb der Funktionseinheit wiederaufzunehmen, in Antwort auf ein Feststellen, dass die Verzögerungsmenge der Verzögerungseinheit des gegebenen Schaltungspfades angepasst wurde.
  4. Einrichtung nach Anspruch 1, wobei die Verzögerungseinheit des gegebenen Schaltungspfades der Vielzahl von Schaltungspfaden mindestens eine Pufferschaltung einschließt, wobei zum Anpassen des Wertes der Verzögerungseinheit die Schaltlogik ferner konfiguriert ist, um einen Spannungspegel eines Vorspannungssignals anzupassen, das mit der mindestens einen Pufferschaltung gekoppelt ist.
  5. Einrichtung nach Anspruch 1, wobei die Verzögerungseinheit des gegebenen Schaltungspfades der Vielzahl von Schaltungspfaden eine Vielzahl von Verzögerungsschaltungen einschließt, wobei jede Verzögerungsschaltung konfiguriert ist, um eine Ausbreitung eines Signals um eine jeweilige Zeitperiode einer Periode von Zeitperioden zu verzögern, und wobei zum Anpassen des Wertes der Verzögerungseinheit, die im Schaltungspfad eingeschlossen ist, der im Adressdecodierer eingeschlossen ist, die Schaltlogik ferner konfiguriert ist, um eine Ausgabe aus einer gegebenen Verzögerungsschaltung einer Vielzahl von Verzögerungsschaltungen auszuwählen.
  6. Einrichtung nach Anspruch 1, wobei zum Anpassen der Verzögerungsmenge der Verzögerungseinheit im gegebenen Schaltungspfad die Schaltlogik ferner konfiguriert ist, um eine Zeitperiode für ein Signal zu erhöhen, während der sich das Signal durch die Verzögerungseinheit ausbreitet.
  7. Verfahren zum Betreiben einer in einer integrierten Schaltung eingeschlossenen Funktionseinheit, wobei die Funktionseinheit eine Vielzahl von Schaltungspfaden einschließt, wobei das Verfahren umfasst: Überwachen eines Spannungspegels einer Energieversorgung; Pausieren eines Betriebs der Funktionseinheit, in Antwort auf ein Erfassen einer Änderung des Spannungspegels der Energieversorgung; und Anpassen einer Verzögerungsmenge einer in einem ersten Schaltungspfad der Vielzahl von Schaltungspfaden eingeschlossenen Verzögerungseinheit, in Antwort auf ein Feststellen, dass der Betrieb der Funktionseinheit pausiert wurde.
  8. Verfahren nach Anspruch 7, ferner umfassend ein Wiederaufnehmen des Betriebs der Funktionseinheit, in Antwort auf ein Feststellen, dass die Verzögerungsmenge der Verzögerungseinheit des ersten Schaltungspfades der Vielzahl von Schaltungspfaden angepasst wurde.
  9. Verfahren nach Anspruch 7, wobei die im ersten Schaltungspfad der Vielzahl von Schaltungspfaden eingeschlossene Verzögerungseinheit mindestens eine Pufferschaltung einschließt, und wobei das Anpassen des Wertes der Verzögerungseinheit ein Anpassen eines Spannungspegels eines Vorspannungssignals umfasst, das mit der mindestens einen Pufferschaltung gekoppelt ist.
  10. Verfahren nach Anspruch 7, wobei die Verzögerungseinheit der im ersten Schaltungspfad der Vielzahl von Schaltungspfaden eingeschlossenen Verzögerungseinheit eine Vielzahl von Verzögerungsschaltungen einschließt, wobei jede Verzögerungsschaltung konfiguriert ist, um eine Ausbreitung eines Signals um eine jeweilige Zeitperiode einer Periode von Zeitperioden zu verzögern, und wobei das Anpassen des Wertes der Verzögerungseinheit ein Auswählen einer Ausgabe aus einer gegebenen Verzögerungsschaltung einer Vielzahl von Verzögerungsschaltungen umfasst.
  11. Verfahren nach Anspruch 7, wobei das Anpassen der Verzögerungsmenge der Verzögerungseinheit im ersten Schaltungspfad der Vielzahl von Schaltungspfaden ein Erhöhen einer Zeitperiode für ein Signal umfasst, während der sich das Signal durch die Verzögerungseinheit ausbreitet.
  12. Verfahren nach Anspruch 7, wobei das Anpassen der Verzögerungsmenge der Verzögerungseinheit im ersten Schaltungspfad der Vielzahl von Schaltungspfaden ein Verringern einer Zeitperiode für das Signal umfasst, während der sich das Signal durch die Verzögerungseinheit ausbreitet.
  13. Verfahren nach Anspruch 7, ferner umfassend ein Anpassen einer Verzögerungsmenge einer in einem zweiten Schaltungspfad der Vielzahl von Schaltungspfaden eingeschlossenen Verzögerungseinheit, in Antwort auf ein Feststellen, dass der Betrieb der Funktionseinheit pausiert wurde.
  14. System, umfassend: einen Prozessor; und einen Speicher, der konfiguriert ist, um: einen Spannungspegel einer Energieversorgung zu überwachen; einen Betrieb zu pausieren, in Antwort auf ein Erfassen einer Änderung des Spannungspegels der Energieversorgung; eine Verzögerungsmenge einer Verzögerungseinheit anzupassen, die in einem Schaltungspfad eingeschlossen ist, der in einer Adressdecodierereinheit des Speichers eingeschlossen ist, in Antwort auf eine Feststellen, dass der Betrieb pausiert wurde; und den Betrieb wiederaufzunehmen, in Antwort auf ein Feststellen, dass die Verzögerungsmenge der Verzögerungseinheit, die in dem Schaltungspfad eingeschlossen ist, der in der Adressdecodierereinheit eingeschlossen ist, angepasst wurde.
  15. System nach Anspruch 14, wobei der Speicher ferner konfiguriert ist, um eine Verzögerungsmenge einer Verzögerungseinheit anzupassen, die in einem Schaltungspfad einer Daten-Eingabe/Ausgabe-Einheit des Speichers eingeschlossen ist, in Antwort auf ein Feststellen, dass der Betrieb pausiert wurde.
  16. System nach Anspruch 14, wobei die Verzögerungseinheit eine Vielzahl von Verzögerungsschaltungen einschließt, wobei jede Verzögerungsschaltung der Vielzahl von Verzögerungsschaltungen konfiguriert ist, um eine Ausbreitung eines Signals um eine jeweilige Zeitperiode einer Vielzahl von Zeitperioden zu verzögern, und wobei zum Anpassen des Wertes der Verzögerungseinheit, die im Schaltungspfad eingeschlossen ist, der im Adressdecodierer eingeschlossen ist, der Speicher ferner konfiguriert ist, um eine Ausgabe aus einer gegebenen Verzögerungsschaltung einer Vielzahl von Verzögerungsschaltungen auszuwählen.
  17. System nach Anspruch 14, wobei die Verzögerungseinheit mindestens eine Pufferschaltung einschließt, und wobei zum Anpassen des Wertes der Verzögerungseinheit, die im Schaltungspfad eingeschlossen ist, der im Adressdecodierer eingeschlossen ist, der Speicher ferner konfiguriert ist, um einen Spannungspegel eines Vorspannungssignals anzupassen, das mit der mindestens einen Pufferschaltung gekoppelt ist.
  18. System nach Anspruch 14, wobei zum Anpassen der Verzögerungseinheit, die im Schaltungspfad eingeschlossen ist, der im Adressdecodierer eingeschlossen ist, der Speicher ferner konfiguriert ist, um eine Zeitperiode für ein Signal zu verringern, während der sich das Signal durch die Verzögerungseinheit ausbreitet.
  19. System nach Anspruch 14, wobei zum Anpassen des Wertes der Verzögerungseinheit, die im Schaltungspfad eingeschlossen ist, der im Adressdecodierer eingeschlossen ist, der Speicher ferner konfiguriert ist, um eine Zeitperiode für ein Signal zu erhöhen, während der sich das Signal durch die Verzögerungseinheit ausbreitet.
  20. System nach Anspruch 14, wobei der Speicher ferner konfiguriert ist, um ein Taktsignal zu empfangen und abhängig vom empfangenen Taktsignal ein internes Taktsignal zu erzeugen, und wobei zum Pausieren eines Betriebs der Speicher ferner dazu konfiguriert ist, das interne Taktsignal zu stoppen.
DE112015003632.6T 2014-08-05 2015-07-22 Dynamisches spielraumeinstellen zum steuern von anwendungsspezifischen schaltungen und speichern Pending DE112015003632T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/451,721 US9312837B2 (en) 2014-08-05 2014-08-05 Dynamic margin tuning for controlling custom circuits and memories
US14/451,721 2014-08-05
PCT/US2015/041496 WO2016022291A2 (en) 2014-08-05 2015-07-22 Dynamic margin tuning for controlling custom circuits and memories

Publications (1)

Publication Number Publication Date
DE112015003632T5 true DE112015003632T5 (de) 2017-04-27

Family

ID=53785728

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015003632.6T Pending DE112015003632T5 (de) 2014-08-05 2015-07-22 Dynamisches spielraumeinstellen zum steuern von anwendungsspezifischen schaltungen und speichern

Country Status (6)

Country Link
US (2) US9312837B2 (de)
KR (1) KR101887319B1 (de)
CN (1) CN106575515B (de)
DE (1) DE112015003632T5 (de)
TW (1) TWI576592B (de)
WO (1) WO2016022291A2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10106049B2 (en) * 2016-05-18 2018-10-23 Nxp Usa, Inc. Battery monitoring device
US10175734B1 (en) * 2016-06-17 2019-01-08 Altera Corporation Techniques for adjusting latency of a clock signal to affect supply voltage
US10476490B2 (en) * 2016-10-18 2019-11-12 Taiwan Semiconductor Manufacturing Company Limited Selectable delay buffers and logic cells for dynamic voltage scaling in ultra low voltage designs
KR20180043626A (ko) 2016-10-20 2018-04-30 삼성전자주식회사 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법
JP6290468B1 (ja) * 2017-02-06 2018-03-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置およびデータセット方法
US10332574B2 (en) 2017-03-24 2019-06-25 Mediatek Inc. Embedded memory with setup-hold time controlled internally or externally and associated integrated circuit
KR102567922B1 (ko) * 2018-07-03 2023-08-18 에스케이하이닉스 주식회사 지연회로 및 이를 이용한 반도체시스템
US20220406365A1 (en) * 2021-06-18 2022-12-22 Micron Technology, Inc. Write Timing Compensation

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796682A (en) * 1995-10-30 1998-08-18 Motorola, Inc. Method for measuring time and structure therefor
US6088255A (en) * 1998-03-20 2000-07-11 Fujitsu Limited Semiconductor device with prompt timing stabilization
US6356158B1 (en) * 2000-05-02 2002-03-12 Xilinx, Inc. Phase-locked loop employing programmable tapped-delay-line oscillator
JP3842609B2 (ja) 2001-10-22 2006-11-08 株式会社東芝 Icカード用lsi,icカード及びicカードの動作方法
US7516379B2 (en) * 2004-04-06 2009-04-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Circuit and method for comparing circuit performance between functional and AC scan testing in an integrated circuit (IC)
US8381009B2 (en) * 2006-08-03 2013-02-19 Freescale Semiconductor, Inc. Device and method for power management
US7639052B2 (en) 2007-04-06 2009-12-29 Altera Corporation Power-on-reset circuitry
JP2008306788A (ja) * 2007-06-05 2008-12-18 Ricoh Co Ltd スイッチングレギュレータ及びスイッチングレギュレータの動作制御方法
US8138814B2 (en) 2008-07-29 2012-03-20 Qualcomm Incorporated High signal level compliant input/output circuits
TW201015282A (en) 2008-10-09 2010-04-16 Realtek Semiconductor Corp Circuit and method of adjusting system clock in low voltage detection, and low voltage reset circuit
KR101018690B1 (ko) * 2008-10-31 2011-03-04 주식회사 하이닉스반도체 반도체 장치
JP5528724B2 (ja) * 2009-05-29 2014-06-25 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置及びこれを制御するメモリコントローラ、並びに、情報処理システム
US7893739B1 (en) * 2009-08-27 2011-02-22 Altera Corporation Techniques for providing multiple delay paths in a delay circuit
US7969232B2 (en) * 2009-08-31 2011-06-28 Himax Technologies Limited Booster and voltage detection method thereof
US8228106B2 (en) * 2010-01-29 2012-07-24 Intel Mobile Communications GmbH On-chip self calibrating delay monitoring circuitry
US8436670B2 (en) 2011-01-13 2013-05-07 Micron Technology, Inc. Power supply induced signal jitter compensation
US8643418B2 (en) * 2011-06-02 2014-02-04 Micron Technology, Inc. Apparatus and methods for altering the timing of a clock signal
US8717835B2 (en) * 2011-08-23 2014-05-06 Micron Technology, Inc. Apparatuses and methods for compensating for power supply sensitivities of a circuit in a clock path
US8531225B1 (en) 2012-05-18 2013-09-10 Mediatek Singapore Pte. Ltd. Configurable critical path emulator
US20130311792A1 (en) 2012-05-18 2013-11-21 Prahallada PONNATHOTA Voltage scaling architecture on system-on-chip platform
US8947963B2 (en) * 2013-01-11 2015-02-03 Apple Inc. Variable pre-charge levels for improved cell stability

Also Published As

Publication number Publication date
US20160043707A1 (en) 2016-02-11
WO2016022291A2 (en) 2016-02-11
US20160191031A1 (en) 2016-06-30
WO2016022291A4 (en) 2016-05-12
TWI576592B (zh) 2017-04-01
TW201621326A (zh) 2016-06-16
WO2016022291A3 (en) 2016-04-07
CN106575515B (zh) 2019-09-20
CN106575515A (zh) 2017-04-19
KR101887319B1 (ko) 2018-08-09
US9602092B2 (en) 2017-03-21
US9312837B2 (en) 2016-04-12
KR20170041781A (ko) 2017-04-17

Similar Documents

Publication Publication Date Title
DE112015003632T5 (de) Dynamisches spielraumeinstellen zum steuern von anwendungsspezifischen schaltungen und speichern
DE112011105683B4 (de) Abgeschlossene(s) Alterungsüberwachungsvorrichtung und -verfahren auf Pfadebene
DE102013114564B4 (de) System zur Reduzierung einer Leistungsspitze während einer Abtastverschiebung auf lokaler Ebene für abtastbasierte Prüfungen
US9311967B2 (en) Configurable voltage reduction for register file
DE102012212549B4 (de) Vorrichtung mit einem Datenerhaltungsmodus und einem Datenverarbeitungsmodus
DE102012202747A1 (de) Doppeltrigger-Niedrigenergie-Flip-Flop-Schaltung
DE112016004479T5 (de) Mehrphasen-abwärtswandler mit fehlerrückkopplung individueller phasenausgangsspannungen mit transkonduktanzverstärker
DE112017004214T5 (de) Integrierte Takttorschaltung mit eingebetteter NOR
DE102012219056B4 (de) Störimpulsfreier programmierbarer Taktformer
DE102010013228A1 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE112019002319T5 (de) Niederleistungstakt-gate-schaltung
US20170366170A1 (en) Reduced power set-reset latch based flip-flop
US9483599B1 (en) Circuit design-specific failure in time rate for single event upsets
US9083342B2 (en) Circuit and method for power management
DE102012112363A1 (de) Verfahren zum Verbreiten einer Mehrzahl von Interrupts, Interrupt-Anforderungssignal-Verbreitungsschaltungen und Ein-Chip-Systeme, welche dieselben aufweisen
DE102016115935A1 (de) Sequentielle Schaltungen und Betriebsverfahren hiervon
DE112014004440T5 (de) Konfliktvermeidung für sequenzielles Einschalten elektronischer Systeme
DE102018102292A1 (de) Verfahren und Vorrichtung zur automatischen Implementierung eines kompensierenden Rücksetzens für neugetaktete Schaltungen
KR102263674B1 (ko) 프로그램가능 지연 회로 블록
DE102013113981A1 (de) Kleinflächiger Niedrigleistungs-Datenbeibehaltungsflop
DE102012222581A1 (de) Schnellbypass-Speicherschaltkreis
DE112020004595T5 (de) Bidirektionale einzelversorgungs-pegelumsetzerschaltung
DE102020130173A1 (de) Technik für den pll-kondensatoraustausch und dynamische bandauswahl für einen digital gesteuerten oszillator mit geringem jitter
DE102020130888A1 (de) Doppelflankengetriggertes mux-d-scan-flip-flop
DE102014110890A1 (de) Speicher mit zweifacher Versorgung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication