超大型積體電路測試 國立清華大學電機系 EE VLSI Testing. Chapter 5 Design For Testability & Scan Test. Outline. Introduction

Similar documents
Chapter 8 Design for Testability

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

K.T. Tim Cheng 07_dft, v Testability

Lecture 23 Design for Testability (DFT): Full-Scan

Design for Testability

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Module 8. Testing of Embedded System. Version 2 EE IIT, Kharagpur 1

Design for Testability Part II

Using on-chip Test Pattern Compression for Full Scan SoC Designs

Overview: Logic BIST

國立清華大學電機系 EE-6250 超大型積體電路測試. VLSI Testing. Chapter 7 Built-In Self-Test. Design-for-Testability

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29

Scan. This is a sample of the first 15 pages of the Scan chapter.

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

Sequential Circuit Design: Part 1

VLSI System Testing. BIST Motivation

2.6 Reset Design Strategy

Sequential Circuit Design: Part 1

A Novel Low-overhead Delay Testing Technique for Arbitrary Two-Pattern Test Application

Final Exam CPSC/ECEN 680 May 2, Name: UIN:

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Simulation Mismatches Can Foul Up Test-Pattern Verification

ECE321 Electronics I

Chapter 2. Digital Circuits

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

Experiment 8 Introduction to Latches and Flip-Flops and registers

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Design of Fault Coverage Test Pattern Generator Using LFSR

Chapter 5 Flip-Flops and Related Devices

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

SEQUENTIAL LOGIC. Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Testing Digital Systems II

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

CMOS Testing-2. Design for testability (DFT) Design and Test Flow: Old View Test was merely an afterthought. Specification. Design errors.

Strategies for Efficient and Effective Scan Delay Testing. Chao Han

TKK S ASIC-PIIRIEN SUUNNITTELU

CHAPTER1: Digital Logic Circuits

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

Gated Driver Tree Based Power Optimized Multi-Bit Flip-Flops

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Logic Design II (17.342) Spring Lecture Outline

Built-In Self-Test (BIST) Abdil Rashid Mohamed, Embedded Systems Laboratory (ESLAB) Linköping University, Sweden

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

CPE 628 Chapter 5 Logic Built-In Self-Test. Dr. Rhonda Kay Gaede UAH. UAH Chapter Introduction

Based on slides/material by. Topic Testing. Logic Verification. Testing

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

IT T35 Digital system desigm y - ii /s - iii

Logic Design. Flip Flops, Registers and Counters

Based on slides/material by. Topic 14. Testing. Testing. Logic Verification. Recommended Reading:

VLSI Test Technology and Reliability (ET4076)

Designs with Multiple Clock Domains: Avoiding Clock Skew and Reducing Pattern Count Using DFTAdvisor tm and FastScan tm

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing


Lecture 11: Sequential Circuit Design

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab. Built-In Self Test 2

Part 4: Introduction to Sequential Logic. Basic Sequential structure. Positive-edge-triggered D flip-flop. Flip-flops classified by inputs

Sequential Logic Basics

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

Changing the Scan Enable during Shift

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Operating Manual Ver.1.1

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Registers and Counters

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

11. Sequential Elements

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

ESE 570 STATIC SEQUENTIAL CMOS LOGIC CELLS. Kenneth R. Laker, University of Pennsylvania, updated 25Mar15

ECE 715 System on Chip Design and Test. Lecture 22

Learning Outcomes. Unit 13. Sequential Logic BISTABLES, LATCHES, AND FLIP- FLOPS. I understand the difference between levelsensitive

Registers and Counters

MC9211 Computer Organization

MODU LE DAY. Class-A, B, AB and C amplifiers - basic concepts, power, efficiency Basic concepts of Feedback and Oscillation. Day 1

Lecture 8: Sequential Logic

Modeling Digital Systems with Verilog

Lecture 10: Sequential Circuits

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination CLOSED BOOK

Chapter 2 Clocks and Resets

Chapter 6 Registers and Counters

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ

Memory, Latches, & Registers

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

