logic gate optimization problem

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

logic gate optimization problem

moonwalk


When i have written out the algebra expression, i tried to optimize and simplify the expression by following :x+x=x;. And then i found out that the xor and or gate would be the same if it worked. What's wrong with my simplification process? I followed the explanation here:
http://www.facstaff.bucknell.edu/mastascu/elessonshtml/Logic/Logic2.html
Thanks for your kind help!
Reply | Threaded
Open this post in threaded view
|

Re: logic gate optimization problem

cadet1620
Administrator
moonwalk wrote


When i have written out the algebra expression, i tried to optimize and simplify the expression by following :x+x=x;. And then i found out that the xor and or gate would be the same if it worked. What's wrong with my simplification process? I followed the explanation here:
http://www.facstaff.bucknell.edu/mastascu/elessonshtml/Logic/Logic2.html
Thanks for your kind help!
Your truth table for XOR is inverted. 0 XOR 0 = 0.

The canonical form read from the XOR truth table is
  A ~B + ~A B
which is the minimized sum-of-products implementation.

I don't understand what you are trying to do by ORing AB into
  ~A B + A ~B
You can not do this without changing the function:
a  b ~AB+A~B AB  ~AB+A~B+AB
0  0    0     0       0
0  1    1     0       1
1  0    1     0       1
1  1    0     1       1

--Mark
Reply | Threaded
Open this post in threaded view
|

Re: logic gate optimization problem

moonwalk

Thanks Mark for your patient and kind reply.
What a shame on me for that kind of mistake!
The reason I added AB to the expression was that I tried to simplify the expression following the Quotes here:

"

Here's the function again in all its glory.


 There are some things in the function that suggest some actions to take.  For example, the last two terms in the function are:


Let's work on those last two terms.  These two terms differ just in the way A enters the two terms.  It shows up both as A and as its inverse.  You are probably tempted to write this expression as:


Here, we take advantage of the last item in the table for the OR function to eliminate the A-terms.

        Using the results we have been able to generate, we can now note that the voting function, F, can be simplified.

can be simplified to:


we have to notice that

This is just a restatement that if you OR anything with itself, you get the original quantity back (X + X = X).  Remember  0 + 0 = 0 and 1 + 1 = 1 and the expression ABC is either 0 or 1.

        Now, we can generate a much simpler expression for the voting function.  We start with the original voting function.

Expand R with multiple copies of the last term.

Then use our earlier method to get a simpler version of the voting function:

"

I fully understand your explanation concerning the result of the addition of AB and also know how to simplify the expression using the karnaugh map.
However, according to the explanation above, it seemed reasonable for me to add AB to the original expression to simplify it since X+X=X. I must have made a wrong interpretation of the explanation above somewhere. But I don't know where it is. Can you please give me a hint?
Thanks so much!
Reply | Threaded
Open this post in threaded view
|

Re: logic gate optimization problem

cadet1620
Administrator
Given F = AB~C + A~BC + ~ABC + ABC.

Adding +ABC+ABC to this function to simplify only works because there is already an ABC term.  They do this so that the can reduce F as follows
F = AB~C + A~BC + ~ABC + ABC
  = AB~C + A~BC + ~ABC + (ABC  + ABC  + ABC)
  = (AB~C + ABC) + (A~BC + ABC) + (~ABC + ABC)
  = AB(~C+C) + AC(~B+B) + BC(~A+A)
F = AB + AC + BC
For X = ~AB + A~B, there is no AB term already in there, you can not arbitrarily add it.

There is another proof/derivation trick which is to add +X~X terms to a sum-of-products.  (X~X = 0)
You can use this to derive the product-of-sums form of XOR:
X = ~AB + A~B
  = ~AB + A~B + A~A + B~B
  = (~AB + A~A) + (A~B + B~B)
  = ~A(A+B) + ~B(A+B)
X = (~A+~B)(A+B)

--Mark
Reply | Threaded
Open this post in threaded view
|

Re: logic gate optimization problem

moonwalk
wow!!! That is the answer!
Thanks so much! YOU ARE MY HERO!