Sei sulla pagina 1di 28

Information and Communication Technology – Modulo n. 1 Pag.

Claudio CANCELLI
(www.claudiocancelli.it)

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 2

INDICE

INDICE DEI CONTENUTI


1. SCOPO ……………………………………….………………………………………………………………..………….. PAG. 3
2. LEGENDA ………………………………………………………………………………….……………………..……… PAG. 4
3. PROSPETTO MODULO DIDATTICO I ……………………………………………………………… PAG. 4
4. SVILUPPO DELL’UNITA’ DI LAVORO I.1
I.1.1 - Conoscere la differenza tra sistema dinamico e sistema algebrico .... PAG. 6
I.1.2 - Conoscere e comprendere il significato di variabile di stato ……….………. PAG. 11
I.1.3 - Conoscere i concetti di sistema a stati finiti, di sistema discreto
e di automa …………………………………………………………………………………………………………… PAG. 13
I.1.4 – Conoscere la differenza tra automi sincroni e asincroni …………………………. PAG. 15
I.1.5 – Conoscere e comprendere i concetti relativi agli automi di Mealy
e di Moore …………………………………………………………………………………………………………….. PAG. 16
I.1.6 – Saper analizzare e/o creare la struttura di un automa …………………………. PAG. 24

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 3

Automi a Stati Finiti”

SCOPO
SVILUPPARE LA PRIMA UNITÀ DI LAVORO DEL MODULO “AUTOMI A STATI
FINITI”, EVIDENZIANDO IN PARTICOLARE IL CONTRIBUTO CHE L’ELETTRONICA
FORNISCE NELL’ANALISI E NEL PROGETTO DELLE MACCHINE SEQUENZIALI.
E’ INOLTRE AFFRONTATA UNA PARTE INTRODUTTIVA SULLO STUDIO DEI
SISTEMI E DEI LORO MODELLI PER OFFRIRE L’OPPORTUNITÀ DI COMPRENDERE IL
PASSAGGIO DA UN SISTEMA REALE AD UN MODELLO E FORNIRE COSÌ I
REQUISITI NECESSARI PER AFFRONTARE LA SUCCESSIVA FASE DI
PROGETTAZIONE O DI ANALISI.

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 4

1. LEGENDA
Cn = OBIETTIVI RELATIVI ALLE CONOSCENZE (sapere nel senso di possedere conoscenze
descrittive di tipo formale/astratto)
Ab= OBIETTIVI RELATIVI ALLE ABILITA’ (saper fare, nel senso di saper utilizzare in concreto
date conoscenze)

CT = OBIETTIVI RELATIVI ALLA TEORIA


CL = OBIETTIVI RELATIVI AL LABORATORI

UNITA’ DI LAVORO INERENTI LA TEORIA

UNITA’ DI LAVORO INERENTI LA TEORIA E LA PRATICA

VERIFICHE SCRITTE

2. PROSPETTO MODULO DIDATTICO I

Modulo I: Automi a stati finiti


Obiettivi di competenza finali attesi Cn = OBIETTIVI RELATIVI ALLE
1 – Saper analizzare un automa a stati finiti (Esercizi da CONOSCENZE (sapere nel senso di
definire con l’Unità di Lavoro I.2), oppure possedere conoscenze descrittive di
2 – Saper progettare un automa a stati finiti (Esercizi da tipo formale/astratto)
definire con l’Unità di Lavoro I.2) Ab= OBIETTIVI RELATIVI ALLE
ABILITA’ (saper fare, nel senso di
Modalità di verifica, recupero ed approfondimento saper utilizzare in concreto date
Verifica in itenere (di tipo formativo), sommativa scritta alla conoscenze)
T => TEORIA -- P => PRATICA
fine del modulo. Eventuale rivisitazione dei contenuti e
completamento. Eventuale approfondimento mirato ad ulteriori
esempi di analisi o di progetto. Verifica orale e scritta.
Recupero pomeridiano.

