I Circuiti Sequenziali ed i
Flip/Flop
Circuiti sequenziali
Un circuito combinatorio è
Una rete di porte logiche il cui output è funzione solo dell’input corrente (cioè non dipende dai precedenti input).
In altre parole è un circuito senza memoria
Un circuito sequenziale è
Una rete di porte logiche il cui output dipende non solo
dall’input corrente, ma anche dai precedenti input
Flip-Flop
Tra i più semplici circuiti sequenziali:
è un circuito bistabile
può assumere uno tra due stati possibili (Stato 0 e Stato 1)
ha due input
Un input Set che forza il F/F allo stato 1
Un input Reset che forza il F/F allo stato 0
ha due output
Un output Q che indica lo stato attuale del F/F
Un output Q negato
Flip-flop S-R (latch S-R)
Bistabile:
stati 1 e 0 (indicati da Q)
Due input S e R:
S (sta per Set) serve a impostare a 1 lo stato del F/F
R (sta per Reset) serve ad impostare a 0 lo stato del F/F
La retroazione (feedback)
Tavola caratteristica del flip-flop S-R
S R Stato
attuale
Prossimo stato
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 - -
1 1 - -
Stabilità Stabilità
Reset Reset
Set Set
Input non permessi
Input non permessi
Stabilità del flip-flop
Si deve provare che
lo stato del flip-flop (indicato dalla linea Q) non cambia se sia i segnali di Set e di Reset sono a zero
Necessario provare che
lo stato Q=0 e lo stato Q=1 sono stabili
Stabilità dello stato 0
•
Siano R=S=Q=0
• La porta NOR in basso dà in output 1
• L’output della porta in basso viene portato come input alla porta NOR in alto
• Che quindi, mantiene lo stato Q uguale a 0
00 00
00
00
11 11
Stabilità dello stato 1
•
Siano R=S=0 e Q=1
• La porta NOR in basso dà in output 0
• L’output della porta in basso viene portato come input alla porta NOR in alto
• Che quindi, mantiene lo stato Q uguale a 1
11 00
00
11
00 00
Tavola caratteristica del flip-flop S-R
S R Stato
attuale
Prossimo stato
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 - -
1 1 - -
Reset
Reset
Comportamento con il Reset (1)
•
Siano S=Q=0 e R=1
• La porta NOR in basso dà in output 1
• L’output della porta in basso viene portato come input alla porta NOR in alto
• Che quindi, mantiene lo stato
00 11
00
00
11 11
Comportamento con il Reset (2)
•
Siano R=Q=1 e S=0
• La porta NOR in basso dà in output 0
11 11
00
11
00 00
• La porta NOR in alto dà in
output 0
Comportamento con il Reset (2)
• L’output della porta in basso diventa 1 e viene portato
come input alla porta NOR in alto
• La porta NOR in alto dà in output 0
00 11
00
00
1 1 XX 1 1 XX00
00
• La porta NOR in basso dà in output 0
•
Siano R=Q=1 e S=0
Tavola caratteristica del flip-flop S-R
S R Stato
attuale
Prossimo stato
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 - -
1 1 - -
Set Set
Comportamento con il Set (1)
•
Siano R=Q=0 e S=1
• L’input alla porta NOR in basso dà in output 0
• L’output della porta in basso viene portato come input alla porta NOR in alto
• Che quindi, cambia lo stato Q da 0 a 1
00 00
11
00
00
00 1 X1 X
1 X1 X
Comportamento con il Set (2)
•
Siano R=0 e Q=S=1
• L’input alla porta NOR in basso dà in output 0
• L’output della porta in basso viene portato come input alla porta NOR in alto
• Che quindi, mantiene lo stato Q a 1
11 00
11
11
00 00
Tavola caratteristica del flip-flop S-R
S R Stato
attuale Prossimo stato
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 - -
Stabilità Stabilità
Reset Reset
Set Set
Input non permessi
Input non permessi
Ritardi
Necessario considerare il ritardo con cui il flip-flop reagisce agli input (raggiungendo uno stato stabile)
Vediamo un esempio in cui applichiamo un Set e poi
un di Reset ad un flip-flop che si trova in stato Q=0
Applichiamo un Set..
• Sia R=Q=0, e quindi
• Mettiamo S=1.
00 00
00
00
0 0 XX 0 X0 X 1 1 XX
1 X1 X
1 Q
11 11
1 1 XX
•
Sia S=0, Q=1, e quindi
•
Mettiamo R=1.
..ed un Reset
Sia S=0, Q=1 e quindi
Mettiamo R=1.
11 00
00
11
1 1 XX 1X1X 0 0 XX
0 0 XX
0 Q
00 00
1 X1 X
Flip-flop S-R temporizzato
Dato il ritardo con cui il flip-flop reagisce..
.. è necessario sincronizzare gli eventi
Si usa un impulso di clock
i cambiamenti avvengono solamente quando il clock è a 1
Flip-flop D
Un problema con il flip-flop S-R
l’input S=R=1 deve essere evitato
Una soluzione: il flip-flop D
un unico input che viene dato al flip-flop
l’output del flip-flop D è l’input precedentemente dato
Registri paralleli
•
Circuito usato dalla CPU per memorizzare dati
Struttura di un registro parallelo
Usa flip-flop S-R
Usa una linea per abilitare l’input
scrittura del registro
..ed una linea per abilitare l’output
lettura del registro
Linea per azzeramento
Scrittura di un registro parallelo (1)
•
Vogliamo scrivere 74
10= 01001010
2• Per prima cosa azzeriamo il registro
• A questo punto tutti i
flip-flop sono azzerati
Scrittura di un registro parallelo (3)
•
Scriviamo 7410
•
= 01001010
2• Abilitiamo l’input
• I flip-flop ricevono il segnale di Set adeguato
• I flip-flop che devono memorizzare 1 hanno stato Q=1
11 11
1 1 0
0 00 00 00 00
Lettura di un registro parallelo
• Abilitiamo l’output
• In output si hanno gli stati dei flip-flop
11 11
11
00 00 00 00 00