In meinen Vorlesungsunterlagen lese ich immer wieder "Tor nicht auf die Uhr". Ich habe versucht, im Internet zu suchen, aber ich kann die genaue Bedeutung dieses Ausdrucks nicht finden.
@ user129048 Es gibt andere Fragen, die sich auf dieser Website mit diesem Thema befassen. Kurz gesagt, wenn Sie die Uhr drehen, haben Sie eine Verzögerung, die schlecht ist. Die meisten FPGAs haben dedizierte Taktleitungen, und das Gating der Uhr verwendet diese Leitungen nicht.
Spannungsspitze
1
Genau wie Sie ein Tor benutzen, um Ihren Hund / Ihr Pferd / usw. rein und raus zu lassen, können sie passieren, wenn das Tor offen ist. Clock und Reset sind nur Signale, die genau wie die anderen Signale an ein Logikmodul weitergeleitet werden. Sie können zulassen oder blockieren, dass diese Uhr fortgesetzt wird, ohne sie passieren zu lassen. Verhindern, dass die Logik auf der anderen Seite dieses Signal als Eingang hat.
old_timer
Antworten:
19
"Gate the Clock" bedeutet, ein Logikgatter in die Clock-Leitung zu setzen, um es ein- oder auszuschalten.
Die obigen Diagramme zeigen und UND und ODER, die zum Gate der Uhr verwendet werden. Einer drückt die Uhr niedrig, der andere hoch.
Um zu verhindern, dass Taktimpulse zu kurz oder zu niedrig sind ("Runt-Impulse"), müssen wir Folgendes sicherstellen:
Das Steuersignal für das UND-Gatter sollte sich nur ändern, wenn der Takt niedrig ist .
Das Steuersignal für das ODER-Gatter sollte sich nur ändern, wenn der Takt hoch ist .
Gated Clocks sind sehr nützlich, um die Leistung im CMOS zu reduzieren, da die Logik "leise" bleibt, während die Uhr gestoppt ist. Sie werden feststellen, dass moderne Synthesewerkzeuge eine spezielle Option zum automatischen Einfügen von Clock Gating haben.
Oben sind zwei Schaltkreise aufgeführt, die sicher eine getaktete Uhr erzeugen. Die Schaltungen beruhen auf der Tatsache, dass es eine kleine Verzögerung (Takt zu Q) gibt, damit das Steuersignal aus dem Register kommt. Somit ändert sich das Steuersignal am Gate, wenn der Takt eine bekannte Polarität hat.
Sehr schöne Antwort. Ich werde nur auf die Leistungsvorteile von geschlossenen Uhren eingehen. Das Taktnetzwerk in einem IC, insbesondere in komplexen wie Mikroprozessoren, kann sehr groß sein. So umfangreich, dass gezeigt wurde (sorry, ich habe die Referenz nicht zur Hand), dass das Umschalten des Taktnetzes allein 30% des gesamten Stromverbrauchs ausmachen kann. Dies wird auch dann verbraucht, wenn die von ihm getaktete tatsächliche Logik nichts zu tun hat, z. Die Register und Ausgänge ändern sich überhaupt nicht. Durch das Steuern der Uhr kann die Uhr in den betroffenen Teilen des Netzwerks vollständig deaktiviert werden, wodurch der Stromverbrauch erheblich reduziert wird.
UltimA
4
@Curd: Wenn das OP "Nicht die Uhr steuern" bedeutet, bedeutet der Professor "Die Uhr nicht buchstäblich wie bei einem einzelnen Logikgatter steuern". Das ist ein guter Rat. In der Praxis bedeutet "Clock Gating" jedoch "Deaktivieren der Uhr" oder die Möglichkeit, dies zu tun, und es wird aus Gründen der Stromversorgung dringend empfohlen, dies zu tun, solange Sie wissen, wie es richtig gemacht wird (dh nicht mit einer Logik) Gate, aber mit ausreichender Logik, um Runts und Pannen auf der Taktleitung zu vermeiden).
UltimA
8
Ich muss hier raten, warum der Professor dies sagt: Clock Gating, obwohl hier als einfach dargestellt, hat viele Fallstricke. Daher ist es sehr verpönt. Im ASIC-Design (woher ich komme) wird es nur von den Tools ausgeführt, denen vertraut werden soll, oder von leitenden Ingenieuren, denen ebenfalls vertraut wird, dass sie vertrauenswürdig sind, um zu wissen, was sie tun.
Oldfart
4
@oldfart Das ist sehr wahrscheinlich die Erklärung. Besonders wenn OP in einer FPGA-Klasse ist, ist es unwahrscheinlich, dass sie jemals eine Uhr steuern.
mbrig
3
@MITURAJ, Clock Gating kann mit Sicherheit im Designeintrag erfolgen. Ich denke, Sie beschreiben, was getan werden sollte, nicht was "normalerweise" getan wird. Die Freiheit der FPGAs ermöglicht es jedem, schlechte Ideen umzusetzen. Viele schlechte Designs da draußen.
TonyM
6
Gating bedeutet in diesem Zusammenhang, ein Signal durch ein Logikgatter zu leiten, um es zu steuern.
Wenn es durch einen Eingang eines UND-Gatters mit zwei Eingängen geleitet wird, kann ein Steuerbit am anderen Eingang den Ausgang des UND-Gatters auf einen niedrigen Pegel drücken oder das Signal durch- und herauslassen. Eine ähnliche Funktion kann durch ein ODER-Gatter ausgeführt werden, wobei das Signal hoch gezwungen oder durchgelassen wird.
Das Gating einer Uhr bedeutet also, sie auf niedrig / hoch zu zwingen oder durchzulassen.
Uhren nicht zu steuern ist ein guter Rat. Dies kann mit Sorgfalt und gründlichem Verständnis der möglichen Konsequenzen erfolgen. Dazu gehören die Metastabilität beim Aufnehmen getakteter Signale in die Gated-Clock-Domäne und schlechtere Ergebnisse bei zeitgesteuerter Synthese / Layout.
Es gibt jedoch fast immer andere Möglichkeiten, die gleiche Kontrolle über eine Schaltung wie das Steuern der Uhr zu erreichen, ohne all diese Risiken und Strafen.
Dies bedeutet:
Verwenden Sie kein UND- oder ODER-Gatter (oder einen komplexeren kombinatorischen Begriff), um ein Taktsignal von einem anderen Taktsignal abzuleiten.
Der Grund für diese Regel ist, dass Race-Bedingungen zwischen den mehreren Eingaben des kombinatorischen Terms mehrere Taktflanken (Störungen) verursachen können, bei denen Sie nur eine Taktflanke erwarten.
Es wäre schön, wenn der Downvoter erklären könnte, was er mit dieser Antwort für falsch hält.
Curd
4
Für hohe Geschwindigkeit bedeutet dies, dass keine Logikgatter hinzugefügt werden, die der Uhr eine Laufzeitverzögerung hinzufügen, da dies zu Rennbedingungen beim Arbeiten mit Daten unter Verwendung des Originaltakts führen kann.
Dies war mein erster Gedanke, den zuvor verwendeten Begriff nicht gehört zu haben, aber es gibt Zeiten, in denen eine Pufferung erforderlich ist und das Gating in diesem Fall wahrscheinlich mehr als nur Pufferung bedeuten soll. Die Schwenk- und Kanteneigenschaften können sich durch einfaches Puffern ändern und müssen auf jeden Fall berücksichtigt werden.
Antworten:
"Gate the Clock" bedeutet, ein Logikgatter in die Clock-Leitung zu setzen, um es ein- oder auszuschalten.
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
Die obigen Diagramme zeigen und UND und ODER, die zum Gate der Uhr verwendet werden. Einer drückt die Uhr niedrig, der andere hoch.
Um zu verhindern, dass Taktimpulse zu kurz oder zu niedrig sind ("Runt-Impulse"), müssen wir Folgendes sicherstellen:
Gated Clocks sind sehr nützlich, um die Leistung im CMOS zu reduzieren, da die Logik "leise" bleibt, während die Uhr gestoppt ist. Sie werden feststellen, dass moderne Synthesewerkzeuge eine spezielle Option zum automatischen Einfügen von Clock Gating haben.
simulieren Sie diese Schaltung
Oben sind zwei Schaltkreise aufgeführt, die sicher eine getaktete Uhr erzeugen. Die Schaltungen beruhen auf der Tatsache, dass es eine kleine Verzögerung (Takt zu Q) gibt, damit das Steuersignal aus dem Register kommt. Somit ändert sich das Steuersignal am Gate, wenn der Takt eine bekannte Polarität hat.
quelle
Gating bedeutet in diesem Zusammenhang, ein Signal durch ein Logikgatter zu leiten, um es zu steuern.
Wenn es durch einen Eingang eines UND-Gatters mit zwei Eingängen geleitet wird, kann ein Steuerbit am anderen Eingang den Ausgang des UND-Gatters auf einen niedrigen Pegel drücken oder das Signal durch- und herauslassen. Eine ähnliche Funktion kann durch ein ODER-Gatter ausgeführt werden, wobei das Signal hoch gezwungen oder durchgelassen wird.
Das Gating einer Uhr bedeutet also, sie auf niedrig / hoch zu zwingen oder durchzulassen.
Uhren nicht zu steuern ist ein guter Rat. Dies kann mit Sorgfalt und gründlichem Verständnis der möglichen Konsequenzen erfolgen. Dazu gehören die Metastabilität beim Aufnehmen getakteter Signale in die Gated-Clock-Domäne und schlechtere Ergebnisse bei zeitgesteuerter Synthese / Layout.
Es gibt jedoch fast immer andere Möglichkeiten, die gleiche Kontrolle über eine Schaltung wie das Steuern der Uhr zu erreichen, ohne all diese Risiken und Strafen.
quelle
Dies bedeutet:
Verwenden Sie kein UND- oder ODER-Gatter (oder einen komplexeren kombinatorischen Begriff), um ein Taktsignal von einem anderen Taktsignal abzuleiten.
Der Grund für diese Regel ist, dass Race-Bedingungen zwischen den mehreren Eingaben des kombinatorischen Terms mehrere Taktflanken (Störungen) verursachen können, bei denen Sie nur eine Taktflanke erwarten.
quelle
Für hohe Geschwindigkeit bedeutet dies, dass keine Logikgatter hinzugefügt werden, die der Uhr eine Laufzeitverzögerung hinzufügen, da dies zu Rennbedingungen beim Arbeiten mit Daten unter Verwendung des Originaltakts führen kann.
quelle