42
Appunti di Elettronica Digitale Appunti di Elettronica Digitale Capitolo 4 - Circuiti sequenziali (parte I) Introduzione ai circuiti sequenziali ............................................................. 1 Circuito bistabile .............................................................................................. 2 Introduzione ............................................................................................... 2 Circuiti di memoria con ingressi ................................................................. 4 Gated latch S-R ........................................................................................ 11 Latch di tipo D ......................................................................................... 12 Latch di tipo J-K....................................................................................... 14 Uso del latch di tipo J-K come divisore di frequenza .......................... 15 Latch di tipo T .......................................................................................... 16 Flip-Flop ........................................................................................................ 18 Introduzione ............................................................................................. 18 Schema logico di un flip-flop di tipo J-K.................................................. 18 Rappresentazione dei flip-flop mediante grafi orientati ............................ 20 Applicazione: riconoscitore di codice (o di sequenze) .............................. 29 I NTRODUZIONE AI CIRCUITI SEQUENZIALI Fino ad ora, abbiamo studiato solo i cosiddetti circuiti combinatori, nei quali l’uscita dipende solo dalla particolare combinazione degli ingressi. Cominciamo invece adesso lo studio dei circuiti sequenziali, nei quali l’uscita è funzione sia della combinazione degli ingressi sia anche dell’istante in cui la osserviamo. Non solo, ma, in ogni istante, l’uscita dipende sia dall’ingresso sia anche dallo stato del circuito nell’istante precedente: in questo senso, diciamo che il circuito ha memoria di quello che è successo negli istanti precedenti. In base a queste considerazioni, possiamo schematizzare un circuito sequenziale come combinazione di un circuito combinatorio e di un circuito di memoria, secondo lo schema seguente:

Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

  • Upload
    others

  • View
    11

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di Elettronica DigitaleAppunti di Elettronica DigitaleCapitolo 4 - Circuiti sequenziali (parte I)

Introduzione ai circuiti sequenziali ............................................................. 1Circuito bistabile.............................................................................................. 2

Introduzione ............................................................................................... 2Circuiti di memoria con ingressi................................................................. 4Gated latch S-R ........................................................................................ 11Latch di tipo D ......................................................................................... 12Latch di tipo J-K....................................................................................... 14

Uso del latch di tipo J-K come divisore di frequenza .......................... 15Latch di tipo T.......................................................................................... 16

Flip-Flop ........................................................................................................ 18Introduzione ............................................................................................. 18Schema logico di un flip-flop di tipo J-K.................................................. 18Rappresentazione dei flip-flop mediante grafi orientati ............................ 20Applicazione: riconoscitore di codice (o di sequenze) .............................. 29

INTRODUZIONE AI CIRCUITI SEQUENZIALI

Fino ad ora, abbiamo studiato solo i cosiddetti circuiti combinatori, nei quali l’uscita dipendesolo dalla particolare combinazione degli ingressi. Cominciamo invece adesso lo studio dei circuitisequenziali, nei quali l’uscita è funzione sia della combinazionedegli ingressi sia anche dell’istante in cui la osserviamo. Non solo,ma, in ogni istante, l’uscita dipende sia dall’ingresso sia anche dallo stato del circuito nell’istanteprecedente: in questo senso, diciamo che il circuito ha memoria di quello che è successo negli istantiprecedenti.

In base a queste considerazioni, possiamo schematizzare un circuito sequenziale comecombinazione di un circuito combinatorio e di un circuito di memoria, secondo lo schema seguente:

Page 2: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli2

Il circuito combinazionale è quello che fornisce le uscite m1 z,....,z dell’intero circuito sequenziale:

tali uscite sono funzioni sia degli ingressi L1 x,....,x veri e propri sia delle uscite n1 y,....,y del circuito

di memoria; quest’ultimo, d’altra parte, produce tali uscite in risposta a delle variabili n1 Y,....,Yprelevate direttamente dal blocco combinazionale.

Il complessivo circuito sequenziale presenta quindi, in totale, L+n ingressi e m+n uscite: L sonogli ingressi veri e propri, nel senso che sono quelli gestibili dall’utente, e m sono le uscite vereproprie, anch’esse utilizzabili dall’utente; le altre variabili, invece, fungono da ingressi ed uscite, manon sono accessibili, in quanto sono interne al circuito.

Prima di passare ad esaminare nel dettaglio i circuiti sequenziali più importanti, soffermiamoci suuna importantissima classificazione di questo tipo di circuiti:

• un circuito sequenziale si dice sincrono quando il suo funzionamento viene regolato da unorologio (il cosiddetto clock), il quale invia, in maniera periodico, un treno di impulsi: questoclock ha la funzione per cui il circuito risente dell’applicazione di unoo più ingressi solo se tale applicazione avviene quandol’impulso di clock è al valore alto (valore logico 1 del clock); ognivariazione dell’ingresso che avviene quando il clock è a 0 non ha alcun effetto sul circuito;

• un circuito sequenziale si dice invece asincrono quando il suo funzionamento è indipendentedagli impulsi di clock.

Come si vedrà meglio in seguito, quasi tutti i circuiti sequenziali hanno un duplicefunzionamento, sincrono e asincrono: ci sono, cioè, degli ingressi che vengono abilitati solo dagliimpulsi di clock (nel senso che agiscono sul circuito solo quando il clock è ad 1) ed altri ingressi cheinvece sono indipendenti dal clock. In generale, comunque, diciamo che i circuiti sequenziali logicihanno bisogno dell’ingresso di clock che si va ad aggiungere agli ingressi logici veri e propri.

Circuito bistabileCircuito bistabile

INTRODUZIONE

Consideriamo un circuito il cui schema logico sia il seguente:

Q

Q

Page 3: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli3

Abbiamo due invertitori collegati in retroazione: l’uscita di ognuno fa da ingresso per l’altro. Ledue uscite sono indicate con i simboli Q e Q : il motivo di questa simbologia è che, quasi sempre,una uscita rappresenta il complemento dell’altra; “quasi sempre” significa che, in particolaricondizioni (che in seguito vedremo), le due uscite possono anche essere uguali tra loro.

Per prima cosa, possiamo verificare che il circuito presenta 2 stati stabili, ossia duecombinazioni delle uscite che si mantengono invariate nel tempo:

• supponiamo, ad esempio, che, ad un certo istante iniziale, risulti Q=0 e 1Q = : è evidente che

questo stato si mantiene stabile, in quanto il valore dell’uscita Q fa sì che 1Q = e questo valore

di Q fa si che Q=0.

• stessa situazione, evidentemente, se all’istante iniziale risulta Q=1 e 0Q = : anche questo stato

si mantiene stabile, in quanto il valore dell’uscita Q fa sì che 0Q = e questo valore di Q fa siche Q=1.

In pratica, il circuito rappresenta una memoria ad 1 bit. Si tratta, in particolare, di unamemoria volatile: come si capirà meglio tra un attimo, tale memoria viene conservata finche ilcircuito è energizzato; quando l’alimentazione viene staccata, tale memoria risulta persa.

Per avere una idea di come si possa fisicamente realizzare un circuito come quello disegnatoprima, basta pensare al seguente schema circuitale, realizzato mediante due transistor bipolari npn:

Q Q

I collettori dei due BJT rappresentano le uscite Q e Q . Il funzionamento del circuito si basa sulpassaggio di ciascun BJT dall’interdizione alla saturazione:

• supponiamo che il transistor Q1 sia inizialmente interdetto: ciò significa che le correntiattraverso di esso sono praticamente nulle e quindi che la caduta di RC1 sia bassissima: latensione di collettore è dunque prossima alla tensione di alimentazione, il che significa, quindi,

Page 4: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli4

che l’uscita Q del circuito è al valore logico 11; per fare in modo che l’altra uscita sia al valorelogico 0, bisogna portare Q2 in saturazione, in modo che la tensione di collettore sia prossima aquella di emettitore e quindi a massa: questa condizione è garantita dal fatto che la corrente IB2

che entra nella base di Q2 è molto piccola;

• ovviamente, il funzionamento opposto si deve ottenere per avere Q=0 e 1Q = : Q1 deve esserein saturazione, in modo che il suo collettore sia praticamente a massa, mentre Q2 deve essere ininterdizione, in modo che il suo collettore sia praticamente alla tensione di alimentazione.

E’ chiaro che la possibilità di associare i simboli logici 1 e 0 ai due livelli di tensione(alimentazione e massa) deriva dal fatto che tali due livelli sono sufficientemente distanziati tra diloro; questa distanza dipende chiaramente dal valore dell’alimentazione: nel caso dei BJT, si può adesempio prendere VCC=5V.

Volendo confrontare lo schema elettrico appena descritto con lo schema logico disegnato prima, èevidente che abbiamo collegato in retroazione due invertitori, costituiti ciascuno da uno stadio ademettitore comune:

CIRCUITI DI MEMORIA CON INGRESSI

Abbiamo detto che il circuito bistabile visto prima rappresentava una memoria (volatile) di 1 bit.In effetti, però, tale memoria era priva di un ingresso che in qualche modo la “pilotasse”. Allora, sipuò ottenere un funzionamento analogo a quello di quel circuito, ma questa volta con ingressi, con loschema logico seguente:

I1

I2Q

Q

1 Ricordiamo che, adottando la logica positiva, il valore logico 0 è associato al livello basso di tensione, mentre il valore logico 1 è

associato al livello alto di tensione

Page 5: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli5

