Che cosa significa "gate the clock"?


11

Continuo a leggere negli appunti delle lezioni "non fermare l'orologio". Ho provato a cercare su Internet, ma non riesco a trovare il significato esatto di questa frase.



3
@ user129048 ci sono altre domande che trattano questo argomento su questo sito. In breve, se si porta l'orologio si avrà un ritardo che è male. La maggior parte degli FPGA ha linee di clock dedicate e il gate non utilizza quelle linee.
Picco di tensione

1
Proprio come si usa un cancello per far entrare e uscire il proprio cane / cavallo / ecc., Possono passare attraverso il cancello aperto. Clock e reset sono solo segnali che vengono trasmessi a un modulo logico proprio come gli altri segnali. Puoi consentire o bloccare la continuazione di quell'orologio, senza lasciarlo passare. Impedire alla logica dall'altra parte di avere quel segnale come input.
old_timer

Risposte:


19

"Gate the clock" significa mettere un gate logico nella linea di clock per accenderlo o spegnerlo.

schematico

simula questo circuito - Schema creato usando CircuitLab

I diagrammi sopra mostrano e AND e OR utilizzati per bloccare l'orologio. Uno forza l'orologio in basso l'altro in alto.

Per evitare che gli impulsi di clock "troppo corti" siano alti o bassi ("impulsi di rottura"), dobbiamo accertarci che:

  • Il segnale di controllo per la porta AND dovrebbe cambiare solo quando l'orologio è basso .
  • Il segnale di controllo per la porta OR dovrebbe cambiare solo quando l'orologio è alto .

Gli orologi con gate sono molto utili per ridurre la potenza in CMOS poiché la logica rimane "silenziosa" mentre l'orologio è fermo. Scoprirai che i moderni strumenti di sintesi hanno un'opzione speciale per inserire automaticamente l'orologio.

schematico

simula questo circuito

Sopra ci sono due circuiti che generano in modo sicuro un orologio gated. I circuiti si basano sul fatto che esiste un piccolo ritardo (da clock a Q) per l'uscita del segnale di controllo dal registro. Pertanto, il segnale di controllo cambia al gate quando l'orologio ha una polarità nota.


3
Risposta molto bella. Espanderò solo i vantaggi in termini di potenza degli orologi gated. La rete di clock in un IC, specialmente in quelli complessi come i microprocessori, può essere davvero vasta. Così vasto che è stato dimostrato (mi dispiace non avere il riferimento a portata di mano) che la sola commutazione della rete di clock può costituire il 30% del consumo totale di energia. Questo viene consumato anche se la logica effettiva da esso sincronizzata non ha nulla a che fare, ad es. i registri e le uscite non cambiano affatto. La disattivazione dell'orologio può disabilitare completamente l'orologio nelle parti interessate della rete, riducendo in modo significativo il consumo di energia.
ultimA

4
@Curd: Quando l'OP legge "non gate l'orologio", il professore significa "non gate letteralmente l'orologio come in un unico gate logico". Questo è un buon consiglio. In pratica, però, "clock gating" significa "disabilitare l'orologio" o essere in grado di farlo, e si consiglia vivamente di farlo per motivi di alimentazione purché tu sappia come farlo correttamente (cioè, non con una logica cancello, ma con una logica sufficiente per evitare colate e anomalie sulla linea dell'orologio).
ultimA

8
Devo indovinare qui perché il professore dice questo: l'orologio, sebbene presentato qui come semplice, ha molte insidie. Pertanto è molto malvisto. Nella progettazione ASIC (da dove vengo io) viene fatto solo da entrambi gli strumenti, che dovrebbero essere considerati attendibili, o dai principali ingegneri senior, che si presume siano attendibili per sapere cosa stanno facendo.
Oldfart,

4
@oldfart Questa è probabilmente la spiegazione. Soprattutto se OP è in una classe FPGA, è improbabile che debbano mai avere un orologio.
mbrig,

3
@MITURAJ, il clock gating può sicuramente essere fatto in fase di progettazione. Penso che stai descrivendo ciò che dovrebbe essere fatto, non ciò che è "di solito". La libertà degli FPGA consente a chiunque di implementare idee sbagliate. Molti cattivi disegni là fuori.
TonyM,

6

Gating, in questo contesto, significa passare un segnale attraverso una porta logica per controllarlo.

Passandolo attraverso un ingresso di una porta AND a 2 ingressi consente un bit di controllo sull'altro ingresso per forzare l'uscita della porta AND bassa o per consentire al segnale di passare attraverso e fuori. Una funzione simile può essere eseguita da un gate OR, con il segnale che viene forzato in alto o lasciato passare.

Quindi gating un orologio significa forzarlo basso / alto o lasciarlo passare.

Non orologi a gating è un buon consiglio. Può essere fatto, con cura e comprensione approfondita delle possibili conseguenze. Questi includono la metastabilità quando si prendono segnali con clock nel dominio del clock gated e risultati peggiori dalla sintesi / layout basati sul timing.

Ma ci sono quasi sempre altri modi per ottenere lo stesso controllo su un circuito del gate, senza tutti questi rischi e penalità.


6

Significa:
non utilizzare una porta AND o OR (o qualsiasi altro termine combinatorio più complesso) per derivare un segnale di clock da un altro segnale di clock.

Il motivo di tale regola è che le condizioni di gara tra i vari input del termine combinatorio possono causare più fronti di clock (glitch) in cui ci si aspetta un solo limite di clock.


2
Sarebbe bello se il downvoter fosse in grado di spiegare ciò che considera sbagliato con questa risposta.
Cagliata il

4

Per l'alta velocità implica non aggiungere porte logiche che aggiungono ritardo di propagazione all'orologio in quanto potrebbe causare condizioni di competizione nel lavorare con i dati usando l'orologio originale.


Non ho mai sentito il termine clock gating usato in questo modo, hai una fonte per questo?
BeB00,

@ BeB00: basta google per "clock gating glitch free" e ne troverai in abbondanza
Curd


Questo è stato il mio primo pensiero di non aver sentito il termine usato prima, ma ci sono volte in cui sarà necessario buffering e gating probabilmente è destinato a significare più che buffering in questo caso. Le caratteristiche di inclinazione e di taglio possono cambiare con un semplice buffering e devono essere considerate in ogni caso.
KalleMP,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.