Truth Table to Equations
After you have generated the truth table to describe the desired functionality of your circuit, you will need to convert this to a set of equations. Look at the case of a 1bit full adder.


0  0  0 
0  0  1 
0  1  0 
0  1  1 
1  0  0 
1  0  1 
1  1  0 
1  1  1 


Equations are generated for each output signal. Looking at the truth table, this means one equation will be generated for each output column. The first column is the Cout column, so we will start by generating the equation for this signal. Look down the column for the first 1 that is output.


0  0  0 
0  0  1 
0  1  0 
0  1  1 
1  0  0 
1  0  1 
1  1  0 
1  1  1 


Now look at the inputs that generated this 1 .


0  0  0 
0  0  1 
0  1  0 
0  1  1 
1  0  0 
1  0  1 
1  1  0 
1  1  1 


If the input is a 0 then we write the signal as the input inverted (i.e. Cin' where the '=NOT). If the input is a 1 then we write the input as the name of the signal (i.e. B). The complete term for this row is the logical AND of all of the inputs read from the table. For this row we get the term Cin' * B * A . This can be written short hand has C'BA .
So far, we have Cout = C'BA . Look down the column until you find the next place where Cout is asserted.


0  0  0 
0  0  1 
0  1  0 
0  1  1 
1  0  0 
1  0  1 
1  1  0 
1  1  1 


Reading out this term we get CB'A . Since Cout is supposed to be asserted when any of the input conditions are true, this term must be logically ORed with the other terms for this signal.
So far, we have Cout = C'BA + CB'A .
Repeating this process for the rest of the column we get the final result of
Cout = C'BA + CB'A + CBA' + CBA
This can be directly implemented as a circuit as shown below.
For practice, generate the equation for the Sum column and build the schematic.
Last Modified:

Barry E. Mapen
