LINUX AVANZATO 2007
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 7 Mesi fa #43720
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Guarda per quello ti consiglio di andare direttamente dal prof
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 7 Mesi fa #43731
da COM_EASYSOCIAL_GUEST_NAME
Dunque...
Gli stati s(t) erano 7: {S0,S1,....,S7}
L'input x(t): {1,0}
L'output: z(t): {0,1,2,3,4,5,6,7}
Stato iniziale s(0) = S0
Per l'automa: se sei nello stato i, un input x = 0 ti fa rimanere nello stato i-esimo con uscita i. Con x = 1 (e Si != S7) passi allo stato i+1 con uscita i+1. Se i = 7 un input x = 1 ti fa tornare allo stato S0 con uscita 0.
Fatto questo si codificano input, output e stato.
L'input è binario, quindi niente codifica.
L'output z necessita di tre variabili binarie. z0, z1, z2.
Quindi
z | z2 | z1 | z0
0 | 0 | 0 | 0
1 | 0 | 0 | 1
. | . | . | .
. | . | . | .
7 | 1 | 1 | 1
Gli stati sono 7 quindi si ottiene una codifica simile all'uscita.
Si ottiene quindi, dall'automa, la tabella di transizione di stato.
___PS_____|_______Input____________
Q2 Q1 Q0__|____x = 0____|____x = 1__
_0 0 0__|____0 0 0___|____0 0 1__
_0 0 1__|____0 0 1___|____0 1 0__
_. . .__|____. . ._____|____. . . __
_1 1 1__|____1 1 1___|____0 0 0__
__________|___________NS___________
PS = Present state
NS = Next state
Es: quando lo stato è S7 (Q2 =1, Q1 =1, Q0 = 1) e l'input è 1 (x = 1) lo stato successivo NS è 000 (stato S0).
Ora dobbiamo ottenere le mappe K di S2 R2, S1 R1 e S0 R0 relative ai tre flip-flop che ci servono.
Abbiamo bisogno (oltre alla tabella di transizione di stato) della funzione di eccitazione dei flip-flop RS:
__Q(t)___|____Q(t+1)___|____S__|___R__
__0_____|______0______|____0__|___-__
__0_____|______1______|____1__|___0__
__1_____|______0______|____0__|___1__
__1_____|______1______|____-__|___0__
Es: Consideriamo (nella tabella di transizione) Q2(t) = 0, Q1(t) = 0, Q0(t) = 1 (stato 1 ) e x = 1. In questo caso lo stato successivo sarà Q2(t+1) = 0, Q1(t+1) = 1, Q0(t+1) = 0 (stato 2).
Dalla tabella di eccitazione sappiamo che quando Q2(t) = 0 e Q2(t+1) = 0 allora S2 = 0 e R2 = - (qualsiasi).
Quando Q1(t) = 0 e Q1(t+1) = 1 allora S1 = 1 e R1 = 0.
Se Q0(t) = 1 e Q0(t+1) = 0 allora S0 = 0 e R0 =1.
Ripetiamo il procedimento per ogni stato Q2Q1Q0 nella tabella di transizione di stato.
Alla fine otteniamo 6 mappe di Karnaugh relative a S2, R2, S1, R1, S0,R0. Le variabili naturalmente sono Q2 Q1 Q0 e x.
Dovremmo riuscire, quindi, ad ottenere dalle mappe le espressioni per gli input dei flip-flop. Qualcosa del tipo S2 = xQ2+x'Q1Q0' etc.
Per quanto riguarda l'output, questo è codificato nello stato. Quindi (z2,z1,z0) = (Q2,Q1,Q0)
Ora basta disegnare.
P.S. Qualcuno ha in mente una strategia più efficente? Mi rendo conto che la cosa è un po' lunga. Forse fin troppo...
E naturalmente potrei aver scritto cavolate...
Fatemi sapere.
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Salve,
qualcuno mi può spiegare passo passo come si risolve il primo esercizio dell'esonero?
Una volta fatto l'automa che si deve fare?
Dunque...
Gli stati s(t) erano 7: {S0,S1,....,S7}
L'input x(t): {1,0}
L'output: z(t): {0,1,2,3,4,5,6,7}
Stato iniziale s(0) = S0
Per l'automa: se sei nello stato i, un input x = 0 ti fa rimanere nello stato i-esimo con uscita i. Con x = 1 (e Si != S7) passi allo stato i+1 con uscita i+1. Se i = 7 un input x = 1 ti fa tornare allo stato S0 con uscita 0.
Fatto questo si codificano input, output e stato.
L'input è binario, quindi niente codifica.
L'output z necessita di tre variabili binarie. z0, z1, z2.
Quindi
z | z2 | z1 | z0
0 | 0 | 0 | 0
1 | 0 | 0 | 1
. | . | . | .
. | . | . | .
7 | 1 | 1 | 1
Gli stati sono 7 quindi si ottiene una codifica simile all'uscita.
Si ottiene quindi, dall'automa, la tabella di transizione di stato.
___PS_____|_______Input____________
Q2 Q1 Q0__|____x = 0____|____x = 1__
_0 0 0__|____0 0 0___|____0 0 1__
_0 0 1__|____0 0 1___|____0 1 0__
_. . .__|____. . ._____|____. . . __
_1 1 1__|____1 1 1___|____0 0 0__
__________|___________NS___________
PS = Present state
NS = Next state
Es: quando lo stato è S7 (Q2 =1, Q1 =1, Q0 = 1) e l'input è 1 (x = 1) lo stato successivo NS è 000 (stato S0).
Ora dobbiamo ottenere le mappe K di S2 R2, S1 R1 e S0 R0 relative ai tre flip-flop che ci servono.
Abbiamo bisogno (oltre alla tabella di transizione di stato) della funzione di eccitazione dei flip-flop RS:
__Q(t)___|____Q(t+1)___|____S__|___R__
__0_____|______0______|____0__|___-__
__0_____|______1______|____1__|___0__
__1_____|______0______|____0__|___1__
__1_____|______1______|____-__|___0__
Es: Consideriamo (nella tabella di transizione) Q2(t) = 0, Q1(t) = 0, Q0(t) = 1 (stato 1 ) e x = 1. In questo caso lo stato successivo sarà Q2(t+1) = 0, Q1(t+1) = 1, Q0(t+1) = 0 (stato 2).
Dalla tabella di eccitazione sappiamo che quando Q2(t) = 0 e Q2(t+1) = 0 allora S2 = 0 e R2 = - (qualsiasi).
Quando Q1(t) = 0 e Q1(t+1) = 1 allora S1 = 1 e R1 = 0.
Se Q0(t) = 1 e Q0(t+1) = 0 allora S0 = 0 e R0 =1.
Ripetiamo il procedimento per ogni stato Q2Q1Q0 nella tabella di transizione di stato.
Alla fine otteniamo 6 mappe di Karnaugh relative a S2, R2, S1, R1, S0,R0. Le variabili naturalmente sono Q2 Q1 Q0 e x.
Dovremmo riuscire, quindi, ad ottenere dalle mappe le espressioni per gli input dei flip-flop. Qualcosa del tipo S2 = xQ2+x'Q1Q0' etc.
Per quanto riguarda l'output, questo è codificato nello stato. Quindi (z2,z1,z0) = (Q2,Q1,Q0)
Ora basta disegnare.
P.S. Qualcuno ha in mente una strategia più efficente? Mi rendo conto che la cosa è un po' lunga. Forse fin troppo...
E naturalmente potrei aver scritto cavolate...
Fatemi sapere.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 7 Mesi fa #43733
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Grazie sei stato gentilissimo!!! Mille grazie davvero
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 7 Mesi fa #43735
da COM_EASYSOCIAL_GUEST_NAME
Prego. Ma ripeto, non sono sicurissimo del fatto che sia il modo più veloce. E comunque se qualcosa non è chiaro non esitare a chiedere ancora.
Magari possiamo ristabilire la funzione primaria di questo thread: discutere di problematiche relative ai CONTENUTI del corso. Per le polemiche (legittime secondo me) si può usare l'altro thread.
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Grazie sei stato gentilissimo!!! Mille grazie davvero
Prego. Ma ripeto, non sono sicurissimo del fatto che sia il modo più veloce. E comunque se qualcosa non è chiaro non esitare a chiedere ancora.
Magari possiamo ristabilire la funzione primaria di questo thread: discutere di problematiche relative ai CONTENUTI del corso. Per le polemiche (legittime secondo me) si può usare l'altro thread.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 7 Mesi fa #43736
da COM_EASYSOCIAL_GUEST_NAME
Io ho fatto direttamente il circuito, ma chiaramente è un approccio che crolla se il circuito è più complesso.
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Grazie sei stato gentilissimo!!! Mille grazie davvero
Prego. Ma ripeto, non sono sicurissimo del fatto che sia il modo più veloce.
Io ho fatto direttamente il circuito, ma chiaramente è un approccio che crolla se il circuito è più complesso.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 7 Mesi fa #43737
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
E ti ricordavi direttamente il circuito? :shock:
Complimenti!
Complimenti!
Si prega Accedi o Crea un account a partecipare alla conversazione.