Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Dubbi automa a stati finiti

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

1
voti

[1] Dubbi automa a stati finiti

Messaggioda Foto Utentecorrotto » 21 lug 2015, 18:33

Salve, ragazzi!
Ho dei dubbi sulla rappresentazione di un automa a stati finiti tramite diagramma degli stati.
Il diagramma ha 4 stati e tra questi ci sono le varie transizioni (rappresentate come frecce ad ognuna delle quali è associato un'ingresso).
Non c'è traccia delle uscite nel diagramma. Come va interpretata la logica di uscita?

Le tracce sono prese da un testo di un compito di Elettronica Digitale.

P.S. Sono nuovo, spero sia la sezione corretta.
Avatar utente
Foto Utentecorrotto
15 2
 
Messaggi: 11
Iscritto il: 21 lug 2015, 8:51

1
voti

[2] Re: Dubbi automa a stati finiti

Messaggioda Foto UtentePietroBaima » 21 lug 2015, 19:15

Così è difficile seguirti.
Puoi postare il diagramma a stati?
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[3] Re: Dubbi automa a stati finiti

Messaggioda Foto Utentecorrotto » 21 lug 2015, 19:41

statediag.png

Ecco. Non capisco 2 cose.
- Quanto vale l'ingresso laddove c'è la freccia ma non c'è scritto niente?
- Da dove prendo i valori delle uscite?

Le immagini si postano con l'apposito comando e non tramite srver esterni; a breve quella postata verra' rimossa.
Leggi le regole del forum.
Avatar utente
Foto Utentecorrotto
15 2
 
Messaggi: 11
Iscritto il: 21 lug 2015, 8:51

2
voti

[4] Re: Dubbi automa a stati finiti

Messaggioda Foto UtentePietroBaima » 21 lug 2015, 19:51

Caspita, ti viene detto di descrivere la macchina a livello strutturale :!:
Spero che l'esame non sia prossimo e tu abbia tempo per studiare ancora un bel po'.

Anyway, per le frecce senza niente, dal diagramma a stati ricavo che c'è un solo bit di ingresso, su alcune frecce è riportato "EN==1", non dovresti avere problemi a capire cosa c'è sulle frecce dove non è riportato nulla.
Questa notazione si usa molto molto spesso sui diagrammi a stati, anche se ci sono più bit.
Per esempio, se ci sono i bit A e B, e su una transizione è scritto "A==0", significa che lo stato di B non interessa, è un don't care.
Un'altra cosa che spesso si fa è quella di non indicare i waitstate (le frecce che partono e arrivano sullo stesso stato): è il caso dello stato B, dove la freccia senza niente è per EN==1 e la freccia mancante è un waitstate con EN==0.

Se le uscite non vengono indicate significa che corrispondono agli stati. Di solito, se non diversamente specificato, si va in ordine progressivo. Hai 4 stati A,B,C,D quindi la codifica è A=00, B=01,C=10, D=11.
Se fossero da 5 a 7 avresti bisogno di 3 bit e così via.

Non dovresti avere difficoltà a capire che quel diagramma a stati rappresenta un contatore sincrono a 2 bit con enable.

In cosa devi implementarla, VHDL?
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[5] Re: Dubbi automa a stati finiti

Messaggioda Foto Utenteobiuan » 21 lug 2015, 21:40

PietroBaima ha scritto:Un'altra cosa che spesso si fa è quella di non indicare i waitstate (le frecce che partono e arrivano sullo stesso stato): è il caso dello stato B, dove la freccia senza niente è per EN==1 e la freccia mancante è un waitstate con EN==0.


Non sarà semplicemente invece che da B l'automa passa ad A indipendentemente da EN? mi sembra più probabile visto che gli altri stati hanno il wait state indicato chiaramente.
_______________________________________________________
Gli oscillatori non oscillano mai, gli amplificatori invece sempre

Io HO i poteri della supermucca, e ne vado fiero!
Avatar utente
Foto Utenteobiuan
5.894 3 10 13
Master
Master
 
Messaggi: 980
Iscritto il: 23 set 2013, 23:45

1
voti

[6] Re: Dubbi automa a stati finiti

Messaggioda Foto UtentePietroBaima » 21 lug 2015, 21:48

E' possibile perché non sappiamo che convenzione abbiano usato nel corso, però, usando quella solita, sulla freccia che passa da B ad A, avrebbero dovuto scrivere "EN==-".

In un CAOS o nell'altro l'implementazione non cambia, come complicazione. :D

Qualora avessi un dubbio di questo tipo chiederei al professore, durante il compito.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[7] Re: Dubbi automa a stati finiti

Messaggioda Foto Utentecorrotto » 21 lug 2015, 22:16

Grazie per le risposte.

Purtroppo non ho potuto seguire il corso, quindi non so che convenzione abbia usato il professore. Ecco perché ho tutti questi dubbi sulle notazioni.

Chiaro, quindi se da uno stato ho due frecce, una con EN=1 e l'altra senza etichetta, allora per quella senza etichetta si intende EN=0. Giusto?

Altro dubbio.
Prendiamo uno stato A, se gli arriva EN=1 va in B, se gli arriva RST=1 va in C.
Ma se arriva contemporaneamente EN=1 e RST=1 dove si va? :D

In un testo specifica che RST ha la precedenza e fin qui ok. In un altro invece non specifica niente e quindi c'è ambiguità.

C'è una convenzione?

P.S. Per rispondere alla domanda di PietroBaima:

no niente VHDL. Devo rappresentare implementare la macchina a stati in una FPGA.
Quindi se ho capito bene la procedura è questa:
- dal diagramma a stati ricavo la tabella delle transizioni e la tabella con la logica di uscita
- faccio il place & route disegnando le piste nella FPGA e quindi collegando opportunamente le LUT che mi servono
- e poi creo il vettore di programmazione per implementare la logica delle LUT.

Giusto secondo te?

Grazie ancora per l'aiuto! :)
Avatar utente
Foto Utentecorrotto
15 2
 
Messaggi: 11
Iscritto il: 21 lug 2015, 8:51

1
voti

[8] Re: Dubbi automa a stati finiti

Messaggioda Foto UtentePietroBaima » 21 lug 2015, 23:15

corrotto ha scritto:Grazie per le risposte.

ma figurati.

corrotto ha scritto:Purtroppo non ho potuto seguire il corso, quindi non so che convenzione abbia usato il professore. Ecco perché ho tutti questi dubbi sulle notazioni.

non so cosa sia meglio, se andare a consulenza e dirglielo o tacere, mah.

corrotto ha scritto:Chiaro, quindi se da uno stato ho due frecce, una con EN=1 e l'altra senza etichetta, allora per quella senza etichetta si intende EN=0. Giusto?

Giusto.

corrotto ha scritto:Prendiamo uno stato A, se gli arriva EN=1 va in B, se gli arriva RST=1 va in C.
Ma se arriva contemporaneamente EN=1 e RST=1 dove si va? :D

Questa domanda è mal posta. Se gli arriva EN==1 la rete reagisce e non fa niente oppure si porta in un altro stato che vedrà cosa fare a seconda dei suoi ingressi. Stessa cosa con RST.
Tu devi fare una tabella e far decidere alla rete cosa fare.
Per esempio (invento)
EN RST Stato
0 0 A
0 1 A
1 0 B
1 1 A

corrotto ha scritto:In un testo specifica che RST ha la precedenza e fin qui ok. In un altro invece non specifica niente e quindi c'è ambiguità.

Precedenza non significa niente. Supponiamo che, se RST==1, la rete debba riportarsi nello stato A indipendentemente da qualunque altro bit. Bene, basta prevedere questa condizione nelle tabelle di stato, come quella qui sopra.

corrotto ha scritto:C'è una convenzione?

Sono le convenzioni che utilizzano i vari programmi per FPGA.

corrotto ha scritto:- dal diagramma a stati ricavo la tabella delle transizioni e la tabella con la logica di uscita
- faccio il place & route disegnando le piste nella FPGA e quindi collegando opportunamente le LUT che mi servono
- e poi creo il vettore di programmazione per implementare la logica delle LUT.

Giusto secondo te?



Ciao,
Pietro.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[9] Re: Dubbi automa a stati finiti

Messaggioda Foto Utentecorrotto » 22 lug 2015, 0:00

PietroBaima ha scritto:

corrotto ha scritto:Prendiamo uno stato A, se gli arriva EN=1 va in B, se gli arriva RST=1 va in C.
Ma se arriva contemporaneamente EN=1 e RST=1 dove si va? :D

Questa domanda è mal posta. Se gli arriva EN==1 la rete reagisce e non fa niente oppure si porta in un altro stato che vedrà cosa fare a seconda dei suoi ingressi. Stessa cosa con RST.
Tu devi fare una tabella e far decidere alla rete cosa fare.
Per esempio (invento)
EN RST Stato
0 0 A
0 1 A
1 0 B
1 1 A


Mi sfugge ancora qualcosa. Prendiamo un esempio.

Immagine

Se sto in S1 e gli ingressi valgono EN=1 e RST=1 dove vado?
RST=1 mi porterebbe in S0
EN=1 mi porterebbe in S2.
Avatar utente
Foto Utentecorrotto
15 2
 
Messaggi: 11
Iscritto il: 21 lug 2015, 8:51

1
voti

[10] Re: Dubbi automa a stati finiti

Messaggioda Foto UtentePietroBaima » 22 lug 2015, 0:18

Se tu sei in S0 devi guardare solo le frecce che "escono" da S0, quelle che gli arrivano sono le frecce di altri stati che puntano a S0.

Da S0 esce una sola freccia che punta ad S1, senza alcuna indicazione.
Dovresti chiedere al professore che convenzione abbia usato, ma un interprete la intenderebbe così:

dato che ci sono due variabili e non è specificato niente assume che entrambi siano dei don't care, quindi qualunque cosa succeda passa in S1.
Se la variabile fosse stata una sola avrebbe messo un waitstate per quella variabile uguale a zero e con 1 sarebbe passato in S1.

Ripeto: dipende da come la intende il professore, perché questo diagramma restituirebbe un errore, per esempio per S1.

Vediamo: siamo in S1, cosa succede?
Prendo le frecce che escono da S1, ne trovo 3:
- la prima passa in S2 e riporta EN==1. L'interprete classico pensa che l'utente intenda EN==1, RST=--.
Quindi qualunque cosa fa RST, se EN==1 lui passa in S2.
- la seconda passa in s0 e riporta RST==1. L'interprete classico pensa che l'utente intenda RST==1, EN=--
Quindi qualunque cosa fa EN, se RST==1 lui passa in S0
- la terza è un waitstate, che viene eseguito altrimenti, non essendoci altre indicazioni.

EN RST State

0 0 S1
0 1 S0
1 0 S2
1 1 S2 S0

Si vede che per EN==1, RST==1 si ha un conflitto di stati e quindi viene segnalato un errore.

Cercando di capire cosa vuol fare quel diagramma a stati, secondo me, bisognerebbe intendere la cosa così (dando quindi "precedenza" al RST) ma questa è una convenzione che deve aver specificato il professore a lezione.

EN RST State

0 0 S1
0 1 S0
1 0 S2
1 1 S0
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 59 ospiti