Figures to Accompany Design-for-Test for Digital IC’s and Embedded Core Systems Alfred L. Crouch © 1999 Prentice Hall, All Rights Reserved Contents ii Chapter 1 Test and Design-for-Test Fundamentals Figure 1-1 Cost of Product Figure 1-2 Concurrent Test Engineering Figure 1-3 Why Test? Figure 1-4 Definition of Testing Figure 1-5 Measurement Criteria Figure 1-6 Fault Modeling Figure 1-7 Types of Testing Figure 1-8 Manufacturing Test Load Board Figure 1-9 Using ATE Figure 1-10 Pin Timing Figure 1-11 Test Program Components Chapter 2 Automatic Test Pattern Generation Fundamentals Figure 2-1 The Overall Pattern Generation Process Figure 2-2 Why ATPG? Figure 2-3 The ATPG Process Figure 2-4 Combinational Stuck-At Fault Figure 2-5 The Delay Fault Figure 2-6 The Current Fault Figure 2-7 Stuck-At Fault Effective Circuit Figure 2-8 Fault Masking Figure 2-9 Fault Equivalence Example Figure 2-10 Stuck-At Fault ATPG Figure 2-11 Transition Delay Fault ATPG Figure 2-12 Path Delay Fault ATPG Figure 2-13 Current Fault ATPG Figure 2-14 Two-Time-Frame ATPG Figure 2-15 Fault Simulation example Figure 2-16 Vector Compression and Compaction Figure 2-17 Some Example Design Rules for ATPG Support Figure 2-18 ATPG Measurables Chapter 3 Scan Architectures and Techniques Figure 3-1 Introduction to Scan-based Testing Figure 3-2 An Example Non-Scan Circuit Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Contents Figure 3-3 Figure 3-4 Figure 3-5 Figure 3-6 Figure 3-7 Figure 3-8 Figure 3-9 Figure 3-10 Figure 3-11 Figure 3-12 Figure 3-13 Figure 3-14 Figure 3-15 Figure 3-16 Figure 3-17 Figure 3-18 Figure 3-19 Figure 3-20 Figure 3-21 Figure 3-22 Figure 3-23 Figure 3-24 Figure 3-25 Figure 3-26 Figure 3-27 Figure 3-28 iii Scan Effective Circuit Flip-Flop versus Scan Flip-Flop Example Set-Scan Flip-Flops An Example Scan Circuit with a Scan Chain Scan Element Operations Example Scan Test Sequencing Example Scan Testing Timing Safe Scan Shifting Safe Scan Vectors Partial Scan Multiple Scan Chains The Borrowed Scan Interface Clocking and Scan Scan-Based Design Rules DC Scan Insertion Stuck-At Scan Diagnostics At-Speed Scan Goals At-Speed Scan Testing At-Speed Scan Architecture At-Speed Scan Interface Multiple Scan and Timing Domains Clock Skew and Scan Insertion Scan Insertion for At-Speed Scan Critical Paths for At-Speed Testing Logic BIST Scan Test Fundamentals Summary Chapter 4 Memory Test Architectures and Techniques Figure 4-1 Introduction to Memory Testing Figure 4-2 Memory Types Figure 4-3 Simple Memory Organization Figure 4-4 Memory Design Concerns Figure 4-5 Memory Integration Concerns Figure 4-6 Embedded Memory Test Methods Figure 4-7 Simple Memory Model Figure 4-8 Bit-Cell and Array Stuck-At Faults Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Contents Figure 4-9 Figure 4-10 Figure 4-11 Figure 4-12 Figure 4-13 Figure 4-14 Figure 4-15 Figure 4-16 Figure 4-17 Figure 4-18 Figure 4-19 Figure 4-20 Figure 4-21 Figure 4-22 Figure 4-23 Figure 4-24 Figure 4-25 Figure 4-26 Figure 4-27 Figure 4-28 iv Array Bridging Faults Decode Faults Data Retention Faults Memory Bit Mapping Algorithmic Test Generation Scan Boundaries Memory Modeling Black Box Boundaries Memory Transparency The Fake Word Technique Memory Test Needs Memory BIST Requirements An Example Memory BIST MBIST Integration Issues MBIST Default Values Banked Operation LFSR-Based Memory BIST Shift-Based Memory BIST ROM BIST Memory Test Summary Chapter 5 Embedded Core Test Fundamentals Figure 5-1 Introduction to Embedded Core Test and Test Integration Figure 5-2 What is a CORE? Figure 5-3 Chip Designed with Core Figure 5-4 Reuse Core Deliverables Figure 5-5 Core DFT Issues Figure 5-6 Core Development DFT Considerations Figure 5-7 DFT Core Interface Considerations Figure 5-8 DFT Core Interface Concerns Figure 5-9 DFT Core Interface Considerations Figure 5-10 Registered Isolation Test Wrapper Figure 5-11 Slice Isolation Test Wrapper Figure 5-12 Slice Isolation Test Wrapper Cell Figure 5-13 Core DFT Connections through the Test Wrapper Figure 5-14 Core DFT Connections with Test Mode Gating Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Contents Figure 5-15 Figure 5-16 Figure 5-17 Figure 5-18 Figure 5-19 Figure 5-20 Figure 5-21 Figure 5-22 Figure 5-23 Figure 5-24 Figure 5-25 Figure 5-26 Figure 5-27 v Other Core Interface Signal Concerns DFT Core Interface Frequency Considerations A Reuse Embedded Core’s DFT Features Core Test Economics Chip with Core Test Architecture Isolated Scan-Based Core-Testing Scan Testing the Non-Core Logic Scan Testing the Non-Core Logic Memory Testing the Device DFT Integration Architecture Test Program Components Selecting or Receiving a Core Embedded Core DFT Summary Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 1 Chapter 1 Test and Design-for-Test Fundamentals Total Cost Testing Cost Packaging Cost Silicon Cost Initial Product Increasing Time Final Product The goal over time is to reduce the cost of manufacturing the product by reducing the per-part recurring costs: - reduction of silicon cost by increasing volume and yield, and by die size reduction (process shrinks or more efficient layout) - reduction of packaging cost by increasing volume, shifting to lower cost packages if possible (e.g., from ceramic to plastic), or reduction in package pin count - reduction in cost of test by: - reducing the vector data size - reducing the tester sequencing complexity - reducing the cost of the tester - reducing test time - simplifying the test program Figure 1-1 Cost of Product Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 2 Behavioral Specification and Model Functional Architecture Development Test Architecture Development Test Control Test Interface BIST HDL JTAG HDL Hardware Description Language Register Transfer Level Timing Constraints Gate-Level Library Mapping Scan Insertion Gate-Level Synthesis Insert Scan Cells Scan Signals Scan Ports Test Timing Gate-Level Netlist Static Timing Assessment Physical Process Mapping Scan Optimization Algorithmic Scan Signal ReOrdering FloorPlanning and Place&Route Macrocell FloorPlanning Timing Driven Cell Placement Timing Driven Routing Clock Tree Synthesis Figure 1-2 Concurrent Test Engineering Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 3 WHY TEST? Reasons Measurement of Defects & Quality Level Incoming Inspection Contractual Perceived Product Quality by Customer Reliability Requirement Contractual Pro & Con Perceptions of DFT Eases Generation of Vectors Adds Complexity to Design Methodology Eases Diagnosis & Debugging Impacts Design Power & Package Pins Provides a Deterministic Quality Metric Impacts Design Speed or Performance Reduces the Cost of Test Adds to Silicon Area Figure 1-3 Why Test? Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 4 DEFINITION of TESTING Device or Circuit under test DEVICE IN A KNOWN STATE A KNOWN STIMULUS A KNOWN EXPECTED RESPONSE EXAMPLE IN_A a IN_B b IN_C D Q 0 CLK 1 S D Q a OUT_1 IN_D OUT_2 b Broadside Parallel Vector 1 1 ^ 1 CLK with an unknown state 1 ^ X ^ 1 X 1 X 1 ? ? Figure 1-4 Definition of Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals Vdd S 5 physical defects opens shorts metal bridges process errors source-to-drain short G D is always at a logic 1 D S G transistor faults S2 D G2 D S2 G G2 SB S 2 SB D2 SB D Vss + gate faults a@ 0 a@ 1 b@ 0 b@ 1 c@ 0 c@ 1 A C observed truth table A B C failures 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 B Transistor and Gate Representation of Defects, Faults, and Failures Figure 1-5 Measurement Criteria Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals defects open/short bridge mask process 6 transistor faults s2 d g2 d s2 g g 2 sb s 2 sb d 2 sb stuck faults a@ 0 a@ 1 b@ 0 b@ 1 c@ 0 c@ 1 6 gate faults transition delay faults a 1- 0 a 0- 1 b1- 0 b0- 1 c 1- 0 c 0- 1 + g a s d c Truth Table with fail modes nand ab a b c ab c 0 1 1 0 00 1 1 1 1 0 01 1 1 0 1 0 10 1 1 1 0 0 11 0 1 0 0 0 b A B 6 transitions a e r f t s S b c C 1 BIT ADDER with CARRY Figure 1-6 Fault Modeling Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved path delay faults A2SR A2SF A2CR A2CF B2SR B2SF B2CR B2CF path R=Slow-to-Rise F=Slow-to-Fall Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 7 Functional 3 a 5 b 4 4 / / A D D E R 4 / 4 / s 8 c 0 3+5=8 Structural A a e f B r s S t b c C 1 BIT ADDER with CARRY faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ 1 1 1 1 1 1 1 1 16 faults Figure 1-7 Types of Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 8 Chip under Test The chip will be accessed by the tester at its pins only A custom (load) board will be made for this purpose Each pin has a limited number of bits available (e.g., 2 MB) The test program (set of vectors and tester control) will be applied at tester speed (may be less than actual chip speed) The primary goal of manufacturing test is structural verification Figure 1-8 Manufacturing Test Load Board Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 2 Meg Memory Depth 9 Clock Gen 1 Clock Gen 2 Clock Gen 3 C hi pS o ck et 192 Channels Loadboard Power Supply 1 Power Supply 2 Power Supply 3 Figure 1-9 Using ATE Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 10 Chip Point of View 1 2 DV 4 3 1. Input Setup Time: time the signal must arrive and be stable before the clock edge to ensure capture 2. Input Hold Time: time the signal must remain stable after the clock edge to ensure that capture is stable 3. Output Valid Time: time the signal takes to be valid (or tristated) and stable on the output after the clock edge 4. Output Hold Time: time that the signal remains available after output valid so that it can be used Tester Point of View CLK NRZ 1 0 0 RZ 1 0 0 SBC 1 0 0 Figure 1-10 Pin Timing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 1 Test and Design-for-Test Fundamentals 11 DC Pin Parametrics Test Logic Verification DC Logic Stuck-At DC Logic Retention AC Logic Delay AC Frequency Assessment AC Pin Specification Memory Testing Memory Retention Idd and Iddq Specialty Vectors Analog Functions Test Escapes The Venn circles are examples of DC fault coverages of some of the vector classifications in the test program Some of the fault coverages overlap Vector reduction can be accomplished by removing overlap or by combining vector sets Scan Path Delay Scan Transition Delay Scan Stuck-At Scan Sequential Parametric Functional Test Escapes Figure 1-11 Test Program Components Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 1 Chapter 2 Automatic Test Pattern Generation Fundamentals Library Support Netlist Conditioning Observe Point Assessment Vector Generation/Simulation Vector Compression Vector Writing Figure 2-1 The Overall Pattern Generation Process Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 2 WHY ATPG? Reasons Greater Measurement Ability Reduction in Cycle Time Perceived Competitive Methodology More Efficient Vectors Pro & Con Perceptions of ATPG Good Bad Eases Generation of Vectors Adds Complexity to Design Methodology Eases Diagnosis & Debugging Requires Design-for-Test Analysis Provides a Deterministic Quality Metric Requires Library Support Reduces the Cost of Test Requires Tool Support Figure 2-2 Why ATPG? Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 3 Fault Selection Fault Observe Point Assessment Fault Excitation Vector Generation Fault Simulation Fault Dropping Figure 2-3 The ATPG Process Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 4 a X b e stuck-at-0 force to a 1 detected good = faulty c d 1 1 0 1 0 0 0 0 0 0 GOOD CIRCUIT 1 1 0 0 1 0 0 0 0 0 1 D I F F E R E N T 0 FAULTY CIRCUIT Figure 2-4 Combinational Stuck-At Fault Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 5 Delay from Strong Driver Insufficient Transistor Doping A Delay Model Element B Resistive Bridge Z C Delay from Extra Load D Slow Gate Output Slow Gate Input E F Capacitive or Resistive Wire Delay from Opens and Metal Defects The Delay Fault Model is an added delay to net, nodes, wires, gates and other circuit elements Effect of Delay Fault Delay of Transition Occurrence Changing of Edge-Rate Edge-Rate Layover “Ideal” Signal 1 0 0 Added Rise Delay Added Fall Delay Figure 2-5 The Delay Fault Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 6 Leakage from Bridge Leakage from Metastability A Leakage Fault Model B Resistive Bridge Z C Leakage from Bridge D Internal Gate Leakage E F Capacitive or Resistive Delay Extends Current Flow Time The Current Fault Model is an added Leakage to net, nodes, wires, gates and other circuit elements Effect of a Current Fault is to add extra current flow or to extend flow time I(t) t Figure 2-6 The Current Fault Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 7 a b nand ab z 00 1 01 1 10 1 11 0 X stuck-at-0 force to a 1 e c d 1 evaluate fault against the gate’s truth table R E M A P nor ab z 00 1 01 0 10 0 11 0 c e d evaluate change against the gate’s truth table R E M A P 0 e Detectable evaluate final result against the circuit’s whole truth table Figure 2-7 Stuck-At Fault Effective Circuit Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals a 8 stuck-at-0 force to a 1 X b e not detected good = faulty c 1 1 0 1 0 X 0 1 0 X GOOD CIRCUIT 1 0 0 1 1 X 1 1 S A M E 0 X FAULTY CIRCUIT Figure 2-8 Fault Masking Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals A faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ a e f b a’ B r r t t s c e S C GOOD - 1 BIT ADDER with CARRY a b a a z z z b Fault Equivalence Table AND a@0 = b@0 = z@0 INV a@1 = z@0 : a@0 = z@1 OR a@1 = b@1 = z@1 9 1 1 1 1 1 1 1 1 16 faults 1. Any fault that requires a logic 1 on the output of an AND-gate will also place 1’s on inputs 2. Similar analysis exists for all other gate-level elements 3. If one fault is detected, all equivalent faults are detected 4. Fault selection only needs to target one of the equivalent faults Figure 2-9 Fault Equivalence Example Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals A 1 a 1 eX f B 1 r 1 0 0 0 1 s 1 S t b c C 1 BIT ADDER with CARRY Set Up the Detect and Propagation Path 10 faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ 1 1 1 1 1 1 1 1 16 faults 1. Set up the path to pass the opposite of e S @ 0, which is e = 1 2. Exercise by setting e equal to1 A a e f B 0 1 r s S 3. Detect by observing S for wrong value during fault simulation t b c C 1 BIT ADDER with CARRY Exercise the Fault Figure 2-10 Stuck-At Fault ATPG Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals A 1 a 1 eX f 0 B 1 0 r t 1 1 0 s 1 faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ S b c C 1 BIT ADDER with CARRY a e 0 0 f B 1 r t s 0 0 1. Set up the path to pass the opposite of e S=0 S @ 0, which is e = 1 S@Time 1 2. Pre-fail by setting e equal to 0 b c C 1 BIT ADDER with CARRY Pre-Fail the Fault by Passing a 0 A f B 0 1 r 1 t 3. Exercise by setting e equal to 1 some time period later 4. Detect by observing S for wrong value during timing simulation a e 1 1 1 1 1 1 1 1 1 16 faults Set Up the Detect Path to Pass a 1 A 11 s 1 S@Time 2 b c S=1 The Transition Delay Faultlist is identical to the Stuck-At Faultlist but the goal is to detect a Logic Transition within C a given time period 1 BIT ADDER with CARRY Exercise the Fault to Pass a 1 Figure 2-11 Transition Delay Fault Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals A 1->1 a X X r eX f B 1->1 x->x b X 0->0 0 x 0 s X t 16.0 pt c e 0->1 r 0->1 f s 0->1 16 faults S@Time1 -> S@Time2 t b B 1 1 1 1 1 1 1 1 2. Exercise by first setting B equal to 1 and then to 0. This is known as a vector-pair a 1->0 C faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ 1. Set up the path to pass a transition on B-to-S through e, r, and s by setting the off-path values to be stable for 2 time periods 1 BIT ADDER with CARRY Set Up the Off-Path A S 12 1->0 c 1. Detect by observing S for wrong value during fault simulation with respect to a time C standard 1 BIT ADDER with CARRY Exercise the Fault (Path) Figure 2-12 Path Delay Fault Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ 13 1 1 1 1 1 1 1 1 16 faults A a e f B 0 1. Exercise by first setting e equal to1 1 r s t S 2. Detect by measuring current and accept vector by quietness b c C 1 BIT ADDER with CARRY Exercise the Fault Figure 2-13 Current Fault Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 14 Transition bit End of Path bit 1->0 1 second-order cone of logic 0 0 establishes transition and off-path values 1 establishes the legal next-state Defined Critical Path 1->1 Solve This Combinational Cone of Logic As Second Step after Middle Register Values Are Established by First Cone D Expect Value 0->0 first-order combinational cone of logic 1->1 contains path and off-path logic establish first state preset next-state Q Gate Elements legal next-next-state legal next-state Solve This Combinational Cone of Logic As the First Step to Combinational Multiple Time Frame Analysis Slack Time Propagation Delay Time Register Setup Time 1 2 3 1. Launch 1st Value: establish path fail value at clock edge 2. Launch Transition: provide pass value at next clock edge 3. Capture Transition: observe transition value at this clock edge Figure 2-14 Two-Time-Frame ATPG Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals A B 15 faultlist a@ 0 a@ b@ 0 b@ e@ 0 e@ f@ 0 f@ r@ 0 r@ t@ 0 t@ s@ 0 s@ c@ 0 c@ a e r f t s S b c C GOOD - 1 BIT ADDER with CARRY A B 16 faults a e r f t s b S GND C “t” S@0 - 1 BIT ADDER with CARRY B a e r f t s b + 1. Create multiple copies of the netlist for each fault. 2. Apply same vectors to each copy. c A 1 1 1 1 1 1 1 1 S VDD c “t” S@1 - 1 BIT ADDER with CARRY C 3. Compare each copy to good simulation (expected response). 4. Fault is detected if bad circuit and good circuit differ at a detect point. 5. Measurement is faults detected divided by total number of faults (8/16 = 50%). Figure 2-15 Fault Simulation example Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 16 Simulation Post Processing Compression Pattern Set Fault Re-Simulation with Redundant Vector Dropping 01101110001010 01101110101110 00101110111010 11111110001010 01100000001011 01001011001010 01010101010101 11101100101010 11001110001010 01111000001010 00000000001010 This Usually Drops Early Vectors That Are Fully Covered by Later Vectors and Eliminates Less Efficient Vectors Dynamic ATPG Compression X X 1 0 1 0 X X X X X one targeted fault During ATPG a Vector Is Not Submitted to Fault Simulation until Multiple Faults have been Targeted — “X”s Mapped This can Greatly Increase Vector Generation Time But Usually Results in the Most Efficient Vectors Figure 2-16 Vector Compression and Compaction Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals 17 Transistor Structure Equivalent Gate Structure ATPG May Only Operate on Gate-level Elements Combinational Feedback Results in Latches, Oscillators, or Endless Loops Propagation Timing Distance Must Be Less Than One Test Clock Cycle SET D Q General Combinational Logic CLK CLR D Q CLK Figure 2-17 Some Example Design Rules for ATPG Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 2 Automatic Test Pattern Generation Fundamentals Sizing Design Description Complexity ATPG Library Faultlist Management Support Files 18 ATPG TOOL Runscripts Runtime algorithms rule checks Vectors Vector Features Compression Detected Faults Vector Translation Figure 2-18 ATPG Measurables Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 1 Chapter 3 Scan Architectures and Techniques - >1,000,000 gates - >5,000,000 faults - >10,000 flip-flops - > 1,000 sequential depth - < 500 chip pins * > 2,000 gates/pin * > 2M = 21000 A deep sequential circuit Chip under Test without Scan - >1,000,000 gates - >5,000,000 faults - > no effective flip-flops - > no sequential depth - < 500 + 10,000 chip pins * > 95.23 gates/pin * > 2M = 20 = 1 A combinational circuit Chip under Test with Full-Scan Figure 3-1 Introduction to Scan-based Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 2 Combinational & Sequential Logic input1 input2 input3 input4 output1 Q D QN clk D Q D Q input5 D input6 1 Q 2 output2 34 Sequential Depth of 4 Combinational Width of 6 26+4 = 1024 Vectors Figure 3-2 An Example Non-Scan Circuit Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 3 Combinational-Only Logic input1 input2 input3 input4 output1 D Q QN D Q D Q input5 input6 D Q output2 TPI1 TPI2 TPI3 TPI4 TPI5 A no-clock, combinational-only circuit with: 6 inputs plus 5 pseudo-inputs and TPO1 TPO2 TPO3 TPO4 2 outputs plus 4 pseudo-outputs Figure 3-3 Scan Effective Circuit Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques D D Q 4 Q QN CLK clk Regular D Flip-Flop SDO D D Q SDI SE Q SDO clk QN CLK Scannable D Flip-Flop Figure 3-4 Flip-Flop versus Scan Flip-Flop Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 5 SET D SDO D Q Q SDI QN SE clk CLK Set-Scan D Flip-Flop with Set at Higher Priority D SET D Q SDI SE SDO Q QN clk CLK Set-Scan D Flip-Flop with Scan-Shift at Higher Priority Figure 3-5 Example Set-Scan Flip-Flops Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 6 Combinational and Sequential Logic input1 input2 output1 input3 input4 SE SE scanin SDI clk Q D QN D SDO Q SE input5 SDI D input6 D Q SE SE SDI SDI 0 scanout Q output2 SDO SDO 1 SDO 1 1 4-Bit Scan Vector Figure 3-6 An Example Scan Circuit with a Scan Chain Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques D a D SDI 7 Q Q b QN SE clk SDO CLK Scannable D Flip-Flop The scan cell provides observability and controllability of the signal path by conducting the four transfer functions of a scan element. Operate: D to Q through port a of the input multiplexer: allows normal transparent operation of the element. Scan Sample: D to SDO through port a of the input multiplexer: gives observability of logic that fans into the scan element. Scan Load/Shift: SDI to SDO through the b port of the multiplexer: used to serially load/shift data into the scan chain while simultaneously unloading the last sample. Scan Data Apply: SDI to Q through the b port of the multiplexer: allows the scan element to control the value of the output, thereby controlling the logic driven by Q. Figure 3-7 Scan Element Operations Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques D From normal operation: D Q SDI SE=0 Q QN clk SDO CLK Apply clocks for scan length D Q SDI SE=1 Q QN SDO clk Scan Shift Load/Unload Mode D Q SDI Q QN SE=1 clk SDO Scan Apply Mode (Last Shift) The next rising edge of the clock will sample D NOTE: unloading is simultaneous with loading the next test D Q SDI SE=0 Normal circuit response will be applied to D Return to Load/Shift mode to unload circuit response sample CLK D When chain is loaded, the last shift clock will apply scan data While the clock is low, place SE = 0 CLK D While the clock is low, apply test data to SDI and Place SE = 1 At the rising edge of the clock, test data will be loaded Functional Operation Mode D 8 Q QN clk SDO CLK Scan Sample Mode Repeat operations until all vectors have been applied NOTE: the chip’s primary inputs must be applied during the scan apply mode (after the last shift) Figure 3-8 Example Scan Test Sequencing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 9 The Scan Sample The Last Shift In The First Shift Out CLK SE Scan Enable Assert Scan Enable De-assert The Output Pin Strobe SHIFT DATA SHIFT DATA FAULT EXERCISE SAMPLE DATA SHIFT DATA SHIFT DATA Faults Exercised Interval Figure 3-9 Example Scan Testing Timing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques Gated Clock Nets 10 clock tree distribution Provide an Enable Signal f_seB force the clock on Asynchronous or Synchronous Signals with Higher Priority than Scan—or Non-Scan Elements D Q HOLD SET CLR f_seB CLK Provide a Blocking Signal D Q HOLD SET CLR CLK Driven Contention During Scan Shifting D Q Q D CLK CLK D Q Q D CLK t_seB Provide a Forced Mutual Exclusivity CLK Figure 3-10 Safe Scan Shifting Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 11 The Scan Sample The Last Shift In The First Shift Out CLK Faults Exercised Interval SE t_seB a tristate scan enable may be a separate signal that has slightly different timing than the flip-flop SE Driven Contention during the Capture Cycle D Q Q D CLK CLK D Q Q D CLK t_seB de-asserted CLK Figure 3-11 Safe Scan Vectors Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 12 Combinational-Only Logic input1 input2 input3 input4 output1 D Q QN D Q D Q input5 input6 D Q output2 TPI1 TPI2 TPO1 TPI3 TPI5 A clocked, sequential circuit with depth=1: 6 inputs plus 4 pseudo-inputs and 2 outputs plus 3 pseudo-outputs TPO3 TPO4 Figure 3-12 Partial Scan Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 13 An Example Using a Chip with 1000 Scan Bits and 5 Scan Vectors Red Space Is Wasted Tester Memory 1000 1000 One Long Scan Chain 1000 Vector Data One Channel 1000 X’s on all Other Channels not actively used for parallel pin data Each Vector is 1000 Bits Long So 5 Vectors Are 5000 Bits of Tester Memory Many Variable Length Scan Chains 120 X 80 XXX 100 XX 110 XX 90 XXX 180 X20 XXXX 100 XX 100 XX 100 XX 120 X 80 XXX 100 XX 110 XX 90 XXX 180 X20 XXXX 100 XX 100 XX 100 XX Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data 120 X 80 XXX 100 XX 110 XX 90 XXX 180 X 20 XXXX 100 XX 100 XX 100 XX 120 X 80 XXX 100 XX 110 XX 90 XXX 180 X 20 XXXX 100 XX 100 XX 100 XX 10 Non-Balanced Channels Each Vector Is 180 Bits Long—So 900 Bits of Tester Memory Differences from Longest Chain (180) Are Full of X’s—Wasted Memory Many Balanced Scan Chains 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data Vector Data 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 10 Balanced Channels Each Vector Is 100 Bits Long—So 500 Bits of Tester Memory No Wasted Memory Space Figure 3-13 Multiple Scan Chains Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 14 Borrowed DC Scan Input on Bidirectional Pin Combinational Logic Scan Data Input Output Data Path Blocked during Scan Shift Output Enable with bus_se Captures through the or scan_mode Combinational Logic during the Sample Operation Combinational Logic Any Bidir Functional Pin D S SE Pad Captures Directly from the Input Pin During the Shift Operation Q Input Parallel Scan Input to Chip Normal Input to Logic SE Input Scan Interface—May Resolve to Functional during Sample Interval Borrowed DC Scan Output on Bidirectional Pin Last Scan Shift Bit from Scan Chain D Q Input Normal Output from Logic D S SE Q S SE Input Data Path Is a Don’t Care during Scan Shift SE on Input Combinational Blocks Data Logic Combinational Logic Output a b s Added Scan Output Mux with bus_se or scan_mode Scan Data Output Any Bidir Pin Pad Functional Output Enable with bus_se or scan_mode added Output Scan Interface—May Resolve to Functional during Sample Interval Figure 3-14 The Borrowed Scan Interface Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 15 • Scan Bypass Clocks • Scan Testing an On-Chip Clock Source Bypass Clocks Analog Digital 1 Digital 2 VCO Raw VCO Clock Counters & Dividers On-Chip Clock Generation Logic Figure 3-15 Clocking and Scan Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 16 Driven Contention during Scan Shifting D Q Q D CLK CLK D Q Q D CLK CLK t_seB Provide a Forced Mutual Exclusivity Asynchronous or Synchronous Signals with Higher Priority than Scan—or Non-Scan Elements D Q HOLD SET CLR f_seB CLK Provide a Blocking Signal D Q HOLD SET CLR CLK Gated Clock Nets Provide a Blocking Signal f_seB Figure 3-16 Scan-Based Design Rules Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 17 Basic Netlist Scan Insertion Element Substitution Ports, Routing & Connection of SE Ports, Routing & Connection of SDI-SDO Extras Tristate “Safe Shift” Logic Asynchronous “Safe Shift” Logic Gated-Clock “Safe Shift” Logic Multiple Scan Chains Scan-Bit Re-Ordering Clock Considerations All Non-Sampling Clock Domains Inhibit Sample Clock Pulse Last Shift All Scan Chains (Clocks) Shift Only One Clock Domain Conducts a Sample Clock Figure 3-17 DC Scan Insertion Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 18 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Scan Fail Data Presented at Chip Interface Automatically Implicates the Cone of Logic at One Flip-Flop 1 0 Multiple Fails under the Single Fault Assumption Implicate Gates Common to Both Cones of Logic 0 0 1 1 0 Figure 3-18 Stuck-At Scan Diagnostics Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 19 Basic Purpose • Frequency Assessment • Pin Specifications • Delay Fault Content Cost Drivers • No Functional Vectors • Fewer Overall Vectors • Deterministic Grade Figure 3-19 At-Speed Scan Goals Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 20 The Transition Launch The First Shift Out The Last Shift In The Transition Capture CLK Transition Generation Interval Faults Exercised Interval SE T_SE F_SE Bus_SE Separate Scan Enables for Tristate Drivers, Clock Forcing Functions, Logic Forcing Functions, Scan Interface Forcing Functions, and the Scan Multiplexor Control Because the Different Elements Have Different Timing Requirements Figure 3-20 At-Speed Scan Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 21 Borrowed Scan Input with Scan Head Register Output Data Path Blocked during Scan Shift Output Enable with bus_se Combinational Logic Any Bidir Pin D Q Input Pad Parallel Scan Input to Chip Normal Input to Logic D S SE Q Input At-Speed Scan Interface—Resolves to Functional During Sample Interval Driven Contention During Scan Shifting D Q Q CLK CLK D D Q Q CLK D CLK t_seB At-Speed Assert and De-Assert Asynchronous or Synchronous Signals with Higher Priority than Scan or Non-Scan Sequential Elements D Q D HOLD SET CLR CLK Q HOLD SET CLR f_seB CLK At-Speed Assert and De-Assert Figure 3-21 At-Speed Scan Architecture Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 22 Borrowed AC Scan Input on Bidirectional Pin Combinational Logic Output Data Path Blocked during Scan Shift Output Enable with at-speed bus_se Scan Data Input Captures through the Combinational Logic during the Sample Operation Combinational Logic Any Bidir Functional Pin S SE Pad Parallel Scan Input to Chip Normal Input to Logic D Q Input Captures Directly from the Input Pin During the Shift Operation D Q Input Head Input Scan Interface—Resolves to Functional during Sample Interval Borrowed AC Scan Output on Bidirectional Pin Last Scan Shift Bit from Scan Chain D Q Input Normal Output from Logic D S SE Q Output S SE Input Data Path Is a Don’t Care during Scan Shift SE on Input Combinational Blocks Data Logic Combinational Logic a D Q b Output s Tail Added Scan Output Mux with bus_se Scan Data Output Any Bidir Pin Pad Functional Output Enable with bus_se Added Output Scan Interface—Resolves to Functional During Sample Interval Figure 3-22 At-Speed Scan Interface Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 23 Fast to Slow Transfers Slow to Fast Transfers Fast Logic Slow Logic Fast to Slow Transfers Fast Scannable System Registers Slow Scannable System Registers Clock A Scan Enable A Clock B Scan Enable B The Clock Domains and Logic Timing should be crafted so that the very next rising edge after the launch or last shift is the legal capture edge Last Scan Shift Edge Legal ATPG Transfer Illegal ATPG Transfer Applied Fast Clock Applied Slow Clock Only Fast-to-Slow Legal ATPG Transfer Figure 3-23 Multiple Scan and Timing Domains Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 24 Combinational Logic Combinational Logic Combinational Logic scanned flip-flop D Q D SDI Q D SDI Q SDI 165 ps CLK 120 ps SE 150 ps First Clock Domain — All Elements on Same Clock Tree 300ps+ Cross Domain Clock Skew Combinational Logic Combinational Logic Combinational Logic scanned flip-flop D Q D SDI Q D SDI Q SDI 165 ps CLK SE 120 ps 150 ps Second Clock Domain—All Elements on Same Clock Tree Cross Domain Clock Skew must be managed to less than the fastest flip-flop update time in the launching clock domain If it is not, then the receiving flip-flop may receive new-new scan data before the capture clock arrives To prevent this outcome, constrain the ATPG tool to only sample one clock domain at a time during the sample interval Figure 3-24 Clock Skew and Scan Insertion Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 25 Specification Development Scan Mode Bus_SE Tristate_SE Logic Force_SE Architecture Development Simulation Verification Model Behavior Synthesis Scan Shift SE Clock Force_SE Scan Data Connection Insertion Timing Analysis Place and Route Scan Chain Bit Re-Ordering Specification Determination Gates Mask Mask and Fab Silicon Test Silicon Design Flow Chart Scan Mode: Fixed “Safe” Logic Scan Enable (SE): Scan Shift Force_SE: Force_SE: Clock Force States Logic Forced States Tristate_SE: Internal Tristates Bus_SE: Scan Interface Control Figure 3-25 Scan Insertion for At-Speed Scan Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques D Q R1 D Q R2 In1 0>1 A U35 B 0 X In2 0 In3 0 In4 0 A U36 B A U39 B 26 Static Timing Analysis Provides Path Description of Identified Critical Path from the Q-Output of R1 to the Device Output Pin—Out1 0>1 1 A U37 B 1>0 A U38 B 1>0 Out1 1 Isolated Combinational Logic All Fan-in to Endpoint Is Accounted at this Endpoint Fanout to other Endpoints is Evaluated atThose Endpoints Period = 20ns : Output Strobe @ 15ns Path Element Incremental Cumulative Description Delay Delay Clk R1.Q U35.A U35.Z U37.A U37.Z U38.A U38.Z Out1 2.2ns 0.0ns 2.1ns 0.1ns 3.2ns 0.2ns 2.2ns 0.1ns Dly=10.1 Skew Amb. 0.0ns 2.1ns 2.2ns 5.4ns 5.6ns 7.8ns 7.9ns Slk=4.9ns Timing Analysis Report Figure 3-26 Critical Paths for At-Speed Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 27 Polynomial: X3 + X +1 = X3 + X1 + X0 = 23 + 21 + 20 = 11 LFSR - PRPG: pseudo-random pattern generation X3 Seed DQ 1 X2 DQ 1 X1 DQ 1 CLK X0 111 011 001 100 010 101 110 111 Chip with Full-Scan and X-Management DQ DQ DQ CLK LFSR - MISR: multiple input signature register Figure 3-27 Logic BIST Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 3 Scan Architectures and Techniques 28 Scan Testing Methodology Advantages Direct Observability of Internal Nodes Direct Controllability of Internal Nodes Enables Combinational ATPG More Efficient Vectors Higher Potential Fault Coverage Deterministic Quality Metric Efficient Diagnostic Capability AC and DC Compliance Concerns Safe Shifting Safe Sampling Power Consumption Clock Skew Design Rule Impact on Budgets Figure 3-28 Scan Test Fundamentals Summary Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 1 Chapter 4 Memory Test Architectures and Techniques Chip-Level Embedded Memory Logic Memory Access PLL TAP JTAG Boundary Scan Figure 4-1 Introduction to Memory Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 2 Row/Word-Address Select Select Column/Bit-Data Column/Bit-Data Storage 6 Transistor SRAM Cell Row/Word-Address Storage Select Column/Bit-Data 1 Transistor DRAM Cell Row/Word-Address Storage Select Column/Bit-Data 2 Transistor EEPROM Cell Figure 4-2 Memory Types Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 3 Data Bus: To Multiple Memory Arrays Address Bus: To Multiple Memory Arrays Bus Enable Data In Data Out Memory: Data Width by Address Depth 32 x 512 Address In Read/WriteBar Memory Array Address Decode to Row Drivers Data Decode to Column Drivers Output Enable Control Circuitry to Read, Write, and Data Output Enable Control Signals: Individual Signals to This Memory Array Figure 4-3 Simple Memory Organization Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 4 Chip FloorPlan Memory 1 M e m o r y 3 Memory 2 - Aspect Ratio - Access Time - Power Dissipation Memory 4 Figure 4-4 Memory Design Concerns Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 5 Chip FloorPlan Memory 1 M e m o r y Memory 2 - Routing 3 - Placement & Distribution - Overall Power Dissipation Processor Local Logic Memory 4 Figure 4-5 Memory Integration Concerns Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 6 32 Embedded Microprocessor Core Data 24 Embedded Memory Array Address 3 Control Functional Memory Test Data Address Control 32 Embedded Memory Array 24 3 Direct Access Memory Test Invoke BIST Controller Done Reset Embedded Memory Array Hold Fail BIST Memory Test Figure 4-6 Embedded Memory Test Methods Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 7 column # —> 0 1 2 3 row # —> 0 1 0 0 1 row # —> 1 1 0 1 1 0 1 data bit cell row # —> 2 0 1 Figure 4-7 Simple Memory Model Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 8 Data in Bit Cells May Be Stuck-At Logic 1 or Logic 0 word stuck-at data value 1110 address A031—> address A032—> address A033—> single bit stuck-at 1 1 0 1 1 1 1 1 0 1 0 1 0 single bit stuck-at 0 Figure 4-8 Bit-Cell and Array Stuck-At Faults Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 9 Data in Bit Cells May Be Bridged to Other Bit Cells horizontal (row) bit bridging 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 vertical (column) bit bridging word bridging unidirectional one-way short random bit bridging word bridging bidirectional two-way short Figure 4-9 Array Bridging Faults Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 10 Column Decode X C O Select Lines L X X R O 0 1 1 1 1 0 1 1 X W 1 1 1 1 X X 1 1 1 1 0 1 1 1 0 0 1 1 Row Decode stuck-at faults result R in always choosing o wrong address w Row Decode D bridging faults result e in always selecting c multiple addresses o d e Column Decode bridging faults result in always selecting multiple data bits Column Decode Select Line stuck-at faults result faults result in in always choosing similar array wrong data bit fault effects Figure 4-10 Decode Faults Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 11 Data around target cell is written with complement data Complementary Data around Target Cell Address 21 = A 1 0 1 0 Address 22 = 5 0 1 0 1 Address 23 = A 1 0 1 0 0 1 0 1 Address 24 = 5 alternating 5’s and A’s make for a natural checkerboard pattern Figure 4-11 Data Retention Faults Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques Blue: Pass Red: Fail 12 Column Data Fault Physical Memory Organization Row Address Fault Logical Memory Organization Stuck-At Bit Faults Physical Memory Organization Bridged Cell Faults Physical Memory Organization Figure 4-12 Memory Bit Mapping Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 13 Address 00 —> 0 1 0 1 0 1 0 1 Address 01 —> 0 1 0 1 0 1 0 1 Address 02 —> 0 1 0 1 0 1 0 1 Address 03 —> Addr(00) to Addr(Max) Read(5)-Write(A)-Read(A) Address 04 —> Increment Address Address 05 —> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Address 06 —> Addr(00) to Addr(Max) Read(A)-Write(5)-Read(5) Address 07 —> Increment Address Address 08 —> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Address 09 —> Addr(Max) to Addr(00) Read(5)-Write(A)-Read(A) Address 10 —> Decrement Address Address 11 —> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Address 12 —> Addr(Max) to Addr(00) Read(A)-Write(5)-Read(5) Address 13 —> Decrement Address Address 14 —> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Address 15 —> 0 1 0 1 0 1 0 1 Address 16 —> 0 1 0 1 0 1 0 1 Address 17 —> 0 1 0 1 0 1 0 1 Address 18 —> 1 0 1 0 1 0 1 0 Address 19 —> 1 0 1 0 1 0 1 0 Address 20 —> 1 0 1 0 1 0 1 0 Address 21 —> 1 0 1 0 1 0 1 0 Address 22 —> 1 0 1 0 1 0 1 0 Address 23 —> 1 1 1 0 1 0 1 0 Addr(00) to Addr(Max) Write(5)-Initialize Increment Address Addr(Max) to Addr(00) Read(5) Decrement Address Read (A)-------> Write (5) Read (5) Increment Address March C+ Algorithm Memory Array with 24 Addresses with Algorithm at Read (A) Stage Figure 4-13 Algorithmic Test Generation Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 14 Boundary at some level of scanned registration or “pipelining” away from the memory array Data Data Memory Detection of incoming signals Control of outgoing signals Array Address Control scan-memory boundary Minimum Requirement Detection up to Memory Input and Control of Memory Output Concern: the Logic between the Scan Test Area and the Memory Test Area Is not Adequately Covered Non-Scanned Registration inside the Boundary but Before the Memory Test Area Results in a Non-Overlap Zone Figure 4-14 Scan Boundaries Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 15 The Memory Array is modeled for the ATPG Engine so the ATPG Tool can use the memory to observe the inputs and control the outputs Data In Din Dout Data Out Memory Array Address Ain ATPG Model Control Read/Write Scan Architecture Figure 4-15 Memory Modeling Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 16 Boundary at some level is blocked off as if the memory was cut out of the circuit Scan Mode Control of outgoing signals Data In Gated Data Out Detection of incoming signals Memory Array can be Address Multiplexed Data Out removed from All Registers are in the scan chain architecture netlist for ATPG purposes Control scan black-box boundary Observe-only registers used for detection of memory input signals Gate or Multiplexor is used to Block—fix to a known value—the Memory Output Signals Figure 4-16 Black Box Boundaries Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 17 Boundary at some level is blocked off as if the memory was cut out of the circuit Input is passed to output as the form of output control Data In Bypass Data Out Detection of incoming signals Memory array can be Address removed from netlist for ATPG purposes Control scan black-box boundary Observe-only registers used for detection of memory input signals Multiplexor is used to pass the input directly to the output Figure 4-17 Memory Transparency Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 18 Detection of incoming data signals done here Boundary at some level is blocked off as if the memory was cut out of the circuit Input is passed to output with registration Data In Bypass Data Out Memory In ideal sense, timing should also be matched array can be Address removed from netlist for ATPG purposes Control scan black-box boundary Observe-only registers not needed on data since register emulates memory Register and multiplexor is used to emulate memory timing and output Figure 4-18 The Fake Word Technique Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 19 Data Bus: Possibly to Multiple Memory Arrays Address Bus: Possibly to Multiple Memory Arrays Data In Data Out Memory: data width by address depth 32 x 512 Address Read/WriteB Memory Array Address Decode to Row Drivers Data Decode to Column Drivers Output Enable Control Circuitry to Read, Write, and Data Output Enable Control Signals: Individual Signals to This Memory Array Test Must Access the Data, Address, and Control Signals in order to Test This Memory Figure 4-19 Memory Test Needs Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 20 Chip Level Invoke Retention Debug Algorithm Controller Address Generator Data Generator Done Fail Debug_data Memory Array(s) Comparator INPUTS Invoke: Start BIST Retention: Pause BIST and Memory Clocking Debug: Enable BIST Bitmap Output OUTPUTS Fail: A Memory Has Failed a BIST Test Done: Operation of BIST Is Complete Debug_data: Debug Data Output OPERATIONS Address: Ability to Apply Address Sequences Data: Ability to Apply Different Data Sequences Algorithm: Ability to Apply Algorithmic Control Sequences Comparator: Ability to Verify Memory Data Figure 4-20 Memory BIST Requirements Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques Retention Release Bitmap Algorithm Controller Address Generator Data Generator Comparator Invoke 21 Din Memory DI Array Do Ain A Write_en WRB Read_en CEB done Fail Hold_out Bitmap_out Dout Clk INPUTS Invoke: invoke the BIST (apply muxes and release reset) Retention: enable retention algorithm and pause Release: discontinue and release pause Bitmap: enable bitmap output on fail occurrence OUTPUTS Fail: sticky fail flag—dynamic under bitmap Done: operation of BIST is complete Bitmap_out: fail data under bitmap Hold_out: indication of pause Figure 4-21 An Example Memory BIST Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 22 Chip Level bitmap_out1 Memory Array with BIST Invoke done1 fail1 bitmap_out2 Memory Array with BIST Reset Bitmap done2 fail2 bitmap_out3 Memory Array with BIST Hold_1 Hold_2 Hold_3 Hold_4 done3 fail3 bitmap_out4 Memory Array with BIST so s1 done4 fail4 fail 1-4 done 1-4 Invoke: a global signal to invoke all BIST units Reset: a global signal to hold all BIST units in reset done fail diag_out Bitmap: a global signal to put all BIST units in debug mode Hold_#: individual hold signals to place memories in retention or to select which memory is displayed during debug done: all memory BISTs have completed fail: any memory BIST has detected a fault or a failure diag_out: the memory BIST not in hold mode will present debug data Figure 4-22 MBIST Integration Issues Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 23 bitmap_out1 Memory Array with BIST Invoke done1 Reset fail1 bitmap_out2 Memory Array with BIST Bitmap done2 fail2 Hold_1 Memory Array with BIST bitmap_out3 Hold_2 done3 fail3 Hold_3 Hold_4 Memory Array with BIST done4 bitmap_out4 so s1 fail4 fail 1-4 done 1-4 Invoke: must be a logic 0 when BIST is not enabled Reset: should be a logic 0 when BIST is not enabled done fail diag_out Bitmap: should be a logic 0 when BIST is not enabled Hold_#: should be a logic 0 when BIST is not enabled done: should not be connected to package output pin when BIST is not enabled fail: should not be connected to package output pin when BIST is not enabled diag_out: should not be connected to package output pin when BIST is not enabled Figure 4-23 MBIST Default Values Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques n Invoke n Reset n Bitmap Hold_1 Hold_2 Hold_n M e m o r y invoke 1-m done A 1-n r r a y s M e m m o r y with fail 1-n I M n B debug d I e S hold_l1 p T e s hold_l2 n d hold_1m e n t Bank 1 scan_out 1-n 24 done A 1-m r r a y s with fail 1-m m I M n B d I e S p T e s n d e n t Bank 2 n n m diag_out 1-m so s1 Invoke: global signal invokes bank 1 BIST Reset: global signal holds bank 1 BIST in reset diag_out Bitmap: global signal that enables BIST debug fail done Hold_#: paired hold signals to place memories in retention or to select which memory is displayed during debug done: bank n memory BISTs have completed fail: any memory BIST has detected a fault or a failure diag_out: the memory BIST not in hold will present debug data Figure 4-24 Banked Operation Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 25 LFSR - PRPG DQ DQ DQ CLK MBIST Address Functional 5 A 0 F Memory Array MBIST Data In Data Functional Data In Algorithm Sequencer MBIST Control Functional Functional & MBIST Data Out DQ DQ Data Out DQ CLK LFSR - MISR Figure 4-25 LFSR-Based Memory BIST Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 26 The Address sequence can be shifted both forward and backward to provide all addresses The Data sequence can be shifted across the data lines, and can also provide data for a comparator 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 Address Memory Array 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Data 0 1 0 0 1 0 Read/Write The Control sequence can be shifted across the read-write or output enable or other control signals Figure 4-26 Shift-Based Memory BIST Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 27 MBIST Address Functional Read-Only Memory Array MBIST Functional Read Control Functional Data Out Data Out MBIST DQ DQ DQ CLK LFSR - MISR Figure 4-27 ROM BIST Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 4 Memory Test Architectures and Techniques 28 Memory Testing Fundamentals Summary Memory Testing Is Defect-Based Memory Testing Is Algorithmic Different Types of Memories—Different Algorithms A Memory Fault Model Is Wrong Data on Read Memory Testing Relies on Multiple-Clue Analysis A Memory Test Architecture May CoExist with Scan A Memory Can Block Scan Test Goals Modern Embedded Memory Test Is BIST-Based BIST Is the Moving of the Tester into the Chip BIST-Based Testing Allows Parallelism Parallel Testing Impacts Retention Testing Parallel Testing Impacts Power Requirements Parallel Testing Requires Chip-Level Integration Figure 4-28 Memory Test Summary Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 1 Chapter 5 Embedded Core Test Fundamentals Chip-Level TCU Core 4 Core 5 Core 1 Core 2 General Logic Core 3 Memory Access Embedded Memory PLL Embedded Memory TAP JTAG Boundary Scan Figure 5-1 Introduction to Embedded Core Test and Test Integration Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 2 WHAT IS A CORE? SOFT HDL Model with No Test HDL Model with Modeled Test RTL Model with No Test RTL Model with Modeled Test Gate-Level Netlist with No Test Gate-Level Netlist with Synthesized Test Gate-Level Netlist with Inserted Test Gate-Level Netlist with Mixed Test FIRM HARD Layout GDSII with No Test Layout with Test from Synthesis Layout with Test from Gate-Level Layout with Test Optimization Figure 5-2 What is a CORE? Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 3 TMode[3:0] 4 Chip-Level CTCU 3 Core UDL 2 1 Embedded Memories Embedded Memories Wrapper 5 PLL TAP 6 JTAG Boundary Scan - A Core-Based Device May Include 1. Core(s) with Test Wrapper + Embedded Memory Arrays 2. Chip-Level User Defined Logic + Embedded Memory Arrays 3. Chip-Level Test Selection and Control Logic 4. Dedicated Chip-Level Test Pins 5. Chip-Level Clock Generation and Clock Control Logic 6. IEEE 1149.1 Controller and Boundary Scan Logic Figure 5-3 Chip Designed with Core Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 4 A Reuse Embeddable Core Business Deliverables 1. The Core 2. The Specification or Data Sheet 3. The Various Models 4. The Integration Guide 5. The Reuse Vectors Figure 5-4 Reuse Core Deliverables Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 5 CORE-BASED DESIGN DFT ISSUES Chip-Level Device A KNOWN STIMULUS ACCESS TO THE EMBEDDED CORE A KNOWN EXPECTED RESPONSE Other Chip-Level Logic • If the Core is HARD — DFT must exist before delivery — how is access provided at the chip level? • If the Core is HARD — and delivered with pre-generated vectors — how are vectors merged in the whole test program? • If the Core is HARD — and part of the overall chip test environment — how is the core test scheduled? • If the Core is HARD — and part of the overall chip test environment — what defaults are applied when not active? • If the Core is HARD — what is the most economical and effective test mix — Scan? LBIST? MBIST? Functional? • If the Core is SOFT — is the overall chip test environment developed as a Core and UDL or as a unified design? • If the Core operates at a different frequency from the pin I/O or other chip logic — how does this affect DFT and Test? Figure 5-5 Core DFT Issues Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 6 A Reuse Embeddable Core • DFT Drivers During Core Development Target Market/business — Turnkey versus Customer Design Target Cost-Performance Profile — Low to High Potential Packages — Plastic versus Ceramic Potential Pin Counts • Core Test Architectures and Interfaces Direct Access — Mux Out Core Terminals Add-On Test Wrapper — Virtual Test Socket Interface Share-Wrapper — Scanned Registered Core I/O At-Speed Scan Or Logic Built-in Self-test (LBIST) • Design For Reuse Considerations Dedicated Core Test Ports — Access Via IC Pins Reference Clocks — Test and Functional Test Wrapper — Signal Reduction/No JTAG/No Bidi’s Virtual Test Socket — Vector Reuse Figure 5-6 Core Development DFT Considerations Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 7 A Chip Package with 44 Functional Signals A ReUse Embeddable Core with 60 Functional Signals • Core DFT Interface Considerations Note — none of this is known a priori Access to core test ports via IC pins (integration) I/O port count less restrictive than IC pin count Impact of routing core signals to the chip edge - Dedicated test signals to place in test mode - Number of test signals needed to test core - Frequency requirements of test signals Figure 5-7 DFT Core Interface Considerations Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals UDL Logic At the time of Core Development, the UDL logic is not available and i’s configuration is not known 8 Embedded Core DQ DQ For example: - registered inputs or outputs - combinational logic - bidirectional signals or tristate busses QD QD How are vectors generated for a Hard Core before integration? How are vectors delivered that can assess the signal timing or frequency? UDL Domain How is test access planned to be provided — through the UDL or directly from the package pins? CORE Domain Figure 5-8 DFT Core Interface Concerns Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 9 A Chip Package with 44 Functional Signals Test Wrapper with 10 Test Signals A Reuse Embeddable Core with 60 Functional Signals • Core DFT Interface Considerations Wrapper for interface signal reduction Wrapper for frequency assessment Wrapper as frequency boundary Wrapper as a virtual test socket (for ATPG) Note: bidirectional functional signals can’t cross the boundary if wrapper or scan Figure 5-9 DFT Core Interface Considerations Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals UDL Logic “Land between the Lakes” The Isolation Test Wrapper D Q DQ DQ 10 Embedded Hard Core DQ D Q QD QD QD D Q UDL Scan Domain CORE Scan Domain Core-Wrapper Scan Domain where the wrapper is the registered core functional I/F that is scan-inserted separately Note: Wrapper and core are on same clock and path delay is used to generate vectors Figure 5-10 Registered Isolation Test Wrapper Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals UDL Logic 11 “Land between the Lakes” The Isolation Test Wrapper DQ Embedded Hard Core DQ DQ D Q QD QD Q D QD UDL Scan Domain CORE Scan Domain Wrapper Scan Domain where the wrapper is an added “slice” between the core functional I/F and the UDL functional I/F Wrapper and core are on different clocks and path delay is used to generate vectors Figure 5-11 Slice Isolation Test Wrapper Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals UDL Logic 12 “Land between the Lakes” The Isolation Test Wrapper Core_Test TR_SDO DQ DQ DQ D Q QD QD UDL Scan Domain Embedded Hard Core TR_SE TR_SDI TR_CLK Wrapper Scan Domain TR_Mode CORE Scan Domain System Clock the wrapper is an added “slice” between the core functional I/F and the UDL functional I/F Wrapper and core are on different clocks and path delay is used to generate vectors Figure 5-12 Slice Isolation Test Wrapper Cell Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals Internal BIST In Direct Test Signals go to Package Pins Internal BIST Out Internal Scan In Internal Scan Out QD QD 13 D Q Q D D Q Q D QD Wrapper Scan In D Q UDL Scan Domain UDL Logic CORE Scan Domain Core-Wrapper Scan Domain Embedded Hard Core “Land between the Lakes” The Isolation Test Wrapper All Core Test Interface Signals pass through the Test Wrapper without being acted upon All Core I/O are part of the Wrapper Scan Chain So Total Core Test I/F is: Internal Scan Internal MBIST Wrapper Scan Figure 5-13 Core DFT Connections through the Test Wrapper Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 14 Internal BIST In Direct Test Signals Go to Package Pins Internal Scan In Test Mode Control QD QD D Q D Q Core Test Controller QD Wrapper Scan In D Q UDL Scan Domain UDL Logic CORE Scan Domain Core-Wrapper Scan Domain Embedded Hard Core “Land between the Lakes” The Isolation Test Wrapper All Core Test Interface Signals pass through the Test Wrapper and may be acted upon by a Test Mode All Core I/O are part of the Wrapper Scan Chain So Total Core Test I/F is: Gated Internal Scan Gated Internal MBIST Gated Wrapper Scan Figure 5-14 Core DFT Connections with Test Mode Gating Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 15 Can’t Use the Wrapper Cell Wrapper Cell UDL Test Wrapper PLL Bypass Test Clock Mul/Div Clocks A Reuse Embeddable Hard Core with Pre-Existing Clock Trees Core Clock Out Signal(s) • DFT Considerations Can’t Support Bidirectional Core Ports Input and Reference Clocks Figure 5-15 Other Core Interface Signal Concerns Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 16 A Chip Package with a 25 MHz Interface Test Wrapper with 10 Test Signals A Reuse Embeddable Core with Fmax = 100MHz Logic • Core DFT Frequency Considerations Wrapper for frequency boundary Test signals designed for low frequency Package interface designed for high frequency Wrapper as a multi-frequency ATPG test socket Note: functional high/low frequency signals can cross the wrapper—the test I/F is the concern Figure 5-16 DFT Core Interface Frequency Considerations Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals The Core’s Test Port Internal Scan Data In Internal Scan Enable Wrapper Scan Data In Wrapper Scan Enable Wrapper Test Enable MemBIST Invoke MemBIST Retention MemBIST Bitmap Internal Scan Data Out Wrapper Scan Data Out MemBIST Fail MemBIST Done MemBIST Bitmap Out 17 A Test Wrapper A Reuse Embeddable Core with Existing DFT and Test Features • Core DFT Goals and Features Embedded Memory Test by MBIST - Few Signals — High Coverage — Less Test Time - Bitmap Characterization Support Structure by Stuck-At Scan - High Coverage — Fewer Vectors — Ease of Application Frequency by At-Speed Scan (Path & Transition Delay) - Deterministic — Fewer Vectors — Ease of Application Reuse of Core Patterns Independent of Integration Test Insulation from Customer Logic Embedded Core I/O Timing Specifications with Wrapper Minimize Test Logic Area Impact Minimize Test Logic Performance Penalty DFT Scannability Logic Full-Scan Single-Edge Triggered MUX DFF Tristate Busses - Contention/Float Prevention Negedge Inputs and Outputs Iddq—No Active Logic and Clock Stop Support Figure 5-17 A Reuse Embedded Core’s DFT Features Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 18 A Test Wrapper The Core’s Test Port Internal Scan Data In Internal Scan Enable Wrapper Scan Data In Wrapper Scan Enable Wrapper Test Enable MemBIST Invoke MemBIST Retention MemBIST Bitmap Internal Scan Data Out Wrapper Scan Data Out MemBIST Fail MemBIST Done MemBIST Bitmap Out A Reuse Embeddable Core with Existing DFT and Test Features • Core Economic Considerations Test Integration (Time-to-Market) Core Area and Routing Impact (Silicon/Package Cost) Core Power and Frequency Impact (Package/Pin Cost) Core Test Program Time/Size/Complexity (Tester Cost) Time and/or Tester Memory Retention Testing Chip Logic Testing Total Chip Test Program Budget(s) Memory Testing Embedded Core Testing Chip Parametrics Figure 5-18 Core Test Economics Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 19 TMode[3:0] Chip-Level CTCU Core UDL Embedded Memories Embedded Memories Wrapper PLL TAP JTAG Boundary Scan - A Core-Base Device May Include Core(s) with Test Wrapper and Embedded Memory Arrays Chip-Level Non-Core Logic with Embedded Memory Arrays Chip-Level Test Selection and Control Logic Dedicated Chip-Level Test Pins Chip-Level Clock Generation and Control Logic IEEE 1149.1 Controller and Boundary Scan Logic Figure 5-19 Chip with Core Test Architecture Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 20 Pre-Existing Vectors Chip-Level CTCU Test Selection Wrapper and Core Scan Package Pin Connections Core UDL PLL Clock Bypass TAP JTAG Boundary Scan Figure 5-20 Isolated Scan-Based Core-Testing Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 21 Development Generated Vectors Chip-Level CTCU Wrapper and UDL Scan Package Pin Connections Test Selection UDL Clock Bypass PLL TAP JTAG Boundary Scan Figure 5-21 Scan Testing the Non-Core Logic Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 22 Development Generated Vectors Chip-Level CTCU Wrapper and UDL Scan Package Pin Connections Test Selection UDL Clock Bypass PLL TAP JTAG Boundary Scan I/O specification testing—bus_SE Tristate busses - contention/float prevention Iddq—HighZ pin Pin requirements—(open drains) Figure 5-22 Scan Testing the Non-Core Logic Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 23 Development Generated Vectors Chip-Level CTCU Test Selection Core UDL Embedded Memories Embedded Memories Wrapper PLL Clock Bypass TAP JTAG Boundary Scan Figure 5-23 Memory Testing the Device Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 24 Chip-Level CTCU Core 4 Core 5 Core 1 Core 2 General Logic Core 3 Memory Access Embedded Memory PLL Embedded Memory TAP JTAG Boundary Scan • Chip-level DFT integration considerations each core/vector set must have: 1. Power Rating during Test 2. Frequency/Data Rate of Test Vectors 3. Fault Coverage of the Test Vectors 4. Required Test Architecture to Reuse Vectors 5. ATPG Test Wrapper or Encrypted Sim Model 6. The Vector Set’s Format 7. The Vector Set Sizing Figure 5-24 DFT Integration Architecture Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 25 Chip Parametrics Chip Iddq (Merged) Core 1 Test Components Core 2 Test Components Core 3 Test Components Chip-Level Memory Chip-Level Analog Core 1 Components Core 1 Iddq Core 1 Scan Core 1 Memory Test Core 1 Analog Test Time in (s) 1 2 3 4 # of Cores Figure 5-25 Test Program Components Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 26 • Receiving Core DFT Specification • Driven by Fab and Integration Requirements • Core DFT Specification Items - Test Mix - Style of Test - Maximum Number of Integration Signals - Minimum-Maximum Test Frequency - Maximum Vector Sizing - Minimum Fault Coverage - Clock Source Figure 5-26 Selecting or Receiving a Core Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch Chapter 5 Embedded Core Test Fundamentals 27 • Core Test Driven by Cost-of-Test and TTM • Two Concerns: Reuse and Integration • Reuse: Interface, Clocks, Test Features - number of dedicated test signal - size of test integration interface - ability to test interface timing - no functional bidirectional ports - specifications and vectors based on clock-in - specifications and vectors based on clock-out - ability to stop clock for retention or Iddq - number of clock domains - at-speed full scan - at-speed memory BIST - use of a scan test wrapper - self-defaulting safety logic • Integration: Core Connections, Chip Test Modes - simple core integration - reuse of pre-existing vectors - application of test signal defaults - shared resources (pins and control logic) - shared testing (parallel scheduling) - chip level test controller Figure 5-27 Embedded Core DFT Summary Design-for-Test for Digital IC’s and Embedded Core Systems © 1999 Prentice Hall, All Rights Reserved Alfred L. Crouch