Definizione #
La mappa di Karnaugh è una rappresentazione bidimensionale della tabella della verità di una funzione di 2,3,4 variabili, i cui valori sono elencati sui bordi in maniera tale che due configurazioni consecutive differiscano per il valore di un solo bit (codice di Gray).
e.g.
Uscita R del Full Adder:
a | b | r | R |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
La mappa di Karnaugh associata è:
a\br | 00 | 01 | 11 | 10 |
---|---|---|---|---|
0 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
Lo scopo della mappa è quello di identificare graficamente, configurazioni adiacenti, ovvero che differiscono per un solo bit, aventi il medesimo valore di uscita (utile per trovare a sua volta implicanti e implicati primi essenziali).
Adiacenza tra celle #
Una coppia di celle adiacenti su una mappa di Karnaugh è detta tale quando differiscono per un solo bit. Il numero di celle adiacenti corrisponde al numero di ingressi.
e.g.
O è la cella scelta, X sono le celle considerate adiacenti ad O.
2 ingressi:
a\b | 0 | 1 |
---|---|---|
0 | O | X |
1 | X |
3 ingressi:
a\bc | 00 | 01 | 11 | 10 |
---|---|---|---|---|
0 | X | |||
1 | X | O | X |
4 ingressi:
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | X | X | O | |
01 | X | |||
11 | ||||
10 | X |
5 ingressi:
$a=0$
bc\de | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | ||||
01 | X | |||
11 | X | O | X | |
10 | X |
$a=1$
bc\de | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | ||||
01 | ||||
11 | X | |||
10 |
Manipolazione algebrica per via grafica #
Due termini di una espressione canonica (SP o PS) corrispondenti a configurazioni diverse che individuano celle adiacenti, equivalgono ad un unico termine con un letterale in meno (quello che cambia valore).
e.g.
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | X | X | X | X |
01 | X | X | X | X |
11 | X | X | X | 1 |
10 | X | X | X | 1 |
- Espressione canonica SP: $\dots + abcd' + ab'cd' + \dots$
- Diventa: $\dots + acd' + \dots$
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | X | X | X | X |
01 | X | X | X | X |
11 | X | 0 | 0 | X |
10 | X | X | X | X |
- Espressione canonica PS: $\dots * (a'b'cd') * (a'b'c'd') * \dots$
- Diventa: $\dots + a'b'd' + \dots$
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | X | X | X | X |
01 | X | 1 | 1 | X |
11 | X | 1 | 1 | X |
10 | X | X | X | X |
- Espressione canonica SP: $\dots + a'bc'd + a'bcd + abc'd + abcd + \dots$
- Diventa: $\dots + a'bd + abd + \dots$
- Che a sua volta diventa: $\dots + bd + \dots$
Raggruppamenti rettangolari #
Un raggruppamento rettangolare (RR) di ordine $p$ è un insieme di $2^p$ celle appartenenti ad una mappa, all’interno del quale ogni cella ha esattamente $p$ celle adiacenti. Un RR di ordine $p$ costituito da celle contenenti valore $1$ o una condizione di indifferenza, individua un implicante della funzione. Nel prodotto compaiono solo le $(n-p)$ variabili che rimangono costanti nelle coordinate del RR, in forma vera se valgono $1$, in forma complementata se valgono $0$. Lo stesso vale se il RR è costituito da celle con valore $0$. Esso costituisce un implicato della funzione e nel prodotto compariranno $(n-p)$ variabili in forma vera se valgono $0$ e in forma complementata se valgono $1$. Se un RR non è interamente incluso in un’altro RR di ordine superiore, allora esso individua un implicante/implicato primo.
e.g.
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | - | 1 | 1 | - |
01 | - | 1 | 1 | - |
11 | - | 1 | 1 | - |
10 | 0 | 1 | 1 | - |
- il RR dove $bd$ assumono valore $1$ non è un implicante primo
- il RR dove $d$ assume valore $1$ è un implicante primo.
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | 0 | x | x | 0 |
01 | 0 | x | x | 0 |
11 | 0 | x | x | 0 |
10 | 0 | x | 1 | 0 |
- il RR $c+d$ non è un implicato primo
- il RR $c'+d$ non è un implicato primo
- il RR $d$ è un implicato primo
Copertura minima #
La copertura di una funzione su una mappa è l’insieme di RR che coprono tutte le celle di valore 1 o 0. Una copertura può individuare una possibile struttura per un’espressione (SP per gli 1, PS per gli 0). Una copertura minima è una copertura costituita dal numero minore possibile di RR di dimensione massima. Questa corrisponde alla espressione minima.
e.g.
ab\cd | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | 1 | 1 | 0 | 0 |
01 | 1 | - | 0 | - |
11 | 1 | 1 | 0 | 1 |
10 | 1 | 1 | 0 | 1 |
La copertura $c' + acd'$ è valida ma non è una copertura minima. Infatti se prendiamo in considerazione la copertura $c' + ad'$, essa è una copertura valida con lo stesso numero di RR ma entrambi di dimensione massima.
Analisi di un circuito con le mappe #
- Si scrive l’espressione associata allo schema dato e, se necessario, la si manipola fino ad ottenere una espressione SP o PS.
- Si predispone una mappa di dimensioni adeguate e si tracciano sulla mappa i RR che corrispondono ai termini dell’espressione.
- Nelle celle coperte dagli RR, si indica valore 1 se l’espressione analizzata è SP, 0 in caso sia una espressione PS. Nelle celle non coperte si mette il valore opposto (0 con le SP, 1 con le PS).