Clock tree: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Motivazioni: Revisioni editoriali minori
Etichette: Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata
 
(50 versioni intermedie di 18 utenti non mostrate)
Riga 1:
{{NN|informatica|gennaio 2024}}
{{S|elettronica}}
[[File:clock distrib.png|thumb|right|Descrizione ideale di come il clock debba raggiungere ogni cella sequenziale del circuito integrato a partire da una radice comune.]]
===== Il termine tecnico =====
[[File:clock tree with buffers.png|thumb|right|Descrizione qualitativa di come un albero di clock tree possa essere realizzato.]]
L'espressione '''clock tree''' è un termine tecnico di difficile traduzione nella [[lingua italiana|lingua del sì]]. Come moltissimi termini tecnici nell'ambito dell'elettroinca esso viene mutuato dall'inglese e tradotto in vari modi:
[[File:Clock after CTS.PNG|thumb|right|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.]]
* albero del clock
[[File:Ideal clock.png|thumb|right|Il clock tree, visto da uno strumento software di sviluppo, in uno stadio preliminare, prima della CTS]]
* clock tree
* clock mesh
In questa voce noi useremo il termine indicato nel titolo, anche se l'espressione che meglio esprime questa struttura fondamentale dell'elettronica digitale è '''rete di distribuzione del clock'''.
 
theIl [['''clock|segnale tree''' ('''rete di distribuzione del clock''' in [[lingua italiana|italiano]]) viene usatoutilizzato in un circuito digitale sincrono per definire il tempo di riferimento per il movimento dei dati allinternoall'interno del systemasistema. La '''rete di distribuzione del clock''' (detta anche,più comunemente anche se meno precisamente, '''albero del clock''' o all'inglese '''clock tree''')Distribuisce distribuisceinfatti il segnale di temporizzazione (o i segnali di temporizzazione a partire da un punto comune, (ladetta '''"radice del clock'''") a tutti gli elementi che ne hanno bisogno. Questi elementi, in generale, sono gli [[elementi sequenziali|circuito sequenziale|elementi sequenziali]].
== Descrizione ==
In un [[circuito digitale sincrono|circuito sincrono]],
the [[clock|segnale del clock]] viene usato per definire il tempo di riferimento per il movimento dei dati allinterno del systema. 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 [[elementi sequenziali|circuito sequenziale]].
Poiché la funzione del [[clock|clock]] è vitale per l'operazione di un [[circuito sincrono|sistema sincrono]], bisogna porre particolare attenzione alle caratteristiche di questi segnali di temporizzazione ed alla rete usata per distribuirlo all'interno del microchip. Spesso il clock viene considerato un semplice segnale di controllo; tuttavia, questo segnale ha speciali caratteristiche che lo rendono unico ed il più importante di tutti.
 
=== Motivazioni ===
Ogni macchina a stati cambia il suo stato in base a due elementi: il suo stato attuale e lo stato dei suoi ingressi. All'interno degli [[automa a stati finiti|automi a stati finiti]], ed in particolare degli automi sincroni, gli elementi sopraelencati modificano i propri stati soltanto in istanti predefiniti. Quegli istanti sono definiti da un 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, che implica la contemporaneità nel campionamento, è necessario introdurre delle strutture che garantiscano una uniforme propagazione del segnale di clock. 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 quindi compensati mediante l'inserimento di specifici circuiti chiamati [[buffer non invertente|buffer non invertenti]].
 
== Implementazione ==
La realizzazione del clock tree è una materia molto critica dal punto di vista industriale. Il CTS (ossia "clock tree synthesis", "inserimento del clock tree" in italiano) 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" risultano 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.
 
=== Varianti ===
* ''Clock tree realizzati tramite [[invertitore|invertitori]]'': dal punto di vista logico, se il numero delle inversioni è pari allora il segnale non cambia.
* ''Clock mesh'': variante nella CTS che non si basa più su un albero di propagazione, ma sfrutta una rete di distribuzione uniforme dalla quale viene estratto localmente il segnale del clock.
 
=== Strutture avanzate ===
* ''Domini di clock multipli'': si hanno nel caso di circuiti che ricevono più segnali di clock contemporaneamente: ogni singolo clock viene bilanciato separatamente dagli altri
* ''Clock gating'': struttura che permette lo spegnimento del clock quando il circuito non viene utilizzato
 
== Bibliografia ==
*''Electronic Design Automation For Integrated Circuits Handbook'', by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 un compendio di automazione del design.
 
== Voci correlate ==
* [[Buffer non invertente]]
 
== Collegamenti esterni ==
* CAD – [https://web.archive.org/web/20030804065831/http://www.ieee.org/organizations/pubs/transactions/tcadics.htm IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems]
 
{{Portale|elettronica|elettrotecnica|scienza e tecnica}}
 
[[Categoria:Elettronica digitale]]