120 likes | 250 Views
Esercizio 4 - Reti Asincrone sviluppato in VHDL Xilinx. Dividiamo l’esercizio in alcuni passi, dai quali è possibile derivare il diagramma degli stati:. I due sensori S ed E sono stabili a 00 finché non passa una moneta lungo il piano.
E N D
Esercizio 4 - Reti Asincrone sviluppato in VHDL Xilinx Antonello D'Aloia
Dividiamo l’esercizio in alcuni passi, dai quali è possibile derivare il diagramma degli stati: • I due sensori S ed E sono stabili a 00 finché non passa una moneta lungo il piano. • Lo stato che indica il passaggio di una moneta è lo stato 10 . • Successivamente le monete verranno discriminate in base allo stato che assumono i due sensori. Antonello D'Aloia
Dopo lo stato 10 , dunque, si possono raggiungere gli stati che distinguono i due tipi di monete: • 00 moneta di tipo B (piccola) • 11 moneta di tipo A (grande) • Stato finale per entrambi i casi è lo stato 01 che sarà differenziato dall’uscita (P=1 per monete di tipo B o P=0 per monete di tipo A). • Infine, la rete si riporterà nello stato 00 dato che, come da specifiche, la distanza tra le monete è sempre maggiore della distanza tra i due sensori. • Si ripete il ciclo e la classificazione della prossima moneta. Antonello D'Aloia
Diagramma degli stati: Moneta grande Moneta piccola Antonello D'Aloia
Classi massime di compatibilità: [AB], [BCD], [EFGH] Antonello D'Aloia
SE AB α BCD β EFGH γ Antonello D'Aloia
Z=Y2 Y1=!SY1 + !S!E!Y2 + !EY1!Y2 Y2=!SY2 + EY2 + !SE!Y1 Antonello D'Aloia
Scritto in VHDL: Nell’entity troviamo i due segnali d’ ingresso relativi ai sensori e il segnale d’uscita P. Utilizzo due segnali per definire lo stato interno del sistema. Logica del progetto, risultata dalla sintesi della rete. Antonello D'Aloia
Test Bench: Caso moneta Grande, di tipo A, ci aspettiamo l’uscita a ‘0’. Caso moneta Piccola, di tipo B, ci aspettiamo l’uscita a ‘1’. Antonello D'Aloia
Simulazione Behavioural: L’uscita P è indefinita fino a quando la rete non è in grado di classificare la moneta. Notiamo che quando gli ingressi vanno a ‘11’, caso della moneta grande, l’uscita si porta a ‘0’. L’uscita è stabile fino a quando la rete non classifica la successiva moneta. Come richiesto, nel caso della moneta piccola (tipo B), l’uscita si porta a ‘1’. Antonello D'Aloia
Simulazione Post-Route: MMONETA GRANDE MONETA PICCOLA Come è possibile notare, la simulazione riporta correttamente le richieste del progetto. Notiamo, inoltre, i circa 7ns di ritardo tra ingressi e uscita. Antonello D'Aloia