DESCRIZIONE DEL PROBLEMA
Si vuole realizzare una rete per un gioco di “ tiro al bersaglio” durante una festa
per bambini. Il bambino vincerà un premio ogni volta che riesce a
totalizzare almeno 5 punti.
Il gioco funziona nel seguente modo :



Il bersaglio è popolato da due sensori A e B progettati in modo tale che le
loro configurazioni dividano l’area del bersaglio in varie zone a cui attribuire
un punteggio nel seguente modo: per la configurazione 00 non viene colpito
il bersaglio, dunque vengono totalizzati 0 punti. Se la freccetta colpisce il
bersaglio e i sensori segnano la configurazione 01 il bambino guadagna 1
punto, se invece i sensori hanno valore 10 il bambino guadagna 2 punti,
mentre se viene colpito il centro del bersaglio dove i sensori hanno
configurazione 11 il bambino guadagna 5 punti. Le configurazioni previste
durano un intervallo di clock.
Quando il contatore segna almeno 5 punti l’uscita della rete P, sale a 1 ed
illumina un led per indicare che il bambino ha diritto al premio. Tale uscita
rimane alta per 3 periodi di clock dove sicuramente il gioco sarà
interrotto(A=0 e B=0).
Ogni volta che vengono superati i 5 punti e passati i 3 periodi di clock la rete
si resetta per ricominciare il gioco e l’uscita torna a 0 spegnendo il led.
VHDL
SIMULAZIONE BEHAVIORAL
Nel caso del VHDL si è deciso di utilizzare il vettore sensori che risulta essere molto pratico nella
stesura del codice.
Anche in questo caso i risultati del test confermano la correttezza della rete. Non appena viene
totalizzato un punteggio di almeno 5 punti l’uscita P diventa uguale a 1 attivando il corrispondente
led, il quale rimarrà acceso, come previsto, per 3 periodi di clock per poi tornare a zero spegnendosi.
Ricordiamo che è necessaria la condizione che i sensori d’ingresso durante i 3 periodi di clock
rimangano a zero ovvero non sia in corso nessuna partita.
La simulazione mette in evidenza anche il comportamento del reset il quale viene attivato
automaticamente e fa si che si possa iniziare una nuova partita partendo dal punteggio 0.
Inoltre si è voluto dimostrare il corretto funzionamento anche per sequenze di punteggi che
superino il punteggio minimo e anche il comportamento della rete nel caso in cui una partita venga
sospesa . In tal caso non appena venga ripreso il gioco è ancora valido il punteggio ottenuto prima
della sospensione.
SIMULAZIONE POST-ROUTE
La simulazione Post-Route mette in evidenza alcuni ritardi dovuti ai componenti scelti per la
realizzazione della rete e alle commutazioni dei segnali stessi. Si può concludere però che il
risultato ottenuto da tale simulazione è soddisfacente e corretto in quanto l’uscita P commuta il
suo stato con un ritardo inferiore ai 10 ns.
TEST BENCH
Si riporta il codice integrale utilizzato per testare la rete sincrona scritta interamente con il codice VHDL:
Si è optato di creare un process a
parte per il clock per rendere più
chiaro l’intero test e
maggiormente visibili gli stimoli
indotti alla rete
Condizione necessaria
esplicitata dal testo in cui viene
ribadito che per tre periodi di
clock, dopo il raggiungimento
del punteggio minimo, è
garantito che non è in atto
nessuna partita
Scarica

Presentazione