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.
SCHEMATICO
È stato interamente realizzato con un approccio di tipo diretto:
Decoder 2-4 utile per
l’accumulo
Registro necessario per accumulare
i punti realizzati
Full-Adder a 4 bit necessario per
sommare i punti totalizzati
Funge da reset per il registro
d’accumulo quando il decoder=1
e nello stesso tempo abilita il
contatore per mantenere l’uscita
Dopo aver raggiunto il punteggio
minimo devo attivare il led . Il
punteggio è compreso tra un minimo di
5 e un massimo di 9 quindi uso un
decoder a 4 bit.
Contatore a 2 bit che
mantiene per 3 periodi di
clock l’uscita.
SIMULAZIONE BEHAVIORAL
Reset asincrono
Centro il bersaglio al primo colpo quindi
raggiungo subito i 5 punti e P=1 e rimane
accesa per 3 impulsi di clock successivi.
130.000 ns
Il punteggio totale si ferma a 3 perché si è
smesso di giocare e P=0 finché non riprende
il gioco con un punteggio utile.
Combinazione di punteggi 01-1011 =8 quindi P=1 al primo fronte
positivo di clock dopo aver
raggiunto il punteggio minimo
Viene inoltre rispettata la clausola secondo la quale mentre il led è acceso (P=1) nei 3 periodi di clock il gioco è fermo,
quindi A=0 e B=0. Possiamo concludere che la rete si comporta esattamente come atteso.
SIMULAZIONE POST-ROUTE
Il risultato è accettabile e il ritardo è
di 7,500 ns rispetto alla simulazione
Behavioral
Dettaglio della simulazione Behavioral
Anche questo risultato è
accettabile nonostante il ritardo
TEST BENCH
Viene riportato qui di seguito il codice integrale usato per testare il corretto funzionamento
della rete
Si è optato di utilizzare una
costante di tempo per poterla
comodamente utilizzare in
seguito rendendo il codice più
scorrevole
Indispensabile per rispettare la
consegna del testo in cui si imponeva
che le configurazioni d’ingresso
durassero un intervallo di clock
Scarica

Presentazione