Prova A

Esercizio 1

Progettate un circuito sequenziale che risponda alle seguenti specifiche.

Il circuito riceve in ingresso un segnale di clock ed un impulso START, che porta ad "1" l’uscita di un FF, così come schematizzato in figura.

 

 

 

Il circuito funziona come segue:

Al primo colpo di ck, se l’uscita del FF1 è alta (ovvero, se è arrivato un segnale "START") il registro A ed i registro B devono essere copiati sui registri di ingresso di un sommatore. Gli impulsi di clock da 2 a 7 non hanno effetto ma causano un ritardo (perché?). L’impulso 8 copia il risultato della somma sul registro A e genera un impulso di reset per il FF 1.

Progettare i vari moduli del circuito in figura secondo il metodo visto a lezione, evidenziando anche i segnali di controllo necessari a garantire la temporizzazione degli eventi sopra descritta.

 

Esercizio 2

 

Progettare il circuito combinatorio che implementa la seguenet tabella di verità, utilizzando esclusivamente MULTIPLEXERS a quattro ingressi e una uscita.

X3X2X1X0

Y

0000
0001

0010

0011

0100
0101

0110

0111

1000
1001

1010

1011

1100
1101

1110

1111

1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1

 

Prova B

Esercizio 1

Progettate un circuito sequenziale che risponda alle seguenti specifiche.

Il circuito riceve in ingresso un segnale di clock ed un impulso START, che porta ad "1" l’uscita di un FF, così come schematizzato in figura.


Al primo colpo di ck, se l’uscita del FF1 è alta (ovvero, se è arrivato un segnale "START"), vanno eseguite le seguenti operazioni:

se c2c1=00 : AandBè C (ovvero, si esegue un AND logico fra i contenuti dei registri A e B e si trasferisce il risultato in C.

se c2c1=01 : AorBè C

se c2c1=10 : AxorBè C

se c2c1=11 : AnandBè C

Al secondo colpo di ck, si azzera il FF1.

Progettare i vari moduli del circuito in figura secondo il metodo visto a lezione, evidenziando anche i segnali di controllo necessari a garantire la temporizzazione degli eventi sopra descritta.

 

Esercizio 2

Progettare il circuito combinatorio che implementa la seguente tabella di verità, utilizzando esclusivamente un PLA.

X3X2X1X0

Y

0000
0001

0010

0011

0100
0101

0110

0111

1000
1001

1010

1011

1100
1101

1110

1111

1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1

 

 

Soluzioni

 

Esercizio 1 prova A

Nota: Per completezza viene descritto anche l'automa di controllo del circuito. Poiché gli automi di controllo sono descritti nella parte IV degli appunti, non era richiesto allo studente inserire questa parte.

Lo schema circuitale del sistema richiesto poteva essere progettato indipendentemente dall'automa di controllo.

 

 

 

 

 

La figura illustra uno schema a blocchi dell'automa di controllo del funzionamento del circuito.

L'automa in figura non evidenzia gli otput, ma solo gli input.

Lo stato S1 è uno stato di "riposo" (il sistema non fa nulla)

Nello stato S2 l'automa abilita la copiatura dei registri A e B e l'esecuzione della somma. Il sistema permane in S2 il tempo sufficiente alla propagazione del carry nel full adder.

Nello stato S3 il sistema abilita la copiatura il risultato della somma in A, ed il reset di FF1, quindi ritorna in S1.

La Figura 1 illustra lo schema circuitale.

Descrizione:

Solo s1 ed s8 vengono utilizzati per controllare il funzionamento del sommatore.

L’input "in_X", dove X è il nome di un registro (A, OP1, OP2), viene utilizzato come segnale di Clock per il registro X. Le informazioni in ingresso al registro vengono memorizzate sul fronte del segnale "in_X".

 

 

 

Esercizio 2:

 

Per le generalità sull’utilizzo di MPX nell’implementazione di sistemi combinatori si veda la perte II degli appunti.

Come visto a lezione, quando si abbiano a disposizione MPX nx1 per realizzare una tabella di verità di N righe e input, con , il circuito deve essere realizzato in s stadi, dove .

Ogni stadio sarà controllato da segnali di ingresso

Nell’esempio in questione, bastano 2 stadi, il primo avrà 16/4 = 4 MPX 4x1, il secondo un solo MPX. Gli ingressi del primo stadio saranno collegati a "1" o "0" seguendo la colonna Y della TV.

 

Esercizio 1 prova B

Nota: Per completezza viene descritto anche l'automa di controllo del circuito. Poiché gli automi di controllo sono descritti nella parte IV degli appunti, non era richiesto allo studente inserire questa parte.

Lo schema circuitale del sistema richiesto poteva essere progettato indipendentemente dall'automa di controllo.

Come per la prova A, un primo modulo del circuito sarà costituito da un contatore (composto da un solo FF) e da un decodificatore, che produce in uscita due segnali, s1 ed s2.

Anche in questo caso, il controllo del funzionamento del circuito può essere descritto mediante un automa :

 

 

 

In S1 il sistema (come nell'esericizio A) permane finché Start=0. In questo stato non produce output. In S1 (dove transita se Start=1,s1=1) l'automa abilita l'operazione logica richiesta e la copiatura del risultato su C. In S3 viene azzerato FF1 e quinsi il sistema torna nello stato di riposo.

La Figura mostra lo schema a blocchi del circuito che esegue le operazioni richieste. (Il modulo counter+decoder è omesso, si veda la figura dell'esercizio precedente)

Descrizione

Fintanto che s1=1, il modulo LOGIC in figura dovrà produrre uscite y1..yn che verranno memorizzate sul registro C sul fronte di discesa di s1. E’ preferibile un Clock attivo sul fronte di discesa, per compensare il ritardo di propagazione dovuto agli operatori logici nel circuito LOGIC.

L’espressione booleana di yi (generico input del registro C) sarà data dalla:

 

 

 

 

 

 

 

 

 

 

 

 

 

In questa espressione Ai e Bi rappresentano i generici output dei registri A e B, c1 e c2 sono i due segnali di controllo menzionati nelle specifiche.

Si noti che a volte, come in questo caso, è più "naturale" passare direttamente dalle specifiche alla espressione booleana senza passare per la tabella di verità. La espressione booleana di yi in questo caso è una formula logica che rappresenta una riscrittura formale delle specifiche verbali: se s1=1, allora se c1 e c2 sono 00, copia in C il prodotto logico Aand B, oppure se c1 e c2 sono 10, copia in C la somma logica A+ B, oppure …. I "se" corrispondono a condizioni da mettere in "and" e gli "oppure" corrispondono a condizioni da mettere in "or".

L’azzeramento del FF1 si ottiene semplicemente utilizzando il segnale s2 come Reset.