Date post: | 02-May-2015 |
Category: |
Documents |
Upload: | pino-salerno |
View: | 215 times |
Download: | 0 times |
Introduzione
Alla descrizione a parole corrisponde il seguente diagramma degli stati, fornito come soluzione al problema:
Introduzione
La seguente tabella delle transizioni espone in forma più compatta il diagramma visto precedentemente:
--
D0
--
--
D0
D0
B-
B0
--
D0
D0
--
A1
C0
C0
E0
A-
E0
F-
--
D0
--
D0
F0
00 01 11 10
A
B
C
D
E
F
0000
R1, R2
Sintesi Formale
BDDF
-
BDCE
BDAC
CE
CE
AC
CEDF
AE
AEDF -
Attraverso il diagramma delle implicazioni si ottengono gli stati a due a due compatibili:
BC
EF
BF
CE
B
C
D
E
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
α00
β01
γ11
δ10
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...
Sintesi Formale
--
δ0
--
δ0
β-
β0
δ0
δ0
α1
γ0
γ0
α-
β-
β0
δ0
δ0
00 01 11 10
00
01
11
10
0000
R1, R2
α
β
γ
δ
--
100
--
100
01-
010
100
100
001
110
110
00-
01-
010
100
100
00 01 11 10
00
01
11
10
0000
R1, R2
α
β
γ
δ
--
δ0
--
δ0
β-
β0
δ0
δ0
α1
γ0
γ0
α-
β-
β0
δ0
δ0
00 01 11 10
00
01
11
10
0000
R1, R2
α
β
γ
δ
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...
Y1, Y0Y1, Y0
Sintesi Formale
--
110
100
100
01-
010
100
100
001
110
110
00-
01-
010
100
100
00 01 11 10
00
01
11
10
0000
R1, R2
α
β
γ
δ
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:
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
Y1, Y0
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
Y1
ACK
rete combinatoria
Sintesi Formale
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.
Simulazione