17-01-2001 - Esercizio A

Un amico vi chiede di realizzare un antifurto fittizio. Il dispositivo consiste di tre luci (led) allineate, controllate da un dispositivo a tre uscite: S(inistra) C(entro) e D(estra). Il dispositivo (vedi figura) ha come unico ingresso un segnale di clock. Ogni uscita, se=1, ha l'effetto di accendere la corrispondente luce. In ogni istante è accesa una sola luce , che si "sposta" da sinistra a destra, "spaventando" così i ladri che credono di essere seguiti nella loro attività. Progettare il circuito in questione (occhio elettronico) , partendo dall'automa a stati finiti. 
Progettare inoltre (senza ricavare l'automa, ma fornendo esauriente descrizione oltre allo schema circuitale) il circuito che genera il segnale di clock, in modo tale che la velocità di spostamento delle luci sia programmabile. Suggerimento: Il segnale di clock in ingresso all' "occhio elettronico " sarà ricavato dall'uscita i-esima di un contatore ad m uscite. Il circuito riceve in ingresso un valore i compreso fra 1 ed m, e, a seconda del valore i ricevuto, un apposito dispositivo (quale??) provvede a collegare all' input dell "occhio elettronico" il segnale generato dall'uscita Qi del contatore. 

17-01-2001 - Esercizio B
Un codice Gray è una sequenza di numeri binari con la proprietà che tra due numeri consecutivi della sequenza può cambiare un solo bit. Per un codice Gray a tre bit la sequenza è: 000 001 011 010 110 111 101 100 .
Progettare un circuito che emetta (ciclicamente) in uscita un Codice Gray a 3 bit. Usare flip flop JK ed un PLA per la parte combinatoria. Il circuito deve ricevere in ingresso un segnale di controllo "inc". Il codice in uscita cambia sul fronte di salita del segnale inc. Fornire dapprima le specifiche in termini di automa a stati finiti.

1/6/01 - Compito B ,  Esercizio 1
Progettare un registro a 3 bit realizzato con FF di tipo JK, che riceve in ingresso un input sequenziale I , un segnale READ (attivo alto), un segnale SHIFT_LEFT, , un segnale SHIFT_RIGHT, ed un clock. 
1.	Fintanto che il segnale READ è "1" il registro deve leggere i valori di input e memorizzarli, secondo la temporizzazione del clock. (Questo significa che vengono letti tanti bit di input quanti sono i fronti di clock ricevuti nel periodo in cui READ=1) In questa fase il registro si deve comportare come un registro a slittamento a destra (SISO). 
2.	Fintanto che READ=1 i valori di SHIFT_LEFT e SHIFT_RIGHT non modificano il comportamento del registro, descritto al punto 1. 
3.	Quando READ=0, se ( e fintanto che) SHIFT_LEFT=1 l’informazione memorizzata nel registro viene fatta slittare a sinistra, secondo la temporizzazione del clock. 
4.	Quando READ=0, se ( e fintanto che) SHIFT_RIGHT=1 l’informazione memorizzata nel registro viene fatta slittare a destra, secondo la temporizzazione del clock. 
5.	SHIFT_LEFT e SHIFT_RIGHT non sono mai contemporaneamente ad "1". 
6.	Poiché durante lo slittamento a destra ( o sinistra) il valore dell’input I non viene letto, il bit più a destra (sinistra) viene perso, mentre quello più a sinistra (destra) diventa uno zero.
Rappresentare il funzionamento del circuito con un automa e progettare il circuito.