Pagina 1 di 2

Da automa a circuito

MessaggioInviato: 26 gen 2012, 18:39
da hispanico92
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.

Re: Da automa a circuito

MessaggioInviato: 26 gen 2012, 19:18
da simo85
Per il momento vedi se questo PDF ti può essere utile..

Cosa devi fare in concreto?
O_/

Re: Da automa a circuito

MessaggioInviato: 26 gen 2012, 20:02
da hispanico92
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.

Re: Da automa a circuito

MessaggioInviato: 29 gen 2012, 5:18
da simo85
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

Re: Da automa a circuito

MessaggioInviato: 29 gen 2012, 11:56
da hispanico92
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?

Re: Da automa a circuito

MessaggioInviato: 30 gen 2012, 17:27
da hispanico92
Se ho tipo questa tabella di transizione dell'automa, come faccio a fare gli stati futuri?
tabella.PNG
tabella.PNG (5.99 KiB) Osservato 3787 volte

Re: Da automa a circuito

MessaggioInviato: 30 gen 2012, 18:11
da rusty
Gli stati futuri sono gia' scritti nella tabella delle transizioni che hai.
Guarda ad esempio (vale per ogni riga della tabella ovviamente):
tabella2.jpg
tabella2.jpg (36.45 KiB) Osservato 3776 volte


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)
tabella.jpg
tabella.jpg (46.43 KiB) Osservato 3776 volte


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. :ok:

Re: Da automa a circuito

MessaggioInviato: 30 gen 2012, 18:20
da hispanico92
Mi ha salvato, la ringrazio infinitamente

Re: Da automa a circuito

MessaggioInviato: 30 gen 2012, 20:03
da rusty
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 :ok:

Re: Da automa a circuito

MessaggioInviato: 30 gen 2012, 23:01
da rusty
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.