Synchronous Digital Logic Systems. Review of Digital Logic. Philosophy. Combinational Logic. A Full Adder. Combinational Logic

Unit V Design for Testability

Combinational vs Sequential

Computer Architecture and Organization

ECE 407 Computer Aided Design for Electronic Systems. Testing and Design for Testability. Instructor: Maria K. Michael. Overview

Why FPGAs? FPGA Overview. Why FPGAs?

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

DELAY TEST SCAN FLIP-FLOP (DTSFF) DESIGN AND ITS APPLICATIONS FOR SCAN BASED DELAY TESTING

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

Transcription:

1 國立清華大學電機系 EE-6250 超大型積體電路測試 VLSI Testing Chapter 5 esign For Testability & Scan Test Outline Introduction Why FT? What is FT? Ad-Hoc Approaches Full Scan Partial Scan ch5-2

2 Why FT? irect Testing is Way Too ifficult! Large number of FFs Embedded memory blocks Embedded analog blocks esign For Testability is inevitable Like death and tax ch5-3 esign For Testability efinition esign For Testability (FT) refers to those design techniques that make test generation and testing cost-effective FT Methods Ad-hoc methods Scan, full and partial Built-In Self-Test (BIST) Boundary scan Cost of FT Pin count, area, performance, design-time, test-time ch5-4

3 Why FT Isn t Universally Used Previously? Short-sighted view of management Time-to-market pressure Life-cycle cost ignored by development management/contractors/buyers Area/functionality/performance myths Lack of knowledge by design engineers Testing is someone else s s problem Lack of tools to support FT until recently We don t have to worry about this management barrier any more Most design teams now have ft people ch5-5 Important Factors Controllability Measure the ease of controlling a line Observability Measure the ease of observing a line at PO Predictability Measure the ease of predicting output values FT deals with ways of improving Controllability Observability Predictability ch5-6

4 Outline Introduction Ad-Hoc Approaches Test Points esign Rules Full Scan Partial Scan ch5-7 Ad-Hoc esign For Testability esign Guidelines Avoid redundancy Avoid asynchronous logic Avoid clock gating (e.g., ripple counter) Avoid large fan-in Consider tester requirements (tri-stating, etc.) isadvantages High fault coverage not guaranteed Manual test generation esign iterations required ch5-8

5 Some Ad-Hoc FT Techniques Test Points Initialization Monostable multivibrators One-shot circuit Oscillators and clocks Counters / Shift-Registers Add control points to long counters Partition large circuits Logical redundancy Break global feedback paths input elay element input output One-shot output ch5-9 On-Line Self-Test & Fault Tolerance By Redundancy Information Redundancy Outputs = (information-bits) + (check-bits) Information bits are the original normal outputs Check bits always maintains a specific pre-defined logical or mathematical relationship with the corresponding information bits Any time, if the information-bits and check-bits violate the pre-defined relationship, then it indicates an error Hardware are Redundancy Use extra hardware (e.g., duplicate or triplicate the system) so that the fault within one module will be masked (I.e., the faulty effect never observed at the final output) ch5-10

6 Module Level Redundancy Triple Module Redundancy (TMR) majority voting on three identical modules outputs help mask out faults that occur in a single module Module 1 Module 0 voter Majority verdict 0 Module 0 ch5-11 Test Point Insertion Employ test points to enhance Controllability Observability CP: Control Points Primary inputs used to enhance controllability OP: Observability Points Primary outputs used to enhance observability 0 (extra PI) Add 0-CP (extra PO) OP Add 1-CP 1 (extra PI) Add OP ch5-12

7 0/1 Injection Circuitry Normal operation When CP_enable = 0 Inject 0 Set CP_enable = 1 and CP = 0 Inject 1 Set CP_enable = 1 and CP = 1 C1 0 w MUX 1 C2 CP CP_enable Inserted circuit for controlling line w ch5-13 Single I/O Port for Multiple Test Points Constraints of using test points A large demand on I/O pins This constraint t can be somewhat relieved by using MUX & EMUX at the cost of increasing the test time dispatcher Input pin For CP EMUX CP1 CP2 CP3 OP1 OP2 OP3 MUX output pin For OP CP N OP N C1 C2 C3 Cn C1 C2 C3 Cn N = 2 n (demultiplexing control points) N = 2 n (multiplexing observation points) ch5-14

