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:
- the scan flip-flop and the chain (Chapter 22 §4); the scan test and its bit order (§5); the waveforms (§5);
- the stuck-at model (§6); controllability and observability (§7), with reconvergent fan-out (§7); a fault through a chain end to end (§8);
- the master–slave flip-flop and the static latch (Chapter 13 §10, §8); the transmission-gate multiplexer (Chapter 10 §7); hold and skew (Chapter 14 §2);
- the bathtub curve and burn-in (Chapter 22 §10–§11); electromigration and its limits (Chapter 23 §3–§4); clock skew, jitter and latency (Chapter 23 §6);
- subthreshold current (Chapter 4 §11); the subthreshold chain’s current and delay, FN17-10a–b and FN10-2a–b (FN2); the functional limit and the minimum-energy supply (Chapter 23 §15–§16).
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 means , .
- Scan chains run scan_in → → … → → 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: = 80 mV/decade, = 10 nA, and = 26 mV. is base 10 and natural; with .
- Pages are the papers’ printed page labels.
Symbols
| Symbol | Meaning | Unit | First appears |
|---|---|---|---|
| ST0, ST1 | a node stuck at 0, at 1 | — | approach 1 |
| , | flip-flop ‘s output (the papers name some ) | — | approach 1 |
| , | the logic’s output into flip-flop ‘s D input (FN17-4 names them ) | — | approach 1 |
| SE, SI | scan enable and scan in, a scan flip-flop’s extra inputs | — | approach 1 |
| flip-flops in a scan chain | — | approach 1 | |
| test patterns | — | approach 1 | |
| the fault site in FN10-3 and FN19-4 | — | FN10-3 | |
| , , , | FN10-3’s internal nodes (this guide’s names) | — | FN10-3 |
| , , , | FN17-4’s fault site, primary outputs and primary input | — | FN17-4 |
| the scan flip-flop’s mux output (PS5-Q3) | — | PS5-Q3 | |
| a clock network’s latency, root to leaf | ps | approach 2 | |
| the supply sensitivity of delay, | — | approach 2 | |
| current density, current over cross-section | mA/µm² | approach 2 | |
| , , | a wire’s width, its width at a neck, its thickness | µm | approach 2 |
| the subthreshold slope | mV/decade | approach 3 | |
| the thermal voltage, 26 mV | mV | approach 3 | |
| , | a device’s current at and at | nA | approach 3 |
| the lowest supply at which the inverter still gives a 10–90 % swing | mV | approach 3 | |
| the capacitance on each node of a chain | fF | approach 3 | |
| , , | logic depth, gates in the block, fraction of nodes that rise per operation | — | approach 3 |
| , , | energy per operation, its switching and its leakage parts | fJ | approach 3 |
| the time one operation takes (the chain’s delay) | ns | approach 3 | |
| , | the supply in units of ; the depth-to-activity number | — | 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).
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 ‘s Q, so is readable right after the capture edge (§5). The count: load edges and one capture per pattern (the next load overlaps this unload), and 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.
- Write each node as a function of the inputs the pattern sets (flip-flop outputs and primary inputs). Name the internal nodes.
- Control: set the fault site to the opposite of its stuck value; work back to the inputs.
- 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.
- 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.
- 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 ‘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 ) 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.
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 and (the outer ANDs’ outputs) and , (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)

