Chapter 8 Design for Testability

Similar documents
K.T. Tim Cheng 07_dft, v Testability

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

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

Design for Testability

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

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

Design for Testability Part II

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

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

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

Overview: Logic BIST

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

Testing Digital Systems II

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

Simulation Mismatches Can Foul Up Test-Pattern Verification

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

VLSI System Testing. BIST Motivation

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


UNIT IV CMOS TESTING. EC2354_Unit IV 1

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

TKK S ASIC-PIIRIEN SUUNNITTELU

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

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

2.6 Reset Design Strategy

Chapter 5 Flip-Flops and Related Devices

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

Unit V Design for Testability

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

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

Level and edge-sensitive behaviour

Design of Fault Coverage Test Pattern Generator Using LFSR

At-speed Testing of SOC ICs

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

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

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

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

Sequential Logic Basics

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

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

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

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

Combinational vs Sequential

Experiment 8 Introduction to Latches and Flip-Flops and registers

Digital Integrated Circuits Lecture 19: Design for Testability

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

Chapter 2. Digital Circuits

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

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

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

CPS311 Lecture: Sequential Circuits

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

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

VLSI Test Technology and Reliability (ET4076)

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

Low Power Illinois Scan Architecture for Simultaneous Power and Test Data Volume Reduction

Chapter 2 Clocks and Resets

ELCT201: DIGITAL LOGIC DESIGN

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

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

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

Impact of Test Point Insertion on Silicon Area and Timing during Layout

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

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

Combinational / Sequential Logic

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

Changing the Scan Enable during Shift

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

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code

A Low Power Delay Buffer Using Gated Driver Tree

Testing Digital Systems II

VLSI Design Verification and Test BIST II CMPE 646 Space Compaction Multiple Outputs We need to treat the general case of a k-output circuit.

Topic 8. Sequential Circuits 1

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

Sequential Circuit Design: Part 1

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

Chapter 5. Logic Built-In Self-Test. VLSI EE141 Test Principles and Architectures Ch. 5 - Logic BIST - P. 1

Retiming Sequential Circuits for Low Power

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

ALGORITHMS IN HW EECS150 ALGORITHMS IN HW. COMBINATIONAL vs. SEQUENTIAL. Sequential Circuits ALGORITHMS IN HW

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

A FOUR GAIN READOUT INTEGRATED CIRCUIT : FRIC 96_1

Modeling Digital Systems with Verilog

CHAPTER1: Digital Logic Circuits

MULTI-CYCLE AT SPEED TEST. A Thesis MALLIKA SHREE POKHAREL

Sequential Circuit Design: Part 1

FLIP-FLOPS AND RELATED DEVICES

Logic BIST for Large Industrial Designs: Real Issues and Case Studies

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

CS8803: Advanced Digital Design for Embedded Hardware

11. Sequential Elements

EE178 Spring 2018 Lecture Module 5. Eric Crabill

CSE 352 Laboratory Assignment 3

Controlling Peak Power During Scan Testing

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

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

Transcription:

電機系 Chapter 8 Design for Testability 測試導向設計技術

2 Outline Introduction Ad-Hoc Approaches Full Scan Partial Scan

3 Design For Testability Definition Design For Testability (DFT) refers to those design techniques that make test generation and testing costeffective DFT deals with ways of improving Controllability Observability DFT Methods Ad-hoc methods Scan, full and partial Built-In Self-Test (BIST) Boundary scan, core test architecture, etc. Cost of DFT Pin count, area, performance, design-time, test-time

4 Testability A concept that deals with the costs associated with testing. When the testability of a circuit is increased, some test costs are being reduced Test application time Test generation time Fault simulation time Fault localization time Test equipment cost

5 What limits application of DFT? Short-sighted view of management Time-to-market pressure Area/functionality/performance myths Lack of knowledge by design engineers Testing is someone else s problem Lack of tools to support DFT until recently

6 DFT is Important for Successful Production Certain DFT techniques are widely and successfully used Scan Boundary Scan Test compression BIST

