DE102022119651A1 - Einrichtung und verfahren für kompensierung von globaltakt zu lokaltakt - Google Patents

Einrichtung und verfahren für kompensierung von globaltakt zu lokaltakt Download PDF

Info

Publication number
DE102022119651A1
DE102022119651A1 DE102022119651.8A DE102022119651A DE102022119651A1 DE 102022119651 A1 DE102022119651 A1 DE 102022119651A1 DE 102022119651 A DE102022119651 A DE 102022119651A DE 102022119651 A1 DE102022119651 A1 DE 102022119651A1
Authority
DE
Germany
Prior art keywords
clock
signal
global
output
delay line
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
DE102022119651.8A
Other languages
English (en)
Inventor
Ariel Elad Avital
Yossi Ben Simon
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102022119651A1 publication Critical patent/DE102022119651A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Eine Taktquelle gibt ein Taktsignal aus. Eine erste Verzögerungsleitung empfängt ein erstes Taktquellensignal und erzeugt eine erste Ausgabe, wobei das erste Taktquellensignal zumindest teilweise auf dem Taktsignal basiert. Ein erster Taktspine empfängt die erste Ausgabe und erzeugt ein globales Referenztaktsignal. Eine zweite Verzögerungsleitung empfängt ein zweites Taktquellensignal und erzeugt eine zweite Ausgabe, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert. Ein zweiter Taktspine empfängt die zweite Ausgabe und erzeugt ein globales Feedbacktaktsignal. Ein globaler Phasendetektor detektiert eine Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen. Das zweite Taktquellensignal wird zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt.