Reading the figure. , and are ANDs. fans out to both NORs: and . The NAND gives . So the two branches from 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
What it asks. An input pattern for which the good and the faulty networks give different , and whether only one such pattern exists. The words that decide the method are “detect” and “propagate it to the output”: control to 0, then carry the difference through the NORs and the NAND. “Unique?” asks for a count.
The idea. Control is easy (); the difficulty is the reconvergence. In the faulty circuit reaches both NORs, and 1 is a NOR’s controlling value, so the faulty is 1 for every pattern. The good 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 ( = 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 follows inverted only when , and only when . 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. , and the faulty is 1, so the fault is detected exactly when .
- The tempting alternative. Sensitizing one path, say through with , and leaving , free. With , pins at 0 in both circuits, and in both: no detection.
FN10-3
- Write the network. Because the outer gates are ANDs and the middle ones NORs, , , , , , and .
- The faulty circuit. Because is stuck at 1 and 1 controls a NOR, for every pattern, and . The faulty output is 1 whatever the inputs.
- Control. Because the good must be 0 (the opposite of its stuck value), : or . Now = 0/1.
- Both branches. Because the good must be 0 (the faulty one is 1), the NAND needs both inputs at 1: needs , and needs . Now = 1/0, = 1/0, = 0/1.
- A pattern. Because every pair only has to avoid 11, the simplest is all zeros: = 000000. Good: , , . Faulty: . Detected.
- Unique? Because each of the three pairs , , may be any of 00, 01, 10, there are detecting patterns of the . 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) = 000000 opens both branches, and = 0/1: detected. (b) 110000 opens only the lower branch: holds the upper NOR at 0 in both circuits (✗), the NAND sees a 0, and = 1/1: not detected.
Check. By the one-branch counterexample: = 110000 opens the lower branch (, = 0/1, = 1/0) but holds at 0 in both circuits, so in both: not detected, as step 4 predicts. By fault equivalence: stuck at 1 and stuck at 0 also force , so they are detected by the same 27 patterns, and simulation agrees; stuck at 0, by contrast, needs with and free of 11, patterns.
Answer: for example = 000000 (any pattern with , and ): the good output is 0, the faulty output 1. It is not unique: 27 of the 64 patterns detect the fault. Both branches from 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
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 . 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 → () → () → () → scan_out, all on one clk and one scan_enable. The labels – are this page’s. The box is the combinational logic (the paper’s “Comb. Logic”): its outputs , , return to the flip-flops’ D inputs; , are primary outputs and a primary input.
The exam’s own figure (FN17-4, p9)

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

Reading the figure. From the wiring (checked on full-resolution crops): ; ; , which is both and ; (a three-input NAND); (a NOR). The flip-flops hold , , and capture , , .
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)
Hint
What it asks. The flip-flop values (and the primary input ) that make the good 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 to 1 needs , which makes the OR’s output 1 and blocks the NOR to ; only the NAND to 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 .
- Conditions. 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 is wrong.
- The tempting alternative. Observing at because the NOR is “closer”. The control condition makes the NOR’s side input 1, which blocks it. Also tempting: shifting in in that order, which loads them reversed.
FN17-4a
- Control. Because must be 1 in the good circuit (opposite to its stuck 0), . Now = 1/0.
- The NOR is blocked. Because once , and 1 controls a NOR, in both circuits. No path through .
- Observe through the NAND. Because passes only if : (primary input), and needs . Now = 0/1.
- The pattern. and . Because every input was forced, it is the only detecting pattern of the 16 (); exhaustive simulation agrees, with or without and observed.
- The order. Because the first bit shifted in ends in , scan_in carries , , = 1, 1, 0 on three rising edges with SE = 1. The chain then holds: after the first edge ; after the second ; after the third .
Part (a)‘s pattern in the logic (new figure; good/faulty values computed): , . = 1/0 reaches (thick) because the NAND’s other inputs, and , are 1; at the NOR, is controlling (✗), so = 0/0.
Check. By the faulty circuit at that pattern: makes against the good 0, while and in both: exactly one bit differs, as the path argument says. By trying the obvious alternative, : then , a NAND’s controlling value, and in both circuits. And by contrast with the opposite fault: stuck at 1 needs , which many patterns give, and 6 of the 16 detect it.
Answer: scan into the flip-flops and hold the primary input . In time order scan_in carries 1, 1, 0 ( first, last). The fault is observed at ; cannot carry it, because 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 () is part of the pattern but is not scanned. To load , shift in first.
The answer key agrees
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)
Hint
What it asks. The captured values 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 , , into , , ; evaluate them in both circuits. Shifting then brings them out from the scan_out end: first, last. The fault sits in , so it is the last bit out.
Why this formula. The capture rule at SE = 0, and scan_out in time order (Chapter 22 §5).
- Where it comes from. scan_out is wired to ‘s Q, so after the capture edge it shows ‘s new value, ; each unload edge moves ‘s value into , then ‘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 as “what is scanned out”: that is the register view, read backwards.
FN17-4b
- The good circuit at , . Because , and : , , . Captured (0, 0, 1).
- The bad circuit. Because is stuck at 0: , , . Captured (1, 0, 1).
- Scan out. Because scan_out is ‘s Q, it reads , then , then : good 1, 0, 0; bad 1, 0, 1. The first two bits agree; the third differs.
- The primary outputs. Because and do not depend on , 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 . After the capture edge C, scan_out shows , then after U1 and after U2: 0 in the good circuit, 1 with 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, , ends nearest scan_in; in (b) the bit that comes out last, , is the one nearest scan_in. Both are , 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 differs, consistent with (a)‘s single path.
Answer: after one capture edge the registers hold good and bad . Scanned out ( first), the good circuit gives 1, 0, 0 and the bad circuit 1, 0, 1: the third bit out, , reveals the fault.
Remember. Evaluate the captured ‘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
FN19-4: scan waveforms for a stuck-at-1 fault (20 points)
You need
The scan test, cycle by cycle (Chapter 22 §5). With flip-flops: 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.
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: – down the left column, at the bottom right, at the top right (scan_out). It names the upper AND’s output ; the lower AND’s output is the paper’s . and . The left column’s D inputs come from logic outside the figure.
The exam’s own figure (FN19-4, p9)

