Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni8 pagine

ClockGating CTS

Il documento discute il clock gating, evidenziando come questa tecnica possa ridurre il consumo di potenza dinamica nei circuiti. Viene descritto il funzionamento del clock gating RTL e le sue metodologie, insieme all'importanza del target skew nella progettazione di clock tree. Inoltre, si analizzano le tecniche di ottimizzazione ICG e i problemi di attivazione associati, con un focus sulle differenze tra clock gating basato su latch e senza latch.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni8 pagine

ClockGating CTS

Il documento discute il clock gating, evidenziando come questa tecnica possa ridurre il consumo di potenza dinamica nei circuiti. Viene descritto il funzionamento del clock gating RTL e le sue metodologie, insieme all'importanza del target skew nella progettazione di clock tree. Inoltre, si analizzano le tecniche di ottimizzazione ICG e i problemi di attivazione associati, con un focus sulle differenze tra clock gating basato su latch e senza latch.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Gatng dell'orologio

Clocktree consuma più del 50% della potenza dinamica. I componenti di questa potenza sono:

1) Potenza consumata dalla logica combinatoria i cui valori cambiano ad ogni piè di pagina del clock

2) Potenza consumata dai flip-flop e

3) La potenza consumata dalla matrice di buffer dell'orologio nel design.

È una buona idea di design spegnere l'orologio quando non è necessario. Il funzionamento automatico dell'orologio è supportato da
strumenti EDA moderni. Identificano i circuiti in cui può essere inserito il clock gating.

Il clock gating RTL funziona identificando gruppi di flip-flop che condividono un segnale di controllo di abilitazione comune.
Le metodologie tradizionali utilizzano questo termine per controllare la selezione di un multiplexor collegato al D
portodella flip-flop orto controllare il pin di abilitazione dell'orologio su una flip-flop con capacità di abilitazione dell'orologio. RTL
il segnale di abilitazione dell'orologio controlla un circuito di gating dell'orologio che è collegato alle porte dell'orologio
di tutti i flip-flop con il termine di abilitazione comune. Pertanto, se un banco di flip-flop condivide un
l'abilitazione comune ha il gating dell'orologio RTL implementato, i flip-flop consumeranno zero dinamico
alimentazione finché questo segnale di attivazione è falso.

Sono disponibili due tipi di stili di clock gating. Essi sono:

1) Gating dell'orologio basato su latch

2) Clock gating senza latch.

Obiettivo di inclinazione
Target Skew, il valore di skew su cui il motore cts cercherà di costruire un albero di clock bilanciato.
In questo post discuteremo su quali fattori sceglieremo il target skew del nostro
design e come questi fattori influenzano il nostro design QOR.
Come designer, è una tendenza generale avere uno skew nullo e un orologio perfettamente bilanciato.
l'albero, ma lo Zero skew non è complessivamente buono per il design, perché? Pensa in termini di latenza,
conteggio buffer, potenza dinamica e congestione.
Per uno skew zero, la latenza complessiva di un design aumenterà, poiché ci vorrà più clock.
Buff/Inv per bilanciare i flop (per zero skew), il che potrebbe portare a un aumento delle cose poco comuni
percorso dell'orologio (più soggetto a variazioni OCV) e alta dissipazione di potenza dinamica poiché tutti i flops
& il buffer verrà attivato contemporaneamente. Poiché ogni rete di clock richiede il doppio delle risorse di routing
a causa delle impostazioni NDR applicate sulla rete oraria, quindi la congestione aumenta anche quando è minore
i distorsioni sono mirati.
Man mano che la tecnologia si sta riducendo, diventa sempre più fondamentale chiudere il tempo attraverso gli angoli.
Lo skew ha un impatto diretto sul setup/hold. Il principale obiettivo per raggiungere lo skew zero è il hold.
tempistica in tutti gli angoli. Quindi, mediante una selezione ottimale del numero di skew (skew target), noi ...
ridurre il consumo energetico dell'orologio, il conteggio del buffer/invertitore dell'orologio e la congestione significativa

riduzione.

Come analizzeremo il valore di inclinazione del target?

Per il target skew dobbiamo fare più esperimenti, creando un clock tree con target skew
definito mantenendo costanti i vincoli (SDC) e poi diversi numeri di skew sono
analizzato in base alla latenza, al potere e alla congestione.
Sappiamo che l'equazione di tempo di hold di un flop cioè,

Figura 1: Percorso di Tempistica

Tck->q+ TpettineTSbilanciato+ TTrattenere

Possiamo riscrivere questo come,


