# Boolean Expression

Status
Not open for further replies.

#### Corky

##### Member
Ive created a boolean expression for this but im unsure if its correct, its just in basic form:

#### Ratchit

##### Well-Known Member
Ive created a boolean expression for this but im unsure if its correct, its just in basic form:
View attachment 84691
View attachment 84690
Make a table as shown in the attachment. Four input variables give 16 states. As you can see, Q is high only in states 0 and 1. Therefore, only variables A,B, and C control the output. That means you can hardwire D to either TRUE or FALSE and it would not make any difference in the output Q.

Ratch

#### Attachments

• 915 bytes Views: 103

#### Corky

##### Member
ive been looking at it more complecated than it actually is so with this i could simplify this to one NOR gate with the inputs A B C i think my instuctor might have wanted to see we can write boolean expressions would my atempt be ok for a basic expression? cheers for the reply though

#### Ratchit

##### Well-Known Member
ive been looking at it more complecated than it actually is so with this i could simplify this to one NOR gate with the inputs A B C i think my instuctor might have wanted to see we can write boolean expressions would my atempt be ok for a basic expression? cheers for the reply though
I have no idea what you want or need because you have not articulated your problem clearly. You have the Boolean equation of the circuit, and you can easily read off the intermediate equations from the table. What more do you need?

By the way, no matter what a whiz-bang you might be at digital logic design, if you don't improve your English grammar with respect to spelling, punctuation, and coherency, no one will want to employ you because you cannot express your results to the outside world. The dictionary is your friend.

Ratch

#### Corky

##### Member
Id rather you not talk to me if you're going to try and offend me its not helpful at all and as thats the reason i joined this forum, to be helped with coursework, im already in employment with the biggest engineering company in the uk so i dont need your "advice" either, the reason all these problems with my post occured is because I am extremely busy and grammer wasnt the main thing on my mind, you have really wound me up as everyone seems helpful but you dont!!

#### Ratchit

##### Well-Known Member
Id rather you not talk to me if you're going to try and offend me its not helpful at all and as thats the reason i joined this forum, to be helped with coursework, im already in employment with the biggest engineering company in the uk so i dont need your "advice" either, the reason all these problems with my post occured is because I am extremely busy and grammer wasnt the main thing on my mind, you have really wound me up as everyone seems helpful but you dont!!
Dale Perkins,

I gave you good advice. You would be wise to follow it.

Ratch

#### Corky

##### Member
Dale Perkins,

I gave you good advice. You would be wise to follow it.

Ratch
How is it good advice on my career if you know nothing about my career or good advice on my post if you havn't helped with it?

I didn't want advice on how to live my life or how good my grammer is I needed help with a boolean expression!!

#### Ratchit

##### Well-Known Member
How is it good advice on my career if you know nothing about my career or good advice on my post if you havn't helped with it?

I didn't want advice on how to live my life or how good my grammer is I needed help with a boolean expression!!
Good communication skills are necessary and valued no matter what your career is. I have helped you with the Boolean expression for the logic circuit. Didn't you notice that?

Ratch

#### MrAl

##### Well-Known Member
Ive created a boolean expression for this but im unsure if its correct, its just in basic form:
View attachment 84691
View attachment 84690

Hi Dale,

Well, since the number of variables (A through D) is only four that means the number of states is only 16 which makes the table method a quick way to get an idea what is happening. Of course that requires that you run through all 16 states and note the output and then do the math. As the number of variables gets higher it's more difficult, but here we only have 16 states to think about.

Another way to do it is to simply use the laws of Boolean Algebra, after replacing any exclusive OR gate with it's simple logical equivalent.

The xor statement:
C=AxB ('x' indicting 'exclusive or' here)

then becomes:
C=A*B'+A'*B

I like to use the notation A=Ap and A'=An because that way in an alphabetical listing later we'll see the Ap and An group together nicely for easy cancellation.
The exclusive OR gate then becomes:
C=Ap*Bn+An*Bp

Using the above notation and writing the expressions for all the intermediate variables H,I, etc, and combining them to get Q, we get:
Q=Bn*Bp*Cn*Cp*Dn+Ap*Bp*Cn*Cp*Dn+Bp*Cn*Cp*Dn+Ap*Bn*Cn*Cp*Dn+An*Bn*Cn*Cp*Dn+Ap*Bn*Bp*Cp*Dn+An*Bn*Bp*Cp*Dn+Bn*Bp*Cp*Dn+Ap*Bn*Bp*Cn*Dn+Bn*Bp*Cn*Dn+An*Bn*Cn*Dn+An*Bn*Bp*Dn+Ap*Bn*Bp*Cn*Cp+An*Bn*Bp*Cn*Cp+Bn*Bp*Cn*Cp+Ap*Bp*Cn*Cp+Bp*Cn*Cp+Ap*Bn*Cn*Cp+An*Bn*Cn*Cp+Ap*Bn*Bp*Cn+An*Bn*Bp*Cn+Bn*Bp*Cn+An*Bn*Cn

Note that there are no paren's in there so we just have multiplied variables and negated variables as the terms.

Next we can note that a term with the negated variable ANDed with the same variable non negated equals zero, and that eliminates the whole term. So for example the first term:
Bn*Bp*Cn*Cp*Dn

has both Bn*Bp and Cn*Cp in it, but we only need one set to eliminate that term so we'll use Bn*Bp:
0*Cn*Cp*Dn

and that make that whole term equal to zero and so eliminates it.

Doing that with the other terms, we get it down to two terms:
Q=An*Bn*Cn*Dn+An*Bn*Cn

and now we see that the output goes high with An*Bn*Cn*Dn or with An*Bn*Cn.

From that we see that the output goes high with An*Bn*Cn and so does not depend on Dn in the first term and that's the only difference between terms, so we end up with:
Q=An*Bn*Cn

That is the result doing it using pure Boolean Algebra.

#### Ratchit

##### Well-Known Member
MrAl,

Another way is to run a computer program to show the minimal terms that a long and complicated Boolean equation represents. I wrote this program about 4 years ago to do just that. The Boolean equation for the problem is ((A+B)(B'C+BC')+(A+B)'(B'C+BC')')((B'C+BC')+CD)' . The program shows the minimum terms to be 0,1 which represent A'B'C'.

Ratch

#### Attachments

• 4.7 KB Views: 78

#### MrAl

##### Well-Known Member
Hi Ratch,

Oh yes that's very nice. Are you using the Windows API ?

#### Ratchit

##### Well-Known Member
Hi Ratch,

Oh yes that's very nice. Are you using the Windows API ?
Yes, it was written in assembler using the Window application programming interface (API's).

Ratch

Status
Not open for further replies.