7 Ad-Hoc Design For Testability Design Guidelines Avoid redundancy Avoid asynchronous logic Avoid clock gating (e.g., power control, ripple counter) Avoid large fan-in Disadvantages of ad-hoc methods Circuit too large for manual inspection and test generation. Not too many testability experts to consult. High fault coverage not guaranteed

8 Ad-Hoc DFT Techniques (I) Test Points Employ test points to enhance controllability and observability Initialization Design circuit to be easily initialized Oscillators and clocks Disable internal oscillators and clocks during test Monostable multivibrators Disable internal one-shots during test Delay element One-shot signal is hard to predict

9 Ad-Hoc DFT Techniques (II) Partition counters / shift-registers Partition large counters and SR into smaller units Partition large circuits Partition large circuits into small sub-circuits to reduce test generation cost Logical redundancy Avoid the use of redundant logic Break global feedback paths Provide logic to break global feedback paths

Test Point Insertion Employ test points to enhance Controllability and Observability Control Points (CP) Extra PIs used to enhance controllability Observability Points (OP) Extra POs used to enhance observability

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 1 MUX w C2 CP CP_enable Inserted circuit for controlling line w

12 Problems of CP & OP Large number of I/O pins Add MUX s to reduce the number of I/O pins Serially shift CP values by shift-registers Long test time for some CP/OP architecture Increase performance and area overheads

13 Shift Registers for Control Point Insertion To avoid large number of PIs. During normal operation, TM = 0, DI DO. During test, TM = 1, Q DO.

14 Control Point Selection Impact The controllability of the fanout-cone of the added point is improved Possible candidates Control, address, and data buses Enable / Hold inputs Enable and read/write inputs to memory Clock and preset/clear signals of flip-flops Data select inputs to multiplexers and demultiplexers

15 Observation Point Selection Impact The observability of the transitive fanins of the added point is improved Common choice Stem lines having high fanout Global feedback paths Redundant signal lines Output of logic devices having many inputs MUX, XOR trees Output from state devices Address, control and data buses

Example: Partitioning Counter 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 2 8 = 256 cycles start 8-bit counters CK Q 0 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Trigger clock For 2 nd 8-bit counter MUX 8-bit counters CK Q 8 Q 9 Q 10 Q 11 Q 12 Q 13 Q 14 Q 15 CK CP_enable 16

17 Outline Introduction Ad-Hoc Approaches Full Scan Partial Scan

18 What Is Scan? Objective 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, etc. Boundary scan

19 Revisit Sequential Circuit Model PI Combinational Parts PO

Scan Architecture PI Combinational Parts PO 0 1 Scan in Scan out Normal/test clock Normal/test switch 20

Scan Architecture In Normal Mode PI Combinational Parts PO 0 1 Scan in Scan out Normal clock Switch=1 (Normal mode) 21

Scan Architecture In Scan Mode PI Combinational Parts PO 0 1 Scan in Scan out Test clock Switch=0 (Test mode) 22

23 Applying Tests for Scan Circuits Phase I (test the scan chain): Shift test Targets the scan flip-flops. Phase II (applying test patterns for combination circuits): Target the single stuck-at faults in the combinational circuit. Test vectors are generated by a combinational ATPG.

24 Phase I: Shift test A toggle sequence 00110011 of length n sff +4 is scanned in. (n sff is the maximum number of FFs in a scan chain.) Each SFF experiences all four transitions: 0 1, 0 0, 1 1, 1 0. The shift test covers most single stuck-at faults in the FFs. The shift test also verifies the correctness of the shift operation.

25 Phase II: Combinational Test For each combinational test vector 1. Assert PI signals 2. Switch to test mode (scan) 3. Scan in 1. Assert scan test patterns 2. Apply test clock 3. Repeat until all FFs are set 4. Switch to normal mode 5. Apply functional clock 6. Probe PO signals 7. Switch to test mode 8. Scan out

26 Scan Test Example Assume we have two test vector to be applied in the following formats PI PPI PO PPO 1 010 0 011 0 101 1 111

