Cassaforte Sincrona con Moduli
La cassaforte, dotata di due tasti – ingressi, si apre solamente se gli ingressi
hanno assunto nel tempo le configurazioni: 00-01-01-10.
Qualsiasi violazione della sequenza riporta il sistema allo stato iniziale.
Siccome gli ingressi sono campionati, la sequenza di ingresso 01-01 è
possibile e ben significativa.
Schematico Xilinx
La rete è stata realizzata mediante sintesi diretta e non tramite sintesi formale.
VHDL – parte 1
VHDL – parte 2
VHDL – parte 3
Simulazione Behavioral
00
01
01 10
Simulazione Post Route
Leggero ritardo dovuto alle implementazioni fisice, quindi i componenti utilizzati.
Spiegazione della rete
La rete assume uscita Z uguale ad 1 solo quando
gli ingressi assumono in sequenza le
configurazioni 00-01-01-10. Gli ingressi possono
anche cambiare in modo asincrono in quanto
questi vengono campionati solo al successivo
fronte di salita del Clock (sincrono). L’uscita
assume valore 1 solamente al fronte successivo al
riconoscimento della sequenza. I segnali interni
QA,QB,QC rappresentano lo stato interno del
contatore, mentre i segnali interni Y0,Y1,Y2
rappresentano la decodifica di X1 e X2.
Funzionamento della rete
Lo stato a riposo del contatore è la configurazione 100 (QC/QB/QA). Il contatore rimane
nello stato 100 finchè non si presenta la configurazione di ingresso 00 che tramite il Load
attivo porta direttamente lo stato del contatore a 000. Il contatore rimarrà in questo stato
finchè non si presenterà la configurazione di ingresso 01 che permette la disattivazione del
Load fa iniziare così il conteggio (Counter Eneble già attivo con l’azzeramento dell’and4). La
successiva combinazione di ingresso 01 (unica corretta) permette al contatore di continuare
a contare arrivando allo stato interno 010. Se la successiva combinazione di ingressi è 10
viene mantenuto il Load a 0 e il Counter Eneble a 1 e il contatore si porta allo stato finale
011 con successiva uscita a 1 al prossimo fronte positivo del clock.
A questo punto il contatore si porterà sempre allo stato di riposo 100 che va ad attivare
tramite il segnale Init_Val_100 l’and4 disattivando quindi il conteggio.
Arrivata allo stato di riposo la rete si comporta come precedentemente descritto aspettando
il segnale 00 per portarsi al primo stato 000 della sequenza corretta.
Ogni configurazione di ingresso diversa da 00 durante la sequenza porta inevitabilmente il
contatore al suo stato di riposo 100 attivando il Load.
Il contatore rimane allo stato interno 000 per una sequenza lunga a piacere di ingressi 00.
Scarica

CassaforteSinc