[ Chapter start ] [ Previous page ] [ Next page ]
3.10 Problems
* = difficult, ** = very difficult, *** = extremely difficult
3.1 (Pull resistance, 10 min.)
 a. Show that, for small V _{ DS} , an n channel transistor looks like a resistor, R = 1/( b _{ n} ( V _{ DD} – V_{ t} _{ n} )).
 b. If V _{ GS} = V _{ DD} , V _{ DS} = 0, and k^{ '} _{ n} = 200 m AV^{ –2} (equal to the n channel transistor SPICE parameter KP in Table 2.1), find the pull resistance, R , for a 6/0.6 transistor in the linear region.
3.2 (Inversion layer depth, 15 min.) In the absence of surface charge, Gauss’s law demands continuity of the electric displacement vector, D = e E , at the silicon surface, so that e _{ ox} E _{ ox} = e _{ Si} E _{ Si} , where e _{ ox} = 3.9, e _{ Si} = 11.7.
 a. Assuming the potential at the surface is V _{ GS} – V_{ t} = 2.5 V, calculate E _{ ox} and E _{ Si} if T_{ ox} = 100 Å.
 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.
 c. Comment on the accuracy of your answers.
Answer: (a) 2.5 ¥ 10^{ 8} Vm^{ –1} , 0.833 ¥ 10^{ 8} Vm^{ –1} . (b) 7.16 Å.
3.3 (Depletion layer depth, 15 min.) The depth of the depletion region under the gate is given by x _{ d} = ÷[ (2 e _{ Si} f _{ s} )/(qN_{ A} )], where f _{ s} = 2V_{ T} ln(N_{ A} /n_{ i} ) is the surface potential at strong inversion. Calculate f _{ s} and x _{ d} assuming: e _{ Si} =1.0359 ¥ 10^{ –10} Fm^{ –1} , the substrate doping, N_{ A} = 1.4 ¥ 10^{ 17} cm^{ –3} , the intrinsic carrier concentration n_{ i} = 1.45 ¥ 10^{ 10} cm^{ –3} (at room temperature), and the thermal voltage V_{ T} = kT/q = 25.9 mV.
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 (Gatearray macro design, 120 min.) Draw a 1X drive, twoinput NAND cell using the gatearray 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, fourinput NAND cell using the same base array cells. Now lay out a 2X drive, fourinput NAND cell (think about this one). Make sure that you size your transistors properly to balance rise times and fall times.
3.6 (Flipflop library, 20 min.) Suppose we wish to build a library of flipflops. We want to have flops with: positiveedge and negativeedge triggering: clear, preset (either, both, or neither); synchronous or asynchronous reset and preset controls if present (but not mixed on the same flipflop); all flipflops with or without scan as an option; flipflops with Q and Qbar (either or both). How many flipflops is that? (***) How would you attempt to prioritize which flipflops 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 (**Eightinput 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 eightinput 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.
FIGURE 3.24 An eightinput AND cell (Problem 3.8 ). 
3.9 (Special logic cells, 30 min.) Many ASIC cell libraries contain “special” logic cells. For example the Compass libraries contain a twoinput 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 twoinput 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 = AOI22 = ((A'·B') + (C·D))' = (A + B)(C' + D') = OA22
 FN04 = OAI22
 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 ). 
3.11 (*AOI and OAI cell efficiency, 60 min.) A standardcell library data book contains the following data:
 AOI221: t _{ R} = 1.06–1.15 ns; t _{ F} = 1.09–1.55 ns; C _{ in} = 0.21–0.28 pF; W _{ C} = 28.8 m m
 OAI221: t _{ R} = 0.77–1.05 ns; t _{ F} = 0.81–0.96 ns; C _{ in} = 0.25–0.39 pF; W _{ C} = 22.4 m m
( W _{ C} is the cell width, the cell height is 25.6 m m.) Calculate the (a) logical effort and (b) logical area for the AOI221 and OAI221 cells.
The implementation of the OAI221 in this library uses a single stage,
OAI221 = OAI221(a1, a2, b1, b2, c),
whereas the AOI221 uses the following multistage implementation:
AOI221 = NOT(NAND(NAND(a1, a2), AOI21(b1, b2, c))).
(c) What are the alternative implementations for these two cells? (d) From your answers attempt to explain the implementations chosen.
3.12 (**Logical efficiency, 60 min.) Extending Problem 3.11 , let us compare an AOI33 with an OAI33 cell. (a) Calculate the logical effort and (b) logical areas for these cells.
The AOI33 uses a singlestage implementation as follows:
AOI33 = aoi33(a1, a2, a3, b1, b2, b3).
The OAI33 uses the following multistage implementation:
OAI33 = not[nor[nor(a1, a2, a3), nor(b1, b2, b3)]].
(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):
 AOI33: t _{ R} = 0.70–1.06 ns; t _{ F} = 0.72–1.15 ns; C _{ in} = 0.21–0.28 pF; W _{ C} = 35.2 m m
 OAI33: t _{ R} = 1.06–1.70 ns; t _{ F} = 1.42–1.98 ns; C _{ in} = 0.31–0.36 pF; W _{ C} = 48 m m
(f) How does this data compare with your theoretical analysis?
3.13 (EXOR cells and logical effort, 60 min.) Show how to implement a twoinput 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 standardcell library. Analyze this data using the concept of logical effort.
TABLE 3.3 Implementations of XNOR cells in CMOS (Problem 3.14 ). 

3.15 (***Extensions to logical effort, 60 min.) The path branching effort B is the product of branching efforts:
The branching effort is the ratio of the onpath plus offpath capacitance to the onpath capacitance. The path effort F becomes the product of the path electrical effort, path branching effort, and path logical effort:
(***) Show that the optimum path delay is then
3.16 (*Circuits from layout, 120 min.) Figure 3.26 shows a D flipflop with clear from a 1.0 m m standardcell library. Figure 3.27 shows two layout views of this D flipflop. Construct the circuit diagram for this flipflop, 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.
FIGURE 3.26 A D flipflop from a 1.0 m m standardcell library (Problem 3.16 ). 
3.17 (Flipflop circuits, 30 min.) Draw the circuit schematic for a positiveedge–triggered D flipflop with activehigh set and reset (base your schematic on Figure 2.18a, a negativeedge–triggered D flipflop). Describe the problem when both SET and RESET are high.

FIGURE 3.27 (Top) A standard cell showing the diffusion ( n diffusion and p diffusion), poly, and contact layers (the n well and p well are not shown). (Bottom) Shows the m1, contact, m2, and via layers. Problem 3.16 traces this circuit for this cell. 
If we want an activehigh 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 flipflop 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 flipflop of Figure 2.18(a) using a twoinput 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.
3.20 (SR, T, JK flipflops, 30 min.) The characteristic equation for a D flipflop is Q_{ t+1} = D. The characteristic equation for a JK flipflop is Q_{ t+1} = J(Q_{ t} )' + K'Q_{ t} .
 a. Show how you can build a JK flipflop using a D flipflop.
 b. The characteristic equation for a T flipflop (toggle flipflop) is Q_{ t+1} = (Q_{ t} )' . Show how to build a T flipflop using a D flipflop.
 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 flipflop. The characteristic equation for an SR latch and an SR flipflop is Q_{ t+1} = S + R'Q_{ t} . An SR flipflop is sometimes called a pulsetriggered flipflop. Find out the behavior of an SR latch and an SR flipflop and describe the differences between these elements and a D latch and a D flipflop.
 d. Explain why it is probably not a good idea to use an SR flipflop 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
( p _{ i} + q _{ i} ) + ( N – n _{ 1} )( p _{ inv} + q _{ inv} ) . 

The optimum number of stages is given by the solution to the following equation:
∂ /∂N ( NF ^{ 1/} ^{ N} + ( N – n _{ 1} )( p _{ inv} + q _{ inv} ) ) 

 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.22 (XOR and XNOR cells, 60 min.) Table 3.4 shows the implementations of two and threeinput XOR cells in an ASIC standardcell library (D1 are the 1X drive cells, and D2 are the 2X drive versions). Can you explain the choices for the twoinput XOR cell and complete the table for the threeinput XOR cell?
TABLE 3.4 Implementations of XOR cells (Problem 3.22 ). 

Actual implementation 1 

3.23 (Library density, 10 min.) Derive an upper limit on cell density as follows: Assume a chip consists only of twoinput NAND cells with no routing channels between rows (often achievable in a 3LM process with overthecell routing).