Skip to content

FT1. Final practice: stuck-at faults, scan, reliability and minimum energy

This page practises the final’s questions on testing chips and on running them at the lowest possible supply: how a tester finds one broken node through a scan chain and which bit out reveals it; why some chips die early and how burn-in catches them; how low a subthreshold supply can go, and whether some supply minimizes a chain’s energy. Every past-final part on these topics is here, re-solved from the papers; the keys’ answers are not copied, and where a key slips the page says so. The parts come in three families: stuck-at faults and scan (FN10-3, FN17-4a–b, FN19-4, PS5-Q3), clock latency and reliability short answers (FN17-1d, FN17-1e) and the lowest working supply and minimum energy (FN10-2c, FN17-10c). Each family opens with a How to approach section that gives the model and the moves once, and ends with harder added variations: longer chains, setups no past paper uses, and heavier arithmetic, as the real Fall 2026 midterm was.

Every part is worked the same way: what it asks, the idea, why this formula, the solution in steps (each gives its reason first), a check by another route, the answer, and what to remember. Try each part first; open the Hint if you are stuck. The answer key’s verdict is folded at the end of each past-paper part.

Before you start. Everything here is taught in Chapter 22 (scan, stuck-at faults, burn-in) and Chapter 23 (clock latency, electromigration, the low-voltage limit and minimum energy), on the device model of Chapter 4 and the energy of Chapter 6. Each section below restates what it uses:

Conventions on this page.

  • Fault values are written good/faulty: “0/1” means 0 in the good circuit and 1 in the faulty one. ST0 and ST1 are stuck at 0 and stuck at 1, at the node’s stem: every gate the node feeds sees the stuck value.
  • Patterns list the inputs in the order the part names them, first bit first: “011” for W1W2W3W_1W_2W_3 means W1=0W_1 = 0, W2=W3=1W_2 = W_3 = 1.
  • Scan chains run scan_in → F1F_1 → … → FnF_n → scan_out unless a part says otherwise. “Load”, “capture” and “unload” edges are the rising clock edges of the three phases; L1, C, U1 name them.
  • Subthreshold numbers use the papers’ values: SS = 80 mV/decade, IoffI_{off} = 10 nA, and kT/qkT/q = 26 mV. log⁡\log is base 10 and ln⁡\ln natural; 10−V/S=e−u10^{-V/S} = e^{-u} with u=Vln⁡10/Su = V\ln 10/S.
  • Pages are the papers’ printed page labels.
Symbols
SymbolMeaningUnitFirst appears
ST0, ST1a node stuck at 0, at 1—approach 1
qiq_i, WiW_iflip-flop FiF_i‘s output (the papers name some WiW_i)—approach 1
DiD_i, YiY_ithe logic’s output into flip-flop FiF_i‘s D input (FN17-4 names them YiY_i)—approach 1
SE, SIscan enable and scan in, a scan flip-flop’s extra inputs—approach 1
nnflip-flops in a scan chain—approach 1
pptest patterns—approach 1
XXthe fault site in FN10-3 and FN19-4—FN10-3
PP, QQ, N1N_1, N2N_2FN10-3’s internal nodes (this guide’s names)—FN10-3
AA, Z1Z_1, Z2Z_2, X1X_1FN17-4’s fault site, primary outputs and primary input—FN17-4
mmthe scan flip-flop’s mux output (PS5-Q3)—PS5-Q3
tLt_La clock network’s latency, root to leafpsapproach 2
SVS_Vthe supply sensitivity of delay, (VDD/t) ∂t/∂VDD(V_{DD}/t)\,\partial t/\partial V_{DD}—approach 2
JJcurrent density, current over cross-sectionmA/µm²approach 2
ww, wneckw_{neck}, tta wire’s width, its width at a neck, its thicknessµmapproach 2
SSthe subthreshold slopemV/decadeapproach 3
kT/qkT/qthe thermal voltage, 26 mVmVapproach 3
IoffI_{off}, IonI_{on}a device’s current at VGS=0V_{GS} = 0 and at VGS=VDDV_{GS} = V_{DD}nAapproach 3
VfnV_{fn}the lowest supply at which the inverter still gives a 10–90 % swingmVapproach 3
CCthe capacitance on each node of a chainfFapproach 3
NN, NgN_g, α\alphalogic depth, gates in the block, fraction of nodes that rise per operation—approach 3
EE, EdynE_{dyn}, EleakE_{leak}energy per operation, its switching and its leakage partsfJapproach 3
TTthe time one operation takes (the chain’s delay)nsapproach 3
uu, KKthe supply in units of S/ln⁡10S/\ln 10; the depth-to-activity number N/(4α)N/(4\alpha)—approach 3

How to approach a stuck-at or scan-test question

Recognize it by the words: “stuck-at-one (zero) fault at node …”, “test pattern”, “detect”, “propagate it to the output”, “is this pattern unique?”, “controllability and observability”, “scan in”, “scan_enable”, “in what order”, “scanned out”, “good” and “bad” circuit, “sketch the waveforms for scan_enable, clock, scan_in and scan_out”. The paper prints a gate network, often behind a chain of scan flip-flops (boxes with D, Q, SI, SE and a clock), and marks one node.

The model. A manufacturing defect is modelled as one node stuck at 0 or 1 (Chapter 22 §6). A pattern detects the fault when some observed output of the good circuit differs from the faulty one’s. Scan makes every flip-flop’s state an input the tester sets (shift in) and every flip-flop’s D an output it reads (shift out), so a sequential chip is tested as combinational logic, one pattern at a time (§5).

The scan chain in its two modes (Chapter 22 §4): with SE = 1 the flip-flops form a shift register from scan_in to scan_out; with SE = 0 each takes its D from the logic. Original figure ↗

Why these, and their conditions. Control: if the good node already sits at the stuck value, nothing can differ downstream. Observe: a gate passes a change on one input only if every other input is non-controlling (Chapter 22 §7). Memorize both. The order: derive it from one shift edge, which moves every bit one place along, so the first bit in travels farthest; scan_out is FnF_n‘s Q, so DnD_n is readable right after the capture edge (§5). The count: nn load edges and one capture per pattern (the next load overlaps this unload), and nn more to empty the chain.

Reconvergent fan-out. When the fault site feeds two paths that meet again, the difference arrives on both, and the meeting gate decides: if the faulty value on a branch is the meeting gate’s controlling value, the good circuit must have every branch open for the outputs to differ; at an XOR, two open branches cancel and exactly one must be open (§7). The safe move is always the same: write good/faulty values on both branches and evaluate the meeting gate in each circuit.

The moves.

  1. Write each node as a function of the inputs the pattern sets (flip-flop outputs and primary inputs). Name the internal nodes.
  2. Control: set the fault site to the opposite of its stuck value; work back to the inputs.
  3. Observe: pick a path to an observed output (a flip-flop’s D or a primary output); give every side input its non-controlling value; work back. Where the path reconverges, evaluate both branches.
  4. Check the pattern by evaluating the good and the faulty circuit at every output. Count the patterns if the paper asks “unique?”: multiply the free inputs’ choices.
  5. Scan it: list the load in chain order and reverse it for scan_in; capture with SE = 0 and the primary inputs applied; list the captured DD‘s in chain order and reverse them for scan_out. Say which bit out first differs.

Decide on the way: which outputs are observed (through the chain, or as primary outputs); whether the paper wants the register view (the captured D1…DnD_1 \ldots D_n) or the scan_out sequence (the same bits reversed); and which observation path makes the arithmetic shortest.

Traps. A side input left at its controlling value. Sensitizing one branch of a reconvergence where both are needed (FN10-3), or both where one is needed (an XOR). Reversing the load order. Reading the register view as the scan_out sequence. Forgetting that a primary input is applied by the tester during capture, not scanned in. Answering “unique?” without counting.

Playbook card: stuck-at faults and scan, with the scan flip-flop for PS5-Q3a.

FN10-3: a stuck-at-1 test through reconvergent fan-out (10 points)

You need

The stuck-at model (Chapter 22 §6). A fault is one node held at 0 or 1 whatever its gate tries to drive; a pattern detects it when an observed output differs between the good circuit and the faulty one. Values are written good/faulty.

Controlling values (Chapter 22 §7). A 0 on any input fixes an AND’s output at 0 and a NAND’s at 1; a 1 on any input fixes an OR’s output at 1 and a NOR’s at 0. With every other input at the non-controlling value (1 for AND/NAND, 0 for OR/NOR) the gate’s output follows the remaining input, inverted for NAND and NOR.

Reconvergent fan-out (Chapter 22 §7). When a node feeds two paths that meet at a later gate, the fault reaches that gate on every branch the pattern opens; evaluate both branches in both circuits.

Chapter 22’s reconvergent example (§7): there an AND joins the branches and one open branch is enough. In FN10-3 the joining gate is a NAND fed by two NORs, and the answer is the opposite. Original figure ↗

The question (FN10-3, p5, in the paper’s words). Determine a test pattern to detect a stuck-at-one fault at node X in the following network and propagate it to the output Z. Is this pattern unique? (10 points)

FN10-3’s network (Final 2010, p5, redrawn). The question calls the output Z; the figure labels it Y, and this page writes Y. The small labels PP and QQ (the outer ANDs’ outputs) and N1N_1, N2N_2 (the NORs’ outputs) are this page’s; the key’s two handwritten 0s are in the exam’s figure below.

The exam’s own figure (FN10-3, p5)
The printed network. Three two-input AND gates at the left: A and B into the top one, C and D into the middle one, whose output is node X, and E and F into the bottom one. Node X fans out to two NOR gates: the top NOR takes the top AND's output and X; the bottom NOR takes X and the bottom AND's output. The two NOR outputs enter a NAND whose output is Y. Two handwritten zeros mark the top AND's output and the bottom AND's output.
FN10-3, p5 (source figure). The two handwritten 0s, on the outer ANDs’ outputs, are the key’s.

Reading the figure. P=ABP = AB, X=CDX = CD and Q=EFQ = EF are ANDs. XX fans out to both NORs: N1=P+X‾N_1 = \overline{P + X} and N2=X+Q‾N_2 = \overline{X + Q}. The NAND gives Y=N1N2‾Y = \overline{N_1 N_2}. So the two branches from XX reconverge at the NAND.

The pattern and whether it is unique (10 points)

FN10-3, p5. Determine a test pattern to detect a stuck-at-one fault at node X in the following network and propagate it to the output Z. Is this pattern unique? (10 points)

Hint
With X stuck at 1, what do both NORs output in the faulty circuit, whatever the other inputs are? What must the good circuit’s Y be, then?

What it asks. An input pattern ABCDEFABCDEF for which the good and the faulty networks give different YY, and whether only one such pattern exists. The words that decide the method are “detect” and “propagate it to the output”: control XX to 0, then carry the difference through the NORs and the NAND. “Unique?” asks for a count.

The idea. Control is easy (CD≠11CD \ne 11); the difficulty is the reconvergence. In the faulty circuit X=1X = 1 reaches both NORs, and 1 is a NOR’s controlling value, so the faulty YY is 1 for every pattern. The good YY must be 0, which needs both NORs at 1: the pattern must open both branches at once. The usual single-path recipe fails here.

Why this formula. Control (XX = opposite of 1) and observe (side inputs non-controlling) from Chapter 22 §7, applied to both branches.

  • Where it comes from. A NOR passes a change on one input only if its other input is 0 (non-controlling). So N1N_1 follows XX inverted only when P=0P = 0, and N2N_2 only when Q=0Q = 0. A NAND passes a change on one input only if the other is 1.
  • Why both branches here. The faulty value 1 on each branch is the NOR’s controlling value, so both NOR outputs fall to 0 in the faulty circuit; the NAND sees 0 on both inputs. The good circuit must give the NAND 1 on both inputs, which needs both NORs open. In Chapter 22’s AND-joined example one branch sufficed because the steady branch sat at the AND’s non-controlling 1; here a steady branch would sit at 0, the NAND’s controlling value.
  • A shortcut by algebra. Y=N1N2‾=(P+X)+(X+Q)=AB+CD+EFY = \overline{N_1N_2} = (P + X) + (X + Q) = AB + CD + EF, and the faulty YY is 1, so the fault is detected exactly when AB=CD=EF=0AB = CD = EF = 0.
  • The tempting alternative. Sensitizing one path, say through N1N_1 with P=0P = 0, and leaving EE, FF free. With E=F=1E = F = 1, Q=1Q = 1 pins N2N_2 at 0 in both circuits, and Y=1Y = 1 in both: no detection.

FN10-3

  1. Write the network. Because the outer gates are ANDs and the middle ones NORs, P=ABP = AB, X=CDX = CD, Q=EFQ = EF, N1=P+X‾N_1 = \overline{P + X}, N2=X+Q‾N_2 = \overline{X + Q}, and Y=N1N2‾=AB+CD+EFY = \overline{N_1N_2} = AB + CD + EF.
  2. The faulty circuit. Because XX is stuck at 1 and 1 controls a NOR, N1=N2=0N_1 = N_2 = 0 for every pattern, and Y=0⋅0‾=1Y = \overline{0\cdot 0} = 1. The faulty output is 1 whatever the inputs.
  3. Control. Because the good XX must be 0 (the opposite of its stuck value), CD≠11CD \ne 11: C=0C = 0 or D=0D = 0. Now XX = 0/1.
  4. Both branches. Because the good YY must be 0 (the faulty one is 1), the NAND needs both inputs at 1: N1=P+0‾=1N_1 = \overline{P + 0} = 1 needs P=AB=0P = AB = 0, and N2=1N_2 = 1 needs Q=EF=0Q = EF = 0. Now N1N_1 = 1/0, N2N_2 = 1/0, YY = 0/1.
  5. A pattern. Because every pair only has to avoid 11, the simplest is all zeros: ABCDEFABCDEF = 000000. Good: P=X=Q=0P = X = Q = 0, N1=N2=1N_1 = N_2 = 1, Y=0Y = 0. Faulty: Y=1Y = 1. Detected.
  6. Unique? Because each of the three pairs ABAB, CDCD, EFEF may be any of 00, 01, 10, there are 3×3×3=273 \times 3 \times 3 = 27 detecting patterns of the 26=642^6 = 64. Not unique; exhaustive simulation of both circuits finds exactly these 27.

FN10-3’s two patterns (new figure; good/faulty values from the fault simulation in checks.test.ts; thick: where the difference travels). (a) ABCDEFABCDEF = 000000 opens both branches, and YY = 0/1: detected. (b) 110000 opens only the lower branch: P=1P = 1 holds the upper NOR at 0 in both circuits (✗), the NAND sees a 0, and YY = 1/1: not detected.

Check. By the one-branch counterexample: ABCDEFABCDEF = 110000 opens the lower branch (Q=0Q = 0, XX = 0/1, N2N_2 = 1/0) but P=1P = 1 holds N1N_1 at 0 in both circuits, so Y=0⋅N2‾=1Y = \overline{0 \cdot N_2} = 1 in both: not detected, as step 4 predicts. By fault equivalence: PP stuck at 1 and N1N_1 stuck at 0 also force Y=1Y = 1, so they are detected by the same 27 patterns, and simulation agrees; XX stuck at 0, by contrast, needs CD=11CD = 11 with ABAB and EFEF free of 11, 1×3×3=91 \times 3 \times 3 = 9 patterns.

Answer: for example ABCDEFABCDEF = 000000 (any pattern with AB≠11AB \ne 11, CD≠11CD \ne 11 and EF≠11EF \ne 11): the good output is 0, the faulty output 1. It is not unique: 27 of the 64 patterns detect the fault. Both branches from XX must be sensitized, because the faulty 1 on either branch already forces the NAND’s output.

Remember. At a reconvergence, evaluate both branches in both circuits before choosing side inputs. When the faulty value is the controlling value of the gates it enters, the good circuit must open every branch. “Unique?” is a count: multiply the choices of the free inputs.

The answer key agrees
The key marks the outer ANDs’ outputs 0 (on the figure), sets X=0X = 0 through CC or DD, and answers that the pattern is not unique, with both NOR paths sensitized. It does not count the patterns; the count is 27.

FN17-4: a stuck-at-0 fault behind a three-flip-flop scan chain (20 points)

You need

The scan flip-flop and the chain (Chapter 22 §4). Each flip-flop has a 2:1 multiplexer in front of D: at each rising clock edge Q+=SE‾⋅D+SE⋅SIQ^+ = \overline{SE}\cdot D + SE\cdot SI. With SE = 1 the flip-flops form a shift register; with SE = 0 each captures its D from the logic.

The scan test and its order (Chapter 22 §5). Shift in with SE = 1 (the last flip-flop’s value first), capture once with SE = 0 and the primary inputs applied, shift out with SE = 1. scan_out is the last flip-flop’s Q, so it shows that flip-flop’s captured value right after the capture edge, then the one before it after each shift.

