1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: CMOS circuit

  1. Oct 11, 2009 #1
    I'm doing some reading about CMOS circuits and the likes. In the book I'm using it tells me to derive the simplest sum of products for an expression from a truth table.

    The canonical sum of product is as follows:
    *- AND
    !- NOT
    + - OR

    (!x1*!x2* !x3*!x4) + ( !x1*x2*!x3*!x4) +(x1*!x2*!x3*!x4) = f

    Using Boolean algebra I was able to simplify to

    (!x2*!x3*!x4) + (!x1*!x3*!x4)= f which is the simplest sum of products.

    Then the book then asks how many transistors are needed to implement the sum of products circuit using CMOS AND,OR,and NOT gates.

    My solution was as follows:

    We need :

    2 -3input CMOS AND gates => 2(4*2) transistors = 16 transistors
    4- CMOS inverters => (4*2) transistors = 8 transistors
    1- 2 input CMOS OR gate => 1(3*2) transistors =6 transistors

    16+8+6 = 30 transistors

    But the answer is 28 transistors i'm not sure what I'm doing wrong.

    I realize that 8 transistors are used to implement CMOS 3input AND gate, 2 transistors are needed for CMOS 1input inverter and 6 transistors for 2input OR gate.

    What I'm I doing wrong ?
  2. jcsd
  3. Oct 11, 2009 #2
    Does anyone know what I'm doing wrong ?
  4. Oct 11, 2009 #3
    Simplify your AND and OR gates to NAND and NOR gates - those 2 extra transistors are probably accounted for by eliminating a NOT gate somewhere.
  5. Oct 11, 2009 #4
    But the question specifically says to use AND, OR and NOT gates no NAND and NOR gates.
  6. Oct 11, 2009 #5


    User Avatar
    Science Advisor

    It's fairly standard practice to simplify boolean logic to a sum of products form but then to implement it in a "Nand-Nand" form. Note that by Demorgans Law "And-Or" is directly equivalent to "Nand-Nand".

    I'm not really sure if that's what your question wanted but just pointing it out.
  7. Oct 12, 2009 #6


    User Avatar
    Science Advisor

    ok the above was a "generic" response made without looking in detail at the logic function involved. I just took a more detailed and yeah you can do it with 28 transistors and using only "and" "or" and "not" gates.

    For a straight forward two level implementation I got the following.

    SOP with AND/OR implementation : 30 transistors (same as OP).
    SOP with NAND/NAND implementation : 26 transistors.
    POS with NOR/NOR implementation : 10 transistors (this is a pretty efficient implementation).

    Here's a hint. The above is for a "two level" implementation. Do some simple boolean algebra (factorization) on the minimized SOP form and you can cut it down to a 28 transistor AND/OR implementation.
  8. Oct 12, 2009 #7
    (!x2*!x3*!x4) + (!x1*!x3*!x4)

    I tried factoring and I got

    (!x3*!x4)(!x2+ !x1)=f

    Which means I need
    2- 2 input AND gates
    4- inverters
    1- 2 input or gate

    Which gives me 26 transistors not 28.

    Can you be more clear cause I'm not sure how you can get 28. I keep getting 26 or 30 with AND,OR and NOT gates (all three).
  9. Oct 12, 2009 #8


    User Avatar
    Science Advisor

    Whoops yeah you're right it's only 26. (I was just figuring the whole thing out in my head when I got 28 :blushing:).

    Anyway there's nothing wrong with that working, if you can do it in 26 then that's a better solution than the books. I'm not sure if the author had another solution in mind or if it's a simple error on their part. Maybe they're like me and just cant add up. :wink:
  10. Oct 12, 2009 #9
    Okay thanks mate.

    I guess it wasn't an error on my part.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook