See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Mappa di Karnaugh - Wikipedia

Mappa di Karnaugh

Da Wikipedia, l'enciclopedia libera.

La mappa di Karnaugh è un metodo di rappresentazione esatta di sintesi di reti combinatorie a uno o più livelli. Una tale mappa costituisce una rappresentazione visiva di una funzione booleana in grado di mettere in evidenza le coppie di mintermini o di maxtermini a distanza di Hamming unitaria (ovvero di termini che differiscono per una sola variabile binaria). Siccome derivano da una meno intuitiva visione delle funzioni booleane in spazi {0,1}n con n numero delle variabili della funzione, le mappe di Karnaugh risultano applicabili efficacemente solo a funzioni con al più 5 - 6 variabili.

Indice

[modifica] Storia

La mappa di Karnaugh è stata inventata nel 1953 da Maurice Karnaugh, un ingegnere in Telecomunicazioni presso i Bell Laboratories.

[modifica] Utilizzo

Una mappa di Karnaugh riguarda una funzione booleana di un numero non molto elevato di variabili e si determina a partire dalla tabella della verità di questa funzione.

Il metodo delle mappe di Karnaugh è grafico e permette di costruire semplicemente la forma minima di una funzione come somma di prodotti logici (forma congiuntiva) o come prodotto di somme logiche (forma disgiuntiva). Essa ha il vantaggio di essere un procedimento grafico piuttosto intuitivo e quindi di permettere semplificazioni della funzione booleana spesso più immediate di quelle ottenibili con modifiche algebriche.

[modifica] Esempio

Consideriamo la funzione:

f(A,B,C,D) = E(6,8,9,10,11,12,13,14)

Il valore all'interno di E indica quale riga avrà output 1.

Questa funzione ha la seguente tabella della verità:

# A B C D f(A,B,C,D)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 0
8 1 0 0 0 1
9 1 0 0 1 1
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 0

Essendoci 16 combinazioni delle 4 variabili booleane, anche la mappa di Karnaugh dovrà avere 16 posizioni. Il modo più conveniente per disporle è in una tabella 4x4.

La mappa di Karnaugh corrispondente alla funzione f
La mappa di Karnaugh corrispondente alla funzione f

I numeri binari nella griglia mostrano il valore d'uscita della funzione per tutte le combinazioni possibili di ingresso. Scriveremo 0 all'estrema sinistra in alto poiché f = 0 quando A = 0, B = 0, C = 0, D = 0. Allo stesso modo scriveremo 1 in basso a destra poiché A = 1, B = 0, C = 1, D = 0 restituiscono f = 1. Si noti che le coppie di variabili di input (A,B e C,D) sono ordinate con il codice Gray, in modo che fra coppie di celle adiacenti si modifichi una sola variabile.

Dopo aver costruito la mappa di Karnaugh si raggruppano gli 1 in rettangoli più grandi possibili, che però abbiano sempre un' area (in quadretti della tabella) pari ad una potenza di 2 (2, 4, 8, …) e non ad un suo multiplo, come spesso erroneamente accade a chi si cimenta per le prime volte in questi esercizi. I raggruppamenti ottimali, in questo esempio, sono quelli indicati nella mappa con il contorno verde, rosso e blu.

Per ciascun raggruppamento troviamo le variabili che non cambiano il loro valore. Per il primo raggruppamento (il rosso) si vede che:

  • La variabile A mantiene lo stesso stato (1) in tutto il gruppo, quindi deve essere inclusa nel prodotto risultante.
  • La variabile B non mantiene il suo valore, passando da 1 ( f(1, 1, 1, 0) ) a 0 ( f(1, 0, 1, 0)), e quindi deve essere esclusa.
  • C non cambia e quindi viene inclusa.
  • D cambia ed è esclusa.

Così il primo prodotto che farà parte dell'espressione boleana finale è AC'.

Per il rettangolo in verde si vede che A e B mantengono lo stesso stato, mentre C e D cambiano. Essendo B uguale a 0, la variabile deve essere negata prima di venire inclusa nel prodotto. Così si ottiene AB'.

Con lo stesso procedimento si trova BCD' dal rettangolo blu.

L'espressione finale si ottiene sommando i prodotti precedentemente trovati: AC' + AB' + BCD' .

Se si vuole trovare la funzione duale, ossia la funzione che fa uso dei Maxtermini, basta semplicemente raggruppare gli 0 invece che gli 1; ciò corrisponde nello scegliere nella tavola di verità le righe per cui la funzione di uscita vale 0 invece che 1.

In una mappa di Karnaugh con n variabili, un prodotto boleano di k variabili corrisponde a un rettangolo formato da 2n-k caselle.

Le mappe di Karnaugh sono adatte anche alla semplificazione di funzioni che contengono condizioni di indifferenza (don't care, cioè valori di input per cui è irrilevante quale sia l'output): queste si rappresentano nella griglia solitamente come "*" o "-", e possono essere considerate sia come 1 che come 0, in modo da formare raggruppamenti maggiori. Non è però consentito effettuare raggrupamenti di soli don't care.

Nota: La griglia è da considerarsi, non come un piano, ma come un toro, quindi i rettangoli possono attraversare i bordi, sia verticalmente che orizzontalmente, passando da un lato a quello opposto. Per esempio anche ABD' potrebbe essere un prodotto valido.

[modifica] Limiti delle mappe di Karnaugh

  • Per le funzioni con più di 4 variabili diventa difficile l'uso delle mappe di Karnaugh; infatti queste per cercare di essere intuitive dovrebbero diventare tridimensionali oppure ricorrere alla Variable Entered Map, o ancora usare una mappa supplementare in più per ogni variabile oltre la quarta. Il numero di tali combinazioni è 2n − 4, dove n è il numero di variabili della funzione: ad esempio 5 variabili necessitano di 2 mappe, mentre 6 variabili necessitano di 4 mappe.

[modifica] Osservazioni

  • La funzione ottenuta prendendo opportunamente i raggruppamenti massimi di 1 della Mappa di Karnaugh è minima ossia è quella funzione che dà la funzione di uscita con il minor numero di termini e quindi che richiede il numero minore di porte logiche.
  • Un'alternativa alle mappe di Karnaugh, utile nei casi già elencati, è il metodo di semplificazione Quine McCluskey.

[modifica] Collegamenti esterni



aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -