vuoi
o PayPal
tutte le volte che vuoi
A B; A C; B C
B
C
Tabella 3. Ripartizione degli stati a causa delle uscite.
Il procedimento prosegue partizionando ulteriormente gli stati a causa degli stati
seguenti, secondo quanto detto da Paull e Unger:
Tabella 4. Ripartizione degli stati dovuta agli stati successivi.
Traccia svolta da: Big Frenky 4
Il metodo prevede quindi la costruzione di una tabella triangolare che risulta mostrata
qui di seguito: Segno l’intera riga dato lo stato
7 è non compatibile con tutti
gli altri; Tabella 4.
Segno l’intera riga dato lo stato
10 è non compatibile con tutti
gli altri; Tabella 4.
Tabella 5. Tabella per il rilevamento delle "coppie" compatibili.
Procedendo da destra verso sinistra, come mostrato in Tabella 5, si ottengono le
compatibilità ricercate: ( )( )( ) .
1
, 2 3
,
5 4
, 6
Partendo dagli stati precedentemente individuati nella Tabella 3, eliminando da essi
Tabella 5 (cioè quelli certamente compatibili), si ottiene il quadro completo del
quelli della
nuovo insieme S di stati minimo, così come mostrato:
( ) / / /
/ /
= /
00 ( 0 , 1 , 2 , 3 , 4 , 5 , 6 )
( ) =
01 ( 7 , 8 , 9 , 11 , 12 , 13 )
( ) =
11 ( 10 , 14 )
Il nuovo insieme minimo S di stati compatibili è mostrato qui di seguito in modo
tabellare: Tabella 6. Insieme minimo di stati compatibili.
Traccia svolta da: Big Frenky 5
Tabella 2 degli stati originari risulta quindi essere ridotta e mostrata qui di seguito.
La
Come in precedenza, semplicemente per motivi tipografici si è omesso l’identificativo S dello
stato: Tabella 7. Tabella ridotta degli stati.
Prendendo in esame la nuova tabella degli stati è altresì possibile ridisegnare il
diagramma degli stati che, come ci si aspettava a causa della minimizzazione, è notevolmente
Figura 2.
snellito rispetto a quello mostrato in
Figura 3. Diagramma ridotto degli stati.
Traccia svolta da: Big Frenky 6
Ciascuno degli stati appartenente al nuovo insieme di stati S assume un significato ben
preciso descritto qui di seguito:
= Stato iniziale
S
0
S = Indica una sequenza de tipo: xxx-
1
S = Indica una sequenza de tipo: xx1-
2
S = Indica una sequenza de tipo: xx0-
3
S = Indica una sequenza de tipo: x-1- / x10-
4
S = Indica una sequenza de tipo: x000
5
Si porta a conoscenza del lettore che con “x” si è inteso indicare la non conoscenza del
bit, mentre con “-“ si è inteso l’indicare l’indifferenza fra 1 e 0 dello stesso. Si osservi, inoltre,
come per stabilire l’autenticità della sequenza d’ingresso come parola codice bisogna
attendere almeno il terzo bit. Una formulazione alternativa a quanto appena detto consiste nel
fatto che tutte le sequenze che presentato uno 0 in seconda e terza posizione sono certamente
parole codice (z = 1), così come quelle che presentano uno 0 come quarto bit, mentre per
quelle che presentano un 1 come quarto bit certamente non lo sono (z = 0).
Sottofase 4: codifica degli stati interni
La codifica degli stati interni deve essere preceduta dalla determinazione del numero k
di variabili che occorrono alla codifica degli stati stessi. Valore questo, che può essere
determinato agevolmente attraverso la relazione:
[ ] [ ]
{ } { }
= = = .
log log 6 3
k S
2 2
Ottenuto il numero di variabili necessarie alla rappresentazione, è possibile infine
q q q
assegnare le configurazioni per ciascuno dei sei stati. Si osservi che, essendo il
2 1 0
segnale di ingresso a livelli ed essendo la macchina sequenziale sincronizzata esternamente, la
rete combinatoria tesa alla realizzazione dei segnali di posizionamento che originano gli stati
S , S , S , S , S , S
interni della macchina stessa è palesemente a livelli, il che comporta (a
0 1 2 3 4 5 ) la non
patto di progettare opportunamente la durata del segnale di sincronizzazione C
k
presenza di alee e quindi la conseguente possibilità di scelta arbitraria delle configurazioni
q q q . A titolo di esempio (non essendo diversamente specificate), si sono scelte le
2 1 0
configurazioni seguenti:
Figura 4. Assegnazione delle rappresentazioni degli stati S .
Traccia svolta da: Big Frenky 7
Sottofase 5: costruzione della tabella delle transizioni 4) ed a partire dalla Tabella 7 degli
A partire dalle rappresentazioni assegnate (Figura
stati, si ottiene la seguente tabella delle transizioni:
a
1 riga della Tabella 7. Sono nello ststo ≡
q q =000 S
q
2 1 0 0
Sono nello ststo Se l’ingresso è
≡
q q q =000 S x =0
2 1 0 0
Se l’ingresso è Vado nello stato
x =1 ≡
q q =010 S
q 2 1 0 1
Vado nello stato
≡
q q q =010 S
2 1 0 1 Tabella 8. Tabella delle transizioni.
Poiché dalle specifiche ricavate nella sottofase 1 non è possibile evincere (in quanto non
specificato) quale elemento di memoria deve essere scelto al fine del progetto, ne scegliamo
uno; ad esempio il flip flop JK che presenta la seguente tabella delle transizioni:
Tabella 9. Tabella delle transizioni del FF JK.
In tal guisa, avendo scelto come elemento di memoria il flip flop JK bisognerà
progettare sei segnali di posizionamento:
( ) ( )
= =
J J q q q x K K q q q x
2 2 2 1 0 2 2 2 1 0
( ) ( )
= =
J J q q q x K K q q q x
1 1 2 1 0 1 1 2 1 0
( ) ( )
= =
J J q q q x K K q q q x
0 0 2 1 0 0 0 2 1 0
Traccia svolta da: Big Frenky 8
Le funzioni da determinare sono esposte in forma tabellare qui di seguito:
Transizioni per
ottenere J :
2
→
O O | O
della Tabella 9
Transizioni per
ottenere K :
0
→
O O | O
della Tabella 9
Tabella 10. Segnali di posizionamento.
Al fine di ottenere tali segnali, utilizziamo il metodo grafico delle mappe di Karnaugh,
esposte qui di seguito:
Questi punti di don’t
care condition sono
stati introdotti
perché non
interessano nessuna
rappresentazione
degli stati interni. Figura 5. Mappe di Karnaugh dei segnali di posizionamento.
Traccia svolta da: Big Frenky 9