b. Assume that carrier density
∝
exp
(–q
f
/kT), where
f
is the potential; calculate the distance below the surface at which the inversion charge density falls to 10
percent of its value at the surface.

3.4 (Logical effort, 45 min.) Calculate the logical effort at each input of an AOI122 cell. Find an expression that allows you to calculate the logical effort for each input of an AOI
nnnn
cell for
n
=
1, 2, 3.

3.5 (Gate-array macro design, 120 min.) Draw a 1X drive, two-input NAND cell using the gate-array base cells shown in Figures
3.14
(a)–
3.16
(lay a piece of thin paper over the figures and draw the contacts and metal personalization only). Label the inputs and outputs. Lay out a 1X drive, four-input NAND cell using the same base array cells. Now lay out a 2X drive, four-input NAND cell (think about this one). Make sure that you size your transistors properly to balance rise times and fall times.

3.6
(Flip-flop library, 20 min.) Suppose we wish to build a library of flip-flops. We want to have flops with: positive-edge and negative-edge triggering: clear, preset (either, both, or neither); synchronous or asynchronous reset and preset controls if present (but not mixed on the same flip-flop); all flip-flops with or without scan as an option; flip-flops with Q and Qbar (either or both). How many flip-flops is that? (***) How would you attempt to prioritize which flip-flops to include in a library?

3.7
(AOI and OAI cell ratios, 30 min.) In Figure 2.13(c) we adjusted the sizes of the transistors assuming that there was only one path through the
n
-channel and
p
-channel stacks. Suppose that
p
-channel transistors A, B, C, and D are all on and
p
-channel transistor E turns on. What is the equivalent resistance of the
p
-channel stack in this case?

3.8
(**Eight-input AND, 60 min.) This question is an example in the paper by Sutherland and Sproull [1991] on logical effort. Figure
3.24
shows three different ways to design an eight-input AND cell, using NAND and NOR cells.

a. Find the logical effort at each input for A, B, C. Assume a logic ratio of 2.

b. Find the parasitic delay for A, B, C. Assume the parasitic delay of an inverter is 0.6.

c. Show that the path delays are given by the following equations where
H
is the path electrical effort, if we ignore the nonideal delays:

(i) 2
(3.33
H
)
0.5
+
5.4 (alternative A)

(ii) 2
(3.33
H
)
0.5
+
3.6 (alternative B)

(iii) 4
(2.96
H
)
0.25
+
4.2 (alternative C)

d. Use these equations to determine the best alternative for
H
=
2 and
H
=
32.