Description

  • STAND DER TECHNIK
  • Technisches Gebiet
  • Diese Offenbarung betrifft Schaltungen zum Manipulieren eines Taktsignals und insbesondere Schaltungen zum Kompensieren eines solchen Signals in Stufen.
  • Verwandte Technik
  • Heute sind Ein-Chip-Systeme (SOCs) immer komplexer geworden, wobei eine erhöhte Anzahl an Intellectual Property Units (IPs) (z. B. Kerne, Fabrics, Grafikausführungseinheiten [EUs]) auf synchrone Weise laufen. Darüber hinaus sind IPs, wie etwa Intel® Architecture(IA)-Kerne und Grafikprozessoren, größer und komplexer geworden.
  • Im Allgemeinen erhält ein Taktkompensator einen Takt von einer Taktquelle, verteilt den Takt unter Verwendung einer Taktverteilung (z. B. H-Baum oder Spines) und kompensiert den Takt, um einen Versatz unter Verwendung eines Phasendetektors, eines EA und Verzögerungsleitungen zu minimieren.
  • Figurenliste
    • 1 veranschaulicht eine beispielhafte grundlegende Taktstruktur.
    • 2 veranschaulicht eine Taktverteilungsstruktur auf hoher Ebene gemäß einer Implementierung der vorliegenden Offenbarung.
    • 3 veranschaulicht eine detaillierte Taktverteilungsstruktur gemäß einer Implementierung der vorliegenden Offenbarung.
    • 4 veranschaulicht eine detaillierte Taktverteilungsstruktur, die einen globalen Kompensator beinhaltet, gemäß einer Implementierung der vorliegenden Offenbarung.
    • 5 veranschaulicht eine Rechenvorrichtung gemäß einer Implementierung der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein herkömmlicher Taktkompensator beinhaltet eine Takt-Entzerrungs-HIP-Einheit, die chipinterne Schwankungen (WID) zwischen Taktnetzwerken kompensiert. Die Einbeziehung eines oder mehrerer Kompensatoren in eine Taktverteilungseinheit hilft dabei, die Integrität eines Taktnetzwerks zu prüfen.
  • Die synchrone Natur von IPs verwendet ein qualitativ hochwertiges Taktverteilungsnetzwerk, um ein Taktsignal mit niedrigem Versatz sicherzustellen. Diese Verwendung bestimmt eine erhöhte Komplexität bei der Taktverteilung.
  • Selbst innerhalb eines IP (z. B. eines IA-Kerns, eines gemeinsamen Konnektivitätsframeworks [CCF], eines Speichersubsystems) deckt dieselbe Taktdomäne mehrere Netzwerke über den gesamten Bereich ab. Diese mehreren Netzwerke leiden an WID der Vorrichtungen sowie unter Schwankungen von Chip zu Chip (D2D). Diese Schwankungen können zu Taktversatz führen.
  • Um diese Schwankungen zu überwinden, gibt es Kompensatorverzögerungsleitungen an der Wurzel des Taktnetzwerks (z. B. am Divergenzpunkt [POD]), die beim Booten abgestimmt werden, um den Versatz des Takts in unterschiedlichen Regionen zu minimieren, wie in 1 gezeigt ist.
  • 1 veranschaulicht eine beispielhafte grundlegende Taktstruktur 100. Die grundlegende Taktstruktur 100 beinhaltet eine Taktquelle 110, einen Kompensator 120, ein erstes Taktnetzwerk 130, ein zweites Taktnetzwerk 140 und einen Phasendetektor 150.
  • Die Taktquelle 110 empfängt einen Referenztakt und erzeugt ein Taktsignal. Die Taktquelle 110 gibt das Taktsignal an den Kompensator 120 aus.
  • Der Kompensator 120 empfängt das Taktsignal von der Taktquelle 110. Der Kompensator 120 führt eine Kompensierung an dem Taktsignal basierend auf einer vom Phasendetektor 150 empfangenen Phasendetektorausgabe durch.
  • Der Kompensator 120 beinhaltet eine Standardanzahl an Ausgangsleitungen, wie zum Beispiel sechs. Eine der Ausgangsleitungen des Kompensators 120 gibt ein erstes Taktquellensignal an einen Eingang des ersten Taktnetzwerks 130 aus. Eine andere der Ausgangsleitungen des Kompensators 120 gibt ein zweites Taktquellensignal an einen Eingang des zweiten Taktnetzwerks 140 aus. Der Kompensator 120 ist daher ein Divergenzpunkt für die grundlegende Taktstruktur 100. Die restlichen vier der sechs Ausgangsleitungen des Kompensators 120 sind nicht verbunden.
  • Das erste Taktnetzwerk 130 empfängt das erste Taktquellensignal von dem Kompensator 120 und verteilt das erste Taktquellensignal an einen ersten Bereich. Das zweite Taktnetzwerk 140 empfängt das zweite Taktquellensignal von dem Kompensator 120 und verteilt das zweite Taktquellensignal an einen zweiten Bereich.
  • Das erste Taktnetzwerk 130 gibt ein Feedbacktaktsignal an die Taktquelle 110 aus.
  • Das erste Taktnetzwerk 130 gibt auch ein Referenzsignal an einen Eingang des Phasendetektors 150 aus. Das zweite Taktnetzwerk 140 gibt ein Feedbacksignal an einen Eingang des Phasendetektors 150 aus.
  • Der Phasendetektor 150 detektiert eine Phasendifferenz zwischen dem Referenzsignal und dem Feedbacksignal, um die Phasendetektorausgabe zu erzeugen. Der Phasendetektor 150 gibt die Phasendetektorausgabe an den Kompensator 120 aus.
  • Der Kompensator 120 wird auch zur Versatzüberwachung durch Lesen eines abstimmbaren Verzögerungsleitungskompensatorcodes verwendet, sobald die Kompensation abgeschlossen ist.
  • Herkömmliche Kompensatoren weisen mehrere Nachteile auf. Herkömmliche Kompensatoren enthalten zum Beispiel mehrere (z. B. sechs) abstimmbare Verzögerungsleitungen in einer einzigen festen IP-Einheit (HIP-Einheit), die alle Taktstrukturen bedient, die auf Tausende von Mikrometern verteilt sind. Dementsprechend könnte ein System einen erheblichen Oberflächenbereich für die HIP-Einheit reservieren, obwohl nicht alle der sechs Verzögerungsleitungen verwendet werden.
  • Außerdem weist die herkömmliche Kompensatorlogik keine gemeinsame Registerschnittstellensteuerung (CRI-Steuerung) oder Seitenband(SB)-Logik auf. Dementsprechend wird der Kompensator nahe einem Block platziert, der die CRI-Steuerung integriert. Bei vielen Implementierungen ist dieser Block ein Phasenregelkreis (PLL).
  • Eine solche Kompensatorplatzierung platziert den Kompensator nachteiligerweise von dem POD weg. Dementsprechend werden mehr Stufen verwendet, was ein längeres Verzögerungs-Taktnetzwerk (mit einem höheren Versatz oder einer höheren Schwankung) erzeugt und den Leistungsverbrauch erhöht.
  • Die Hauptnachteile des Verwendens eines herkömmlichen Taktkompensators zum Kompensieren von Versatz betreffen Leistungs-, Flächen- und Versatzschwankungen. In Bezug auf Leistung enthält eine herkömmliche Kompensator-HIP-Einheit eine Standardanzahl (z. B. sechs) von unabhängigen Verzögerungsleitungen. Diese Verzögerungsleitungen verbrauchen Leckleistung, selbst wenn sie ungenutzt sind (z. B. nicht verbunden sind). Ferner verteilen herkömmliche Taktverteilungsstrukturen den Arbeitsmodus, und jede Taktstruktur (z. B. Spine) verwendet Taktrouting von einer unterschiedlichen Kompensatorausgabe, wie in 1 veranschaulicht ist. Dementsprechend wird ein enormer Leistungsverbrauch verursacht.
  • Hinsichtlich der Fläche ist der Taktkompensator an einer spezifischen Stelle zentralisiert, die üblicherweise an den PLL anstößt. Ferner enthält der Taktkompensator 6 unabhängige Verzögerungsleitungen, eine endliche Zustandsmaschine (FSM), Hooks zum Verifizieren von Designs und zum Testen von Leiterplatten nach Herstellung (z. B. JTAG [Joint Test Action Group] und Intel® DFx), eine Sicherung und einen Kommunikationsregistermechanismus. Diese Komponenten verbrauchen insgesamt eine große Fläche.
  • In Bezug auf Versatzschwankungen stößt die herkömmliche Kompensator-HIP-Einheit an den PLL an, da der Kompensator als ein Taktteiler wirkt. Dementsprechend wird der POD automatisch an diesem Punkt gesetzt, der tiefer ist, und die Versatzschwankung ist hoch.
  • 2 veranschaulicht eine Taktverteilungsstruktur 200 auf hoher Ebene gemäß einer Implementierung der vorliegenden Offenbarung. Die Taktverteilungsstruktur 200 beinhaltet eine Taktquelle 210, einen Taktkompensator-HIP (Hardened Intellectual Property) 220, ein erstes Taktnetzwerk 230, ein zweites Taktnetzwerk 240, einen Phasendetektor 250, eine Festverzögerungsleitung 260 und eine abstimmbare Verzögerungsleitung 270.
  • Die Taktquelle 210 empfängt einen Referenztakt und erzeugt ein Taktsignal. Die Taktquelle 210 beinhaltet beispielsweise einen Phasenregelkreis. Die Taktquelle 210 gibt das Taktsignal an einen Knoten aus. Somit ist der Knoten der Punkt der Divergenz.
  • Die Festverzögerungsleitung 260 empfängt ein erstes Taktquellensignal basierend auf dem Taktsignal am Knoten. Die Festverzögerungsleitung 260 ist eine Festkompensator-HIP-Verzögerungsleitung. Die Festverzögerungsleitung 260 verzögert das erste Taktquellensignal um einen festen Betrag, um ein erstes verzögertes Taktquellensignal zu erzeugen. Die Festverzögerungsleitung 260 gibt das erste verzögerte Taktquellensignal an einen Eingang des ersten Taktnetzwerks 230 aus.
  • Die abstimmbare Verzögerungsleitung 270 empfängt ein zweites Taktquellensignal basierend auf dem Taktsignal am Knoten. Das heißt, die abstimmbare Verzögerungsleitung 270 ist parallel zu der Festverzögerungsleitung 260. Die abstimmbare Verzögerungsleitung 270 kann dann das zweite Taktquellensignal um einen abstimmbaren Betrag verzögern, um ein zweites verzögertes Taktquellensignal zu erzeugen. Der abstimmbare Betrag basiert zumindest teilweise auf einem von der Taktkompensator-HIP-Einheit 220 empfangenen Regelsignal. Die abstimmbare Verzögerungsleitung 270 gibt das zweite verzögerte Taktquellensignal an einen Eingang des zweiten Taktnetzwerks 240 aus.
  • Das erste Taktnetzwerk 230 empfängt das erste verzögerte Taktquellensignal von der Festverzögerungsleitung 260 und verteilt das erste verzögerte Taktquellensignal. Zum Beispiel gibt das erste Taktnetzwerk 230 das erste verzögerte Taktquellensignal an einen ersten Endpunkt (z. B. einen ersten globalen Treiber) (nicht abgebildet) aus. Der erste globale Treiber steuert dann Komponenten in einem ersten Bereich einer Einrichtung mit dem ersten verzögerten Taktquellensignal an.
  • Gleichermaßen empfängt das zweite Taktnetzwerk 240 das zweite verzögerte Taktquellensignal von der abstimmbaren Verzögerungsleitung 270 und verteilt das zweite verzögerte Taktquellensignal. Zum Beispiel gibt das zweite Taktnetzwerk 240 das zweite verzögerte Taktquellensignal an einen zweiten Endpunkt (z. B. einen zweiten globalen Treiber) (nicht abgebildet) aus. Der zweite globale Treiber steuert dann Komponenten in einem zweiten Bereich der Einrichtung mit dem zweiten verzögerten Taktquellensignal an.
  • Das erste Taktnetzwerk 230 gibt das erste verzögerte Taktquellensignal als ein Feedbacktaktsignal an die Taktquelle 210 aus. Somit kann die Taktquelle 210 das Taktsignal zumindest teilweise basierend auf dem Feedbacktaktsignal regeln.
  • Das erste Taktnetzwerk 230 gibt auch das erste verzögerte Taktquellensignal als ein Referenzsignal an den Phasendetektor 250 aus. Das zweite Taktnetzwerk 240 gibt das zweite verzögerte Taktquellensignal als ein Feedbacksignal an den Phasendetektor 250 aus.
  • Der Phasendetektor 250 empfängt das Referenzsignal vom ersten Taktnetzwerk 230 und das Feedbacksignal vom zweiten Taktnetzwerk 240. Der Phasendetektor 250 detektiert eine Phasendifferenz zwischen dem Referenzsignal und dem Feedbacksignal, um eine Phasendetektorausgabe zu erzeugen. Der Phasendetektor 250 gibt die Phasendetektorausgabe an die Taktkompensator-HIP-Einheit 220 aus.
  • Die Taktkompensator-HIP-Einheit 220 empfängt die Phasendetektorausgabe und erzeugt das Regelsignal. Die Taktkompensator-HIP-Einheit 220 kann eine FSM (endliche Zustandsmaschine) beinhalten. Die Taktkompensator-HIP-Einheit 220 gibt das Regelsignal an die abstimmbare Verzögerungsleitung 270 aus.
  • In manchen Implementierungen gibt die Taktkompensator-HIP-Einheit 220 das Regelsignal auch an die Festverzögerungsleitung 260 aus. Die Festverzögerungsleitung 260 kann zum Beispiel den festen Verzögerungsbetrag zumindest teilweise basierend auf dem Regelsignal regeln.
  • In der in 2 veranschaulichten Implementierung kann eine abstimmbare Verzögerungsleitungskompensator-IP-Einheit (zum Beispiel Taktkompensator-IP-Einheit) entlang des Chips instanziiert werden, um statistische Informationen über die Taktqualität zu sammeln. Der abstimmbare Verzögerungsleitungskompensator kann auch die Auswirkung einer PVT-Schwankung (Prozess, Spannung, Temperatur) oder -Änderung sowohl chipintern als auch von Chip zu Chip prüfen.
  • Manche Implementierungen der Taktverteilungsstruktur 200 reduzieren die Tiefe des Taktnetzwerks (und somit die Gesamttaktverzögerung) und reduzieren die Entfernung des POD von den Taktnetzwerken 230, 240.
  • Trotz einer Zunahme der Komplexität, Geschwindigkeit und Leistungsfähigkeit von IPs und SOCs kann der Taktversatz zwischen verschiedenen Regionen und Blöcken mit der Taktverteilungsstruktur 200 gemessen und kompensiert werden.
  • Die Taktverteilungsstruktur 200 kann auch in der Siliziumvalidierungsperiode verwendet werden, um die Designrobustheit zu prüfen. Ferner kann die Taktverteilungsstruktur 200 beim HVM-Prüfen (Großserienfertigungs-Prüfen) zum Quantisieren und Kompensieren eines Versatzes zwischen Taktbereichen verwendet werden. Dementsprechend ermöglichen manche Implementierungen der Taktverteilungsstruktur 200, dass Probleme in einer frühen Phase eines Projekts erkannt werden und Chips ausgewählt werden, die Spezifikationen nicht erfüllen.
  • Manche Implementierungen der Topologie der Taktverteilungsstruktur 200 zur chipinternen Taktversatzkompensierung können die Abhängigkeit zwischen einem herkömmlichen globalen Kompensator und einem PLL reduzieren.
  • In einigen Implementierungen der vorliegenden Offenbarung werden daher lokale Verzögerungsleitungskompensatoren gemäß dem Taktdesign-POD und der Leistungseffizienz verteilt. Tatsächlich verteilen einige Implementierungen der vorliegenden Offenbarung lokale Verzögerungsleitungen, eine lokale FSM und DFx-Blöcke nahe den Takt-Spines (z. B. den Strukturen, die die Taktverteilung durchführen).
  • Dementsprechend können manche Implementierungen eine Flexibilität des Grundrisses zum Platzieren und Routen der lokalen Verzögerungsleitungs- und Taktstrukturen bereitstellen.
  • Manche Implementierungen gemäß der vorliegenden Offenbarung können auch die Taktqualität verbessern, da sich der Takt-POD näher an der Taktverteilungsstruktursausdehnung (z. B. Taktspine) befindet, wie in 2 gezeigt ist. Ferner erhöht die Taktverteilungsstruktur die Flexibilität und ermöglicht die Gestaltung einer verbesserten Taktverteilung pro Grundriss-Artikelposition (SKU).
  • Dementsprechend sind bestimmte Implementierungen der vorliegenden Offenbarung hinsichtlich Leistung und Fläche effizient und können eine Versatzschwankung reduzieren.
  • Aus einer Perspektive in Bezug auf Fläche und Verlust können manche Implementierungen der vorliegenden Offenbarung Verzögerungsleitung-HIP-Einheiten pro Spine (z. B. Taktnetzwerk) hinzufügen und die Verwendung einer herkömmlichen Kompensator-HIP-Einheit vermeiden, die sechs Verzögerungsleitungen enthält.
  • Aus einer Perspektive in Bezug auf Leistung, wie in 2 gezeigt, können manche Implementierungen den Taktquellenpfad bis zum POD reduzieren, indem dieselben Routing-Ressourcen gemeinsam genutzt werden. Dieser engere POD kann die Versatzschwankungen zwischen den Taktnetzwerken reduzieren.
  • Manche Implementierungen können in komplizierten Strukturen (z. B. sehr langer Chip) angewendet werden, indem große Taktnetzwerke in lokale Taktnetzwerke getrennt werden, die lokal kompensieren und global kompensiert werden können.
  • Unter Verwendung der vorliegenden Offenbarung kann eine Taktkompensierung für mehrere Chips, Partitionen und Blöcke kombiniert werden.
  • Somit stellen manche Implementierungen einen qualitativ hochwertigen Hochgeschwindigkeits-Takt über einen gesamten Chip bereit, während sehr große Chips unterstützt werden.
  • Verschiedene Implementierungen der vorliegenden Offenbarung teilen eine herkömmliche Taktkompensationsstruktur in zwei oder mehr Kompensationsstrukturstufen (z. B. global und lokal). Bei einer solchen Implementierung kompensiert eine Stufe innerhalb eines lokalen Netzwerks (zum Beispiel lokale Kompensierung), und eine andere Stufe kompensiert zwischen allen lokalen Teilen (zum Beispiel globale Kompensierung), wie in 3 veranschaulicht.
  • 3 stellt eine Kompensationstopologie insbesondere für große Chips dar. In großen Chips ist ein sehr geringer Versatz über Tausende von Mikrometern bei einer Hochgeschwindigkeitsfrequenz gewünscht (z. B. 6 GHz, 7 GHz basierend auf einer analogen Verzögerungsleitung (ADL) von 10 nm+++). Deshalb veranschaulicht 3 eine detaillierte Taktverteilungsstruktur 300 gemäß einer Implementierung der vorliegenden Offenbarung.
  • In der ersten Kompensationsstufe (z. B. einer globalen Kompensationssequenz) beginnt eine globale Hauptkompensationsstruktur an einem ersten Divergenzpunkt, wie in der Mitte der Taktstruktur 300 veranschaulicht. Die Taktstruktur 300 kompensiert zum Beispiel die Taktnetzwerke 335, 340 unter Verwendung eines Phasendetektors 380 zwischen den Netzwerken.
  • Im Allgemeinen können weitere zu kompensierende Netzwerke (und somit mehr PODs) parallel in der globalen Kompensationssequenzstufe hinzugefügt werden.
  • Die zweite Kompensationsstufe (zum Beispiel eine lokale Kompensationssequenz) kompensiert lokale Teile (wie in den 3 bis 4 veranschaulicht) und schließt die vollständige Kompensationssequenz ab. Dieser Teil erfolgt parallel, um Zeit zu sparen und die Verwendung einer kaskadierten Kompensierung zu reduzieren.
  • Die Verwendung einer kaskadierten Kompensierung sollte reduziert werden, weil ein kaskadierter Kompensationsmechanismus eine Versatzschwankung zwischen Kompensationsstufen akkumuliert.
  • Die Taktverteilungsstruktur 300 beinhaltet eine Taktquelle 310, vier Verzögerungsleitungen (d. h. Verzögerungsleitung 365, Verzögerungsleitung 360, Verzögerungsleitung 370 und Verzögerungsleitung 375), vier Taktnetzwerke (d. h. Taktnetzwerk 330, Taktnetzwerk 335, Taktnetzwerk 340 und Taktnetzwerk 345), vier globale Treiber, zwei lokale Phasendetektoren (d. h. einen lokalen Phasendetektor 350 und einen lokalen Phasendetektor 355) und den globalen Phasendetektor 380.
  • Die Taktquelle 310 empfängt ein Referenztaktsignal und gibt ein globales Taktsignal an einen ersten Knoten aus. Die Taktquelle 310 beinhaltet beispielsweise einen Phasenregelkreis. Die Taktquelle 310 kann das globale Taktsignal zumindest teilweise basierend auf einem von dem Taktnetzwerk 340 empfangenen Feedbacktaktsignal regeln.
  • Ein oberer Abschnitt der Taktverteilungsstruktur 300, der die Verzögerungsleitung 360 und die Verzögerungsleitung 365 beinhaltet, ist zumindest indirekt mit dem ersten Knoten verbunden und empfängt ein erstes Signal zumindest teilweise basierend auf dem globalen Taktsignal.
  • Ein unterer Abschnitt der Taktverteilungsstruktur, der die Verzögerungsleitung 370 und die Verzögerungsleitung 375 beinhaltet, ist zumindest indirekt mit dem ersten Knoten parallel zu dem oberen Abschnitt verbunden. Der untere Abschnitt empfängt ein zweites Signal zumindest teilweise basierend auf dem globalen Taktsignal.
  • Idealerweise ist das erste Signal identisch mit dem zweiten Signal. Die Pfade divergieren jedoch ab dem ersten Knoten, wodurch der erste Knoten ein POD ist. Herstellungsfehler führen dazu, dass das erste Signal etwas von dem zweiten Signal divergiert.
  • Da die Verzögerungsleitung 360 parallel zur Verzögerungsleitung 365 ist, divergiert ein Pfad von dem ersten Knoten zu der Verzögerungsleitung 360 an einem zweiten Knoten von einem Pfad zu der Verzögerungsleitung 365. Gleichermaßen, da die Verzögerungsleitung 370 parallel zur Verzögerungsleitung 375 ist, divergiert ein Pfad von dem ersten Knoten zu der Verzögerungsleitung 370 an einem dritten Knoten von einem Pfad zu der Verzögerungsleitung 375.
  • Somit definieren der zweite und der dritte Knoten Divergenzpunkte für die lokale Kompensationssequenz. Diese PODs können für zusätzliche lokale Netzwerke zu zusätzlichen jeweiligen Spine-Eingaben definiert werden.
  • Die Verzögerungsleitung 360 empfängt das erste Signal zumindest teilweise basierend auf dem globalen Taktsignal. Die Verzögerungsleitung 360 wendet eine feste Verzögerung auf das erste Signal an, um eine erste verzögerte Signalausgabe an das Taktnetzwerk 340 zu erzeugen.
  • Die Verzögerungsleitung 365 empfängt auch das erste Signal zumindest teilweise basierend auf dem globalen Taktsignal. Die Verzögerungsleitung 365 wendet eine abstimmbare Verzögerung auf das erste Signal an, um eine zweite verzögerte Signalausgabe an das Taktnetzwerk 330 zu erzeugen.
  • Die Verzögerungsleitung 370 empfängt das zweite Signal zumindest teilweise basierend auf dem globalen Taktsignal. Die Verzögerungsleitung 370 wendet eine abstimmbare Verzögerung auf das zweite Signal an, um eine dritte verzögerte Signalausgabe an das Taktnetzwerk 335 zu erzeugen.
  • Die Verzögerungsleitung 375 empfängt auch das zweite Signal zumindest teilweise basierend auf dem globalen Taktsignal. Die Verzögerungsleitung 375 wendet eine abstimmbare Verzögerung auf das zweite Signal an, um eine vierte verzögerte Signalausgabe an das Taktnetzwerk 345 zu erzeugen.
  • Das Taktnetzwerk 340 empfängt das erste verzögerte Signal von der Verzögerungsleitung 360 und verteilt das erste verzögerte Signal an einen globalen Treiber. Das Taktnetzwerk 340 gibt auch das erste verzögerte Signal als ein Referenzsignal an den lokalen Phasendetektor 350 aus. Zusätzlich gibt das Taktnetzwerk 340 das erste verzögerte Signal als ein Referenzsignal an den globalen Phasendetektor 380 aus. Ferner gibt Taktnetzwerk 340 das erste verzögerte Signal als ein Feedbacktaktsignal an die Taktquelle 310 aus.
  • Das Taktnetzwerk 330 empfängt das zweite verzögerte Signal von der Verzögerungsleitung 365 und verteilt das zweite verzögerte Signal an einen globalen Treiber. Das Taktnetzwerk 330 gibt auch das zweite verzögerte Signal als ein Feedbacksignal an den lokalen Phasendetektor 350 aus.
  • Das Taktnetzwerk 335 empfängt das dritte verzögerte Signal von der Verzögerungsleitung 370 und verteilt das dritte verzögerte Signal an einen globalen Treiber. Das Taktnetzwerk 335 gibt auch das dritte verzögerte Signal als ein Feedbacksignal an den globalen Phasendetektor 380 aus. Zusätzlich gibt das Taktnetzwerk 335 das dritte verzögerte Signal als ein Referenzsignal an den lokalen Phasendetektor 355 aus.
  • Das Taktnetzwerk 345 empfängt das vierte verzögerte Signal von der Verzögerungsleitung 375 und verteilt das vierte verzögerte Signal an einen globalen Treiber. Das Taktnetzwerk 345 verteilt auch das vierte verzögerte Signal als ein Feedbacksignal an den lokalen Phasendetektor 355.
  • Der lokale Phasendetektor 350 empfängt das erste verzögerte Signal von dem Taktnetzwerk 340 als ein Referenzsignal und das zweite verzögerte Signal von dem Taktnetzwerk 330 als ein Feedbacksignal. Der lokale Phasendetektor 350 ermittelt eine erste Phasendifferenz zwischen dem Feedbacksignal von dem Taktnetzwerk 330 und dem Referenzsignal von dem Taktnetzwerk 340. Der lokale Phasendetektor 350 gibt die erste Phasendifferenz an die Verzögerungsleitung 365 aus.
  • Der lokale Phasendetektor 355 empfängt das dritte verzögerte Signal von dem Taktnetzwerk 335 als ein Referenzsignal und das vierte verzögerte Signal von dem Taktnetzwerk 345 als ein Feedbacksignal. Der lokale Phasendetektor 355 ermittelt eine zweite Phasendifferenz zwischen dem Feedbacksignal von dem Taktnetzwerk 345 und dem Referenzsignal von dem Taktnetzwerk 335. Der lokale Phasendetektor 355 gibt die zweite Phasendifferenz an die Verzögerungsleitung 375 aus.
  • Der globale Phasendetektor 380 empfängt das erste verzögerte Signal von dem Taktnetzwerk 340 als ein Referenzsignal und das dritte verzögerte Signal von dem Taktnetzwerk 335 als ein Feedbacksignal. Der globale Phasendetektor 380 ermittelt eine globale Phasendifferenz zwischen dem Feedbacksignal von dem Taktnetzwerk 335 und dem Referenzsignal von dem Taktnetzwerk 340. Der globale Phasendetektor 380 gibt die globale Phasendifferenz an die Verzögerungsleitung 370 aus.
  • Die Verzögerungsleitung 365 empfängt die erste Phasendifferenz von dem lokalen Phasendetektor 350. Die Verzögerungsleitung 365 kann die abstimmbare Verzögerung, die angelegt wird, um das zweite verzögerte Signal zu erzeugen, basierend auf der ersten Phasendifferenz regeln.
  • Die Verzögerungsleitung 375 empfängt die zweite Phasendifferenz von dem lokalen Phasendetektor 355. Die Verzögerungsleitung 375 kann die abstimmbare Verzögerung, die angelegt wird, um das vierte verzögerte Signal zu erzeugen, basierend auf der zweiten Phasendifferenz regeln.
  • Die Verzögerungsleitung 370 empfängt die globale Phasendifferenz von dem globalen Phasendetektor 380. Die Verzögerungsleitung 370 kann die abstimmbare Verzögerung, die angelegt wird, um das dritte verzögerte Signal zu erzeugen, basierend auf der globalen Phasendifferenz regeln.
  • In vielen Implementierungen der vorliegenden Offenbarung beinhaltet ein Kompensationsmechanismus eine HIP-Einheit, eine Kompensatorlogik-SIP-Einheit und einen Phasendetektor.
  • Die HIP-Einheit enthält eine analoge Verzögerungsleitung und eine interne endliche Zustandsmaschine (FSM), wie etwa in den Verzögerungsleitungen 360, 365, 370, 375.
  • Die Kompensatorlogik-SIP-Einheit (nicht abgebildet) in jedem lokalen Netzwerk (zum Beispiel im oberen Abschnitt, unteren Abschnitt) kann die Verzögerungsleitungen steuern und eine Lese/Schreib-Dienstregisterkonfiguration und eine Statusauslesung durchführen.
  • Der Phasendetektor (z. B. der Phasendetektor 350, der Phasendetektor 355, der Phasendetektor 380) befindet sich zwischen zwei kompensierten Taktnetzwerken, während die Phasendetektorausgabe zu einer FSM rückspeist, um die Verzögerungsleitung zu regeln.
  • Zum Erreichen dieser Kompensationstopologie wird die folgende Sequenz verwendet:
    • 1) PLL-Verkopplungs-Aktivierung in der Taktquelle 310 aktiviert
    • 2) Warten auf eine PLL-Verkopplungs-Ausgangsanzeige
    • 3) Globale Kompensierung hebt einen Versatz in zwei lokalen Netzwerken unter Verwendung des globalen Phasendetektors 380 auf.
  • Parallel zur globalen Kompensierung beginnt die lokale Kompensierung der Verzögerungsleitung 365 eine Kompensierung in Bezug auf die Verzögerungsleitung 360.
    • 4) Warten auf eine Aktivierung eines globalen Kompensations-„Abschluss“-Ausgangssignals.
    • 5) Eine lokale Kompensierung der Verzögerungsleitung 375 beginnt eine Kompensierung in Bezug auf die Verzögerungsleitung 370.
    • 6) Sobald die lokale Kompensierung der Verzögerungsleitungen 365 und 375 abgeschlossen ist, kann eine zusätzliche Kompensierung mit Bezug auf zusätzliche Verzögerungsleitungen relativ zu der Verzögerungsleitung 365 oder der Verzögerungsleitung 375 beginnen.
  • 4 veranschaulicht eine detaillierte Taktverteilungsstruktur 400, die einen globalen Kompensator beinhaltet, gemäß einer Implementierung der vorliegenden Offenbarung.
  • Die Taktverteilungsstruktur 400 beinhaltet eine Taktquelle 410, vier Verzögerungsleitungen (d. h. Verzögerungsleitung 465, Verzögerungsleitung 460, Verzögerungsleitung 470 und Verzögerungsleitung 475), vier Taktnetzwerke (d. h. Taktnetzwerk 430, Taktnetzwerk 435, Taktnetzwerk 440 und Taktnetzwerk 445), vier globale Treiber, zwei lokale Phasendetektoren (d. h. einen lokalen Phasendetektor 450 und einen lokalen Phasendetektor 455) und den globalen Phasendetektor 480. Die Taktverteilungsstruktur 400 beinhaltet auch einen globalen Kompensator 490, eine Festverzögerungsleitung 493 und eine abstimmbare Verzögerungsleitung 496.
  • Die Taktquelle 410 empfängt ein Referenztaktsignal und gibt ein globales Taktsignal an einen ersten Knoten aus. Die Taktquelle 410 beinhaltet beispielsweise einen Phasenregelkreis. Die Taktquelle 410 kann das globale Taktsignal basierend auf einem von dem Taktnetzwerk 440 empfangenen Feedbacktaktsignal regeln. Der erste Knoten ist somit ein erster Divergenzpunkt.
  • Der globale Kompensator 490 beinhaltet die Festverzögerungsleitung 493 und die abstimmbare Verzögerungsleitung 496. Die Festverzögerungsleitung 493 empfängt das globale Taktsignal von dem ersten Knoten. Die Festverzögerungsleitung 493 wendet eine feste Verzögerung auf das globale Taktsignal an, um ein erstes verzögertes globales Taktsignal zu erzeugen.
  • Die abstimmbare Verzögerungsleitung 496 empfängt das globale Taktsignal von dem ersten Knoten. Die abstimmbare Verzögerungsleitung 496 wendet eine abstimmbare Verzögerung auf das globale Taktsignal an, um ein zweites verzögertes globales Taktsignal zu erzeugen. Die abstimmbare Verzögerungsleitung 496 passt die abstimmbare Verzögerung basierend auf einer globalen Phasendetektorausgabe an, die von dem globalen Phasendetektor 480 empfangen wird.
  • Ein oberer Abschnitt der Taktverteilungsstruktur 400, der die Verzögerungsleitung 460 und die Verzögerungsleitung 465 beinhaltet, empfängt das erste verzögerte globale Taktsignal.
  • Ein unterer Abschnitt der Taktverteilungsstruktur 400, der die Verzögerungsleitung 470 und die Verzögerungsleitung 475 beinhaltet, empfängt das zweite verzögerte globale Taktsignal.
  • Da die Verzögerungsleitung 460 parallel zur Verzögerungsleitung 465 ist, divergiert ein Pfad von der Verzögerungsleitung 493 zu der Verzögerungsleitung 460 an einem zweiten Knoten von einem Pfad zu der Verzögerungsleitung 465. Gleichermaßen, da die Verzögerungsleitung 470 parallel zur Verzögerungsleitung 475 ist, divergiert ein Pfad von der Verzögerungsleitung 496 zu der Verzögerungsleitung 470 an einem dritten Knoten von einem Pfad zu der Verzögerungsleitung 475.
  • Somit definieren der zweite und der dritte Knoten Divergenzpunkte für die lokalen Kompensationssequenzen. Diese PODs können für zusätzliche lokale Netzwerke zu zusätzlichen jeweiligen Spine-Eingaben definiert werden.
  • Die Verzögerungsleitung 460 empfängt das erste verzögerte globale Taktsignal. Die Verzögerungsleitung 460 wendet eine feste Verzögerung auf das erste verzögerte globale Taktsignal an, um eine erste verzögerte lokale Signalausgabe an das Taktnetzwerk 440 zu erzeugen.
  • Die Verzögerungsleitung 465 empfängt ebenfalls das erste verzögerte globale Taktsignal. Die Verzögerungsleitung 465 wendet eine abstimmbare Verzögerung auf das erste verzögerte globale Taktsignal an, um eine zweite verzögerte lokale Signalausgabe an das Taktnetzwerk 430 zu erzeugen.
  • Die Verzögerungsleitung 470 empfängt das zweite verzögerte globale Taktsignal. Die Verzögerungsleitung 470 wendet eine feste Verzögerung auf das zweite verzögerte globale Taktsignal an, um eine dritte verzögerte lokale Signalausgabe an das Taktnetzwerk 435 zu erzeugen.
  • Die Verzögerungsleitung 475 empfängt ebenfalls das zweite verzögerte globale Taktsignal. Die Verzögerungsleitung 475 wendet eine abstimmbare Verzögerung auf das zweite verzögerte globale Taktsignal an, um eine vierte verzögerte lokale Signalausgabe an das Taktnetzwerk 445 zu erzeugen.
  • Das Taktnetzwerk 440 empfängt das erste verzögerte lokale Signal von der Verzögerungsleitung 460 und verteilt das erste verzögerte lokale Signal an einen globalen Treiber. Das Taktnetzwerk 440 gibt auch das erste verzögerte lokale Signal als ein Referenzsignal an den lokalen Phasendetektor 450 aus. Zusätzlich gibt das Taktnetzwerk 440 das erste verzögerte lokale Signal als ein Referenzsignal an den globalen Phasendetektor 480 aus. Ferner gibt Taktnetzwerk 440 das erste verzögerte lokale Signal als ein Feedbacktaktsignal an die Taktquelle 410 aus.
  • Das Taktnetzwerk 430 empfängt das zweite verzögerte lokale Signal von der Verzögerungsleitung 465 und verteilt das zweite verzögerte lokale Signal an einen globalen Treiber. Das Taktnetzwerk 430 gibt auch das zweite verzögerte lokale Signal als ein Feedbacksignal an den lokalen Phasendetektor 450 aus.
  • Das Taktnetzwerk 435 empfängt das dritte verzögerte lokale Signal von der Verzögerungsleitung 470 und verteilt das dritte verzögerte lokale Signal an einen globalen Treiber. Das Taktnetzwerk 435 gibt auch das dritte verzögerte lokale Signal als ein Feedbacksignal an den globalen Phasendetektor 480 aus. Zusätzlich gibt das Taktnetzwerk 435 das dritte verzögerte lokale Signal als ein Referenzsignal an den lokalen Phasendetektor 455 aus.
  • Das Taktnetzwerk 445 empfängt das vierte verzögerte lokale Signal von der Verzögerungsleitung 475 und verteilt das vierte verzögerte lokale Signal an einen globalen Treiber. Das Taktnetzwerk 445 verteilt auch das vierte verzögerte lokale Signal als ein Feedbacksignal an den lokalen Phasendetektor 455.
  • Der lokale Phasendetektor 450 empfängt das erste verzögerte lokale Signal von dem Taktnetzwerk 440 als ein Referenzsignal und das zweite verzögerte lokale Signal von dem Taktnetzwerk 430 als ein Feedbacksignal. Der lokale Phasendetektor 450 ermittelt eine erste Phasendifferenz zwischen dem Feedbacksignal von dem Taktnetzwerk 430 und dem Referenzsignal von dem Taktnetzwerk 440. Der lokale Phasendetektor 450 gibt die erste Phasendifferenz an die Verzögerungsleitung 465 aus.
  • Der lokale Phasendetektor 455 empfängt das dritte verzögerte lokale Signal von dem Taktnetzwerk 435 als ein Referenzsignal und das vierte verzögerte lokale Signal von dem Taktnetzwerk 445 als ein Feedbacksignal. Der lokale Phasendetektor 455 ermittelt eine zweite Phasendifferenz zwischen dem Feedbacksignal von dem Taktnetzwerk 445 und dem Referenzsignal von dem Taktnetzwerk 435. Der lokale Phasendetektor 455 gibt die zweite Phasendifferenz an die Verzögerungsleitung 475 aus.
  • Der globale Phasendetektor 480 empfängt das zweite verzögerte Signal von dem Taktnetzwerk 440 als ein Referenzsignal und das dritte verzögerte lokale Signal von dem Taktnetzwerk 435 als ein Feedbacksignal. Der globale Phasendetektor 480 ermittelt eine globale Phasendifferenz zwischen dem Feedbacksignal von dem Taktnetzwerk 435 und dem Referenzsignal von dem Taktnetzwerk 440. Der globale Phasendetektor 480 gibt die globale Phasendifferenz an die abstimmbare Verzögerungsleitung 496 aus.
  • Die Verzögerungsleitung 465 empfängt die erste Phasendifferenz von dem lokalen Phasendetektor 450. Die Verzögerungsleitung 465 kann die abstimmbare Verzögerung, die angelegt wird, um das zweite verzögerte lokale Signal zu erzeugen, zumindest teilweise basierend auf der ersten Phasendifferenz regeln.
  • Die Verzögerungsleitung 475 empfängt die zweite Phasendifferenz von dem lokalen Phasendetektor 455. Die Verzögerungsleitung 475 kann die abstimmbare Verzögerung, die angelegt wird, um das vierte verzögerte lokale Signal zu erzeugen, zumindest teilweise basierend auf der zweiten Phasendifferenz regeln.
  • Die abstimmbare Verzögerungsleitung 496 empfängt die globale Phasendifferenz von dem globalen Phasendetektor 480. Die abstimmbare Verzögerungsleitung 496 kann die abstimmbare Verzögerung, die angelegt wird, um das zweite verzögerte globale Taktsignal zu erzeugen, zumindest teilweise basierend auf der globalen Phasendifferenz regeln.
  • In manchen Implementierungen sind die Verzögerungsleitung 460 und die Verzögerungsleitung 493 fest und nicht abstimmbar, da sie das Taktquellenfeedback ansteuern und als Referenzverzögerungen zur Kompensierung fungieren (z. B. PLL im Feedbackmodus mit langer Schleife).
  • Da die abstimmbare Verzögerungsleitung 496 des globalen Kompensators 490 die Verzögerungsleitung 470 und die Verzögerungsleitung 475 abstimmen kann, kann die Verzögerungsleitung 470 ebenfalls fest sein.
  • In einer herkömmlichen Taktverteilungsstruktur gibt es eine einzige Taktdomäne, die sechs unterschiedliche Spines (z. B. Taktstrukturen) mit einem einzigen PLL steuert. Die Spines der herkömmlichen Taktverteilungsstruktur werden im kaskadierten Modus auf einen Referenzspine kompensiert. Bei einem solchen Design kann der längste Pfad ungefähr 10.000 um betragen, was der Grundabstand für alle anderen Taktpfade ist. Dieser Abstand ist auch der Grundabstand für die Pfade der Phasendetektoren zurück zur Hauptkompensatoreinheit.
  • Ein Vergleich wurde zwischen einem herkömmlichen Taktspreizverfahren und dem vorliegenden Taktspreizverfahren durchgeführt. Tabelle 1
    Nr. Taktquellenname Länge [um] Anzahl der Ketten Gesamtkap. [pF]
    1 spinedqh 9200 48 3,710208
    2 spineeqh 9200 48 3,710208
    3 spinefqh 9200 48 3,710208
    4 ringrep1 9200 48 3,710208
    5 uclkspine_so_h 9200 48 3,710208
    6 uclkspine_si_h 9200 48 3,710208
    7 Gesamtkap. 22,261248
    Tabelle 2
    Nr. Taktquellenname Länge [um] Taktquelle->global/lokal Anzahl an Ketten bis glb. POD/lkl. POD Gesamtkap. [pF]
    1 par_ccf_ring_global_up 4595 global 22 1,70051
    2 par_ccf_ring_global_dn 4804 global 24 1,8551
    3 par_ccf_ring_local_up_cboo 2800 lokal 14 1,08214
    4 par_ccf_ring_local_up_cbo1 2800 lokal 14 1,08214
    5 par_ccf_ring_local_up_ringrep1 2800 lokal 14 1,08214
    6 par_ccf_ring_local_dn_cbo2 2591 lokal 12 0,92755
    7 par_ccf_ring_local_dn_ringrep2 2591 lokal 12 0,92755
    8 par_ccf_ring_local_dn_cbo3 2591 lokal 12 0,92755
    9 Gesamtkap. 9,5847
  • Für das vorliegende Verfahren wurde die Gesamtkapazitanz für eine Implementierung auf etwa 10,59 pF geschätzt.
  • Tabelle 3 fasst die Kapazitanz einer Implementierung der vorliegenden Offenbarung und eines herkömmlichen Verfahrens sowie eine Schätzung der entsprechenden eingesparten Leistung zusammen. Somit fasst Tabelle 3 die Gesamtleistungseinsparung der Implementierung der vorliegenden Offenbarung gegenüber dem herkömmlichen Verfahren zusammen. Tabelle 3
    Gesamtleistung gemäß Implementierung der vorliegenden Offenbarung 10,59
    Gesamtleistung mit herkömmlichem Verfahren 22,261248
    Leistungseinsparung [%] 52,4
  • In einer Implementierung der vorliegenden Offenbarung können sowohl ein PLL als auch die Kompensatorverzögerungsleitungen effizient zentralisiert werden. Zusätzlich zum Einsparen von Leistung reduziert daher die Implementierung die Anzahl von Repeatern (zum Beispiel die Anzahl von Stufen) in der längsten Taktstrecke. Insbesondere, während ein herkömmliches Taktspreizverfahren 48 Repeater verwendet, könnte die Implementierung der vorliegenden Offenbarung nur 36 Stufen verwenden. Diese Verringerung der Anzahl von Stufen verbesserte dann die Gesamtversatzvariation.
  • Ferner weist die herkömmliche Kompensator-IP-Einheit, die sechs Verzögerungsleitungen enthält, eine Fläche von 120 um × 50 um auf. Im Gegensatz dazu beinhaltet eine Implementierung gemäß der vorliegenden Offenbarung eine kleine, kompakte Kompensator-IP-Einheit, die eine Fläche von 10 um × 40 um aufweist. Dementsprechend können manche Implementierungen der vorliegenden Offenbarung die Fläche der Taktverteilungsstruktur signifikant reduzieren und einen näheren POD für jede Taktspreizung erzeugen. Diese Verbesserung kann Flexibilität zum Platzieren von Verzögerungsleitungen in Übereinstimmung mit einem Grundriss bereitstellen.
  • 5 veranschaulicht eine Rechenvorrichtung 500 gemäß einer Implementierung der vorliegenden Offenbarung. Die Rechenvorrichtung 500 kann eine Netzwerkschnittstelle 510, eine Benutzereingabeschnittstelle 520, einen Speicher 530, einen Prozessor 540, eine Benutzerausgabeschnittstelle 550 und eine Taktverteilungsstruktur 560 beinhalten.
  • Obwohl innerhalb eines einzigen Gehäuses veranschaulicht, kann die Rechenvorrichtung 500 über mehrere Gehäuse oder Subsysteme verteilt sein, die beim Ausführen von Programmanweisungen zusammenwirken. In manchen Implementierungen kann die Rechenvorrichtung 500 eine oder mehrere Blade-Servervorrichtungen, eigenständige Servervorrichtungen, Personal Computer, Router, Hubs, Schalter, Brücken, Firewallvorrichtungen, Eindringungserkennungsvorrichtungen, Mainframe-Computer, netzangebundene Speicherungsvorrichtungen, Smartphones und andere Mobiltelefone und andere Arten von Rechenvorrichtungen beinhalten. Die Systemhardware kann gemäß einer beliebigen Computerarchitektur konfiguriert sein, wie etwa einer symmetrischen Multiverarbeitungs(SMP)-Architektur oder einer Non-Uniform-Memory-Access(NUMA)-Architektur.
  • Die Netzwerkschnittstelle 510 stellt eine oder mehrere Kommunikationsverbindungen und/oder eine oder mehrere Vorrichtungen bereit, die Kommunikation zwischen der Rechenvorrichtung 500 und anderen Rechensystemen (nicht gezeigt) über ein Kommunikationsnetzwerk oder eine Sammlung von Netzwerken (nicht gezeigt) oder die Luft ermöglichen. Die Netzwerkschnittstelle kann unter Verwendung von Nahfeldkommunikationen (NFC), Wi-Fi™, Bluetooth, Ethernet, Faksimile oder einer beliebigen anderen drahtgebundenen oder drahtlosen Schnittstelle kommunizieren.
  • Die Benutzereingabeschnittstelle 520 empfängt Eingaben von einem Menschen. Die Benutzereingabeschnittstelle 520 kann eine Maus, ein Touchpad, eine Tastatur, ein Berührungsbildschirm, ein Trackball, eine Kamera, ein Mikrofon, ein Joystick, ein Spielecontroller, ein Scanner, ein Eingabestift oder eine beliebige andere Eingabeeinrichtung sein oder diese beinhalten.
  • Der Speicher 530, auch als „Speicherung“ bezeichnet, kann ein oder mehrere computerlesbare Speichermedien beinhalten oder sein, die durch den Prozessor 540 lesbar sind und die Software speichern. Der Speicher 530 kann als eine Speicherungsvorrichtung implementiert sein und kann auch über mehrere gemeinsam angeordnete oder verteilte Speicherungsvorrichtungen oder Subsysteme hinweg implementiert sein. Der Speicher 530 kann zusätzliche Elemente, wie etwa eine Steuerung, beinhalten, die mit dem Prozessor 540 kommunizieren. Der Speicher 530 kann auch Speicherungsvorrichtungen und/oder Subsysteme beinhalten, auf denen Daten und/oder Anweisungen gespeichert sind. Die Rechenvorrichtung 500 kann auf eine oder mehrere Speicherungsressourcen zugreifen, um auf Informationen zuzugreifen, um einen beliebigen der in dieser Offenbarung angegebenen Taktkompensationsprozesse auszuführen.
  • Der Speicher 530 kann ein Nurlesespeicher (ROM), ein programmierbarer ROM (PROM), ein löschbarer PROM (EPROM), ein elektrisch löschbarer PROM (EEPROM), ein Direktzugriffsspeicher (RAM), ein dynamischer RAM (DRAM), ein statischer RAM (SRAM), eine Festplatte, ein Zwischenspeicher, ein Flash-Speicher, eine entfernbare Platte oder eine Bandspule sein oder diese beinhalten. Der Speicher 530 kann resistiver RAM (RRAM) oder ein magneto-resistiver RAM (MRAM) sein oder diesen beinhalten.
  • In dem Speicher 530 gespeicherte Software kann Routinen für wenigstens teilweises Durchführen wenigstens eines der Taktkompensationsprozesse beinhalten und kann in Programmanweisungen implementiert werden. Ferner kann die Software, wenn sie durch die Rechenvorrichtung 500 im Allgemeinen oder den Prozessor 540 insbesondere ausgeführt wird, unter anderen Funktionen die Rechenvorrichtung 500 oder den Prozessor 540 anweisen, die Kompensierung, wie hierin beschrieben, durchzuführen.
  • Der Prozessor 540 kann ein oder mehrere Hardwareprozessoren und/oder eine andere Schaltungsanordnung sein oder diese beinhalten, die Software aus dem Speicher 530 abrufen und ausführen. Der Prozessor 540 kann innerhalb einer Verarbeitungsvorrichtung, eines Chips oder eines Gehäuses implementiert sein und kann auch über mehrere Verarbeitungsvorrichtungen, Chips, Gehäuse oder Subsysteme verteilt sein, die beim Ausführen von Programmanweisungen zusammenwirken.
  • Bei manchen Implementierungen ist oder beinhaltet der Prozessor 540 eine Grafikverarbeitungseinheit (GPU). Die GPU kann für visuelle/Bildverarbeitung in der Rechenvorrichtung 500 von Vorteil sein. Die GPU, oder ein beliebiges Verarbeitungselement zweiter Ordnung, das von dem Prozessor 540 unabhängig ist und für die Verarbeitung von Bildern und anderen Wahrnehmungsdaten in Echtzeit oder nahezu Echtzeit dediziert ist, kann einen Verarbeitungsvorteil für Videoverarbeitung oder andere Anwendungen (z. B. Kryptowährung) bereitstellen.
  • Der Prozessor 540 kann eine beliebige Registergröße aufweisen, wie etwa unter anderem ein 32-Bit-Register oder ein 64-Bit-Register. Der Prozessor 540 kann mehrere Kerne beinhalten. Implementierungen des Prozessors 540 sind nicht auf eine bestimmte Anzahl von Threads beschränkt. Der Prozessor 540 kann durch eine beliebige Prozesstechnologie hergestellt werden, wie etwa 14-nm-Prozesstechnologie.
  • Die Benutzerausgabeschnittstelle 550 gibt Informationen an einen menschlichen Benutzer aus. Die Benutzerausgabeschnittstelle 550 kann eine Anzeige (z. B. ein Bildschirm), ein Touchscreen, ein oder mehrere Lautsprecher, ein Drucker oder eine haptische Feedbackeinheit sein oder diese beinhalten. Bei manchen Implementierungen zeigt die Benutzerausgabeschnittstelle 550 QR-Codes zur Kommunikation mit anderen Vorrichtungen an.
  • Die Taktverteilungsstruktur 500 kann eine beliebige der Taktverteilungsstrukturen 200, der Taktverteilungsstruktur 300 oder der Taktverteilungsstruktur 400 oder einer anderen Implementierung gemäß der vorliegenden Offenbarung und/oder den angehängten Ansprüchen sein oder diese beinhalten.
  • Bei Implementierungen, bei denen das System 500 mehrere Rechenvorrichtungen beinhaltet, kann ein Server des Systems oder bei einer serverlosen Implementierung ein Peer ein oder mehrere Kommunikationsnetzwerke verwenden, die eine Kommunikation zwischen den Rechenvorrichtungen ermöglichen. Zum Beispiel können das eine oder die mehreren Kommunikationsnetzwerke ein lokales Netzwerk (LAN), ein Fernnetz (WAN) oder ein innerstädtisches Netzwerk (MAN) beinhalten oder sein, die eine Kommunikation zwischen den Rechenvorrichtungen ermöglichen. Ein oder mehrere direkte Kommunikationsverbindungen können zwischen den Rechenvorrichtungen enthalten sein. Zusätzlich dazu können die Rechenvorrichtungen in manchen Fällen an geografisch verteilten Orten installiert sein. In anderen Fällen können die mehreren Rechenvorrichtungen an einem geografischen Standort installiert sein, wie etwa einer Serverfarm oder einem Büro.
  • Wie hier verwendet, können sich die Begriffe „Speichermedium“, „computerlesbare Speichermedien“ oder „computerlesbares Speichermedium“ auf nicht transitorische Speichermedien, wie etwa eine Festplatte, einen Speicherchip und einen Cache-Speicher, und auf transitorische Speichermedien, wie etwa Trägerwellen oder sich ausbreitende Signale, beziehen.
  • Aspekte des Systems zur Taktkompensation können auf verschiedene Weisen (z. B. als ein Verfahren, ein System, ein Computerprogrammprodukt oder ein oder mehrere computerlesbare Speichermedien) implementiert werden. Dementsprechend können Aspekte der vorliegenden Offenbarung die Form einer Hardwareimplementierung, einer Softwareimplementierung (einschließlich Firmware, residierter Software oder Mikrocode) oder einer Implementierung annehmen, die Software- und Hardwareaspekte kombiniert, die hierin allgemein als eine „Schaltung“, ein „Modul“ oder ein „System“ bezeichnet werden können. Funktionen, die in dieser Offenbarung beschrieben sind, können als ein Algorithmus implementiert sein, der durch eine oder mehrere Hardwareverarbeitungseinheiten, z. B. einen oder mehrere Mikroprozessoren eines oder mehrerer Computer, ausgeführt wird. In verschiedenen Ausführungsformen können unterschiedliche Operationen und Abschnitte der Operationen der beschriebenen Verfahren durch unterschiedliche Verarbeitungseinheiten durchgeführt werden. Ferner können Aspekte der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien umgesetzt ist, die computerlesbaren Programmcode aufweisen, der darauf ausgebildet, z. B. codiert oder gespeichert ist. Bei verschiedenen Implementierungen kann ein solches Computerprogramm zum Beispiel auf existierende Vorrichtungen und Systeme heruntergeladen (oder auf diesen aktualisiert) werden oder bei der Herstellung dieser Vorrichtungen und Systeme gespeichert werden.
  • In der Beschreibung wird auf die Zeichnungen Bezug genommen, wo gleiche Referenzziffern identische oder funktional ähnliche Elemente anzeigen können. In den Zeichnungen veranschaulichte Elemente sind nicht unbedingt maßstabsgetreu gezeichnet. Außerdem können gewisse Implementierungen mehr oder weniger Elemente als in einer Zeichnung und/oder einer Teilmenge der in einer Zeichnung veranschaulichten Elemente veranschaulicht beinhalten. Ferner können einige Implementierungen eine geeignete Kombination von Merkmalen aus zwei oder mehr Zeichnungen einbinden.
  • Die Komponenten, Anordnungen und/oder Merkmale der Offenbarung sind in Verbindung mit verschiedenen Implementierungen beschrieben und sind lediglich Beispiele zum Vereinfachen der vorliegenden Offenbarung und sollen nicht einschränkend sein. Bei der Entwicklung tatsächlicher Implementierungen können implementierungsspezifische Entscheidungen getroffen werden, um die spezifischen Ziele eines Entwicklers zu erreichen, einschließlich Einhaltung von System-, Geschäfts- und/oder Rechtsbeschränkungen, die von einer Implementierung zu einer anderen variieren können. Darüber hinaus, während solch ein Entwicklungsaufwand komplex und zeitaufwendig sein kann, wäre er für die Durchschnittsfachleute mit dem Vorteil dieser Offenbarung eine Routineunternehmung.
  • Die beigefügten Zeichnungen stellen räumliche Beziehungen zwischen verschiedenen Komponenten und zur räumlichen Orientierung verschiedener Aspekte von Komponenten dar. Die Vorrichtungen, Komponenten, Elemente und Einrichtungen können in einer beliebigen Ausrichtung positioniert sein. Dementsprechend kann die Verwendung von Begriffen wie „oberhalb“, „unterhalb“, „oberer“, „unterer“, „oben“, „unten“ oder andere ähnliche Ausdrücke zum Beschreiben einer räumlichen Beziehung zwischen verschiedenen Komponenten oder zum Beschreiben der räumlichen Orientierung von Aspekten solcher Komponenten jeweils eine relative Beziehung zwischen den Komponenten oder eine räumliche Orientierung von Aspekten solcher Komponenten beschreiben, da die beschriebenen Komponenten in einer beliebigen Richtung ausgerichtet werden können.
  • Die Systeme, Verfahren und Vorrichtungen dieser Offenbarung weisen mehrere innovative Aspekte auf, von denen keiner allein für die hierin offenbarten Attribute verantwortlich ist. Einige Aufgaben oder Vorteile werden durch hierin beschriebene Implementierungen möglicherweise nicht erzielt. Somit können zum Beispiel bestimmte Implementierungen auf eine Weise arbeiten, die einen Vorteil oder eine Gruppe von Vorteilen erzielt oder optimiert, wie sie hierin gelehrt sind, und andere Ziele oder Vorteile, wie sie hierin gelehrt oder vorgeschlagen sind, nicht erzielt oder optimiert.
  • In einer beispielhaften Implementierung können elektrische Schaltungen der Zeichnungen auf einer Platine einer assoziierten elektronischen Vorrichtung implementiert sein. Die Platine kann eine allgemeine Schaltplatine sein, die verschiedene Komponenten des internen Elektroniksystems der elektronischen Vorrichtung hält und ferner Anschlüsse für andere Peripheriegeräte bereitstellen kann. Genauer kann die Platine die elektrischen Verbindungen bereitstellen, durch die die anderen Komponenten des Systems elektrisch kommunizieren können. Beliebige Prozessoren (einschließlich digitaler Signalprozessoren, Mikroprozessoren, unterstützender Chipsätze usw.) und computerlesbare nichtflüchtige Speicherelemente können auf Grundlage von Konfigurationen, Verarbeitungsanforderungen und Computerdesigns an die Platine gekoppelt sein. Andere Komponenten wie externer Speicher, zusätzliche Sensoren, Steuerungen für Audio-/Videoanzeige und Peripherieeinrichtungen können an die Platine als Einsteckkarten oder über Kabel angebracht oder in die Platine selbst integriert werden. Bei verschiedenen Implementierungen können die hierin beschriebenen Funktionalitäten in einer Emulationsform als Software oder Firmware implementiert sein, die innerhalb eines oder mehrerer konfigurierbarer (z. B. programmierbarer) Elemente läuft, die in einer Struktur angeordnet sind, die diese Funktionen unterstützt. Die Software oder Firmware, die die Emulation bereitstellt, kann auf einem oder mehreren nicht transitorischen computerlesbaren Speichermedien bereitgestellt werden, die Anweisungen umfassen, um einem oder mehreren Prozessoren zu ermöglichen, diese Funktionalitäten auszuführen.
  • Bei einer anderen beispielhaften Implementierung können die elektrischen Schaltungen der Zeichnungen als eigenständige Module implementiert werden (z. B. eine Vorrichtung mit assoziierten Komponenten oder Verschaltungen, die konfiguriert sind, eine bestimmte Anwendung oder Funktion durchzuführen) oder als Einsteckmodule in anwendungsspezifische Hardware von elektronischen Vorrichtungen implementiert werden. Implementierungen der vorliegenden Offenbarung können leicht in einem Ein-Chip-System(SOC)-Gehäuse enthalten sein. Ein SOC repräsentiert eine integrierte Schaltung (IC), die Komponenten eines Computers oder anderen elektronischen Systems in einen Chip integriert. Das SOC kann digitale, analoge, Mischsignal- und Hochfrequenzfunktionen enthalten. Andere Implementierungen können ein Multi-Chip-Modul (MCM) enthalten, mit einer Vielzahl von separaten ICs, die innerhalb eines Elektronikgehäuses angeordnet sind und die über das Elektronikgehäuse interagieren. In verschiedenen anderen Implementierungen können die Prozessoren in einem oder mehreren Siliziumkernen in anwendungsspezifischen integrierten Schaltungen (ASICs), feldprogrammierbaren Gatearrays (FPGAs), programmierbarer Arraylogik (PAL), generischer Arraylogik (GAL) und anderen Halbleiterchips implementiert sein.
  • Die hierin umrissenen Spezifikationen, Abmessungen und Beziehungen (z. B. die Anzahl von Prozessoren, Logikoperationen, Verzögerungsleitungen) wurden für nicht einschränkende Zwecke von Beispiel und Lehren angeboten. Verschiedene Modifikationen und Änderungen können an Anordnungen derartiger Komponenten vorgenommen werden. Die Beschreibung und Zeichnungen sollen dementsprechend in einem illustrierenden Sinn statt in einem einschränkenden Sinn betrachtet werden.
  • Mit den zahlreichen hierin bereitgestellten Beispielen wurde eine Interaktion in Form von zwei, drei oder mehr elektrischen Komponenten zum Zweck der Klarheit und als Beispiel beschrieben. Das System kann auf beliebige Weise konsolidiert werden. Neben ähnlichen Konstruktionsalternativen können die veranschaulichten Komponenten, Module und Elemente der Zeichnungen in verschiedenen möglichen Konfigurationen innerhalb des Umfangs dieser Offenbarung kombiniert werden. In bestimmten Fällen könnte es einfacher sein, eine oder mehrere der Funktionalitäten eines bestimmten Satzes von Abläufen durch Bezugnahme auf eine begrenzte Anzahl von elektrischen Komponenten zu beschreiben. Die elektrischen Schaltungen der Zeichnungen und ihre Lehren sind leicht skalierbar und können viele Komponenten sowie kompliziertere/komplexere Anordnungen und Konfigurationen aufnehmen. Dementsprechend schränkten die gebotenen Beispiele den Geltungsbereich nicht ein oder behindern die Lehren der elektrischen Schaltkreise nicht, wie möglicherweise auf eine Unzahl von anderen Architekturen angewandt.
  • In dieser Offenbarung sollen Bezüge auf verschiedene Merkmale (z. B. Elemente, Strukturen, Module, Komponenten, Operationen, Eigenschaften usw.), die in „einer Implementierung“, „einem Implementierungsbeispiel“, „einer anderen Implementierung“, „manchen Implementierungen“, „verschiedenen Implementierungen“, „sonstigen Implementierungen“, „einer alternativen Implementierung“ und Ähnlichem enthalten sind, bedeuten sollen, dass beliebige solcher Merkmale in einer oder mehreren Implementierungen der vorliegenden Offenbarung enthalten sind, aber in den gleichen Implementierungen kombiniert sein können oder auch nicht notwendigerweise. Einige Operationen können bei Bedarf gelöscht oder weggelassen werden, oder diese Operationen können wesentlich modifiziert oder geändert werden. Darüber hinaus kann der Zeitablauf dieser Operationen erheblich geändert werden. Die vorangegangenen Operationsabläufe wurden für Zwecke des Beispiels und der Diskussion geboten. Hierin beschriebene Implementierungen bieten Flexibilität in dem Sinn, dass beliebige geeignete Anordnungen, Abfolgen, Konfigurationen und Zeitgebungsmechanismen bereitgestellt werden können.
  • Beispiele
  • Beispiel 1 ist eine Einrichtung zur Taktkompensierung, wobei die Einrichtung enthält: eine Taktquelle, die ausgelegt ist, ein Taktsignal auszugeben; eine erste Verzögerungsleitung, um ein erstes Taktquellensignal zu empfangen und eine erste Ausgabe zu erzeugen, wobei das erste Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; einen ersten Taktspine, der die erste Ausgabe empfängt und ein globales Referenztaktsignal erzeugt; eine zweite Verzögerungsleitung, um ein zweites Taktquellensignal zu empfangen und eine zweite Ausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; einen zweiten Taktspine, der die zweite Ausgabe empfängt und ein globales Feedbacktaktsignal erzeugt; und einen globalen Phasendetektor zum Detektieren einer Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird.
  • In Beispiel 2 kann der Gegenstand des Beispiels 1 optional beinhalten, dass die zweite Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  • In Beispiel 3 kann der Gegenstand eines der Beispiele 1-2 optional eine dritte Verzögerungsleitung beinhalten, um das erste Taktquellensignal zu empfangen und eine dritte Ausgabe zu erzeugen; einen dritten Taktspine, der die dritte Ausgabe empfängt und ein lokales Feedbacksignal erzeugt; und einen lokalen Phasendetektor zum Detektieren einer Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal, um eine lokale Phasendetektorausgabe zu erzeugen, wobei der erste Taktspine das lokale Referenzsignal erzeugt.
  • In Beispiel 4 kann der Gegenstand des Beispiels 3 optional beinhalten, dass die dritte Verzögerungsleitung die lokale Phasendetektorausgabe empfängt.
  • In Beispiel 5 kann der Gegenstand eines der Beispiele 1-4 optional beinhalten, dass die Taktquelle einen Phasenregelkreis beinhaltet, die einen Referenztakt und ein Feedbacktaktsignal empfängt und das Taktsignal generiert, und der erste Taktspine das Feedbacktaktsignal erzeugt.
  • In Beispiel 6 kann der Gegenstand eines der Beispiele 1-5 optional eine globale Kompensatoreinheit beinhalten, die eine erste globale Verzögerungsleitung und eine zweite globale Verzögerungsleitung beinhaltet, wobei die erste globale Verzögerungsleitung das Taktsignal empfängt und das erste Taktquellensignal ausgibt und die zweite globale Verzögerungsleitung das Taktsignal empfängt und das zweite Taktquellensignal ausgibt.
  • In Beispiel 7 kann der Gegenstand des Beispiels 6 optional beinhalten, dass die zweite globale Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  • Beispiel 8 ist ein System, das den Gegenstand von einem der Beispiele 1-7 beinhaltet.
  • Beispiel 9 ist ein Verfahren zur Taktkompensierung, wobei das Verfahren beinhaltet: Erzeugen, mit einer ersten Verzögerungsleitung, einer ersten Ausgabe, zumindest teilweise basierend auf einem ersten Taktquellensignal, wobei das erste Taktquellensignal zumindest teilweise auf einem Taktsignal basiert; Erzeugen, mit einem ersten Taktspine, eines globalen Referenztaktsignals, wobei das globale Referenztaktsignal zumindest teilweise auf der ersten Ausgabe basiert; Erzeugen, mit einer zweiten Verzögerungsleitung, einer zweiten Ausgabe, zumindest teilweise basierend auf einem zweiten Taktquellensignal, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; Erzeugen, mit einem zweiten Taktspine, eines globalen Feedbacktaktsignals, wobei das globale Feedbacktaktsignal zumindest teilweise auf der zweiten Ausgabe basiert; und Detektieren einer Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird.
  • In Beispiel 10 kann der Gegenstand des Beispiels 9 optional beinhalten, dass die zweite Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  • In Beispiel 11 kann der Gegenstand eines der Beispiele 9-10 optional enthalten: Erzeugen, mit einer dritten Verzögerungsleitung, einer dritten Ausgabe, zumindest teilweise basierend auf dem ersten Taktquellensignal; Erzeugen, mit einem dritten Taktspine, eines lokalen Feedbacksignals, zumindest teilweise basierend auf der dritten Ausgabe; und Detektieren einer Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal, um eine lokale Phasendetektorausgabe zu erzeugen, wobei der erste Taktspine das lokale Referenzsignal erzeugt.
  • In Beispiel 12 kann der Gegenstand des Beispiels 11 optional beinhalten, dass die dritte Verzögerungsleitung die lokale Phasendetektorausgabe empfängt.
  • In Beispiel 13 kann der Gegenstand eines der Beispiele 9-12 optional Generieren, mit einem Phasenregelkreis, des Taktsignals, zumindest teilweise basierend auf einem Referenztakt und einem Feedbacktaktsignal; und Erzeugen, mit dem ersten Taktspine, des Feedbacktaktsignals.
  • In Beispiel 14 kann der Gegenstand eines der Beispiele 9-13 optional enthalten: Ausgeben, mit einer ersten globalen Verzögerungsleitung, des ersten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal; und Ausgeben, mit einer zweiten globalen Verzögerungsleitung, des zweiten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal.
  • In Beispiel 15 kann der Gegenstand des Beispiels 14 optional beinhalten, dass die zweite globale Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  • Beispiel 16 ist eine Einrichtung, die Mittel zum Durchführen des Gegenstands eines der Beispiele 9-15 umfasst.
  • Beispiel 17 ist ein maschinenlesbares Medium, das Code beinhaltet, der, wenn er ausgeführt wird, eine Maschine zum Durchführen des Gegenstands eines der Beispiele 9-15 veranlasst.
  • Beispiel 18 ist ein nicht-transitorisches computerlesbares Medium, das mit Anweisungen codiert ist, die, wenn sie von einem Computer ausgeführt werden, bewirken, dass der Computer ein Verfahren durchführt, umfassend: Erzeugen, mit einer ersten Verzögerungsleitung, einer ersten Ausgabe, zumindest teilweise basierend auf einem ersten Taktquellensignal, wobei das erste Taktquellensignal zumindest teilweise auf einem Taktsignal basiert, wobei ein erster Taktspine ein globales Referenztaktsignal erzeugt, zumindest teilweise basierend auf der ersten Ausgabe; und Erzeugen, mit einer zweiten Verzögerungsleitung, einer zweiten Ausgabe, zumindest teilweise basierend auf einem zweiten Taktquellensignal, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert, wobei ein zweiter Taktspine ein globales Feedbacktaktsignal erzeugt, wobei das globale Feedbacktaktsignal zumindest teilweise auf der zweiten Ausgabe basiert, eine Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal detektiert wird, um eine globale Phasendetektorausgabe zu erzeugen, und das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird.
  • In Beispiel 19 kann der Gegenstand des Beispiels 18 optional beinhalten, dass die zweite Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  • In Beispiel 20 kann der Gegenstand eines der Beispiele 18-19 optional enthalten: Erzeugen, mit einer dritten Verzögerungsleitung, einer dritten Ausgabe, zumindest teilweise basierend auf dem ersten Taktquellensignal, wobei ein dritter Taktspine ein lokales Feedbacksignal erzeugt, zumindest teilweise basierend auf der dritten Ausgabe, eine Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal detektiert wird, um eine lokale Phasendetektorausgabe zu erzeugen, und wobei der erste Taktspine das lokale Referenzsignal erzeugt.
  • In Beispiel 21 kann der Gegenstand des Beispiels 20 optional beinhalten, dass die dritte Verzögerungsleitung die lokale Phasendetektorausgabe empfängt.
  • In Beispiel 22 kann der Gegenstand eines der Beispiele 18-21 optional beinhalten, dass ein Phasenregelkreis das Taktsignal zumindest teilweise basierend auf einem Referenztakt und einem Feedbacktaktsignal generiert und der erste Taktspine das Feedbacktaktsignal erzeugt.
  • In Beispiel 23 kann der Gegenstand eines der Beispiele 18-22 optional enthalten: Ausgeben, mit einer ersten globalen Verzögerungsleitung, des ersten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal; und Ausgeben, mit einer zweiten globalen Verzögerungsleitung, des zweiten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal.
  • In Beispiel 24 kann der Gegenstand des Beispiels 23 optional beinhalten, dass die zweite globale Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  • Beispiel 25 ist eine Einrichtung beinhaltend: Mittel zum Ausgeben eines Taktsignals; ein erstes Verzögerungsmittel zum Empfangen eines ersten Taktquellensignals und Erzeugen einer ersten Ausgabe, wobei das erste Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; Mittel zum Empfangen der ersten Ausgabe und Erzeugen eines globalen Referenztaktsignals; ein zweites Verzögerungsmittel zum Empfangen eines zweiten Taktquellensignals und Erzeugen einer zweiten Ausgabe, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; Mittel zum Empfangen der zweiten Ausgabe und Erzeugen eines globalen Feedbacktaktsignals; und Mittel zum Detektieren einer Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird.
  • In Beispiel 26 kann der Gegenstand des Beispiels 25 optional beinhalten, dass das zweite Verzögerungsmittel die globale Phasendetektorausgabe empfängt.
  • In Beispiel 27 kann der Gegenstand eines der Beispiele 25-26 optional enthalten: ein drittes Verzögerungsmittel zum Empfangen des ersten Taktquellensignals und Erzeugen einer dritten Ausgabe; Mittel zum Empfangen der dritten Ausgabe und Erzeugen eines lokalen Feedbacksignals; und Mittel zum Detektieren einer Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal, um eine lokale Phasendetektorausgabe zu erzeugen, wobei das Mittel zum Empfangen der ersten Ausgabe das lokale Referenzsignal erzeugt.
  • In Beispiel 28 kann der Gegenstand des Beispiels 27 optional beinhalten, dass das dritte Verzögerungsmittel die lokale Phasendetektorausgabe empfängt.
  • In Beispiel 29 kann der Gegenstand eines der Beispiele 25-28 optional beinhalten, dass das Mittel zum Ausgeben des Taktsignals einen Phasenregelkreis beinhaltet, der einen Referenztakt und ein Feedbacktaktsignal empfängt und das Taktsignal generiert, und das Mittel zum Empfangen der ersten Ausgabe das Feedbacktaktsignal erzeugt.
  • In Beispiel 30 kann der Gegenstand eines der Beispiele 25-29 optional eine globale Kompensatoreinheit beinhalten, die ein erstes globales Verzögerungsmittel und ein zweites globales Verzögerungsmittel beinhaltet, wobei das erste globale Verzögerungsmittel zum Empfangen des Taktsignals und Ausgeben des ersten Taktquellensignals ausgelegt ist und das zweite globale Verzögerungsmittel zum Empfangen des Taktsignals und Ausgeben des zweiten Taktquellensignals ausgelegt ist.
  • In Beispiel 31 kann der Gegenstand des Beispiels 30 optional beinhalten, dass das zweite globale Verzögerungsmittel die globale Phasendetektorausgabe empfängt.

