Circuiti di memorizzazione elementari: i Flip Flop.

47
Circuiti di memorizzazione elementari: i Flip Flop

Transcript of Circuiti di memorizzazione elementari: i Flip Flop.

Page 1: Circuiti di memorizzazione elementari: i Flip Flop.

Circuiti di memorizzazione

elementari: i Flip Flop

Page 2: Circuiti di memorizzazione elementari: i Flip Flop.

Circuiti di memoria elementari: Flip Flop (o bistabili)

• Il circuito sequenziale basilare é il Flip Flop, un circuito in grado di memorizzare un bit di informazione. Il Flip Flop prende anche il nome di bistabile, poiché può trovarsi in due stati stabili: lo stato in cui ha memorizzato un 1 e quello in cui ha memorizzato uno 0.

Page 3: Circuiti di memorizzazione elementari: i Flip Flop.

FF SR con porte NAND

S

R

Q

Q

Set(t) Reset(t) Uscita Q(t)

1 1 1 1 0 1 1 1 0 0 0 0 0

Q(t-1) (immutata)

1

0

non ammessa

Q=1 Q=0

1,0

0,1

0,0 0,1

1,0 0,0

Page 4: Circuiti di memorizzazione elementari: i Flip Flop.

Effetto dell’impulso negativo di Set

1

0

1

S

R

Q

Q

1

0

Notate che, al termine dell’impulso

di set, Q rimane ad uno!

Page 5: Circuiti di memorizzazione elementari: i Flip Flop.

Ma se Q(t) fosse stato 1?

1

0

1

S

R

Q

Q

1

0 Q e Q sarebbero rimasti immutati!!

Page 6: Circuiti di memorizzazione elementari: i Flip Flop.

Quindi:

• Nel FF con porte nand, se in t Q=0,Q=1 allora un impulso negativo di Set porta Q(t+1) al valore 1

• Se invece in t Q=1 , Q=0 allora Q(t+1) resta al valore uno

• Perciò: un impulso di set ha comunque l’effetto Q(t+1)=1

Page 7: Circuiti di memorizzazione elementari: i Flip Flop.

Analogamente:

• Un impulso di Reset porta, o mantiene, Q(t+1) al valore 0. Quindi:

Q=0

Q=1

R=0,S=1R=0,S=1

R=1,S=0

R=1,S=0

Page 8: Circuiti di memorizzazione elementari: i Flip Flop.

Vediamo ora le altre combinazioniS=1

R=1

1

1 1

1

0

0

0

1

1 0

1

1

Per S=R=1 lo stato del FF non cambia!

Page 9: Circuiti di memorizzazione elementari: i Flip Flop.

La combinazione S=R=0 (doppio impulso) genera uno stato non

stabile

0

1

In (t+1) sia Q che Q transitano a 1!!

1

1

Quando R e S tornano nella condizione di riposo (1,1) gli input degli AND diventano 11, e Q e Q di nuovo transitano entrambi a 0..

0

0

1

1

Page 10: Circuiti di memorizzazione elementari: i Flip Flop.

FF con porte NOR

S

R

Q

Q

SR Q(t)00 Q(t-1)01 110 0

11 np

Il comportamento è lo stesso, ma il FF cambia stato in corrispondenzadegli impulsi positivi. Un doppio impulso SR crea uno stato instabile.

Page 11: Circuiti di memorizzazione elementari: i Flip Flop.

Diagrammi temporali e sincronizzazione

• Per rappresentare un FF abbiamo a disposizione, come visto:

lo schema circuitale (porte logiche con controreazione) il simbolo grafico l'automa la tabella degli stati.

• Esiste anche un'altra modalità di analisi, che é il diagramma temporale.– Il diagramma temporale consente di rappresentare le commutazioni

delle uscite di un FF, o di un circuito più complesso, in funzione dell'andamento temporale ingressi.

Page 12: Circuiti di memorizzazione elementari: i Flip Flop.

Sistemi sincroni• I sistemi sequenziali possono operare in modo

sincrono o asincrono. Nei sistemi asincroni i circuiti logici cambiano ogni

volta che uno o più ingressi cambiano. Nei sistemi sincroni, l'istante esatto in cui una

qualsiasi uscita può cambiare é determinato da un segnale di "cadenza" detto clock.

Un clock é un treno di impulsi ad onda quadra. Un sistema sincrono può essere sensibile alle

transizioni (o fronti) positivi (01) del clock, oppure ai fronti negativi (10).

Page 13: Circuiti di memorizzazione elementari: i Flip Flop.

R

S R

Diagramma temporale di un FF SR asincrono

Page 14: Circuiti di memorizzazione elementari: i Flip Flop.

FF D (Delay) sincrono

D

ck

D=0 Q(t+1)=0

D=1 Q(t+1)=1

Q “segue” D con un ritardo (Delay)

Il ritardo dipende

dal clock

D

clock

Q

Q

Q

Page 15: Circuiti di memorizzazione elementari: i Flip Flop.

Delay=SR

D

Ck

=

R=not(S)

D

Page 16: Circuiti di memorizzazione elementari: i Flip Flop.