TPendenza< Tck->q+ Tpettine- TTieni
Per il peggior scenario in attesa, supponiamo Tpettine= 0 (flops seduti molto vicino, nessun percorso logico)
l'equazione sopra può essere riscritta come
TDistorsione< Tck->q- TTieni
Supponiamo che il ritardo del flop nel caso peggiore sia di 100 ps e che il tempo di hold sia di 30 ps

TDistorsione< 70 ps
Il che significa che c'è un margine di ~70 ps di skew senza compromettere il tempo di hold nel caso peggiore.
Quindi facciamo più iterazioni impostando la distorsione obiettivo nell'intervallo di +- 30 ps e analizziamo per
i fattori sopra menzionati e per il controllo dei tempi (NFE) in tutti gli angoli.

NFE -> Numero di endpoint non riusciti


Inversione di Temperatura
L'inversione di temperatura è un fenomeno che si verifica nei nodi inferiori, che causa il ritardo
di una cella diminuisce quando c'è un aumento della temperatura contraddittorio il ritardo in maggiore
nodi.
Sveltiamo questo,
Se guardi l'equazione della corrente di pilotaggio del MOSFET,

Quindi, ID varia linearmente come u (mobilità) e (VGS-Vt)² o la tensione di sovraccarico. Possiamo


concludere che il ritardo di una cella dipende da due fattori: mobilità e tensione di soglia (Vt) di una
transistore

Come la mobilità e il Vt dipendono dalla temperatura

A causa dell'aumento della temperatura, gli ioni metallici inizieranno a vibrare di più, quindi la mobilità dei vettori di carica

riduzioni tali che il ritardo di una cella aumenterà.

La tensione di soglia diminuirà anche con l'aumento della temperatura poiché il numero di minoritari
i portatori nel substrato stanno aumentando, il che rende necessario un Vt inferiore rispetto al solito per
forma un canale.

In sintesi, l'aumento della temperatura provoca un ritardo in una cellula.

Diminuisce a causa della diminuzione della tensione di soglia,

Aumenti dovuti alla diminuzione della mobilità.


Quindi il ritardo di una cella può aumentare o diminuire a seconda di quale fattore andrà a dominare.
sia la mobilità che la tensione di soglia sulla corrente finale.

Quando la tensione VGS - Vt o la tensione di sovraccarico è elevata (in nodi più alti -> alta VGS), allora diminuisce
nel voltaggio di soglia a causa della variazione di temperatura è trascurabile perché l'overdrive complessivo
la tension ha un impatto molto ridotto, quindi il fattore di mobilità dominerà qui, ritardando i risultati di un
la cellula aumenterà con l'aumento della temperatura.
Quando la tensione di sovracorrente (VGS-Vt) è inferiore (nodo più piccolo -> meno VGS), allora diminuisce in
La tensione di soglia a causa dell'aumento della temperatura dominerà la tensione di sovracorrente complessiva,
resultsdelay of a cell going to decrease with rise in temperature.

Si dovrebbe notare che l'inversione della temperatura entra in gioco nei nodi inferiori.
(tensione più bassa) con effetti più prominenti sulle cellule HVT.

Ottimizzazione ICG
Nel post precedente abbiamo parlato del problema di temporizzazione dell'abilitazione ICG, per superare il problema utilizziamo
ICG optimization technique in pre-cts stage.
L'ottimizzazione ICG viene eseguita durante la fase di posizionamento e svolge

Dummy -CTS
Suddivisione ICG
Posizionamento consapevole del tempo

Dummy CTS
In Dummy CTS, verrà costruito un albero di clock fittizio per identificare l'ICG critico, chiamandolo come clock fittizio.
perché nella fase CTS lo strumento costruirà l'effettivo albero dell'orologio scartando quello fittizio
I vantaggi dei dummy cts sono:
Determina accuratamente il ICG abilita i percorsi temporali critici con l'aiuto di dummy cts
Ottimizzazione accurata del percorso dei dati per i percorsi ICG critici per il timing nella fase di posizionamento.

Division efficace delle ICG e posizionamento consapevole del clock (discutere di seguito).

Una cosa dovrebbe essere presa in considerazione, cioè dobbiamo applicare tutte le impostazioni relative al CTS come le eccezioni dell'albero di clock.
Regole NDR, livelli, eccetera prima di eseguire la fase di posizionamento per correlare gli alberi orari Dummy cts e cts reali.
il più possibile per un'ottimizzazione ottimale dell'ICG.

Divisione ICG
Dopo il Dummy CTS, l'ottimizzazione ICG esegue la suddivisione ICG, sappiamo che se una cella ICG sta pilotando più registri,
aumenterà la latenza downstream dell'ICG portando a più percorsi critici temporizzati abilitati.
Strumento per identificare gli ICG critici nei Dummy cts e fare lo splitting degli ICG, ovvero istanziare un ICG in molti ICG.
posizionali vicino al reg che guidano per ridurre la latenza ICG a valle per un miglior timing abilitato da ICG.
La suddivisione ICG è guidata dal tempo, il che significa che solo gli ICG con violazioni dei tempi di abilitazione si suddivideranno.
Figura 1: Suddivisione ICG

