Progetto Rete Sequenziale Asincrona
Torsello Marco Donato 0000587966
Testo• Si vuole realizzare una rete sequenziale asincrona che controlli il traffico
all'interno di un tunnel stradale molto stretto. In particolare, il (suddetto) tunnel è percorribile in un solo verso e da un solo automezzo per volta. Si vuole conoscere il verso in cui il mezzo transita e perciò sono posizionati due sensori, sia all'ingresso, sia all'uscita della galleria. Questi sensori sono ad una distanza maggiore del mezzo più lungo che può attraversare il tunnel. Si realizzi quindi una rete asincrona che permetta di conoscere se il tunnel è libero oppure occupato ed in che verso è percorso dal mezzo. Gli ingressi della rete sono composti da due sensori (S1 e S2) i quali si attivano nel momento in cui vengono attraversati. Le uscite sono V1, V2 e L. In particolare:
• - V1 sarà attivo se il tunnel è percorso passando prima dalla posizione del sensore 1;
• - V2 viene attivato nel caso duale;• - L è attivo se il tunnel è libero.
Torsello Marco Donato 0000587966
Sensore1 Sensore2
Verso 1
Verso 2
Diagramma degli stati
Torsello Marco Donato 0000587966
A,001
B,100C,010 D,100
F,100
E,010
G,010
00
00
0000
00
1001
01 10
0110
10
00 00
01
Tabella degli statiIngressi(S1,S2) Uscite
0,0 0,1 1,1 1,0 V1 V2 L
Stati A A C - B 0 0 1
B D - - B 1 0 0
C E C - - 0 1 0
D D F - - 1 0 0
E E - - G 0 1 0
F A F - - 1 0 0
G A - - G 0 1 0
Torsello Marco Donato 0000587966
Tabella Triangolare
Torsello Marco Donato 0000587966
B
C
D -
E -
F DA DA
G EA EA
A B C D E F
Classi di compatibilità così ottenute:α=[A] ,β=[BD],γ=[CE],δ=[F],ε=[G]
Assegnazione00 01 11 10
γ α γ - - 100
β β γ - β 100
α α δ - β 001
δ δ δ - ε 010
ε α - - ε 010
Torsello Marco Donato 0000587966
Decido di assegnare ad α lo stato 011 per evitare possibili corse
00 01 11 10
000 011 000 - - 100
001 001 000 - 001 100
011 011 010 - 001 001
010 010 010 - 110 010
110 011 - - 110 010
Devo risolvere le due corse(in rosso)
Risoluzione Corse
Torsello Marco Donato 0000587966
00 01 11 10
000 100 000 - - 100
001 001 000 - 001 100
011 011 010 - 001 001
010 010 010 - 110 010
110 111 - - 110 010
111 011 - - -
101 111 - - -
100 100 - -
Sintesi uscite
Torsello Marco Donato 0000587966
00 01 11 10
000 100 000 - - 100
001 001 000 - 001 100
011 011 010 - 001 001
010 010 010 - 110 010
110 111 - - 110 010
111 011 - - -
101 111 - - -
100 101 - - -
L=!y2y1y0V1=!y2!y1V2=y1!yo
Sintesi Variabili di statoY2=0 Y2=1
00 01 11 10 00 01 11 10
00 100 000 - - 00 101 - - -
01 001 000 - 001 01 111 - - -
11 011 010 - 001 11 011 - - -
10 010 010 - 110 10 111 - - 110
Torsello Marco Donato 0000587966
Y2=!S2!Y1!Y0+Y2!Y1+Y2!Y0+S1!Y0Y1=!S1Y1+Y1!Y0+Y2Y0Y0=Y0!S2+Y2!S1
Realizzazione VHDL
Torsello Marco Donato 0000587966
Realizzazione a Schematico
Torsello Marco Donato 0000587966
Test
Torsello Marco Donato 0000587966
Simulazione Behavioral VHDL
Torsello Marco Donato 0000587966
Un mezzo attraversa il tunnel da sinistra a destra
Un mezzo attraversa il tunnel da destra a sinistra
Simulazione Post-Route VHDL
Torsello Marco Donato 0000587966
Ritardi per raggiungere lo stato voluto causati dalle transizioni multiple
Simulazione Behavioral Schematico
Torsello Marco Donato 0000587966
Un mezzo attraversa il tunnel da sinistra a destra
Un mezzo attraversa il tunnel da destra a sinistra
Simulazione Post-Route Schematico
Torsello Marco Donato 0000587966
Ritardi per raggiungere lo stato voluto causati dalle transizioni multiple