Introduzione

Per concludere la parte relativa alla logica proposizionale classica, si presenta un esempio in cui i concetti visti finora vengono utilizzati per verificare la progettazione di un semplice circuito logico.

Half-adder: specifica

Si vuole progettare un circuito logico che implementi un half adder. Esso ha due input, $a$ e $b$, e due output, sum (la somma) e carry (il riporto):

Untitled

Il suo comportamento è specificato da due funzioni booleane, chiamate anch’esse sum e carry poichè indicano i valori degli omonimi output al variare di a e b. Tali funzioni sono descritte dalla seguente tavola di verità:

Untitled

Per i teoremi di completezza funzionale, si sa che è possibile scriere delle formule logiche che descrivano il comportamento di queste due funzioni booleane.

Un modo per ottenere tali formule sarebbe costruire le DNF / CNF come indicato dalle dimostrazioni dei teoremi di completezza funzionale; in alternativa, si può ottenere una formula più semplice ed espressiva osservando la tavola di verità e scegliendo, in base a essa, i connettivi più opportuni:

$$ \text{HA}_\text{SPEC}(a, b, sum, carry)=(carry\lrarr a\land b)\land(sum\lrarr \neg (a\lrarr b)) $$

Infatti:

Osservazione: Tipicamente, una funzione booleana viene rappresentata da una formula nella quale gli argmoenti della funzione corrispondono a variabili proposizionali, mentre il risultato è dato direttamente dal valore di verità assunto dalla formula. La formula appena mostrata, invece, contiene variabili proposizionali sia per gli input che per gli output, e descrive le funzioni booleane $sum$ e $carry$ nel senso che è verificata se e solo se la combinazione di valori di input e output è “corretta”. Così facendo, si possono descrivere più funzioni booleane con una sola formula.

Componenti

Le componenti che verranno utilizzate per realizzare il circuito (il quale, se progettato correttamente, dovrà avere lo stesso comportamento delle funzioni booleane riportate sopra) sono le seugenti porte logice:

Untitled

che sono descrittte dalle formule

Untitled