Clock tree: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
AttoBot (discussione | contributi)
m sistemo links e/o typos, correggo/elimino interlink nel testo
Riga 10: Riga 10:
In un [[circuito digitale sincrono|circuito sincrono]],
In un [[circuito digitale sincrono|circuito sincrono]],
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]].
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 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. ]]
[[File:clock tree with buffers.png|thumb|right|300px|Descrizione qualitativa di come un albero di clock tree possa essere realizzato.]]
=== Motivazioni ===
=== Motivazioni ===
Ogni macchina a stati cambia il suo stato in base a due elementi:
Ogni macchina a stati cambia il suo stato in base a due elementi:
Riga 27: Riga 27:
può determinare variazioni grandi nelle prestazioni di un circuito digitale.
può determinare variazioni grandi nelle prestazioni di un circuito digitale.
[[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.]]
[[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.
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.
Riga 34: Riga 33:


==== Varianti ====
==== Varianti ====
* Clock tree realizzati tramite [[invertitore|invertitori]]: dal punto di vista logico, se il numero delle inversioni è pari allora il segnale non cambia; si tratta quindi di alberi realizzati tramite coppie di invertitori.
* Clock tree realizzati tramite [[invertitore|invertitori]]: dal punto di vista logico, se il numero delle inversioni è pari allora il segnale non cambia; si tratta quindi di alberi realizzati tramite coppie di invertitori.
* 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.
* 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.


Riga 42: Riga 41:


== Bibliografia ==
== Bibliografia ==
*''Electronic Design Automation For Integrated Circuits Handbook'', by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 un compendio di [[:en:electronic design automation|automazione del design]].
*''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 ==
== Collegamenti esterni ==
*CAD – [http://www.ieee.org/organizations/pubs/transactions/tcadics.htm IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems]
*CAD – [http://www.ieee.org/organizations/pubs/transactions/tcadics.htm IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems]

== Voci correlate ==
* [[buffer non invertente]]
* [[:en:physical design (electronics)]]


[[Categoria:Elettronica]]
[[Categoria:Elettronica]]

Versione delle 19:38, 14 lug 2011

L'espressione clock tree è un termine tecnico di difficile traduzione nella lingua italiana. Come moltissimi termini tecnici nell'ambito dell'elettroinca esso viene mutuato dall'inglese e tradotto in vari modi:

  • albero del clock
  • 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.

Descrizione

In un circuito sincrono, il 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 elementi sequenziali.

Descrizione ideale di come il clock debba raggiungere ogni cella sequenziale del circuito integrato a partire da una radice comune.
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
  • i suoi ingressi

In riferimento agli 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, permettendo in questo modo un'evoluzione sincrona della macchina ed una transizione pulita verso il nuovo stato, 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.

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)

Il clock tree, visto da uno strumento software di sviluppo, in uno stadio preliminare, prima della CTS

può determinare variazioni grandi nelle prestazioni di un circuito digitale.

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 mediante i quali le foglie risultino essere sincronizzate.

Nel risolvere questo tipo di problemi si devono sviluppare algoritmi che permettano di massimizzare in velocità e contemporaneamente equalizzare tutti i rami.

Varianti

  • Clock tree realizzati tramite invertitori: dal punto di vista logico, se il numero delle inversioni è pari allora il segnale non cambia; si tratta quindi di alberi realizzati tramite coppie di invertitori.
  • 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

Collegamenti esterni