FF JK

S0 S1

(0,0), (0,1)(0,0), (1,0)

(1,1) (1,0)

(1,1), (0,1)

Q=0Q=1

J

K

J K

0 0

0 1

1 0

1 1

Q(t+1)

Q(t)

0

1

not(Q(t))

Page 17: Circuiti di memorizzazione elementari: i Flip Flop.

J

K

Q

Q

CK

X

X

X

X

X

X

J

K

CK

Q

Diagramma temporale JK sincrono

Page 18: Circuiti di memorizzazione elementari: i Flip Flop.

FF Toggle

T

00

1

1

Q0

Q=0

Q1

Q=1

T(t) Q(t)

0

1

Q(t-1)

Q(t-1) (toggle)

Page 19: Circuiti di memorizzazione elementari: i Flip Flop.

Equivalenza fra i vari tipi di FF

D J

K

T

J

K

=

=

Page 20: Circuiti di memorizzazione elementari: i Flip Flop.

Analisi di circuiti sequenziali

• Dato un circuito sequenziale, descriverne il funzionamento

• Il funzionamento di un circuito sequenziale va descritto in

termini di un automa a stati finiti. Dato lo schema circuitale, dapprima dobbiamo identificare gli

elementi di memoria che vi sono inclusi. In ogni istante, la memoria del sistema, ovvero il valore binario

memorizzato nei FF, indica lo stato in cui il sistema si trova. Per ogni possibile stato e possibile combinazione degli input, da un

esame della parte combinatoria del circuito possiamo determinare i valori delle uscite e il successivo stato in cui il sistema transiterà.

Page 21: Circuiti di memorizzazione elementari: i Flip Flop.

Procedura di Analisi (1)•Si esaminano gli elementi di memoria del circuito, ovvero i FF. I possibili stati del sistema sono rappresentati dalle possibili combinazioni di valori memorizzabili nei FF, e disponibili sulle uscite Qi. Per n FF, avremo 2n combinazioni, e 2n stati.

•Si assegna un simbolo di stato ad ogni combinazione di memoria.

Page 22: Circuiti di memorizzazione elementari: i Flip Flop.

Esempio 1

• Per l'esempio di figura, abbiamo 2 FF, e 4 possibili valori memorizzati su Q1 e Q0: 00,01,10,11. Possiamo ad esempio assegnare la seguente codifica:

S000, S1 01, S2 10, S3 11

Page 23: Circuiti di memorizzazione elementari: i Flip Flop.

Esempio 2

1: 2 FF 8 stati (max) corrispondenti ai valori (Q2Q1Q0) 000 001 010 ….111

2: Assegnamento: S0 000, S1 001, S2 010, S3 0 11S4 100, S5 101, S6 110, S3 111

Page 24: Circuiti di memorizzazione elementari: i Flip Flop.

Procedura di Analisi (2)

•Si analizza la parte combinatoria del circuito e si ricavano le funzioni di trasferimento per ciascun ingresso di ciascun FF contenuto nel circuito, dette anche funzioni di eccitazione dei FF, nonché le funzioni di trasferimento delle uscite.

Page 25: Circuiti di memorizzazione elementari: i Flip Flop.

Esempio

J0 = Q2 Q1 ,K0 = Q2 , J1 = K1 = 1 , J2 = Q0 + Q1, K2 = Q1

Notate: il circuito non hainput, cambia stato solosui fronti di clock

Inoltre, gli outputcoincidono con i Qi

Page 26: Circuiti di memorizzazione elementari: i Flip Flop.

Procedura di Analisi (3)

Si traccia una tabella degli stati futuri, così

composta:

possibili combinazio

ni degli input e

degli stati in t

corrispondenti valori delle funzioni di eccitazione dei FF in t (nel caso di FF JK)

corrispondenti valori delle

uscite in t

stati futuri, ovvero

nuovi valori che saranno memorizzati

in t+1 Qn-1...Q0 Im...I0

Jn-1 Kn-1......J0 K0

Yk..Y0 Qn-1...Q0

Page 27: Circuiti di memorizzazione elementari: i Flip Flop.

Esempio:

000 1

Stato(t) J2(t) K2(t) J1(t) K1(t) J0(t) K0(t) Stato(t+1) S0 S1 S2 S3 S4 S5 S6 S7

1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0

J0 = Q2 Q1 ,K0 = Q2 , J1 = K1 = 1 , J2 = Q0 + Q1, K2 = Q1

S6 S0 S4 S2 S3 S4

S5

S711

Q2Q1Q0(t)Non ci sono input

Q2Q1Q0(t+1)Output=Qi

001010011100101110111

110000100010011100101

Questa parte della tabella si riempiesulla base delle EB

Page 28: Circuiti di memorizzazione elementari: i Flip Flop.

Procedura di Analisi (3)

Stato(t) J2(t) K2(t) J1(t) K1(t) J0(t) K0(t) Stato(t+1) S0 S1 S2 S3 S4 S5 S6 S7

1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0

S7 S6 S0 S4 S2 S3 S4

S5 S5

La prima e ultima colonna rappresentano le transizioni dell’automa

