Esercizio 13funzione con don't care, forme minime SOP e multiplexer (tema d'esame settembre 2025)
In questa pagina 4
Testo (tema d'esame settembre 2025, esercizio 1 della parte di pratica). Si consideri la funzione con = MSB e = LSB, non completamente specificata, descritta dai mintermini e dai mintermini di don't care . Si chiede di: a) disegnare la mappa di Karnaugh; b) scrivere tutte le forme minime della funzione espresse come SOP; c) riportare, per una sola delle forme minime scritte al punto b), la tabella di verità e lo schema circuitale che implementa la funzione su multiplexer, utilizzando un componente col minimo numero di ingressi.
Teoria usata: Mappe di Karnaugh - implicanti e copertura minimaLa mappa di Karnaugh è la tabella di verità disposta in una griglia con righe e colonne in codice Gray, così che celle adiacenti (anche tra bordi opposti) differiscano in una sola variabile. Si raggruppano gli 1 in rettangoli di $2^k$ celle: ogni gruppo elimina $k$ variabili e dà un prodotto. Implicante primo = gruppo massimo; essenziale = unico a coprire un mintermine; la copertura minima contiene tutti gli essenziali più il minimo di altri primi (può non essere unica). Efficace fino a 4 variabili.Mappe di Karnaugh - implicanti e copertura minima →, Mappe di Karnaugh - POS, condizioni di don't care e paritàPer la POS minima si raggruppano gli 0 della mappa, si ottiene la SOP minima di $\overline F$ e si scrive $F$ come prodotto di somme (variabile diretta se vale 0 nel gruppo, negata se vale 1). Le condizioni di don't care (X) sono combinazioni di ingresso che non si presentano o la cui uscita è indifferente: si usano come 1 o come 0 a seconda di quel che allarga i gruppi (mai raggruppamenti fatti solo di X). Le funzioni XOR a più variabili (disparità) e XNOR (parità) hanno mappa a scacchiera: non si semplificano con i gruppi.Mappe di Karnaugh - POS, condizioni di don't care e parità →, Multiplexer e funzioni logiche realizzate con decoder e multiplexerIl multiplexer (MUX) $2^n$-to-1 ha $2^n$ ingressi dati, $n$ ingressi di selezione e un'uscita che copia l'ingresso selezionato: $Y=\sum_i m_i(S),I_i$. Si realizza con decoder + AND di enable + OR (costo 22 per il 4-to-1) o direttamente (costo 18). Un MUX $2^n$-to-1 realizza qualunque funzione di $n$ variabili (ingressi dati = colonna della tabella di verità); con un MUX $2^{n-1}$-to-1 si usano le $n-1$ variabili come selezione e gli ingressi dati valgono $0$, $1$, $X$ o $\overline X$ (l'ultima variabile). I MUX a vettori selezionano gruppi di bit.Multiplexer e funzioni logiche realizzate con decoder e multiplexer →.
a) Mappa di Karnaugh
Righe , colonne (Gray). Gli 1 sono nelle celle , le X nelle celle :
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | X (0) | 1 (1) | X (3) | 0 (2) |
| 01 | X (4) | 0 (5) | 1 (7) | 0 (6) |
| 11 | X (12) | 0 (13) | 1 (15) | 1 (14) |
| 10 | X (8) | 0 (9) | 0 (11) | X (10) |
(Tra parentesi l'indice della cella.)
b) Forme minime SOP
Implicanti primi (si usano le X come 1 per allargare i gruppi):
- : celle (righe e , colonne e );
- : celle ;
- : celle ;
- : celle ;
- : celle ;
- : celle ;
- : celle .
Nessun implicante primo è essenziale: ogni 1 è coperto da due primi diversi ( da o ; da o ; da o ; da o ). Bisogna quindi scegliere la copertura minima per confronto. Il minimo è di 3 prodotti e 8 letterali:
- (copre ) (copre , usando X ) un implicante che copre la cella .
La cella si copre in due modi equivalenti, quindi le forme minime sono due: Altre coperture con 3 prodotti (per esempio ) hanno più letterali (9). Non c'è una forma con 2 prodotti.
c) Implementazione con multiplexer
Si sceglie una delle due forme e si sceglie come valgono i don't care in modo coerente con essa: con la seconda forma, , la funzione è completamente specificata:
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | |
| 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | |
| 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
| 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | |
| 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | |
| 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
(le X valgono ; valgono ).
Si cerca il multiplexer più piccolo. Un MUX 8-to-1 ( dati selezioni ingressi) realizza ogni funzione di 4 variabili con dati in . Ma qui conviene un MUX 4-to-1 ( dati selezioni ingressi): si usano come selezione due variabili e come dati funzioni (costanti o letterali) delle altre due. Con selezione per ogni coppia si guarda come dipende da :
| in funzione di | ingresso dati | |
|---|---|---|
| 00 | con : | |
| 01 | con : | |
| 10 | con : | |
| 11 | (gli altri termini valgono 0) |
Schema: MUX 4-to-1 con selezione , e ingressi , , , , uscita ; serve un inverter per . Riscontro con la tabella: per (, ): ✓ (); per (, ): ✓; per (, ): ✓.
Con la prima forma non esiste una simile semplificazione con come selezione: servirebbe un MUX 8-to-1 (con selezione i dati sono ). Per questo la richiesta di "una sola delle forme" e del "minimo numero di ingressi" porta a scegliere la seconda.
Errori comuni
- Dimenticare che le X vanno usate come 1 o 0 a scelta, e che dopo aver scelto la forma i valori sono fissati.
- Credere che esista una sola forma minima: qui sono due (e nessun implicante primo è essenziale).
- Usare sempre un MUX -to-1 con dati : con l'ultima scelta delle variabili e le X si può scendere a un MUX -to-1 con dati letterali.
- Dimenticare l'inverter per nel conteggio.
Versione ripasso
- Testo. con mintermini e don't care : mappa, tutte le forme minime SOP, tabella e schema su MUX di minimo numero di ingressi per una forma.
- Mappa (righe , colonne ): nessun implicante primo essenziale; primi: , , , , , , .
- Forme minime (3 prodotti, 8 letterali): e .
- MUX: con la 2ª forma, ; MUX 4-to-1 con selezione e dati , , , (6 ingressi, contro 11 del MUX 8-to-1) (Multiplexer e funzioni logiche realizzate con decoder e multiplexerIl multiplexer (MUX) $2^n$-to-1 ha $2^n$ ingressi dati, $n$ ingressi di selezione e un'uscita che copia l'ingresso selezionato: $Y=\sum_i m_i(S),I_i$. Si realizza con decoder + AND di enable + OR (costo 22 per il 4-to-1) o direttamente (costo 18). Un MUX $2^n$-to-1 realizza qualunque funzione di $n$ variabili (ingressi dati = colonna della tabella di verità); con un MUX $2^{n-1}$-to-1 si usano le $n-1$ variabili come selezione e gli ingressi dati valgono $0$, $1$, $X$ o $\overline X$ (l'ultima variabile). I MUX a vettori selezionano gruppi di bit.Multiplexer e funzioni logiche realizzate con decoder e multiplexer →).
- Errori: una sola forma minima; X non fissate dopo la scelta; inverter dimenticato.