Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B...

18
Flip-flop e Registri

Transcript of Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B...

Page 1: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Flip-flope

Registri

Page 2: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Flip-flop S-R (Set-Reset) o bistabile(macchina asincrona)

Y1

Y2

1 0

0 0

A

B

AB

S

R

R =1S =0

Y1

Y2

S

R

1

0 1

0

1

0

0

0 1

R =0S =1

1

10

0

0

1

1

Tabella verità NOR

•Se un ingresso è uguale ad 1

allora l’uscita vale 0•Se un ingresso è uguale a 0

allora l’uscita è uguale al valore dell’altro

ingresso negato

Page 3: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Bistabile (cont.) il termine bistabile nasce dal fatto che sono “circuiti” con

due stati stabili

Y1

Y2

S

R

R =0S =0

Y1

Y2

S

R

00

0

0 1

R =0S =0

0

10

0

0

1

1

Page 4: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Equazioni bistabile

• Q’ prossimo stato

Q

QS

R

Q’ = S+ RQ

00 01 11 10

0 0 0 x 1

1 1 0 x 1

SRQ

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 d.c.c.

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 d.c.c.

Q S R Q’

Page 5: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Caratteristiche

La configurazione di ingresso S=R=1 non è ammessa, poiché se da questa si passa a S=R=0 sono possibili due configurazioni per l’uscita. La configurazione effettiva non è cioè prevedibile

S R Q’0 0 Q0 1 01 0 11 1 ?

R

S

Q

Q

HoldResetSet

Con S=R=0 il bistabile mantiene (hold) lo stato acquisito in precedenza (Q’=Q)Questa rete è cioè in grado di memorizzare una informazione elementare (bit)

Page 6: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Segnale di sincronizzazione• Un segnale di sincronizzazione è una variabile binaria che viene utilizzata per

abilitare la commutazione di un flip-flop (sincronizzato)• L’abilitazione alla commutazione può essere fatta:

– all’istante in cui avviene la commutazione della variabile da 0 ad 1 (fronte di salita);– All’istante in cui avviene la commutazione della variabile da 1 a 0 (fronte di discesa)– Nel periodo in cui è stabile ad 1 oppure a 0 (a livello)

Fronte di discesa

Fronte di salita

1

0

•nella realtà le transizioni 0->1 e 1->0 non sono istantanee

Page 7: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Segnale di sincronizzazione (cont.)

Fronte di discesa

Fronte di salitaPeriodo T

1

0

•Alcune volte il segnale di abilitazione per la commutazione può avere un comportamento periodico (periodo T), in questi casi viene chiamato anche clock (CK)

•Spesso il segnale di abilitazione per la commutazione viene identificato con CK anche se non ha un comportamento periodico

Page 8: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Flip-flop (bistabili) sincronizzati• Sono ottenuti dai bistabili asincroni aggiungendo un segnale di

controllo CK• Abilitazione sul livello (Level-triggered), chiamati Latch

– L’uscita può cambiare durante tutto il periodo in cui CK=1 o 0.• Abilitazione sul fronte di salita (positive edge triggered)

– L’ingresso viene considerato solo quando CK varia da 0 ad 1 e lo stato può cambiare in corrispondenza di tale transizione

• Abilitazione sul fronte di discesa (negative edge triggered)– L’ingresso viene considerato solo quando CK varia da 1 a 0 e lo

stato può cambiare in corrispondenza di tale transizione• Master-Slave

– L’ingresso viene considerato solo quando CK varia da 0 ad 1, mentre l’uscita cambia in corrispondenza della transizione 1->0

– Eventuali cambiamenti dell’ingresso dopo la transizione 0->1 sono ignorati dal circuito

Page 9: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Esempio, Latch S-R

R

S

Q

Q

CK

R Q

QS

CK

0 0 0 Q

0 0 1 Q

0 1 0 Q

0 1 1 ?

1 0 0 Q

1 0 1 0

1 1 0 1

1 1 1 ?

CK S R Q’

Quando CK=1 allora si ha il consenso alla transizione

Page 10: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Perché abilitare sui fronti?

• Sia il tempo in cui CK=1 e il tempo di commutazione del FF• Si supponga che >• L’uscita può cambiare più volte se l‘ingresso varia e questo in

alcuni casi può creare problemi

FF1 FF2

CK

S

R

Q1 Q2

CK

Q1

Ritardo di propagazione

S

R

Page 11: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Abilitazione sul fronte

Usando FF con abilitazione sul fronte (di salita o di discesa) si campiona il valore delle altre variabili di ingresso in un intervallo più ristretto (teoricamente di ampiezza nulla).

CK

S

R

Q1 Q2

CK

Q1

Ritardo di propagazione

S

R

Campionamento sul fronte di salita

Page 12: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Flip/flop D (delay)latch

• Un solo ingresso più uno di abilitazione• Usato come unità elementare di memorizzazione

– Presenta in uscita ciò che è presente in ingresso quando il CK = 1, altrimenti presenta l’ultimo valore di D quando il CK commuta da 1 a 0.

R Q

S

CK

Q

D

CK

D Q

D

CK

Q

Page 13: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Master-Slave

. L’ingresso viene campionato durante il fronte di salita, l’uscita commuta in corrispondenza del fronte di discesa.

S

CK

Q

Q

S

R

CK

Q

QR

S

CK

Master Slave

R

Page 14: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

RegistriRegistri• Un registro è un elemento di memoria

– in grado di memorizzare un insieme di n bit– composto da un insieme di flip-flop– l’informazione memorizzata in un registro prende il

nome di parola

bit in ingresso

bit in uscita

Page 15: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Registri

• Modalità di scrittura/lettura dei dati– Parallelo– Seriale

• Operazioni sui dati:– Scorrimento a destra– Scorrimento a sinistra– Scorrimento circolare

Page 16: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Registro parallelo-parallelo

D Q D Q D Q

D0 D1 D3

Q0 Q1 Q3

Clock

D Q

D2

Q2

Page 17: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Shift register

D Q D Q D QD Q

CLOCK

D Q

Page 18: Flip-flop e Registri. Flip-flop S-R (Set-Reset) o bistabile (macchina asincrona) Y1Y1 Y2Y2 10 00 A B A B S R R =1 S =0 Y1Y1 Y2Y2 S R 1 01 0 1 0 0 0 1.

Registro circolare (n=4)

D Q D Q D Q

D0 D1 D3

Q

Clock

D Q

D2

Write/ReadScrivi/Scorri