Unità di Lavoro I.1 – Teoria di Base Prerequisiti – Ottima conoscenza dei circuiti combinatori
(Modulo B) e dei circuiti sequenziali (Modulo D)
Obiettivi di Teoria Fondamentali Obiettivi di Laboratorio Fondamentali
CnT1–I.1.1 – Conoscere la differenza tra Non previsti
sistema dinamico e sistema algebrico
(Significato di sistema, di variabile di Obiettivi di Laboratorio Opzionali
ingresso, di uscita) Non previsti
CnT2-I.1.2 – Conoscere e comprendere il
significato di variabile di stato
CnT3-I.1.3 – Conoscere i concetti di
sistema a stati finiti, di sistema discreto e
di automa
CnT4-I.1.4 – Conoscere la differenza tra
automi sincroni e asincroni
CnT5-I.1.5 – Conoscere e comprendere i
concetti relativi agli automi di Mealy e di
Moore

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 5
AbT1-I.1.6 – Saper analizzare e/o creare
la struttura di un automa
Corrispondenze tra obiettivi e
verifiche
Test –1 Ö (CnT1); 2 Ö (CnT2); 3 Ö (CnT3);
4 Ö (CnT4); 5 Ö (CnT4); 6 Ö (CnT5); 6 Ö
(CnT5); 7 Ö (CnT5); 8 Ö (CnT5); 9 Ö
(CnT5);
Problemi
Pr.1 Ö ABT1; Pr.2 Ö ABT1; Pr.3 Ö ABT1;
Obiettivi di Teoria Opzionali
Non previsti
Modalità di verifica, recupero ed
approfondimento
Verifica formativa in itenere con esercizi
mirati alla valutazione delle conoscenze e
delle abilità, eventuale rivisitazione dei
contenuti; verifica scritta alla fine
dell’unità. L’eventuale approfondimento
mirato avverrà in itinere. L’eventuale
recupero sarà successivo alla verifica
scritta prevista con J.2. e comunque
previsto con n.ro 4 ore pomeridiane.

Unità di Lavoro I.2 – La Prerequisiti – Unità di Lavoro I.1 – Teoria di Base ed ottima
realizzazione conoscenza dei circuiti combinatori (Modulo B)e dei circuiti
sequenziali (Modulo D)
Obiettivi di Teoria Fondamentali Obiettivi di Laboratorio Fondamentali
AbT1–I.2.1 – saper analizzare un automa AbL1–I.2.3 – verificare sperimentalmente il funzionamento
AbT2–I.2.2 – saper progettare un automa dell’automa pressa
Obiettivi di Teoria Opzionali AbL2–I.2.4 – imparare ad usare il programma di simulazione
CnT3-I.2.3 - Ridurre alla forma minima meamoo.exe
(Indistinguibilità e Minimizzazione degli AbL3–I.2.5 – rivisitare, attraverso la simulazione, i concetti relativi
stati all’indistinguibilità degli stati
AbL4–I.2.6 – verificare sperimentalmente il funzionamento
Corrispondenze tra obiettivi e dell’automa riconoscimento di sequenza
verifiche Obiettivi di Laboratorio Opzionali
Da definire Non previsti
Modalità di verifica, recupero ed
approfondimento
Da definire

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 6

SVILUPPO DELL’UNITA’ DI LAVORO I.1 
CnT1 – I.1.1
Conoscere la differenza tra sistema dinamico e sistema algebrico

SISTEMA
Evitiamo la fatica di ricercare la definizione di sistema e cerchiamo di dare un
significato al termine richiamando i concetti che ci saranno utili per la nostra
trattazione.
Cos’è secondo voi un sistema? Le risposte le riportiamo in un angolino sulla lavagna e le
verificheremo nel corso dei primi tre obiettivi di questa unità di lavoro.
Per sistema, intanto, possiamo intendere un insieme di elementi, o sottosistemi,
interconnessi gli uni agli altri da relazioni. Tali elementi interagiscono tra di loro in
modo da raggiungere uno scopo comune non raggiungibile evidentemente dal singolo
elemento. Un sistema sulla base degli Ingressi X (che hanno il significato di variabili
indipendenti ossia quelle grandezze che possono assumere un valore assegnato
nell’ambito del campo di variabilità previsto. Ricordate in matematica la x sull’asse
delle ascisse?) consente di ottenere le Uscite Y (che hanno il significato di variabili
dipendenti ossia quelle grandezze che hanno il significato di risultato, obiettivo.
Ricordate in matematica la y sull’asse delle ordinate?).
Esempio 1) La macchina che eroga il caffè è l’esempio che prendiamo in riferimento
per mettere in evidenza gli ingressi e le uscite. Proviamo a pensare a ciò
che può essere considerato variabile dipendente e variabile indipendente.