3.9 (Special logic cells, 30 min.) Many ASIC cell libraries contain “special” logic cells. For example the Compass libraries contain a two-input NAND cell with an inverted input, FN01 = (A
+
B'). This saves routing area, is faster than using two separate cells, and is useful because the combination of a two-input NAND gate with one inverted input is heavily used by synthesis tools. Other “special” cells include:

FN02
=
MAJ3
=
(A·B
+
A·C
+
B·C)'

FN03
=
AOI2-2
=
((A'·B')
+
(C·D))' = (A
+
B)(C'
+
D')
=
OA2-2

FN04
=
OAI2-2

FN05
=
A·B'
=
(A'
+
B)'

a. Draw schematics for these cells.

b. Calculate the logical effort and logical area for each cell.

c. Can you explain where and why these cells might be useful?

3.10
(Euler paths, 60 min.) There are several ways to arrange the stacks in the AOI211 cell shown in Figure
3.25
. For example, the
n
-channel transistor A can be below B without altering the function. Which arrangement would you predict gives a faster delay from A to Z and why? The
p
-channel transistors A and B can be above or below transistors C and D. How many distinct ways of arranging the transistors are there for this cell? What effect do the different arrangements have on layout? What effects do these different arrangements have on the cell performance?

FIGURE 3.25
There are several ways to arrange the transistors in this AOI211 cell (Problem
3.10
).

(c)
Calculate the path delay,
D
, as a function of path electrical effort,
H
, for both of these implementations ignoring parasitic and nonideal delays.
(d)
Use Eq.
3.42
to calculate the optimum path delay for these cells.
(e)
Compare and explain the differences between your answers to parts d and e for
H
=
1, 2, 4, and 8.

The timing data from the data book is as follows (the cell height is 25.6
m
m):

3.13 (EXOR cells and logical effort, 60 min.) Show how to implement a two-input EXOR cell using an AOI22 and two inverters. Using logical effort, compare this with an implementation using an AOI21 cell and a NOR cell.

3.14
(***XNOR cells, 60 min.) Table
3.3
shows the implementation of XNOR cells in a standard-cell library. Analyze this data using the concept of logical effort.

The
branching effort
is the ratio of the on-path plus off-path capacitance to the on-path capacitance. The
path effort
F
becomes the product of the path electrical effort, path branching effort, and path logical effort:

F
=
GBH
.

(3.48)

Show that the path delay
D
is

D

=

∑

g
i
b
i
h
i

+

∑

p
i
.

(3.49)

i
∈
path

i
∈
path

(***) Show that the optimum path delay is then

D^

=

NF
1/
N

=

N
(
GBH
)
1/
N
+
P
.

(3.50)

3.16
(*Circuits from layout, 120 min.) Figure
3.26
shows a D flip-flop with clear from a 1.0
m
m standard-cell library. Figure
3.27
shows two layout views of this D flip-flop. Construct the circuit diagram for this flip-flop, labeling the nodes and transistors as shown. Include the transistor sizes—use estimates for transistors with 45° gates—you only need W/L values, you can assume the gate lengths are all L
=
2
l
, equal to the minimum feature size. Label the inputs and outputs to the cell and identify their functions.

3.17
(Flip-flop circuits, 30 min.) Draw the circuit schematic for a positive-edge–triggered D flip-flop with active-high set and reset (base your schematic on Figure 2.18a, a negative-edge–triggered D flip-flop). Describe the problem when both SET and RESET are high.

If we want an active-high set or reset we can: (1) use an inverter on the set or reset signal or (2) we can substitute NOR cells. Since NOR cells are slower than NAND cells, which we do depends on whether we want to optimize for speed or area.

Thus, the largest flip-flop would be one with both Q and QN outputs, active high set and reset—requiring four TX gates, three inverters (four of the seven we normally need are replaced with NAND cells), four NAND cells, and two inverters to invert the set and reset, making a total of 34 transistors, or 8.5 gates.

3.18 (Set and reset, 10 min.) Show how to add a
synchronous set
or a
synchronous reset
to the flip-flop of Figure 2.18(a) using a two-input MUX.

3.19 (Clocked inverters, 45 min.) Using PSpice compare the delay of an inverter with transmission gate with that of a clocked inverter using the G5 process SPICE parameters from Table 2.1.

b. The characteristic equation for a T flip-flop (toggle flip-flop) is Q
t+1
=
(Q
t
)'
. Show how to build a T flip-flop using a D flip-flop.

c. The characteristic equation does not show the timing behavior of a sequential element—the characteristic equation for a D latch is the same as that for a D flip-flop. The characteristic equation for an S-R latch and an S-R flip-flop is Q
t+1
=
S
+
R'Q
t
. An S-R flip-flop is sometimes called a pulse-triggered flip-flop. Find out the behavior of an S-R latch and an S-R flip-flop and describe the differences between these elements and a D latch and a D flip-flop.

d. Explain why it is probably not a good idea to use an S-R flip-flop in an ASIC design.

3.21 (**Optimum logic, 60 min.) Suppose we have a fixed logic path of length
n
1
. We want to know how many (if any) buffer stages we should add at the output of this path to optimize the total path delay given the output load capacitance.

a. If the total number of stages is
N
(logic path of length
n
1
plus
N
–
n
1
inverters), show that the total path delay is

n
1

D^

=

NF
1/
N

+

∑

(
p
i
+
q
i
) + (
N
–
n
1
)(
p
inv
+
q
inv
) .

(3.51)

i
= 1

The optimum number of stages is given by the solution to the following equation:

∂
D^/∂N

=

∂
/∂N
(
NF
1/
N
+ (
N
–
n
1
)(
p
inv
+
q
inv
) )

=

0 .

(3.52)

b. Show that the solutions to this equation can be written in terms of
F
1/
N^
(the optimum stage effort) where
N^
is the optimum number of stages:

F
1/
N^
(1 – ln
F
1/
N^
) + (
p
inv
+
q
inv
) = 0 .

(3.53)

3.22
(XOR and XNOR cells, 60 min.) Table
3.4
shows the implementations of two- and three-input XOR cells in an ASIC standard-cell library (D1 are the 1X drive cells, and D2 are the 2X drive versions). Can you explain the choices for the two-input XOR cell and complete the table for the three-input XOR cell?