Building the pattern (Chapter 22 §7–§8). Control the node to the opposite of its stuck value; give every side input on a path to an observed output its non-controlling value (1 for AND/NAND, 0 for OR/NOR).

The question (FN17-4, p9, in the paper’s words). Consider the circuit shown below.

FN17-4’s scan chain (Final 2017, p9, redrawn): scan_in → F1F_1 (W1W_1) → F2F_2 (W2W_2) → F3F_3 (W3W_3) → scan_out, all on one clk and one scan_enable. The labels F1F_1–F3F_3 are this page’s. The box is the combinational logic (the paper’s “Comb. Logic”): its outputs Y1Y_1, Y2Y_2, Y3Y_3 return to the flip-flops’ D inputs; Z1Z_1, Z2Z_2 are primary outputs and X1X_1 a primary input.

The exam’s own figure (FN17-4, p9)
Three scan flip-flops stacked at the left, each a box with D, SI, SE and Q and a clock input clk. The top one's D is Y1, its SI is scan_in, its SE is scan_enable; its Q is W1, which goes to the combinational-logic block's W1 input and down to the second flip-flop's SI. The second's D is Y2, its Q is W2, to the block and to the third flip-flop's SI. The third's D is Y3, its Q is W3, to the block and to scan_out. The block, labelled Comb. Logic, has inputs X1, W1, W2, W3 and outputs Z1, Z2, Y1, Y2, Y3.
FN17-4, p9 (source figure).

The block inside (FN17-4, p9, redrawn; the OR’s three inputs are spread wider than printed). AA is the paper’s name; this page names the OR’s output OO (=Z2=Y3= Z_2 = Y_3). The key’s handwritten “ST0” at AA is in the exam’s figure below.

The exam’s own figure (FN17-4, p9)
The combinational logic. A NAND of W1 and W2 gives Z1. An AND of W2 and W3 gives node A, marked ST0 by hand. A three-input OR of W2, W1 and W3 gives Z2 and Y3. A three-input NAND of Z1, X1 and A gives Y1. A NOR of A and the OR's output gives Y2.
FN17-4, p9 (source figure). The handwritten “ST0” at A is the key’s mark of the fault the parts ask about.

Reading the figure. From the wiring (checked on full-resolution crops): Z1=W1W2‾Z_1 = \overline{W_1W_2}; A=W2W3A = W_2W_3; O=W1+W2+W3O = W_1 + W_2 + W_3, which is both Z2Z_2 and Y3Y_3; Y1=Z1⋅X1⋅A‾Y_1 = \overline{Z_1 \cdot X_1 \cdot A} (a three-input NAND); Y2=A+O‾Y_2 = \overline{A + O} (a NOR). The flip-flops hold W1W_1, W2W_2, W3W_3 and capture Y1Y_1, Y2Y_2, Y3Y_3.

Part (a): the pattern and the order (10 points)

FN17-4a, p9. Determine an appropriate test pattern that achieves controllability and observability for a stuck-at-zero fault at node A. What value must be scanned into the flip-flops? In what order? (10 points)

FN17-4’s logic (p9): node AA feeds the NAND to Y1Y_1 and the NOR to Y2Y_2. Original figure ↑
Hint
Node A feeds two gates. Which of them can carry a change in A when A is 1, and what does the OR’s output do to the other?

What it asks. The flip-flop values W1W2W3W_1W_2W_3 (and the primary input X1X_1) that make the good AA differ from the stuck 0 and carry the difference to an output the tester reads, and the time order in which those values go onto scan_in. “Controllability and observability” names the two conditions; “in what order” asks for the shift order.

The idea. Control first, because here it decides the observation path. Driving AA to 1 needs W2=1W_2 = 1, which makes the OR’s output 1 and blocks the NOR to Y2Y_2; only the NAND to Y1Y_1 is left, and its side inputs fix the rest. Every input ends up forced: one pattern.

Why this formula. Control and observe (Chapter 22 §7) and the scan order “the last flip-flop’s value first” (§5).

  • Where it comes from. A NAND passes one input only when all its other inputs are 1; a NOR only when its other input is 0. The order: each shift edge moves every bit one place toward scan_out, so the bit shifted in first ends in F3F_3.
  • Conditions. X1X_1 is not in the chain; the tester holds it at 1 through the capture edge. The capture is one rising edge with SE = 0. Single fault: only AA is wrong.
  • The tempting alternative. Observing at Y2Y_2 because the NOR is “closer”. The control condition W2=1W_2 = 1 makes the NOR’s side input 1, which blocks it. Also tempting: shifting in W1,W2,W3W_1, W_2, W_3 in that order, which loads them reversed.

FN17-4a

  1. Control. Because A=W2W3A = W_2W_3 must be 1 in the good circuit (opposite to its stuck 0), W2=W3=1W_2 = W_3 = 1. Now AA = 1/0.
  2. The NOR is blocked. Because O=W1+W2+W3=1O = W_1 + W_2 + W_3 = 1 once W2=1W_2 = 1, and 1 controls a NOR, Y2=0Y_2 = 0 in both circuits. No path through Y2Y_2.
  3. Observe through the NAND. Because Y1=Z1X1A‾Y_1 = \overline{Z_1X_1A} passes AA only if Z1=X1=1Z_1 = X_1 = 1: X1=1X_1 = 1 (primary input), and Z1=W1⋅1‾=1Z_1 = \overline{W_1 \cdot 1} = 1 needs W1=0W_1 = 0. Now Y1Y_1 = 0/1.
  4. The pattern. X1=1X_1 = 1 and W1W2W3=011W_1W_2W_3 = 011. Because every input was forced, it is the only detecting pattern of the 16 (X1W1W2W3X_1W_1W_2W_3); exhaustive simulation agrees, with or without Z1Z_1 and Z2Z_2 observed.
  5. The order. Because the first bit shifted in ends in F3F_3, scan_in carries W3W_3, W2W_2, W1W_1 = 1, 1, 0 on three rising edges with SE = 1. The chain then holds: after the first edge F1=1F_1 = 1; after the second F1F2=11F_1F_2 = 11; after the third F1F2F3=011F_1F_2F_3 = 011.

Part (a)‘s pattern in the logic (new figure; good/faulty values computed): X1=1X_1 = 1, W1W2W3=011W_1W_2W_3 = 011. AA = 1/0 reaches Y1Y_1 (thick) because the NAND’s other inputs, Z1Z_1 and X1X_1, are 1; at the NOR, O=1O = 1 is controlling (✗), so Y2Y_2 = 0/0.

Check. By the faulty circuit at that pattern: A=0A = 0 makes Y1=1⋅1⋅0‾=1Y_1 = \overline{1 \cdot 1 \cdot 0} = 1 against the good 0, while Y2=0Y_2 = 0 and Y3=1Y_3 = 1 in both: exactly one bit differs, as the path argument says. By trying the obvious alternative, W1=1W_1 = 1: then Z1=0Z_1 = 0, a NAND’s controlling value, and Y1=1Y_1 = 1 in both circuits. And by contrast with the opposite fault: AA stuck at 1 needs A=0A = 0, which many patterns give, and 6 of the 16 detect it.

Answer: scan W1W2W3=011W_1W_2W_3 = 011 into the flip-flops and hold the primary input X1=1X_1 = 1. In time order scan_in carries 1, 1, 0 (W3W_3 first, W1W_1 last). The fault is observed at Y1Y_1; Y2Y_2 cannot carry it, because W2=1W_2 = 1 makes the NOR’s other input 1. It is the only pattern that works.

Remember. Do control first; it often decides which observation path survives. A primary input in the logic (X1X_1) is part of the pattern but is not scanned. To load q1…qnq_1 \ldots q_n, shift in qnq_n first.

The answer key agrees
The key writes “Must control A to 1 ⇒ W2=1W_2 = 1, W3=1W_3 = 1. Must observe A at output Y1Y_1 ⇒ W1=0W_1 = 0, X1=1X_1 = 1”, the same pattern. It answers “in what order?” only by listing W1=0W_1 = 0, W2=1W_2 = 1, W3=1W_3 = 1; the order on scan_in is 1, 1, 0 (W3W_3 first).

Part (b): what comes out, good and bad (10 points)

FN17-4b, p9. After the scanned pattern of (a) is clocked once, what values will be scanned out of the registers for the “bad” circuit? What would be expected values for the “good” circuit? (10 points)

FN17-4’s chain (p9): F3F_3‘s Q is scan_out, so Y3Y_3 comes out first. Original figure ↑
Hint
After the capture edge, which flip-flop’s value is already on scan_out, and which comes next?

What it asks. The captured values Y1Y2Y3Y_1Y_2Y_3 for the faulty and the good circuit, and how they leave the chain. “Clocked once” is the capture edge with SE = 0; “scanned out” asks for the sequence on scan_out.

The idea. One capture edge copies Y1Y_1, Y2Y_2, Y3Y_3 into F1F_1, F2F_2, F3F_3; evaluate them in both circuits. Shifting then brings them out from the scan_out end: Y3Y_3 first, Y1Y_1 last. The fault sits in Y1Y_1, so it is the last bit out.

Why this formula. The capture rule Q+=DQ^+ = D at SE = 0, and scan_out in time order Dn,Dn−1,…,D1D_n, D_{n-1}, \ldots, D_1 (Chapter 22 §5).

  • Where it comes from. scan_out is wired to F3F_3‘s Q, so after the capture edge it shows F3F_3‘s new value, Y3Y_3; each unload edge moves F2F_2‘s value into F3F_3, then F1F_1‘s.
  • Conditions. SE = 0 for exactly one rising edge, then SE = 1. The register view and the scan_out sequence hold the same bits in reverse order; give both, labelled.
  • The tempting alternative. Reporting Y1,Y2,Y3Y_1, Y_2, Y_3 as “what is scanned out”: that is the register view, read backwards.

FN17-4b

  1. The good circuit at X1=1X_1 = 1, W1W2W3=011W_1W_2W_3 = 011. Because Z1=0⋅1‾=1Z_1 = \overline{0\cdot1} = 1, A=1⋅1=1A = 1\cdot1 = 1 and O=1O = 1: Y1=1⋅1⋅1‾=0Y_1 = \overline{1\cdot1\cdot1} = 0, Y2=1+1‾=0Y_2 = \overline{1 + 1} = 0, Y3=O=1Y_3 = O = 1. Captured (Y1,Y2,Y3)=(Y_1, Y_2, Y_3) = (0, 0, 1).
  2. The bad circuit. Because AA is stuck at 0: Y1=1⋅1⋅0‾=1Y_1 = \overline{1\cdot1\cdot0} = 1, Y2=0+1‾=0Y_2 = \overline{0 + 1} = 0, Y3=1Y_3 = 1. Captured (1, 0, 1).
  3. Scan out. Because scan_out is F3F_3‘s Q, it reads Y3Y_3, then Y2Y_2, then Y1Y_1: good 1, 0, 0; bad 1, 0, 1. The first two bits agree; the third differs.
  4. The primary outputs. Because Z1=1Z_1 = 1 and Z2=O=1Z_2 = O = 1 do not depend on AA, they agree in both circuits; the fault is seen only through the chain.

Part (b) as waveforms (computed from the scan model’s cycle table; hatched: unknown or don’t care). Loading 1, 1, 0 sets W1W2W3=011W_1W_2W_3 = 011. After the capture edge C, scan_out shows Y3=1Y_3 = 1, then Y2=0Y_2 = 0 after U1 and Y1Y_1 after U2: 0 in the good circuit, 1 with AA stuck at 0 (≠). The third bit out tells them apart.

Check. By symmetry of the two parts: in (a) the bit that goes in last, W1W_1, ends nearest scan_in; in (b) the bit that comes out last, Y1Y_1, is the one nearest scan_in. Both are F1F_1, the flip-flop whose D carries the fault, so the fault must be the last bit out, as step 3 finds. By the fault itself: only Y1Y_1 differs, consistent with (a)‘s single path.

Answer: after one capture edge the registers hold good (Y1,Y2,Y3)=(0,0,1)(Y_1, Y_2, Y_3) = (0, 0, 1) and bad (1,0,1)(1, 0, 1). Scanned out (Y3Y_3 first), the good circuit gives 1, 0, 0 and the bad circuit 1, 0, 1: the third bit out, Y1Y_1, reveals the fault.

Remember. Evaluate the captured DD‘s in both circuits, then reverse them for scan_out. The bit that shows the fault comes out in the position of its flip-flop counted from scan_out.

The answer key agrees
The key writes Y1,Y2,Y3⇒0,0,1Y_1, Y_2, Y_3 \Rightarrow 0, 0, 1 expected and 1,0,11, 0, 1 bad, circling Y1Y_1. It gives the register values and does not say in which order they leave the chain; on scan_out the order is Y3Y_3 first: good 1, 0, 0 and bad 1, 0, 1.

FN19-4: scan waveforms for a stuck-at-1 fault (20 points)

You need

The scan test, cycle by cycle (Chapter 22 §5). With nn flip-flops: nn load edges with SE = 1, each taking one scan_in bit, the last flip-flop’s value first; one capture edge with SE = 0; then unload edges with SE = 1. SE changes between edges, a setup time before the next one. scan_out shows the last flip-flop’s capture right after the capture edge, and one more flip-flop’s capture after each unload edge.

Chapter 22’s three-flip-flop test as waveforms (§5): the layout FN19-4 asks for, with six flip-flops. Original figure ↗

Building the pattern (Chapter 22 §7). Control the fault site to the opposite of its stuck value; open a path to a flip-flop’s D with non-controlling side inputs.

The question (FN19-4, p9, in the paper’s words). Sketch the waveforms for scan_enable, clock, scan_in, and scan_out for a test sequence to scan in a test pattern, clock the system once, and scan out the resulting pattern such that a stuck-at-one fault at node X could be detected. Show where this would be detected in your waveform. (20 points)

FN19-4’s circuit (Final 2019, p9, redrawn; dots added at the junctions). This page numbers the flip-flops in chain order: F1F_1–F4F_4 down the left column, F5F_5 at the bottom right, F6F_6 at the top right (scan_out). It names the upper AND’s output P=q1q2P = q_1q_2; the lower AND’s output is the paper’s X=q3q4X = q_3q_4. D6=P‾D_6 = \overline{P} and D5=P+X‾D_5 = \overline{P + X}. The left column’s D inputs come from logic outside the figure.

The exam’s own figure (FN19-4, p9)
Six scan flip-flops, each a box with D, Q, SI, SE and a Clock input. Four in a column at the left: scan_in enters the top one's SI; each one's Q goes down to the next one's SI. The top two Q outputs enter an AND gate; the third and fourth Q outputs enter a second AND gate whose output is node X. The first AND's output goes to an inverter, which drives the D input of the flip-flop at the top right, whose Q is scan_out; it also goes to a NOR gate together with X. The NOR drives the D input of the flip-flop at the bottom right. The fourth flip-flop's Q also goes to the bottom-right flip-flop's SI; that flip-flop's Q goes up to the top-right flip-flop's SI. The left column's D inputs are short unconnected stubs.
FN19-4, p9 (source figure).

Reading the figure. Following each Q to the next SI gives the chain scan_in → F1F_1 → F2F_2 → F3F_3 → F4F_4 → F5F_5 → F6F_6 → scan_out: F4F_4‘s Q goes across to the bottom-right flip-flop’s SI, and that one’s Q up to the top-right one’s SI. The logic reads only q1…q4q_1 \ldots q_4 and feeds only F5F_5 and F6F_6.

The waveforms and where the fault shows (20 points)

FN19-4, p9. Sketch the waveforms for scan_enable, clock, scan_in, and scan_out for a test sequence to scan in a test pattern, clock the system once, and scan out the resulting pattern such that a stuck-at-one fault at node X could be detected. Show where this would be detected in your waveform. (20 points)

Hint
X feeds only the NOR into F5. What must the NOR’s other input be, and how many edges after the capture does F5’s value reach scan_out?

What it asks. Four waveforms on one time axis: SE, the clock, scan_in and scan_out, for a load, one capture and an unload, with a load that detects XX stuck at 1, and a mark at the bit where the good and faulty scan_out differ. The unknowns are the load (six bits), its order on scan_in, and the position of the detecting bit.

The idea. Solve the fault first, then draw the scan order in time. XX feeds only the NOR into F5F_5, so the pattern must control XX to 0 and hold the NOR’s other input at 0; q5q_5, q6q_6 are free. The waveforms are six load edges, one capture, and unload edges; F5F_5 is second from scan_out, so its bit, where the fault appears, is the second out.