8 Sharing Between Test Points & Normal I/O Advantage: Even fewer I/O pins for Test Points Overhead: Extra MUX delay for normal I/O Normal Functional inputs Normal functional outputs Input pins n n 1-to-2 EMUX s n n n 2-to-1 MUX s n Output pins n n CP s n Observation points SELECT PIN SELECT PIN ch5-15 Control Point Selection Impact The controllability of the fanout-cone of the added point is improved Common selections Control, address, and data buses Enable / Hold inputs Enable and read/write inputs to memory Clock and set/clear signals of flip-flops ata select inputs to multiplexers and demultiplexers ch5-16

9 Example: Use CP to Fix FT Rule Violation FT rule violations The set/clear signal of a flip-flop is generated by other logic, instead of directly controlled by an input pin Gated clock signals Violation Fix Add a control point to the set/clear signal or clock signals CK clear Q Violation fix CK clear Q logic logic CLEAR ch5-17 Example: Fixing Gated Clock Gated Clocks Advantage: power dissipation of a logic design can thus reduced rawback: the design s testability is also reduced Testability Fix CK Q Violation fix CK MUX Q CK_enable Gated CK CK_enable CK CP_enable ch5-18

10 Example: Fixing Tri-State Bus Contention Bus Contention A stuck-at-fault at the tri-state enable line may cause bus contention ti multiple l active drivers are connected to the bus simultaneously Fix Add CPs to turn off tri-state devices during testing (A Bus Contention Scenario in the presence of a fault) Enable line stuck-at-1 Enable line active x 0 0 1 1 Unpredictable voltage on bus may cause a fault to go unnoticed ch5-19 Example: Partitioning Counters Consider a 16-bit ripple-counter Could take up to 2 16 = 65536 cycles to test After being partitioned into two 8-bit counters below, it can be tested with just 2x2 8 = 512 cycles start 8-bit counters Q 0 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Trigger clock For 2 nd 8-bit counter MUX start 8-bit counters CK_for_Q8 Q 8 Q 9 Q 10 Q 11 Q 12 Q 13 Q 14 Q 15 Q 7 CK CP_enable ch5-20

11 Observation Point Selection Impact The observability of the fanin-cone (or transitive fanins) of the added OP is improved Common choice Stem lines having a large number of fanouts Global feedback paths Redundant signal lines Output t of logic devices having many inputs MUX, XOR trees Output from state devices Address, control and data buses ( 常為電路區塊間之介面訊號 ) ch5-21 Problems of CP & OP Large number of I/O pins Add MUXes to reduce the number of I/O pins Serially shift CP values by shift-registers Larger test time X Shift-register R1 X Z Z Shift-register R2 control Observe ch5-22

12 Outline Introduction Ad-Hoc Approaches Full Scan The Concept Scan Cell esign Random Access Scan Partial Scan ch5-23 Objective What Is Scan? To provide controllability and observability at internal state variables for testing Method Add test mode control signal(s) to circuit Connect flip-flops to form shift registers in test mode Make inputs/outputs of the flip-flops in the shift register controllable and observable Types Internal scan Full scan, Partial scan, Random access Boundary scan ch5-24

13 The Scan Concept Mode Switch (normal or test) Scan In Combinational Logic FF FF FF Scan Out ch5-25 A Logic esign Before Scan Insertion input pins Combinational Logic output pins Q Q Q clock Sequential ATPG is extremely difficult: due to the lack of controllability and observability at flip-flops. ch5-26

