Search code examples
boolean-logicalgebraboolean-expressionboolean-operations

Basic boolean minimization


I am trying to simplify the following piece of boolean algebra so I can construct the circuit :

A'.B'.C.D  +  A'.B.C.D'  +  A'.B.C.D  +  A.B'.C'.D +  A.B'.C.D  +  A.B.C'.D  +  A.B.C.D' + A.B.C.D 

So far I have gotten it to :

(C.D) + (B.C) + (A.C'.D)

Is this correct?

I want to get the best possible minimization.

The steps I have went through so far are :

A'.B'.C.D  +  A'.B.C.D'  +  A'.B.C.D  +  A+B'+C'+D +  A.B'+C+D  +  A.B.C'.D  +  A.B.C.D' + A.B.C.D 
= A.A'(B'.C.D)  +  A.A'(B.C.D')  +  A.A'(B.C.D)  +  B.B'(A.C'.D)
= (B.C.D) + (B'.C.D) + (B.C.D) + (B.C.D') + (A.C'.D)
= (C.D) + (B.C) + (A.C'.D)

Can I do any more?


Solution

  • Assuming your equation is actually:

    X = (A'.B'.C.D) + (A'.B.C.D') + (A'.B.C.D) + (A+B'+C'+D) + (A.B'+C+D) + (A.B.C'.D) + (A.B.C.D') + (A.B.C.D);
    

    I just ran this through Logic Friday and it factored it down to:

    X = 1;
    

    So you might want to check your simplification work and/or check that you've given the correct equation.

    However I suspect there may be typos in the original equation above, and perhaps it should be:

    X = (A'.B'.C.D) + (A'.B.C.D') + (A'.B.C.D) + (A.B'.C'.D) + (A.B'.C.D) + (A.B.C'.D) + (A.B.C.D') + (A.B.C.D);
    

    ?

    In which case Logic Friday simplifies it to:

    X = B.C + A.D + C.D;