Page 29: Circuiti di memorizzazione elementari: i Flip Flop.

Graficamente:

S0

S7 S5

S3

S4 S2

S1 S6

Come osservato, le transizioni avvengono sui fronti di clock, glioutput coincidono col codice assegnato ad ogni stato, in quanto Qi=oi

Page 30: Circuiti di memorizzazione elementari: i Flip Flop.

Esempio 2

Page 31: Circuiti di memorizzazione elementari: i Flip Flop.

Analisi

1. Due FF di tipo D, 4 stati S0 S1 S2 S3

2. Espressioni booleane degli input

D0 =Cnt ⊕Q0 =Cnt ⋅Q0 +Cnt ⋅Q0

D1 =Cnt ⋅Q1+Cnt ⋅Q1⋅Q0 +Cnt ⋅Q1⋅Q0

Page 32: Circuiti di memorizzazione elementari: i Flip Flop.

Tabella stati futuriQ1Q0Cnt D1 D2 Q1Q0(t+1)

000001010011100101110111

0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0

0001011010111100

D0 =Cnt ⊕Q0 =Cnt ⋅Q0 +Cnt ⋅Q0

D1=Cnt ⋅Q1+Cnt ⋅Q1⋅Q0 +Cnt ⋅Q1⋅Q0

stato input

Page 33: Circuiti di memorizzazione elementari: i Flip Flop.

Automa

Q1Q0

CntD1 D2 Q1Q0

(t+1)

000001010011100101110111

0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0

0001011010111100

S(t),i(t) S(t+1)

Page 34: Circuiti di memorizzazione elementari: i Flip Flop.

Diagramma temporale

Q1Q0

CntQ1Q0(t+1)

000001010011100101110111

0001011010111100

S0 S1 S2 S3 S3

Le frecce rosse indicanole transizioni di stato(sincrone), i ti indicanoeventi (asincroni fra loro)

t5

Page 35: Circuiti di memorizzazione elementari: i Flip Flop.

Circuiti sequenziali importanti

• Contatori: circuiti che contano sequenze ordinate o qualsiasi

• Registri: circuiti per memorizzare e leggere stringhe di bit

Page 36: Circuiti di memorizzazione elementari: i Flip Flop.

Contatore sincrono

Page 37: Circuiti di memorizzazione elementari: i Flip Flop.

J0 =K0 =1

J1 =K1 =Q0

J2 =K2 =Q0 ⋅Q1

J3 =K3 =Q2 ⋅Q0 ⋅Q

..Jn =Kn = Qii=0..n−1

∏Q3Q2Q1Q0

(t)J3K3 J2K2 J1K1 J0K0 Q3Q2Q1Q0

(t+1)

0000000100100011010001010110011100000001001000110100010101100111

00000000000000110000000000000011

00000011000000110000001100000011

00110011001100110011001100110011

11111111111111111111111111111111

0001001000110100010101100111100010011010101111001101111011110000

0 12

3

511 1

0 9 8

4

6

7

12

13

14

15

Page 38: Circuiti di memorizzazione elementari: i Flip Flop.

Divisore di Frequenza

Page 39: Circuiti di memorizzazione elementari: i Flip Flop.

J0 =1

K0 =Q1 = B

J1 =Q0 = A

K1 =Q1 = B

Q1Q0 (t) J1K1 J0K0 Q1Q0 (t+1)

00

01

10

11

00

10

01

11

10

10

11

11

01

11

01

00

ck

00

10 11

01

Page 40: Circuiti di memorizzazione elementari: i Flip Flop.

Q1Q0 (t) Q1Q0 (t+1)

00

01

10

11

01

11

01

00

T

4T

2T

Q0

Q1

ck

Page 41: Circuiti di memorizzazione elementari: i Flip Flop.

Registri

• Classificabili in base alla modalità di scrittura e lettura dei dati:– Serial Input Serial Output (Shift register) SISO– Serial Input Parallel Output SIPO– Parallel Input Serial Output PISO– Parallel Input Parallel Output PIPO

Page 42: Circuiti di memorizzazione elementari: i Flip Flop.

RegistriSerial Input Serial Output (SHIFT REGISTER)

Page 43: Circuiti di memorizzazione elementari: i Flip Flop.

Shift Register (SISO)

Page 44: Circuiti di memorizzazione elementari: i Flip Flop.

Serial Input Parallel Output

Page 45: Circuiti di memorizzazione elementari: i Flip Flop.

Parallel Input Serial Output

Page 46: Circuiti di memorizzazione elementari: i Flip Flop.

Parallel Input Parallel Output

Page 47: Circuiti di memorizzazione elementari: i Flip Flop.

SHIFT LEFT-RIGHT

Di = (Qi+1 ⋅LEFT) ⋅(Qi−1 ⋅RIGHT) = (Qi+1 ⋅LEFT) + (Qi−1 ⋅RIGHT) =Qi+1 ⋅LEFT +Qi−1 ⋅RIGHT

D0 =Q1 ⋅LEFT + Input ⋅RIGHT

Dn = Input ⋅LEFT +Qn−1 ⋅RIGHT