14 Example: A 3-stage Counter Combinational Logic input pins q 1 q 2 q 3 g stuck-at-0 output pins q 1 q2 q 3 1 Q Q Q 1 1 clock It takes 8 clock cycles to set the flip-flops to be (1, 1, 1), for detecting the g stuck-at-0 fault (2 20 clock cycles for a 20-stage counter!) ch5-27 A Logic esign After Scan Insertion input pins Combinational Logic q 1 q 2 g stuck-at-0 q 3 output pins q 1 q 2 q 3 scan-input (SI) scan-enable clock MUX Q 1 MUX Q Q 1 1 MUX scan-output (SO) Scan Chain provides an easy access to flip-flops Pattern Generation is much easier!! Note: Scan Enable (SE), not shown here, controls every MUX. ch5-28

15 Procedure of Applying Test Patterns Notation Test vectors T = < t ii, t F i > i= 1, 2, Output Response R=<r O io, r F i >i=1 1, 2, Test Application (1) i = 1; PI s PO s Comb. portion PPI s PPO s (2) Scan-in t F 1 /* scan-in the first state vector for PPI s */ (3) Apply t I i /* apply current input vector at PI s */ (4) Observe r O i /* observe current output response at PO s */ (5) Capture PPOs to FFs as r if /* capture the response at PPO s to FFs */ (Set to Normal Mode by raising SE to 1 for one clock cycle) (6) Scan-out r if while scanning-in t F i+1 /* overlap scan-in and scan-out */ (7) i = i+1; Goto step (3) ch5-29 Testing Scan Chain? Common practice Scan chain is often first tested before testing the core logic by a so-called flush test - which pumps random vectors in and out of the scan chain Procedure (flush test of scan chain) (1) i = 0; (2) Scan-in 1 st random vector to flip-flops (3) Scan-out (i) th random vector while scanning-in (i+1) th vector for flip-flops. The (i) th scan-out vector should be identical to (i) th vector scanned in earlier, otherwise scan-chain is mal-functioning (4) If necessary i = i+1, goto step (3) ch5-30

16 MUX-Scan Flip-Flop Only -type master-slave flip-flops are used All flip-flop clocks controlled from primary inputs No gated clock allowed Clocks must not feed data inputs of flip-flops Most popularly supported in standard cell libraries SC (normal / test) SI (scan input) Normal Master- Slave Flip-flop CLK ch5-31 Two-Port ual-clock Scan FF Separate normal clock from the clock used for scanning : normal input data CK1: normal clock SI: scan input CK2: scan clock CK1 CK2 SI master latch Q1 Q Q CK CK Q2 slave latch ch5-32

17 Race-Free Scan FF Use two-phase clocking CK1 and CK2 are two-phase non-overlapping clocks which insure race-free operation CK1 CK2 Q1 SC SI CK Q CK Q Q2 CK1 CK2 ch5-33 LSS flip-flop (1977 IBM) LSS: Level Sensitive Scan esign Less performance degradation than MUX-scan FF Clocking Normal operation: non-overlapping CK1=1 CK3=1 Scan operation: non-overlapping CK2=1 CK3=1 Q1 Q2 CK1 S CK2 CK3 想辦法將 MUX 融入 FF 設計中, 以降低 Scan 對速度的負面影響 ch5-34

18 Symbol of LSS FF Latch 1 SI C A 1 2 CK1 CK2 Q Q1 (normal level-sensitive latch output) Latch 2 Q SO B CK ch5-35 Scan Rule Violation Example 1 Flip Flop Q1 2 Flip Flop Q2 Clock Rule violation: Flip-flops cannot form a shift-register A workaround 1 Clock Flip Flop 2 Flip Flop Q2 All FFs are triggered by the same clock edge Set and reset signals are not controlled by any internal signals ch5-36

19 Some Problems With Full Scan Problems Area overhead Possible performance degradation High test application time Power dissipation Major Commercial Test Tool Companies Synopsys Mentor-Graphics SynTest ( 華騰科技 ) Cadence Features of Commercial Tools Scan-rule violation check (e.g., FT rule check) Scan insertion (convert a FF to its scan version) ATPG (both combinational and sequential) Scan chain reordering after layout ch5-37 Performance Overhead The increase of delay along the normal data paths include: Extra gate delay due to the multiplexer Extra delay due to the capacitive loading of the scan-wiring at each flip-flop s output Timing-driven partial scan Try to avoid scan flip-flops that belong to the timing critical paths The flip-flop selection algorithm for partial scan can take this into consideration to reduce the timing impact of scan to the design ch5-38