Claims (10)

  1. Verfahren, umfassend: Erzeugen, mit einer ersten Verzögerungsleitung, einer ersten Ausgabe, zumindest teilweise basierend auf einem ersten Taktquellensignal, wobei das erste Taktquellensignal zumindest teilweise auf einem Taktsignal basiert; Erzeugen, mit einem ersten Taktspine, eines globalen Referenztaktsignals, wobei das globale Referenztaktsignal zumindest teilweise auf der ersten Ausgabe basiert; Erzeugen, mit einer zweiten Verzögerungsleitung, einer zweiten Ausgabe, zumindest teilweise basierend auf einem zweiten Taktquellensignal, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; Erzeugen, mit einem zweiten Taktspine, eines globalen Feedbacktaktsignals, wobei das globale Feedbacktaktsignal zumindest teilweise auf der zweiten Ausgabe basiert; und Detektieren einer Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird; wobei optional die zweite Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  2. Verfahren nach Anspruch 1, ferner umfassend: Erzeugen, mit einer dritten Verzögerungsleitung, einer dritten Ausgabe, zumindest teilweise basierend auf dem ersten Taktquellensignal; Erzeugen, mit einem dritten Taktspine, eines lokalen Feedbacksignals, zumindest teilweise basierend auf der dritten Ausgabe; und Detektieren einer Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal, um eine lokale Phasendetektorausgabe zu erzeugen, wobei der erste Taktspine das lokale Referenzsignal erzeugt; wobei optional die dritte Verzögerungsleitung die lokale Phasendetektorausgabe empfängt; und/oder wobei das Verfahren ferner umfasst: Generieren, mit einem Phasenregelkreis, des Taktsignals, zumindest teilweise basierend auf einem Referenztakt und einem Feedbacktaktsignal; und Erzeugen, mit dem ersten Taktspine, des Feedbacktaktsignals; und/oder wobei das Verfahren ferner umfasst: Ausgeben, mit einer ersten globalen Verzögerungsleitung, des ersten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal; und Ausgeben, mit einer zweiten globalen Verzögerungsleitung, des zweiten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal; wobei optional die zweite globale Verzögerungsleitung die globale Phasendetektorausgabe empfängt; und/oder wobei das Verfahren ferner umfasst: Empfangen, mit einer vierten Verzögerungsleitung, des zweiten Taktquellensignals und Erzeugen einer vierten Ausgabe; Empfangen, mit einem vierten Taktspine, der vierten Ausgabe und Erzeugen eines zweiten lokalen Feedbacksignals; und Detektieren, mit einem zweiten lokalen Phasendetektor, einer Phasendifferenz zwischen einem zweiten lokalen Referenzsignal und dem zweiten lokalen Feedbacksignal, um eine zweite lokale Phasendetektorausgabe zu erzeugen, wobei der dritte Taktspine das zweite lokale Referenzsignal erzeugt.
  3. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Regeln, mit einer Einheit, der zweiten Verzögerungsleitung zumindest teilweise basierend auf der globalen Phasendetektorausgabe; wobei die Einheit optional eine endliche Zustandsmaschine beinhaltet.
  4. Einrichtung, umfassend: Mittel zum Erzeugen, mit einer ersten Verzögerungsleitung, einer ersten Ausgabe, zumindest teilweise basierend auf einem ersten Taktquellensignal, wobei das erste Taktquellensignal zumindest teilweise auf einem Taktsignal basiert, Erzeugen, mit einem ersten Taktspine, eines globalen Referenztaktsignals, wobei das globale Referenztaktsignal zumindest teilweise auf der ersten Ausgabe basiert, Erzeugen, mit einer zweiten Verzögerungsleitung, einer zweiten Ausgabe, zumindest teilweise basierend auf einem zweiten Taktquellensignal, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert, Erzeugen, mit einem zweiten Taktspine, eines globalen Feedbacktaktsignals, wobei das globale Feedbacktaktsignal zumindest teilweise auf der zweiten Ausgabe basiert, und Detektieren einer Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird.
  5. Einrichtung nach Anspruch 4, wobei die zweite Verzögerungsleitung die globale Phasendetektorausgabe empfängt; und/oder wobei das Mittel ferner ausgelegt ist zum: Erzeugen, mit einer dritten Verzögerungsleitung, einer dritten Ausgabe, zumindest teilweise basierend auf dem ersten Taktquellensignal, Erzeugen, mit einem dritten Taktspine, eines lokalen Feedbacksignals, zumindest teilweise basierend auf der dritten Ausgabe und Detektieren einer Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal, um eine lokale Phasendetektorausgabe zu erzeugen, und wobei der erste Taktspine das lokale Referenzsignal erzeugt; wobei optional die dritte Verzögerungsleitung die lokale Phasendetektorausgabe empfängt.
  6. Einrichtung nach einem der Ansprüche 4-5, wobei das Mittel ferner ausgelegt ist zum: Generieren, mit einem Phasenregelkreis, des Taktsignals, zumindest teilweise basierend auf einem Referenztakt und einem Feedbacktaktsignal, und Erzeugen, mit dem ersten Taktspine, des Feedbacktaktsignals; und/oder wobei das Mittel ferner ausgelegt ist zum: Ausgeben, mit einer ersten globalen Verzögerungsleitung, des ersten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal und Ausgeben, mit einer zweiten globalen Verzögerungsleitung, des zweiten Taktquellensignals, zumindest teilweise basierend auf dem Taktsignal; wobei optional die zweite globale Verzögerungsleitung die globale Phasendetektorausgabe empfängt.
  7. Einrichtung nach einem der Ansprüche 4-6, wobei das Mittel ferner zum Regeln der zweiten Verzögerungsleitung zumindest teilweise basierend auf der globalen Phasendetektorausgabe ausgelegt ist; wobei das Mittel optional eine endliche Zustandsmaschine beinhaltet.
  8. Einrichtung nach Anspruch 5, wobei das Mittel ferner ausgelegt ist zum: Erzeugen, mit einer vierten Verzögerungsleitung, einer vierten Ausgabe, zumindest teilweise basierend auf dem zweiten Taktquellensignal, wobei ein vierter Taktspine ein zweites lokales Feedbacksignal erzeugt, zumindest teilweise basierend auf der vierten Ausgabe, eine Phasendifferenz zwischen einem zweiten lokalen Referenzsignal und dem zweiten lokalen Feedbacksignal detektiert wird, um eine zweite lokale Phasendetektorausgabe zu erzeugen, und wobei der dritte Taktspine das zweite lokale Referenzsignal erzeugt; wobei optional die vierte Verzögerungsleitung die zweite lokale Phasendetektorausgabe empfängt.
  9. Einrichtung, umfassend: eine Taktquelle, die zum Ausgeben eines Taktsignals ausgelegt ist; eine erste Verzögerungsleitung, um ein erstes Taktquellensignal zu empfangen und eine erste Ausgabe zu erzeugen, wobei das erste Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; einen ersten Taktspine, der die erste Ausgabe empfängt und ein globales Referenztaktsignal erzeugt; eine zweite Verzögerungsleitung, um ein zweites Taktquellensignal zu empfangen und eine zweite Ausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert; einen zweiten Taktspine, der die zweite Ausgabe empfängt und ein globales Feedbacktaktsignal erzeugt; und einen globalen Phasendetektor zum Detektieren einer Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal, um eine globale Phasendetektorausgabe zu erzeugen, wobei das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird; wobei die Einrichtung optional ferner eine dritte Verzögerungsleitung umfasst, um das erste Taktquellensignal zu empfangen und eine dritte Ausgabe zu erzeugen; einen dritten Taktspine, der die dritte Ausgabe empfängt und ein lokales Feedbacksignal erzeugt; und einen lokalen Phasendetektor zum Detektieren einer Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal, um eine lokale Phasendetektorausgabe zu erzeugen, wobei der erste Taktspine das lokale Referenzsignal erzeugt.
  10. Nicht-transitorisches, greifbares, computerlesbares Speichermedium, das mit Anweisungen codiert ist, die, wenn sie ausgeführt werden, bewirken, dass eine Verarbeitungseinheit ein Verfahren durchführt, umfassend: Erzeugen, mit einer ersten Verzögerungsleitung, einer ersten Ausgabe, zumindest teilweise basierend auf einem ersten Taktquellensignal, wobei das erste Taktquellensignal zumindest teilweise auf einem Taktsignal basiert, wobei ein erster Taktspine ein globales Referenztaktsignal erzeugt, zumindest teilweise basierend auf der ersten Ausgabe; und Erzeugen, mit einer zweiten Verzögerungsleitung, einer zweiten Ausgabe, zumindest teilweise basierend auf einem zweiten Taktquellensignal, wobei das zweite Taktquellensignal zumindest teilweise auf dem Taktsignal basiert, wobei ein zweiter Taktspine ein globales Feedbacktaktsignal erzeugt, wobei das globale Feedbacktaktsignal zumindest teilweise auf der zweiten Ausgabe basiert, eine Phasendifferenz zwischen dem globalen Referenztaktsignal und dem globalen Feedbacktaktsignal detektiert wird, um eine globale Phasendetektorausgabe zu erzeugen, und das zweite Taktquellensignal zumindest teilweise basierend auf der globalen Phasendetektorausgabe geregelt wird; wobei das Verfahren ferner Erzeugen, mit einer dritten Verzögerungsleitung, einer dritten Ausgabe, zumindest teilweise basierend auf dem ersten Taktquellensignal umfasst, wobei ein dritter Taktspine ein lokales Feedbacksignal erzeugt, zumindest teilweise basierend auf der dritten Ausgabe, eine Phasendifferenz zwischen einem lokalen Referenzsignal und dem lokalen Feedbacksignal detektiert wird, um eine lokale Phasendetektorausgabe zu erzeugen, und wobei der erste Taktspine das lokale Referenzsignal erzeugt.
