bitGateLab Digital · Impara
Italiano
Apri il simulatore

Impara › Argomento 3

Tabelle di verità e forme canoniche: Σm e ΠM

8 min di lettura · Team bitGateLab

Quasi tutti i problemi di progetto digitale cominciano con un enunciato a parole ("l'allarme suona se...") che si trasforma in una tabella di verità. Il passo successivo è ricavare da quella tabella un'equazione che tu possa realizzare con le porte. Qui imparerai il metodo sistematico per farlo: i mintermini e i maxtermini, le forme canoniche somma di prodotti e prodotto di somme, e la notazione compatta Σm e ΠM usata dai libri, dai simulatori e dalle mappe di Karnaugh.

Come si ordina una tabella di verità

Con n variabili ci sono 2n righe. Si scrivono in ordine binario crescente, con la prima variabile come bit più significativo. In questo modo ogni riga è identificata da un numero decimale: in una tabella di A, B e C, la riga A = 1, B = 0, C = 1 è la 1012 = 5. Quel numero è quello che userai come indice del mintermine o del maxtermine, perciò l'ordine delle variabili conta: se cambi l'ordine, cambiano i numeri.

Mintermini e somma di prodotti

Un mintermine è un prodotto (AND) che contiene tutte le variabili, ciascuna una sola volta, negata o non negata. Si costruisce così: la variabile che vale 1 in quella riga va senza barra e quella che vale 0 va con la barra. Il mintermine vale 1 unicamente nella sua riga e 0 in tutte le altre. Si indica con mi, dove i è il numero della riga.

RigaABCMintermineMaxtermine
0000m0 = ABCM0 = A + B + C
1001m1 = ABCM1 = A + B + C
2010m2 = ABCM2 = A + B + C
3011m3 = ABCM3 = A + B + C
4100m4 = ABCM4 = A + B + C
5101m5 = ABCM5 = A + B + C
6110m6 = ABCM6 = A + B + C
7111m7 = ABCM7 = A + B + C

Se sommi (OR) i mintermini di tutte le righe in cui la funzione vale 1, ottieni un'equazione che vale 1 esattamente in quelle righe. Questa è la somma di prodotti canonica (SOP, dall'inglese sum of products) o prima forma canonica. In notazione compatta si scrive F = Σm(elenco delle righe con 1).

Maxtermini e prodotto di somme

Un maxtermine è una somma (OR) che contiene tutte le variabili. La regola è quella opposta: la variabile che vale 0 nella riga va senza barra e quella che vale 1 va con la barra. Un maxtermine vale 0 unicamente nella sua riga. Si indica con Mi (con la M maiuscola).

Se moltiplichi (AND) i maxtermini di tutte le righe in cui la funzione vale 0, ottieni un'equazione che vale 0 proprio lì e 1 altrove: il prodotto di somme canonico (POS) o seconda forma canonica. Si scrive F = ΠM(elenco delle righe con 0).

Il mintermine e il maxtermine della stessa riga sono complementari: mi = Mi. Per questo, se conosci l'elenco Σm di una funzione, l'elenco ΠM è formato da tutti i numeri che non vi compaiono.

Esempio 1: dalla tabella alle due forme. Una funzione di tre variabili vale 1 nelle righe 1, 3, 6 e 7.

#ABCF
00000
10011
20100
30111
41000
51010
61101
71111
  1. Notazione compatta: F = Σm(1, 3, 6, 7) = ΠM(0, 2, 4, 5).
  2. Somma di prodotti canonica: F = ABC + ABC + ABC + ABC.
  3. Prodotto di somme canonico: F = (A + B + C)(A + B + C)(A + B + C)(A + B + C).
  4. Semplifica la SOP: ABC + ABC = AC e ABC + ABC = AB. Quindi F = AC + AB.

Verifica nella riga 5 (A = 1, B = 0, C = 1): AC = 0 e AB = 0, quindi F = 0, come nella tabella.

Quale forma conviene?

