FT1. Stuck-at faults, scan, reliability and minimum energy: the exam way
This is the exam way of FT1: each part as you would write it on the paper, with what to recognize, the lines to write, the trap to watch and the answer. Every part keeps the anchor it has on FT1, so the switch at the top of the page takes you to the same part’s full solution. The methods are four cards of the playbook: stuck-at faults and scan for FN10-3, FN17-4, FN19-4 and PS5-Q3b; the scan flip-flop for PS5-Q3a; clock latency and reliability for FN17-1d and FN17-1e; and the subthreshold supply for FN10-2c and FN17-10c. FT1 sets each method out in full in its approach sections (scan, short answers, the supply). FT1’s seven harder variations stay on FT1 only, at the end of each family: stuck-at faults and scan, latency and reliability and the lowest supply and minimum energy. Work them there, against the budgets their titles give.
The clock. The past finals gave 180 minutes. FN10 had 200 points, 0.9 min a point, so FN10-3’s 10 points and FN10-2c’s 10 have about 9 minutes each. FN17 and FN19 had 250, 0.72 min a point: FN17-4’s two 10-point parts have about 7 minutes each, FN19-4’s 20 points about 14, the 5-point short answers FN17-1d and FN17-1e about 4 each, and FN17-10c’s 8 points (overwritten on the scan) about 6. PS5 is a problem set and gives no points; each of its parts gets the budget of a final part with the same work at 0.9 min a point: about 9 minutes for Q3a’s drawing (as a 10-point part) and 7 for Q3b’s two short answers (as 8 points). (The past midterms gave 75 minutes for 150 points, 0.5 min a point: a final part has more time, and more steps.)
Conventions. Fault values are written good/faulty: “0/1” is 0 in the good circuit and 1 in the faulty one; ST0 and ST1 are stuck at 0 and at 1. Patterns list the inputs in the order the part names them. A chain runs scan_in → → … → → scan_out, so scan_in carries first and scan_out gives first; L, C and U name the load, capture and unload edges. Subthreshold numbers use the papers’ = 80 mV/decade and = 10 nA, with = 26 mV; .
FN10-3: a stuck-at-1 test through reconvergent fan-out (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)
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 outer ANDs’ outputs) and , (the NORs’ outputs) are this guide’s names.
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
Recognize. Stuck-at faults and scan: “a stuck-at-one fault at node X”, “propagate it to the output”, “is this pattern unique?”. fans out to two NORs that meet again at a NAND: a reconvergence. About 9 minutes: write the faulty output first, and the condition on both branches follows from it.
On the paper.
- , , ; , ;
- Faulty: controls both NORs: , so for every pattern
- So the good must be 0: , both branches open
- Control: good , so ; = 0/1
- needs ; needs
- Pattern = 000000: = 1/0, = 1/0, = 0/1 ✓
- Unique? Each pair , , is 00, 01 or 10: of
- Not unique; both branches must be sensitized
Watch out. The single-path recipe fails here. Opening one branch (110000: , but holds at 0) gives = 1/1, because a steady 0 into the NAND is its controlling value. “Unique?” asks for a count, not a yes.
Answer: for example = 000000 (any pattern with , and ): the good is 0, the faulty is 1. Not unique: 27 of the 64 patterns detect it. Both branches from must be sensitized: the faulty is 1 for every pattern, so the good must be 0, and that needs both NORs at 1.
FN17-4: a stuck-at-0 fault behind a three-flip-flop scan chain (20 points)
FN17-4, p9. Consider the circuit shown below.
FN17-4’s scan chain (Final 2017, p9, redrawn): scan_in → () → () → () → scan_out, on one clk and one scan_enable. The labels – are this guide’s. The block’s outputs , , return to the D inputs; , are primary outputs and a primary input.
The block inside (FN17-4, p9, redrawn). is the paper’s name; (), the OR’s output, is this guide’s.
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
Recognize. Stuck-at faults and scan: “controllability and observability”, “a stuck-at-zero fault at node A”, “what value must be scanned into the flip-flops? In what order?”. About 7 minutes: control first, because here it picks the path; then reverse the load for scan_in.
On the paper.
- , ,
- ,
- Control: good , so ; = 1/0
- Then , controlling for the NOR: = 0/0, blocked
- Observe at : needs ; (primary input, held by the tester)
- = 0/1 ✓
- Pattern , : every input forced, the only one of 16
- The first bit in ends in : scan_in carries = 1, 1, 0 (SE = 1, three edges)
Watch out. looks like the short way out, but the control condition makes the NOR’s other input 1. Shifting in in that order loads them reversed. is applied, not scanned.
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 (the NOR to is blocked by ); it is the only pattern that works.
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
Recognize. Stuck-at faults and scan: “clocked once”, “scanned out of the registers”, the “bad” and the “good” circuit. About 7 minutes: evaluate the logic twice, then reverse for scan_out.
On the paper.
- “Clocked once”: one capture edge, SE = 0:
- Good, at , 011: , , : , ,
- Bad, : , ,
- Registers : good (0, 0, 1), bad (1, 0, 1)
- scan_out is ‘s Q: first, then , then
- scan_out: good 1, 0, 0; bad 1, 0, 1: the third bit out differs
- in both circuits: only the chain sees the fault
Watch out. is the register view; on scan_out the same bits come in reverse order. Label which one you give, or give both: the key gives only the registers.
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.
FN19-4: scan waveforms for a stuck-at-1 fault (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)
FN19-4’s circuit (Final 2019, p9, redrawn). The flip-flops are numbered in chain order, – down the left, at the bottom right, at the top right (scan_out); is this guide’s name, the paper’s. The left column’s D inputs come from logic outside the figure.
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
Recognize. Stuck-at faults and scan: “sketch the waveforms for scan_enable, clock, scan_in, and scan_out”, “clock the system once”, “show where this would be detected”. About 14 minutes: 4 for the chain order and the pattern, 10 for the drawing.
On the paper.
- Chain (follow Q to SI): scan_in → … → (bottom right) → → scan_out
- , ; ,
- Control: good , so ; = 0/1
- Observe at ( never sees ): , so ; = 1/0
- Load = 101000 (36 of the 64 loads work; 000000 is the simplest)
- scan_in, first: 0, 0, 0, 1, 0, 1 on L1–L6, SE = 1
- SE falls after L6, before C; one capture edge C; SE rises again before U1
- After C: scan_out in both circuits
- After U1: scan_out : 1 good, 0 faulty, marked “detected”
- U2–U5: ‘s captures (unknown, from logic off the figure); U6 ends the unload: 6 + 1 + 6 = 13 edges
Watch out. The fault shows in the second bit out, not the first: carries , which cannot change. Number the flip-flops in chain order before you count, and change SE between edges, never on one.
Answer: load, for example, = 101000 (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 after the first unload edge, 1 good and 0 faulty: the fault is detected at the second bit out.
PS5-Q3: the scan flip-flop and the scan test
PS5-Q3, p3. 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 |
PS5-Q3 prints no figure. This is 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): 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
Recognize. The scan flip-flop: a function table with SI and SE, “draw the schematic for a static flip-flop”. About 9 minutes, as a 10-point drawing (PS5 gives no points): the mux, the master, the slave, the complements.
On the paper.
- The table: at each rising edge; a falling edge holds
- Mux: two transmission gates into node ; D’s has its NFET on , PFET on SE; SI’s the mirror
- Rising edge: master transparent while CLK = 0, slave while CLK = 1
- Master: input gate (NFET , PFET CLK), forward inverter; feedback inverter and gate (NFET CLK, PFET )
- Slave: the same with the clocks swapped; its forward inverter drives Q
- Static: each latch closes its feedback loop while it holds
- Two inversions from to Q: Q ✓
- Two inverters make and
- Count: transistors
- Row 3: CLK falls, the slave closes and holds, Q unchanged ✓
Watch out. Chapter 13’s drawing puts the master on CLK (transparent while CLK = 1): that cell captures at the falling edge, against the table. A latch without its feedback loop is dynamic, not static.
Answer: the circuit drawn above: a multiplexer of two transmission gates (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), with inverters for and : 24 transistors.
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
Recognize. Stuck-at faults and scan: “how might this improve our ability to test a chip?”, “what would be the test procedure?”. Two short answers in about 7 minutes, as 8 points: the course’s two words, then the phases with SE’s value in each.
On the paper.
- SE = 1: the flip-flops form one shift register, scan_in → … → scan_out
- Controllability: any state is shifted in, in edges
- Observability: one capture edge, then every captured D is shifted out
- So only combinational logic is left: stuck-at patterns, generated automatically
- (i) Test the chain: shift a known sequence (0101…) through; it emerges edges later
- (ii) SE = 1: shift the pattern in, edges, the last flip-flop’s bit first
- (iii) SE = 0: apply the primary inputs, one capture edge
- (iv) SE = 1: shift the response out, edges, comparing with the good response; load the next pattern meanwhile
- (v) Any mismatch fails the chip; its position names the flip-flop whose logic holds the fault
- Cost: edges; e.g. = 1,000, = 500: 501,500 edges
Watch out. Answer both questions: the benefit in the course’s two words, controllability and observability, and the procedure with SE in each phase. Test the chain itself first; running programs on the chip (functional testing) is not the answer, since its coverage of defects is unknown.
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 for each pattern, shift it in with SE = 1, capture once with SE = 0 and the primary inputs applied, and shift the response out with SE = 1 (loading the next pattern) and compare it with the good circuit’s.
FN17-1d: why low clock latency (5 points)
FN17-1d, p3. Why is reducing the latency in a clock distribution desirable? Explain. (5 points)
FN17-1d prints no figure. This is 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, and one buffer on B’s branch sees a lower supply; (b) a static difference delays clkB by the same every cycle (skew), a varying supply moves its edge within a band (jitter).
The answer (5 points)
FN17-1d, p3. Why is reducing the latency in a clock distribution desirable? Explain. (5 points)
Hint
Recognize. Clock latency and reliability, the latency short answer: “why is reducing the latency … desirable? Explain.” About 4 minutes: three sentences, and a number if time is left.
On the paper.
- An equal latency cancels: launch and capture are both late
- But is buffers and wires whose delays vary with PVT, each by a fraction
- The arrival error is about : proportional to the latency
- Static differences between branches → skew; transient ones (supply noise) → jitter
- ,
- Both come off the cycle, , and off the hold margin
- e.g. 0.9 V, = 0.35 V: = 0.636; a 6 % difference gives 30.5 ps in 800 ps, 11.5 ps in 300 ps
Watch out. “Latency adds delay to every path” earns nothing: it cancels from both ends of the path. The marks are for the mechanism: PVT variation acts on the latency, in proportion, as skew and jitter.
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.)
FN17-1e: infant mortality and burn-in (5 points)
FN17-1e, p3. 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)
FN17-1e prints no figure. This is 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
Recognize. Clock latency and reliability, the reliability short answer: “infant mortality”, “name one mechanism”, “how burn-in testing helps to identify”. About 4 minutes: the defect, the mechanism, what speeds it up, the test after.
On the paper.
- Latent defect: a particle necks a wire in lithography; it still conducts, so the die passes the test
- The current crowds into the neck: , (e.g. )
- Electromigration (a DC current drags metal atoms along) opens the neck early in life
- It is accelerated by temperature and by current density
- Burn-in: run hot (about 85 °C) at about 20 % over nominal : the necks fail in hours
- Test again after burn-in, at nominal; the failures are discarded, and what ships starts on the bathtub’s flat bottom
Watch out. Oxide breakdown (TDDB), hot carriers (HCI) and NBTI are wear-out, the bathtub’s rising end; burn-in does not screen them. Burn-in stresses the chips; the test afterwards is what identifies them.
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.
FN10-2c: the lowest working supply (10 points)
FN10-2, p3. 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 (from an identical stage), output ; the off PFET leaks , the on NFET, with only across it, sinks . Parts (a)–(b) are solved on FN2.
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
Recognize. The subthreshold supply, its functional limit: “continue to scale down ”, “the lowest value of … output swing of at least to ”, “ … at this value”. About 9 minutes: the balance in four lines, the search in two, the ratio in one.
On the paper.
- Output low at ; input from an identical stage,
- NFET, , :
- PFET, , (drain factor ≈ 1):
- , cancels:
- = 0.08 V, = 0.026 V:
- 60 mV: 0.251 > 0.206; 70 mV: 0.200 < 0.236; the crossing lies between
- Refine: = 65.3 mV (both sides 0.222)
- Part (a)‘s ratio for each transistor: (6.49 at 65 mV)
- (Keeping the PFET’s drain factor too gives 62.0 mV; a full-rail input, both factors kept, 52.8 mV: say which reading you use)
Watch out. The key’s is the NFET’s drive at against the PFET’s at , not part (a)‘s ratio; by (a)‘s definition it is . Drop the NFET’s drain factor and the currents never balance.
Answer: 65 mV (65.3 mV, from with the input from an identical stage and the NFET’s drain factor). There 6.5 for each transistor (6.56; 6.49 at 65 mV).
FN17-10c: the supply for minimum energy (about 8 points)
FN17-10, p21–22. 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.)
FN17-10 prints no figure. This is the chain’s energy model (Chapter 23 §16, added): for FN17-10, inverters, every node µm × 2 fF/µm = 30 fF, = 10 nA, = 80 mV/decade. Parts (a)–(b), solved on FN2, give and the chain’s 50 % delay .
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
Recognize. The subthreshold supply, minimum energy: “switching energy … include both the dynamic power dissipated and the leakage … during the delay time of the chain”, “what value of minimizes this energy?”. About 6 minutes: the energy in four lines, the test for a minimum in two, the answer and the key’s number in three.
On the paper.
- One transition: 4 of the 8 nodes rise, each drawing : , = 30 fF
- From (b): ,
- Leakage: 8 inverters × ( cancels)
- (16 with the full-swing delay )
- : ,
- (at ) : no stationary point (with 16: )
- falls as falls, so go to the lowest working supply
- FN10-2c’s 10–90 % criterion, same and : 65 mV, = 1.14 fJ
- The intended 0.133 V minimizes the charge with the key’s full-swing , not the energy
Watch out. Energy is charge times : write and , not and . The key does the latter, which is how it finds a minimum. In general a minimum exists only if ; this chain has .
Answer: (16 in place of 8 with the full-swing delay). for every : there is no interior minimum. The energy falls all the way down to the functional limit, so the minimum-energy supply is the lowest working supply, about 65 mV by FN10-2c’s 10–90 % criterion (about 1.1 fJ per transition). The intended answer, 0.133 V, is the minimum of the charge form the key writes, not of the energy.