Salve, avrei una importante domanda alla quale, purtroppo, non riesco a trovare una risposta (seppure possa sembrare molto semplice).
Come faccio a passare da un automa ad un circuito sequenziale (magari utilizzando ff jk)?
Quello che so è che dovrei creare una tabella di verità dove devo immettere anche gli stati futuri ma non ci riesco proprio. Spero che qualcuno di voi mi possa aiutare.
Da automa a circuito
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
17 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
Grazie per la risposta e leggendolo mi si sono chiariti molti dubbi che avevo.
Guardando però gli esami degli anni precedenti di sistemi digitali all'università non capisco perché il prof ha messo in quel modo gli stati futuri. Qui ci sono le soluzioni del test (pagina 4) e non capisco perché ha messo quei valori come stati futuri e quei valori a z. Spero che mi potrai dare una mano
Edit: non avevo letto la tua domanda xD
Comunque dipende dal compito che da il professore e, in genere, devo costruire un automa che riconosce tot sequenze e poi trasformarlo in un circuito.
Guardando però gli esami degli anni precedenti di sistemi digitali all'università non capisco perché il prof ha messo in quel modo gli stati futuri. Qui ci sono le soluzioni del test (pagina 4) e non capisco perché ha messo quei valori come stati futuri e quei valori a z. Spero che mi potrai dare una mano
Edit: non avevo letto la tua domanda xD
Comunque dipende dal compito che da il professore e, in genere, devo costruire un automa che riconosce tot sequenze e poi trasformarlo in un circuito.
-

hispanico92
0 2 - Messaggi: 6
- Iscritto il: 26 gen 2012, 18:34
0
voti
hispanico92 ha scritto:non capisco perché ha messo quei valori come stati futuri e quei valori a z.
Quando si progetta un automata a stati, di norma già si conoscono gli stati futuri, ed a seconda dei flip flop che vengono usati (1 per ogni bit di uscita) si determinano gli stabiliscono gli stati logici dei loro ingressi, e successivamente si implementano le porte logiche necessarie per risolvere la logica secondo il procedimento.
Ciao
0
voti
Si, però non capisco perché da 0000 (x, Q2, Q1, Q0) ha come stato futuro 001(Q2, Q1, Q0).
Lo stato 000 non sarebbe s1(0)? e se gli arriva 0 non arriva a 00 (s3)? allora perché mette 001?
Lo stato 000 non sarebbe s1(0)? e se gli arriva 0 non arriva a 00 (s3)? allora perché mette 001?
-

hispanico92
0 2 - Messaggi: 6
- Iscritto il: 26 gen 2012, 18:34
0
voti
Se ho tipo questa tabella di transizione dell'automa, come faccio a fare gli stati futuri?
-

