progetto asincrono schematico. specifiche si vuole realizzare una rete sequenziale asincrona che...
TRANSCRIPT
![Page 1: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/1.jpg)
Progetto Asincrono
Schematico
![Page 2: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/2.jpg)
Specifiche• Si vuole realizzare una rete sequenziale asincrona che gestisca l’apertura/chiusura delle
veneziane motorizzate.• La rete riceve in ingresso 4 segnali di input binari: U, D, P1, P2 che non cambiano mai
contemporaneamente. • I segnali di input U e D provengono da due tasti di un telecomando. La configurazione UD =
11 non si verifica mai. Per la configurazione UD = 10 le veneziane devono aprirsi per un terzo solo se non erano già completamente aperte, per UD = 01 devono chiudersi per un terzo solo se non erano già completamente chiuse e per UD = 00 la loro posizione deve rimanere invariata. La rete deve agire nel momento in cui uno dei due tasti viene rilasciato dopo essere stato premuto.
• I segnali P1 e P2 provengono da un sensore che monitorizza la posizione delle veneziane. La configurazione P1P2 = 00 indica che le veneziane sono completamente aperte, P1P2 = 01 indica che sono chiuse per un terzo, P1P2 = 11 indica che sono chiuse per due terzi e P1P2 = 10 indica che sono completamente chiuse.
• La rete ha due segnali di output binario Z1 e Z2 che controllano un motore elettrico che si fa carico del movimento delle veneziane. Per la configurazione Z1Z2 = 00 il motore rimane fermo, per Z1Z2 = 01 il motore chiude le veneziane, per Z1Z2 = 10 le apre. La configurazione Z1Z2 = 11 è inutilizzata. A seconda degli input, la rete dovrà fornire l’output adeguato.
![Page 3: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/3.jpg)
Diagramma degli stati
P 10
Q 00
N 10
F 01
C 01
D 00
R 10
B 00
A 00
G 00
E 00
H 00
M 00
O 00
L 00
I 01
-000
0100 --00
0001
--110111
0101 --01
0011
1010--10
0-10
--11 1011
1001--01
0100
1011
--110101
0001--01
0000
--100111
0011
0001
--111010
0010
1001--00
--01
0011
UDP1P2
(Z1Z2)E’ stato adottato il modello di Moore
CHIUSURA
APERTURA
![Page 4: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/4.jpg)
Tabella degli stati
0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
A A - - - B - - - A - - - - - - - 00
B C - - - B - - - - - - - - - - - 00
C C D - - C D - - C D - - C D - - 01
D - D - - - E - - - Q - - - - - - 00
E - F - - - E - - - - - - - - - - 00
F - F G - - F G - - F G - - F G - 01
G - - G - - - H - - - O - - - - - 00
H - - I - - - H - - - - - - - - - 00
I - - I L - - I L - - I L - - I L 01
L - - - L - - - L - - - M - - - - 00
M - - - N - - - - - - - M - - - - 00
N - - G N - - G N - - G N - - G N 10
O - - P - - - - - - - O - - - - - 00
P - D P - - D P - - D P - - D P - 10
Q - R - - - - - - - Q - - - - - - 00
R A R - - A R - - A R - - A R - - 10
UDP1 P
2
![Page 5: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/5.jpg)
Riduzione degli statiB AC
C
D -- --
E -- -- DF
F DF
G -- -- -- --
H -- -- -- -- GI
I -- GI
L -- -- -- -- -- --
M -- -- -- -- -- -- LN
N
O -- -- -- -- GP IP -- --
P GP
Q -- -- DR FR -- -- -- -- --
R -- DR
A B C D E F G H I L M N O P Q
Dalla tabella degli stati è possibile ricercare gli stati fra loro compatibili. Due stati sono fra loro compatibili se, ove specificato, per gli stessi ingressi presentano le stesse uscite e portano agli stessi stati o a stati a loro volta compatibili fra loro.
Analizzando le uscite, si trovano subito molte incompatibilità (croci vuote). Analizzando le altre condizioni di compatibilità, si trovano gli stati compatibili.
Si trovano infine le seguenti classi di compatibilità (non tutte massime)
[A,E,H,M][B,Q,G,L]
[F][P]
[C,I][D,O][N,R]
![Page 6: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/6.jpg)
AssegnazionePer le classi di compatibilità trovate è chiaramente verificata la condizione di copertura (ogni stato di partenza deve essere presente in almeno uno stato finale). Per tali classi è verificata anche la chiusura (gli stati futuri di una classe devono essere appartenenti tutti alla stessa classe di compatibilità, se non indifferenti).L’ultimo passo prima della tabella delle transizioni è l’assegnazione delle classi. In questo caso, sono state effettuate le seguenti assegnazioni:
[A,E,H,M] α 000
[B,Q,G,L] β 001
[D,O] γ 011
[C,I] δ 010
[F] ε 100
[N,R] λ 101
[P] φ 111
![Page 7: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/7.jpg)
Assegnazione
0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
α α ε δ λ β α α - α - - α - - - - 00
β δ λ β β β - α β - β γ α - - - - 00
γ - γ φ - - α - - - β γ - - - - - 00
δ δ γ δ β δ γ δ β δ γ δ β δ γ δ β 01
ε - ε β - - ε β - - ε β - - ε β - 01
λ α λ β λ α λ β λ α λ β λ α λ β λ 10
φ - γ φ - - γ φ - - γ φ - - γ φ - 10
UDP1 P
2
![Page 8: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/8.jpg)
Tabella delle transizioni
0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
000 000 100 010 101 001 000 000 --- 000 --- --- 000 --- --- --- --- 00001 010 101 001 001 001 --- 000 001 --- 001 011 000 --- --- --- --- 00011 --- 011 111 --- --- 000 --- --- --- 001 011 --- --- --- --- --- 00010 010 011 010 001 010 011 010 001 010 011 010 001 010 011 010 001 01100 --- 100 001 --- --- 100 001 --- --- 100 001 --- --- 100 001 --- 01101 000 101 001 101 000 101 001 101 000 101 001 101 000 101 001 101 10111 --- 011 111 --- --- 011 111 --- --- 011 111 --- --- 011 111 --- 10110 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
UDP1 P
2
In giallo sono indicate le transizioni che comportano il cambiamento di più di una variabile di stato contemporaneamente, condizione per la quale la rete potrebbe trovarsi in uno stato stabile errato. Siamo quindi di fronte a delle corse critiche.
Y0 Y
1 Y2
![Page 9: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/9.jpg)
Risoluzione corse critiche
0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
000 000 100 010 100 001 000 000 --- 000 --- --- 000 --- --- --- --- 00001 011 101 001 001 001 000 000 001 --- 001 011 000 --- --- --- --- 00011 010 011 111 001 --- 001 --- 001 --- 001 011 001 --- --- --- 001 00010 010 011 010 011 010 011 010 011 010 011 010 011 010 011 010 011 01100 000 100 101 101 000 100 101 --- 000 100 101 --- 000 100 101 --- 01101 100 101 001 101 100 101 001 101 100 101 001 101 100 101 001 101 10111 --- 011 111 --- --- 011 111 --- --- 011 111 --- --- 011 111 --- 10110 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
UDP1 P
2Y0 Y
1 Y2
Le corse critiche sono state risolte mediante transizioni multiple attraverso stati intermedi, sfruttando le indifferenze dove possibile. In giallo gli stati intermedi, in azzurro gli stati finali.
![Page 10: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/10.jpg)
Sintesi Y0
0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
000 000 100 010 100 001 000 000 --- 000 --- --- 000 --- --- --- --- 00001 011 101 001 001 001 000 000 001 --- 001 011 000 --- --- --- --- 00011 010 011 111 001 --- 001 --- 001 --- 001 011 001 --- --- --- 001 00010 010 011 010 011 010 011 010 011 010 011 010 011 010 011 010 011 01100 000 100 101 101 000 100 101 --- 000 100 101 --- 000 100 101 --- 01101 100 101 001 101 100 101 001 101 100 101 001 101 100 101 001 101 10111 --- 011 111 --- --- 011 111 --- --- 011 111 --- --- 011 111 --- 10110 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
UDP1 P
2Y0 Y
1 Y2
Y0 = !P1P2!Y1!U!D + P1!P2!Y1!Y2!U + P1P2Y1Y2!U + !P1!Y1Y2Y0 + P1Y1Y2Y0 + P1!P2Y0 + P2!Y2Y0
![Page 11: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/11.jpg)
Sintesi Y1
0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
000 000 100 010 100 001 000 000 --- 000 --- --- 000 --- --- --- --- 00001 011 101 001 001 001 000 000 001 --- 001 011 000 --- --- --- --- 00011 010 011 111 001 --- 001 --- 001 --- 001 011 001 --- --- --- 001 00010 010 011 010 011 010 011 010 011 010 011 010 011 010 011 010 011 01100 000 100 101 101 000 100 101 --- 000 100 101 --- 000 100 101 --- 01101 100 101 001 101 100 101 001 101 100 101 001 101 100 101 001 101 10111 --- 011 111 --- --- 011 111 --- --- 011 111 --- --- 011 111 --- 10110 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
UDP1 P
2Y0 Y
1 Y2
Y1 = P1P2!Y2!Y0!D + !P1!P2Y2!Y0!D + P2Y1!U!D + Y1!Y2 + P1P2!Y0U + Y1Y0
![Page 12: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/12.jpg)
Sintesi Y2 0000 0001 0011 0010 0100 0101 0111 0110 1000 1001 1011 1010 1100 1101 1111 1110 Z1Z2
000 000 100 010 100 001 000 000 --- 000 --- --- 000 --- --- --- --- 00001 011 101 001 001 001 000 000 001 --- 001 011 000 --- --- --- --- 00011 010 011 111 001 --- 001 --- 001 --- 001 011 001 --- --- --- 001 00010 010 011 010 011 010 011 010 011 010 011 010 011 010 011 010 011 01100 000 100 101 101 000 100 101 --- 000 100 101 --- 000 100 101 --- 01101 100 101 001 101 100 101 001 101 100 101 001 101 100 101 001 101 10111 --- 011 111 --- --- 011 111 --- --- 011 111 --- --- 011 111 --- 10110 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
UDP1 P
2Y0 Y
1 Y2
Y2 = Y2!DP2 + !Y0!Y1Y2!U!P2 + !P1P2Y1 + P1!P2Y1 + P2Y2Y0 + P1!Y1Y0 + !P2!Y1!Y0D
![Page 13: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/13.jpg)
Sintesi Z1 e Z2
00 01 11 10
0 00 00 00 01
1 01 10 10 --
Y1 Y
2Y0
00 01 11 10
0 00 00 00 01
1 01 10 10 --
Y1 Y
2Y0
Z1 = Y0Y2
Z2 = Y1!Y2 + Y0!Y2 = (Y0 + Y1)!Y2
![Page 14: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/14.jpg)
Schematico (1)
![Page 15: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/15.jpg)
Schematico (2)
Pin di input
Reset
![Page 16: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/16.jpg)
Schematico (3)
Le uscite delle espressioni sono messe in AND con il negato del reset
![Page 17: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/17.jpg)
Schematico (4)
Y0 Y1 Y2
Uscite
![Page 18: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/18.jpg)
Testbench VHDL (1)
Librerie ed entity
Architecture: component, segnali e port map
![Page 19: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/19.jpg)
Testbench VHDL (2)Chiusura veneziane
![Page 20: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/20.jpg)
Testbench VHDL (3)Apertura veneziane
![Page 21: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/21.jpg)
Simulazione behavioral
Apertura veneziane Chiusura veneziane
Si può notare come la rete dia l’input al motore solo nel momento in cui il pulsante viene rilasciato. I segnali P1 e P2 notificano alla rete che le veneziane sono arrivate in posizione. Il motore viene quindi fermato.
![Page 22: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/22.jpg)
Simulazione post-route (1)
Apertura veneziane Chiusura veneziane
Comportamento analogo alla behavioral, con introduzione dei ritardi. Si possono notare dei piccoli glitch sulle uscite della rete dovuti alla risoluzione delle corse critiche, per la quale si è passati da stati intermedi con uscite diverse.
![Page 23: Progetto Asincrono Schematico. Specifiche Si vuole realizzare una rete sequenziale asincrona che gestisca lapertura/chiusura delle veneziane motorizzate](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb66497959361e8d1ca2/html5/thumbnails/23.jpg)
Simulazione post-route (2)
La rete risponde agli stimoli esterni con 9,674 ns di ritardo. Le uscite hanno un ritardo di 546 ps dalla variazione degli stati (rete di Moore).