20 Scan-Chain Reordering Scan-chain order is often decided at gate-level without knowing the physical locations of the cells Scan-chain consumes a lot of routing resources, and could be minimized by re-ordering the flip-flops in the chain after layout is known 3 2 Scan-In 1 Scan-In 1 5 3 Scan-Out Scan-Out 4 4 Scan cell 2 5 Layout of a scan design A better scan-chain order ch5-39 Overhead of Scan esign Number of CMOS gates = 2000 Fraction of flip-flops = 0.478 Scan implementation Predicted overhead Actual area overhead Normalized operating frequency None 0 0 1.0 Hierarchical 14.05% 16.93% 0.87 Optimized 14.05% 11.9% 0.91 ch5-40

21 Random Access Scan Comparison with Scan-Chain More flexible any FF can be accessed in constant time Test time could be reduced More hardware and routing overhead Y address ecoder FF FF Normal data Test data 0 MUX 1 Q Y d Y-enable X address X decoder X-enable ch5-41 Outline Introduction Ad-Hoc Approaches Full Scan Partial Scan ch5-42

22 Partial Scan Basic idea Select a subset of flip-flops for scan Lower overhead (area and speed) Relaxed design rules Cycle-breaking technique Cheng & Agrawal, IEEE Trans. On Computers, April 1990 Select scan flip-flops to simplify sequential ATPG Overhead is about 25% off than full scan Timing-driven partial scan Jou & Cheng, ICCA, Nov. 1991 Allow optimization of area, timing, and testability simultaneously ch5-43 Full Scan vs. Partial Scan scan design full scan every flip-flop is a scan-ff partial scan NOT every flip-flop is a scan-ff test time longer shorter hardware overhead more less fault coverage ~100% unpredictable ease-of-use easier harder ch5-44

23 A Partial-Scan ft Flow Circuit file Flip-flop selection Circuit modifier Flip-flop list Test model generator Circuit with Partial scan Test model Test generation (stg3) Test vectors ch5-45 irected Graph Of A Synchronous Sequential Circuit primary inputs primary inputs primary inputs 3 1 2 4 5 6 A circuit with six flip-flops 3 Graph of the circuit L=3 1 2 4 5 6 L=1 L=2 primary outputs epth =4 ch5-46

24 Partial Scan For Cycle-Free Structure Select minimal set of flip-flops To eliminate some or all cycles Self-loops of unit length Are not broken to reduce scan overhead The number of self-loops in real design can be quite large Limit the length of Consecutive self-loop paths Long consecutive self-loop paths in large circuits may pose problems to sequential ATPG ch5-47 Test Generation for Partial Scan Circuits Separate scan clock is used Scan flip-flops are removed And their input and output signals are added to the PO/PI lists A sequential circuit test generator is used for test generation The vector sequences Are then converted into scan sequences Each vector is preceded by a scan-in sequence to set the states of scanned flip-flops A scan-out sequence is added at the end of applying each vector ch5-48

25 Partial Scan esign Scan In 3 Scan Out PI PPI PO PPO 1 2 4 5 6 Scan In Scan Flip-Flops: {2, 5} Non-Scan FFs: {1, 3, 4, 6} Scan Out ch5-49 Trade-Off of Area Overhead v.s. Test Generation Effort CPU Time Test Generation Complexity Area Overhead Area overhead Non-Scan Only Self-Loops Remain Feedback Free Circuit Full-Scan ch5-50

26 Summary of Partial-Scan Partial Scan Allows the trade-off between test generation effort and hardware overhead to be automatically explored Breaking Cycles ramatically simplifies the sequential ATPG Limiting the Length of Self-Loop Paths Is crucial in reducing test generation effort for large circuits Performance egradation Can be minimized by using timing analysis data for flip-flop selection ch5-51