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.