Introduzione
Introduzione Alla descrizione a parole corrisponde il seguente diagramma degli stati, fornito come soluzione al problema:
Sintesi Formale La seguente tabella delle transizioni espone in forma più compatta il diagramma visto precedentemente: R1, R2 00 00 00 01 11 10 - B - A 1 F - A D B C - B - - C D C D D A - D D - D E - E D - E F F
Sintesi Formale Attraverso il diagramma delle implicazioni si ottengono gli stati a due a due compatibili: BC EF BF CE B - C BD DF BD AC AC D BD CE CE AE E CE CE DF AE DF - F A B C D E
Sintesi Formale Dal risultato trovato (e intuitivamente anche a prima vista) si comprende che è possibile raggruppare gli stati iniziali in due modi distinti: sfruttando le compatibilità BC/FE...
Sintesi Formale ...oppure BF/CE. In entrambi i casi ci si riduce a 4 stati. La scelta fra le due possibilità sarà dunque volta ad evitare il più possibile corse critiche.
Sintesi Formale Diagramma delle transizioni – 1° caso: - ipotizziamo di scegliere le seguenti classi di compatibilità, che soddisfano le condizioni di copertura e chiusura α = A β = BC γ = EF δ = D si otterrebbe il seguente diagramma delle transizioni: β α δ γ
Sintesi Formale Al fine di evitare transizioni che possano dare luogo a corse critiche, è opportuno che le transizioni fra due stati comportino la variazione di una sola variabile di stato. In questo caso si vede che α deve avere una codifica "adiacente" a β, γ e δ il quale deve averla a sua volta adiacente a β e γ! β α δ γ
Sintesi Formale Diagramma delle transizioni – 2° caso: - ipotizziamo di scegliere le seguenti classi di compatibilità, che soddisfano le condizioni di copertura e chiusura α = A β = BF γ = CE δ = D si otterrebbe il seguente diagramma delle transizioni: α β γ δ
Sintesi Formale La codifica attraverso questa scelta diventa più semplice, anche se la transizione dallo stato β allo stato δ resta problematica. Osservando però il diagramma degli stati, si nota che l'ingresso 00, l'unico per il quale è prevista quella transizione, è considerato esplicitamente da 2 soli stati su 4. Ciò suggerisce di sfruttare le conseguenti condizioni di indifferenza per eseguire transizioni multiple, senza bisogno di aumentare il numero di variabili di stato... α 00 β 01 γ 11 δ 10
Sintesi Formale Come previsto, la transizione da β a δ dovrebbe comportare la commutazione simultanea di due variabili di stato, cosa fisicamente impossibile. Sono tuttavia presenti condizioni di indifferenza che permettono di ovviare facilmente al problema... R1, R2 R1, R2 R1, R2 Y1, Y0 00 00 00 00 00 00 01 01 11 11 10 10 Y1, Y0 00 00 00 01 11 10 - - β - β - α 1 α 1 β - β - - 01 - 00 1 01 - α α 00 00 α 00 δ δ β β γ γ β β 10 01 11 01 β β 01 01 β 01 γ γ - - δ δ γ γ δ δ γ - 10 11 10 11 11 11 δ δ δ δ α - α - δ δ 10 10 00 - 10 δ δ 10 10 δ 10
Sintesi Formale La particolare transizione multipla viene scelta in modo da porre degli 0 e degli 1 in posizioni "comode" nella mappa di Karnaugh, allo scopo di semplificare la rete combinatoria: R1, R2 Y1, Y0 00 00 00 01 11 10 ACK = *Y1 *Y0 Y0 = *Y1 *R1 + *Y1 *R2 *Y1 Y0 + Y0 R1 R2 Y1 = *R1 *R2 + Y1 Y0 + Y1 *R1 + Y1 *R2 + Y0 R1 R2 - 01 - 00 1 01 - α 00 11 01 11 01 β 01 γ 10 10 11 10 11 10 10 00 - 10 δ 10 Questa implementazione prevede anche un segnale di RESET, che non fa altro che condizionare le variabili di stato attraverso un AND. Lo stato di partenza al reset è α (00).
Sintesi Formale Implementazione (con retroazione diretta): Y0 ACK Y1 rete combinatoria
Simulazione La simulazione mostra che, una volta disabilitato il segnale di RESET, tutto procede secondo la sequenza stabilita. La simulazione "timing" evidenzia, come di norma, i ritardi insiti nel dispositivo fisico.