i) Give the advantage and disadvantage of CMOS family. ii) Implement a full-subtractor using two-Half-Subtractors.
1 Answer

Give the advantage and disadvantage of CMOS family:


  • The main advantage of CMOS logic family is their extremely low power consumption. This is because there is no conducting path from Vdd to ground in either of input conditions. So there is practically zero power dissipation in Static conditions.
  • There is only dynamic power dissipation, that is power is dissipated only during the switching of MOSFETs.
  • High fan out: For TTL logic family the maximum fan out is found to be around 10, whereas for CMOS logic family fan out rating may exceed 50. Hence a larger no. of gates can be driven by the output of a single gate.
  • Compatibility with TTL: CMOS logic family is compatible with TTL for 5V supply.
  • Temperature stability: CMOS logic family is found to have wider temperature range in which they can operate satisfactorily. The operating temperature range for CMOS is -55 to 125 degree C., whereas for TTL it is around 25 to 70 degree C.
  • Nominal supply voltage for CMOS is from 3V to 15V whereas for TTL it is upto 5V. Noise immunity is excellent.
  • Simple circuitry as MOSFETs are voltage controlled devices. Hence there is no need of biasing resistors to adjust current to desired level.
  • CMOS with open drain output as there is open collector output in TTL logic family. This is because outputs of conventional CMOS gates cannot be shorted together.
  • Thus an external pull up resistor is connected between Vdd and output of CMOS gate (Drain). Also there is CMOS logic family with tri-state inputs as well the third state being High impedance state.


  • The main disadvantage of CMOS logic family is their slow speed of operation.
  • Propogation delay time for CMOS family is found to around 50ns whereas it is around 4 to 12 ns for TTL logic family.

Implement a full-subtractor using two-Half-Subtractors:

$=\bar AB+ A B B_{in}+\bar A \bar BB_{in}$

$=\bar AB(1+ B_{in})+ A BB_{in}+\bar A \bar B B_{in} \cdots [ \because (1+B_{in})=1]$

$=\bar AB+ \bar A B B_{in}+ABB_{in}+\bar A \bar BB_{in}$

$=\bar AB+ B B_{in}( \bar A +A)+\bar A \bar BB_{in}$

$=\bar AB+ B B_{in}+\bar A \bar BB_{in}$

$=\bar AB(1+B_{in})+ B B_{in}+\bar A \bar BB_{in} \cdots [\because (1+B_{in})=1]$

$=\bar AB+ \bar A B B_{in}+BB_{in}+\bar A \bar BB_{in}$

$=\bar AB+ \bar A B_{in}(B+ \bar B)+BB_{in}$

$=\bar AB+ \bar A B_{in}+BB_{in}$

  • A full subtractor can be implemented with two half-subtractors and one OR gate as shown in the fig.
  • The difference output from the second half-subtractor is the exclusive-OR of Bin and the output of the first half-subtractor, which is same as difference of full subtractor.
  • The borrow output can be given as:
    $B_{out}=\bar AB+ (A \bar B+\bar A B)B_{in}$
    $=\bar AB+ (A B+\bar A \bar B)B_{in}$

This boolean function is same as borrow out of the full-subtractor. Hence, we can implement full-subtractor using two half-subtractor and an OR gate.

Please log in to add an answer.

Continue reading...

The best way to discover useful content is by searching it.