DE102022119651.8A 2021-09-07 2022-08-04 Einrichtung und verfahren für kompensierung von globaltakt zu lokaltakt Pending DE102022119651A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/467,915 2021-09-07
US17/467,915 US20230075013A1 (en) 2021-09-07 2021-09-07 Apparatus and method for global to local clock compensation

Publications (1)

Publication Number Publication Date
DE102022119651A1 true DE102022119651A1 (de) 2023-03-09

Family

ID=85226259

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022119651.8A Pending DE102022119651A1 (de) 2021-09-07 2022-08-04 Einrichtung und verfahren für kompensierung von globaltakt zu lokaltakt

Country Status (3)

Country Link
US (1) US20230075013A1 (de)
CN (1) CN115774470A (de)
DE (1) DE102022119651A1 (de)

Also Published As

Publication number Publication date
US20230075013A1 (en) 2023-03-09
CN115774470A (zh) 2023-03-10

Similar Documents

Publication Publication Date Title
DE102012024886B4 (de) Boundary Scan-Kette für gestapelten Speicher
DE112006002265B4 (de) Zuverlässiges Rechnen mit einem Mehrkern-Prozessor
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
DE60308286T2 (de) Generator zur Erzeugung eines Taktsignals mit geringem Jitter
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE102019111995A1 (de) Training eines künstlichen neuronalen Netzes unter Verwendung von flexiblen Gleitkommatensoren
DE102019117499A1 (de) Einrichtung zum Synchronisieren von Takten konfigurierbarer Dies integrierter Schaltungen über eine Zwischenverbindungsbrücke
DE112013003250B4 (de) Kontaktloser Stresstest von Speicher-E/A-Schnittstellen
DE112007000443T5 (de) Gemeinsame analoge Schnittstelle für mehrere Prozessorkerne
DE69432401T2 (de) Vorrichtung zur Integrierung von Bus-Master-Besitzrecht von Lokalbuslast
DE112019002417T5 (de) Tastverhältniskorrektursystem und auf einem low-dropout (ldo)-regler basierende verzögerungsregelschleife (dll)
DE60217951T2 (de) Mehrphasen-Abtastung
DE102007005708A1 (de) Takt- und Datenrückgewinnungsschaltung, die erste und zweite Stufen umfasst
DE112011105683T5 (de) Abgeschlossene(s) Alterungsüberwachungsvorrichtung und -verfahren auf Pfadebene
DE112007002129T5 (de) Spannungsregler mit Ansteuerungsübersteuerung
DE112019002628T5 (de) Vorrichtung, verfahren und system für on-chip-erzeugung eines referenztaktsignals
DE102013213094B4 (de) System, Verfahren und Computer-Programm-Produkt zum Berechnen von Einstellungen für ein Gerät, unter Benutzung von einer oder mehreren Einschränkungen
DE112019002560T5 (de) Vorrichtung, verfahren und system zum bereitstellen eines verzögerten taktsignals an eine schaltung für sperrdaten
DE102019101810A1 (de) Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen
DE102016206170B4 (de) Serielle draht-debug-brücke
DE112015003632T5 (de) Dynamisches spielraumeinstellen zum steuern von anwendungsspezifischen schaltungen und speichern
DE112015006953T5 (de) Training einer gültigen lane
DE112020000294T5 (de) Vorrichtung und methode zur abschwächung von clock glitch
DE102021111008A1 (de) Selbstabstimmender phasenregelschleife(pll)-schaltkreis
DE112007002984T5 (de) Kompensationsverfahren zur Reduzierung des Leistungsverbrauchs in digitaler Schaltung