Soluzioni in formato
Word 98,
RTF,
Word 95.
Risultati del compito scritto.
Esercizio 1 (versione 1). (18 punti)
Progettare un circuito il cui output è 1 quando viene riconosciuta una delle seguenti stringhe:
00011
10010
10011
00010
l'output è zero altrimenti.
Utilizzare FF di tipo "Toggle".Costituiranno elemento di valutazione non solo la correttezza ma anche l'ottimalità della soluzione e la completezza e chiarezza dell'esposizione.
Esercizio 1 (versione 2). (18 punti)
Progettare un circuito il cui output è 1 quando viene riconosciuta una delle seguenti stringhe:
01001
11001
01000
l'output è zero altrimenti.
Utilizzare FF di tipo "Toggle".Costituiranno elemento di valutazione non solo la correttezza ma anche l'ottimalità della soluzione e la completezza e chiarezza dell'esposizione.
Esercizio 2 (12 punti)
Assegnata la seguente tabella di verità:
I 3I2I1I0 |
O3O 2O1O0 |
0000 |
0000 |
0001 |
0010 |
0010 |
0111 |
0011 |
0000 |
0100 |
0001 |
0101 |
0100 |
0110 |
1000 |
0111 |
1000 |
1000 |
0000 |
1001 |
0000 |
1010 |
0000 |
1011 |
1000 |
1100 |
1000 |
1101 |
0001 |
1110 |
0000 |
1111 |
0000 |
Progettare i relativi schemi circuitali utilizzando porte logiche, Programmable Logic Arrays (PLA) e multiplexers a 4 ingressi.
Si descriva inoltre il funzionamento generale di un circuito multiplexer e se ne disegni lo schema circuitale interno, per il caso di un MPX a 4 ingressi.
Soluzioni
Esercizio 1. Versione 1 (16 punti) Progettare un circuito il cui output è 1 quando viene riconosciuta una delle seguenti stringhe:
00011
10010
10011
00010
l'output è zero altrimenti.
Si osservi che, in realtà, il sistema deve riconoscere la stringa X001X, dove il simbolo X indica "don't care". Ovvero, il sistema deve emettere un "1" ogni volta che riconosce una stringa di cinque bit, i cui tre bit interni siano "001".
L'automa è pertanto il seguente (considerando che le stringhe vengano lette da destra verso sinistra):
Utilizziamo la seguente codifica per gli stati:
S0 ® 000
S1® 001
S2® 010
S3® 011
S4® 100
La tabella degli stati futuri è data dalla:
IQ 2Q1Q0 (t) |
S(t) |
Q 2Q1Q0 (t+1) |
T 2T1T0 (t) |
Out (t® t+1) |
0000 0001 0010 0011 0100 0111 1000 1001 1010 1011 1100 1111 |
S0 S1 S2 S3 S4 X X X S0 S1 S2 S3 S4 X X X |
S1 S1 S3 S4 S0 X X X S1 S2 S1 S1 S0 X X X |
001 000 001 111 100 XXX XXX XXX 001 011 011 010 100 XXX XXX XXX |
0 0 0 0 1 X X X 0 0 0 0 1 X X X |
Si noti che le configurazioni di stato non ammesse corrispondono a valori dei segnali Ti qualsiasi.
Questo consente di semplificare il relativo circuito combinatorio.
Alternativamente, se si desidera che, in caso di errore, il sistema transiti comunque in una configurazione nota, si può imporre che da un qualsiasi stato non ammesso venga "forzata" una transizione in S0.
Si omette - perché banale- il calcolo col metodo delle mappe di Karnaugh delle espressioni booleane minimizzate per T
2T1T0 e per Out.Versione 1
Rispetto alla versione 2, il problema è complicato dal fatto che una stringa, la 11000, non è inclusa nell'elenco delle stringhe da riconoscere, perciò, non è possibile "generalizzare" le stringhe da riconoscere in un'unica stringa.
Possiamo tuttavia cosiderare la seguente generalizzazione parziale: X1001 e 01000.
La lettura delle stringhe viene sempre effettuata da destra verso sinistra.
L'automa risultante viene mostrato in figura.
Ogni stato, oltre al simbolo Si, reca anche l'indicazione della porzione di stringa riconosciuta. L'output dell'automa è evidenziato solo in corrispondenza degli archi S4® S0 e S8® S0. Tutte le altre transizioni producono un output uguale a zero.
Nota: Un automa di Moore avrebbe richiesto uno stato in più.
Occorrono comunque 4 FF per codificare i 9 stati.
Una possibile codifica è la seguente:
S0=0000, S1=0001, S2=0010,S3=0011,S4=0100,S5=0101,S6=0110,S7=0111,S8=1000
La soluzione completa viene poi derivata nel modo usuale.
Esercizio 2 (14 punti) Assegnata la seguente tabella di verità:
I 3I2I1I0 |
O3O 2O1O0 |
0000 0001 0010 0011 0100 0111 1000 1001 1010 1011 1100 1111 |
0000 0010 0111 0000 0001 0100 1000 1000 0000 0000 0000 1000 1000 0001 0000 |
Progettare i relativi schemi circuitali utilizzando porte logiche, Programmable Logic Arrays (PLA) e multiplexers a 4 ingressi.
Si descriva inoltre il funzionamento generale di un circuito multiplexer e se ne disegni lo schema circuitale interno, per il caso di un MPX a 4 ingressi.
Soluzione:
Le espressioni booleane per O3O
2O1O0 sono date dalle:Nel realizzare tanto il circuito AND-OR che il PLA, si osservi che alcuni termini prodotto (ad esempio il primo di O
0 e di O2) compaiono nell'espressione booleana di più di una variabile di uscita, pertanto NON vanno replicate le relative porte AND.Di seguito è riportato uno schema parziale del PLA
La realizzazione con MPX è molto semplice. L'esercizio richiede che si utilizzino MPX a 4 ingressi, perciò ogni funzione booleana O
i può essere realizzata usando 5 MPX connessi come in figura (che illustra specificamente il circuito relativo alla funzione di uscita O0).In figura, gli input del circuito combinatorio vengono usati come segnali di controllo per i multiplexers. I segnali I
0 ed I1 controllano il primo stadio di 4 MPX., mentre I2 ed I3 controllano il MPX del secondo stadio.Gli ingressi dei 4 MPX del primo stadio devono essere connessi in modo permanente ai valori basso (0 logico) e alto (1 logico), seguendo i valori riportati nella colonna della tabella di verità relativa a O
0.Si osservi che, per ogni valore della quartupla I
3I2I1I0 , il valore di O0 è proprio quello richiesto dalla tabella di verità.Si vedano gli appunti per una trattazione funzionamento dei multiplexers e sul loro uso per la realizzazione di circuiti combinatori.