Why this formula. Control and observe, and the scan order (Chapter 22 §5): scan_in in time order q6,q5,…,q1q_6, q_5, \ldots, q_1; scan_out in time order D6,D5,…D_6, D_5, \ldots.

  • Where it comes from. Each shift edge moves every bit one place toward scan_out; scan_out is F6F_6‘s Q.
  • Conditions. SE must be steady a setup time before each edge and a hold time after it, so it changes between edges, in the clock’s low phase. The left column’s captured values are not drawn by the paper (their D’s come from outside); draw them as unknown on scan_out.
  • The tempting alternatives. Observing at D6D_6: D6=P‾D_6 = \overline P does not depend on XX. Unloading only one edge: that shows D6D_6 and D5D_5 only if scan_out is sampled after the edge; say where you sample.

FN19-4

  1. Control. Because X=q3q4X = q_3q_4 must be 0 in the good circuit, q3q4≠11q_3q_4 \ne 11. Now XX = 0/1.
  2. Observe at D5D_5. Because XX reaches only the NOR, and the NOR passes it only if P=q1q2=0P = q_1q_2 = 0 (non-controlling), q1q2≠11q_1q_2 \ne 11. Then D5=0+X‾D_5 = \overline{0 + X} = 1/0.
  3. Choose a load. Because q5q_5, q6q_6 are free, choose q1…q6=101000q_1 \ldots q_6 = 101000 (any of 3×3×4=363 \times 3 \times 4 = 36 of the 64 loads works; all zeros is the simplest). Good: P=0P = 0, X=0X = 0, D5=1D_5 = 1, D6=1D_6 = 1. Faulty: D5=0D_5 = 0, D6=1D_6 = 1.
  4. SE and the load. Because the first bit in ends in F6F_6, scan_in carries q6,q5,q4,q3,q2,q1q_6, q_5, q_4, q_3, q_2, q_1 = 0, 0, 0, 1, 0, 1 on the rising edges L1–L6, each bit steady around its edge, with SE = 1.
  5. Capture. Because the logic must be captured once, SE falls after L6 and before the next edge, C, then rises again after C. At C: F5←D5F_5 \leftarrow D_5, F6←D6F_6 \leftarrow D_6 (F1F_1–F4F_4 take their outside inputs).
  6. Unload and detect. Because scan_out is F6F_6‘s Q: right after C it shows D6D_6 = 1 in both circuits; after U1 it shows F5F_5‘s capture, D5D_5: 1 good, 0 faulty. Mark the bit between U1 and U2. U2–U5 bring out F4…F1F_4 \ldots F_1‘s captures (unknown); U6 completes the six-edge unload, so a tester that samples just before each edge reads F1F_1‘s bit there, while the next pattern shifts in. In all, 6 + 1 + 6 = 13 edges for one pattern.

FN19-4’s answer as waveforms (computed from the scan model’s cycle table; hatched: unknown or don’t care). scan_in carries q6…q1q_6 \ldots q_1 = 0, 0, 0, 1, 0, 1, loading 101000. After C, scan_out shows D6=1D_6 = 1 in both circuits; after U1 it shows D5D_5: 1 in the good circuit, 0 with XX stuck at 1 (≠). That is where the fault is detected. The later bits are F4…F1F_4 \ldots F_1‘s captures, from logic off the figure.

Check. By counting from scan_out: F5F_5 is the second flip-flop from scan_out, so its captured value is the second bit out; F6F_6 (first bit out) carries P‾\overline P, which the fault cannot change. By the count: of the 64 loads, those with q1q2≠11q_1q_2 \ne 11 (3 ways), q3q4≠11q_3q_4 \ne 11 (3 ways) and any q5q6q_5q_6 (4 ways) detect: 36, which exhaustive simulation confirms; every one shows the fault at D5D_5 only.

Answer: load, for example, q1…q6=101000q_1 \ldots q_6 = 101000 (any load with q1q2≠11q_1q_2 \ne 11 and q3q4≠11q_3q_4 \ne 11): SE high for six edges with scan_in 0, 0, 0, 1, 0, 1; SE low for one capture edge; SE high to shift out. scan_out shows D6=1D_6 = 1 in both circuits after the capture, then D5D_5, 1 good and 0 faulty, after the first unload edge: the fault shows at the second bit out.

Remember. A waveform answer is the scan order drawn in time: SE high for nn edges, low for one, high again; scan_in reversed; scan_out reversed. Mark the bit by counting the faulty flip-flop’s position from scan_out.

The answer key agrees
FN19 has no official key. The unofficial proposed solution loads a pattern with q1q2≠11q_1q_2 \ne 11 and q3q4≠11q_3q_4 \ne 11 and finds the fault in F5F_5‘s bit, the second out after the capture, as here.

PS5-Q3: the scan flip-flop and the scan test

You need

The master–slave flip-flop (Chapter 13 §10). Two latches in series on opposite clock phases. Chapter 13’s drawing puts the master on clk (transparent while clk = 1), so it captures at the falling edge; swapping the phases (master transparent while CLK = 0, slave while CLK = 1) captures at the rising edge.

The master–slave flip-flop (Chapter 13 §10): swap clk and clk̄ for the rising-edge cell PS5 asks for. Original figure ↗

The static latch (Chapter 13 §8). A transmission gate lets D in while the latch is transparent; a feedback inverter and a second transmission gate, on the opposite phase, close the loop while it holds, so the stored value is driven, not just stored as charge: static.

The gated-feedback latch (Chapter 13 §8): the building block of each half. Original figure ↗

A 2:1 multiplexer (Chapter 10 §7). Two transmission gates with complementary selects: exactly one conducts, so the output follows one input.

The question (PS5-Q3, p3, in the problem set’s words). To improve the testability of a digital integrated circuit (that is, to improve the ability to detect and isolate manufacturing faults), it is a common practice in flop-based designs to modify the basic master-slave flip-flop (with inputs D, for data, CLK, for clock, and Q, for output) described in class to include two additional inputs, SI (for scan in) and SE (for scan enable). The function table for this “testability-enhanced” flip-flop is shown below:

DSISECLKQ[n+1]
1X0rising edge1
0X0rising edge0
XXXfalling edgeQ[n]
X11rising edge1
X01rising edge0

The table’s cell at gate level (Chapter 22 §4, Lecture21 @ 33:30): a 2:1 multiplexer on SE (input 0 is D, input 1 is SI) in front of a rising-edge flip-flop. X in the table means “don’t care”. Part (a) asks for the transistors inside.

Reading the table. Rows 1–2: with SE = 0 a rising edge loads D. Rows 4–5: with SE = 1 a rising edge loads SI. Row 3: a falling edge changes nothing. So Q+=SE‾⋅D+SE⋅SIQ^{+} = \overline{SE}\cdot D + SE\cdot SI at each rising edge.

Part (a): the static scan flip-flop at the switch level

PS5-Q3a, p3. Draw the schematic for a static flip-flop enhanced in this way.

Hint
Which block selects between D and SI, and which edge must the master latch close on for the table’s rising-edge rows?

What it asks. A transistor-level circuit that behaves as the table says. “Static” decides the latch style: each latch must hold its value through a feedback loop, not on a floating node. “Master-slave flip-flop … described in class” decides the core: Chapter 13’s two latches, with the phases set for the rising edge.

The idea. Build it in two pieces: a 2:1 transmission-gate multiplexer on SE that feeds a node mm, then a static master–slave flip-flop on mm. For a rising edge the master is transparent while CLK = 0 and closes as CLK rises, when the slave opens; the slave closes when CLK falls, which is why a falling edge changes nothing (row 3). Each latch is Chapter 13 §8’s gated-feedback latch.

Why this formula. The cell’s function Q+=SE‾⋅D+SE⋅SIQ^+ = \overline{SE}\cdot D + SE\cdot SI, built from a multiplexer and a positive-edge flip-flop.

  • Where it comes from. The multiplexer gives m=SE‾⋅D+SE⋅SIm = \overline{SE}\cdot D + SE\cdot SI at all times; the flip-flop copies mm to Q at each rising edge (Chapter 22 §4).
  • Why transmission gates. An NFET alone passes a weak 1 and a PFET alone a weak 0; the pair passes both rails (Chapter 10). The selects are complementary, so exactly one input drives mm.
  • Conditions. SE, D and SI must be steady a setup time before the rising edge and a hold time after it; change SE while CLK is low, before the master has to settle. Two inversions between mm and Q (one per latch) make Q = mm; with an odd number, add an output inverter.
  • The tempting alternative. Putting the master on CLK (transparent while CLK = 1), as Chapter 13’s drawing does: that flip-flop captures at the falling edge, against the table. Another: a dynamic latch (a transmission gate into an inverter with no feedback), which is not static.

PS5-Q3a

  1. The multiplexer. Because D must pass while SE = 0, its transmission gate has its NFET on SE‾\overline{SE} and its PFET on SE; SI’s gate is the mirror (NFET on SE, PFET on SE‾\overline{SE}). Their outputs join at mm: m=SE‾⋅D+SE⋅SIm = \overline{SE}\cdot D + SE\cdot SI.
  2. The master latch. Because it must follow mm while CLK = 0 and hold when CLK rises, its input gate has its NFET on CLK‾\overline{CLK} and its PFET on CLK. A forward inverter drives the master’s output; a feedback inverter and a feedback gate on the opposite phase (NFET on CLK, PFET on CLK‾\overline{CLK}) close the loop while CLK = 1.
  3. The slave latch. Because it must open when CLK rises and hold when CLK falls, its input gate has its NFET on CLK and its PFET on CLK‾\overline{CLK}, and its feedback gate the reverse. Its forward inverter drives Q.
  4. The complements. Because the gates need SE‾\overline{SE} and CLK‾\overline{CLK}, two inverters make them from SE and CLK.
  5. The polarity. Because each latch has one forward inverter, mm is inverted twice on its way to Q: Q = mm at the rising edge, as the table needs.
  6. The count. 2×22 \times 2 (mux) +2×8+ 2 \times 8 (two latches, each two gates and two inverters) +2×2+ 2 \times 2 (the two complement inverters) =24= 24 transistors.

The scan flip-flop at the switch level (new figure, added). A multiplexer of two transmission gates (dashed box) passes D while SE = 0 and SI while SE = 1 to node mm. A static master–slave flip-flop follows: the master latch is transparent while CLK = 0 and the slave while CLK = 1, so Q takes mm at the rising edge. Each transmission gate is an NFET (gate label above) and a PFET (below) in parallel; the two inverters at the lower left make SE‾\overline{SE} and CLK‾\overline{CLK}.

Check. By walking the table through the circuit. Row 1 (D = 1, SE = 0): while CLK = 0 the D gate conducts, m=1m = 1 and the master follows it; at the rising edge the master closes on 1 and the slave opens: Q = 1. Row 4 (SI = 1, SE = 1): the same with SI. Row 3: when CLK falls the slave closes its loop and holds Q while the master reopens, so Q keeps its value. Chapter 22’s two-latch model of the cell, run edge by edge in this page’s test, gives the same rows. By the static test: in every phase each storage node is driven by an inverter through a conducting gate, so no node floats.

Answer: the circuit drawn above: a two-transmission-gate multiplexer (D passes while SE = 0, SI while SE = 1) into a static positive-edge master–slave flip-flop (master transparent while CLK = 0, slave while CLK = 1, each latch with switched feedback), plus inverters for SE‾\overline{SE} and CLK‾\overline{CLK}: 24 transistors.

Remember. A scan flip-flop is a mux on SE in front of an ordinary flip-flop. For a rising-edge cell, the master is transparent while CLK is low. “Static” means a closed feedback loop in each latch while it holds.

The answer key agrees
PS5 has no official key. The agent-written solution in the course folder (a cross-check only) draws the same cell: a two-transmission-gate mux, a master transparent while CLK = 0 and a slave while CLK = 1, each latch with switched feedback, locally made SE‾\overline{SE} and CLK‾\overline{CLK}, 24 devices. Its latches put two inverters in the forward path and close the loop with one gate, a variant of the same static latch.

Part (b): why scan helps, and the test procedure

PS5-Q3b, p3. With this type of flip-flop design it is possible to reconfigure all the flip-flops in the machine as a long shift register (called a scan chain), in which the output of each flip-flop is connected to the SI input of another. How might this improve our ability to test a chip? What would be the test procedure?

A three-flip-flop chain in its two modes (Chapter 22 §4). Original figure ↗
Hint
Without the chain, how would a tester put a chosen value into a flip-flop deep inside the chip, and how would it read one out?

What it asks. Two short answers: what the chain changes about testing, in the course’s terms (controllability, observability), and the steps a tester follows. No numbers are asked; a good answer names the three phases and says what each does.

The idea. A sequential circuit is hard to test because its state can be reached only by driving the machine through many cycles from its pins, and seen only through a few outputs. The chain turns every flip-flop into a test point: shifting in makes every state bit controllable, shifting out makes every captured logic output observable. The logic between flip-flops is then tested as combinational logic, with patterns computed for single stuck-at faults (automatic test pattern generation).

Why this formula. The shift rule (Q+=SIQ^+ = SI with SE = 1, so the chain is a shift register) and the capture rule (Q+=DQ^+ = D with SE = 0); the test length p(n+1)+np(n + 1) + n edges for pp patterns on nn flip-flops.

  • Where it comes from. nn edges load a chain of nn; one edge captures; the next load’s nn edges shift the result out at the same time; nn more edges empty the chain after the last pattern (Chapter 22 §5).
  • Conditions. Each pattern targets the combinational logic between flip-flops. The chain itself must work, so it is tested first by shifting a known sequence straight through. Primary inputs are set by the tester during capture and primary outputs read then.
  • The tempting alternative. “Functional testing”: run programs and check the results. The coverage of real defects is unknown and the time enormous; the lecture’s “test coverage ✗” (Chapter 22 §3).

PS5-Q3b

  1. Why it helps: controllability. Because with SE = 1 the flip-flops form one shift register from scan_in to scan_out, any state can be loaded in nn clock edges, whatever logic sits between the flip-flops.
  2. Why it helps: observability. Because one capture edge with SE = 0 copies every flip-flop’s D, and shifting brings every captured bit out, the response of every logic cone that ends in a flip-flop is read.
  3. Why it helps: the problem shrinks. Because the state is now an input and the next state an output, only combinational logic remains; a mismatch’s position in the output stream also points to the flip-flop whose logic cone holds the fault.
  4. The procedure. (i) Test the chain: shift a known sequence (for example alternating 0s and 1s) through with SE = 1 and check that it emerges nn edges later. (ii) For each pattern: with SE = 1, shift the pattern in (nn edges, the last flip-flop’s bit first). (iii) Set SE = 0, apply the primary inputs, give one clock edge to capture. (iv) Set SE = 1 and shift the response out (nn edges), comparing each bit with the good circuit’s response; shift the next pattern in at the same time. (v) Any mismatch fails the chip.
  5. The cost, for example. Because one pattern takes n+1n + 1 edges when loads and unloads overlap: a chip with 1,000 scan flip-flops and 500 patterns needs 500×1001+1000=501,500500 \times 1001 + 1000 = 501{,}500 edges, 5.015 ms at a 100 MHz scan clock; without the overlap, 500×2001=1,000,500500 \times 2001 = 1{,}000{,}500.

Check. By running the procedure on FN17-4 above: three load edges (1, 1, 0), one capture edge with X1=1X_1 = 1, and two unload edges bring out the faulty bit; the first two bits out match the good circuit, as steps (iii)–(iv) say they must for a fault in F1F_1‘s cone. By the cost: per pattern, nn edges dominate, so test time grows with the chain length, which is why chips split their flip-flops into many short chains loaded in parallel (Variation 3).

Answer: the chain makes every flip-flop controllable (any state shifted in) and observable (every captured value shifted out), so the chip is tested as combinational logic with stuck-at patterns. Procedure: test the chain itself; then per pattern, shift in with SE = 1, capture once with SE = 0 and the primary inputs applied, shift out with SE = 1 (loading the next pattern) and compare.

Remember. Three phases: shift in, capture once, shift out. Name controllability and observability. Test length is about p(n+1)p(n + 1) edges.

The answer key agrees
PS5 has no official key. The agent-written solution (cross-check only) gives the same benefits (controllability of the state, observability of the response, a combinational test) and the same procedure: check the chain with a known sequence, shift in with SE = 1, capture with SE = 0, shift out while loading the next pattern, compare.

Harder variations: stuck-at faults and scan

You need

A stuck-at test (Chapter 22 §7). Control the node to the opposite of its stuck value; give side inputs their non-controlling value (1 for AND/NAND, 0 for OR/NOR); at a reconvergence, evaluate both branches in both circuits. Through an XOR, exactly one branch may be open.

