Logic Notes Vlsi Design
Logic Notes Vlsi Design
Dinesh Sharma
Microelectronics group
EE Department, IIT Bombay
3
4 CONTENTS
List of Figures
5
6 LIST OF FIGURES
Chapter 1
Pseudo nMOS design style reduces dynamic power (by reducing capacitive loading) at
the cost of having non-zero static power by replacing the pull up network by a single pMOS
transistor with its gate terminal grounded. The pseudo nMOS inverter is shown below.
Vdd
Out
in
Gnd
Notice that since the pMOS is not driven by signals, it is always ‘on’. The effective gate
voltage seen by the pMOS transistor is VDD . Thus the overvoltage on the p channel gate is
always VDD - VT p . When the nMOS is turned ‘on’, a direct path between supply and ground
exists and static power will be drawn.
7
8 CHAPTER 1. BEYOND STATIC CMOS
nMOS ‘off’
This is the case when the input voltage is less than VT n . The output is ‘high’ and no current
is drawn from the supply.
1 Kn
Kp (VDD − VT p )(VDD − Vo ) − (VDD − Vo )2 = (Vi − VT n )2 (1.1)
2 2
defining V1 ≡ VDD − Vo and V2 ≡ VDD − VT p , we get
1 2 β
V1 − V2 V1 + (Vi − VT n )2 = 0 (1.2)
2 2
with solutions q
V1 = V2 ± V22 − β(Vi − VT n )2
substituting the values of V1 and V2 and choosing the sign which puts Vo in the correct range,
we get q
Vo = VT p + (VDD − VT p )2 − β(Vi − VT n )2 (1.3)
When the input is low and output high, we should use eq(1.3). Differentiating this equation
with respect to Vi and setting the slope to -1, we get
VDD − VT p
ViL = VT n + q (1.5)
β(β + 1)
and s
β
VoH = VT p + (VDD − VT p ) (1.6)
β+1
When the input is high and the output low, we use eq(1.4). Again, differentiating with respect
to Vi and setting the slope to -1, we get
2
ViH = VT n + √ (VDD − VT p ) (1.7)
3β
and
(VDD − VT p )
VoL = √ (1.8)
3β
To make the output ‘low’ value lower than VT n , we get the condition
2
1 VDD − VT p
β>
3 VT n
This condition on values of β places a requirement on the ratios of widths of n and p channel
transistors. The logic gates work properly only when this equation is satisfied. Therefore this
10 CHAPTER 1. BEYOND STATIC CMOS
kind of logic is also called ‘ratioed logic’. In contrast, CMOS logic is called ratioless logic
because it does not place any restriction on the ratios of widths of n and p channel transistors
for static operation. The noise margin for pseudo nMOS can be determined easily from the
expressions for ViL , VoL , ViH , VoH .
Rise Time
When the input is low and the output rises from ‘low’ to ‘high’, the nMOS is off. The situation
is identical to the charge up condition of a CMOS gate with the pMOS being biased with its
gate at 0V. This gives
" #
C 2VT p VDD + VoH − 2VT p
τrise = + ln (1.9)
Kp (VDD − VT p ) VDD − VT p VDD − VoH
Fall Time
Analytical calculation of fall time is complicated by the fact that the pMOS load continues to
dump current in the output node, even as the nMOS tries to discharge the output capacitor.
Vdd
Out
in
Gnd
Thus the nMOS should sink the discharge current as well as the drain current of the
pMOS transistor. We make the simplifying assumption that the pMOS current remains
constant at its saturation value through the entire discharge process. (This will result in a
slightly pessimistic value of discharge time). Then,
Kp
Ip = (VDD − VT p )2
2
1.1. PSEUDO NMOS DESIGN STYLE 11
Geometry of the n channel transistor in the reference inverter design can be determined
from static considerations. Using eq. 1.4, the output ‘low’ level is given by:
q
Vo = (Vi − VT n ) − (Vi − VT n )2 − (VDD − VT p )2 /β
If the desired value of the output ‘low’ level is given, we can calculate β. But β ≡ Kn /Kp and
Kp is already known. This evaluates Kn and hence, the geometry of the n channel transistor.
Vdd
Out
A C
D
B E
put the n channel transistors in parallel. We scale the transistor widths up by the number of
devices put in series. The geometries are left untouched for devices put in parallel. Fig.1.2
shows the implementation of A.B + C.(D + E) in pseudo NMOS logic design style.
where f1 and f2 are reduced expressions for F with xi forced to ‘1’ and ‘0’ respectively. Thus,
F can be implemented with a multiplexer controlled by xi which selects f1 or f2 depending on
xi. f1 and f2 can themselves be decomposed into simpler expressions by the same technique.
To implement a multiplexer, we need both xi and xi. Therefore, this logic family needs
all inputs in true as well as in complement form. In order to drive other gates of the same
type, it must produce the outputs also in true and complement forms. Thus each signal is
carried by two wires. This logic style is called “Complementary Passgate Logic” or CPL for
short.
xi xi
F
f1
F
f2
f1 F
F
f2
Figure 1.3: Basic Multiplexer with logic restoring inverters
gate transistors. However, we shall use just n channel transistors as switches for simplicity.
This gives us the multiplexer structure shown in fig.1.3.
To take an example, let us consider the XOR-XNOR functions. Because of the inverter,
A A
A+B
B
A+B
B
A+B
B
A+B
B
XOR−XNOR
Figure 1.4: Implementation of XOR and XNOR by CPL logic.
the multiplexer for the XOR output first calculates the XNOR function given by A.B + A.B.
14 CHAPTER 1. BEYOND STATIC CMOS
If we put A =‘1’, this reduces to B and for A = ‘0’, it reduces to B. Similarly, for the XNOR
output, we generate the XOR expression = A.B + A.B which will be inverted by the logic
level restoring inverter. The expression reduces to B for A = ‘1’ and to B for A = ‘0’. This
leads to an implementation of XOR-XNOR as shown in fig.1.4
A A A A
A.B
B A+B
A
A.B A+B
A B
B A.B A+B
A
A.B A+B
A B
AND−NAND OR−NOR
Figure 1.5: Implementation of (a) AND-NAND and (b) OR-NOR functions using comple-
mentary passgate logic.
xi xi
f1
y=F
F
f2
output of the multiplexer (node y - which is the input for the inverter) to VDD - VT n . Conse-
quently, the pMOS transistor in the buffer inverter never quite turns off. This results in static
power consumption in the inverter. This can be avoided by adding a pull up pMOS as shown
1.2. COMPLEMENTARY PASS GATE LOGIC 15
xi xi
f1
y=F
F
f2
in fig. 1.7. When the multiplexer output (y) is ‘low’, the inverter output is high. The pMOS
is therefore off and has no effect. When the multiplexer output goes ‘high’, the inverter input
charges up, the output starts falling and turns the pMOS on. Now, as the multiplexer output
(y) approaches VDD - VT n , the nMOS switch in the multiplexer turns off. However, the pMOS
pull up remains ‘on’ and takes the inverter input all the way to VDD . This avoids leakage in
the inverter.
However, this solution brings up another problem. Consider the equivalent circuit when
the inverter output is ‘low’ and the pMOS is ‘on’. Now if the multiplexer output wants to go
Vdd
0 ->1 ‘0’
‘low’, it has to fight the pMOS pullup - which is trying to keep this node ‘high’.
In fact, the multiplexer n transistor and the pull up p transistor constitute a pseudo
nMOS inverter. Therefore, the multiplexer output cannot be pulled low unless the transistor
geometries are appropriately ratioed.
16 CHAPTER 1. BEYOND STATIC CMOS
Vdd
Out
A B
whenever the output is ‘LOW’. This happens when A OR B is TRUE. We wish that the
pMOS could be turned off for just this combination of inputs.
To turn the pMOS transistor off, we need to apply a ‘HIGH’ voltage level to its gate
whenever A OR B is true. This obviously requires an OR gate. Non-inverting gates cannot
be made in a single stage. However, We can create the OR function by using a NAND of
A and B as shown in figure 1.10. But then what about the pMOS drive of this circuit?
Vdd
Out
A
We want to turn the pMOS of this OR circuit off when both A and B are ‘HIGH’; i.e.
when A = B = 0. This means we would like to turn the pMOS of this circuit off when the
NOR of A and B is ‘TRUE’.
1.4. DYNAMIC LOGIC 17
Vdd
Out Out
A B B
But we already have this signal as the output of the first (NOR) circuit! So the two
circuits can drive each other’s pMOS transistors and avoid static power consumption. This
kind of logic is called Cascade Voltage Switch Logic (CVSL). It can use any network f and its
complementary network f in the two cross-coupled branches. The complementary network is
constructed by changing all series connections in f to parallel and all parallel connections to
series, and complementing all input signals.
CVSL shares many characteristics with static CMOS, CPL and pseudo-nMOS.
• Like CPL, this logic requires both True and Complement signals. It also provides both
True and complement outputs. (Dual Rail Logic).
• Like pseudo nMOS, the inputs present a single transistor load to the driving stage.
Vdd
Out
A B
C CL
Ck
Vdd
A B X Out
C CL
Ck
When (A+B).C is FALSE, There is no problem X pre-charges to ‘1’ and remains at ‘1’.
1.4. DYNAMIC LOGIC 19
Therefore the inverter sees the correct logic value at its input all the time and discharges the
output to ‘0’, which is the expected output.
Ck
(A+B).C = FALSE
X
Out
Ck
(A+B).C = TRUE
Out
to ‘0’. So for some time after pre-charge, its output is held at the wrong value of ‘1’ During
this time, charge placed on the output leaks away as the input to nMOS of the inverter is not
‘0’. This can lead to a wrong evaluation of the logic function!
For the circuit shown in Fig. 1.14, we have a 4 phase clock. Combined clock signals of the
type Ckmn are generated as required. Ckmn is high during the m and n phases of the clock.
Now, for the gate shown in the figure,
Ck1
Ck2
Ck3
Ck4
Ck23
P Out
A B
C
Ck12
4. In phases 4 and 1, the output is isolated from the driver and remains valid.
This is called a type 3 gate. It evaluates in phase 3 and is valid in phases 4 and 1. Similarly,
we can have type 4, type 1 and type 2 gates. A type 3 gate can drive a type 4 or a type 1
Drive Sequences
Type 1 Type 2
Type 4 Type 3
gate. Similarly, type 4 will drive types 1 and 2; type 1 will drive types 2 and 3; and type 2
1.4. DYNAMIC LOGIC 21
will drive types 3 and 4. We can use a 2 phase clock if we stick to type 1 and type 3 gates
(or type 2 and type 4 gates) as these can drive each other.
A B
C
Ck
Another way to eliminate the problem with cascading logic stages is to use a static in-
verter after the CMOS dynamic gate. Recall that cascading of dynamic CMOS stage causes
problems because the output is pre-charged to VDD . If the final value of a stage is meant to
be zero, the next stage nMOS to which this output is connected erroneously sees a one till
the pre-charged output is brought down to zero. During this time, it ends up discharging its
own pre-charged output, which it was not supposed to do.
If an inverter is added, the output is held ‘low’ before logic evaluation. Now, if the final
output of this gate is ‘0’, there is no problem anyway. If the final output was supposed be
’1’, the next stage is erroneously held at zero for some time. However, this does not result in
a false evaluation by the next stage. The only effect it can have is that the next stage starts
its evaluation a little later.
Domino logic is fast, because the pre-charge cycle is common to all stages. Once pre-charge
is done, each stage evaluates one after the other (hence the name - domino logic). Thus for
n stage logic, there is only one cycle of pre-charge and n cycles of evaluation, rather than n
cycles of pre-charge and n of evaluation.
However, the addition of an inverter means that the logic is non-inverting. Therefore, it
cannot be used to implement any arbitrary logic function. In synchronous digital circuits,
combinational logic alternates with clocked latches. If inversion is required, we insert a latch
at that place and take the Q output of the latch to the next group of domino logic.
22 CHAPTER 1. BEYOND STATIC CMOS
Vdd
A B E
C D
Ck Ck
Gnd
A, B, C must be from p stages.
D and E must be from n stages.
Instead of using an inverter, we can alternate n and p evaluation stages. The n stage is
pre-charged high, but it drives a p stage. A high pre-charged stage will keep the p evaluation
stage off, which will not cause any malfunction. The p stage will be pre-discharged to ‘low’,
which is safe for driving n stages. This kind of logic is called zipper logic.