Reading the figure. Following each Q to the next SI gives the chain scan_in → → → → → → → scan_out: ‘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 and feeds only and .
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
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 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. feeds only the NOR into , so the pattern must control to 0 and hold the NOR’s other input at 0; , are free. The waveforms are six load edges, one capture, and unload edges; 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 ; scan_out in time order .
- Where it comes from. Each shift edge moves every bit one place toward scan_out; scan_out is ‘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 : does not depend on . Unloading only one edge: that shows and only if scan_out is sampled after the edge; say where you sample.
FN19-4
- Control. Because must be 0 in the good circuit, . Now = 0/1.
- Observe at . Because reaches only the NOR, and the NOR passes it only if (non-controlling), . Then = 1/0.
- Choose a load. Because , are free, choose (any of of the 64 loads works; all zeros is the simplest). Good: , , , . Faulty: , .
- SE and the load. Because the first bit in ends in , scan_in carries = 0, 0, 0, 1, 0, 1 on the rising edges L1–L6, each bit steady around its edge, with SE = 1.
- 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: , (– take their outside inputs).
- Unload and detect. Because scan_out is ‘s Q: right after C it shows = 1 in both circuits; after U1 it shows ‘s capture, : 1 good, 0 faulty. Mark the bit between U1 and U2. U2–U5 bring out ‘s captures (unknown); U6 completes the six-edge unload, so a tester that samples just before each edge reads ‘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 = 0, 0, 0, 1, 0, 1, loading 101000. After C, scan_out shows in both circuits; after U1 it shows : 1 in the good circuit, 0 with stuck at 1 (≠). That is where the fault is detected. The later bits are ‘s captures, from logic off the figure.
Check. By counting from scan_out: is the second flip-flop from scan_out, so its captured value is the second bit out; (first bit out) carries , which the fault cannot change. By the count: of the 64 loads, those with (3 ways), (3 ways) and any (4 ways) detect: 36, which exhaustive simulation confirms; every one shows the fault at only.
Answer: load, for example, (any load with and ): 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 in both circuits after the capture, then , 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 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
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 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.
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:
| D | SI | SE | CLK | Q[n+1] |
|---|---|---|---|---|
| 1 | X | 0 | rising edge | 1 |
| 0 | X | 0 | rising edge | 0 |
| X | X | X | falling edge | Q[n] |
| X | 1 | 1 | rising edge | 1 |
| X | 0 | 1 | rising edge | 0 |
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 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
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 , then a static master–slave flip-flop on . 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 , built from a multiplexer and a positive-edge flip-flop.
- Where it comes from. The multiplexer gives at all times; the flip-flop copies 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 .
- 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 and Q (one per latch) make Q = ; 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
- The multiplexer. Because D must pass while SE = 0, its transmission gate has its NFET on and its PFET on SE; SI’s gate is the mirror (NFET on SE, PFET on ). Their outputs join at : .
- The master latch. Because it must follow while CLK = 0 and hold when CLK rises, its input gate has its NFET on 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 ) close the loop while CLK = 1.
- 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 , and its feedback gate the reverse. Its forward inverter drives Q.
- The complements. Because the gates need and , two inverters make them from SE and CLK.
- The polarity. Because each latch has one forward inverter, is inverted twice on its way to Q: Q = at the rising edge, as the table needs.
- The count. (mux) (two latches, each two gates and two inverters) (the two complement inverters) 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 . A static master–slave flip-flop follows: the master latch is transparent while CLK = 0 and the slave while CLK = 1, so Q takes 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 and .
Check. By walking the table through the circuit. Row 1 (D = 1, SE = 0): while CLK = 0 the D gate conducts, 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 and : 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
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?
Hint
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 ( with SE = 1, so the chain is a shift register) and the capture rule ( with SE = 0); the test length edges for patterns on flip-flops.
- Where it comes from. edges load a chain of ; one edge captures; the next load’s edges shift the result out at the same time; 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
- 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 clock edges, whatever logic sits between the flip-flops.
- 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.
- 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.
- 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 edges later. (ii) For each pattern: with SE = 1, shift the pattern in ( 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 ( 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.
- The cost, for example. Because one pattern takes edges when loads and unloads overlap: a chip with 1,000 scan flip-flops and 500 patterns needs edges, 5.015 ms at a 100 MHz scan clock; without the overlap, .
Check. By running the procedure on FN17-4 above: three load edges (1, 1, 0), one capture edge with , 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 ‘s cone. By the cost: per pattern, 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 edges.
The answer key agrees
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 patterns on a chain of takes 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: , with the capturing clock’s lateness (skew).
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 – (outputs –) are chained in layout order, scan_in → → → → → scan_out. A primary input and a primary output . The logic: ; ; ; ; ; ; ; . Node is stuck at 1. (a) Write the good and faulty values of , , , , and once is controlled. (b) How many of the 32 patterns detect the fault? (c) For which does alone show it, and why does , 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 → → → → → scan_out. (b) The logic. Names join the two panels: is ‘s output and its input; is a primary input and a primary output.
Hint
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 (good ). Then the fault reaches four outputs, each with its own side condition: directly (), through (), through (, ), and through both and , 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 ‘s Q, so 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 only with ; an AND passes only with .
- Conditions. Single fault; applied during capture; the chain’s positions are 1 = , 2 = , 3 = , 4 = .
Variation 1
- (a) The branches. Because makes the good (faulty 1): is ; is . So is ; is ; is ; is .
- (b) The count. Because a pattern detects if differs (), differs (), differs () or differs (, ), the only failing choice of is , , . With forced: of the 32.
- (c) The XOR. Because is , it differs when : (only branch open) and (only branch open). With , both branches are open: good , , ; faulty , , . Both inputs flip, the XOR does not.
- (d) First bit out. Because scan_out is ‘s Q, comes out first; it differs when . Take , : then only differs. By chain position the load is , so scan_in carries position 4 first: = 1, 0, 1, 0.
- (e) Capture and unload. Good: , , , so , , , . Faulty: , , , , the rest the same. In chain order : 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. in both.
Check. By exhaustive simulation of both circuits: exactly 7 of the 32 patterns detect, all with , 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) , , , , , . (b) 7 of 32. (c) or ; with both XOR inputs flip and cancel. (d) , ; scan_in 1, 0, 1, 0. (e) Captured = (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 (, , , , ), observed at , , through the chain and , directly. Model every single stuck-at fault at the nine nodes , , , , , , , , . (a) How many faults, and what fraction does FN17-4a’s pattern () 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
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 , , , , , , , ; the candidates are ST0, 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 affects every gate feeds); and are observed directly as well as through the gates they feed.
Variation 2
- (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 /0, /1, /0, /0, /0, /0, /0, /1, /1: 9 of 18, 50 %. (For example ST1 makes and so = 0/1; ST0 drops and is still 1 through , but flips.)
- (b) The second pattern. Because the undetected faults are mostly the low-side ones, try all zeros, 0000: it catches /1, /1, /1, /1, /0, /0 that 1011 missed (8 in all, 6 new): 15 of 18.
- (b) The third and fourth. Because /0, /1 and /1 remain: 0110 () makes and and catches /0 and /1 (17); 0011 (, ) makes and , so follows , and catches /1 (18). The set 1011, 0000, 0110, 0011: 100 %.
- (c) Minimal? Because /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.
- (d) Test time. Because patterns on flip-flops take edges with overlapped loads, against 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: /1 is seen only through , which needs , so ; /0 needs . 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: , 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 = 45 ps and = 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 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 ; hold: (Chapter 14 §2).
- Where it comes from. The receiving flip-flop must still hold its old SI for after its own (late) edge, while the new value leaves the launching flip-flop after the early edge.
- Conditions. Chains of equal length shift together on one clock; the numbers are illustrative.
Variation 3
- (a) One chain. Because edges at 20 ns: 240.22 ms.
- (a) Four chains. Because the chains shift in parallel, : edges, 60.07 ms. Without overlap, edges, 120.02 ms.
- (b) The hold check. Because the link has no logic, : slack −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.
- (c) Padding. Because each buffer adds at least 25 ps, the link needs buffers: slack ps (two give −15 ps).
- (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, , 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 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 is 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 in every buffer delay changes the arrival by ; for a supply change, (Chapter 21 §8, and Chapter 23 §6); a static 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.
- Name the mechanism in the question’s own terms (latency → PVT → skew and jitter; a neck → electromigration).
- Say why it scales: proportional to latency; proportional to current density, accelerated by temperature and voltage.
- Say the consequence (skew and jitter eat the cycle: the long path needs ; the chip fails in the field).
- 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 plus the worst early capture into the cycle, and the short path must exceed plus the worst late capture.
Delay and supply (Chapter 23 §6). A buffer’s delay goes as in the velocity-saturated model, so a fractional supply change changes it by , with .
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 after the root’s; one buffer on B’s branch sees a lower supply. (b) A static difference delays clkB by the same 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
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. , and the like for process and temperature.
- Where it comes from. Each buffer’s delay changes by the same fraction under the same variation, so the path’s arrival changes by times the sum of the delays, ; for the supply, (Chapter 23 §6).
- Conditions. Small variations (first order); only the buffers’ share of 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
- Latency itself is harmless. Because launch and capture flip-flops both receive the clock late, an equal latency cancels from every timing constraint.
- Variation acts in proportion. Because process, supply and temperature change every buffer’s delay by a fraction , a path of latency arrives early or late.
- Static becomes skew, transient becomes jitter. Because a lasting difference between two branches (a slow region, a lower local ) 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.
- They cost cycle time. Because the long path must fit into the period, and the short path must beat plus them, each picosecond lost lowers the clock rate or the hold margin.
- For example added. Because at = 0.9 V, = 0.35 V: a 6 % supply difference between two branches gives 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
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).
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 necked by a particle to . The current crowds into the neck, where its density is 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
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. , so (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
- 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.
- The mechanism. Because the full current passes the neck, its density is times the design value (for example 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.
- What accelerates it. Because electromigration is thermally activated and driven by current density, it runs much faster hot and at higher current.
- 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.
- 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.
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
Harder variations: clock latency and reliability
You need
Skew and jitter from latency (Chapter 23 §6). , with and the buffers’ share of the latency (wire RC does not move with the supply). The long path: .
Current density and its limits (Chapter 23 §4). ; 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 .
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 ( = 500 ps) runs at = 0.9 V with = 0.35 V (velocity-saturated buffers). Its worst register-to-register path has = 40 ps, = 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 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
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. with (Chapter 23 §6); the long-path rule with skew and jitter.
- Conditions. First order in ; the worst-case directions add; exact delays from for (d).
Variation 4
- The sensitivity. Because : a 1 % supply drop slows a buffer by 0.636 %.
- (a) Network A. Because all 1,100 ps are buffers: skew ps, jitter ps. The path needs ps: at most 1.90 GHz.
- (b) Network B. Because only ps are buffers: skew 7.6 ps, jitter 13.4 ps; the path needs 471 ps: up to 2.12 GHz.
- (c) Slack at 500 ps. Because the base path is ps: A has ps (fails), B ps (passes).
- (d) The exact droop. Because , a 7 % droop (to 0.837 V) multiplies a buffer’s delay by 1.0503, against the first-order : 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, (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 nears ) 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 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
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 ; the die still works. Burn-in raises the current (for switching current, ), 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. and (Chapter 23 §4); a via carries times its area.
- Conditions. DC current; the via limit taken as the metal’s (for example); burn-in current nominal, as for switching current .
Variation 5
- (a) The width. Because µm; at 3.6 µm, mA/µm², 17 % under the limit.
- (b) The neck. Because the current and thickness are unchanged, mA/µm², 2.5 times the limit. The wire still conducts, so every logic test passes.
- (c) Burn-in. Because the current rises to 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.
- (d) Vias. Because each via carries mA: vias at nominal, at the burn-in current.
Check. By ratio: the neck’s density over the strap’s is , 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”, "", “continue to scale down ”, “lowest value of 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 , , a supply below , 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 of gate voltage, (Chapter 4 §11). The drain end subtracts a back-flow, a factor that is close to 1 once exceeds about (78 mV) but goes to 0 as (Chapter 23 §15, added). The “on” device is only times stronger than the “off” one, so two questions arise. How low? As 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 to switch, but each operation takes longer, and every gate leaks for that whole time.
Why these, and their conditions. The current: memorize (Chapter 4); the drain factor is background device physics (Chapter 23 §15), and it matters only where is a few or less, which is exactly the low output. The limit: derive it from Kirchhoff’s current law at the output: the NFET (gate at , drain at ) sinks what the PFET (gate below its source) leaks; cancels. The energy: derive it in three lines. Switching: nodes rise, each drawing from the supply (Chapter 6 §6). Time: the chain’s delay, stages of . Leakage: gates each leak at for ; , so cancels. Setting with gives ; the exponential touches the line only if (tangent at ). Memorize the test: a minimum-energy supply exists only for deep logic with low activity, . Otherwise the energy keeps falling as falls, and the lowest-energy supply is the functional limit.
The moves.
- Write the currents with the gate voltages the question fixes (the input level), and decide which drain factors matter.
- For the limit: set the low output to , balance the currents, cancel , solve by successive approximation; quote at the answer.
- For the energy: write with and with the chain’s delay; factor out .
- Test for a minimum: compute (or with a full-swing delay) against . If a root exists, iterate from , then , and check it is above the functional limit and below . Then compare its energy with the energy at the functional limit: the root is only a local minimum (the model’s also falls toward ), and just above , up to 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 , or full rail); the delay convention (50 % point, , as the course and FN10 use, or the full swing , as FN17’s key uses); and whether the leakage runs for the chain’s delay or a clock period.
Traps. Writing energy as or : those are charges; energy is charge times (FN17-10c’s key). Quoting the ratio of the two devices’ currents at the operating point as "" (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 = 0.2 V with = 80 mV/decade, each device’s ; with = 10 nA, = 3.16 µA, and a 10 fF load has a 50 % delay ps.
Subthreshold current with the drain factor (Chapter 23 §15, added). , = 26 mV. The factor is 0.95 at = 78 mV and falls to 0 as .
A valid logic level. A low output must be at most and a high at least (“a swing of at least to ”). 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 with logic signals that swing between ground and . (assume V; a handwritten addition on the paper.) (a) Let = 0.2 V. Assume that the of each transistor is 10 nA. (For the nFET, is defined by = 0.0 V and . For the pFET, is defined by = 0.0 V and .) If the subthreshold slope is 80 mV/decade, what is the ratio for each transistor? (For the nFET, is defined by and . For the pFET, is defined by and .) (10 points)
FN10-2’s inverter (Final 2010, p3, redrawn), with part (c)‘s operating point added: input (the output of an identical stage), output . The off PFET leaks (); the on NFET, with only across it, sinks . At the lowest working supply the two are equal.
The exam’s own figure (FN10-2, p3)

Part (c): the lowest supply for a 10–90 % swing (10 points)
FN10-2c, p4. Imagine that we continue to scale down . Find the lowest value of at which the inverter will operate with an output swing of at least to . What is the ratio for each transistor at this value of ? (10 points)
Hint
What it asks. A supply voltage: the lowest at which the low output still reaches (and, by symmetry, the high output ). Then part (a)‘s ratio, “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 , so the low output rises as falls; it settles where the NFET’s drain factor, small because its is only the low output, cuts its current to the PFET’s leakage. Set , with the input from an identical stage at , and find the that balances the currents.
Why this formula. , and .
- Where it comes from. NFET: , : . PFET: , , whose drain factor is close to 1: . Equal currents; divide by .
- 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 and for both devices (the paper’s), so the high output is the mirror image of the low one and one condition gives both. = 26 mV (room temperature, added). The paper’s “logic signals that swing between ground and ” 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 for each transistor at against 0, both with : . It is not the ratio of the NFET’s and PFET’s currents at the operating point.
FN10-2c
- The currents at the low output. Because the input is and the output : (its is only , so its drain factor is small); (its , factor ≈ 1).
- Balance. Because the output draws no other current, ; cancels: , that is, with = 0.08 V and = 0.026 V, .
- Solve. Because the left side falls and the right side rises with , there is one crossing; by successive approximation = 65.3 mV. At it both sides equal 0.222: the NFET’s gate drive, = 4.50 times the PFET’s, is cut by its drain factor to exactly the PFET’s leakage.
- The ratio. Because for each device (part (a)‘s definition): = 6.56 (6.49 at a rounded 65 mV). The same for the NFET and the PFET.
- The other readings. Because the PFET’s own drain factor, , is about 0.9 at this supply, keeping it lowers the answer to 62.0 mV; with a full-rail input (NFET at , PFET at ) 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 = 80 mV/decade and = 26 mV). Left of the crossing the dashed side is below the solid one: the NFET, with only across it, cannot sink the PFET’s leak, and the output stays above . The crossing is the lowest working supply, = 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 ): at 100 mV the low output is 2.7 mV, , comfortably valid; at 50 mV it is , 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: 65 mV (65.3 mV: , with the input from an identical stage at and the NFET’s drain factor). There, 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 falls, until it only matches the off device’s leakage. Balance the two currents at the output level you need. is always .
The key’s working (FN10-2c, p4, the key’s handwriting)

The answer key differs
FN17-10c: the supply for minimum energy (about 8 points)
You need
FN17-10a–b, solved on FN2. Each inverter’s input is µm × 2 fF/µm = 30 fF, so every node of the chain carries = 30 fF (the last one the 30 fF load). (a) . (b) Each stage’s 50 % delay is ; the chain’s is , 7.59 ns at 0.2 V (the key times the full swing, : 15.2 ns).
Switching and leakage energy (Chapter 6 §6). A node that rises draws from the supply (half stored, half lost); one that falls draws nothing. A static gate with across its off device dissipates , so over a time it uses .
The functional limit (FN10-2c above). With = 80 mV/decade and = 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 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 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 ? (b) Estimate the delay of the inverter chain (as a function of ). (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, inverters of µm, every node = 30 fF (the last one the 30 fF load), = 10 nA, = 80 mV/decade. The transition’s time is set by the stages charging with one after another; meanwhile every inverter leaks 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 . Include both the dynamic power dissipated and the leakage of all the inverters during the delay time of the chain. What value of minimizes this energy? (Point value overwritten on the scan; it appears to be 8.)
Hint
What it asks. 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 .
The idea. Lowering the supply saves switching energy as , but slows every stage tenfold for each 80 mV, so the eight inverters leak for longer. Both terms carry ; the leakage factor grows as falls, but in this chain never fast enough to beat the . 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. with , so ; , .
- Where it comes from. Switching: in one transition through eight inverters, alternate nodes rise; 4 rising nodes of = 30 fF draw . Leakage: each inverter has one off device with across it, leaking , for the chain’s delay : . cancels.
- The stationary point. With : . The bracket’s smallest value, at , is . So for every : no minimum. In the general form, , below .
- Conditions. The course’s 50 % delay. With the key’s full-swing delay the leakage term doubles, , the condition becomes , and its bracket’s minimum (at ) is 7.36: still no root. DIBL ignored; the model holds only above the functional limit.
- The tempting alternative. Writing the switching term as and the leakage as (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
- The switching energy. Because four of the eight nodes rise in one transition, each drawing : .
- The leakage energy. Because all eight inverters leak with across them for the chain’s delay : . cancels; only remains.
- The total. . The bracket grows as falls (leakage per operation), the shrinks.
- Look for a stationary point. Because turns into , and . Its bracket is smallest where , , and is 6.45 there: always positive. rises with everywhere; there is no interior minimum.
- So go as low as the chain works. Because the energy keeps falling as falls, the lowest-energy supply is the lowest at which the logic still gives valid levels: FN10-2c’s criterion with the same = 80 mV/decade and = 26 mV, 65 mV (65.3). There fJ per transition, against 1.74 fJ at 100 mV and 4.92 fJ at 200 mV.
- When would a minimum exist? Because in general with has a root only for , a minimum-energy supply above the functional limit needs deep, quiet logic, : many gates leaking for every one that switches. This chain has .
FN17-10c’s energy per transition (computed from with = 30 fF; dashed , dotted ). rises for every : there is no minimum, and the energy is lowest at the functional limit, = 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: = 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, , so leakage is 55 % of the total; it grows as falls, but the falls faster. By the limit’s role: the model’s as only because it ignores that the logic stops working; the functional limit is where the model must stop.
Answer: (with the course’s 50 % delay ; in place of 8 with the full-swing delay). is positive for every : there is no interior minimum. The energy keeps falling as falls, so the minimum-energy supply is the lowest working supply, about 65 mV by FN10-2c’s 10–90 % criterion, where fJ per transition. (The key’s 0.133 V minimizes the charge drawn, not the energy.)
Remember. Energy is , and leakage energy is times the operation’s time. Test against : below it, there is no minimum-energy supply, and the answer is the functional limit. On the exam, write the energy with , 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)

The answer key differs
Harder variations: the lowest supply and minimum energy
You need
The functional limit (FN10-2c). Balance and solve for ; with and both scaled by a factor, the solution scales by the same factor.
Energy per operation (FN17-10c). ; a stationary point needs , , . With two roots, the larger () is a local minimum, to be compared with the energy at the functional limit; iterate from . At the minimum, .
Subthreshold delay (FN17-10b). The chain’s 50 % delay is .
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 = 2,000 gates, each driving = 4 fF; its critical path is = 60 gates deep; per operation only = 0.08 of the nodes rise. The devices have = 85 mV/decade (for example), = 26 mV, and the block runs subthreshold ( = 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 = 0.16, which way does the minimum move?
Variation 6’s energy per operation (computed from with = 85 mV/decade). With the curve has a true minimum: 251.1 mV and V² for = 0.08 (solid), far below its 22.35 at the functional limit = 67.9 mV. Doubling the activity to 0.16 (dashed) moves the minimum down to 217.9 mV.
Hint
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. and (approach 3).
- Where it comes from. : , so .
- Conditions. The larger root () is a local minimum (the smaller is a maximum), so it must also beat the energy at the functional limit, step 3; the iteration converges to it from .
Variation 6
- (a) Existence. Because : yes.
- (b) The root. Because the iteration from 6 settles at : mV, below (subthreshold holds). The other root, , is a maximum.
- (c) Against the limits. Because the functional limit at 85 mV/decade is 67.9 mV, is far above it. : V² at 251.1 mV, at 67.9 mV, at 0.3 V. With fF = 8 pF: 57.2 fJ per operation at the minimum against 178.8 fJ at the functional limit.
- (d) Leakage share. Because at the minimum , leakage is % of the total.
- (e) More activity. Because , the root falls to , = 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 , and 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, . (b) = 251 mV (). (c) 57.2 fJ per operation, against 178.8 fJ at the 67.9 mV functional limit (and pF = 64.0 fJ at 0.3 V). (d) 29.4 % leakage. (e) down, to 218 mV.
Remember. Deep and quiet () logic can have a minimum-energy supply, at a few , once its energy also beats the functional limit’s, as (c) checks; at it leakage is 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, = 30 fF per node, = 10 nA, = 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 and to scale with absolute temperature (the ideality fixed), and to rise to 100 nA when hot (for example). (a) The hot , 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 × , scaled by ): cold ( = 80 mV/decade, = 10 nA, solid) and hot ( = 95.5 mV/decade, = 100 nA, dashed). The cold chain meets 50 ns from 115.4 mV up; at its = 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
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 .
The idea. Heat raises and with it , so the subthreshold characteristic stretches: the functional limit moves up in proportion. Heat also raises , 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 , and (FN17-10c; cancels from it).
- Where it comes from. The balance depends on only through and : scale both by and the solution scales by .
- Conditions. The ideality factor fixed (so ); DIBL ignored.
Variation 7
- (a) Hot. Because and scale by : = 95.5 mV/decade, = 31.0 mV, and the functional limit moves from 65.3 mV to mV.
- (b) Cold speed. Because ns: by successive approximation 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.
- (c) Hot speed. Because is ten times larger and 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 peaks at mV, where the hot chain would take 18.3 ns, so hot it never misses 50 ns.
- (d) The choice. Because energy falls with 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 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: , the temperature ratio, as step 1’s argument requires. By the energy’s -independence: the hot energy differs from the cold only through , since cancels from ; with a larger the factor is larger, so the hot energy is higher, as found.
Answer: (a) = 95.5 mV/decade, = 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.