The scan order (Chapter 22 §5). scan_in carries the chain’s last flip-flop’s value first; scan_out shows the last flip-flop’s capture first. “Last” means last in the chain, whatever the flip-flops are named. A test of pp patterns on a chain of nn takes p(n+1)+np(n + 1) + n edges with overlapped loads.

Hold (Chapter 14 §2). Data launched at an edge must not reach the next flip-flop before that flip-flop’s hold time after the same edge: tclk→Q,min⁡+tpath,min⁡≥thold+δt_{clk\to Q,\min} + t_{path,\min} \ge t_{hold} + \delta, with δ\delta the capturing clock’s lateness (skew).

The short path against skew (Chapter 14 §2): the race a scan link runs. Original figure ↗

These variations added are harder than the papers in the ways the real midterm was: Variation 1 puts an XOR reconvergence behind a chain wired out of numerical order, a five-step chain from fault to waveform; Variation 2 asks for coverage and a whole test set instead of one pattern; Variation 3 turns the chain into test time and a hold race, a setup no paper uses. The budgets assume the practice finals’ pace, about 1.8 minutes a point. No key exists, so there is no key verdict.

Variation 1: an XOR reconvergence behind a reordered chain (about 25 minutes)

Variation 1: an XOR reconvergence behind a reordered chain

added The question. Four scan flip-flops F1F_1–F4F_4 (outputs q1q_1–q4q_4) are chained in layout order, scan_in → F3F_3 → F1F_1 → F4F_4 → F2F_2 → scan_out. A primary input PP and a primary output ZZ. The logic: X=q1q2‾X = \overline{q_1q_2}; a=X⋅q3a = X\cdot q_3; b=X+P‾b = \overline{X + P}; D1=a⊕bD_1 = a \oplus b; D2=X+q4D_2 = X + q_4; D3=q3q4‾D_3 = \overline{q_3q_4}; D4=b⋅q1D_4 = b\cdot q_1; Z=a+q4‾Z = \overline{a + q_4}. Node XX is stuck at 1. (a) Write the good and faulty values of aa, bb, D1D_1, D2D_2, D4D_4 and ZZ once XX is controlled. (b) How many of the 32 patterns (q1q2q3q4,P)(q_1q_2q_3q_4, P) detect the fault? (c) For which (q3,P)(q_3, P) does D1D_1 alone show it, and why does q3=1q_3 = 1, P=0P = 0 not? (d) Find a pattern that shows the fault in the first bit out, and the scan_in sequence that loads it. (e) The captured values in chain order, good and faulty, and the scan_out sequences.

Variation 1’s circuit (new figure). (a) The flip-flops placed in chain order, scan_in → F3F_3 → F1F_1 → F4F_4 → F2F_2 → scan_out. (b) The logic. Names join the two panels: qkq_k is FkF_k‘s output and DkD_k its input; PP is a primary input and ZZ a primary output.

Hint
Once X is controlled, what are a and b in each circuit, and which outputs does each reach?

What it asks. The whole path from fault to scan_out bit, with two complications: a reconvergence at an XOR, where two open branches cancel, and a chain whose order is not the flip-flops’ numbering.

The idea. Control fixes q1=q2=1q_1 = q_2 = 1 (good X=0X = 0). Then the fault reaches four outputs, each with its own side condition: D2D_2 directly (q4=0q_4 = 0), D4D_4 through bb (P=0P = 0), ZZ through aa (q3=1q_3 = 1, q4=0q_4 = 0), and D1D_1 through both aa and bb, meeting at the XOR. A pattern detects if any output differs. The chain order decides which flip-flop’s capture comes out first: scan_out is F2F_2‘s Q, so D2D_2 is the first bit out.

Why this formula. Control and observe, an XOR’s rule (exactly one branch open), and the scan order by chain position (Chapter 22 §5).

  • Where it comes from. An XOR flips its output when one input flips; when both flip it does not. A NOR passes XX only with P=0P = 0; an AND passes XX only with q3=1q_3 = 1.
  • Conditions. Single fault; PP applied during capture; the chain’s positions are 1 = F3F_3, 2 = F1F_1, 3 = F4F_4, 4 = F2F_2.

Variation 1

  1. (a) The branches. Because q1=q2=1q_1 = q_2 = 1 makes the good X=0X = 0 (faulty 1): a=Xq3a = X q_3 is 0/q30/q_3; b=X+P‾b = \overline{X + P} is P‾/0\overline P/0. So D1=a⊕bD_1 = a \oplus b is P‾/q3\overline P/q_3; D2=X+q4D_2 = X + q_4 is q4/1q_4/1; D4=b q1D_4 = b\,q_1 is P‾/0\overline P/0; Z=a+q4‾Z = \overline{a + q_4} is q4‾/q3+q4‾\overline{q_4}/\overline{q_3 + q_4}.
  2. (b) The count. Because a pattern detects if D1D_1 differs (q3=Pq_3 = P), D2D_2 differs (q4=0q_4 = 0), D4D_4 differs (P=0P = 0) or ZZ differs (q3=1q_3 = 1, q4=0q_4 = 0), the only failing choice of (q3,q4,P)(q_3, q_4, P) is q3=0q_3 = 0, q4=1q_4 = 1, P=1P = 1. With q1=q2=1q_1 = q_2 = 1 forced: 8−1=78 - 1 = 7 of the 32.
  3. (c) The XOR. Because D1D_1 is P‾/q3\overline P/q_3, it differs when q3=Pq_3 = P: (q3,P)=(0,0)(q_3, P) = (0, 0) (only branch bb open) and (1,1)(1, 1) (only branch aa open). With q3=1q_3 = 1, P=0P = 0 both branches are open: good a=0a = 0, b=1b = 1, D1=1D_1 = 1; faulty a=1a = 1, b=0b = 0, D1=1D_1 = 1. Both inputs flip, the XOR does not.
  4. (d) First bit out. Because scan_out is F2F_2‘s Q, D2D_2 comes out first; it differs when q4=0q_4 = 0. Take q1q2q3q4=1100q_1q_2q_3q_4 = 1100, P=1P = 1: then only D2D_2 differs. By chain position the load is (q3,q1,q4,q2)=(0,1,0,1)(q_3, q_1, q_4, q_2) = (0, 1, 0, 1), so scan_in carries position 4 first: q2,q4,q1,q3q_2, q_4, q_1, q_3 = 1, 0, 1, 0.
  5. (e) Capture and unload. Good: X=0X = 0, a=0a = 0, b=0b = 0, so D1=0D_1 = 0, D2=0D_2 = 0, D3=0⋅0‾=1D_3 = \overline{0 \cdot 0} = 1, D4=0D_4 = 0. Faulty: X=1X = 1, a=0a = 0, b=0b = 0, D2=1D_2 = 1, the rest the same. In chain order (D3,D1,D4,D2)(D_3, D_1, D_4, D_2): good (1, 0, 0, 0), faulty (1, 0, 0, 1). scan_out: good 0, 0, 0, 1; faulty 1, 0, 0, 1: the first bit, on scan_out right after the capture edge. Z=1Z = 1 in both.

Check. By exhaustive simulation of both circuits: exactly 7 of the 32 patterns detect, all with q1=q2=1q_1 = q_2 = 1, and 11011 is not among them. At (d)‘s pattern the four load edges and the capture already put the faulty bit on scan_out: 4 + 1 edges and no unload needed to see it.

Answer: (a) a=0/q3a = 0/q_3, b=P‾/0b = \overline P/0, D1=P‾/q3D_1 = \overline P/q_3, D2=q4/1D_2 = q_4/1, D4=P‾/0D_4 = \overline P/0, Z=q4‾/q3+q4‾Z = \overline{q_4}/\overline{q_3 + q_4}. (b) 7 of 32. (c) (q3,P)=(0,0)(q_3, P) = (0, 0) or (1,1)(1, 1); with (1,0)(1, 0) both XOR inputs flip and cancel. (d) q1q2q3q4=1100q_1q_2q_3q_4 = 1100, P=1P = 1; scan_in 1, 0, 1, 0. (e) Captured (D3,D1,D4,D2)(D_3, D_1, D_4, D_2) = (1, 0, 0, 0) good, (1, 0, 0, 1) faulty; scan_out good 0, 0, 0, 1 and faulty 1, 0, 0, 1: the first bit.

Remember. Order the chain by its wiring, not its names. At an XOR, open exactly one branch. When several outputs can carry a fault, the one nearest scan_out gives the shortest test.

Variation 2: coverage and a minimum test set for FN17-4’s logic (about 20 minutes)

Variation 2: coverage and a minimum test set for FN17-4’s logic

added The question. Take FN17-4’s logic (Z1=W1W2‾Z_1 = \overline{W_1W_2}, A=W2W3A = W_2W_3, O=W1+W2+W3=Z2=Y3O = W_1 + W_2 + W_3 = Z_2 = Y_3, Y1=Z1X1A‾Y_1 = \overline{Z_1X_1A}, Y2=A+O‾Y_2 = \overline{A + O}), observed at Y1Y_1, Y2Y_2, Y3Y_3 through the chain and Z1Z_1, Z2Z_2 directly. Model every single stuck-at fault at the nine nodes X1X_1, W1W_1, W2W_2, W3W_3, Z1Z_1, AA, OO, Y1Y_1, Y2Y_2. (a) How many faults, and what fraction does FN17-4a’s pattern (X1W1W2W3=1011X_1W_1W_2W_3 = 1011) detect? (b) Add patterns one at a time, each time the one that catches the most new faults, until every fault is caught. (c) Is your set minimal? (d) How many clock edges does your set take on the three-flip-flop chain?

Hint
For each fault the pattern catches, which node does it control to the opposite value, and is there a path from it to an output?

What it asks. Fault coverage: the fraction of all modelled faults a pattern set detects, and the smallest set that reaches 100 %. The unfamiliar part is working with all faults at once.

The idea. One pattern sets every node to a value, so it tests every node for the opposite stuck value, provided the difference reaches an output. At 1011 the nodes are X1=1X_1 = 1, W1=0W_1 = 0, W2=W3=1W_2 = W_3 = 1, Z1=1Z_1 = 1, A=1A = 1, O=1O = 1, Y1=0Y_1 = 0, Y2=0Y_2 = 0; the candidates are X1X_1 ST0, W1W_1 ST1, and so on, and each is kept if it reaches an output. Faults the first pattern cannot reach need nodes set the other way: all zeros sets most nodes low.

Why this formula. Coverage = detected faults / modelled faults (Chapter 22 §7’s Check); a stuck-at fault is detected by a pattern that controls and observes it.

  • Conditions. Faults at stems (a fault on W2W_2 affects every gate W2W_2 feeds); Z1Z_1 and OO are observed directly as well as through the gates they feed.

Variation 2

  1. (a) The faults. Because each of 9 nodes can stick at 0 or 1: 18 faults. At 1011 every node’s value is tested for the opposite stuck value; the ones whose difference reaches an output are X1X_1/0, W1W_1/1, W2W_2/0, W3W_3/0, Z1Z_1/0, AA/0, OO/0, Y1Y_1/1, Y2Y_2/1: 9 of 18, 50 %. (For example W1W_1 ST1 makes Z1=0Z_1 = 0 and so Y1Y_1 = 0/1; W2W_2 ST0 drops AA and OO is still 1 through W3W_3, but Y1Y_1 flips.)
  2. (b) The second pattern. Because the undetected faults are mostly the low-side ones, try all zeros, 0000: it catches AA/1, OO/1, W2W_2/1, W3W_3/1, Y1Y_1/0, Y2Y_2/0 that 1011 missed (8 in all, 6 new): 15 of 18.
  3. (b) The third and fourth. Because W1W_1/0, Z1Z_1/1 and X1X_1/1 remain: 0110 (W1W2W3=110W_1W_2W_3 = 110) makes W1=1W_1 = 1 and Z1=0Z_1 = 0 and catches W1W_1/0 and Z1Z_1/1 (17); 0011 (X1=0X_1 = 0, W2W3=11W_2W_3 = 11) makes A=1A = 1 and Z1=1Z_1 = 1, so Y1Y_1 follows X1X_1, and catches X1X_1/1 (18). The set 1011, 0000, 0110, 0011: 100 %.
  4. (c) Minimal? Because AA/0 has only one detecting pattern (FN17-4a), 1011 is in every complete set. An exhaustive search over the 16 patterns finds no three that catch all 18, and eight different sets of four, every one containing 1011. So four is the minimum.
  5. (d) Test time. Because p=4p = 4 patterns on n=3n = 3 flip-flops take p(n+1)+n=4×4+3=19p(n + 1) + n = 4 \times 4 + 3 = 19 edges with overlapped loads, against p(2n+1)=28p(2n + 1) = 28 without.

Variation 2’s coverage (computed by fault simulation of all 18 single stuck-at faults): the faults detected as the patterns are added. 1011 alone detects 9 (50 %); 0000 adds 6, 0110 adds 2 and 0011 the last one.

Check. By the last three faults: X1X_1/1 is seen only through Y1Y_1, which needs Z1=A=1Z_1 = A = 1, so W1=0W_1 = 0; W1W_1/0 needs W1=1W_1 = 1. No one pattern catches both, so after 1011 and 0000 two more are needed, as the greedy steps found; and no pattern adds more than 6 new faults to 1011’s 9 (exhaustive), so 15 is the best two patterns can do. By coverage arithmetic: 9/18=0.59/18 = 0.5, then 15, 17 and 18 of 18.

Answer: (a) 18 faults; 1011 detects 9: 50 %. (b) add 0000 (15 of 18), 0110 (17), 0011 (18). (c) yes: no three patterns suffice, and 1011 must be in any complete set. (d) 19 edges.

Remember. A pattern tests every node for the value it does not have there. A fault with a unique detecting pattern fixes that pattern into every test set. Coverage counts faults, not patterns.

Variation 3: test time, and the hold race on a scan link (about 20 minutes)

Variation 3: test time, and the hold race on a scan link

added The question. A chip has 10,000 scan flip-flops and 1,200 patterns; the tester’s scan clock runs at 50 MHz (for example). (a) The test time per die with one chain of 10,000, and with four chains of 2,500 shifted in parallel, each with overlapped loads; and with four chains but no overlap. (b) In shift mode each scan link wires one flip-flop’s Q straight to the next one’s SI. The flip-flops have tclk→Q,min⁡t_{clk\to Q,\min} = 45 ps and tholdt_{hold} = 20 ps, and the clock to the receiving flip-flop of one link can arrive up to 90 ps late (for example). Is the link safe? (c) Fix it with delay buffers of 25 ps (minimum) each: how many? (d) Does the fix slow the chip’s normal operation, and what does scan cost there?

Hint
What logic lies between Q and SI in shift mode, and which constraint does a path with no logic threaten?

What it asks. The two costs of scan: tester time, which grows with chain length, and timing, because the shift path is the shortest path on the chip.

The idea. Test time: each pattern takes one chain length of shift edges plus the capture, so parallel chains divide the time. Timing: in shift mode the path from one flip-flop to the next is a wire, so the hold constraint, which a short path must meet against a late capturing clock, is the one at risk. Padding the link with buffers fixes it, and since the buffers sit only on the SI wire the functional paths through D do not see them.

Why this formula. Edges =p(n+1)+n= p(n + 1) + n; hold: tclk→Q,min⁡+tpath,min⁡≥thold+δt_{clk\to Q,\min} + t_{path,\min} \ge t_{hold} + \delta (Chapter 14 §2).

  • Where it comes from. The receiving flip-flop must still hold its old SI for tholdt_{hold} after its own (late) edge, while the new value leaves the launching flip-flop tclk→Qt_{clk\to Q} after the early edge.
  • Conditions. Chains of equal length shift together on one clock; the numbers are illustrative.

Variation 3

  1. (a) One chain. Because p(n+1)+n=1200×10001+10000=12,011,200p(n + 1) + n = 1200 \times 10001 + 10000 = 12{,}011{,}200 edges at 20 ns: 240.22 ms.
  2. (a) Four chains. Because the chains shift in parallel, n=2500n = 2500: 1200×2501+2500=3,003,7001200 \times 2501 + 2500 = 3{,}003{,}700 edges, 60.07 ms. Without overlap, 1200×5001=6,001,2001200 \times 5001 = 6{,}001{,}200 edges, 120.02 ms.
  3. (b) The hold check. Because the link has no logic, tpath,min⁡=0t_{path,\min} = 0: slack =45+0−20−90== 45 + 0 - 20 - 90 = −65 ps. It fails: the new bit overwrites the old before the late edge has taken it, and the chain shifts two places in one edge.
  4. (c) Padding. Because each buffer adds at least 25 ps, the link needs ⌈65/25⌉=3\lceil 65/25 \rceil = 3 buffers: slack 45+75−20−90=+1045 + 75 - 20 - 90 = +10 ps (two give −15 ps).
  5. (d) Normal operation. Because the buffers sit on the SI wire, which only shift mode uses, the functional D paths are unchanged. What scan does cost in normal mode is the multiplexer in every D path: for example 35 ps of a 1,000 ps cycle, 3.5 %.