Posizionamento consapevole del tempo


Nell'ultima fase dell'ottimizzazione dell'ICG, lo strumento effettuerà un posizionamento consapevole del clock, cioè dopo la suddivisione guidata dal tempo dell'ICG.

lo strumento posizionerà i ICG vicino ai cluster di registri con un temporizzazione critica (come mostrato nella figura 1).

Una cosa da notare è che l'ottimizzazione ICG potrebbe aumentare la dissipazione di potenza dinamica nel nostro design.

Problema di attivazione ICG


Come sappiamo, le celle di Clock Gating integrate sono utilizzate per ridurre la dissipazione di potenza dinamica in

il design, che è abilitato dalla logica CTRL. Per ottenere un'uscita senza glitch dal cella ICG,
dovrebbe soddisfare il requisito di tempo (setup/hold) al pin di abilitazione del cellula ICG.

Figura1: Cellula ICG


Nella figura sopra, come abbiamo visto, la cella ICG sta pilotando più flops che vengono abilitati da
logica di controllo flop R1. L2 e L3 è la latenza dalla porta dell'orologio all'ICG e ai flop. Quindi il nostro cella ICG
la latenza (latenza dall'uscita dell'orologio ICG ai flops) sarà

Latenza ICG = L3-L2

Idealmente, una cella ICG può gestire un numero infinito di flop, poiché il numero di flop aumenterà guidato dall'ICG.
la cella, lo strumento sta per aggiungere più buffer nel percorso dell'orologio per bilanciare l'albero dell'orologio, il che porterà a

aumentare la latenza ICG.

Poiché la latenza L3 aumenterà, si tradurrà in un aumento della latenza ICG, poiché il periodo di clock è fisso.
ora abbiamo un periodo di clock inferiore rispetto a prima per soddisfare il tempo di setup al pin EN.

Quindi possiamo concludere che maggiore è la latenza ICG, più critico è il timing di abilitazione dell'ICG.

È sempre consigliabile affrontare la tempistica ICG nella fase in loco/prima del CTS, poiché dopo il CTS può essere
troppo tardi per il design per affrontare la violazione dei tempi ICG.

sappiamo che l'analisi del timing Pre-cts utilizzava la latenza dell'orologio ideale per tutti i pin dell'orologio, il che significa

L2=L3, e la latenza ICG sarà 0.

Poiché la latenza ICG è 0, ciò renderà l'analisi temporale dell'abilitazione ICG troppo ottimistica, perché ora
La cella ICG riceverà il clock completo per soddisfare la configurazione al pin Enable (prima riceveva solo L3 - Latency ICG).
Quindi, nel progetto Pre-cts attuale, non si vedono violazioni dell'ICG, quindi non sono state corrette nel design.

Per superare questo problema di design, l'ottimizzazione ICG è una tecnica raccomandata per
i design con ICG critico abilitano il timing. Nel prossimo post parleremo di ICG
tecnica di ottimizzazione, come viene eseguita.

------------------------------------
Latch free clock gatng
Lo stile di gating della clock senza latch utilizza un semplice gate AND o OR (a seconda del fronte su cui viene attivato il flip-
I flops vengono attivati). Qui, se il segnale di abilitazione diventa inattivo tra i impulsi di clock o se si attiva molte volte.
quindi l'uscita dell'orologio gated può terminare prematuramente o generare più impulsi di clock. Questo
la restrizione rende inappropriato lo stile di gate a clock senza latch per il nostro flip-flop basato su un singolo clock
design.

Gating del clock basato su latch


Lo stile di clock gating basato su latch aggiunge un latch sensibile al livello al design per mantenere il segnale di abilitazione.
il bordo attivo dell'orologio fino al bordo inattivo dell'orologio. Poiché il latch cattura lo stato del
abilita il segnale e lo mantiene fino a quando l'intero impulso di clock è stato generato, il segnale di abilitazione deve solo
essere stabile attorno al fronte di salita del clock, proprio come nel tradizionale stile di design non gated.

Sono necessarie celle di gating specifiche per l'orologio nella libreria per essere utilizzate dagli strumenti di sintesi. Disponibilità dell'orologio
Le celle gatng e l'inserimento automatico tramite gli strumenti EDA rendono più semplice il metodo per tecniche a bassa potenza.

Il vantaggio di questo metodo è che il clock gating non richiede modifiche alla descrizione RTL.

Potrebbero piacerti anche