Una rete sequenziale sincrona deve gestire il funzionamento di un allarme antifurto. Esso
è dotato di due sensori di rilevazione (S1 e S2) e un telecomando con due bottoni: uno
per l’accensione e lo spegnimento dell’antifurto (B) e uno per lanciare l’allarme "panico",
cioè l’attivazione manuale della sirena d’allarme (P). Inoltre, due uscite segnalano
rispettivamente l'accensione dell'antifurto (Accensione) e l'attivazione dell'allarme
(Allarme): solo quando l'antifurto è acceso l'allarme può attivarsi, restando in funzione
fino a quando l'antifurto non viene spento.
L’allarme deve scattare solamente se i sensori rilevano una presenza umana. Per questo
motivo, quando il sensore 1 avverte un movimento, invia un impulso all'antifurto, che
rimane all'erta per 3 periodi di clock: se entro questi 3 clock anche il sensore 2 si
accende, è stata rilevata un'intrusione e viene dato l'allarme. Dunque il sensore 1 è
prioritario rispetto al 2 ed è anche "retriggerabile": un nuovo impulso proveniente dal
sensore 1 resetta il conteggio dei 3 clock.
Per lanciare l'allarme "panico" è necessario tenere premuto l'apposito pulsante del
telecomando per almeno 3 periodi di clock: indipendentemente dallo stato dei sensori,
dunque, l'uscita d'allarme viene portata a 1.
Per la natura del progetto, tutti i segnali d'ingresso sono supposti asincroni: questo
significa che nel programma VHDL questi segnali faranno parte della Sensitivity List dei
processi, insieme al segnale di Clock.
Per la descrizione del comportamento della rete si fa uso di 4 processi, che dividono la
gestione degli input e degli output a seconda del loro compito. Alcuni segnali interni
alla Architecture hanno il compito di esportare i risultati ottenuti all’interno dei vari
processi. I processi sono:
• Processo Accensione: gestisce l’uscita Accensione attraverso il segnale B
• Processo Panico: si occupa del segnale P per lanciare l’allarme ‘panico’
• Processo Sensore: si occupa del sensore S1
• Processo Allarme: riceve come input il sensore S2 e i segnali esportati dagli altri
processi per gestire l’uscita Allarme
Entity e segnali interni alla Architecture
Processo Accensione (1)
All’interno del processo si definiscono 3 variabili di supporto. Esse consentono di
simulare il funzionamento di un monoimpulsore in grado di catturare impulsi più brevi
di un clock.
Processo Accensione (2)
Processo Panico
Processo Sensore
Processo Allarme
Il processo è sensibile ai segnali esportati dagli altri processi e al sensore 2.
Una somma logica dei segnali stabilisce il valore dell’uscita Allarme.
Test Bench (1)
Test Bench (2)
Simulazione Behavioral
Simulazione Post Route
La rete reagisce agli stimoli, con i dovuti ritardi fisici, secondo il comportamento atteso
e senza causare glitches delle uscite.
Scarica

Presentazione