Variation 3’s scan link (new figure; times in ps, the example’s numbers). The receiving flip-flop’s late edge at 90 ps needs SI steady until 110 ps (shaded). Wired straight, SI changes at 45 ps, 65 ps too early; padded with three 25 ps buffers, it changes at 120 ps, 10 ps after the window.

Check. By ratio: four chains of a quarter the length take a quarter the time, 240.22/4=60.06240.22/4 = 60.06, plus the 1,200 capture edges, which do not shrink with the chain: 900 more edges than a quarter, 0.018 ms, giving 60.07 ms. By the hold rule’s form: skew helps setup and hurts hold when the receiver’s clock is late; a scan link has the most setup slack on the chip and the least hold slack.

Answer: (a) 240.22 ms with one chain; 60.07 ms with four chains (120.02 ms without overlap). (b) No: −65 ps of hold slack. (c) three 25 ps buffers, +10 ps. (d) No: the padding is on the scan path only; normal mode pays the mux’s delay in each D path.

Remember. Short chains save tester time; the scan link is a hold-time race, fixed by padding the SI wire.

How to approach a clock-network or reliability short answer

Recognize it by the words: “why is reducing the latency in a clock distribution desirable?”, “skew”, “jitter”, “PVT variation”; “infant mortality”, “burn-in”, “fail early in their lifetime”, “name one mechanism”. These are the finals’ short-answer parts, typically 5 points: a sentence or three, graded for the mechanism and its reason.

The model for latency. A clock network is a tree of buffers and wires from the root to every flip-flop; its latency tLt_L is the root-to-leaf delay. Every buffer’s delay depends on its local process, supply voltage and temperature (PVT). A static difference between two branches (a slow corner of the die, a lower local supply) shifts one leaf’s edge against another’s: skew. A transient one (supply noise that changes from cycle to cycle) moves an edge from cycle to cycle: jitter. Each is a fraction of the delay it acts on, so both grow with the latency (Chapter 23 §6).

The model for infant mortality. A latent defect, typically a wire necked by a particle during lithography, conducts, so the die passes every test. In use, the wire’s current crowds into the neck, where the current density J=I/(wt)J = I/(wt) is w/wneckw/w_{neck} times higher; electromigration (metal atoms pushed along by the current, a DC effect) opens it early in life. Electromigration speeds up steeply with temperature and current density, so burn-in (running the chip hot, about 85 °C, and at a raised supply, about 20 % above nominal) makes the neck fail in the factory, where the test after burn-in finds it (Chapter 22 §10–§11, Chapter 23 §3).

Why these, and their conditions. The skew formula: derive it in three lines. A fractional change ϵ\epsilon in every buffer delay changes the arrival by ϵ tL\epsilon\,t_L; for a supply change, ϵ≈SV ΔV/V\epsilon \approx S_V\,\Delta V/V (Chapter 21 §8, and Chapter 23 §6); a static ΔV\Delta V between branches gives skew, a cycle-to-cycle one gives jitter. Process and temperature act the same way, each with its own sensitivity. The neck: derive it; only the width changes. Memorize the burn-in conditions as the lecture said them (“maybe” 85 °C and 20 %).

The moves.

  1. Name the mechanism in the question’s own terms (latency → PVT → skew and jitter; a neck → electromigration).
  2. Say why it scales: proportional to latency; proportional to current density, accelerated by temperature and voltage.
  3. Say the consequence (skew and jitter eat the cycle: the long path needs tclk→Q+tlogic+tsetup+tskew+tjitter≤Tt_{clk\to Q} + t_{logic} + t_{setup} + t_{skew} + t_{jitter} \le T; the chip fails in the field).
  4. Add a number if there is time, marked “for example”: it shows you know the size.

Traps. Saying latency itself costs cycle time (a constant delay to every flip-flop is harmless; only its variation hurts). Calling jitter “skew that changes” without saying it cannot be tuned out. Naming wear-out mechanisms (TDDB, HCI, NBTI) for infant mortality: they cause end-of-life failures, and burn-in does not screen them. Saying burn-in tests the chip at high temperature: it stresses it there and tests it afterwards at nominal conditions.

Playbook card: clock latency and reliability.

FN17-1d: why low clock latency (5 points)

You need

Skew and jitter (Chapter 14 §1–§2, Chapter 23 §6). Skew is a static difference between two flip-flops’ clock arrival times; jitter a cycle-to-cycle change in one flip-flop’s arrival. Both enter the timing constraints: the long path must fit tclk→Q+tlogic,max⁡+tsetupt_{clk\to Q} + t_{logic,\max} + t_{setup} plus the worst early capture into the cycle, and the short path must exceed tholdt_{hold} plus the worst late capture.

Delay and supply (Chapter 23 §6). A buffer’s delay goes as VDD/(VDD−VT)V_{DD}/(V_{DD} - V_T) in the velocity-saturated model, so a fractional supply change ΔV/V\Delta V/V changes it by SV ΔV/VS_V\,\Delta V/V, with SV=−VT/(VDD−VT)S_V = -V_T/(V_{DD} - V_T).

Skew between two flip-flops’ clocks (Chapter 14 §2). Original figure ↗

The question (FN17-1d, p3, in the paper’s words). Why is reducing the latency in a clock distribution desirable? Explain. (5 points)

How latency turns variation into skew and jitter (Chapter 23 §6, added; after Lecture22 @ 21:57). (a) Every leaf’s clock comes tLt_L after the root’s; one buffer on B’s branch sees a lower supply. (b) A static difference delays clkB by the same δ\delta every cycle (skew); a supply that varies from cycle to cycle moves its edge within a band (jitter). The paper prints no figure for this part.

The answer (5 points)

FN17-1d, p3. Why is reducing the latency in a clock distribution desirable? Explain. (5 points)

Hint
If every leaf received the clock exactly t_L after the root, would the size of t_L matter? What makes two leaves’ delays differ?

What it asks. The reason a designer wants the clock network’s root-to-leaf delay short, given that a delay equal at every flip-flop changes no timing constraint. “Explain” asks for the mechanism, not just “less skew”.

The idea. A latency exactly equal everywhere would be harmless. But it is made of buffers and wires whose delays vary with process, supply and temperature, each by a fraction, so the arrival-time error is that fraction of the latency: static differences become skew, changing ones jitter. The longer the latency, the more of both the same variation produces.

Why this formula. tskew, tjitter≈∣SV∣ (ΔVDD/VDD) tLt_{skew},\ t_{jitter} \approx |S_V|\,(\Delta V_{DD}/V_{DD})\,t_L, and the like for process and temperature.

  • Where it comes from. Each buffer’s delay changes by the same fraction ϵ\epsilon under the same variation, so the path’s arrival changes by ϵ\epsilon times the sum of the delays, ϵ tL\epsilon\,t_L; for the supply, ϵ=SV ΔV/V\epsilon = S_V\,\Delta V/V (Chapter 23 §6).
  • Conditions. Small variations (first order); only the buffers’ share of tLt_L responds to the supply, not the wires’.
  • The tempting alternative. “Latency adds delay to every path.” It does not: launch and capture are both delayed by it, and it cancels from the constraints. Only its variation stays.

FN17-1d

  1. Latency itself is harmless. Because launch and capture flip-flops both receive the clock tLt_L late, an equal latency cancels from every timing constraint.
  2. Variation acts in proportion. Because process, supply and temperature change every buffer’s delay by a fraction ϵ\epsilon, a path of latency tLt_L arrives ϵ tL\epsilon\,t_L early or late.
  3. Static becomes skew, transient becomes jitter. Because a lasting difference between two branches (a slow region, a lower local VDDV_{DD}) shifts one leaf against another, it is skew; a changing one (supply noise) shifts an edge from cycle to cycle, which is jitter and cannot be tuned out at design time.
  4. They cost cycle time. Because the long path must fit tclk→Q+tlogic+tsetup+tskew+tjittert_{clk\to Q} + t_{logic} + t_{setup} + t_{skew} + t_{jitter} into the period, and the short path must beat tholdt_{hold} plus them, each picosecond lost lowers the clock rate or the hold margin.
  5. For example added. Because SV=−0.35/(0.9−0.35)=−0.636S_V = -0.35/(0.9 - 0.35) = -0.636 at VDDV_{DD} = 0.9 V, VTV_T = 0.35 V: a 6 % supply difference between two branches gives 0.636×0.06×800=30.50.636 \times 0.06 \times 800 = 30.5 ps of skew in an 800 ps network, and only 11.5 ps in a 300 ps one.

Check. By the limit: a zero-latency network (a perfect wire with no buffers) would have no buffer delay to vary, and so no skew or jitter from PVT; a network of twice the latency doubles both. By the lecture’s two strategies (Chapter 23 §7): minimize latency, or measure and cancel the skew actively; the second exists because the first has a limit.

Answer: because latency turns PVT variation into skew and jitter. Each buffer’s delay changes by a fraction under process, supply and temperature variation, so the arrival-time error is that fraction of the latency: static differences become skew, transient ones (supply noise) jitter, both in proportion to the latency and both taken off the cycle time and the hold margin. (For example, a 6 % supply difference gives 30.5 ps of skew in an 800 ps network, 11.5 ps in a 300 ps one.)

Remember. Latency does not cost time; its variation does. Skew and jitter ≈ sensitivity × fractional variation × latency.

The answer key agrees
The key writes “In the presence of PVT variation, clock latency translates into skew and jitter. The higher the latency, the more sensitive the network is to PVT variations”: the same reason.

FN17-1e: infant mortality and burn-in (5 points)

You need

The bathtub curve (Chapter 22 §10). Field failures per unit time are many early (infant mortality, from latent defects that escaped the test), few through a long useful life, and many again at the end of life (wear-out).

The bathtub curve (Chapter 22 §10, after Lecture21 @ 56:35): region I is infant mortality. Original figure ↗

Electromigration (Chapter 23 §3). A large DC current density pushes a wire’s metal atoms along with the electrons until a void opens it; it is a function of current density and grows exponentially with temperature.

The question (FN17-1e, p3, in the paper’s words). The process by which chips that fail early in their lifetime is sometimes referred to as “infant mortality.” Name one mechanism that produces infant mortality and how burn-in testing helps to identify chips that will fail early in their lifetime based on this mechanism. (5 points)

A latent defect (Chapter 22 §10, redrawn from Lecture21 @ 51:47): a wire of width ww necked by a particle to wneckw_{neck}. The current II crowds into the neck, where its density is w/wneckw/w_{neck} times higher.

The answer (5 points)

FN17-1e, p3. Name one mechanism that produces infant mortality and how burn-in testing helps to identify chips that will fail early in their lifetime based on this mechanism. (5 points)

Hint
A die whose wire is narrowed but not cut passes every logic test. What happens in that narrow spot when current flows for weeks, and what speeds it up?

What it asks. One physical mechanism behind early-life failures, and how burn-in exposes the chips that carry it. The words “based on this mechanism” ask that the burn-in explanation use the mechanism named: why the stress accelerates it.

The idea. Infant mortality comes from latent defects, flaws that do not yet break the logic, so the die passes the test. A wire necked by a particle still conducts, but its whole current crowds into the neck, and electromigration opens it after weeks or months. Electromigration rises steeply with temperature and current density, so burn-in (hot, and over-voltage) makes it happen in hours, and the test that follows catches the failure.

Why this formula. J=I/(wt)J = I/(wt), so Jneck/J=w/wneckJ_{neck}/J = w/w_{neck} (Chapter 22 §10); electromigration accelerated by temperature and current density.

  • Where it comes from. The current and the thickness are the same in and out of the neck; only the width changes. Electromigration is a thermally activated drift of atoms, driven by the electron flow, so heat and current density both speed it.
  • Conditions. The current must be DC (one direction), as in a supply strap; an AC signal wire pushes atoms back and forth and is far less at risk (Chapter 23 §3).
  • The tempting alternative. Naming a wear-out mechanism (oxide breakdown, TDDB; hot carriers, HCI; NBTI): those cause the bathtub’s rising end, not infant mortality, and burn-in does not screen them; it uses up a little of the chip’s life instead.

FN17-1e

  1. The defect. Because a particle during lithography can narrow a wire without cutting it, the wire conducts and the die passes the acceptance test: a latent defect.
  2. The mechanism. Because the full current passes the neck, its density is w/wneckw/w_{neck} times the design value (for example 0.8/0.2=40.8/0.2 = 4 times for a 0.8 µm strap necked to 0.2 µm). Electromigration moves metal out of the neck until it opens: an early failure in the field.
  3. What accelerates it. Because electromigration is thermally activated and driven by current density, it runs much faster hot and at higher current.
  4. Burn-in. Because burn-in runs every chip at about 85 °C and about 20 % above nominal supply (for example 1.2 V for a 1.0 V part), raising both the temperature and the current, the weak necks fail in hours.
  5. Identification. Because the chips are tested again after burn-in, at nominal conditions, the ones whose necks have opened fail that test and are discarded; what ships starts on the bathtub’s flat bottom.
What burn-in removes (Chapter 22 §11): the infant-mortality region is spent before tshipt_{ship}. Original figure ↗

Check. By what burn-in does not do: the chip need not compute correctly while stressed (it is tested afterwards), and wear-out is untouched; both fit a screen for latent defects. By the density: a neck to a quarter width gives four times the density, which electromigration, rising steeply with density, turns into a far shorter life.

Answer: electromigration through a necked wire: a particle narrows a wire, which still conducts and passes the test, but the current density in the neck is several times the design value, and electromigration opens it early in life. Electromigration is accelerated by temperature and current, so burn-in (about 85 °C and about 20 % over the nominal supply) makes these wires fail in the factory; the test after burn-in catches them.

Remember. Latent defect → passes test → fails early. Burn-in = heat and voltage to accelerate the mechanism, then test at nominal.

The answer key agrees
The key writes “Electromigration is a common failure mechanism. EM is accelerated by high temperature and bias”, the same mechanism. It does not say that the chips are tested after burn-in, which is how burn-in “identifies” them (step 5).

Harder variations: clock latency and reliability

You need

Skew and jitter from latency (Chapter 23 §6). tskew, tjitter≈∣SV∣ (ΔV/V) tL,sit_{skew},\ t_{jitter} \approx |S_V|\,(\Delta V/V)\,t_{L,si}, with SV=−VT/(VDD−VT)S_V = -V_T/(V_{DD} - V_T) and tL,sit_{L,si} the buffers’ share of the latency (wire RC does not move with the supply). The long path: tclk→Q+tlogic+tsetup+tskew+tjitter≤Tt_{clk\to Q} + t_{logic} + t_{setup} + t_{skew} + t_{jitter} \le T.

Current density and its limits (Chapter 23 §4). J=I/(wt)J = I/(wt); the lecture’s DC limits are about 1–2 mA/µm² for aluminium and about 10 mA/µm² for copper (AC limits about ten times higher); a wire needs w≥I/(Jmaxt)w \ge I/(J_{max}t).

A necked wire (FN17-1e’s figure). Original figure ↑

These variations added turn the short answers into numbers, as a harder paper would: Variation 4 compares two clock networks against a cycle budget, with the wire’s share of latency set apart; Variation 5 sizes a supply strap for electromigration, then follows a neck through burn-in. No key exists, so there is no key verdict.

Variation 4: two clock networks against a 2 GHz budget (about 20 minutes)

Variation 4: two clock networks against a 2 GHz budget

added The question. A 2 GHz core (TT = 500 ps) runs at VDDV_{DD} = 0.9 V with VTV_T = 0.35 V (velocity-saturated buffers). Its worst register-to-register path has tclk→Qt_{clk\to Q} = 40 ps, tsetupt_{setup} = 30 ps and 380 ps of logic. Two clock networks are proposed: (A) a buffered tree with 1,100 ps of latency, all of it in buffers; (B) a tree-driven grid with 450 ps of latency, of which 150 ps is wire RC. Across the die the supply differs statically by up to 4 % between regions, and it droops transiently by up to 7 % (all for example). (a) and (b) Estimate each network’s skew and jitter and the shortest cycle its worst path then allows. (c) The slack at 500 ps for each. (d) How far off is the first-order estimate for the 7 % droop?

