Mappe di Karnaugh - implicanti e copertura minima
In questa pagina 6
Semplificare un'espressione con l'algebra (Algebra di Boole - assiomi, teoremi e complemento di una funzioneL'algebra di Boole opera su variabili a due valori con AND, OR, NOT. Identità fondamentali (neutro, idempotenza, complemento, commutativa, associativa, distributiva in entrambe le forme), dualità (si scambiano AND/OR e 0/1), De Morgan $\overline{X+Y}=\overline X,\overline Y$, assorbimento $X+XY=X$, $X+\overline XY=X+Y$, adiacenza $XY+X\overline Y=X$, consenso $XY+\overline XZ+YZ=XY+\overline XZ$. Si dimostrano per induzione perfetta (tabella) o algebricamente. Il complemento di una funzione si ottiene con De Morgan o con duale + negazione dei letterali. Costo: numero di letterali o di ingressi delle porte.Algebra di Boole - assiomi, teoremi e complemento di una funzione →) richiede intuito e non esiste un algoritmo che garantisca la forma più semplice. La mappa di Karnaugh (Maurice Karnaugh, Bell Labs, 1954) è un metodo grafico che porta con certezza a una somma di prodotti minima (o, in modo duale, a un prodotto di somme minimo, 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à →). Funziona bene fino a 4 variabili; programmi di sintesi usano principi analoghi per funzioni più grandi.
Come è fatta una mappa
La mappa ha una cella per ogni riga della tabella di verità, cioè per ogni mintermine (Forme canoniche - mintermini, maxtermini, SOP e POSUn mintermine è un prodotto che contiene una e una sola volta tutte le variabili (dirette o negate) e vale 1 su una sola riga della tabella di verità; un maxtermine è la somma duale e vale 0 su una sola riga; con $n$ variabili ci sono $2^n$ mintermini e $2^n$ maxtermini, e $\overline{m_i}=M_i$. Forma canonica SOP = somma dei mintermini delle righe con $F=1$; POS = prodotto dei maxtermini delle righe con $F=0$. Le forme canoniche si ricavano sempre dalla tabella ma sono ridondanti: servono come punto di partenza per la minimizzazione. SOP e POS si realizzano con circuiti a due livelli.Forme canoniche - mintermini, maxtermini, SOP e POS →). Le variabili sono distribuite su righe e colonne, e le combinazioni sono ordinate in codice Gray (, non ) in modo che due celle vicine differiscano di una sola variabile, cioè siano a distanza di Hamming (Codici binari - BCD, ASCII, Unicode, parità e GrayUn codice binario a $n$ bit distingue $2^n$ elementi. BCD: una cifra decimale ogni 4 bit (1010–1111 non usati; 10 richiede 8 bit, non è il binario del numero). ASCII: 7 bit per 128 caratteri, la cifra ASCII è 011 seguito dal BCD. Unicode/UTF-8: da 1 a 4 byte, compatibile con ASCII. Bit di parità: rileva errori su un numero dispari di bit. Distanza di Hamming = numero di bit diversi. Codice Gray: numeri consecutivi differiscono di un solo bit (sensori di posizione); si costruisce per riflessione o con $g_i=b_i\oplus b_{i+1}$.Codici binari - BCD, ASCII, Unicode, parità e Gray →).
La mappa va pensata richiusa su se stessa: il bordo sinistro è adiacente al bordo destro e il superiore all'inferiore (a cilindro con 3 variabili, a toro con 4). Perciò, per esempio, le quattro caselle d'angolo di una mappa a 4 variabili sono tutte adiacenti.
Numerazione delle celle (indice del mintermine):
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 0 | 0 | 1 | 3 | 2 |
| 1 | 4 | 5 | 7 | 6 |
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 0 | 1 | 3 | 2 |
| 01 | 4 | 5 | 7 | 6 |
| 11 | 12 | 13 | 15 | 14 |
| 10 | 8 | 9 | 11 | 10 |
Si riempie la mappa mettendo 1 nelle celle dei mintermini della funzione (e , o niente, nelle altre).
Perché un raggruppamento semplifica
Due celle adiacenti differiscono per una variabile: se la funzione vale in entrambe, quella variabile si elimina, per la regola (adiacenza). Esempio: i mintermini (010) e (011) sono adiacenti e .
Estendendo: un gruppo rettangolare di celle (1, 2, 4, 8, 16) formato da 1 elimina variabili; il prodotto che lo rappresenta contiene le sole variabili che non cambiano all'interno del gruppo, dirette se valgono 1, negate se valgono 0.
Implicanti e copertura
- Implicante: prodotto per cui la funzione vale 1 ogni volta che il prodotto vale 1 (un gruppo di 1).
- Implicante primo (IP): implicante che non è contenuto in nessun implicante più grande (gruppo massimo, non ingrandibile).
- Implicante primo essenziale (IPE): IP che è l'unico a coprire almeno un mintermine della funzione; va incluso in ogni copertura.
- Copertura: insieme di implicanti che copre tutti gli 1. Obiettivo: copertura minima, cioè tutti gli IPE più il minor numero di altri IP che copre i mintermini rimasti.
Procedura.
- Riempire la mappa con gli 1.
- Trovare gli IP: i rettangoli più grandi (potenze di 2) di 1 adiacenti, tenendo conto dei bordi che si richiudono.
- Individuare gli IPE: cercare gli 1 coperti da un solo IP.
- Se restano 1 scoperti, scegliere pochi altri IP per coprirli (se ci sono scelte equivalenti la forma minima non è unica).
- Scrivere la somma dei prodotti dei gruppi scelti e verificare su qualche riga.
Esempi svolti
Due variabili
:
| 0 | 1 | |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 1 |
Due gruppi da 2: la colonna (celle 1 e 3, resta ) e la riga (celle 2 e 3, resta ). Sono i due IP, entrambi essenziali (la cella 1 è coperta solo dal primo, la 2 solo dal secondo): .
Tre variabili con scelta (copertura non unica)
:
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
Gli implicanti primi sono quattro:
- celle (colonna ): resta ;
- celle (colonna ): resta ;
- celle (riga , colonne e , adiacenti attraverso il bordo): resta ;
- celle (riga , colonne e ): resta .
Essenziali: (solo lei copre ) e (solo lei copre ). Restano da coprire la cella , che può esserlo da oppure da : due forme minime equivalenti, entrambe con prodotti e letterali. Verifica sulla cella (): , , → ✓; sulla (): tutti e tre i prodotti valgono 0 → ✓.
Quattro variabili con tre essenziali
:
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 0 | 1 | 1 | 0 |
| 01 | 1 | 1 | 1 | 1 |
| 11 | 1 | 1 | 1 | 0 |
| 10 | 0 | 1 | 1 | 0 |
- Le colonne e (8 celle: ): resta → .
- Le celle (, ): resta .
- La riga (): resta .
Sono i 3 IP, tutti essenziali ( è coperta solo da ; solo da ; solo da ): , contro 11 mintermini da 4 letterali ciascuno nella canonica.
Quattro variabili con essenziali e completamento
:
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 1 |
| 01 | 0 | 1 | 1 | 1 |
| 11 | 0 | 0 | 0 | 1 |
| 10 | 1 | 1 | 0 | 1 |
I gruppi grandi sono due: la colonna (celle , resta ) e il quadrato che si chiude attraverso i bordi (celle , resta ); sono essenziali ( è coperta solo dal primo, solo dal secondo). Rimangono scoperte le celle e : le copre il gruppo (). Quindi . Gli altri IP (, , ) sono validi implicanti ma non servono nella copertura minima.
Costo e scelta tra coperture
Se due coperture hanno lo stesso numero di prodotti e letterali, sono entrambe minime. Se interessa il numero di ingressi delle porte (gate input cost) si confrontano i due totali. Ogni gruppo scelto si realizza con una AND e tutti i gruppi confluiscono in una OR (Algebra di Boole - assiomi, teoremi e complemento di una funzioneL'algebra di Boole opera su variabili a due valori con AND, OR, NOT. Identità fondamentali (neutro, idempotenza, complemento, commutativa, associativa, distributiva in entrambe le forme), dualità (si scambiano AND/OR e 0/1), De Morgan $\overline{X+Y}=\overline X,\overline Y$, assorbimento $X+XY=X$, $X+\overline XY=X+Y$, adiacenza $XY+X\overline Y=X$, consenso $XY+\overline XZ+YZ=XY+\overline XZ$. Si dimostrano per induzione perfetta (tabella) o algebricamente. Il complemento di una funzione si ottiene con De Morgan o con duale + negazione dei letterali. Costo: numero di letterali o di ingressi delle porte.Algebra di Boole - assiomi, teoremi e complemento di una funzione →).
Errori comuni
- Ordinare le celle in binario () invece che in Gray.
- Non usare i bordi che si richiudono (gruppi che lo richiederebbero restano spezzati).
- Gruppi con numero di celle non potenza di 2 (3, 5, 6, …) o non rettangolari.
- Gruppi non massimi: si ottengono prodotti con letterali inutili.
- Gruppi in eccesso (uno stesso 1 si può usare più volte, ma gruppi tutti già coperti da altri sono ridondanti).
- Sbagliare il segno dei letterali: variabile diretta se vale 1 in tutto il gruppo, negata se 0.
Versione ripasso
- Mappa: una cella per mintermine; righe e colonne in Gray (); bordi opposti adiacenti. Fino a 4 variabili.
- Gruppo di celle di 1 elimina variabili (adiacenza ); prodotto con le variabili costanti nel gruppo (diretta se 1, negata se 0).
- IP = gruppo massimo; IPE = unico a coprire un 1; copertura minima = tutti gli IPE + minimo di IP per gli 1 rimasti (non sempre unica).
- Procedura: riempire; trovare IP; trovare IPE; completare; scrivere e verificare.
- Esempi: ; (o ); ; .
- Errori: Gray violato; bordi ignorati; gruppi non potenza di 2 o non massimi.
Esercizi su questo argomento
- Esercizio 1 · segmento 2 di un display a sette segmenti con don't care (tema d'esame giugno 2022)
- Esercizio 4 · comparatore a maggiore di b su due numeri a due bit (tema d'esame luglio 2022)
- Esercizio 7 · numero pari diverso da zero tra 0 e 9 (tema d'esame settembre 2022)
- Esercizio 10 · segmento a di un display a sette segmenti (tema d'esame febbraio 2023)
- Esercizio 13 · funzione con don't care, forme minime SOP e multiplexer (tema d'esame settembre 2025)
- Esercizio 16 · minimizzazione di una funzione data per mintermini (tema d'esame giugno 2026)
- Esercizio 20 · quiz su algebra di Boole, forme canoniche, mappe di Karnaugh e blocchi combinatori (temi d'esame 2022-2026)
Teoria collegata
- Codici binari - BCD, ASCII, Unicode, parità e Gray
- Forme canoniche - mintermini, maxtermini, SOP e POS
- Introduzione al VHDL - entity, architecture, tipi e livelli di descrizione
- Mappe di Karnaugh - POS, condizioni di don't care e parità
- Progettazione di una rete combinatoria - approccio gerarchico e porte NAND-NOR
- Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli stati
- Verificare reti logiche e automi con Python