Figura 1 – Esempio di sistema

Abbiamo trascurato un elemento importante, ricordatemelo, lo


riprenderemo più avanti.

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 7

SISTEMI STATICI E SISTEMI DINAMICI


Una delle suddivisioni dei sistemi riguarda la dipendenza dell’uscita in funzione degli
ingressi e dello stato del sistema. In tale suddivisione rientrano i sistemi statici, o
algebrici e i sistemi dinamici.

SISTEMI

SISTEMI SISTEMI
STATICI DINAMICI

y = f(ingressi) y = f(stato, ingressi)

Nei sistemi statici l’uscita è funzione dei soli ingressi y = f(t), mentre nei sistemi
dinamici l’uscita è funzione dello stato, che rappresenta la storia passata, sinonimo di
memoria, ed eventualmente degli ingressi.
Nell’ambito dell’Elettronica Digitale, la suddivisione riguarda i circuiti combinatori ed i
circuiti sequenziali.

CIRCUITI CIRCUITI
COMBINATORI SEQUENZIALI

Es. I.1.1) In figura 1 è riportato l’esempio di un circuito combinatorio la cui uscita,


y, è funzione solo degli ingressi x1, x2 ed x3. Infatti:

Y = x1 + x2 * x3

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 8

X1 Y

X2

X3

Figura 2 - Esempio di circuito combinatorio

L’uscita è funzione solo ……………………………………….………….. e


quindi ……………………………………………………………………….……………………………………………………………

Es. I.1.2) In figura 3 è riportato l’esempio di un circuito sequenziale le cui uscite,


Q e Q negata, sono calcolate sulla base dello stato di memoria del flip-
flop.
Chiarire tale concetto descrivendo il funzionamento del FF-SR.
…………………………………………………….………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
Ck
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
Figura 3 – Flip-Flop SR
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………

Es. I.1.3) Un quesito per voi. Un circuito in serie è composto da un generatore in


continua, da un interruttore, da una condensatore e da un resistore.

Figura 4 – Carica di un condensatore

Il condensatore rappresenta l’elemento di memoria e la tensione ai suoi


capi rappresenta la variabile di stato. La tensione ai capi della resistenza

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 9

è l’uscita del sistema: tale segnale dipende solo dal segnale di ingresso
(tensione di ingresso vi(t)) o dipende anche dalla carica iniziale del
condensatore? Ricordate che se la risposta è: l’uscita è anche funzione
dello stato, allora il circuito è dinamico ed esiste quindi una condizione di
memoria
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………….…………..

Es. I.1.4) Non più di 1 minuto per rispondere alla seguente domanda. Per quale
motivo i circuiti statici si chiamano anche circuiti algebrici?

……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………….…………..

E per quale motivo nessuno di voi ha sollevato delle obiezioni? Vuol dire
che è chiara a tutti questa corrispondenza anche in virtù della risposta
che avete fornito? Lo verificheremo successivamente.

Es. I.1.5) Concludiamo tale obiettivo valutando il partitore resistivo riportato in Fig.
5.

Figura 5 – Partitore resistivo

Proviamo a scrivere la tensione di uscita in funzione della tensione di


ingresso:

vo(t) = vi(t) * R2
R1 + R2

E’ vero che la tensione di uscita dipende solo dalla tensione di ingresso a


meno di una costante? …………... E quindi siamo in presenza di un sistema
……………………………………….……..

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 10

E’ vero che il circuito non ha memoria ? ……………..


Ed è vero che se il valore delle resistenze dipende dalla temperatura e
quindi per effetto Joule anche dalla corrente dobbiamo constatare che la
tensione di uscita è funzione oltre che della tensione di ingresso anche
del valore delle resistenze per una data temperatura? ……………………, ed in
questo caso saremmo in presenza di un sistema …………………………..………………...

Se hai qualche dubbio su tale problema, ma anche su quanto è stato fatto


fino a questo punto, lo esponi per poterlo successivamente riprendere e
discutere in classe.