Variation 4’s budgets (computed): the base path, 40 + 30 + 380 = 450 ps (grey), plus skew (hatched, the 4 % static step) and jitter (dotted, the 7 % droop), each ∣SV∣|S_V| times the step times the latency in silicon. Tree A, with 1,100 ps of silicon, needs 527 ps, past the 2 GHz period of 500 ps (dashed); grid B, with 300 ps, needs 471 ps.

Hint
Which part of each network’s latency moves when the supply moves, and by what fraction?

What it asks. Whether each network fits the cycle once its variation is counted: two applications of the latency formula and one long-path sum.

The idea. Only the buffers’ delay changes with the supply, so network B’s latency counts only its 300 ps of silicon. The static 4 % produces skew, the transient 7 % jitter; in the worst case both make the capturing edge early, so both add to the long path.

Why this formula. Δt=∣SV∣ (ΔV/V) tL,si\Delta t = |S_V|\,(\Delta V/V)\,t_{L,si} with SV=1−VDD/(VDD−VT)=−VT/(VDD−VT)S_V = 1 - V_{DD}/(V_{DD} - V_T) = -V_T/(V_{DD} - V_T) (Chapter 23 §6); the long-path rule with skew and jitter.

  • Conditions. First order in ΔV\Delta V; the worst-case directions add; exact delays from t∝V/(V−VT)t \propto V/(V - V_T) for (d).

Variation 4

  1. The sensitivity. Because SV=−0.35/(0.9−0.35)=−0.636S_V = -0.35/(0.9 - 0.35) = -0.636: a 1 % supply drop slows a buffer by 0.636 %.
  2. (a) Network A. Because all 1,100 ps are buffers: skew 0.636×0.04×1100=28.00.636 \times 0.04 \times 1100 = 28.0 ps, jitter 0.636×0.07×1100=49.00.636 \times 0.07 \times 1100 = 49.0 ps. The path needs 40+30+380+28.0+49.0=52740 + 30 + 380 + 28.0 + 49.0 = 527 ps: at most 1.90 GHz.
  3. (b) Network B. Because only 450−150=300450 - 150 = 300 ps are buffers: skew 7.6 ps, jitter 13.4 ps; the path needs 471 ps: up to 2.12 GHz.
  4. (c) Slack at 500 ps. Because the base path is 40+30+380=45040 + 30 + 380 = 450 ps: A has 500−527=−27500 - 527 = -27 ps (fails), B +29+29 ps (passes).
  5. (d) The exact droop. Because t∝V/(V−VT)t \propto V/(V - V_T), a 7 % droop (to 0.837 V) multiplies a buffer’s delay by 1.0503, against the first-order 1+0.636×0.07=1.04451 + 0.636 \times 0.07 = 1.0445: the jitter is really 55.3 ps for A and 15.1 ps for B. The first-order estimate is about 10 % low, and A fails by more.

Check. By ratio: the two networks’ skews stand in the ratio of their silicon latencies, 1100/300=3.671100/300 = 3.67 (28.0 ps against 7.64 ps). By sign: a droop slows the buffers, so the exact factor exceeds 1, and the delay’s curvature (it rises faster as VV nears VTV_T) makes it exceed the linear estimate.

Answer: (a) A: 28.0 ps skew, 49.0 ps jitter, 527 ps, 1.90 GHz. (b) B: 7.6 ps and 13.4 ps, 471 ps, 2.12 GHz. (c) A −27 ps, B +29 ps: only the grid meets 2 GHz. (d) the exact droop factor is 1.0503 against 1.0445; jitter 55.3 and 15.1 ps.

Remember. Count only the latency that varies. Skew and jitter both come off the cycle, so a shorter network buys clock rate directly.

Variation 5: a supply strap, a neck and burn-in (about 15 minutes)

Variation 5: a supply strap, a neck and burn-in

added The question. A copper supply strap 0.4 µm thick carries 12 mA DC; the copper DC limit is 10 mA/µm² (Chapter 23 §4). (a) Its minimum width; the designer draws 3.6 µm: what density? (b) A particle necks it to 1.2 µm over a short length. The density in the neck, against the limit; does the die pass the acceptance test? (c) Burn-in raises the supply by 20 %, and the strap’s current with it. The densities in the neck and in the good strap. (d) Where the strap changes layer, how many 0.2 × 0.2 µm vias does it need, at nominal and at the burn-in current?

Variation 5’s strap (new figure, to scale; lengths in µm, current densities JJ in mA/µm²). 12 mA in a strap 3.6 µm wide and 0.4 µm thick is 8.33 mA/µm²; the 1.2 µm neck carries the same current at 25, 2.5 times the 10 mA/µm² limit. At burn-in (1.2 times the current) the strap is at 10.0 and the neck at 30. Where the strap changes layer, 30 vias of 0.2 × 0.2 µm carry it (0.4 mA each; 36 at the burn-in current).

Hint
Which quantities stay the same through the neck, and which one changes?

What it asks. Electromigration sizing in numbers, then the same wire through FN17-1e’s story: a neck that passes the test and a burn-in that pushes it over.

The idea. A wire is sized so its DC density stays under the limit. A neck multiplies the density by w/wneckw/w_{neck}; the die still works. Burn-in raises the current (for switching current, I∝VDDI \propto V_{DD}), and so every density, and heats the metal, which speeds electromigration: the overloaded neck fails fast while the good strap is merely at its limit for a few hours.

Why this formula. J=I/(wt)J = I/(wt) and wmin=I/(Jmaxt)w_{min} = I/(J_{max}t) (Chapter 23 §4); a via carries JmaxJ_{max} times its area.

  • Conditions. DC current; the via limit taken as the metal’s (for example); burn-in current 1.2×1.2\times nominal, as for switching current I=αCVDDfI = \alpha C V_{DD} f.

Variation 5

  1. (a) The width. Because w≥I/(Jmaxt)=12/(10×0.4)=3.0w \ge I/(J_{max}t) = 12/(10 \times 0.4) = 3.0 µm; at 3.6 µm, J=12/(3.6×0.4)=8.33J = 12/(3.6 \times 0.4) = 8.33 mA/µm², 17 % under the limit.
  2. (b) The neck. Because the current and thickness are unchanged, J=12/(1.2×0.4)=25J = 12/(1.2 \times 0.4) = 25 mA/µm², 2.5 times the limit. The wire still conducts, so every logic test passes.
  3. (c) Burn-in. Because the current rises to 1.2×12=14.41.2 \times 12 = 14.4 mA: the neck carries 30 mA/µm², the good strap 10.0 mA/µm², exactly at the limit, and both run hot. The neck fails within the burn-in; the good strap only spends a little of its life.
  4. (d) Vias. Because each via carries 0.2×0.2×10=0.40.2 \times 0.2 \times 10 = 0.4 mA: 12/0.4=3012/0.4 = 30 vias at nominal, 14.4/0.4=3614.4/0.4 = 36 at the burn-in current.

Check. By ratio: the neck’s density over the strap’s is 25/8.33=3.0=3.6/1.225/8.33 = 3.0 = 3.6/1.2, the width ratio, as the formula says, and burn-in scales both by 1.2. By the lecture’s warning: vias crowd current into a small area, which is why a strap needs dozens of them.

Answer: (a) 3.0 µm; 8.33 mA/µm² at 3.6 µm. (b) 25 mA/µm², 2.5 times the limit; it passes the test (it conducts). (c) neck 30, strap 10.0 mA/µm² under burn-in: the neck fails then and is caught by the test afterwards. (d) 30 vias, 36 at the burn-in current.

Remember. Size DC straps from the density limit; a neck multiplies the density by the width ratio; burn-in multiplies every current and heats every wire.

How to approach a subthreshold supply question

Recognize it by the words: “subthreshold slope”, "IoffI_{off}", “continue to scale down VDDV_{DD}”, “lowest value of VDDV_{DD} at which the inverter will operate with an output swing of …”, “minimum energy”, “switching energy … include both the dynamic power dissipated and the leakage”, “this will be subthreshold operation”. The paper gives SS, IoffI_{off}, a supply below VTV_T, and an inverter or a chain of inverters.

The model. Below threshold a device’s current is a diffusion current over a barrier: it changes tenfold for each SS of gate voltage, I=Ioff 10VGS/SI = I_{off}\,10^{V_{GS}/S} (Chapter 4 §11). The drain end subtracts a back-flow, a factor (1−e−VDS/(kT/q))(1 - e^{-V_{DS}/(kT/q)}) that is close to 1 once VDSV_{DS} exceeds about 3 kT/q3\,kT/q (78 mV) but goes to 0 as VDS→0V_{DS} \to 0 (Chapter 23 §15, added). The “on” device is only 10VDD/S10^{V_{DD}/S} times stronger than the “off” one, so two questions arise. How low? As VDDV_{DD} falls, the off device’s leakage pulls the low output up toward the middle, until it no longer reaches a valid level. How little energy? Each transition costs CVDD2CV_{DD}^2 to switch, but each operation takes longer, and every gate leaks for that whole time.

Why these, and their conditions. The current: memorize 10VGS/S10^{V_{GS}/S} (Chapter 4); the drain factor is background device physics (Chapter 23 §15), and it matters only where VDSV_{DS} is a few kT/qkT/q or less, which is exactly the low output. The limit: derive it from Kirchhoff’s current law at the output: the NFET (gate at 0.9VDD0.9V_{DD}, drain at 0.1VDD0.1V_{DD}) sinks what the PFET (gate 0.1VDD0.1V_{DD} below its source) leaks; IoffI_{off} cancels. The energy: derive it in three lines. Switching: αNg\alpha N_g nodes rise, each drawing CV2CV^2 from the supply (Chapter 6 §6). Time: the chain’s delay, NN stages of CV/(2Ion)CV/(2I_{on}). Leakage: NgN_g gates each leak IoffI_{off} at VV for TT; Ioff/Ion=10−V/SI_{off}/I_{on} = 10^{-V/S}, so IoffI_{off} cancels. Setting dE/dV=0dE/dV = 0 with u=Vln⁡10/Su = V\ln 10/S gives eu=K(u−2)e^u = K(u - 2); the exponential touches the line only if K≥e3K \ge e^3 (tangent at u=3u = 3). Memorize the test: a minimum-energy supply exists only for deep logic with low activity, N/α≥4e3≈80N/\alpha \ge 4e^3 \approx 80. Otherwise the energy keeps falling as VDDV_{DD} falls, and the lowest-energy supply is the functional limit.

The moves.

  1. Write the currents with the gate voltages the question fixes (the input level), and decide which drain factors matter.
  2. For the limit: set the low output to 0.1VDD0.1V_{DD}, balance the currents, cancel IoffI_{off}, solve by successive approximation; quote Ion/Ioff=10VDD/SI_{on}/I_{off} = 10^{V_{DD}/S} at the answer.
  3. For the energy: write EdynE_{dyn} with V2V^2 and Eleak=(gates) Ioff V TE_{leak} = (\text{gates})\,I_{off}\,V\,T with TT the chain’s delay; factor out CV2CV^2.
  4. Test for a minimum: compute K=N/(4α)K = N/(4\alpha) (or N/(2α)N/(2\alpha) with a full-swing delay) against e3≈20e^3 \approx 20. If a root exists, iterate u←ln⁡K+ln⁡(u−2)u \leftarrow \ln K + \ln(u - 2) from u=6u = 6, then V=uS/ln⁡10V = uS/\ln 10, and check it is above the functional limit and below VTV_T. Then compare its energy with the energy at the functional limit: the root is only a local minimum (the model’s EE also falls toward V=0V = 0), and just above e3e^3, up to K≈25K \approx 25 at 80 mV/decade, it costs more than the functional limit does. If any check fails, the answer is the functional limit.

Decide on the way: the input level (from an identical stage at 0.9VDD0.9V_{DD}, or full rail); the delay convention (50 % point, CV/(2I)CV/(2I), as the course and FN10 use, or the full swing CV/ICV/I, as FN17’s key uses); and whether the leakage runs for the chain’s delay or a clock period.

Traps. Writing energy as CVCV or I⋅TI\cdot T: those are charges; energy is charge times VDDV_{DD} (FN17-10c’s key). Quoting the ratio of the two devices’ currents at the operating point as "Ion/IoffI_{on}/I_{off}" (FN10-2c’s key). Dropping the drain factor in the limit calculation: without it the currents never balance at a valid level. Minimizing without checking that the stationary point exists and is a minimum. Mixing the 50 % and full-swing delays.

Playbook card: the subthreshold supply.

FN10-2c: the lowest working supply (10 points)

You need

FN10-2a–b, solved on FN2. At VDDV_{DD} = 0.2 V with SS = 80 mV/decade, each device’s Ion/Ioff=100.2/0.08=316I_{on}/I_{off} = 10^{0.2/0.08} = 316; with IoffI_{off} = 10 nA, IonI_{on} = 3.16 µA, and a 10 fF load has a 50 % delay CVDD/(2Ion)=316CV_{DD}/(2I_{on}) = 316 ps.

Subthreshold current with the drain factor (Chapter 23 §15, added). I=Ioff 10VGS/S(1−e−VDS/(kT/q))I = I_{off}\,10^{V_{GS}/S}(1 - e^{-V_{DS}/(kT/q)}), kT/qkT/q = 26 mV. The factor is 0.95 at VDS=3kT/qV_{DS} = 3kT/q = 78 mV and falls to 0 as VDS→0V_{DS} \to 0.

A valid logic level. A low output must be at most 0.1VDD0.1V_{DD} and a high at least 0.9VDD0.9V_{DD} (“a swing of at least 0.1VDD0.1V_{DD} to 0.9VDD0.9V_{DD}”). An inverter driven by another identical inverter sees an input that is itself only that good.

The question (FN10-2, p3, in the paper’s words). Consider an inverter operating with a supply voltage of VDDV_{DD} with logic signals that swing between ground and VDDV_{DD}. (assume VT>0.2V_T > 0.2 V; a handwritten addition on the paper.) (a) Let VDDV_{DD} = 0.2 V. Assume that the IoffI_{off} of each transistor is 10 nA. (For the nFET, IoffI_{off} is defined by VGSV_{GS} = 0.0 V and VDS=VDDV_{DS} = V_{DD}. For the pFET, IoffI_{off} is defined by VSGV_{SG} = 0.0 V and VSD=VDDV_{SD} = V_{DD}.) If the subthreshold slope is 80 mV/decade, what is the Ion/IoffI_{on}/I_{off} ratio for each transistor? (For the nFET, IonI_{on} is defined by VGS=VDDV_{GS} = V_{DD} and VDS=VDDV_{DS} = V_{DD}. For the pFET, IonI_{on} is defined by VSG=VDDV_{SG} = V_{DD} and VSD=VDDV_{SD} = V_{DD}.) (10 points)

FN10-2’s inverter (Final 2010, p3, redrawn), with part (c)‘s operating point added: input 0.9VDD0.9V_{DD} (the output of an identical stage), output 0.1VDD0.1V_{DD}. The off PFET leaks IP=Ioff100.1VDD/SI_P = I_{off}10^{0.1V_{DD}/S} (VSG=0.1VDDV_{SG} = 0.1V_{DD}); the on NFET, with only 0.1VDD0.1V_{DD} across it, sinks IN=Ioff100.9VDD/S(1−e−0.1VDD/(kT/q))I_N = I_{off}10^{0.9V_{DD}/S}(1 - e^{-0.1V_{DD}/(kT/q)}). At the lowest working supply the two are equal.

The exam’s own figure (FN10-2, p3)
A CMOS inverter: a PFET from VDD to the output with a gate bubble, an NFET from the output to ground, both gates joined to the input at the left; the output at the right.
FN10-2, p3 (source figure).

Part (c): the lowest supply for a 10–90 % swing (10 points)

FN10-2c, p4. Imagine that we continue to scale down VDDV_{DD}. Find the lowest value of VDDV_{DD} at which the inverter will operate with an output swing of at least 0.1VDD0.1V_{DD} to 0.9VDD0.9V_{DD}. What is the Ion/IoffI_{on}/I_{off} ratio for each transistor at this value of VDDV_{DD}? (10 points)

Hint
With the output low, which device carries current in, which carries it out, and what are each one’s gate and drain voltages if the input comes from an identical inverter?

What it asks. A supply voltage: the lowest at which the low output still reaches 0.1VDD0.1V_{DD} (and, by symmetry, the high output 0.9VDD0.9V_{DD}). Then part (a)‘s ratio, Ion/IoffI_{on}/I_{off} “for each transistor”, at that supply. “Continue to scale down” says the devices stay subthreshold; “output swing of at least” sets the criterion.

The idea. With the output low, the “on” NFET pulls down while the “off” PFET leaks current in, and at the steady level the two are equal. Below threshold the NFET wins by only about 10VDD/S10^{V_{DD}/S}, so the low output rises as VDDV_{DD} falls; it settles where the NFET’s drain factor, small because its VDSV_{DS} is only the low output, cuts its current to the PFET’s leakage. Set Vout=0.1VDDV_{out} = 0.1V_{DD}, with the input from an identical stage at 0.9VDD0.9V_{DD}, and find the VDDV_{DD} that balances the currents.