Le due porte NOT sono state sostituite questa volta da due porte NOR a 2 ingressi: ciascuna portariceve in ingresso una variabile di ingresso vera e propria e l’uscita dell’altra porta. Ledenominazioni delle uscite sono le stesse del circuito del paragrafo precedente.

Per capire il funzionamento del circuito, cominciamo col ricordare la tabella di verità dellafunzione NOR (somma logica complementata):

011

001

010

100

NORYX

La prima cosa da chiedersi è se questo circuito ammette uno o più stati stabili. Nel fare questaanalisi, dobbiamo però considerare il valore dei due ingressi I1 e I2. Facciamo allora l’ipotesi cheentrambi gli ingressi siano a 0: 0II 21 ==

Supponiamo inoltre che, all’istante iniziale, risulti Q=0 e 1Q = : se Q=0 e I2=0, la seconda porta

NOR fornisce in uscita il valore 1Q = ; se 1Q = e I1=0, la prima porta NOR fornisce in uscita il

valore Q=0. Deduciamo allora che lo stato ( )1Q,0Q == è uno stato stabile, come avveniva con ilcircuito precedente.

Analogo discorso dobbiamo fare per lo stato ( )0Q,1Q == : se Q=1 e I2=0, la seconda porta NOR

fornisce in uscita il valore 0Q = ; se 0Q = e I1=0, la prima porta NOR fornisce in uscita il valore

Q=1. Deduciamo quindi che anche lo stato ( )0Q,1Q == è stabile.Abbiamo dunque due stati stabili per il circuito. Questo vale quando gli ingressi sono entrambi

nulli. Vediamo adesso cosa succede per le altre 3 possibili configurazioni di ingresso.Supponiamo che 0I1I 21 =∩= . Per valutare le uscite, dobbiamo conoscere lo stato del circuito

nell’istante precedente a quello in cui poniamo ad 1 l’ingresso I1. Indichiamo, allora, con t+1l’istante in cui facciamo variare I1; per comodità, indichiamo inoltre con ( )Q,Q i valori delle uscite

nell’istante t e con ( )++ Q,Q i valori delle uscite nell’istante t+1.

Supponiamo adesso che fosse 1Q = e 0Q = : ponendo I1=1, la prima porta NOR ha in ingresso un1 ed uno 0, per cui Q+=0; così facendo, la seconda porta NOR ha entrambi gli ingressi a 0, per cuil’uscita è 1Q =+ . Quindi, l’applicazione della combinazione di ingresso 0I1I 21 =∩= ha provocatouna commutazione delle uscite. Non solo, ma possiamo anche osservare un’altra cosa: dato che

1Q =+ , la prima porta NOR ha in ingresso due 1, per cui la sua uscita rimane a 0, così come l’uscitadella seconda porta NOR rimane ad 1. D’altra parte, la situazione rimane invariata se riportiamol’ingresso I1 a 0: infatti, la prima porta NOR, se I1=0, ha in ingresso un 1 ed uno 0, per cui la suauscita continua a rimanere a 0, e quindi rimane anche a 0 l’uscita della seconda porta NOR.

La conclusione del discorso è dunque quella per cui l’applicazione di I1=1 provoca unacommutazione delle uscite, le quali poi rimangono invariate se I1 viene riportato a 0 (ovviamentenell’ipotesi che I2 rimanga costantemente a 0). Possiamo quindi cominciare a compilare la tabelladella verità della funzione:

Page 6: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli6

100101

010100

101000

QQQQII 21++

Nella parte sinistra della tabella sono indicati, oltre agli ingressi nell’istante t+1, anche il valoredelle uscite nell’istante t, in quanto abbiamo osservato prima che anche tali valori determinano ilcomportamento del circuito all’istante t+1 in cui viene applicata una eventuale variazionedell’ingresso.

Nelle prime due righe sono evidentemente indicati i due stati stabili del circuito, che rimangonoinvariati nel tempo quando i due ingressi vengono mantenuti a 0.

Nella terza riga è invece descritto quello che abbiamo visto prima: partendo dallo stato( )0Q,1Q == e applicando 0I1I 21 =∩= , le due uscite commutano e rimangono poi invariate se I1

viene riportato a 0.E’ bene ricordare che la stabilizzazione delle uscite non è detto che sia istantanea, in quanto

vanno anche in questo caso considerati i ritardi di propagazione introdotti dalle singole porte.Cerchiamo allora di capire come vanno le cose includendo i suddetti ritardi nel nostro modello:

I1

I2Q

Q∆

Come abbiamo già fatto in precedenza, abbiamo ipotizzato che le due porte NOR siano ideali,cioè prive di ritardo, e abbiamo poi posto, in cascata a ciascuna di esse, un ritardo temporale ∆ chesupponiamo sia uguale per entrambe.

Lo stato iniziale (per comodità, prendiamo t=0) da considerare è Q=1. Supponiamo che, in t=0,avvenga la commutazione di I1 da 0 ad 1. L’andamento temporale delle variabili è indicato nellafigura seguente:

Page 7: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli7

I1

t

Q

t

t

∆ ∆ ∆ ∆ ∆

Q

La porta 1 risente della commutazione dell’ingresso I1 e, dopo un tempo ∆, produce unacommutazione della propria uscita, che passa da 1 a 0. La porta 2 risente a sua volta di questacommutazione e, dopo un ulteriore ∆, porta la propria uscita da 0 ad 1. Quindi, dopo un tempo totale2∆ dalla variazione di I1, l’uscita Q si porta ad 1. Solo da questo momento in poi, dato che la porta 1ha già un ingresso ad 1, possiamo tranquillamente riportare I1 a 0, in quanto l’uscita della porta 1rimane costantemente a 0. Se non aspettassimo 2∆ per riportare I1 a 0, la porta 1 si troverebbenuovamente con entrambi gli ingressi a 0, per cui porterebbe la sua uscita ad 1 e potrebbe ancherestare in questo stato.

In conclusione, quindi, è vero che le uscite si stabilizzano a ( )1Q,0Q == , ma solo se aspettiamo

almeno un tempo 2∆ prima di riportare l’ingresso I1 a 0.Passiamo adesso alla seconda possibilità: partendo dalla situazione ( )1Q,0Q == , supponiamo di

applicare la combinazione di ingresso 1I0I 21 =∩= , ossia supponiamo di porre ad 1 l’ingresso I2. E’

facile verificare che il comportamento del circuito è analogo a prima: la porta 2 ha un ingresso ad 1,per cui la sua uscita va a 0; di conseguenza, la porta 2 presenta i due ingressi a 0, per cui la sua uscitava 1, dopo di che il circuito si stabilizza.

Possiamo dunque procedere alla compilazione della tabella cominciata prima:

011010

100101

010100

101000

QQQQII 21++

Anche in questo caso si può verificare che la stabilizzazione delle uscite avviene dopo un tempo2∆, che è quindi il tempo che bisogna aspettare prima di poter riportare I2 a 0.

Finora, quindi, abbiamo trovato il modo di commutare le uscite del circuito: partendo da unasituazione iniziale in cui le due uscite sono diverse, è possibile farle commutare ponendo ad 1

Page 8: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli8

l’ingresso la cui corrispondente uscita si trova a 1 (per ottenere la commutazione quando Q=1,bisogna porre I1=1, mentre per ottenere la commutazione quando 1Q = bisogna porre I2=1).

Adesso ci chiediamo cosa succede nei due casi opposti:

• partendo da ( )1Q,0Q == , applichiamo la combinazione di ingresso 0I1I 21 =∩= : la porta 1

ha entrambi gli ingressi ad 1, per cui la sua uscita rimane a 0; di conseguenza, anche l’uscitadella porta 2 rimane ad 1; quindi, in questa situazione non si ha alcuna variazione delle uscite;

• stesso discorso partendo da ( )0Q,1Q == e applicando la combinazione di ingresso

1I0I 21 =∩= : la porta 2 ha entrambi gli ingressi ad 1, per cui la sua uscita rimane a 0; di

conseguenza, anche l’uscita della porta 1 rimane ad 1.

La tabella della verità di arricchisce dunque di due righe:

010110

101001

011010

100101

010100

101000

QQQQII 21++

I discorsi appena fatti ci permettono di perfezionare quanto detto prima: l’unico modo dicommutare le uscite del circuito, partendo da una situazione iniziale in cui esse sono diverse, èquello di porre ad 1 l’ingresso la cui corrispondente uscita si trova a 1 (per ottenere la commutazionequando Q=1, bisogna porre I1=1, mentre per ottenere la commutazione quando 1Q = bisogna porreI2=1).

Restano da vedere altre due situazioni, corrispondenti a quando entrambi gli ingressi vengonoposti ad 1:

• partendo da ( )1Q,0Q == , applichiamo la combinazione di ingresso 1I1I 21 =∩= : la porta 2 ha

entrambi gli ingressi ad 1, per cui la sua uscita va a 0; di conseguenza, l’uscita della porta 2rimane a 0, in quanto un ingresso è ad 1; quindi, in questa situazione particolare, entrambe leuscite vanno a 0;

• stesso discorso partendo da ( )0Q,1Q == e applicando la combinazione di ingresso

1I1I 21 =∩= : la porta 2 ha entrambi gli ingressi ad 1, per cui la sua uscita rimane a 0; di

conseguenza, l’uscita della porta 1 rimane a 0, dato che un ingresso è ad 1.

Possiamo allora completare la tabella della verità:

Page 9: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli9

000111

