📘 Teoria di base
Cos’è una Mappa di Karnaugh
La Mappa di Karnaugh (K-map) è una rappresentazione grafica della tabella di verità che permette di
semplificare funzioni booleane riducendo il numero di termini e di variabili presenti nell’espressione finale.
Perché si usa
- Per ottenere circuiti combinatori più semplici (meno porte logiche, meno ingressi, meno ritardi).
- Per passare rapidamente dalla tabella di verità a una funzione booleana minimizzata.
- Per visualizzare in modo intuitivo adiacenze e raggruppamenti utili alla semplificazione.
Codice Gray
Le righe e le colonne della mappa sono ordinate secondo il codice Gray: due celle adiacenti differiscono
per una sola variabile. Questo rende possibili i raggruppamenti che eliminano variabili.
Mintermini, maxtermini e don’t care
- Minterm (Σm): combinazione di ingresso per cui l’uscita vale 1.
- Maxterm (ΠM): combinazione di ingresso per cui l’uscita vale 0.
- Don’t care (X): combinazioni non significative che possono essere usate per facilitare i gruppi.
Vantaggi e limiti
- Vantaggi: metodo rapido e visivo fino a 4 variabili (estendibile, ma meno pratico).
- Limiti: con molte variabili il metodo diventa poco gestibile; in quel caso convengono algoritmi (Quine–McCluskey, Espresso).
✍️ Box didattico – Come scrivere correttamente una funzione
📘 Come scrivere correttamente una funzione booleana
Questo strumento accetta solo funzioni booleane in forma indicizzata,
cioè tramite mintermini (Σm) o maxtermini (ΠM).
✅ Forma generale
F(A,B,C,...) = Σm( … ) d( … )
F(A,B,C,...) = ΠM( … ) d( … )
- Σm elenca gli indici per cui F = 1
- ΠM elenca gli indici per cui F = 0
- d(...) elenca i don’t care (opzionale)
🔹 Esempi rapidi
F(A,B) = Σm(1,3)
F(A,B,C) = Σm(1,3,7) d(5)
F(A,B,C) = ΠM(0,2,4,6)
⚠️ Errori comuni
- Scrivere espressioni logiche del tipo F = A·B + C' (non supportate qui)
- Usare indici non compatibili col numero di variabili (es. 2 variabili → indici 0..3)
- Dimenticare di indicare tutte le variabili in F(A,B,C,...)
🧪 10 esercizi svolti (da usare come riferimento)
Esercizio 1 – 2 variabili (base)
Testo: La funzione vale 1 quando A=0,B=1 e A=1,B=1.
Soluzione:
F(A,B) = Σm(1,3)
Esercizio 2 – 2 variabili (POS)
Testo: La funzione vale 0 solo per A=0,B=0.
Soluzione:
F(A,B) = ΠM(0)
Esercizio 3 – 3 variabili (SOP)
Testo: La funzione vale 1 per gli ingressi 1, 3, 5 e 7.
Soluzione:
F(A,B,C) = Σm(1,3,5,7)
Esercizio 4 – 3 variabili con don’t care
Testo: La funzione vale 1 per 1, 3 e 7. Il caso 5 non è significativo.
Soluzione:
F(A,B,C) = Σm(1,3,7) d(5)
Esercizio 5 – 3 variabili (POS)
Testo: La funzione vale 0 per 0, 2, 4 e 6.
Soluzione:
F(A,B,C) = ΠM(0,2,4,6)
Esercizio 6 – 4 variabili (SOP)
Testo: La funzione vale 1 per 1, 3, 7 e 15.
Soluzione:
F(A,B,C,D) = Σm(1,3,7,15)
Esercizio 7 – 4 variabili con don’t care
Testo: La funzione vale 1 per 1, 3 e 15. I casi 5 e 13 sono don’t care.
Soluzione:
F(A,B,C,D) = Σm(1,3,15) d(5,13)
Esercizio 8 – Funzione nulla
Testo: La funzione non vale mai 1.
Soluzione:
F(A,B,C) = Σm()
Esercizio 9 – Funzione sempre vera
Testo: La funzione vale sempre 1 (3 variabili).
Soluzione:
F(A,B,C) = Σm(0,1,2,3,4,5,6,7)
Esercizio 10 – Da tabella di verità
Testo: Dalla tabella: a 1 gli ingressi 2, 4 e 6. Il caso 7 è don’t care.
Soluzione:
F(A,B,C) = Σm(2,4,6) d(7)