Why this formula. 10−0.8VDD/S=1−e−0.1VDD/(kT/q)10^{-0.8V_{DD}/S} = 1 - e^{-0.1V_{DD}/(kT/q)}, and Ion/Ioff=10VDD/SI_{on}/I_{off} = 10^{V_{DD}/S}.

  • Where it comes from. NFET: VGS=0.9VDDV_{GS} = 0.9V_{DD}, VDS=0.1VDDV_{DS} = 0.1V_{DD}: IN=Ioff100.9VDD/S(1−e−0.1VDD/(kT/q))I_N = I_{off}10^{0.9V_{DD}/S}(1 - e^{-0.1V_{DD}/(kT/q)}). PFET: VSG=0.1VDDV_{SG} = 0.1V_{DD}, VSD=0.9VDDV_{SD} = 0.9V_{DD}, whose drain factor is close to 1: IP=Ioff100.1VDD/SI_P = I_{off}10^{0.1V_{DD}/S}. Equal currents; divide by Ioff100.9VDD/SI_{off}10^{0.9V_{DD}/S}.
  • Why the drain factor. Without it the NFET’s current would not depend on its drain voltage, so the currents could not balance at any output level: the drain-independent model cannot set an output level at all.
  • Conditions. Equal IoffI_{off} and SS for both devices (the paper’s), so the high output is the mirror image of the low one and one condition gives both. kT/qkT/q = 26 mV (room temperature, added). The paper’s “logic signals that swing between ground and VDDV_{DD}” could be read as a full-rail input instead; that reading gives a lower supply (below), so say which you use.
  • The ratio. Part (a) defines Ion/IoffI_{on}/I_{off} for each transistor at VGS=VDDV_{GS} = V_{DD} against 0, both with VDS=VDDV_{DS} = V_{DD}: 10VDD/S10^{V_{DD}/S}. It is not the ratio of the NFET’s and PFET’s currents at the operating point.

FN10-2c

  1. The currents at the low output. Because the input is 0.9VDD0.9V_{DD} and the output 0.1VDD0.1V_{DD}: IN=Ioff100.9VDD/S(1−e−0.1VDD/(kT/q))I_N = I_{off}10^{0.9V_{DD}/S}(1 - e^{-0.1V_{DD}/(kT/q)}) (its VDSV_{DS} is only 0.1VDD0.1V_{DD}, so its drain factor is small); IP=Ioff100.1VDD/SI_P = I_{off}10^{0.1V_{DD}/S} (its VSD=0.9VDDV_{SD} = 0.9V_{DD}, factor ≈ 1).
  2. Balance. Because the output draws no other current, IN=IPI_N = I_P; IoffI_{off} cancels: 10−0.8VDD/S=1−e−0.1VDD/(kT/q)10^{-0.8V_{DD}/S} = 1 - e^{-0.1V_{DD}/(kT/q)}, that is, with SS = 0.08 V and kT/qkT/q = 0.026 V, 10−10VDD=1−e−3.85VDD10^{-10V_{DD}} = 1 - e^{-3.85V_{DD}}.
  3. Solve. Because the left side falls and the right side rises with VDDV_{DD}, there is one crossing; by successive approximation VDDV_{DD} = 65.3 mV. At it both sides equal 0.222: the NFET’s gate drive, 100.8VDD/S10^{0.8V_{DD}/S} = 4.50 times the PFET’s, is cut by its drain factor to exactly the PFET’s leakage.
  4. The ratio. Because Ion/Ioff=10VDD/SI_{on}/I_{off} = 10^{V_{DD}/S} for each device (part (a)‘s definition): 1065.3/8010^{65.3/80} = 6.56 (6.49 at a rounded 65 mV). The same for the NFET and the PFET.
  5. The other readings. Because the PFET’s own drain factor, 1−e−0.9VDD/(kT/q)1 - e^{-0.9V_{DD}/(kT/q)}, is about 0.9 at this supply, keeping it lowers the answer to 62.0 mV; with a full-rail input (NFET at VGS=VDDV_{GS} = V_{DD}, PFET at VSG=0V_{SG} = 0) the limit is 52.8 mV (both drain factors kept). The self-consistent reading with the NFET’s factor (65.3 mV) is the one a chain of identical gates needs.

Part (c)‘s balance (computed with SS = 80 mV/decade and kT/qkT/q = 26 mV). Left of the crossing the dashed side is below the solid one: the NFET, with only 0.1VDD0.1V_{DD} across it, cannot sink the PFET’s leak, and the output stays above 0.1VDD0.1V_{DD}. The crossing is the lowest working supply, VfnV_{fn} = 65.3 mV, where both sides are 0.222.

Check. By the output level on either side of the answer (both drain factors kept, solving the balance for VoutV_{out}): at 100 mV the low output is 2.7 mV, 0.027VDD0.027V_{DD}, comfortably valid; at 50 mV it is 0.153VDD0.153V_{DD}, invalid. The 10 % crossing lies between, as found. By size: an ideal 60 mV/decade device would do better; at 80 mV/decade the limit is a little under one decade of gate voltage, where the on/off ratio is only about 6.5.

Answer: VDD≈V_{DD} \approx 65 mV (65.3 mV: 10−0.8VDD/S=1−e−0.1VDD/(kT/q)10^{-0.8V_{DD}/S} = 1 - e^{-0.1V_{DD}/(kT/q)}, with the input from an identical stage at 0.9VDD0.9V_{DD} and the NFET’s drain factor). There, Ion/Ioff=10VDD/S≈I_{on}/I_{off} = 10^{V_{DD}/S} \approx 6.5 for each transistor (6.56; 6.49 at 65 mV).

Remember. The functional limit comes from the drain factor: the on device’s current falls as its VDSV_{DS} falls, until it only matches the off device’s leakage. Balance the two currents at the output level you need. Ion/IoffI_{on}/I_{off} is always 10VDD/S10^{V_{DD}/S}.

The key’s working (FN10-2c, p4, the key’s handwriting)
Handwritten: To find the supply voltage, I_off 10 to the 0.9 V_DD over 0.08 times (1 minus e to the minus q over kT times 0.1 V_DD) equals I_off 10 to the 0.1 V_DD over 0.08; 10 to the minus 0.8 V_DD over 0.08 equals 1 minus e to the minus 0.1 V_DD over 0.026; 10 to the minus 10 V_DD equals 1 minus e to the minus 3.84 V_DD; solve by successive approximations: V_DD = 65 mV; I_on over I_off at this value of V_DD equals 10 to the 0.8 V_DD over 0.08, equals 10 to the 10 times 0.065, equals 4.47, underlined.
FN10-2c’s key (p4): the same balance and 65 mV; its last line takes "Ion/IoffI_{on}/I_{off}" as 100.8VDD/0.08=4.4710^{0.8V_{DD}/0.08} = 4.47 (see the verdict).
The answer key differs
The key’s supply agrees: the same balance, 10−10VDD=1−e−3.84VDD10^{-10V_{DD}} = 1 - e^{-3.84V_{DD}}, solved to 65 mV. Its on/off ratio does not: it writes Ion/Ioff=100.8VDD/0.08=1010(0.065)=4.47I_{on}/I_{off} = 10^{0.8V_{DD}/0.08} = 10^{10(0.065)} = 4.47, which is the ratio of the NFET’s drive at VGS=0.9VDDV_{GS} = 0.9V_{DD} to the PFET’s at 0.1VDD0.1V_{DD}, not part (a)‘s ratio. By part (a)‘s definition (VGS=VDDV_{GS} = V_{DD} against 0) the ratio is 10VDD/S=100.065/0.08=6.4910^{V_{DD}/S} = 10^{0.065/0.08} = 6.49 (6.56 at 65.3 mV).

FN17-10c: the supply for minimum energy (about 8 points)

You need

FN17-10a–b, solved on FN2. Each inverter’s input is (10+5)(10 + 5) µm × 2 fF/µm = 30 fF, so every node of the chain carries CC = 30 fF (the last one the 30 fF load). (a) Ion=10 nA⋅10VDD/0.08I_{on} = 10\ \text{nA}\cdot 10^{V_{DD}/0.08}. (b) Each stage’s 50 % delay is CVDD/(2Ion)CV_{DD}/(2I_{on}); the chain’s is 8×30 fF⋅VDD/(2Ion)=12 μs/V⋅VDD⋅10−VDD/0.088 \times 30\ \text{fF}\cdot V_{DD}/(2I_{on}) = 12\ \mu\text{s/V}\cdot V_{DD}\cdot 10^{-V_{DD}/0.08}, 7.59 ns at 0.2 V (the key times the full swing, CVDD/IonCV_{DD}/I_{on}: 15.2 ns).

Switching and leakage energy (Chapter 6 §6). A node that rises draws CVDD2CV_{DD}^2 from the supply (half stored, half lost); one that falls draws nothing. A static gate with VDDV_{DD} across its off device dissipates VDDIoffV_{DD}I_{off}, so over a time TT it uses VDDIoffTV_{DD}I_{off}T.

The functional limit (FN10-2c above). With SS = 80 mV/decade and kT/qkT/q = 26 mV, an inverter driven by its twin gives a 10–90 % swing only down to about 65 mV.

The question (FN17-10, p21–22, in the paper’s words). Consider a chain of eight identical 10 μm/5 μm10\,\mu m/5\,\mu m inverters. The chain is loaded at the end by 30 fF. In this problem, we are going to calculate the supply voltage at which this inverter chain will consume minimum energy. This will be subthreshold operation. Let the gate capacitance per unit width be given by 2 fF/µm. (a) Assume the IoffI_{off} of each transistor is 10 nA. If the subthreshold slope is 80 mV/decade, what is the on-current of the devices of the inverter as a function of VDDV_{DD}? (b) Estimate the delay of the inverter chain (as a function of VDDV_{DD}). (The point values are overwritten on the scan; each appears to be 8.)

The chain’s energy model (Chapter 23 §16, added). For FN17-10, N=Ng=8N = N_g = 8 inverters of 10/510/5 µm, every node CC = 30 fF (the last one the 30 fF load), IoffI_{off} = 10 nA, SS = 80 mV/decade. The transition’s time T=NtpT = Nt_p is set by the stages charging with IonI_{on} one after another; meanwhile every inverter leaks IoffI_{off} through its off device. The paper prints no figure for this question.

Part (c): the switching energy and the supply that minimizes it (about 8 points)

FN17-10c, p22. Estimate the switching energy of the inverter chain as a function of VDDV_{DD}. Include both the dynamic power dissipated and the leakage of all the inverters during the delay time of the chain. What value of VDDV_{DD} minimizes this energy? (Point value overwritten on the scan; it appears to be 8.)

Hint
Write the dynamic energy and the leakage energy each as something times CVDD2CV_{DD}^2. As VDDV_{DD} falls, which factor shrinks and which grows, and which wins?

What it asks. E(VDD)E(V_{DD}) for one transition through the chain, made of two terms the paper names: the switching energy and the leakage energy of all eight inverters over the chain’s delay. Then the supply at its minimum. “This will be subthreshold operation” keeps the whole calculation below VTV_T.

The idea. Lowering the supply saves switching energy as V2V^2, but slows every stage tenfold for each 80 mV, so the eight inverters leak for longer. Both terms carry CV2CV^2; the leakage factor grows as VV falls, but in this chain never fast enough to beat the V2V^2. The energy falls all the way down, so it is lowest at the lowest supply that still works: FN10-2c’s functional limit.

Why this formula. E=4CV2+8 Ioff V TE = 4CV^2 + 8\,I_{off}\,V\,T with T=8 CV/(2Ion)T = 8\,CV/(2I_{on}), so E=4CV2[1+8⋅10−V/S]E = 4CV^2[1 + 8\cdot10^{-V/S}]; dE/dV=0⇔eu=4(u−2)dE/dV = 0 \Leftrightarrow e^u = 4(u - 2), u=Vln⁡10/Su = V\ln 10/S.

  • Where it comes from. Switching: in one transition through eight inverters, alternate nodes rise; 4 rising nodes of CC = 30 fF draw 4CV24CV^2. Leakage: each inverter has one off device with VV across it, leaking IoffI_{off}, for the chain’s delay TT: 8IoffVT=8IoffV⋅4CV/(Ioff10V/S)=32CV2 10−V/S8I_{off}VT = 8I_{off}V\cdot 4CV/(I_{off}10^{V/S}) = 32CV^2\,10^{-V/S}. IoffI_{off} cancels.
  • The stationary point. With E∝u2(1+8e−u)E \propto u^2(1 + 8e^{-u}): dE/du=2u e−u(eu−4u+8)dE/du = 2u\,e^{-u}(e^u - 4u + 8). The bracket’s smallest value, at u=ln⁡4=1.386u = \ln 4 = 1.386, is 4−4ln⁡4+8=6.45>04 - 4\ln 4 + 8 = 6.45 > 0. So dE/dV>0dE/dV > 0 for every V>0V > 0: no minimum. In the general form, K=N/(4α)=8/(4×12)=4K = N/(4\alpha) = 8/(4 \times \tfrac12) = 4, below e3=20.1e^3 = 20.1.
  • Conditions. The course’s 50 % delay. With the key’s full-swing delay CV/IonCV/I_{on} the leakage term doubles, E=4CV2[1+16⋅10−V/S]E = 4CV^2[1 + 16\cdot 10^{-V/S}], the condition becomes eu=8(u−2)e^u = 8(u - 2), and its bracket’s minimum (at u=ln⁡8u = \ln 8) is 7.36: still no root. DIBL ignored; the model holds only above the functional limit.
  • The tempting alternative. Writing the switching term as 4CV4CV and the leakage as I⋅TI \cdot T (both charges, not energies) and minimizing that: it has a minimum, at 132 mV, but of the charge drawn from the supply, not of the energy (the KeyNote).

FN17-10c

  1. The switching energy. Because four of the eight nodes rise in one transition, each drawing CV2CV^2: Edyn=4CV2=4×30 fF×V2E_{dyn} = 4CV^2 = 4 \times 30\ \text{fF}\times V^2.
  2. The leakage energy. Because all eight inverters leak IoffI_{off} with VV across them for the chain’s delay T=8CV/(2Ion)T = 8CV/(2I_{on}): Eleak=8IoffVT=32CV2⋅10−V/0.08E_{leak} = 8I_{off}VT = 32CV^2\cdot10^{-V/0.08}. IoffI_{off} cancels; only Ioff/Ion=10−V/SI_{off}/I_{on} = 10^{-V/S} remains.
  3. The total. E=4CV2[1+8⋅10−V/0.08]E = 4CV^2\big[1 + 8\cdot10^{-V/0.08}\big]. The bracket grows as VV falls (leakage per operation), the V2V^2 shrinks.
  4. Look for a stationary point. Because u=Vln⁡10/Su = V\ln 10/S turns 10−V/S10^{-V/S} into e−ue^{-u}, E∝u2(1+8e−u)E \propto u^2(1 + 8e^{-u}) and dE/du=2ue−u(eu−4u+8)dE/du = 2ue^{-u}(e^u - 4u + 8). Its bracket is smallest where eu=4e^u = 4, u=1.386u = 1.386, and is 6.45 there: always positive. EE rises with VV everywhere; there is no interior minimum.
  5. So go as low as the chain works. Because the energy keeps falling as VDDV_{DD} falls, the lowest-energy supply is the lowest at which the logic still gives valid levels: FN10-2c’s criterion with the same SS = 80 mV/decade and kT/qkT/q = 26 mV, VDD≈V_{DD} \approx 65 mV (65.3). There E=1.14E = 1.14 fJ per transition, against 1.74 fJ at 100 mV and 4.92 fJ at 200 mV.
  6. When would a minimum exist? Because in general eu=K(u−2)e^u = K(u - 2) with K=N/(4α)K = N/(4\alpha) has a root only for K≥e3≈20.1K \ge e^3 \approx 20.1, a minimum-energy supply above the functional limit needs deep, quiet logic, N/α≥80N/\alpha \ge 80: many gates leaking for every one that switches. This chain has K=4K = 4.
When a minimum-energy supply exists (Chapter 23 §16): FN17-10’s chain is the dashed K=4K = 4 line, which never meets eue^u. Original figure ↗

