[Elettronica Digitale] Calcolo della somma di un full-adder a partire dagli ingressi e dal riporto uscente
La tabella di verità di un F.A. è la seguente
dove
$Cout = AB + BC + AC$ (dopo la fase di minimizzazione)
$S = A \oplus B \oplus C$
La realizzazione in logica CMOS della XOR è piuttosto complicata; dunque, osservando la tabella di verità, si può riscrivere $S$ in maniera semplificata sfruttando anche $Cout$ e notando che $Cout$ ed $S$ sono opposti sempre tranne che per il primo e l'ultimo caso; perciò, si ottiene la forma che segue
$S = \bar{Cout}(A+B+C) + ABC$
Come si ricava, partendo da quella considerazione in corsivo, questa relazione?
Grazie.
A | B | C | Cout | S |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
dove
$Cout = AB + BC + AC$ (dopo la fase di minimizzazione)
$S = A \oplus B \oplus C$
La realizzazione in logica CMOS della XOR è piuttosto complicata; dunque, osservando la tabella di verità, si può riscrivere $S$ in maniera semplificata sfruttando anche $Cout$ e notando che $Cout$ ed $S$ sono opposti sempre tranne che per il primo e l'ultimo caso; perciò, si ottiene la forma che segue
$S = \bar{Cout}(A+B+C) + ABC$
Come si ricava, partendo da quella considerazione in corsivo, questa relazione?
Grazie.
Risposte
Probabilmente c'è qualche dimostrazione più semplice, ma comunque i due casi estremi sono contraddistinti dalla logica
$D = bar A* bar B * bar C + A * B * C$
Quindi l'osservazione diviene
$S = bar C_(out) * bar D + C_(out) * D$
Per De Morgan
$bar D = bar ((bar A* bar B * bar C) + (A * B * C)) = bar (bar A * bar B * bar C) * bar (A B C) = (A+B+C)*bar (ABC)$
Quindi
$S = bar C_(out)*(A+B+C)*bar (ABC)+ C_(out)*(bar A* bar B * bar C) + C_(out)*(A*B*C)$
Ma $bar (ABC)=1$ sempre salvo per $A=B=C=1$, per il quale risulta già $bar (C_(out))=0$, per cui tale termine è ridondante nel primo addendo. Nel secondo addendo invece $(bar A* bar B * bar C)=1$ solo se $A=B=C=0$ dove però $C_(out) = 0$, e quindi il secondo addendo è sempre nullo. Infine nel terzo addendo $(A*B*C)=1$ solo se $A=B=C=1$, dove $C_(out) = 1$, per cui posso escludere $C_(out)$.
In conclusione otteniamo:
$S = bar C_(out)*(A+B+C)+ (A*B*C)$
$D = bar A* bar B * bar C + A * B * C$
Quindi l'osservazione diviene
$S = bar C_(out) * bar D + C_(out) * D$
Per De Morgan
$bar D = bar ((bar A* bar B * bar C) + (A * B * C)) = bar (bar A * bar B * bar C) * bar (A B C) = (A+B+C)*bar (ABC)$
Quindi
$S = bar C_(out)*(A+B+C)*bar (ABC)+ C_(out)*(bar A* bar B * bar C) + C_(out)*(A*B*C)$
Ma $bar (ABC)=1$ sempre salvo per $A=B=C=1$, per il quale risulta già $bar (C_(out))=0$, per cui tale termine è ridondante nel primo addendo. Nel secondo addendo invece $(bar A* bar B * bar C)=1$ solo se $A=B=C=0$ dove però $C_(out) = 0$, e quindi il secondo addendo è sempre nullo. Infine nel terzo addendo $(A*B*C)=1$ solo se $A=B=C=1$, dove $C_(out) = 1$, per cui posso escludere $C_(out)$.
In conclusione otteniamo:
$S = bar C_(out)*(A+B+C)+ (A*B*C)$
Chiaro, grazie ancora.