001011

010110

101001

011010

100101

010100

101000

QQQQII 21++

Quindi, partendo da uscite diverse e applicando entrambi gli ingressi ad 1, le uscite vannoentrambe a 0 (il motivo che ciascuna pota NOR ha almeno un ingresso ad 1). E’ evidente che questosia uno svantaggio del circuito: anche se lo vedremo meglio in seguito, è chiaro che, trovandoentrambe le uscite del circuito a 0, sappiamo che sono state provocate da entrambi gli ingressi postiad 1, ma non possiamo sapere se la configurazione precedente era ( )1Q,0Q == oppure

( )0Q,1Q == . Questo comportamento, per una memoria, è chiaramente inaccettabile, per cui,

generalmente, la combinazione di ingresso 1I1I 21 =∩= è una configurazione vietata.Tornando allora alle sole combinazioni di ingresso lecite, attribuiamo dei nomi alle particolari

combinazioni, facendo riferimento al valore dell’uscita Q:

• abbiamo visto che l’unico modo di passare da Q=1 a Q=0 è quello di porre ad 1 l’ingresso I1:l’applicazione di 0I1I 21 =∩= prende allora il nome di condizione di azzeramento delcircuito bistabile e l’ingresso I1 viene indicato con la lettera R (che sta per RESET);

• in modo analogo, dato che l’unico modo di passare da Q=0 a Q=1 è quello di porre ad 1l’ingresso I2, l’applicazione di 1I0I 21 =∩= prende il nome di condizione di settaggio delcircuito bistabile e l’ingresso I2 viene indicato con la lettera S (che sta per SET);

SET1100

0010

1101

RESET0011

0001

0000

QSRQ +

Per questi motivi, il circuito prende il nome di latch S-R (o anche circuito bistabile Set-Reset).Analizzando la tabella appena riportata, si osservano, oltre alle condizioni di SET e di RESET, le

particolari condizioni in cui l’uscita rimane invariata: quando gli ingressi S ed R sono lasciati a 0oppure quando l’uscita è a 0 e il Reset è ad 1 oppure anche quando l’uscita è ad 1 ed il Set vieneposto ad 1.

C’è anche un altro modo di rappresentare il funzionamento del circuito. Si costruisce la cosiddettatabella di pilotaggio:

Page 10: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli10

11/011

RESET1001

SET0110

1/0000

RSQQ +

Questa tabella, del tutto equivalente a quella di prima, consente di ricavare, in modo ancora piùimmediato, come vanno configurati gli ingressi S ed R al fine di ottenere una data variazionedell’uscita Q.

Infine, possiamo provare a ricavare una espressione analitica della funzione Q+. A tal fine,possiamo ad esempio usare il metodo delle mappe di Karnaugh, partendo sempre dalla tabella dellaverità, che ci fornisce i mintermini da considerare:

