Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di
un’uscita Z. I segnali X2 e X1 non cambiano mai di valore
contemporaneamente. Il segnale d’uscita Z può modificare il suo valore
solo quando si verifica o un fronte di salita di X1 o un fronte di salita di
X2: nel primo caso si deve avere Z=1, nel secondo Z=0.
1
Si tratta di una rete di tipo Moore in quanto l’uscita dipende unicamente dagli stati.
Di seguito sono riportate la tabella degli stati e la tabella triangolare.
X1 X2
00
01
11
10
A
B
A
E
-
B
0
C
BD
H
-
C
B
1
D
BD
----
C
-
E
C
D
0
E
----
CF
D
A
-
C
D
E
A
E
F
-
F
-
G
F
B
G
H
G
F
-
1
H
H
E
-
B
1
0
CF
F
CF
G
CF
----
H
----
GE
GE
F
G
C
A
D
E
α: [AE]
β: [BH]
δ: [FG]
γ: [CD]
2
X1 X2
00
01
11
10
α
α
α
δ
β
Β
γ
β
α
γ
α
α
δ
β
δ
Tabella delle transizioni
ridotta.
X1 X2
00
01
11
10
0
Y1 Y2
α: 00
00
00
10
11
β
1
γ: 01
00
00
01
01
γ
γ
0
Β: 11
11
00
01
11
δ
β
1
δ: 10
11
10
10
11
Si può vedere che ci sono delle corse critiche causate dalle transizioni indicate dalle frecce
rosse. Nel caso in cui ci trovassimo nello stato 11 stabile per ingressi 00 e si presentasse
l’ingresso X1=0 e X2=1, ci dovremmo portare allo stato 00. Si possono quindi presentare 2 casi:
se cambia prima Y1 la rete si porta nello stato 00 (stabile con configurazioni d’ingresso 01)
passando per lo stato 01 (freccia verde). Se cambia prima Y2 si arriva allo stato 10(freccia gialla
tratteggiata), stabile con quelle configurazioni d’ingresso!
Discorso analogo si può fare con la seconda corsa critica.
3
Al fine di eliminare le corse è opportuno aggiungere un’ulteriore variabile di stato (codifica
ridondante) e ricodificare gli stati.
TABELLA DELLE TRANSIZIONI
X1 X2
00
01
11
10
α: 000
000
000
010
001
0
β: 001
001
000
101
001
1
011
001
--
--
001
-
δ : 010
011
010
010
011
1
γ : 100
000
000
100
100
0
101
--
--
100
--
-
111
--
--
--
--
-
110
--
--
--
--
-
Y3 Y2 Y1
4
MAPPE DI KARNAUGH E SINTESI
X1 X2
X1 X2
Y2 Y1
00
01
11
10
Y2 Y1
00
01
11
10
α 00
000
000
010
001
γ 00
000
000
100
100
β 01 001
000
101
001
01
--
--
100
--
11 001
δ 10 011
--
--
001
11
--
--
--
--
010
010
011
10
--
--
--
--
y3=0
y3=1
USCITA:
Y2 Y1
Y3
00
01
11
10
0
0
1
-
1
1
0
-
-
-
Z = Y1 + Y2
Y1 = X1!X2!Y3 + X1Y1!Y3 + !X2Y1 + !X2Y2
Y2 = Y2!Y1 + X1X2!Y1!Y3
Y3 = X1X2Y1 + X1Y3
5
SCHEMATICO
6
TESTBENCH 1/3
7
TESTBENCH 2/3
8
TESTBENCH 3/3
9
SIMULAZIONE BEHAVIOURAL
Nella simulazione behavioural, come si può notare dalle zone evidenziate, le variabili di stato
cambiano contemporaneamente senza passare per stati temporanei poiché in questo tipo di
simulazione non si tiene conto che le variabili di stato di fatto commutano in istanti diversi,
anche se molto brevi.
Inoltre l’uscita cambia istantaneamente in quanto non viene considerato il ritardo causato
dalla complessità della rete e dalla tecnologia del dispositivo.
10
SIMULAZIONE POST-ROUTE 1/2
Poiché questa simulazione è di tipo post-route, vengono considerati i ritardi sulle uscite
causati dalla complessità della rete e dalla tecnologia del tipo di FPGA scelto.
Il ritardo è di circa 10 ns.
11
SIMULAZIONE POST-ROUTE 2/2
*in questo caso inizialmente la rete si trova nello stato y3=0 y2=0 y1=1 stabile per
configurazioni d’ingresso X1=1 e X2=0. Ad un certo istante X2 commuta quindi la
rete, per portarsi allo stato y3=1 y2=0 y1=0, passa per un tempuscolo attraverso
lo stato temporaneo, y3=1 Y2=0 y1=1.
Ora le variabili di stato non cambiano contemporaneamente, ma passano per stati
temporanei.
12
Scarica

Presentazione