Post on 24-Feb-2019
Argomenti
• Circuiti sequenziali
• Flip-flop
– D, JK
• Analisi dei circuiti sequenziali
• Progettazione dei circuiti sequenziali
Sistemi Digitali
• I circuiti digitali finora considerati sono circuiti combinatori.
• Molti sistemi digitali includono:
– sia parti realizzate con circuiti combinatori;
– sia elementi di memoria descritti come circuiti
sequenziali in grado di immagazzinare
informazioni binarie.
Circuiti Sequenziali
• Un circuito sequenziale:
– riceve informazioni binarie dall’ambiente esterno,
attraverso gli ingressi;
– insieme allo stato presente memorizzato negli
elementi di memoria, determina il valore delle uscite e lo stato futuro.
• Quindi, l’uscita di un circuito sequenziale è
funzione:
– sia degli ingressi;
– sia dello stato presente.
Elementi di Memoria
• Latch
– elementi di memoria di base usati nella
realizzazione dei flip-flop.
• Flip-flop
– elementi di memoria nei circuiti sequenziali con
ingresso di clock.
– possono cambiare stato soltanto in presenza di
un impulso di clock (sincroni).
Tipi di flip-flop
• I due tipi di flip-flop più diffusi sono D e JK.
• Sono rappresentati graficamente da un blocco rettangolare
con ingressi a sinistra e uscite a destra:
– D, J e K si riferiscono agli ingressi binari;
– C si riferisce al ingresso di clock;
– Q si riferisce allo stato standard;
– Q’ si riferisce all’uscita complementata.
Il comportamento dei flip-flop
• Una tabella di caratteristica definisce le proprietà logiche di un flip-flop:– Q(t) si riferisce allo stato presente;
– Q(t+1) si riferisce allo stato futuro;
! t si riferisce all’istante di applicazione dell’impulso di clock.
• Nella tabella, lo stato futuro Q(t+1) èdescritto come una funzione degli ingressi (D oppure J e K) e dello stato presente Q(t).
Tabelle caratteristiche
• Lo stato futuro di un flip-flop D dipende soltanto dall’ingresso D, ed è indipendente dallo stato presente:
Q(t+1) = D(t)
Tabelle caratteristiche
• Lo stato futuro di un flip-flop JK dipende dagli ingressi J e K:
– uguale allo stato presente quando J=0 e K=0;
– è 0 quando J=0 e K=1;
– è 1 quando J=1 e K=0;
– uguale allo stato complemento dello stato presente quando J=1 eK=1.
→ Q(t+1) può essere descritto da J(t)Q’(t) + K’(t)Q(t).
Procedura d’analisi
• L’obiettivo dell’analisi di un circuito sequenziale èdare una descrizione dell’evoluzione temporale degli ingressi, delle uscite e dello stato.
• Un circuito sequenziale è composto da:– uno o più flip-flop;
– una rete combinatoria.
• La parte del circuito combinatorio che genera i segnali applicati agli ingressi dei flip-flop può essere descritta da funzioni booleane denominate equazioni d’ingresso ai flip-flop.
• A partire dallo schema circuitale, il processo d’analisi individua:
– le equazioni d’ingresso ai flip-flop;
– la tabella di stato oppure il diagramma di stato
per descrivere il funzionamento del circuito
sequenziale.
Procedura d’analisi
Esercitazione 1• Analizzare il circuito seguente. Determinare le equazioni
d’ingresso DA e DB ai flip-flop, l’uscita Y, e la tabella/il
diagramma di stato del circuito.
Esercitazione 1
• Poiché ci sono 2 flip-flop, si utilizzano dei pedici per distinguere tra le due equazioni d’ingresso. DA
DB
Esercitazione 1
• Le equazioni d’ingresso sono ottenute analizzando
la parte combinatoria:
– DA = AX+BX
– DB = A’X
• Similmente:
– Y = (A+B)X’
DA
DB
Esercitazione 1
• La tabella di stato è formata da 4 sezioni:– stato presente, ingresso, stato futuro, uscita
• Nella parte stato presente:– tutti i possibili stati per i flip-flop all’istante t.
• Nella parte ingresso:– i possibili valori degli ingressi per ogni possibile stato
presente.
• Nella parte stato futuro:– i possibili stati dei flip-flop all’istante t+1.
• Nella parte uscita:– i valori delle uscite all’istante t per ogni combinazione
dello stato presente e degli ingressi.
Esercitazione 1
• La tabella elenca tutte le combinazioni dello stato presente e degli ingressi.
• Lo stato futuro è ottenuto dalle equazioni d’ingresso:
A(t+1) = DA = AX + BX B(t+1) = DB = A’X
• L’uscita Y è ottenuta dall’espressione Y = (A+B)X’
Esercitazione 1
• Una rappresentazione alternativa della tabella separa gli stati futuri, a seconda del valore dell’ingresso.
Esercitazione 1
• Le informazioni disponibili nella tabella di stato possono essere rappresentate graficamente in forma di diagramma di stato:
– stati presenti sono rappresentati da cerchi;
– le transizioni tra gli stati sono indicate da archi
orientati;
– gli archi sono etichettati con gli ingressi e le
uscite.
Analisi con flip-flop JK
• Nel caso del flip-flop D, i valori dello stato futuro sono ottenuti direttamente dalle equazioni d’ingresso.
• L’analisi con flip-flop JK invece richiede più passaggi.
Analisi con flip-flop JK
1. Tramite le equazioni d’ingresso, determinare i valori degli ingressi ai flip-flop per tutte le combinazioni dello stato
presente e degli ingressi.
2. Utilizzare la tabella caratteristica del flip-flop JK per
determinare lo stato futuro.
Esercitazione 2
• Analizzare il circuito sequenziale, con due flip-flop JK, indicati con A e B, un ingresso X e le seguenti equazioni di ingresso ai flip-flop:
– JA = B
– JB = X’
– KA = BX’
– KB = AX’ + A’X
Esercitazione 2
Present state Input Flip-flop inputs Future state
A B JA KA JB KBX A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0 0 1 0
0 0 0 1
1 1 1 0
1 0 0 1
0 0 1 1
0 0 0 0
1 1 1 1
1 0 0 0
0 1
0 0
1 1
1 0
1 1
1 0
0 0
1 1
• La tabella elenca tutte le combinazioni dello stato presente e degli ingressi, come prima.
• Si derivano i valori di JA, KA, JB, KB utilizzando le equazioni d’ingresso.
• Si derivano i valori dello stato futuro, utilizzando la tabella caratteristica.
Progettazione di circuiti sequenziali
• La progettazione dei circuiti sequenziali:
– parte dalla descrizione verbale del problema;
– si conclude con un diagramma logico o un elenco di
funzioni booleane da cui il diagramma può essere ottenuto.
• Abbiamo visto che un circuito sequenziale è definito
da una tabella di stato.
→ Il primo passo della procedura di progettazione ha
lo scopo di ottenere la tabella o il diagramma di stato
del circuito voluto.
Esercitazione 3
• Costruire il diagramma di stato e la tabella di stato di un circuito che deve riconoscere le sequenze di bit 1101 all’interno di una sequenza più lunga.
• Gli stati di un circuito sequenziale sono utilizzati per
ricordare la storia degli ingressi precedenti.
• Nel nostro caso, il valore dell’uscita è 1 quando si
incontra una sottosequenza 1101.
→ Quando si incontra un 1, occorre assicurarsi che gli
ingressi precedenti siano stati 110 per restituire 1.
Esercitazione 3
Esercitazione 3
• Il diagramma ha 4 stati per ricordare la sottosequenza 1101.
• Il circuito:
– si trova nello stato A all’inizio;
– si porta dallo stato A allo stato B con l’ingresso 1.
– si porta dallo stato B allo stato C con l’ingresso 1.
– si porta dallo stato C allo stato D con l’ingresso 0.
– si porta dallo stato D allo stato B con l’ingresso 1.
→ si trova nello stato B per ogni sottosequenza riconosciuta.
La procedura di progettazione
(segue)
Una volta ottenuta la tabella di stato:
1. Assegnare codici binari agli stati denominati da
lettere.
2. Derivare le equazioni d’ingresso ai flip-flop.
3. Derivare le equazioni di uscita dalle colonne
relative alle uscite.
4. Semplificare le equazioni d’ingresso e di uscita
tramite K-mappe.
5. Disegnare il diagramma logico utilizzando flip-flop.
Esercitazione 4
• Progettare un circuito sequenziale che operi secondo la tabella di stato della esercitazione 3. Utilizzare flip-flop D.
Esercitazione 4
A(t+1) = DA (A,B,X) = Σ m(3,6,7)
B(t+1) = DB (A,B,X) = Σ m(1,3,5,7)
Z(A,B,X) = Σ m(5)
2. Derivare le equazioni d’ingresso ai flip-flop dalle colonne relative allo stato futuro.
3. Derivare le equazioni di uscita dalle colonne relative alle
uscite.
Esercitazione 4
DA (A,B,X) = Σ m(3,6,7)
DB (A,B,X) = Σ m(1,3,5,7)
Z(A,B,X) = Σ m(5)
4. Semplificare le equazioni d’ingresso e di uscita tramite K-mappe.
Esercitazione 4
5. Disegnare il diagramma logico utilizzando flip-flop.
DA = AB + BX
DB = X
Z = AB’X
Progettazione con stati
non utilizzati
• Un circuito con n flip-flop può avere fino a 2n
stati binari distinti.
• Una tabella di stato può pertanto avere m stati dove m ≤ 2n.
• Gli stati non utilizzati (2n-m) non sono riportati nella tabella, ma possono essere trattati come condizioni di non-specificazione durante la semplificazione delle equazioni.
Esercitazione 5
• Progettare un circuito sequenziale che opera secondo la tabella di stato seguente, utilizzando flip-flop D.
Esercitazione 5
1. Gli stati sono già indicati con codici binari.
2. Derivare le equazioni d’ingresso ai flip-flop:
DA = Σ m(5,7,8,9,11), DB = Σ m(3,4), DC = Σ m(2,4,6,8,10)
3. Non ci sono uscite.
Esercitazione 5
4. Semplificare le equazioni d’ingresso tramite K-mappe.
• Tre stati (000), (010), (111) non sono utilizzati e non sono inclusi nella tabella.
• Considerando l’ingresso X, ci sono 6 possibili combinazioni non utilizzate per lo stato presente e gli ingressi:
0000, 0001, 1100, 1101, 1110, 1111
possono essere trattate come mintermini non-specificati
Esercitazione 5
4. Semplificare le equazioni d’ingresso tramite K-mappe.
• Includendo le condizioni di non-specificazione nelle mappe:
Progettazione con flip-flop JK
• Nel caso del flip-flop D, le equazioni d’ingresso sono ottenute direttamente dalle colonne relativo allo stato futuro.
• La procedura di progettazione con flip-flop JK invece richiede più lavoro:
– specificatamente, le equazioni d’ingresso sono
ricavate utilizzando tabelle di eccitazione.
Tabelle di eccitazione
• Le tabelle caratteristiche forniscono i valori dello stato futuro, dati i valori degli ingressi e dello stato presente.
• In una tabella di stato, sono note le transizioni dagli stati presenti agli stati futuri, ma non sono presenti le condizioni d’ingresso ai flip-flop che danno luogo a tali transizioni.
• Le tabelle di eccitazione però forniscono tali informazioni:– indicando quali ingressi sono necessari da applicare per
generare una determinata transizione.
Tabelle di eccitazione
+
+
Lo stato non cambia e rimane 0. O J=0 e K=0 oppure J=0 e K=1.
Lo stato cambia da 0 a 1. O J=1 e K=0 oppure J=1 e K=1.
Progettazione con flip-flop JK
(segue)
→ La procedura di progettazione dei circuiti
sequenziali con flip-flop JK è la stessa per i circuiti
con flip-flop D, tranne il secondo passaggio:
– i valori degli ingressi ai flip-flop sono determinati secondo la tabella di eccitazione;
– le equazioni d’ingresso sono ricavate dalle colonne degli
ingressi ai flip-flop.
Esercitazione 6
Present state Input Future state
A B X A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0 0
0 1
1 0
0 1
1 0
1 1
1 1
0 0
• Progettare un circuito sequenziale che opera
secondo la tabella di stato seguente, utilizzando
flip-flop JK.
Esercitazione 6
Present state Input Flip-flop inputsFuture state
A B JA KA JB KBX A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0 X 0 X
0 X 1 X
1 X X 1
0 X X 0
X 0 0 X
X 0 1 X
X 0 X 0
X 1 X 1
0 0
0 1
1 0
0 1
1 0
1 1
1 1
0 0
1. Gli stati sono già indicati con codici binari.
2. a) Derivare gli ingressi ai flip-flop.
2. b) Derivare le equazioni d’ingresso ai flip-flop:
JA=Σ m(2,4,5,6,7) KA=Σ m(0,1,2,3,7) JB= Σ m(1,2,3,5,6,7) KB=Σ m(0,1,2,4,5,7)
3. Non ci sono uscite.
Present state Input Flip-flop inputsFuture state
A B JA KA JB KBX A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0 X 0 X
0 X 1 X
1 X X 1
0 X X 0
X 0 0 X
X 0 1 X
X 0 X 0
X 1 X 1
0 0
0 1
1 0
0 1
1 0
1 1
1 1
0 0
Esercitazione 6
Esercitazione 6
XX
A
BX
0
1
1100 01 10
1
X X
X X
A
BX
0
1
1100 01 10
X X
1
1
1
ABX
0
1
1100 01 10
X X
X X
X X
XX
ABX
0
1
1100 01 10
1
JA= B X’ KA= B X
KB= AX + A’X’JB= X
1
4. Semplificare le equazioni d’ingresso tramite K-mappe.