Scan Example (Assert PI) PI=1 Combinational Parts PO X 0 1 Scan in=x X X Scan out Test clock Switch=0 (Test mode) 27

Scan Example (Scan In) PI=1 Combinational Parts PO 0 0 1 Scan in=0 X X Scan out=x Test clock Switch=0 (Test mode) 28

Scan Example (Scan In) PI=1 Combinational Parts PO 1 0 1 Scan in=1 0 X Scan out=x Test clock Switch=0 (Test mode) 29

Scan Example (Scan In) PI=1 Combinational Parts PO 0 0 1 Scan in=0 1 0 Scan out=x Test clock Switch=0 (Test mode) 30

Scan Example (Normal Mode) PI=1 Combinational Parts PO=0 1 0 1 Scan in 1 0 Scan out Normal clock Switch=1 (Normal mode) 31

Scan Example (Scan Out) PI=0 Combinational Parts PO 1 0 1 Scan in=1 1 1 Scan out=0 Test clock Switch=0 (Test mode) 32

Scan Example (Scan Out) PI=0 Combinational Parts PO 0 0 1 Scan in=0 1 1 Scan out=01 Test clock Switch=0 (Test mode) 33

Scan Example (Scan Out) PI=0 Combinational Parts PO 1 0 1 Scan in=1 0 1 Scan out=011 Test clock Switch=0 (Test mode) 34

35 Calculating Scan Test Clocks For each test vector, we need to shift in n sff clock cycles (to setup the FFs) and apply one functional clock, and shift out with another n sff clocks. The total number of clocks n sff + 1 + n sff + 1 + n sff + 1 + n sff + + n sff + 1 + n sff 1st vector 2nd vector 3rd vector last vector Scan test length = n comb (n sff + 1) + n sff n sff : number of scan flip-flops; n comb : number of combinational tests

Scan Cell Designs

MUXed Scan Flip-Flop Only D-type master-slave flip-flops are used 2 PIs (SC & SI) and 1 PO (SO) are used for test 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 D SC Logic overhead Master latch Slave latch Q SI MUX Q CK D flip-flop SC: normal / test SI: scan input 37

38 Multiplex Data Shift-Register Latch Use two-phase clocking CK1 and CK2 are two-phase non-overlapping clock which insures race-free operation CK1 CK2 D Master latch Q1 Slave latch SC SI D CK Q Q D CK Q Q Q2 CK1 CK2

Scan mode Normal mode 39 Two-Port Dual-Clock Scan Flip- Flop Less performance degradation than MUXed scan FF D Q1 Q2 CK1 SD CK2 CK1 CK2 CK1 CK2

LSSD Single-latch Design (1977 IBM) LSSD: level-sensitive scan design Can be used for latch designs D = D1 L* L1 SI L* L2 CK1 SI = SI1 B D = D2 A CK2

41 Symbol of LSSD Scan FF L* D1 SI1 D SI Q L1 (normal level-sensitive latch output) CK1 A L* D2 D SI Q L2 CK2 B

42 Comparing Three Scan Cell Designs Disadvantage Advantage Muxed-D Scan Cell Two-Port Dual- Clock Scan Cell Compatibility to modern designs Comprehensive support provided by existing design automation tools No performance degradation Add a multiplexer delay Require additional shift clock routing LSSD Scan Cell Insert scan into a latchbased design Guarantee to be race-free Increase routing complexity

43 Scan Design Rules Design Style Scan Design Rule Recommended Solution Tri-state buses Avoid during shift Fix bus contention during shift Bi-directional I/O ports Avoid during shift Force to input/output mode Gated clocks Avoid during shift Enable clocks during shift Derived clocks Avoid Bypass clocks Combinational feedback loops Avoid Break the loops Asynchronous set/reset signals Avoid Use external pin(s) Clocks driving data Avoid Block clocks to the data portion Floating buses Avoid Add bus keepers Floating inputs Not recommended Tie to Vcc or ground Cross-coupled Not recommended Use standard cells NAND/NOR gates Non-scan storage elements Not recommended Initialize to known states; bypass; or make transparent

