Sei sulla pagina 1di 27

Tecnologie Integrate e

Industria 4.0
Lezione 4 - Sincronizzazione
CIRCUITI SINCRONI
BISOGNO DI SINCRONIZZAZIONE
Il problema dei circuiti realizzati fino ad ora è che l’output dipende unicamente dai
valori che troviamo in input. Al variare di tali valori il circuito commuta il più
velocemente possibile.

Tuttavia, per commutare occorre tempo! Cosa accade se gli input variano più
velocemente del cammino critico?

Impossibile memorizzare lo stato di un sistema in questo modo!

Necessità di dispositivi di memorizzazione che consentano la sincronizzazione:


le memorie!
MEMORIE

L’uscita Y mantiene il suo valore, {0,1}, anche quando il circuito che precede la

memoria cambia il suo valore in uscita U.


CIRCUITI SINCRONI
Le fasi dell’elaborazione sono scandite da un orologio comune a tutto il sistema: il
clock!
Ad ogni fase di clock, la parte combinatoria del circuito ha tempo di elaborare
(così che i segnali percorrono il cammino critico) e quindi il circuito ha il tempo di
stabilizzarsi. Questo deve avvenire entro il “tick” successivo.
Progetto sincrono: il controllo dei transitori/cammini critici è limitato alla parte di
circuito tra due cancelli (porte di sincronizzazione).
CLOCK
Il clock è un oscillatore, ovvero un dispositivo (tipicamente in quarzo) il cui stato cambia periodicamente
da un valore interpretabile come alto ad uno basso.

Frequenza (f): Numero di cicli alto/basso al secondo. (Hz)

Periodo (T): Tempo impiegato per compiere un ciclo. (s)

T = 1/f

Il tempo di salita e discesa è trascurabile rispetto a quello di commutazione delle porte logiche!

Le commutazioni avvengono al momento dei fronti di salita/discesa.


ARCHITETTURE SEQUENZIALI
Sono necessari circuiti con memoria, per consentire comportamenti diversi a
seconda della situazione dell’architettura.

Nella memoria viene memorizzato lo stato del sistema che riassume la storia
passata (l’insieme delle variabili di istanza nel caso della programmazione ad
oggetti).

Sono necessari dispositivi di sincronizzazione (cancelli) per eseguire operazioni


sequenzialmente e il risultato di un’operazione è l’input dell’operazione successiva

Tali dispositivi sono i bistabili.


BISTABILI
BISTABILI
Il bistabile è l’elemento di memoria di base: è un dispositivo in grado di
mantenere indefinitamente o 0 o 1.

Il suo valore manifesta lo stato, che dipende a tempo t da:

❏ Dallo stato precedente a tempo t-1


❏ Dai valori presenti in input

Esistono di due categorizzazioni:

❖ Temporizzati (latch sincroni) e non (latch asincroni)


❖ Bistabili che commutano sul livello del clock (latch) o sui fronti (flip-flop)
LATCH ASINCRONO SC

Una coppia di porte NOR retro-azionate può memorizzare un bit.

S = SET = Fa assumere al circuito il valore corrispondente.

C = CLEAR = Quando diventa 1, Q diventa 0.

Q = STATE = Valore in uscita. Presente anche il negato in caso possa servire.


ESERCIZI
● Realizzare su Logisim un latch SC e testare tutti i possibili funzionamenti.
Cosa succede se S=C=1?
TABELLA DELLA TRANSIZIONI DI UN LATCH SC
LATCH SINCRONO SR

Si inseriscono degli AND tra i segnali S e R (equivalente a C) e il clock CK.

I segnali S e R passano solo quando il clock è alto!


TABELLA DELLE TRANSIZIONI
LATCH SINCRONO D

Latch trasparente sincrono che memorizza il valore in ingresso D solo quando il clock è
alto. Lo stato 0 e 1 dipende dal valore di D quando il clock è alto.
Attenzione alle variazioni! Mentre il clock è alto D può variare un numero esagerato di
volte!
Il clock agisce come un Mux e può essere sostituito da un altro segnale che abilita la
scrittura del bistabile.
SHIFT REGISTER

Si hanno un unico ingresso I e un’unica uscita U.

Quando il clock è alto il contenuto dei bistabili viene spostato a destra di uno (il
contenuto di quello più a destra è l’uscita del registro. Normalmente viene perso.
ESERCIZI
● Realizzare su Logisim un Latch D e provare tutte le possibili configurazioni.
● Rendere tale latch un componente e costruire uno shift register.
FLIP-FLOP

Altro tipo di bistabile attivo sui fronti del clock: lo stato commuta solo allo
incontrare la transizione basso->alto e quella alto->basso.

Configurazione di tipo master-slave.


FLIP-FLOP D
FLIP-FLOP: FUNZIONAMENTO (CLK ALTO)
Se CLK==1 il master vede l’ingresso, mentre lo slave rimane opaco.
FLIP-FLOP: FUNZIONAMENTO (CLK BASSO)
Se CLK==0 il master è opaco, mentre lo slave vede l’uscita del master.
COME LE CHIUSE
ESERCIZI
● Realizzare su Logisim un flip-flop.
● Modificare lo shift register realizzato precedentemente utilizzando come
dispositivi di memorizzazione i flip-flop al posto dei latch.
STRUTTURA DI UN CIRCUITO SEQUENZIALE

Il clock deve essere dimensionato in modo tale che la logica combinatoria abbia
tempo di finire di commutare: CLK > CC!

Il CLK è collegato a tutti i dispositivi di sincronizzazione! In questo modo tutto il


circuito è sincronizzato e lavora alla stessa frequenza.
PROBLEMI DI TEMPO
Per evitare di perdere informazione, l’input di un flip-flop deve rimanere stabile! La
variazione implica perdita di informazione!
All’interno del circuito non è un problema perché sincronizzato dal flip-flop
precedente, ma il segnale iniziale non può variare!
Esso deve rimanere stabile per:
➔ Tempo di setup: tempo minimo per cui deve rimanere stabile l’input D prima
del fronte di clock (tempo di attraversamento delle porte del master).
➔ Tempo di hold: tempo minimo per cui deve rimanere stabile l’input D dopo il
fronte di clock (tempo di attraversamento delle porte dello slave).
DIMENSIONAMENTO DEL CLOCK
Abbiamo detto che CLK>CC, ma dobbiamo fare delle considerazioni:
1) Il clock non può essere troppo più alto del CC o sprechiamo tempo.
2) Il clock non può essere troppo poco più alto del CC o rischiamo imprevisti.
Il clock è dimensionato in base a:
➔ Tempo di propagazione tp: Tempo massimo impiegato dalla logica
combinatoria, equivale a CC*t.
➔ Tempo di skew tw: Ritardo massimo del clock.
➔ Tempo di hold th
➔ Tempo di setup ts
Quindi abbiamo che CLK > k*(tp+tw+th+ts).
ESERCIZI
● Realizzare un circuito che implementa la tabella della verità sotto riportata.
● Rendere il circuito sequenziale.
● Calcolare complessità e cammino critico della logica combinatoria.
● Calcolare complessità e cammino critico di tutto il circuito.
● Dimensionare correttamente il clock.

Potrebbero piacerti anche