fbpx
Skip to main content

LINUX AVANZATO 2007

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • 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 :lol:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
18 Anni 7 Mesi fa #43731 da COM_EASYSOCIAL_GUEST_NAME
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
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • 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
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
18 Anni 7 Mesi fa #43735 da COM_EASYSOCIAL_GUEST_NAME
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
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
18 Anni 7 Mesi fa #43736 da COM_EASYSOCIAL_GUEST_NAME
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
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • 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! :D

Si prega Accedi o Crea un account a partecipare alla conversazione.