i. ………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………….……………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

ii. ………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………….……………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

iii.………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………….……………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 11

CnT2-I.1.2
Conoscere e comprendere il significato di variabile di stato

STATO DI UN SISTEMA
Cosa si intende per Stato di un sistema? E’ L’insieme delle grandezze che
definiscono il sistema in un certo istante, e questi valori, tengono conto della storia
passata del sistema. Lo stato, quindi, per i sistemi dinamici rappresenta la condizione
di Memoria. Si può quindi affermare che l’uscita di un sistema in un certo istante
dipende dall’ingresso in quell’istante e dalla storia passata del sistema, ossia ciò che il
sistema ricorda; possiamo così studiare l’evoluzione del sistema pensando allo stato
futuro come funzione dello stato attuale.
Con degli esempi tutto sarà più semplice.

STATO MEMORIA

Se il sistema ha una sola variabile, lo stato del sistema in un certo istante coincide con
il valore che la variabile di stato ha in quell’istante; se invece il sistema presenta più
variabili di stato, lo stato del sistema in un certo istante coincide con l’insieme dei
valori assunti da tutte le variabili di stato.

Es. I.1.6) Riprendiamo l’elemento importante che abbiamo trascurato con l’esempio
1. Se per prendere un caffè che costa 30 cent. dispongo di tre monete di
10 cent. cadauna, dopo che avrò inserito la prima moneta, il sistema dovrà
ricordare che la monetà inserita è 10 cent? ………..
e dopo che avrò inserito la seconda, il sistema dovrà ricordare che le
monete inserite sono state due per un totale di 20 cent.? …………
Bene, questo ricordare si chiama Stato del Sistema, in quanto tiene
conto della storia passata e serve per determinare l’uscita. È
vero? ……………

Es.I.1.7) Se ad uno di voi chiedo “come ti chiami?” è vero che c’è una risposta in
funzione della mia domanda? …….… e di un’altra condizione
importantissima, che è la ………………………….…….….. senza la quale non ci
sarebbe risposta o potrebbe essere una volta Carlo, la successiva
Carmelo, ecc.

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 12

Es.I.1.8) Riprendendo il rif. I.1.4 di tale dispensa) rileggere il testo e valutate le


differenze tra i grafici riportati in b) ed in c) per meglio comprendere il
concetto di stato.

Esempio 2) Consideriamo il sistema “Ascensore a tre piani” . Possiamo pensare che


l’ingresso del sistema sia una variabile associata al pulsante premuto,
l’uscita è il movimento della cabina verso l’alto o verso il basso , e lo stato

(T, 1, 2) (+1, +2, -1, -2, NONE)

Figura 6 – Il sistema ascensore

del sistema quale potrebbe essere? Si può associare lo stato al piano in


cui si trova la cabina, in modo che l’uscita è così univocamente
determinata: noto il piano ed il pulsante premuto è univocamente
determinabile il movimento che deve compiere la cabina. Se consideriamo
Input Uscite
ad esempio che il piano di partenza sia il primo (stato
precedente), se viene premuto 2 (ingresso) la
+1 cabina si muove verso l’alto di uno (uno dei possibili
2 +2 valori che può assumere l’uscita), se invece sono al
secondo piano e si preme ancora due la cabina non si
NONE
1 muove (altro possibile valore che può assumere l’uscita
in funzione dell’ingresso (lo stesso) e dello stato
-1 iniziale (differente).
-2
T

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 13

CnT2-I.1.3
Conoscere i concetti di sistema a stati finiti, di sistema discreto e di automa

SISTEMA A STATI FINITI


Qual è il significato del termine Finito? Finito è sinonimo discreto, numerabile,
digitale. Il numero di penne che voi avete nell’astuccio è finito, il valore che può
assumere una grandezza binaria è finito,….

Quindi per Sistema a Stati Finiti (FSM_Finite State Machine) si intende un sistema
le cui variabili, di ingresso, di uscita e di stato assumono

un numero finito di valori.

AUTOMA
Se tali variabili transitano da un valore all’altro solo in corrispondenza di determinati
istanti di tempo, il sistema di dice discreto nel tempo e costituisce un

AUTOMA a stati finiti.

Gli automi si definiscono anche macchine sequenziali (a differenza dei sistemi


combinatori).
Un’ automa a stati finiti può essere compiutamente descritto tramite la Funzione di
Stato Futuro e la Trasformazione di Uscita.

L’automa essendo un modello è un concetto astratto tramite il quale noi riusciremo a


descrivere il funzionamento di una macchina o di un processo.

FUNZIONE DI STATO FUTURO e TRASFORMAZIONE DI USCITA


Se il quesito è: lo stato attuale di un sistema dovrà tener conto della storia passata
di quel sistema (che è come dire lo stato futuro dovrà tener conto della storia attuale)
possiamo rappresentare matematicamente la Funzione di Stato Futuro “x” nell’istante
“i+1” dipendente (F) dal valore che lo stato “x” e l’uscita “u” hanno nell’istante
precedente “i” :

x(i+1) = F(x(i), u(i)) 1

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 14

A sua volta l’uscita “y” nell’istante “i” dipende dal valore dello stato “x” e
dall’ingresso “u” sempre nell’istante “i”. Da un punto di vista matematico questi legami
sono determinati dalla funzione di Trasformazione di Uscita:

y(i) = G(x(i), u(i)) 2

Es. I.1.9) Il sistema dinamico descritto in Es. I.1.4 (carica di un condensatore)


