Compito A

Esercizio 1 (20 punti)

Progettare, seguendo il metodo formale di sintesi di circuiti visto a lezione, un circuito sequenziale che riceve in ingresso una stringa binaria e produce in uscita un "1" se gli ultimi 8 bit ricevuti contengono un numero di "1" pari.

Soluzione (cenni):

 

L'automa ha due stati: lo stato S0 (Q=0) corrisponde al caso in cui il numero degli "1" è dispari, lo stato S1 (Q=1) corrisponde al caso in cui il numero degli "1" è pari. L'automa riceve due ingressi: x rappresenta l' i-esimo bit della stringa, y è un bit che risulta pari a 0 finché non sono stati "contati" almeno 8 colpi di clock (cioè, sono stati ricevuti 8 bit), ed è pari ad 1 altrimenti. L'uscita out sarà 1 se y=1 e se la condizione di parità è verificata.

 

 

Il segnale y si può ottenere utilizzando un contatore mod 8 le cui uscite vanno in ingresso ad una porta AND: quando tutte le uscite raggiungono il valore 1 il segnale in uscita alla porta AND genera un "set" per un FF la cui uscita Q rappresenta il segnale y. Anche questo circuito può essere modellato con un automa.

Esercizio 2 (10 punti)

Progettare un registro Parallel Input Serial Output con Preset asincrono (= possibilità di caricare un valore sul registro in instanti diversi da quelli scanditi dai fronti di clock).

 

Compito B

 

Esercizio 1 (20 punti)

Progettare, seguendo il metodo formale di sintesi di circuiti visto a lezione, un circuito sequenziale che riceve in ingresso due stringhe A e B di bit di lunghezza indeterminata e produce nell'istante t un'uscita pari ad 1 se A>B con A: a(t) a(t-1)……a(t0) e B: b(t) b(t-1)……b(t0) , dove a(ti),b(ti) sono le coppie di bit ricevute nell'istante ti.

Anche questo circuito si realizza mediante un automa a due stati e due input. Nello stato S0 (Q=0) la comparazione dei bit ricevuti ha dato come risultato A£ B (minore o uguale) , nello stato S1 (Q=1) è verificata la condizione A>B. Si può far coincidere l'output con l'uscita del FF Q(t) ed utilizzare una Macchina di Moore. Per la tabella degli stati futuri, si potrà notare che è del tutto uguale per le prime due colonne alla tabella di verità di un comparartore parallelo.

Q(t)a(t)b(t)

Q(t+1)

J(t) K(t)

000

001

010

011

100

101

110

111

0

0

1

0

1

0

1

1

0X

0X

1X

0X

X0

X1

X0

X0

 

Esercizio 2 (10 punti)

Progettare , utilizzando un PLA, un circuito che riceve in ingresso quattro variabili booleane e produce in uscita quattro variabili booleane il cui valore corrisponde al valore dell'ingresso incrementato di 1, modulo 15.

Compito C

Esercizio 1 (18 punti)

Analizzare , seguendo il metodo formale di analisi di circuiti visto a lezione, il seguente circuito:

Secondo il procedimento visto a lezione, si calcolano dapprima le espressioni booleane per J0,K0,J1,K1, C, S e D.

Si scrive poi la tabella degli stati futuri (senza dimenticare la colonna delle uscite!!!!) tenendo conto che il sistema ha 2 FF e dunque 4 stati, cui va assegnata una codifica. Ad esempio S0=00, S1=01,S2=10,S3=11

Si ottiene un automa che emette ciclicamente la sequenza 100-010-001, ciclando fra gli stati S0,S1ed S2. Dallo stato S3 l'automa "entra" nel ciclo emettendo la sequenza 100 e transitando in S0.

 

Esercizio 2 (12 punti)

Progettare un circuito di conversione parallelo-seriale, cioé un dispositivo che riceve in ingresso n bit su n linee parallele e li trasferisce su un'unica linea seriale. Specificare anche la frequenza del clock del circuito di conversione, in funzione della frquenza f di variazione dei segnali sulle linee parallele.

Compito D

 

Esercizio 1 (20 punti) Progettare, seguendo la metodologia di sintesi vista a lezione, il circuito sequenziale che produce in uscita le sequenze mostrate nel seguente diagramma temporale (A, B e C sono le tre uscite del circuito sequenziale sincrono, che NON ha un input oltre al segnale di sincronizzazione).

 

Si tratta ancora di un automa che produce ciclicamente la sequenza 100-010-001. Questo automa ha 3 uscite, ma solo 3 stati e dunque deve essere realizzato con due FF. Indicando con Q0 e Q1 le uscite dei FF, ed assegnando le codifiche: S0=00, S1=01, S2=10, S3=11 si ottiene lo stesso automa e lo stesso circuito dell'esercizio C.

 

Esercizio 2 (10 punti) : volendo rappresentare il funzionamento di un circuito sequenziale con un input, due elementi di memoria e due segnali di uscita mediante una macchina di Moore, di quanti stati al massimo ho bisogno? Quale è il massimo numero di stati diversi in cui può trovarsi un registro PIPO a n bit? Ed un registro SISO?

In una macchina di Moore, uno stato è univocamente identificato dalla sequenza di bit memorizzati e dal valore dei bit di output. Se ho x bit di memoria ed y bit di output, il numero MASSIMO di stati (di cui eventualmente alcuni saranno indistinguibili) è dato da 2(x+y), dunque, 16 stati per il caso in considerazione.