44 Tri-State Buses Bus contention occurs when two bus drivers force opposite logic values onto a tri-state bus. During the shift operation, contention can happen with continuous 1 s as in the example.

45 Tri-State Buses Fixes when SE = 1 EN1=1, EN2=0 and EN3=0 (only D1 enabled). The bus keeper is added to avoid uninitialized Z.

46 Bi-Directional I/O Ports During the shift operation, the input/output tristate buffer may become active, resulting in a conflict if BO and the I/O port driven by the tester have opposite logic values. Fix

47 Gated Clocks The clock gating function should be disabled at least during the shift operation. Fix

48 Derived Clocks A multiplexer selects CK, which is a clock directly controllable from a primary input, to drive DFF1 and DFF2, during the entire test operation, when TM = 1. Fix

49 Combinational Feedback Loops Since the value stored in the loop cannot be controlled or determined during test, this can lead to an increase in test generation complexity or fault coverage loss. The best way is to rewrite the RTL code. Fix

50 Asynchronous Set/Reset Signals Asynchronous set/reset signals of scan cells that are not directly controlled from primary inputs can prevent scan chains from shifting data properly. To avoid this problem, these asynchronous set/reset signals are forced to an inactive state during the shift operation. Fix

51 Scan Design Flow Original Design Rule check and repair Testable Design Scan configuration Scan synthesis Scan replacement Scan reordering Layout Constraints and Control information Scan stitching Scan Design Scan extraction ATPG Scan verification

52 Scan Design Steps (I) Scan Design Rule Checking and Repair Identify and repair all scan design rule violations to convert the original design into a testable design Also performed after scan synthesis to confirm that no new violations exist Scan Synthesis Converts a testable design into a scan design without affecting the functionality of the original design Scan Configuration Scan Replacement Scan Reordering Scan Stitching

53 Scan Design Steps (II) Scan Extraction Is the process used for extracting all scan cell instances from all scan chains specified in the scan design Scan Verification A timing file in standard delay format (SDF) which resembles the timing behavior of the manufactured device is used to Verifying the scan shift operation Verifying the scan capture operation

54 Four Processes for Scan Synthesis Scan Configuration The number of scan chains used The types of scan cells used to implement these scan chains Which storage elements to exclude from the process How the scan cells are arranged Scan Replacement Replaces all original storage elements in the testable design with their functionally-equivalent scan cells Scan Reordering The process of reordering the scan chains based on the physical scan cell locations, in order to minimize the amount of interconnect wires used to implement the scan chains Scan Stitching Stitch all scan cells together to form scan chains

55 Physical Design of Scan with Standard Cells First, placing the cells without scan wiring. To avoid adversely affect the functional interconnects. Replace FFs with SFFs. Wider than original. Add TC control line. At most one track in every alternate routing channel. Scan path routing. One track in every alternate routing channel is possible.

56 Comb. logic SFFs scan in TC scan out

Scan-Chain Reordering Scan-chain order is often decided at gate-level without knowing the cell placement Scan-chain consumes a lot of routing resources, and could be minimized by re-ordering the flip-flops in the chain after layout is done Scan-In Scan-In Scan-Out Scan-Out Scan cell Layout of a cell-based design A better scan-chain order 57

58 RTL Design for Testability RTL Design Logic Synthesis RTL Design Testability Repair Gate-level Design Testability Repair Testable RTL Design Logic/Scan Synthesis Testable Design Scan Synthesis Scan Design Scan Design Gate-level testability repair flow RTL testability repair flow

59 RTL Scan Design Rule Checking Identify testability problems Static solutions (without simulation) Dynamic solutions (with simulation) Not typically used in current design flow DFT rule violations are solved in RTL code by designers themselves, instead of in gate level by EDA tools