rappresenta un automa? …………..
Spiega il perché.
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………...

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 15

CnT2-I.1.4
Conoscere la differenza tra automi sincroni e asincroni

CLASSIFICAZIONE DEGLI AUTOMI


Gli automi si possono classificare in:

AUTOMI SINCRONI E’ presente un segnale di sincronizzazione (Clock di


sistema) che con il fronte attivo determina la
transizione dello stato del sistema (secondo la “1”).

AUTOMI ASINCRONI In assenza di temporizzazioni lo stato del sistema


futuro varia nel momento in cui c’è una variazione
dello stato attuale o dell’ingresso. La transizione è
istantanea, a meno del ritardo introdotto dai circuiti.

Es. I.1.10) Il FF-SR descritto in Es. I.1.3 rappresenta un automa ………………………………..


in
quanto ………………………………………………………………………………………………………………………
……………

Ora riporta il diagrammi di temporizzazione dell’uscita Q, per quattro


fronti attivi del clock (Il clock è attivo sul fronte di salita) in funzione
degli ingressi che sei libero di graficare.

Ck

t
S

t
R

Q t

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 16

CnT2-I.1.5
Conoscere e comprendere i concetti relativi agli automi di Mealy e di Moore

Gli automi a stati finiti sono classificabili secondo due modelli:

AUTOMA di MEALY - E’ un modello che serve per rappresentare i sistemi


propri, ossia quei sistemi per i quali l’uscita è funzione
dello stato (precedente) e dell’ingresso

Il modello di Mealy si può schematizzare secondo il seguente schema:

Stato Stato
Successivo Precedente

Clock

u(i) F G y(i)
x(i+1) x(i) (Trasformazio
(Funzione di Ritardo
Stato Futuro) ne di Uscita)
& Sync

Rete Memoria Rete


Combinatoria Combinatoria

Fig. 7 – Schema a blocchi dell’automa di Mealy

Per il modello di Mealy valgono le seguenti regole:


o quando l’automa si trova nello stato x(i) e si presenta un nuovo ingresso u(i)
transita in un nuovo stato tramite la rete combinatoria F. Questo passaggio
viene indicato transizione di stato.
o l’automa che si trovi nello stato x(i) quando riceve un nuovo ingresso u(i)
transita in un nuovo stato al quale corrisponde una nuova uscita.

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 17

Tra lo stato precedente e lo stato successivo è interposto il blocco “Ritardo&Sync”.


Nel caso di Automa Sincrono il trasferimento dello stato successivo è sincronizzato
ad un Clock, mentre nel caso di Automa Asincrono il trasferimento avviene solo in
funzione della variazione di uno degli ingressi.

AUTOMA di MOORE - E’ un modello che serve per rappresentare i sistemi


impropri, ossia quei sistemi per i quali l’uscita è solo
funzione dello stato

Il modello di Moore si può schematizzare secondo il seguente schema:

Stato Stato
Successivo Precedente

Clock

