views:

92

answers:

3

Hey guys,

Sorry to be annoying, but I am doing a little bit of work at the moment, and am trying to simplify the following piece of boolean algebra so that 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 ?

...but I know there is more that I can do ! Can anyone help me out please ? I want to get the best possible minimization, I'm just finding it a little difficult to figure out.

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 ?

Thank you very much ! :)

+1  A: 

The only thing I can see that you could possibly do is distribute the "C" in the left two terms:

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

Or you could distribute the "D":

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

Response to Comment: The distributive law is described here: http://www.ee.surrey.ac.uk/Projects/Labview/boolalgebra/. See the information under heading "T3"

Rice Flour Cookies
Thanks a lot for the response ! How did you arrive at the solution : (C).(B+D) + (A.C'.D) ?If the line was :(C.D) + (B.C) + (A.C'.D)
Sorry, I pressed enter too early ! I dont really understand that minimization, how did the D get distributed into the equation ?
+1  A: 

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;
Paul R
Looks to be Logic Friday having a problem here.
500 - Internal Server Error
I think it's actually typos in the original question, not Logic Friday. My guess is that the `+` s in some of the terms should actually be `.` s.
Paul R
Ah, I see what you're saying - yes, probably.
500 - Internal Server Error
I'm really sorry, of course yes they are meant to be .'s and not +'s ! Tired mind ! My apologies and thank you for the simplification ! :)
No problem - you might want to check out Logic Friday if you're doing any more of this kind if thing - it's Windows-only I'm afraid, but it's simple, free and it works.
Paul R
+1  A: 

Here's another solution (found by brute force):

(a+c).(b+d).(c+d)

500 - Internal Server Error
Sanity check: I don't think C should even appear in the result, since we have both a `+C` and a `+C'` term.
Paul R
@Paul R: Feel free to post a valid solution without the C argument.
500 - Internal Server Error
@500: see my edited answer, based on assumption of typos in question.
Paul R
My assumption here was that the OP actually meant "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"
500 - Internal Server Error
Yes I did, apologies!