TIRO AL BERSAGLIO Di Ilaria Bertoletti Progetto Sincrono esame Reti logiche 30/01/13.

Post on 02-May-2015

218 views 3 download

transcript

TIRO AL BERSAGLIO

Di Ilaria Bertoletti

Progetto Sincrono esame Reti logiche 30/01/13

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:

Full-Adder a 4 bit necessario per sommare i punti totalizzati

Registro necessario per accumulare i punti realizzati

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.

Funge da reset per il registro d’accumulo quando il decoder=1 e nello stesso tempo abilita il contatore per mantenere l’uscita

Decoder 2-4 utile per l’accumulo

SIMULAZIONE BEHAVIORAL

Centro il bersaglio al primo colpo quindi raggiungo subito i 5 punti e P=1 e rimane accesa per 3 impulsi di clock successivi.

Reset asincrono

Combinazione di punteggi 01-10-11 =8 quindi P=1 al primo fronte positivo di clock dopo aver raggiunto il punteggio minimo

Il punteggio totale si ferma a 3 perché si è smesso di giocare e P=0 finché non riprende il gioco con un punteggio utile.

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.

130.000 ns

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