u(i) F G y(i)
x(i+1) x(i) (Trasformazio
(Funzione di Ritardo
Stato Futuro) ne di Uscita)
& Sync

Rete Memoria Rete


Combinatoria Combinatoria

Fig. 8 – Schema a blocchi dell’automa di Moore

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 18

Per il modello di Moore valgono le seguenti regole:


o l’automa che si trovi nello stato x(i) in presenza di un nuovo ingresso u(i)
transita in un nuovo stato. Questo passaggio viene indicato transizione di
stato.
o l’automa che si trovi nello stato x(i) in presenza di un nuovo ingresso u(i)
transita in un nuovo stato al quale corrisponde una nuova uscita.

Da un punto di vista matematica l’automa di Moore può essere descritto tramite la


funzione di stato futuro e la trasformazione d’uscita:

Esempio 3) Riprendiamo ancora il FF-SR per sostenere a questo punto che esso
rappresenta un Automa di Moore sincrono con il segnale di Clock Ck. In
assenza di variabili intermedie l’uscita del Flip-Flop coincide con lo stato
del sistema e
quindi il Blocco G Fai
S Q
vale “1”. La rif.all’Es.2
di pag. 45
transizione del testo Ck

dell’uscita d’altra R Q
parte avviene in
concomitanza del 8
Figura
Fig. 9 –1Flip
– Flip-Flop
-Flop SR SR
fronte attivo del
S Q
clock e dipende
dal valore degli Fig. 10 – Latch SR
ingressi e dello R Q
stato precedente
(valore che Q Figura 3 – Latch SR
assumeva al
precedente fronte attivo). Un latch rappresenta pur sempre un Automa
di Moore con G=1, ma asincrono per l’assenza del clock.

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 19

RITARDO UNITARIO
Nel caso in cui per un’automa di Moore si abbia:

x(i+1) = u(i) y(i) = x(i)

5 6

Si è in presenza di un ritardo unitario, ossia l’uscita in un certo istante coincide con


l’ingresso nell’istante immediatamente precedente: ciò vuol dire che l’uscita del
sistema dinamico risponde con un certo ritardo all’ingresso. In un sistema di questo
tipo la funzione di trasferimento risulta quindi che l’uscita nell’istante successivo
dipende dall’ingresso nell’istante precedente:

y(i+1) = u(i) 7

Esempio 4) Ed eccoci al FF tipo D. Sapete perché D? D sta per Delay e quindi


ritardo. Il Flip-Flop tipo D è un esempio di ritardo unitario sincrono in
quanto l’uscita riporta con un ritardo che dipende dal ciclo di clock il
segnale in ingresso.

L’elemento di ritardo, nelle fig. 6 e 7, è di fatto l’elemento di sincronizzazione SYNC,

Funzione di stato futuro

u(i) y(i)
x(i+1)
F Δ G

x(i)

Fig. 11 – Il ritardo unitario


nell’automa di Mealy

Volendo ora pensare all’automa come composto da una unità puramente algebrica e da
un elemento unitario, si può pensare di raggruppare i blocchi F e G in un unico blocco
puramente combinatorio C, dopo averli evidenziati, rispettivamente di MEALY e di
MOORE, in fig. 12.

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 20

y(i) y(i)
G G
u(i)
u(i)

F x(i+1) F x(i+1)
x(i) x(i)

Δ Δ

Fig. 12 – Rappresentazione di una macchina


sequenziale secondo MEALY e MOORE

Dal diagramma a blocchi di fig. 13 si deduce che un automa è schematizzabile con una
parte puramente combinatoria e da un blocco di memoria (blocco di ritardo unitario).
Il blocco di memoria avrà il compito di memorizzare il vecchio stato, x(i) (detto anche
entrata secondaria), fino a quando non sarà necessario sostituirlo con il nuovo x(i+1)
(detto anche uscita secondaria). Supponendo che le variabili siano binarie la parte
combinatoria si realizza con circuiti combinatori ed il ritardo unitario con circuiti
sequenziali.

u(i) y(i)
C
(Circuito
Combinatorio)
x(i+1) x(i)

Δ
(Memoria)

Fig. 13 – Rappresentazione di una macchina


sequenziale

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 21

