Electrical – boolean algebra question regarding how to simplify a 5 input circuit

boolean-algebradigital-logiclogic-gatesmath

Background:
I'm teaching myself computer architecture because I do not have a technical degree and want to learn this even though my finances won't ever allow me to have a formal education. I am doing all the problems in a book, but I ran into one problem where the problem seems too complicated for me. A karnaugh map won't work here since it has 5 inputs rather than 4. Also, a truth table seems a bit cumbersome since 5 bits means 32 entries.

Question:
Could someone show me how to solve this problem using the theorems of boolean algebra? and logically explain how it works? I have spent many hours trying to simplify this problem. I'm sure I'll be able to build the circuit once I determine how to simplify the algebra.

Problem:

// ` = NOT
ABC + ABD + ABE + ACD + ACE + (A+D+E)` + B`C`D + B`C`E + B`D`E` + C`D`E`

enter image description here

Best Answer

Let's start with a)for simplicity

a) y= bc + a'b'c' +bc'
//Ok, this is a boolean logic that could be simplified as it's elements (a,b,c) are repeated in many terms, I'm not sure, but let's try to short it to what's only essential for this boolean function to work.

//first, I'll check it on this tool online

//https://www.dcode.fr/boolean-expressions-calculator // function (a) is entered like this (bc+!a!b!c+b!c)

// the answer appears to be y = ( !a * !c) + b

// which is exactly what I got by hand (In some cases, correct answer has many forms).

//How I got this answer by hand?

(a) Y= bc+a'b'c'+bc'

= b(c+c')+a'b'c'

// you should know that c+c' gives 1 (check with truth table 1+(1)' =1 or 0 + (0)'=0+1=1 . //Also note that, cc' (C*C') gives 0. (check with truth table all possible values 0*1 or 1*0. Always gives zero //Let's continue =b(1)+a'b'c'=b+a'b'c'=b'.(abc)'

//converting the sign of operation from + to * and dashing or putting prime or bar sign on operands.

This is called De Morgan's law or therom, could be proven but used here directly.

Now,

y=b'.(a+b+c)

// De Morgan worked for the three operands here too.

y= b'a +b'b+b'c =b'a +0+b'c=b'a+b'c= b'(a+c)=b+(a+c)'=b+(a'*c')

final answer is y =b+(a'*c')

which looks like what the tool produced y = ( !a * !c) + b

you can handle (b) now! Great!

(I've solved (c) by hand but it's too much to write (i.e. too much to read) you can get the correct answer directly using the tool anyway, but I understand you need the HOW)

I'll give you the hints

(c)

1-arrange the terms such that those with (ab,ac,d'e',b'c') are together to take common factors out of them.

//you can notice the d+e in are appearing a lot, let's try to take it as a factor.

2-the term d'e'(a'+b'+c') will be (d+e)'(abc) = (d+e)+(abc)

and the term ab(c+d+e) => abc + ab(d+e)

3- take (d+e) as a common factor from the whole function

4-the term that has (ab+ac+1+......) // the +1 will make this bracket yield a 1 whatever the other terms in the brackets are. So replace this bracket by multiplying by 1.

5- the term abc+abc=2abc => which is abc // abc=2abc (can you guess why?)

and there you go the final answer is .....

Look, you only learn to simplify like this by practising tons of examples, I'll leave this one to you. you can plug this function in the tool above to get the answer right away if you want to.

I hope that helped. :D

This is my first answer on SE, So excuse me if I made any mistakes.

Related Topic