Le due forme descrivono la stessa funzione, ma non hanno la stessa dimensione. Usa quella con meno termini: se la funzione ha pochi uni, la Σm è più corta; se ha pochi zeri, è più corta la ΠM. Con 8 righe, una funzione con 2 uni ha una SOP di 2 termini e una POS di 6.

Conta anche la realizzazione. Una somma di prodotti si costruisce con porte AND che pilotano una OR, e questa struttura a due livelli si converte direttamente in NAND-NAND. Un prodotto di somme si costruisce con porte OR che pilotano una AND, e si converte in NOR-NOR.

Esempio 2: dall'enunciato all'equazione. Un serbatoio ha tre sensori di livello: A (basso), B (medio) e C (alto). Ogni sensore dà 1 quando l'acqua lo raggiunge. Una lampada di "livello non valido" deve accendersi quando la combinazione è fisicamente impossibile: un sensore più alto attivo con uno più basso inattivo.

  1. Combinazioni valide (ABC): 000, 100, 110, 111. Cioè le righe 0, 4, 6 e 7.
  2. La lampada si accende nelle altre: F = Σm(1, 2, 3, 5).
  3. In modo equivalente: F = ΠM(0, 4, 6, 7).
  4. Semplifica: m1 + m3 = AC, m1 + m5 = BC, m2 + m3 = AB. Usando m1 e m3 due volte (idempotenza), F = BC + AB.

Controlla: la riga 1 (001) dà BC = 1; la riga 2 (010) dà AB = 1; la riga 3 (011) dà AB = 1; la riga 5 (101) dà BC = 1. In 000, 100, 110 e 111 entrambi i termini valgono 0. Si legge "C attivo senza B" oppure "B attivo senza A".

Il complemento di una funzione

Se F = Σm(1, 3, 6, 7), il suo complemento vale 1 dove F vale 0: F = Σm(0, 2, 4, 5). Questo è utile quando vuoi la POS semplificata: semplifichi F come somma di prodotti e poi applichi De Morgan. Per esempio, F = AC + AB (verificalo con le righe 0, 2, 4 e 5), e complementando si ottiene F = (A + C)(A + B). Se moltiplichi: AB + AC + BC, che per consenso è AB + AC, lo stesso risultato dell'esempio 1.

Per approfondire queste manipolazioni ripassa l'algebra di Boole; per semplificare in modo grafico, prosegui con le mappe di Karnaugh.

Errori comuni

Provalo nel simulatore

Il modulo della tabella di verità ti permette di inserire una funzione riga per riga e di vedere subito le sue forme canoniche e l'equazione semplificata, così puoi controllare ogni passo che fai a mano.

  1. Crea una tabella con tre ingressi e un'uscita.
  2. Segna con 1 le righe 1, 3, 6 e 7 dell'esempio 1 e lascia le altre a 0.
  3. Osserva le espressioni Σm e ΠM che vengono generate e confrontale con le tue.
  4. Converti la tabella in circuito e cambia gli ingressi per confermare che l'uscita segue la tabella.
  5. Ripeti con il problema del serbatoio e verifica che la lampada si accenda solo nelle combinazioni impossibili.

Esercizi

  1. Scrivi il mintermine m9 e il maxtermine M9 di una funzione di quattro variabili A, B, C, D.
    Risposta

    9 = 1001. m9 = ABCD e M9 = A + B + C + D.

  2. Se F(A, B, C) = Σm(0, 1, 5), scrivi F in notazione ΠM.
    Risposta

    F = ΠM(2, 3, 4, 6, 7).

  3. Ricava la somma di prodotti canonica di una funzione di due variabili che vale 1 solo quando A e B sono uguali, e semplificala se possibile.
    Risposta

    F = Σm(0, 3) = AB + AB. Non si riduce: è la XNOR.

  4. Scrivi il prodotto di somme canonico di F(A, B, C) = Σm(1, 2, 3, 4, 5, 6, 7).
    Risposta

    Vale 0 solo nella riga 0, quindi F = ΠM(0) = A + B + C. Una sola OR a tre ingressi.