care)t (don'X111

6)(min 1011

0101

4)(min 1001

care)t (don'X110

2)(min 1010

0100

0000

QRSQ +

Abbiamo dunque 3 mintermini e 2 condizioni don’t care, per cui la mappa di Karnaugh è fatta nelmodo seguente:

11XX1111XX

6754

2310

1

0

10110100SR/Q

Conviene evidentemente porre le due condizioni don’t care, in modo da ottenere un subcubo diordine 2, cui si aggiunge il subcubo di ordine 1 formato dai mintermini 4 e 6:

A=subcubo (2,3,6,7) → cadono R e Q → A=SB=subcubo (4,6) → cade S → B=QR’

Entrambi i subcubi sono implicanti primi essenziali, per cui l’espressione della funzione è

( ) 'QRSR,S,QfQ +==+

Page 11: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli11

GATED LATCH S-RIl latch descritto nei paragrafi precedenti è un tipico esempio di circuito sequenziale di tipo

asincrono, che cioè funziona senza il pilotaggio da parte di un clock. D’altra parte, però, è immediatopassare ad un latch sincrono, il cui schema logico è il seguente:

R

S Q

Q

t

Gli ingressi S ed R non vanno direttamente alle porte NOR che costituiscono il latch, ma vannoprima in AND con il segnale di clock: l’uscita delle porte AND vale 1 solo se entrambi gli ingressisono uno, il che significa che una eventuale variazione di S o di R ha influenza sul circuito solo seavviene in corrispondenza del valore 1 del clock.

Quindi, il segnale di clock è una specie di linea ENABLE, che abilita o meno gli ingressi S ed R.Il circuito appena descritto prende il nome di gated latch S-R (ossia circuito bistabile S-R

con porta di abilitazione degli ingressi). La sua rappresentazione schematica è la seguente:

CQ

QR

S

dove chiaramente “C” sta per clock. Si nota che tutte le porte logiche sono inglobate nella “blackbox”, ma la presenza dell’ingresso di clock indica appunto il funzionamento sincrono del circuito.

Osserviamo, comunque, che la maggior parte dei latch hanno sia ingressi sincroni, del tipo appenavisto, sia ingressi asincroni, che cioè giungono direttamente in ingresso alle porte NOR checostituiscono il circuito. E’ chiaro che tali ingressi, per differenziarsi da quelli sincroni, assumono

Page 12: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli12

nomi diversi, che sono Preset (SET asincrono) e Clear (RESET asincrono). Lo schema logico èfatto allora nel modo seguente:

R

S Q

QReset

Clear

Set

Preset

LATCH DI TIPO DAbbiamo osservato prima che, tra le 4 possibili configurazioni degli ingressi Set e Reset, quella

per cui entrambi sono uguali ad 1 è una combinazione vietata: il motivo per cui è vietata è che, unavolta che essa sia stata applicata al circuito, non è possibile, dai valori finali delle uscite (cherisultano uguali entrambe a 0) risalire ai valori iniziali delle uscite stesse.

Anziché richiedere che la suddetta combinazione di ingresso non venga mai applicata, èopportuno fare in modo che essa non venga mai applicata: è opportuno cioè predisporre una appositacircuiteria, da aggiungere a quella del latch, che eviti che ai due ingressi si presenti lo stesso valorelogico. I modi per ottenere questo sono molteplici. Il più semplice è senz’altro quello di pilotare siaR sia S mediante 1 solo ingresso, facendo poi in modo che tale ingresso giunga complementato aduno dei due e non complementato all’altro:

S

R Q

QD

C

Con questo schema, è ovvio che risulta sempre R≠S: se D=0, allora S=0 ed R=1, mentre, se D=1,allora S=1 ed R=0. Quindi, non può mai essere R=S=1.

La tavola di verità, per questo latch, si riduce dunque a 4 sole possibilità:

Page 13: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli13

1011

RESET0101

SET1010

0100

QRSQ +

Si osserva subito che l’uscita all’istante t+1 coincide sempre con il valore di Set all’istante t, che asua volta coincide con l’ingresso D all’istante t, per cui l’espressione booleana è semplicemente

DQ =+

Dopo ogni impulso di clock, l’uscita assume il valore che era assunto dall’ingresso Set primadell’impulso di clock. Dato, quindi, che l’uscita si manifesta evidentemente con un ritardo pariall’intervallo di tempo tra l’applicazione dell’ingresso e l’andata ad 1 del clock, il circuito sicomporta come una specie di ritardatore del valore del Set. Questo è il motivo per cui si parla dilatch di tipo D (dove D è il nome dell’unico ingresso che pilota il circuito, a parte ovviamenteil clock, e sta appunto per delay).

E’ immediato tracciare la tabella di pilotaggio del circuito:

111

RESET001

SET110

000

DQQ +

E’ ovvio che questa tabella non tiene in alcun conto il valore dell’ingresso Reset.Il simbolo logico con cui rappresentiamo un latch di tipo D in un circuito logico è il seguente:

C

D

Q

Q

Page 14: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli14

LATCH DI TIPO J-KUn’altra possibilità di evitare che i due ingressi R ed S del latch siano entrambi uguali ad 1 è

quello di adottare la seguente configurazione:

R

S

Q

QJ

C

K

Si usano, in questo caso, due linee di ingresso, indicate con J e K, che vanno in AND con le uscite

Q e Q del latch stesso.Per verificare se, in effetti, R ed S non sono mai entrambi uguali ad 1, dobbiamo controllare tutte

le possibilità, che sono sintetizzate nella tabella seguente:

RESET010111

SET101011

100101

SET101001

RESET010110

000010

100100

000000

QRSQKJ +

La situazione più semplice è quella in cui J=K=0, corrispondente alle prime due righe dellatabella: in questo caso, infatti, entrambe le porte AND forniscono comunque in uscita il valore 0, per

cui, quale che fosse il precedente valore di Q e Q , risulta comunque R=S=0, il che significa che Q e

Q conservano i valori precedenti.Supponiamo adesso che sia J=0 e K=1 (3° e 4° riga della tabella): in questo caso, sicuramente

risulta S=0, mentre il valore di R dipende dal valore di Q: se Q=0, allora R=0 e quindi Q+=0; se,invece Q=1, allora R=1, per cui Q+=0 (reset).

Ripetiamo adesso il discorso nel caso in cui J=1 e K=0 (5° e 6° riga della tabella): in questo caso,

sicuramente risulta R=0, mentre il valore di S dipende dal valore di Q : se 0Q = , ossia se Q=1,

allora S=0 e quindi Q+=1; se, invece 1Q = , ossia Q=0, allora S=1, per cui Q+=1 (set).

Page 15: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli15

Infine, dobbiamo vedere cosa succede quando J=K=1 (ultime due righe della tabella). Anche inquesto caso, tutto dipende dal valore di Q: se Q=0, allora R=0 e S=1, per cui Q+=1 (set); se inveceQ=1, allora R=1 e S=0, per cui Q+=0 (reset).

Abbiamo dunque una nuova tabella della verità, dove però, al contrario del latch S-R, tutte e 8 lecombinazioni di ingresso sono lecite. Il latch così ottenute prende il nome di latch di tipo J-K esi rappresenta con il seguente simbolo logico:

CQ

QJ

K

Dalla tavola della verità possiamo facilmente ricavare la tabella di pilotaggio del latch di tipo J-K:

0X11

RESET1X01

SETX110

X000

KJQQ +

Le “X” presenti nella tabella sono condizioni don’t care, nel senso che è indifferente porre 1 o 0nelle corrispondenti caselle.

Come si nota, l’operazione di SET è pilotata solo dall’ingresso J, che deve valere 1, mentre quelladi RESET è pilotata solo dall’ingresso K, che deve valere 1.

Possiamo anche ricavare l’espressione booleana di Q+. In particolare, anziché ricorrere aimintermini ed alle mappe di Karnaugh, possiamo procedere direttamente per ispezione del circuito:infatti, abbiamo detto che QJS ⋅= e che QKR ⋅= ; d’altra parte, sappiamo che il latch S-R ha

espressione booleana ( ) 'QRSR,S,QfQ +==+ , per cui, sostituendovi le espressione di S e di R,otteniamo

( ) ( ) ( ) 'KQQJ'Q'KQQJ'QKQQJR,S,QfQ ⋅+⋅=+⋅+⋅=⋅⋅+⋅==+

Uso del latch di tipo J-K come divisore di frequenza

Una interessante applicazione del latch di tipo J-K si ottiene osservando, dalla tabella della verità,che, quando J=K=1, l’uscita cambia comunque valore, ossia passa ad 1 se era a 0 oppure passa a 0 seera ad 1. Questo significa che, se manteniamo J e K pari costantemente ad 1, l’uscita commuta adogni impulso di clock. Vediamo allora nel tempo cosa succede.

Nella figura seguente sono riportati gli andamenti temporali dei due ingressi J e K, del clock edell’uscita Q, a partire da un istante t=0 in cui supponiamo che l’uscita fosse a 0:

Page 16: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli16

C

Q

J=K

t

t

t

t1

Abbiamo supposto che, in un certo istante t1 (nel quale il clock è a 0) i due ingressi J e K venganoportati entrambi ad 1. L’effetto di questa variazione di ingresso è nullo finche il clock rimane a 0.Nel momento in cui il clock va ad 1, in base alle considerazioni di prima l’uscita commuta, passandoad 1. Essa rimane ad 1 fino al successivo impulso di clock, dove c’è una successiva commutazione ecosì via per gli altri impulsi di clock.

Confrontando la forma d’onda di uscita con la forma d’onda del clock, si tratta in entrambi i casidi onde quadre, di cui però l’uscita è a frequenza doppia: se il periodo di clock è T, quello dell’uscitaè 2T, per cui la frequenza è 1/2T. Abbiamo cioè ottenuto un dimezzamento della frequenza di clock.

Ovviamente, l’uscita del latch può a sua volta rappresentare l’ingresso di clock per un altro latchidentico, all’uscita del quale si otterrà un ulteriore dimezzamento della frequenza. Abbiamo dunqueutilizzato un latch di tipo J-K come divisore di frequenza.

Ci chiediamo, adesso, cosa succede all’uscita se, in un certo istante t2 successivo a t1, i dueingressi J e K vengono riportati a 0. Supponiamo, ad esempio, che t2 sia un istante in cui il clock vale0, per cui la variazione di ingresso è risentita solo al successivo impulso di clock: se q=1 nell’istantet2, al successivo impulso di clock non c’è commutazione, in quanto i due ingressi sono entrambi 0,per cui l’uscita rimane ad 1; in modo analogo, non c’è commutazione se q=0 nell’istante t2. Questosignifica che, se vogliamo mantenere l’uscita a 1, dobbiamo portare gli ingressi a 0 in un istante incui l’uscita è già ad 1; in caso contrario, se cioè scegliamo, per la variazione degli ingressi, un istantein cui l’uscita è a 0, allora l’uscita rimane ancora a 0.

LATCH DI TIPO TUn caso particolare di latch di tipo J-K è quello in cui i due ingressi J e K vengono sempre posti

uguali (e indicati con la lettera T):

CQ

QJ

K

T

Page 17: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli17

E’ chiaro che, rispetto al latch di tipo J-K visto prima, le possibilità si sono ridotte a 4:

RESET011

101

SET110

000

QTQ +

Quando T=J=K=0, l’uscita non subisce variazioni. Quando, invece, T=J=K=1, allora l’uscitacommuta. Questa tabella della verità evidenzia che l’espressione booleana della funzione Q+ èsemplicemente l’EXOR di Q e T:

( ) ( )'T*QT'*QTQQ +=⊕=+

E’ anche immediato ricavare la tabella di pilotaggio del circuito (basta scambiare la seconda e laterza colonna della tabella di verità):

RESET101

011

SET110

000

TQQ +

Un circuito di questo tipo prende il nome di latch di tipo T (dove T sta per toggle) e sirappresenta nel modo seguente:

C

T

Q

Q

Con questo abbiamo concluso l’elenco dei latch di nostro interesse. Appare evidente, dalledescrizioni fatte, che il più versatile è il latch di tipo J-K, con il quale è possibile simulare ilfunzionamento degli altri 3. Quello meno usato è invece il latch di tipo S-R, che, come più voltedetto, presenta l’inconveniente della combinazione di ingresso S=R=1 vietata.

Page 18: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli18

Flip-FlopFlip-Flop

INTRODUZIONE

Nei paragrafi precedenti, abbiamo visto che, in generale, un latch (cioè un circuito bistabile) è uncircuito sincrono, che cioè risente delle eventuali variazioni degli ingressi solo quando il segnale diclock è al livello logico 1. In particolare, gli impulsi di clock devono essere di durata sufficienteperché ci possa essere la commutazione, in quanto vanno sempre tenuti in conto i ritardi con cui isegnali si propagano da una porta logica all’altra. Non solo, ma se indichiamo con T la durata diciascun impulso di clock (cioè il tempo durante il quale il clock è ad 1), la eventuale commutazionedel latch, in presenza di una opportuna variazione dell’ingresso, può avvenire in un qualsiasi istantecompreso nell’intervallo T. Questa caratteristica è abbastanza scomoda in molte applicazioni, nellequali, invece, sarebbe preferibile avere l’eventuale commutazione solo in istanti ben precisi. Ilflip-flop risponde proprio a questa esigenza: esso funziona conmeccanismi identici al latch, ma con la differenza che lecommutazioni avvengono o durante il tempo di salita degli impulsi diclock o durante il tempo di discesa. E’ chiaro che anche i tempi di salita e didiscesa hanno una durata finita, ma essa è comunque di gran lunga inferiore rispetto alla durata T diciascun impulso.

Ci si esprime dicendo che il latch è un dispositivo level-triggered (che cioècommuta sul livello 1 dell’impulso di clock), mentre il flip-flop èun dispositivo edge-triggered (che cioè commuta sul “bordo”, iniziale ofinale, dell’impulso di clock).

SCHEMA LOGICO DI UN FLIP-FLOP DI TIPO J-KUn flip-flop si ottiene facilmente usando 2 latch connessi in cascata secondo uno schema di tipo

master-slave. Ad esempio, per realizzare un flip-flop di tipo J-K usando due latch, si adotta unoschema del tipo seguente:

C

Q

QJ

K

J1

K1

S2

R2

1Q 2Q

2Q1Q

Page 19: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli19

Dato che ogni latch di tipo J-K non fornisce mai uscite uguali, siamo certi che gli ingressi dellatch di tipo S-R siano sempre diversi.

Il segnale di clock, come si vede, è complementato in uno dei due latch, per cui gli andamenti deisingoli segnali di clock sono i seguenti:

C1=C

t

t

C2

Per comprendere il funzionamento del circuito, supponiamo di unire J e K, in modo che il latch ditipo J-K diventi un latch di tipo T. Ciò significa, in base a quanto visto nei paragrafi precedenti, cheil latch 1 commuta ad ogni impulso di clock. Supponiamo allora che l’uscita Q1, all’istante t=0, sia

ad 1. Nell’istante t1 in cui il clock va ad 1, il latch commuta, per cui diventa Q1=1 e 0Q1 = . Questacommutazione avviene mentre il clock 2 è a 0, per cui il latch 2 non commuta, finche il suo clock vaad 1, il che accade quando il clock C non “affronta” il proprio fronte di discesa. Quando questoavviene, il latch 2 commuta e quindi commuta l’intero flip-flop.

C1=C

t

t

C2

t1 t2

in questo istantecommuta in latch 1

in questo istantecommuta in flip-flop

Quindi, mentre il latch 1 commuta quando arriva l’impulso di clock,il latch 2, cioè il flip-flop nel suo complesso, commuta solo quandotermina l’impulso di clock. Se la variazione dell’ingresso avvenisse durante un impulsodi clock, ma cessasse prima della fine dell’impulso stesso, il flip-flop non commuterebbe.

Questa è dunque la differenza fondamentale tra un latch ed un flip-flop: mentre il latch èun dispositivo trasparente alla variazione di ingresso, il flip-flopnon lo è, in quanto quello che avviene durante gli impulsi di clocknon sortisce alcun effetto sull’uscita.

Concludiamo che il simbolo logico di un flip-flop di tipo J-K è assolutamente identico a quello diun latch di tipo J-K, per cui noi distingueremo il flip-flop semplicemente inserendo il simbolo “FF”all’interno del simbolo:

Page 20: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli20

CQ

QJ

K

FF

RAPPRESENTAZIONE DEI FLIP-FLOP MEDIANTE GRAFI ORIENTATI

E’ molto comodo descrivere il funzionamento dei flip-flop usando dei grafi orientati. Per farequesto, però, bisogna preventivamente fare una distinzione tra lo stato di un flip-flop e l’uscita di unflip-flop: in generale, noi abbiamo detto che un circuito sequenziale ha la caratteristica per cuil’uscita in un determinato istante dipende sia dal valore dell’ingresso nell’istante precedente sia dallo“stato” del circuito nell’istante precedente. Tale “stato” è rappresentato da un certo numero divariabili di stato, che non necessariamente coincidono con le uscite del circuito stesso. Ciò nontoglie che anche l’uscita di un circuito sequenziale in un certo istante possa rappresentare lo stato delcircuito, necessario a determinare l’uscita nell’istante successivo, noto che sia l’ingresso applicato.Tipico caso è proprio quello dei latch e dei flip-flop, nei quali abbiamo visto che l’uscita in undeterminato istante dipende sia dal valore dell’ingresso nell’istante precedente sia dall’uscita delcircuito nell’istante precedente.

Fatta questa premessa, supponiamo di avere un flip-flop di tipo J-K. Vogliamo ricavare il grafoorientato di questo FF (flip-flop). A tal fine, riportiamo la tabella della verità e la corrispondentetabella di pilotaggio del FF:

RESET010111

SET101011

100101

SET101001

RESET010110

000010

100100

000000

QRSQKJ +

0X11

RESET1X01

SETX110

X000

KJQQ +

Come detto prima, l’uscita all’istante generico t+1 dipende sia dai valori degli ingressi J e Kall’istante t sia dal valore dell’uscita stessa all’istante t. Possiamo allora considerare come uscita Z ilvalore di Q+ e come stato y il valore di Q. E’ evidente che sia l’uscita, sia lo stato sia i due ingressix1=J e x2=K possono assumere solo valori binari. In particolare, dato che lo stato può assumere solovalori 0 ed 1, avremo due possibili stati per il flip-flop, che indichiamo rispettivamente con A e B.

Con queste assunzioni, possiamo sintetizzare il funzionamento del FF, in termini di cambiamentidi stato (=uscita) dovuti ai valori dell’ingresso, mediante una tabella, che sarà fatta nel modoseguente:

Page 21: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli21

BAABB

BBAAA

10110100xx\.p.s 21

Questa tabella, detta tabella degli stati, si legge in questo modo: la prima colonna indica i 2possibili stati del FF (“s.p.” sta per “stato presente”, proprio per indicare che si ipotizza di partire daquel particolare stato indicato dalla colonna); le successive colonne indicano in quale stato passa ilFF a seguito di ciascuna combinazione di ingresso (gli ingressi sono indicati con x1 e x2). Adesempio, partendo dallo stato A (corrispondente a Q=0), il circuito rimane in A se gli ingressi sono00 o 01 (cioè se il J viene comunque lasciato a 0), mentre va in B (corrispondente a Q=1) se gliingressi sono 11 o 10 (cioè se il J viene posto ad 1). In modo analogo, partendo dallo stato B, ilcircuito rimane in B se gli ingressi sono 00 o 10, mentre va in A se gli ingressi sono 11 o 01.

Quindi, mentre la prima colonna indica l’ipotetico stato presente, lealtre colonne indicato lo stato successivo, in funzione dellacombinazione di ingresso.

Possiamo allora rappresentare graficamente il comportamento del circuito, espresso da quellatabella, mediante un grafo orientato a due stati:

A B

1011

0001

0010

0111

Ovviamente, questo grafo è riferito alle transizioni di stato, ossia al modo con cui varia lo stato aseconda della combinazione di ingresso applicata. D’altra parte, però, dato che l’uscita corrispondeallo stato, di fatto il grafico indica anche le transizioni dell’uscita.

In generale, in un circuito sequenziale non è detto che lo stato coincida con l’uscita, per cui ènecessario indicare, oltre alle variazioni di stato, anche quelle dell’uscita. Per fare questo, abbiamodue distinte possibilità:

• nel caso in cui, per il circuito considerato, l’uscita all’istante t+1 dipende sia dallo statoall’istante t sia dall’ingresso all’istante t, si parla di macchina di Mealy: in questo caso,dobbiamo indicare l’uscita cui si porta il circuito sugli archi che indicano la transizione da unostato all’altro; con riferimento al FF prima descritto, abbiamo perciò quanto segue:

A B001

001

11

10

011

01

110

00

Page 22: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli22

• se, invece, per il circuito considerato, l’uscita all’istante t+1 dipende solo dallo stato all’istantet+1, allora si parla di macchina di Moore: in questo caso, qualunque sia la combinazione diingresso applicata, l’uscita dipende dallo stato a cui si porta la macchina, per cui l’uscita stessava indicata in corrispondenza degli stati del circuito; con riferimento ancora al FF di prima,abbiamo quanto segue:

A/0 B/1

1011

0001

0010

0111

E’ chiaro che, quando l’uscita coincide con lo stato, come nel FF appena considerato, allora siamoin presenza di una macchina di Moore, per cui il fatto di indicare anche l’uscita diventa in qualchemodo superfluo, se si è preventivamente specificata la coincidenza tra i “nomi” degli stati (A e B nelconsiderato) e i valori delle uscite (0 e 1 nel caso considerato). Non solo, ma è evidente che unamacchina di Moore si può trasformare in una macchina di Mealy: bastaindicare l’uscita sugli archi che congiungono i vari stati (anche in questo caso, se l’uscita coincidecon lo stato, allora l’indicazione dell’uscita è ridondante).

Ovviamente, così come possiamo tracciare una tabella degli stati, allo stesso modo possiamotracciare anche una tabella delle uscite, ossia indicare schematicamente a quale valore si portal’uscita a seguito dell’applicazione di una particolare combinazione di ingresso e in funzione dellostato di partenza. Questa tabella sarà però diversa a seconda che si consideri una macchina di Mealyo una macchina di Moore.

Per una macchina di Mealy, l’uscita andrà indicata in funzione dello stato e dell’ingresso. Seconsideriamo ad esempio il FF J-K visto prima, abbiamo la seguente tabella delle uscite:

1001B

1100A

10110100xx\.p.s 21

Noto lo stato e nota la combinazione di ingresso, le colonne della tabella indicano il valore finaledell’uscita.

Ovviamente, nessuno ci impedisce di unire la tabella degli stati e la tabella delle uscite inun’unica tabella, in modo da avere una rappresentazione schematica completa del funzionamento delcircuito:

1001BAABB

1100BBAAA

1011010010110100xx\.p.s 21

Diverso è invece il caso delle macchine di Moore, nelle quali l’uscita è univocamente determinatadallo stato. In questo caso, la tabella si riduce ad una indicazione del valore dell’uscitacorrispondente a ciascuno stato: con riferimento al grafo tracciato prima, abbiamo che

Page 23: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli23

1B

0A

uscitastato

Anche in questo caso possiamo unificare la tabella degli stati e quella delle uscite:

1BAABB

0BBAAA

uscita10110100xx\.p.s 21

Come detto prima, la colonna relativa all’uscita indica solo il valore dell’uscita corrispondente aciascuno stato.

E’ evidente che, quando l’uscita coincide con lo stato, come nel casodel FF di tipo J-K, allora le rappresentazioni di Mealy e di Moore,e le rispettive tabelle, sono del tutto equivalenti tra loro. Ingenerale, invece, questo non è vero.

Consideriamo adesso un FF di tipo S-R, del quale vogliamo ricavare il grafo orientato e lecorrispondenti tabella degli stati e delle uscite.

A tal fine, riportiamo nuovamente la tabella di pilotaggio di un FF di tipo S-R:

1X11

RESET1001

SET0110

X000

RSQQ +

Associando ancora una volta lo stato all’uscita (per cui A corrisponde a Q=0 e B corrisponde aQ=1), il grafo orientato è fatto nel modo seguente:

A B001

001

10

00110

001

Si nota immediatamente una differenza con il grafo orientato di un FF di tipo J-K: infatti, siosserva che le combinazioni di ingresso necessarie per il cambiamento di stato sono, in questo caso,una per ogni stato, mentre, nel caso del FF di tipo J-K, erano due per ogni stato.

Dal grafo appena tracciato siamo in grado di tracciare la tabella degli stati e la tabella delle uscite:

1X01BXABB

1X00BXAAA

1011010010110100xx\.p.s 21

Page 24: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli24

Sono ovviamente presenti delle condizioni don’t care, dovute al fatto che anche la tabella dipilotaggio ne possiede. La presenza delle X nella tabelle delle uscite, in particolare, indica lapresenza di sequenze non specificate per la rete combinatoria.

Potremmo tracciare anche la tabella secondo la rappresentazione di Moore, ma abbiamo primavisto che, per circuiti di questo tipo (in cui l’uscita corrisponde con lo stato), le due rappresentazionisono equivalenti. Limitiamoci allora a disegnare il grafo orientato secondo la rappresentazione diMoore:

A/0 B/110

0001

0010

01

Passiamo adesso ad un FF di tipo D, la cui tabella di pilotaggio è di seguito riportata:

111

RESET001

SET110

000

DQQ +

In questo caso, sappiamo che l’ingresso è unico (l’ingresso D pilota infatti l’ingresso Sdirettamente, mentre pilota l’ingresso R tramite il complemento).

Il corrispondente grafo orientato è fatto nel modo seguente:

A B0/0 1/1

0/0

1/1

Dal grafo appena tracciato siamo in grado di tracciare la tabella degli stati e la tabella delle uscite:

10BAB

10BAA

1010x\.p.s

(ovviamente x indica l’ingresso D).Per concludere, consideriamo un FF di tipo T (che si ottiene da un J-K ponendo in corto i due

ingressi) la cui tabella di pilotaggio è di seguito riportata:

Page 25: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli25

RESET101

011

SET110

000

TQQ +

Il corrispondente grafo orientato è fatto nel modo seguente:

A B0/0 1/1

1/0

0/1

Dal grafo ricaviamo la tabella degli stati e la tabella delle uscite:

01ABB

10BAA

1010x\.p.s

Quello di rappresentare un FF mediante dei grafi orientati è unmodo molto utile per ricondurci alla rappresentazione di un circuitosequenziale (quale appunto è un FF) sotto forma di circuitocombinatorio e circuito di memoria:

Consideriamo, per esempio, un FF di tipo J-K, avente quindi due ingressi (che indichiamo con x1

e x2) e una sola uscita (che indichiamo con Z):

Page 26: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli26

L’insieme delle combinazioni degli ingressi si chiama alfabeto di ingresso e si indica con I.Ciascun elemento di questo alfabeto è dunque una configurazione di ingresso, che chiameremosimbolo dell’alfabeto. Per esempio, nel caso di un FF di tipo J-K, avendo 2 ingressi ci sono 4possibili configurazioni di ingresso, per cui l’alfabeto I conterrà 4 simboli:

{ }11,10,01,00I =

In modo del tutto analogo, l’insieme delle combinazioni di uscita si chiama alfabeto di uscita esi indica con O. Nel caso di un FF di tipo J-K, avendo 1 uscita, ci sono 2 possibili configurazioni diuscita, per cui l’alfabeto O conterrà 2 simboli:

{ }0,1O =

Le variabili y che escono dal circuito di memoria e si aggiungono agli ingressi veri e propri dellaparte combinazionale sono le variabili di stato presente del circuito. Ogni combinazione dellevariabili di stato presente individua lo stato presente del circuito. L’insieme degli stati, ossial’insieme di tutte le possibili configurazioni delle variabili di stato, è detto insieme di stato(indicato con S).

Anche le variabili Y sono variabili di stato, ma ogni loro combinazione rappresenta lo statosuccessivo del circuito, ossia lo stato dopo l’applicazione dell’ingresso nell’istante considerato.Esse sono dunque variabili di stato successivo.

Consideriamo adesso un flip-flop di tipo T. Essendo un circuito sequenziale, il FF è scomponibilein un circuito combinatorio e in un circuito di memoria; quest’ultimo concorre a determinare gliingressi del circuito combinatorio e presenta come ingresso le uscite dello stesso circuitocombinatorio. Vogliamo allora separare, per un flip-flop di tipo T, la parte combinatoria e la parte dimemoria, secondo uno schema del tipo seguente:

Page 27: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli27

L’ingresso vero e proprio al flip-flop è indicato con x; l’uscita è indicata con Z; l’unica variabiledi stato in uscita dal circuito di memoria (variabile di stato presente) è indicata con y1, mentre quellain ingresso al circuito di memoria (variabile di stato successivo) è indicata con Y1.

Cominciamo a sintetizzare l’uscita Z del FF, che dipende dall’ingresso vero e proprio (il segnaleal morsetto x) e dall’uscita all’istante precedente. Non dobbiamo far altro che sintetizzare unafunzione booleana Z di due variabili, la cui tabella della verità è fatta nel modo seguente:

011

101

110

000

Zyx 1

Questa tabella si ricava direttamente dalla tabella di pilotaggio del flip-flop di tipo T.Nota la tabella di verità di Z, possiamo procedere alla sintetizzazione della funzione mediante il

semplice metodo delle mappe di Karnaugh:

1

0

10x\y1

→11

11 11 y'x'xyZ +=

Dato che la mappa non presenta implicanti primi, vanno considerati entrambi i mintermini dellafunzione, per cui l’espressione di Z è quella indicata.

Adesso dobbiamo sintetizzare la funzione Y1=T1 che rappresenta l’ingresso alla parte di memoria.Lo possiamo fare basandoci sulla tabella degli stati e sulla tabella di pilotaggio. Le due tabelle sonoriportate qui di seguito (nella tabella degli stati si è posto direttamente A=0 e B=1):

RESET101

011

SET110

000

TQQ +

011

100

10x\.p.s

Page 28: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli28

La funzione Y1 da sintetizzare è sempre un funzione booleana delle variabili y1 e x: essa presentaun 1 (cioè un mintermine) solo quando l’uscita del flip-flop commuta (da 0 a 1 oppure da 1 a 0); diconseguenza, osservando la tabella degli stati, dobbiamo verificare per quali combinazioni di y1 e x,la y1 stessa (cioè lo stato presente) e la Y1 (cioè lo stato successivo) cambiano:

0011

11

00

10x\y1

Si osserva che lo stato cambia solo quando x=1 e per entrambi i valori di y1. Otteniamo dunque laseguente tabella della verità per la funzione Y1:

111

101

010

000

Zyx 1

Nota la tabella di verità di Z, possiamo procedere alla sintetizzazione della funzione mediante ilmetodo delle mappe di Karnaugh:

1

0

10x\y1

→1111 xY1 =

A questo punto, possiamo disegnare lo schema completo del nostro FF di tipo T:

TQ

xZ

Y1y1

Page 29: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli29

APPLICAZIONE: RICONOSCITORE DI CODICE (O DI SEQUENZE)Un riconoscitore di codice è un circuito logico che, ricevendo in ingresso un segnale logico

continuo, riconosce all’interno di esso una particolare sequenza pre-programmata. Supponiamo, adesempio, che il segnale X all’ingresso del circuito sia costituito dalla seguente sequenza di bit:

1001011010111001

Ricevendo in ingresso questa sequenza, il circuito deve verificare se, all’interno di essa, èpresente o meno una particolare sequenza di un numero prefissato di bit: per esempio, supponiamoche tale sequenza sia 011, per cui il circuito deve verificare se e quante volte essa si presenta iningresso. Per indicare il riconoscimento della sequenza, supponiamo che l’uscita Z del circuito debbaandare ad 1: questo significa che il circuito deve porre Z=1 ogni volta che riconosce la sequenza:

0000010000010000 uscita

1001011010111001 ingressoentoriconoscimentoriconoscim

→321321

La sequenza si presenta per la prima volta dopo 2 bit, ma ovviamente il circuito può riconoscernela presenza solo dopo che tutti e 3 i bit della sequenza stessa sono giunti, per l’1 corrispondente alriconoscimento giunge dopo 5 bit.

E’ chiaro che un circuito può funzionare in quanto modo solo se, in ogni istante, ha memoria deidue bit giunti nei due istanti precedenti, in modo da effettuare i confronti per ogni terna di bitconsecutivi.

Il nostro scopo è quello di sintetizzare questo circuito. La prima considerazione da fare è propriorelativa alla necessità di memorizzare i 2 bit precedenti: sappiamo che 1 singolo flip-flop è in gradodi memorizzare 1 solo bit, per cui, per memorizzarne 2, avremo bisogno di almeno 2 flip-flop. Lapresenza di questi flip-flop ci dice immediatamente che il circuito sarà di tipo sequenziale, per cuipossiamo ancora una volta aiutarci usando i grafi orientati.

In casi come questo, conviene sempre tracciare, per prima cosa, il grafo orientato rappresentativodell’intero circuito. Questo presuppone l’individuazione del numero di stati del circuito. Questonumero può essere individuato facilmente:

stato A → nessuno o tutti i bit in sequenzastato B → primo bit in sequenza verificatostato C → secondo bit in sequenza verificato

Con queste posizioni, il grafo orientato, secondo la rappresentazione di Mealy, diventa ilseguente:

A B1/0 0/0

1/1

0/0

C

1/0 0/0

Page 30: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli30

Supponiamo che la macchina parta dallo stato A: se riceve un 1, sicuramente questo nonappartiene alla sequenza 011, visto che tale sequenza comincia con uno 0, per cui la macchinarimane in A e aspetta il bit successivo. Se riceve uno 0, allora è possibile che questo appartenga allasequenza 011, per cui la macchina si porta in B, lasciando ovviamente l’uscita ancora in 0. A partireda B, la macchina passa in C (lasciando ancora l’uscita a 0) se riceve un 1, in quanto è possibile cheanche l’1 ricevuto appartenga alla sequenza. Se, anche partendo da C, la macchina riceve un 1, allorala sequenza 011 è effettivamente stata ricevuta, per cui la macchina si riporta in A (pronta per isuccessivi bit), ma questa volta porta l’uscita ad 1.

Se consideriamo la sequenza presa prima a titolo di esempio, i passaggi di stato sono i seguenti:

CBBCBA/1CBCBAA/1CBBAtastato/usci

1001011010111001ingresso

→321321

Se adesso volessimo descrivere lo stesso funzionamento, utilizzando però una rappresentazione diMoore, siamo costretti ad aggiungere un altro stato, in quanto l’uscita non dipende solo dallo stato,ma anche dall’ingresso, come si deduce dalle transizioni a partire dallo stato C. La rappresentazionedi Moore sarà allora la seguente:

A/0 B/01 0

1

0

C/0

1 0

D/1

0

A questo punto possiamo già fare una osservazione importante: avendo uno stato in più rispetto aprima e dovendo poi codificare ciascuno stato mediante una combinazione di bit, è possibile che sianecessario usare un numero di bit maggiore di quello richiesto per la rappresentazione di Mealyprima considerata e cioè di un numero maggiore di flip-flop.

Possiamo anche osservare una cosa di carattere generale. Intanto, si definisce ciclo chiuso, in ungrafo orientato, un percorso che, partendo da un certo stato, torni nello stesso stato senza maipercorrere lo stesso arco due volte. Questa definizione significa che, per descrivere un ciclo chiuso,dobbiamo partire da un certo stato e tornare nello stesso stato percorrendo però archi via via diversi.Si nota, allora, che un ciclo chiuso, all’interno di una macchina come ledue (Mealy e Moore) appena rappresentate, non può essere più grandedel numero degli stati2.La lunghezza di un ciclo corrisponde in pratica al numero di

istanti necessari a percorrerlo e quindi anche al corrispondentenumero di combinazioni di ingresso. Nel caso particolare in cui l’ingresso è unico,allora la lunghezza del ciclo corrisponde al numero di bit necessari per partire dallo stato iniziale etornare nello stesso istante. Ad esempio, nel caso della macchina di Moore rappresentata nell’ultima

2 E’ ovvio che fanno eccezione a questa regola i cicli chiusi corrispondenti ad archi che si richiudono sullo stesso stato da cui sono

partiti: in questo caso, la lunghezza del ciclo è infinita.

Page 31: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli31

figura, c’è un ciclo che, partendo da A, riporta in A passando per B, per C e per D; la lunghezza delciclo è 4, in quanto 4 sono le transizioni necessario a percorrerlo; essendo l’ingresso unico, sonoanche 4 i bit necessari a percorrere al ciclo. E’ inoltre facile verificare che non ci sono cicli dilunghezza maggiore di 4 (dove 4 è il numero di stati), in accordo a quanto detto poco fa.

Osserviamo ancora che il numero degli stati può essere finito, infinito o infinito numerabile: se èfinito, come nei circuiti sequenziali, allora si parla di macchine a stati finiti (FSM - Finite StateMachine) e sono queste le uniche macchine che si possono realizzare nella pratica e che quindi noistudiamo.

Tornando adesso ai grafi orientati, tracciamo le corrispondenti tabelle degli stati e delle uscite:

• con riferimento alla macchina di Mealy, abbiamo quanto segue:

10ABC

00CBB

00ABA

1010x\.p.s

• con riferimento, invece, alla macchina di Moore (in cui l’uscita dipende solo dallo stato), chepresenta anche lo stato D, abbiamo quanto segue:

1ABD

0DBC

0CBB

0ABA

Z10x\.p.s

Una volta ricavato il diagramma logico del circuito, è abbastanza agevole ricavare ilcorrispondente circuito sequenziale, che sarà ancora una volta composto da una parte combinatoria eda una parte di memoria; quest’ultima, a sua volta, sarà in questo caso costituita da tante memorie(cioè tanti flip-flop) quanti sono i bit da memorizzare: in questo caso, i bit da memorizzare sono 2,per cui avremo 2 flip-flop, secondo uno schema del tipo seguente:

Page 32: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli32

In modo alternativo, potevamo affermare che, per codificare 3 distinti stati, sono necessarie 2variabili di stato (cioè appunto 2 flip-flop): infatti, se n sono gli stati da codificare e k i bit da usareper la codificazione, deve sussistere la relazione

n2k ≥

Nel nostro caso, essendo n=3 gli stati, servono k=2 variabili di stato, con le quali possiamocodificare 22=4 stati diversi. Chiaramente, dovendo assegnare a ciascuno stato una configurazione, cisarà una configurazione non utilizzata e vedremo nel seguito quale conseguenze può avere lapresenza di una o più configurazioni non utilizzate.

Una volta stabilito il numero di variabili di stato, dobbiamo eseguire la fase di assegnazione,nel senso che dobbiamo associare a ciascuno stato una corrispondente configurazione di variabili diingresso. Per esempio, possiamo fare la seguente scelta:

assegnatanon 1y

1y ioneconfiguraz

0y

1y C stato

1y

0y B stato

0y

0yA stato

2

1

2

1

2

1

2

1

==

==

==

==

La scelta delle assegnazioni è del tutto arbitraria, ma vedremo in seguito che ci sono comunquedelle conseguenze delle associazioni fatte: vedremo che una opportuna scelta delle assegnazioni puòportare alla semplificazione del conseguente circuito logico finale. Vedremo anche che, in generale,non esiste un criterio per scegliere l’associazione ottimale: bisogna valutare caso per caso.

Una volta effettuata la fase di assegnazione, possiamo passare alla sintetizzazione vera e propriodel circuito logico.

A questo scopo, riprendiamo la tabella degli stati e delle uscite della FSM che stiamoconsiderando:

100001)C(10

001001)B(01

000001)A(00

1010x\.p.s

===

Una FSM di questo tipo si dice che è completamente specificata, in quanto, per ogni statopresente e per ogni possibile valore dell’ingresso, sono indicati sia lo stato successivo sia l’uscita. Seanche una sola di queste informazioni non fosse indicata, allora la macchina si direbbe noncompletamente specificata. L’importanza delle FSM completamente specificate riguarda laminimizzazione del numero di stati: infatti, come vedremo meglio nei discorsi che seguono, possonoesiste diverse FSM che realizzano una determinata funzione logica e ciascuna FSM corrisponde adun preciso circuito logico; la complessità di quest’ultimo deriva essenzialmente dal numero di statiposseduto dalla FSM, per cui ha senso chiedersi se esiste (e se si può trovare), per ciascuna funzionelogica, una FSM minima, che cioè contenga il numero minimo di stati. Vedremo allora che questo

Page 33: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli33

problema ammette una soluzione, che poi è anche unica, solo se la FSM considerata ècompletamente specificata.

Chiusa questa parentesi, torniamo alla sintesi della macchina: con questa espressioneintendiamo la determinazione del circuito (combinatorio) che serve sia pilotare i flip-flop sia agenerare l’uscita desiderata.

E’ intuitivo che tale circuito combinatorio dipende, in generale, dal tipo di flip-flop utilizzati.Dobbiamo allora scegliere tra i flip-flop da noi conosciuti: escludendo direttamente il FF di tipo S-R,abbiamo FF di tipo D, di tipo T e di tipo J-K. Come primo caso, scegliamo un flip-flop di tipo D, delquale è opportuno riportare ancora una volta la tabella di pilotaggio:

111

RESET001

SET110

000

DQQ +

Ricordiamo anche che l’espressione booleana dell’uscita Q+ di questo flip-flop è semplicementeQ+=D.

Lo schema generale del circuito che ci accingiamo a realizzare sarà dunque il seguente:

Le funzioni da sintetizzare sono l’uscita Z e Y1=D1,Y2=D2. Le variabili di ingresso per questefunzioni sono l’ingresso X e y1,y2. Cominciamo, per esempio, da Y1, che corrisponde all’ingresso Ddel primo flip-flop. Dobbiamo far riferimento, ancora una volta, alla tabella degli stati:

000110

100101

000100

10x\yy 21

Come si osserva nella tabella di pilotaggio del flip-flop di tipo D, la funzione D vale 1 quandol’uscita Q si trova ad 1. Questo significa che la funzione D avrà un 1 (cioè un mintermine) incorrispondenza delle combinazioni di x,y1,y2 per le quali Y1=1; allora, ci basta osservare la tabelladegli stati e individuare le combinazioni di x,y1,y2 per le quali risulta Y1=1:

Page 34: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli34

000110

00101

000100

10x\yy 21

11

Abbiamo 1 sola combinazione, corrispondente quindi ad 1 solo mintermine. Possiamo alloratracciare la seguente tabella della verità:

X111

X011

0101

0001

1110

0010

0100

0000

Yxyy 121

All’unico mintermine trovato prima abbiamo aggiunto le due condizioni don’t care corrispondential fatto che la configurazione y1=1 e y2=1 è risultata inutilizzata.

A questa tabella corrisponde la seguente mappa di Karnaugh (ad 8 caselle visto che le variabili diingresso sono 3):

54

76

32

1021

10

11

01

00

10x\yy

XXXX11

Se allora poniamo ad 1 solo la condizione don’t care corrispondente al mintermine 7, è evidenteche l’espressione booleana della funzione è

xyDY 211 ==

In modo analogo dobbiamo adesso procedere per Y2, individuando cioè, sulla tabella degli stati, lecombinazioni di x,y1,y2 per le quali Y2=1:

00010

10001

00000

10x\yy 21

111111

Page 35: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli35

Abbiamo 3 combinazioni, cui corrispondono quindi 3 mintermini. Aggiungendo ancora una voltale due condizioni don’t care corrispondenti a y1 e y2 poste entrambe ad 1, otteniamo la seguentetabella della verità:

X111

X011

0101

1001

0110

1010

0100

1000

Yxyy 221

La corrispondente mappa di Karnaugh è la seguente:

54

76

32

1021

10

11

01

00

10x\yy

11XXXX

1111

Se poniamo ad 1 solo la condizione don’t care corrispondente al mintermine 6, otteniamo unsubcubo di ordine 2, cui corrisponde

'xDY 22 ==

L’ultima funzione da sintetizzare è l’uscita Z:

===

00001)C(10

001001)B(01

000001)A(00

1010x\yy 21

11

X111

X011

1101

0001

0110

0010

0100

0000

Zxyy 21

Come si nota dalla tabella delle uscite, c’è una sola combinazione di x,y1,y2 per la quale risultaZ=1, ossia 1 solo mintermine, cui si sono aggiunte le solite due condizioni don’t care.

La corrispondente mappa di Karnaugh è la seguente:

Page 36: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli36

11XXXX

54

76

32

1021

10

11

01

00

10x\yy

Se poniamo ad 1 solo la condizione don’t care corrispondente al mintermine 7, otteniamo unsubcubo di ordine 1, cui corrisponde

xyZ 1=

A questo punto, conoscendo le espressioni booleane delle tre funzioni che il circuitocombinazionale deve realizzare, possiamo tracciare lo schema logico del circuito combinazionale, inmodo da ottenere lo schema logico dell’intero circuito sequenziale:

Ovviamente, abbiamo perfezionato lo schema includendo l’ingresso di clock3 dei due flip-flop.In conclusione, abbiamo un circuito sequenziale la cui parte di memoria è costituita da 2 flip-flop

di tipo D e la cui parte combinatoria è costituita da 2 porte AND e una porta NOT.Questo è quello che si ottiene se si utilizzano flip-flop di tipo D. Vediamo allora se e come

cambiano le cose se utilizziamo flip-flop di tipo T:

3 L’impulso di clock giunge sincronicamente ai bit in ingresso

Page 37: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli37

Le differenze, con il caso precedente, derivano evidentemente dal fatto che la tabella di pilotaggiodel FF di tipo T, riportata qui di seguito, è diversa da quella del FF di tipo D:

RESET101

011

SET110

000

TQQ +

In questo caso, dobbiamo tener presente che la funzione T ha un 1 (cioè un mintermine) quandol’uscita Q commuta (da 0 ad 1 oppure da 1 a 0).

Naturalmente, dato che il funzionamento dei FF influisce solo sulle funzioni Y1 e Y2, la funzionedi uscita Z rimane identica al caso precedente.

Considerando, quindi, solo le funzioni Y1=T1 e Y2=T2, abbiamo quanto segue:

xyyT

10

11

01

00

10x\yy

X111

X011

1101

1001

1110

0010

0100

0000

Txyy

0110

00101

000100

10x\yy

211

54

76

32

1021

121

21

+=→→→

1111XXXX11

000011

Page 38: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli38

xy'x'yT

10

11

01

00

10x\yy

X111

X011

0101

1001

1110

0010

0100

1000

Txyy

00010

10101

00000

10x\yy

222

54

76

32

1021

121

21

+=→→→

11XXXX11

11

1100

11

Note le espressioni booleane delle funzioni T1 e T2, possiamo procedere nuovamente allasintetizzazione del circuito combinatorio:

Facciamo osservare che, nello schema appena disegnato, si è usata una porta NOT per invertire y2:in effetti, si tratta di una operazione inutile, in quanto sappiamo che i flip-flop danno sia l’uscita Qsia il suo complemento, per cui basta prelevare 2'y direttamente dal terminale 2Q , risparmiando cosìuna porta.

Ad ogni modo, si osserva che il circuito combinatorio risulta più complicato (cioè con un numerodi porte maggiore) rispetto al precedente.

Concludiamo adesso questo esempio supponendo di utilizzare, per il circuito di memoria, dueflip-flop di tipo J-K, la cui tabella di pilotaggio è fatta nel modo seguente:

011

RESET01

SET10

000

KJQQ

XX11XXXX11XX

+

Page 39: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli39

La prima differenza sostanziale, con i due casi precedenti, è nel fatto che le funzioni dasintetizzare sono questa volta 4 (J1,K1,J2,K2), per cui dovremo costruire 4 distinte mappe diKarnaugh.

Dal punto di vista delle tabelle di verità da ricavare, osserviamo quanto segue:

• la funzione J presenta un 1 (cioè un mintermine) solo quando l’uscita commuta da 0 ad 1;presenta poi due condizioni don’t care, quando l’uscita rimane 1 oppure quando commuta da 1a 0;

• la funzione K presenta invece un 1 (cioè un mintermine) solo quando l’uscita commuta da 1 a0; presenta inoltre due condizioni don’t care, quando l’uscita rimane 0 oppure quando commutada 0 a 1.

Cominciamo dalla funzione J1, i cui mintermini si ottengono in corrispondenza di quellecombinazioni di x,y1,y2 per le quali l’uscita Q1 va da 0 ad 1:

0110

00101

000100

10x\yy 21

000011

Come si vede, abbiamo un mintermine in corrispondenza di x=1,y1=0 e y2=1, ma abbiamo anchedue condizioni don’t care, in corrispondenza di x=0,y1=1 e y2=0 e di x=0, y1=1 e y2=0. A questacondizione don’t care si aggiungono poi quelle dovute al fatto che la configurazione di stato y1=1 ey2=1 non è stata assegnata. Di conseguenza, abbiamo la seguente tabella della verità:

X111

X011

X101

X001

1110

0010

0100

0000

Jxyy 121

La corrispondente mappa di Karnaugh, comprendente 4 condizioni don’t care, è la seguente:

XXXXXXXX11

54

76

32

1021

10

11

01

00

10x\yy

Page 40: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli40

Se poniamo ad 1 solo la condizione don’t care corrispondente al mintermine 7, otteniamo unsubcubo di ordine 1, cui corrisponde la funzione

xyJ 21 =

Passiamo adesso alla funzione K1, che avrà un mintermine in corrispondenza di quellecombinazioni di x,y1,y2 per le quali l’uscita Q1 va da 1 a 0:

0110

0101

0100

10x\yy 21

000011000000

Abbiamo ancora una volta un solo mintermine, in corrispondenza di x=1,y1=1 e y2=0, ma abbiamodiverse condizioni don’t care (dato che la funzione K presenta condizione don’t care quando l’uscitadel flip-flop rimane 1 oppure quando commuta da 0 ad 1). Di conseguenza, abbiamo la seguentetabella della verità:

X111

X011

1101

1001

X110

X010

X100

X000

Kxyy 121

La corrispondente mappa di Karnaugh, comprendente ben 6 condizioni don’t care, è la seguente:

1111XXXXXXXXXXXX

54

76

32

1021

10

11

01

00

10x\yy

E’ interessante notare, dal confronto di questa mappa di Karnaugh con quella della funzione J1,che ad ogni 0 o 1 della mappa di J1 corrisponde sempre una X nella mappa di K1. Stesso discorsovarrà, tra un attimo, per le mappe di J2 e K2.

In questo caso, la semplificazione è estremamente semplice, in quanto ci basta porre ad 1 tutte lecondizioni don’t care per concludere che

1K1 =

Porre K1=1 significa, fisicamente, collegare direttamente all’alimentazione il pin K del flip-flopnumero 1.

Page 41: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Circuiti sequenziali - Parte I

Autore: Sandro Petrizzelli41

Abbiamo dunque completato il circuito di pilotaggio del primo flip-flop. In modo analogo,dobbiamo procedere per il secondo flip-flop.

Cominciamo dalla funzione J2:

X111

X011

0101

1001

X110

X010

0100

1000

Jxyy

00010

1001

00000

10x\yy

221

21

110011

11

La corrispondente mappa di Karnaugh è la seguente:

54

76

32

1021

10

11

01

00

10x\yy

11XXXXXXXX

11

Se poniamo ad 1 le condizioni don’t care corrispondenti ai mintermini 2 e 6, otteniamo unsubcubo di ordine 2, cui corrisponde la funzione

'xJ 2 =

Infine, consideriamo la funzione K2:

X111

X011

X101

X001

1110

0010

X100

X000

Kxyy

0010

10101

0000

10x\yy

221

21

0011000011

La corrispondente mappa di Karnaugh è la seguente:

Page 42: Appunti di Elettronica Digitale - Libero.itusers.libero.it/sandry/download/Digitaledownload/Digitale_04a.pdf · Appunti di “Elettronica dei sistemi digitali” - Capitolo 4 Autore:

Appunti di “Elettronica dei sistemi digitali” - Capitolo 4

Autore: Sandro Petrizzelli42

XXXXXXXX11XXXX

54

76

32

1021

10

11

01

00

10x\yy

Ponendo ad 1 le condizioni don’t care sulla seconda colonna (mintermini 1,5 e 7), otteniamoancora una volta un subcubo di ordine 2, cui corrisponde la funzione

xK1 =

A questo punto, siamo in grado di sintetizzare il circuito combinatorio nel suo complesso:

La cosa più interessante da notare è che, nonostante siano aumentate, rispetto ai casi precedenti, lefunzioni da sintetizzare, il circuito di pilotaggio si è decisamente semplificato.

Autore: SANDRO PETRIZZELLIe-mail: [email protected]

sito personale: http://users.iol.it/sandrysuccursale: http://digilander.iol.it/sandry1