Prova A

Esercizio 1 (18 punti)

Si costruisca il circuito sequenziale che emette dapprima la sequenza 000 001 100 110 (il bit a destra è il meno significativo), quindi la sequenza 001 100 110, quindi la sequenza 100 110, quindi ancora 110, ed infine ricominci il ciclo di sequenze da 000 001 100 110.

In altri termini, il sistema deve emettere ciclicamente quattro diverse sequenze di configurazioni di 3 bit.

La seconda, terza e quarta sequenza si ottengono eliminando la prima configurazione di bit, rispettivamente, dalla prima, seconda e terza sequenza.

Le transizioni di stato devono avvenire in corrispondenza di un fronte di clock.

 

 

 

Esercizio 2 (12 punti)

Enunciare in termini formali e descrivere la metodologia di minimizzazione di una automa a stati finiti.

 

 

Prova B

Esercizio 1 (12 punti)

Descrivere in termini chiari e formali (la chiarezza costituirà elemento di valutazione) le seguenti metodologie di realizzazione di circuiti combinatori:

Porte logiche

Programmable Logic Arrays (PLA7

Multiplexers

ROM

elencando, al termine della descrizione, vantaggi, svantaggi, e limiti di applicabilità di ciascuna soluzione.

 

 

Esercizio 1 (18 punti)

Si costruisca il circuito sequenziale che emette dapprima la sequenza 010 000 100 110 (il bit a destra è il meno significativo), quindi la sequenza 000 100 110, quindi la sequenza 100 110, quindi ancora 110, ed infine ricominci il ciclo di sequenze da 010 000 100 110.

In altri termini, il sistema deve emettere ciclicamente quattro diverse sequenze di configurazioni di 3 bit.

La seconda, terza e quarta sequenza si ottengono eliminando la prima configurazione di bit, rispettivamente, dalla prima, seconda e terza sequenza.

Le transizioni di stato devono avvenire in corrispondenza di un fronte di clock.

 

 

 

 

Soluzione esercizio 1.

Il circuito deve emettere 4 cicli di sequenze, ciascuna delle quali termina con "110" ed inizia con 000, 001, 100 o 110, a seconda che si tratti del primo, secondo terzo o quarto ciclo.

Dunque, possiamo associare ad ogni ciclo un codice, ad esempio:

00 per il ciclo 000 001 100 110

01 per il ciclo 001 100 110

10 per il ciclo 100 110

11 per il ciclo composto dalla sola configurazione 110.

Il circuito nello stato corrispondente alla configurazione 110 dovrà condizionare la transizione ad uno stato successivo al valore del codice di ciclo.

A sua volta, il codice di ciclo dovrà essere incrementato di 1 ogni volta che il sistema arriva nello stato c

Abbiamo in sostanza due automi: uno è un banale contatore a due bit, che viene incrementato ogni volta che il sistema transita nello stato S2 del secondo automa, riportato in figura.

I quattro stati S0, S1, S2, S3 corrispondono all'emissione delle quattro configurazioni possibili, rispettivamente 000 001 100 110. Ogni stato emette la relativa configurazione, attraverso opportuni bit O2O1O0.

In figura, Q0 e Q1 sono i bit di stato dei FF dell'automa in figura, mentre i bit b0 e b1 del contatore sono i bit il cui valore determina, assieme al fronte di clock, la transizione da S2 in un altro stato.

Negli stati diversi da S2 le transizioni avvengono solo in corrispondenza del fronte di clock (ck).

L'automa in figura ha 4 stati, 2 input (più il clock), e 3 output. Occorrono 2 FF, ad esempio di tipo D.

La codifica degli stati è: S0=00, S1=01, S2=10,S3=11. Poiché abbiamo scelto FF di tipo D, la colonna relativa agli impulsi di eccitazione dei FF nell'istante t coincide con la colonna degli stati futuri (t+1).

b1b0Q1Q0

(t)

Q1Q0(t+1)

(=D1D0(t))

O2O1O0

(t)

00 00

00 01

00 10

00 11

01 00

01 01

01 10

01 11

10 00

10 01

10 10

10 11

11 00

11 01

11 10

11 11

01

10

11

00

xx

10

11

01

xx

xx

11

10

xx

xx

xx

11

000

001

100

110

xxx

001

100

110

xxx

xxx

100

110

xxx

xxx

xxx

110