60 RTL Scan Design Repair An Example Original design always @(posedge clk) if (q == 4'b1111) clk_15 = 1; else begin clk_15 = 0; q = q + 1; end always @(posedge clk_15) d = start; (a) Generated clock (RTL code) (b) Generated clock (Schematic)

61 RTL Scan Design Repair An Example Atuomatic repair at the RTL using TM always @(posedge clk) if (q == 4'b1111) clk_15 = 1; else begin clk_15 = 0; q = q + 1; end assign clk_test = (TM)? clk : clk_15; always @(posedge clk_test) d = start; (a) Generated clock (RTL code) (b) Generated clock repair (Schematic)

Problems with Scan Design Area overhead Increased gate count Increased routing area Performance degradation Extra gate delay due to the multiplexer Extra delay due to the capacitive loading of the scan-wiring at each flip-flop s output Long test application time. Not applicable to all designs. Must follow the scan design rules. High power dissipation during testing. 62

Long Test Times for Scans Test data volume scan cells * scan patterns Test time An example circuit scan cells * scan patterns scan chains * frequency 10M gates, 16 scan chains, one scan cell per 20 gates. The test time to apply 10000 scan patterns at 20MHz scan-shift frequency=16 seconds! Time 10M ( )*10000 20 16*20M 15.625 16 63

64 Multiple Scan Chains To reduce test time. However, each scan register has its own scan-in and scan-out. The scan chains may differ in length. Test time determined by the longest one.

65 Scan Chain Debug Given more scanned FFs in a circuit, the probability of having failed cells is increasing. Failure modes can be either functional or timing errors. Stuck-at faults. Hold-time violations for scan-in.

66 Outline Introduction Ad-Hoc Approaches Full Scan Partial Scan Cycle Breaking Techniques BALLAST approach

67 Partial Scan Basic idea Select a subset of flip-flops for scan Lower overhead (area and speed) Relaxed design rules Storage elements on the data path are left out of the scan cell replacement process 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, ICCAD, Nov. 1991 Allow optimization of area, timing, and testability simultaneously

68 Full Scan vs. Partial Scan scan design full scan partial scan Every flip-flop is a scaned. NOT every flip-flop is scaned. test time hardware overhead fault coverage ease-of-use longer more ~100% easier shorter less unpredictable harder

69 What Makes Test Generation Difficult? Poor initializability Poor controllability and observability of memory elements Structure-dependence Circuit No. of Gates No. of Flip-flops Sequential Depth Test Gen. CPU sec. Fault Coverage TLC CHIP-A 355 1112 21 39 14 14 1247 269 89.01% 98.80% Gate count, memory element count, and sequential depth do not explain the results Cycles in the circuit are mainly responsible for the test generation complexity

70 Directed Graph Of A Synchronous Sequential Circuit primary inputs 3 A circuit with six flip-flops primary inputs 1 2 4 5 6 primary outputs primary inputs 3 L=3 Graph of the circuit 1 2 4 5 6 L=1 L=2 Depth D=4

71 Test Length In A Sequential Circuit Notations: D: sequential depth (The distance along the longest path in its graph) L: maximum length of any cycle Test Generation Complexity For a cycle-free circuit (e.g., pipeline structure), the complexity is similar to that of a combinational circuit In a circuit with depth D, any single fault can be tested by at most D vectors The length of a test sequence ~ D 2 L

72 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 sequential depth Long sequential depth in large circuits may pose problems to sequential ATPG

73 Partial Scan Design PI PO Scan In 3 Scan Out PPI PPO 1 2 4 5 6 Scan In Scan Flip-Flops: {2, 5} Non-Scan FFs: {1, 3, 4, 6} Scan Out

74 Clocking Schemes for Partial Scan Circuits Scheme I: Use a separate scan clock PO NS Comb. Logic sys_clk scan in scan_clk scan out PI PS

75 Scheme II: Gate the system clock PO NS Comb. Logic sys_clk scan in en_scan scan out gated clock PI PS

Partial Scan w/ a Separate Scan Clock or Gated Clock Require multiple clock trees Extra clock signal routing efforts Test generation is easier Scan FFs are fully controllable and observable. Test generation procedure: Scan FFs are removed and their I/O s are added to the PO/PI lists. A sequential ATPG 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 the SFFs. A scan-out sequence is added to each vector sequence. 76

Test Generation Model A Separate Scan Clock or Gated Clock PI PO scan_in PPI PPO PS NS Time frame 1 Time frame 2 Time frame n System clock System clock Scan clock Scan clock 77

78 Experimental Results Test case: TLC circuit Gate count 355 Flip-flop count 21 No. of Scan Flip- Flops Max. Cycle Length Depth Test Gen. CPU Sec. Fault Sim. CPU Sec. Fault Coverage No. Of Test Total Vectors 0 4 14 1247 61 89.01% 805 805 4 2 10 157 11 95.90% 247 988 9 1 5 32 4 99.20% 136 1224 10 1 3 13 4 100% 112 1120 21 0 0 2 2 100% 52 1092

79 Test Length Statistics For The TLC Circuit 200 No. of Fault No. of Fault No. of Fault 150 100 50 0 200 150 100 50 0 200 150 100 50 0 Without Scan 0 50 100 150 200 250 Test length 9 scan flip-flops 0 5 10 15 20 Test length 10 scan flip-flops 0 5 10 15 20 Test length

80 Clocking Schemes for Partial Scan Circuits Scheme III: Using the system clock as a scan clock but without gating the the clock PO NS Comb. Logic sys_clk scan in en_scan scan out PI PS

81 Using System Clock for Scan Operation The contents of the non-scan FFs may change during the scan operations. Test generation process is more complicated. The fault coverage may be slightly lower than that of the two-clock partial scan designs. The total test length (including scan sequences) is usually shorter.

82 Timing-Driven Partial Scan Aim at reducing both area overhead and performance degradation caused by test logic. Timing analysis data can be used to guide SFF selection. Avoid selecting FFs on critical paths. Can be incorporated into existing logic synthesis systems to satisfy or trade-off design constraints in terms of area, performance, and testability.

83 BALLAST A Structured Partial Scan Design BALLAST (Gupta et al. 1989) Stands for Balanced Structure Scan Test B-Structure Definition: A synchronous sequential circuit S is said to be balanced, denoted as B-structure, if for any two combinational clouds C1 and C2 in S, all signal paths (if any) between C1 and C2 go through the same number of registers The above definition implies acyclic structure C1 Comb. cloud Not B-structure! C2 C3 register

84 Example: A Sequential Circuit Combinational clouds: C1, C2, C3, C4 Registers: R1, R2, R3, R4, R5, R6 This example is not balanced! B A R 2 C 2 R 5 C 1 C 4 R 1 C 3 R 4 R 6 R 3

85 BALLAST-based Partial Scan This circuit becomes balanced after scanning registers R3 and R6 B A R 2 C 2 R 5 PO C 1 C 4 R 1 C 3 R 4... S i Become pseudo-pi after scan R3 S o...... R 3...... R 6... HOLD control (for test)

86 Test Procedure for B-Structure Depth of a B-structure The largest number of registers on any path between any two combinational clouds Test Procedure Step 1: Scan in the test pattern for scan flip-flops Step 2: Apply primary input pattern Step 3: Clock the registers d times (where d is the depth), while holding patterns at PI and scan flip-flops Step 4: Place the scan flip-flops in normal mode for one clock (capture results into scaned FFs) Step 5: Observe the primary output response Step 6: Simultaneously scan out the results in the scan paths and scan in next scan pattern

87 Advantage of BALLAST The ATPG complexity for balanced circuits Is reduced to a combinational one A balanced circuit B Combinational equivalent for ATPG after replacing registers with wires B A R 2 C 2 R 5 A C 2 C 1 C 4 C 1 R 1 C 3 R 4 C 4 C 3 Depth = 2

88 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 BALLAST Full-Scan

89 Summary Partial Scan Allows the trade-off between test generation effort and hardware overhead to be automatically explored Breaking Cycles Dramatically simplifies the sequential ATPG Limiting The Length of Self-Loop Paths Is crucial in reducing test generation effort for large circuits Performance Degradation Can be minimized by using timing analysis data for flipflop selection