hispanico92
0 2 - Messaggi: 6
- Iscritto il: 26 gen 2012, 18:34
2
voti
Gli stati futuri sono gia' scritti nella tabella delle transizioni che hai.
Guarda ad esempio (vale per ogni riga della tabella ovviamente):
Una tabella delle transizioni va letta nel seguente modo (seguendo le frecce)
Se sono nello stato W0 e l'ingresso è 0 allora vado in W0 e pongo l'uscita a 0 (frecce blu)
Se sono nello stato W0 e l'ingresso è 1 allora vado in W1 e pongo l'uscita a 0 (frecce verdi)
Una volta capito questo, e assodato che ho 7 stati, 1 ingresso ad 1 bit ed una uscita ad 1 bit, devi procedere con la codifica degli stati; ovvero, come rappresento ogni stato con una etichetta binaria univoca? Ci sono vari metodi, uno è quello sequenziale, ovvero:
W0 = 000
W1 = 001
W2 = 010
W3 = 011
W4 = 100
W5 = 101
W6 = 110
W7 = 111
A volte basta questa codifica, altre volte invece ci si accorge di avere dei problemi nelle transizioni tra stati particolari, e quindi si ricorre ad altre codifiche ad-hoc, ad esempio è buona norma per partire usare un Gray code, in cui solo un bit cambia da uno stato al successivo (ad esempio):
W0 = 000
W1 = 001
W2 = 011
W3 = 010
W4 = 110
W5 = 111
W6 = 101
W7 = 100
Fatto questo non ti resta che scegliere 3 flip-flop, o 3 registri, 3 qualsiasi cosa che ti permetta di memorizzare 3 bit indipendenti (3 celle di ram?.. anche!) e procedere.
Guarda ad esempio (vale per ogni riga della tabella ovviamente):
Una tabella delle transizioni va letta nel seguente modo (seguendo le frecce)
Se sono nello stato W0 e l'ingresso è 0 allora vado in W0 e pongo l'uscita a 0 (frecce blu)
Se sono nello stato W0 e l'ingresso è 1 allora vado in W1 e pongo l'uscita a 0 (frecce verdi)
Una volta capito questo, e assodato che ho 7 stati, 1 ingresso ad 1 bit ed una uscita ad 1 bit, devi procedere con la codifica degli stati; ovvero, come rappresento ogni stato con una etichetta binaria univoca? Ci sono vari metodi, uno è quello sequenziale, ovvero:
W0 = 000
W1 = 001
W2 = 010
W3 = 011
W4 = 100
W5 = 101
W6 = 110
W7 = 111
A volte basta questa codifica, altre volte invece ci si accorge di avere dei problemi nelle transizioni tra stati particolari, e quindi si ricorre ad altre codifiche ad-hoc, ad esempio è buona norma per partire usare un Gray code, in cui solo un bit cambia da uno stato al successivo (ad esempio):
W0 = 000
W1 = 001
W2 = 011
W3 = 010
W4 = 110
W5 = 111
W6 = 101
W7 = 100
Fatto questo non ti resta che scegliere 3 flip-flop, o 3 registri, 3 qualsiasi cosa che ti permetta di memorizzare 3 bit indipendenti (3 celle di ram?.. anche!) e procedere.

-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
4
voti
Proviamo a continuare l'esercizio compilando la tabella delle transizioni con gli stati W0 W1 ... W6 in codifica sequenziale, dunque W0 = 000, W1 = 001, W2 = 010, W3 = 011, W4 = 100, W5 = 101 , W6 = 110, otteniamo quindi la seguente tabella, e scelgo 3 FF-D per la realizzazione.
Compiliamo ora le mappe di Karnaugh per un circuito NAND-NAND.
d significa "don't care" e l'apice sta a indicare il negato.
Non resta ora che disegnare la rete combinatoria derivata dalle mappe, tre flip flop, e questo automa di Mealy è completato
Compiliamo ora le mappe di Karnaugh per un circuito NAND-NAND.
d significa "don't care" e l'apice sta a indicare il negato.
Non resta ora che disegnare la rete combinatoria derivata dalle mappe, tre flip flop, e questo automa di Mealy è completato

-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
2
voti
Ok, proviamo a disegnare lo schema elettrico finale:
Notiamo che dalle funzioni ricavate tramite le mappe abbiamo nelle somme (OR) di prodotti (AND) che andrebbero fatte quindi con tante AND quanti sono i prodotti e tante OR quante sono le funzioni (D0,D1,D2,Out), ma ci vuole poco per convincersi che la sequenza AND-OR è perfettamente equivalente ad una sequenza NAND-NAND; il vantaggio è di usare un solo tipo di gate.
Volendo fare i pedanti possiamo usare anche al posto delle NOT delle NAND con gli ingressi cortocircuitati, cosi' facciamo tutta la glue logic con sole NAND.
Notiamo che dalle funzioni ricavate tramite le mappe abbiamo nelle somme (OR) di prodotti (AND) che andrebbero fatte quindi con tante AND quanti sono i prodotti e tante OR quante sono le funzioni (D0,D1,D2,Out), ma ci vuole poco per convincersi che la sequenza AND-OR è perfettamente equivalente ad una sequenza NAND-NAND; il vantaggio è di usare un solo tipo di gate.
Volendo fare i pedanti possiamo usare anche al posto delle NOT delle NAND con gli ingressi cortocircuitati, cosi' facciamo tutta la glue logic con sole NAND.
-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
17 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 52 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




