50
Esercitazioni di Reti Logiche Lezione 5 Circuiti Sequenziali Zeynep KIZILTAN [email protected]

Esercitazioni di Reti Logiche Lezione 5 - cs.unibo.itdallago/AE0607/09_ESERCIZI.pdf · lo scopo di ottenere la tabella o il diagramma di stato del circuito voluto. Esercitazione 3

  • Upload
    lediep

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Esercitazioni di Reti Logiche

Lezione 5

Circuiti Sequenziali

Zeynep KIZILTAN

[email protected]

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.

Esercitazione 1

Esercitazione 1

Esercitazione 1

Stato presente Stato futuro

ingresso uscita

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.

Esercitazione 3

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

1. Assegnare codici binari agli stati denominati da lettere.

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.

X

Clock

A

A

B

B

Esercitazione 6

5. Disegnare il diagramma logico utilizzando flip-flop.