RAPPRESENTAZIONE DEGLI AUTOMI

1 Un automa si può rappresentare in tre modi:

TABELLA DEGLI STATI


(Funzione dello stato futuro e Trasformazione di Uscita)

DIAGRAMMA DEGLI STATI 3


CARTA ASM
2

Cerchiamo ora di rappresentare un sistema descritto da:

o tre ingressi (uO, u1, u2)


Input = {uO, u1, u2}
o due stati (x0, x1)
Stato = {x0, x1}
o due uscite (y1, y2)
Output = {y1, y2}

1. TABELLA DEGLI STATI


La prima tabella, funzione dello stato futuro, riporta l’incrocio tra gli stati
precedenti (righe) e gli ingressi (colonne) ed evidenzia per ciascuna corrispondenza lo
stato successivo.
Supponiamo che il problema sia posto nel modo seguente:
- se lo stato iniziale è x0 e l’ingresso è uO, lo stato finale sarà x0;
- se lo stato iniziale è x0 e l’ingresso è u1, lo stato finale sarà x1;
- se lo stato iniziale è x0 e l’ingresso è u2, lo stato finale sarà x1;
- se lo stato iniziale è x1 e l’ingresso è u0, lo stato finale sarà x1;
- se lo stato iniziale è x1 e l’ingresso è u0, lo stato finale sarà x0;
- se lo stato iniziale è x1 e l’ingresso è u0, lo stato finale sarà x1;
La funzione dello stato futuro risulterà:

Ingressi

In u0 u1 u2
Precedente
Stato

x
Stato
o x0 x1 x1
Stati successivi
x1 x1 x0 x1
Tabella 1 –Funzione dello stato futuro

La seconda tabella, trasformazione di uscita, stabilisce la corrispondenza in funzione


dello stato ed eventualmente anche degli ingressi (solo per Mealy).

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 22

Supponiamo che il problema sia posto nel modo seguente:


- se lo stato iniziale è x0 e l’ingresso è uO, l’uscita sarà y1;
- se lo stato iniziale è x0 e l’ingresso è u1, l’uscita sarà y0;
- se lo stato iniziale è x0 e l’ingresso è u2, l’uscita sarà y0;
- se lo stato iniziale è x0 e l’ingresso è uO, l’uscita sarà y1;
- se lo stato iniziale è x0 e l’ingresso è u1, l’uscita sarà y1;
- se lo stato iniziale è x0 e l’ingresso è u2, l’uscita sarà y0;
La trasformazione di uscita, con il modello di Mealy, risulterà:

Ingressi

In u0 u1 u2
Precedente
Stato

x
Stato
o y1 y0 y0 Uscite

x1 y1 y1 y0

Tabella 2 – Trasformazione di uscita

Es.I.1.11) Un problemino! Con il modello di Moore l’uscita è funzione solo dello


stato. Sapresti riportare la trasformazione di uscita per tale modello (fai
riferimento ad un sistema con due variabili di stato, tre ingressi e due uscite).

2. DIAGRAMMA DEGLI STATI


Le stesse informazioni fornite dalle tabelle possono essere rappresentate sotto

MEALY MOORE
Uscita
Ingresso
Ingresso
u0/y1 u0

transizione
transizione

x0 x0/y0

Stato Uscita
Stato

Fig. 14 – Rappresentazione delle uscite,


ingressi e stati

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 23

forma grafica tramite il diagramma degli stati. Gli stati del sistema sono
rappresentati da nodi e la transizione tra stati è evidenziata con archi orientati sui
quali è indicato uno stato di ingresso e, solo per Moore, uno di uscita.

Con il modello di Mealy, se il sistema è nello stato x0 in presenza dell’ingresso u0


genera l’uscita y1 e transita nello stato successivo (non evidenziato): pertanto l’uscita
y1 è funzione dell’ingresso u0 e dello stato x0.
Con il modello di Moore allo stato x0 corrisponde l’uscita y0 e in presenza
dell’ingresso u0 transita nello stato successivo (non evidenziato): pertanto l’uscita y1 è
funzione solo dello stato x0.
Raggruppiamo ora la tabella 1 e la tabella 2 in unica tabella e rappresentiamo
l’automa di Mealy con il diagramma degli stati.

Ingressi

