Claudio CANCELLI
(www.claudiocancelli.it)
INDICE
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.
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)
VERIFICHE SCRITTE
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
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
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.
SISTEMI
SISTEMI SISTEMI
STATICI DINAMICI
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
Y = x1 + x2 * x3
X1 Y
X2
X3
è 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.
vo(t) = vi(t) * R2
R1 + R2
i. ………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………….……………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
ii. ………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………….……………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
iii.………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………….……………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
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.
CnT2-I.1.3
Conoscere i concetti di sistema a stati finiti, di sistema discreto e di automa
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
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
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:
CnT2-I.1.4
Conoscere la differenza tra automi sincroni e asincroni
Ck
t
S
t
R
Q t
CnT2-I.1.5
Conoscere e comprendere i concetti relativi agli automi di Mealy e di Moore
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
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
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.
RITARDO UNITARIO
Nel caso in cui per un’automa di Moore si abbia:
5 6
y(i+1) = u(i) 7
u(i) y(i)
x(i+1)
F Δ G
x(i)
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.
y(i) y(i)
G G
u(i)
u(i)
F x(i+1) F x(i+1)
x(i) x(i)
Δ Δ
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)
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
Ingressi
In u0 u1 u2
Precedente
Stato
x
Stato
o y1 y0 y0 Uscite
x1 y1 y1 y0
MEALY MOORE
Uscita
Ingresso
Ingresso
u0/y1 u0
transizione
transizione
x0 x0/y0
Stato Uscita
Stato
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.
Ingressi
In u0 u1 u2
Precedente
Stato
x
Stato
o x0/y1 x1/y0 x1/y0
x1 x1/y1 x0/y1 x1/y0
u1/y0
u0/y1
u2/y0 u0/y1
x0 x1
u1/y1
u2/y0
Mealy
3. CARTA ASM - (Non viene trattata in questa dispensa ed eventualmente può far parte
del modulo di approfondimento I.4)
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.
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)
M/B
M/B
M/B
Pronto Attesa
(0) (1)
M/B
Mealy
Es.I.1.14) Un automa è descritto dalle seguenti tabelle; ricavare il diagramma degli stati
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
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
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
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@tiscali.it
ÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