Which gate is normally preferred while implementing circuits
using CMOS logic, NAND or NOR? Why?

Answer Posted / arpan

There are many reasons for which NAND is preferred over NOR
but the most technical reason is LOGICAL EFFORT. So, lets
start with what is logical effort.

1. Logical effort :- It is defined as the ratio of the input
capacitance of the gate to the input capacitance of the
inverter, that can deliver the same output current. In other
terms we can say logical effort indicates how worse a gate
is in producing output current as compared to an inverter,
given each input of the gate has input capacitance
equivalent to an inverter. Suppose for a inverter PMOS width
is 2 and NMOS width is 1. So, here Cin = 3
NAND NOR

Cin = (n+2) Cin = (2n+1)
Cin = 4 Cin = 5
Logical Effort (g) = Cin(NAND)/Cin(Inverter)
g= 4/3 g= 5/3

So, from the above logical effort of NOR is greater than
NAND. So, NAND performs better o/p current compare to NOR.

2. In NAND PMOS is connected in parallel whereas in NOR PMOS
is connected in series, which makes the device operation slow.

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Explain what is multiplexer?

634


What are the different design constraints occur in the synthesis phase?

699


Mention what are the different gates where Boolean logic are applicable?

676


Explain what is slack?

647


Write a VLSI program that implements a toll booth controller?

3504






Need to convert this VHDL code into VLSI verilog code? LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ----using all functions of specific package--- ENTITY tollbooth2 IS PORT (Clock,car_s,RE : IN STD_LOGIC; coin_s : IN STD_LOGIC_VECTOR(1 DOWNTO 0); r_light,g_light,alarm : OUT STD_LOGIC); END tollbooth2; ARCHITECTURE Behav OF tollbooth2 IS TYPE state_type IS (NO_CAR,GOTZERO,GOTFIV,GOTTEN,GOTFIF,GOTTWEN,CAR_PAID,CHEATE D); ------GOTZERO = PAID $0.00--------- ------GOTFIV = PAID $0.05---------- ------GOTTEN = PAID $0.10---------- ------GOTFIF = PAID $0.15---------- ------GOTTWEN = PAID $0.20--------- SIGNAL present_state,next_state : state_type; BEGIN -----Next state is identified using present state,car & coin sensors------ PROCESS(present_state,car_s,coin_s) BEGIN CASE present_state IS WHEN NO_CAR => IF (car_s = '1') THEN next_state <= GOTZERO; ELSE next_state <= NO_CAR; END IF; WHEN GOTZERO => IF (car_s ='0') THEN next_state <= CHEATED; ELSIF (coin_s = "00") THEN next_state <= GOTZERO; ELSIF (coin_s = "01") THEN next_state <= GOTFIV; ELSIF (coin_s ="10") THEN next_state <= GOTTEN; END IF; WHEN GOTFIV=> IF (car_s ='0') THEN next_state <= CHEATED; ELSIF (coin_s = "00") THEN next_state <= GOTFIV; ELSIF (coin_s = "01") THEN next_state <= GOTTEN; ELSIF (coin_s <= "10") THEN next_state <= GOTFIV; END IF; WHEN GOTTEN => IF (car_s ='0') THEN next_state <= CHEATED; ELSIF (coin_s ="00") THEN next_state <= GOTTEN; ELSIF (coin_s="01") THEN next_state <= GOTFIV; ELSIF (coin_s="10") THEN next_state <= GOTTWEN; END IF; WHEN GOTFIF => IF (car_s ='0') THEN next_state <= CHEATED; ELSIF (coin_s = "00") THEN next_state <= GOTFIF; ELSIF (coin_s ="01") THEN next_state <= GOTTWEN; ELSIF (coin_s = "10") THEN next_state <= GOTTWEN; END IF; WHEN GOTTWEN => next_state <= CAR_PAID; WHEN CAR_PAID => IF (car_s = '0') THEN next_state <= NO_CAR; ELSE next_state<= CAR_PAID; END IF; WHEN CHEATED => IF (car_s = '1') THEN next_state <= GOTZERO; ELSE next_state <= CHEATED; END IF; END CASE; END PROCESS;-----End of Process 1 -------PROCESS 2 for STATE REGISTER CLOCKING-------- PROCESS(Clock,RE) BEGIN IF RE = '1' THEN present_state <= GOTZERO; ----When the clock changes from low to high,the state of the system ----stored in next_state becomes the present state----- ELSIF Clock'EVENT AND Clock ='1' THEN present_state <= next_state; END IF; END PROCESS;-----End of Process 2------- --------------------------------------------------------- -----Conditional signal assignment statements---------- r_light <= '0' WHEN present_state = CAR_PAID ELSE '1'; g_light <= '1' WHEN present_state = CAR_PAID ELSE '0'; alarm <= '1' WHEN present_state = CHEATED ELSE '0'; END Behav;

4736


How to improve these parameters? (Cascode topology, use long channel transistors)

1710


Cross section of a PMOS transistor?

4263


Why do we gradually increase the size of inverters in buffer design? Why not give the output of a circuit to one large inverter?

827


What is the function of enhancement mode transistor?

641


Write a program to explain the comparator?

686


What are the steps required to solve setup and hold violations in vlsi?

632


What are the Advantages and disadvantages of Mealy and Moore?

714


Calculate rise delay of a 3-input NAND gate driving a 3-input NOR gate through a 6mm long and 0.45m wide metal wire with sheet resistance R = 0.065 / and Cpermicron= 0.25 fF/m. The resistance and capacitance of the unit NMOS are 6.5k and 2.5fF. Use a 3 segment -model for the wire. Consider PMOS and NMOS size of reference inverter as 2 and 1 respectively. Use appropriate sizing for the NAND and NOR gate.

3390


How do you size NMOS and PMOS transistors to increase the threshold voltage?

2546