Clock tree: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Revisione e riordino contenuti |
||
Riga 1:
{{da correggere|Voce scritta a mo di "lezione frontale". Urge eliminazione parti soggettive-discorsive|informatica}}
[[File:clock distrib.png|thumb|
[[File:clock tree with buffers.png|thumb|right
[[File:Clock after CTS.PNG|thumb|right
[[File:Ideal clock.png|thumb|
▲il [[clock|segnale del clock]] viene usato per definire il tempo di riferimento per il movimento dei dati allinterno del sistema. La '''rete di distribuzione del clock''' (detta anche,più comunemente anche se meno precisamente, '''albero del clock''' o all'inglese '''clock tree''') distribuisce il segnale di temporizzazione (o i segnali di temporizzazione a partire da un punto comune (la '''radice del clock''') a tutti gli elementi che ne hanno bisogno. Questi elementi, in generale, sono gli [[circuito sequenziale|elementi sequenziali]].
▲[[File:clock distrib.png|thumb|left|300px|Descrizione ideale di come il clock debba raggiungere ogni cella sequenziale del circuito integrato a partire da una radice comune.]]
▲[[File:clock tree with buffers.png|thumb|right|300px|Descrizione qualitativa di come un albero di clock tree possa essere realizzato.]]
=== Motivazioni ===
Ogni macchina a stati cambia il suo stato in base a due elementi: lo stato attuale e i suoi ingressi. In riferimento agli [[automa a stati finiti|automi a stati finiti]], focalizziamo ora la nostra attenzione sugli automi sincroni; gli elementi elencati or ora modificano effettivamente gli accessi soltanto in istanti predefiniti. Questi istanti sono definiti dal nostro segnale speciale, il [[clock]].▼
▲In riferimento agli [[automa a stati finiti|automi a stati finiti]], focalizziamo ora la nostra attenzione sugli automi sincroni; gli elementi elencati or ora modificano effettivamente gli accessi soltanto in istanti predefiniti. Questi istanti sono definiti dal nostro segnale speciale, il [[clock]].
Affinché ogni parte del circuito commuti insieme alle altre, il segnale di [[clock]] deve giungere contemporaneamente ad ogni elemento che ne necessita. Per ottenere questo risultato, la contemporaneità nel campionamento, è necessario introdurre delle strutture che garantiscano una uniforme propagazione del segnale. Infatti, due elementi sequenziali (per esempio due [[flip-flop]]) possono trovarsi a distanze diverse dal punto in cui viene originato il segnale; i diversi tempi di propagazione che si avrebbero vanno necessariamente compensati mediante l'inserimento di specifici circuiti chiamati [[buffer non invertente|buffer]].
=== Implementazione ===
La realizzazione del clock tree è una materia molto critica dal punto di vista industriale. Il cosiddetto '''inserimento del clock tree''' detto anche '''CTS''' (ossia clock tree synthesis) può determinare variazioni grandi nelle prestazioni di un circuito digitale.
Vengono utilizzati a questo scopo strumenti di progettazione assistita dal computer (CAD) che si avvalgono di algoritmi complessi per la realizzazione di ''alberi bilanciati'', ossia alberi costituiti da interconnessioni metalliche a da [[buffer non invertente|buffer]] mediante i quali le ''foglie'' risultino essere sincronizzate. Nel risolvere questo tipo di problemi si devono sviluppare [[algoritmo|algoritmi]] che permettano di massimizzare in velocità e contemporaneamente equalizzare tutti i rami.▼
▲[[File:Ideal clock.png|thumb|left|450px|Il clock tree, visto da uno strumento software di sviluppo, in uno stadio preliminare, prima della CTS]]
▲[[File:Clock after CTS.PNG|thumb|right|450px|In questa immagine invece si vede come il progettista abbia ormai inserito le celle di buffering che permettono di bilanciare il clock. L'inserimento del clock tree è stato completato.]]
▲Vengono utilizzati a questo scopo strumenti di progettazione assistita dal computer (CAD) che si avvalgono di algoritmi complessi per la realizzazione di ''alberi bilanciati'', ossia alberi costituiti da interconnessioni metalliche a da [[buffer non invertente|buffer]] mediante i quali le ''foglie'' risultino essere sincronizzate.
==== Varianti ====
|