Solving CMOS Sum of Products: 30 vs 28 Transistors

  • Context: Engineering 
  • Thread starter Thread starter ╔(σ_σ)╝
  • Start date Start date
  • Tags Tags
    Cmos Sum Transistors
Click For Summary

Discussion Overview

The discussion revolves around the implementation of a CMOS circuit for a sum of products expression derived from a truth table. Participants explore the transistor count required for constructing the circuit using AND, OR, and NOT gates, while also considering alternative implementations and simplifications.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant presents a canonical sum of products and calculates a total of 30 transistors needed for the implementation using CMOS gates.
  • Another participant suggests that simplifying to NAND and NOR gates could account for the discrepancy in the transistor count, although the original question specifies using AND, OR, and NOT gates.
  • Some participants note that it is common practice to implement boolean logic in a NAND-NAND form, referencing DeMorgan's Law.
  • A later reply indicates that a two-level implementation could achieve the design with 28 transistors, suggesting that further boolean algebra could lead to this result.
  • One participant attempts to factor the expression and calculates a total of 26 transistors, questioning how 28 could be achieved and expressing uncertainty about the calculations.
  • Another participant acknowledges the calculation of 26 transistors as valid and speculates that the book may contain an error or an alternative solution.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the correct transistor count, with some asserting 30, others 26, and a suggestion of 28 without clear agreement on how to achieve it. The discussion remains unresolved regarding the correct implementation and transistor count.

Contextual Notes

There are limitations in the assumptions made regarding the implementation of gates and the calculations of transistors, as well as potential dependencies on the definitions of the gates used.

╔(σ_σ)╝
Messages
839
Reaction score
2
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 ?
 
Physics news on Phys.org
Does anyone know what I'm doing wrong ?
 
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.
 
But the question specifically says to use AND, OR and NOT gates no NAND and NOR gates.
 
╔(σ_σ)╝ said:
But the question specifically says to use AND, OR and NOT gates no NAND and NOR gates.

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.
 
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.
 
(!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).
 
╔(σ_σ)╝ said:
(!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).

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 can't add up. :wink:
 
Okay thanks mate.

I guess it wasn't an error on my part.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
6
Views
10K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K