I Circuiti Sequenziali ed i Flip/Flop Algoritmi e Strutture Dati 18/04/2018 I Circuiti Sequenziali ed i Flip/Flop
Algoritmi e Strutture Dati 18/04/2018 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 E’ un circuito con memoria
Algoritmi e Strutture Dati 18/04/2018 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) Algoritmi e Strutture Dati 18/04/2018 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 Algoritmi e Strutture Dati 18/04/2018 Tavola caratteristica del flip-flop S-R S R Stato attuale Prossimo stato 1 - Stabilità Reset Set Input non permessi
Stabilità del flip-flop Algoritmi e Strutture Dati 18/04/2018 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
Algoritmi e Strutture Dati 18/04/2018 Stabilità dello stato 0 Siano R=S=Q=0 La porta NOR in basso dà in output 1 1 L’output della porta in basso viene portato come input alla porta NOR in alto 1 Che quindi, mantiene lo stato Q uguale a 0
Algoritmi e Strutture Dati 18/04/2018 Stabilità dello stato 1 Siano R=S=0 e Q=1 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 1 Che quindi, mantiene lo stato Q uguale a 1
Tavola caratteristica del flip-flop S-R Algoritmi e Strutture Dati 18/04/2018 Tavola caratteristica del flip-flop S-R S R Stato attuale Prossimo stato 1 - Reset
Comportamento con il Reset (1) Algoritmi e Strutture Dati 18/04/2018 Comportamento con il Reset (1) Siano S=Q=0 e R=1 1 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 1 Che quindi, mantiene lo stato Q a 0
Comportamento con il Reset (2) Algoritmi e Strutture Dati 18/04/2018 Comportamento con il Reset (2) Siano R=Q=1 e S=0 La porta NOR in basso dà in output 0 1 1 La porta NOR in alto dà in output 0 1
Comportamento con il Reset (2) Algoritmi e Strutture Dati 18/04/2018 Comportamento con il Reset (2) Siano R=Q=1 e S=0 La porta NOR in basso dà in output 0 1 1 X La porta NOR in alto dà in output 0 L’output della porta in basso diventa 1 e viene portato come input alla porta NOR in alto 1 X lo stato Q del F/F è cambiato a 0
Tavola caratteristica del flip-flop S-R Algoritmi e Strutture Dati 18/04/2018 Tavola caratteristica del flip-flop S-R S R Stato attuale Prossimo stato 1 - Set
Comportamento con il Set (1) Algoritmi e Strutture Dati 18/04/2018 Comportamento con il Set (1) Siano R=Q=0 e S=1 1 X 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 1 X 1 Che quindi, cambia lo stato Q da 0 a 1
Comportamento con il Set (2) Algoritmi e Strutture Dati 18/04/2018 Comportamento con il Set (2) Siano R=0 e Q=S=1 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 1 1 Che quindi, mantiene lo stato Q a 1
Tavola caratteristica del flip-flop S-R Algoritmi e Strutture Dati 18/04/2018 Tavola caratteristica del flip-flop S-R S R Stato attuale Prossimo stato 1 - Stabilità Reset Set Input non permessi
Algoritmi e Strutture Dati 18/04/2018 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
Algoritmi e Strutture Dati 18/04/2018 Applichiamo un Set.. Sia R=Q=0, e quindi Mettiamo S=1. 1 X 0 X 1 1 1 X
Algoritmi e Strutture Dati 18/04/2018 ..ed un Reset Sia S=0, Q=1, e quindi Mettiamo R=1. 1 X 0 X 1 Sia S=0, Q=1 e quindi Mettiamo R=1. 1 X 1X 1
Flip-flop S-R temporizzato Algoritmi e Strutture Dati 18/04/2018 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
Algoritmi e Strutture Dati 18/04/2018 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
Algoritmi e Strutture Dati 18/04/2018 Registri paralleli Circuito usato dalla CPU per memorizzare dati
Struttura di un registro parallelo Algoritmi e Strutture Dati 18/04/2018 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) Algoritmi e Strutture Dati 18/04/2018 Scrittura di un registro parallelo (1) Vogliamo scrivere 7410 = 010010102 Per prima cosa azzeriamo il registro A questo punto tutti i flip-flop sono azzerati
Scrittura di un registro parallelo (3) Algoritmi e Strutture Dati 18/04/2018 Scrittura di un registro parallelo (3) Scriviamo 7410 = 010010102 1 Abilitiamo l’input I flip-flop ricevono il segnale di Set adeguato I flip-flop che devono memorizzare 1 hanno stato Q=1
Lettura di un registro parallelo Algoritmi e Strutture Dati 18/04/2018 Lettura di un registro parallelo Abilitiamo l’output In output si hanno gli stati dei flip-flop 1