FN17-10c’s energy per transition (computed from E=4CV2[1+8⋅10−V/S]E = 4CV^2[1 + 8\cdot10^{-V/S}] with CC = 30 fF; dashed EdynE_{dyn}, dotted EleakE_{leak}). EE rises for every VDDV_{DD}: there is no minimum, and the energy is lowest at the functional limit, VfnV_{fn} = 65.3 mV, 1.14 fJ (shaded below it: the inverters no longer work). The open circle is the root of the key’s charge form, 132.1 mV (the key’s iteration stops at 0.133 V); it minimizes a charge, not this energy, and the energy there is 2.47 fJ.

Check. By numbers: EE = 1.14, 1.74, 2.47, 4.92 and 10.82 fJ at 65.3, 100, 132.1, 200 and 300 mV, rising throughout, as step 4 says. By the leakage share: at 65.3 mV, Eleak/Edyn=8×10−65.3/80=1.22E_{leak}/E_{dyn} = 8 \times 10^{-65.3/80} = 1.22, so leakage is 55 % of the total; it grows as VV falls, but the V2V^2 falls faster. By the limit’s role: the model’s E→0E \to 0 as V→0V \to 0 only because it ignores that the logic stops working; the functional limit is where the model must stop.

Answer: E(VDD)=4CVDD2+8 IoffVDDT=4(30 fF)VDD2[1+8⋅10−VDD/0.08]E(V_{DD}) = 4CV_{DD}^2 + 8\,I_{off}V_{DD}T = 4(30\ \text{fF})V_{DD}^2\big[1 + 8\cdot10^{-V_{DD}/0.08}\big] (with the course’s 50 % delay T=8CVDD/(2Ion)T = 8CV_{DD}/(2I_{on}); 1616 in place of 8 with the full-swing delay). dE/dVDDdE/dV_{DD} is positive for every VDDV_{DD}: there is no interior minimum. The energy keeps falling as VDDV_{DD} falls, so the minimum-energy supply is the lowest working supply, about 65 mV by FN10-2c’s 10–90 % criterion, where E≈1.1E \approx 1.1 fJ per transition. (The key’s 0.133 V minimizes the charge drawn, not the energy.)

Remember. Energy is CV2CV^2, and leakage energy is IoffVI_{off}V times the operation’s time. Test K=N/(4α)K = N/(4\alpha) against e3≈20e^3 \approx 20: below it, there is no minimum-energy supply, and the answer is the functional limit. On the exam, write the energy with V2V^2, state the result, and say that the intended 0.133 V is the charge form’s answer.

The key’s working (FN17-10c, p22, the key’s handwriting)
Handwritten: switching energy of chain = E_switch, 4 (30 fF) V_DD plus (8 (30 fF) V_DD over (10 nA) 10 to the V_DD over 0.08) times 8 times (10 nA); the partial derivative of E_switch with respect to V_DD equals 0 equals 4 (30 fF) plus 64 (30 fF) times the bracket 1 over 10 to the V_DD over 0.08 plus (ln 10) V_DD (10 to the minus V_DD over 0.08)(minus 1 over 0.08), the 30 fF factors crossed out; minus 4 equals 64 times 10 to the minus V_DD over 0.08 times (1 minus ln 10 V_DD over 0.08); minus 1 equals 16 times 10 to the minus V_DD over 0.08 times (1 minus 28.8 V_DD); minus 10 to the V_DD over 0.08 equals 16 minus 460 V_DD; 10 to the V_DD over 0.08 equals 460 V_DD minus 16; solve by successive approximations: V_DD = 1 V, 0.212 V, 0.153 V, 0.139 V, 0.134 V; boxed V_DD = 0.133 V.
FN17-10c’s key (p22): both terms are written without a factor VDDV_{DD}, 4(30 fF)VDD4(30\ \text{fF})V_{DD} and the delay times 8×108 \times 10 nA, so the expression it minimizes is a charge (see the verdict).
The answer key differs
The key writes the “switching energy” as 4(30 fF)VDD+delay×8×10 nA4(30\ \text{fF})V_{DD} + \text{delay} \times 8 \times 10\ \text{nA} (with the full-swing delay 8(30 fF)VDD/Ion8(30\ \text{fF})V_{DD}/I_{on}): both terms are charges (C·V and I·t), each missing a factor VDDV_{DD}; the transcription’s own note flags the first. Minimizing that charge gives 10VDD/0.08=460VDD−1610^{V_{DD}/0.08} = 460V_{DD} - 16 and, by its iteration, 0.133 V (the root is 132.1 mV). The energy the part asks for, 4CVDD2[1+16⋅10−VDD/0.08]4CV_{DD}^2[1 + 16\cdot 10^{-V_{DD}/0.08}] in the key’s delay convention, has dE/dVDD>0dE/dV_{DD} > 0 everywhere (eu=8(u−2)e^u = 8(u - 2) has no root; eu−8u+16≥7.36e^u - 8u + 16 \ge 7.36), so it has no minimum above the functional limit. At 132.1 mV the energy (with the course’s 50 % delay) is 2.47 fJ, 2.17 times its value at 65.3 mV; in the key’s full-swing form it is 1.61 times.

Harder variations: the lowest supply and minimum energy

You need

The functional limit (FN10-2c). Balance Ioff100.9V/S(1−e−0.1V/(kT/q))=Ioff100.1V/SI_{off}10^{0.9V/S}(1 - e^{-0.1V/(kT/q)}) = I_{off}10^{0.1V/S} and solve for VV; with SS and kT/qkT/q both scaled by a factor, the solution scales by the same factor.

Energy per operation (FN17-10c). E=NgCV2[α+(N/2)10−V/S]E = N_gCV^2[\alpha + (N/2)10^{-V/S}]; a stationary point needs eu=K(u−2)e^u = K(u - 2), u=Vln⁡10/Su = V\ln 10/S, K=N/(4α)≥e3≈20.1K = N/(4\alpha) \ge e^3 \approx 20.1. With two roots, the larger (u>3u > 3) is a local minimum, to be compared with the energy at the functional limit; iterate u←ln⁡K+ln⁡(u−2)u \leftarrow \ln K + \ln(u - 2) from u=6u = 6. At the minimum, Eleak/Edyn=2/(u−2)E_{leak}/E_{dyn} = 2/(u - 2).

Subthreshold delay (FN17-10b). The chain’s 50 % delay is N CV/(2Ioff10V/S)N\,CV/(2I_{off}10^{V/S}).

FN10-2’s inverter (p3). Original figure ↑

These variations added push the two past parts into setups no paper uses: Variation 6 is a block where the minimum-energy supply does exist, found and checked against the functional limit; Variation 7 moves FN17-10’s chain to a hot corner and adds a speed requirement, so the answer is set by whichever limit binds. No key exists, so there is no key verdict.

Variation 6: a deep, quiet block where the minimum exists (about 25 minutes)

Variation 6: a deep, quiet block where the minimum exists

added The question. A sensor’s signal-processing block has NgN_g = 2,000 gates, each driving CC = 4 fF; its critical path is NN = 60 gates deep; per operation only α\alpha = 0.08 of the nodes rise. The devices have SS = 85 mV/decade (for example), kT/qkT/q = 26 mV, and the block runs subthreshold (VTV_T = 0.35 V). (a) Does a minimum-energy supply exist? (b) Find it. (c) Compare its energy per operation with the energy at the functional limit and at 0.3 V. (d) What share of the energy is leakage at the minimum? (e) If the activity doubles to α\alpha = 0.16, which way does the minimum move?

Variation 6’s energy per operation (computed from E/(NgC)=V2[α+30⋅10−V/S]E/(N_gC) = V^2[\alpha + 30\cdot10^{-V/S}] with SS = 85 mV/decade). With K=187.5>e3K = 187.5 > e^3 the curve has a true minimum: 251.1 mV and 7.15×10−37.15 \times 10^{-3} V² for α\alpha = 0.08 (solid), far below its 22.35 at the functional limit VfnV_{fn} = 67.9 mV. Doubling the activity to 0.16 (dashed) moves the minimum down to 217.9 mV.

Hint
Compute N/(4α) first. Which root of the stationary condition is the minimum?

What it asks. The full minimum-energy calculation where the answer is an interior point: the existence test, the root, and the checks that it is a minimum, above the functional limit and below threshold.

The idea. With deep, low-activity logic, many gates leak for every one that switches, so leakage per operation grows fast as the supply falls and the slower operation lengthens it: below some supply the leakage term wins and the energy turns up again. The existence test says when; the iteration finds where.

Why this formula. E/(NgC)=V2[α+(N/2)10−V/S]E/(N_gC) = V^2[\alpha + (N/2)10^{-V/S}] and eu=K(u−2)e^u = K(u - 2) (approach 3).

  • Where it comes from. dE/dV=0dE/dV = 0: 2α+Ne−u=(N/2)ue−u2\alpha + N e^{-u} = (N/2)ue^{-u}, so eu=(N/(4α))(u−2)e^u = (N/(4\alpha))(u - 2).
  • Conditions. The larger root (u>3u > 3) is a local minimum (the smaller is a maximum), so it must also beat the energy at the functional limit, step 3; the iteration u←ln⁡K+ln⁡(u−2)u \leftarrow \ln K + \ln(u - 2) converges to it from u=6u = 6.

Variation 6

  1. (a) Existence. Because K=N/(4α)=60/(4×0.08)=187.5≥e3=20.1K = N/(4\alpha) = 60/(4 \times 0.08) = 187.5 \ge e^3 = 20.1: yes.
  2. (b) The root. Because the iteration u←ln⁡187.5+ln⁡(u−2)u \leftarrow \ln 187.5 + \ln(u - 2) from 6 settles at u=6.803u = 6.803: Vmin=uS/ln⁡10=6.803×0.085/2.303=251.1V_{min} = uS/\ln 10 = 6.803 \times 0.085/2.303 = 251.1 mV, below VTV_T (subthreshold holds). The other root, u=2.041u = 2.041, is a maximum.
  3. (c) Against the limits. Because the functional limit at 85 mV/decade is 67.9 mV, VminV_{min} is far above it. E/(NgC)E/(N_gC): 7.15×10−37.15 \times 10^{-3} V² at 251.1 mV, 22.35×10−322.35 \times 10^{-3} at 67.9 mV, 8.00×10−38.00 \times 10^{-3} at 0.3 V. With NgC=2000×4N_gC = 2000 \times 4 fF = 8 pF: 57.2 fJ per operation at the minimum against 178.8 fJ at the functional limit.
  4. (d) Leakage share. Because at the minimum Eleak/Edyn=2/(u−2)=0.416E_{leak}/E_{dyn} = 2/(u - 2) = 0.416, leakage is 2/u=29.42/u = 29.4 % of the total.
  5. (e) More activity. Because K=60/(4×0.16)=93.75K = 60/(4 \times 0.16) = 93.75, the root falls to u=5.902u = 5.902, VminV_{min} = 217.9 mV: down. More switching per operation makes leakage relatively cheaper, so the optimum moves toward lower supply.

Check. By the stationary condition itself: at u=6.803u = 6.803, eue^u and K(u−2)=187.5×4.803K(u - 2) = 187.5 \times 4.803 both come to 900.6. By the energy on either side: 8.00 at 0.3 V and far more at 67.9 mV, both above 7.15 at 251 mV.

Answer: (a) yes, K=187.5≥20.1K = 187.5 \ge 20.1. (b) VminV_{min} = 251 mV (u=6.803u = 6.803). (c) 57.2 fJ per operation, against 178.8 fJ at the 67.9 mV functional limit (and 8.00×10−3×88.00 \times 10^{-3} \times 8 pF = 64.0 fJ at 0.3 V). (d) 29.4 % leakage. (e) down, to 218 mV.

Remember. Deep and quiet (N/α≥80N/\alpha \ge 80) logic can have a minimum-energy supply, at a few S/ln⁡10S/\ln 10, once its energy also beats the functional limit’s, as (c) checks; at it leakage is 2/u2/u of the energy, about a third. More activity moves it lower.

Variation 7: FN17-10’s chain, hot and against a deadline (about 25 minutes)

Variation 7: FN17-10’s chain, hot and against a deadline

added The question. FN17-10’s chain (eight inverters, CC = 30 fF per node, IoffI_{off} = 10 nA, SS = 80 mV/decade at 300 K, 50 % delays) must finish each transition within 50 ns, and must work from 300 K to 358 K (85 °C). Take SS and kT/qkT/q to scale with absolute temperature (the ideality fixed), and IoffI_{off} to rise to 100 nA when hot (for example). (a) The hot SS, kT/qkT/q and functional limit. (b) The lowest cold supply that meets 50 ns, and the cold chain’s delay at the cold functional limit. (c) Is the deadline at risk when hot? (d) Which supply do you choose, and what does a transition cost, cold and hot?

Variation 7’s delays (computed from the chain’s 12 µs/V × V⋅10−V/SV\cdot10^{-V/S}, scaled by 10 nA/Ioff10\ \text{nA}/I_{off}): cold (SS = 80 mV/decade, IoffI_{off} = 10 nA, solid) and hot (SS = 95.5 mV/decade, IoffI_{off} = 100 nA, dashed). The cold chain meets 50 ns from 115.4 mV up; at its VfnV_{fn} = 65.3 mV it takes 119.6 ns. Hot, the chain is faster (8.56 ns at 115.4 mV), but its functional limit rises to 78.0 mV.

Hint
Which corner is slowest, which corner gives the worst logic levels, and does the energy argument of FN17-10c still say “as low as possible”?

What it asks. The same chain with two more constraints: a speed requirement, which sets a floor on the supply cold, and a temperature range, which moves the functional limit. The chosen supply is the highest of the floors, because FN17-10c showed the energy keeps falling with VDDV_{DD}.

The idea. Heat raises kT/qkT/q and with it SS, so the subthreshold characteristic stretches: the functional limit moves up in proportion. Heat also raises IoffI_{off}, which speeds the chain, so speed is a cold problem and levels a hot one. Energy still falls with the supply, so pick the lowest supply that satisfies both.

Why this formula. The functional-limit balance (FN10-2c), the chain’s delay T=8CV/(2Ioff10V/S)T = 8CV/(2I_{off}10^{V/S}), and E=4CV2[1+8⋅10−V/S]E = 4CV^2[1 + 8\cdot 10^{-V/S}] (FN17-10c; IoffI_{off} cancels from it).

  • Where it comes from. The balance depends on VV only through V/SV/S and V/(kT/q)V/(kT/q): scale both by kk and the solution scales by kk.
  • Conditions. The ideality factor fixed (so S∝TS \propto T); DIBL ignored.

Variation 7

  1. (a) Hot. Because SS and kT/qkT/q scale by 358/300=1.193358/300 = 1.193: SS = 95.5 mV/decade, kT/qkT/q = 31.0 mV, and the functional limit moves from 65.3 mV to 65.3×1.193=78.065.3 \times 1.193 = 78.0 mV.
  2. (b) Cold speed. Because T=12 μs/V⋅V⋅10−V/0.08≤50T = 12\ \mu\text{s/V}\cdot V\cdot10^{-V/0.08} \le 50 ns: by successive approximation V≥V \ge 115.4 mV. At the cold functional limit, 65.3 mV, the chain would take 119.6 ns, too slow: the deadline, not the levels, sets the cold floor.
  3. (c) Hot speed. Because IoffI_{off} is ten times larger and SS larger: at 115.4 mV the chain takes 8.56 ns; even at the hot limit, 78.0 mV, 14.3 ns. The delay’s V⋅10−V/SV\cdot10^{-V/S} peaks at V=S/ln⁡10=41.5V = S/\ln 10 = 41.5 mV, where the hot chain would take 18.3 ns, so hot it never misses 50 ns.
  4. (d) The choice. Because energy falls with VDDV_{DD} and the floors are 115.4 mV (cold speed) and 78.0 mV (hot levels), choose 115.4 mV. A transition then costs 2.06 fJ cold and 2.39 fJ hot (the larger hot SS leaves more leakage per operation), against the 1.14 fJ FN17-10c’s chain could reach at 65.3 mV without the deadline.

Check. By the scaling: 78.0/65.3=1.19378.0/65.3 = 1.193, the temperature ratio, as step 1’s argument requires. By the energy’s IoffI_{off}-independence: the hot energy differs from the cold only through SS, since IoffI_{off} cancels from EleakE_{leak}; with a larger SS the factor 10−V/S10^{-V/S} is larger, so the hot energy is higher, as found.

Answer: (a) SS = 95.5 mV/decade, kT/qkT/q = 31.0 mV, functional limit 78.0 mV. (b) 115.4 mV; at 65.3 mV the cold chain needs 119.6 ns. (c) no: the hot chain is fast (8.56 ns at 115.4 mV, at most 18.3 ns at any supply). (d) 115.4 mV: 2.06 fJ cold, 2.39 fJ hot per transition.

Remember. Speed binds cold, levels bind hot. With no interior energy minimum, the right supply is the highest of the floors.