In u0 u1 u2
Precedente
Stato

x
Stato
o x0/y1 x1/y0 x1/y0
x1 x1/y1 x0/y1 x1/y0

Tabella 3 – Funzione dello stato futuro e Trasformazione di uscita

u1/y0
u0/y1
u2/y0 u0/y1

x0 x1

u1/y1
u2/y0
Mealy

Fig. 15 – Automa di Mealy - Diagramma


degli stati

3. CARTA ASM - (Non viene trattata in questa dispensa ed eventualmente può far parte
del modulo di approfondimento I.4)

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 24

AbT1-I.1.6
SAPER ANALIZZARE E/O CREARE LA STRUTTURA DI UN AUTOMA

Gli esempi e i problemi che seguono sono il modo più rapido per comprendere l’analisi
del problema e la creazione del modello di Moore o di Mealy.

Esempio 5) Un distributore automatico distribuisce una bibita con due monete di 50


cent.
Individuare gli ingressi, le uscite, gli stati del sistema e riportare con il modello di
Moore il diagramma degli stati.

IN
0 (M) – moneta non inserita

Moneta (M)
1 (M) – moneta inserita

OUT
0 (B) – bibita non erogata

Bibita (B)
1 (B) – bibita erogata

STATI
Stato iniziale del sistema (Il sistema è in attesa di
PRONTO (0)
ricevere la prima moneta)

Stato intermedio del sistema (Il sistema ha ricevuto la


ATTESA (1)
prima moneta ed è in attesa di ricevere la seconda)

M/B
M/B
M/B

Pronto Attesa
(0) (1)

M/B

Mealy

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 25
 

Es.I.1.14)  Un automa è descritto dalle seguenti tabelle; ricavare il diagramma degli stati  

  

Esempio 6) Il generatore di parità dispari riceve in ingresso una sequenza di “zero” e


di “uno”. Esso deve generare un bit in uscita uguale ad “uno” se il numero di “uno” in
ingresso è pari; in tal modo il numero di “1” complessivi tra ingresso e uscita è dispari
Ricavare il diagramma degli stati con il modello di Moore.
Input: 0 1 0 1 1 0 0 1
Output: 1 0 0 1 0 0 0 1

IN
0 – valore logico 0
Bit_Input (BI)
1 – valore logico 1

OUT
0 – N.ro di “1” in ingresso pari

Even (EV)
1 – N.ro di “0” in ingresso dispari

STATI
C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010
Information and Communication Technology – Modulo n. 1 Pag. 26

In tale stato l’uscita è uguale a zero (Stato iniziale)


ODD (0)

EVEN (1) In tale stato l’uscita è uguale ad 1

1
0 0

  ODD/ EVEN/
0 1
 

  1
  Moore

Esempio 7)

Un distributore automatico distribuisce una bibita dal costo di 70 cent. con monete da
20 cent. e 50 cent. Diagrammare con Moore il diagramma degli stati.

IN
0 (M1) – moneta non inserita

Moneta da 20 cent. (M1)


1 (M1) – moneta inserita

0 (M2) – moneta non inserita


Moneta da 50 cent. (M2)
1 (M2) – moneta inserita

OUT
0 (B) – bibita non erogata

Bibita (B)
1 (B) – bibita erogata

STATI
C. Cancelli – Gli automi a stati finiti(0 Ct.) Stato iniziale del sistemaEd. 1.0 - Dicembre 2010
Information and Communication Technology – Modulo n. 1 Pag. 27

(5 Ct.) Stato con 5 cent. inseriti


IMPORTO TOT.
(10 Ct.) Stato con 10 cent. inseriti

(15 Ct.) Stato con 15 cent. inseriti e condizione di reset

M2 M2
M1*M2 RST
M1
M1
M1
0 Ct./B 5 Ct./B 10 Ct./B 15 Ct./B

M1*M2
M1*M2 M2
RST
Moore

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010


Information and Communication Technology – Modulo n. 1 Pag. 28

ÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ

Qualsiasi osservazione che possa contribuire a rendere il


documento più completo è ben accolta!

c.cancelli@tiscali.it

ÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ

C. Cancelli – Gli automi a stati finiti Ed. 1.0 - Dicembre 2010

Potrebbero piacerti anche