Introduction to VLSI Testing



Similar documents
Memory Testing. Memory testing.1

Design Verification & Testing Design for Testability and Scan

VLSI Design Verification and Testing

Testing of Digital System-on- Chip (SoC)

Design Verification and Test of Digital VLSI Circuits NPTEL Video Course. Module-VII Lecture-I Introduction to Digital VLSI Testing

Digital Circuit Design

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

Implementation Details

What is a System on a Chip?

The Boundary Scan Test (BST) technology

Non-Contact Test Access for Surface Mount Technology IEEE

Introduction to Digital System Design

At-Speed Test Considering Deep Submicron Effects. D. M. H. Walker Dept. of Computer Science Texas A&M University

Digital Design Verification

ASYNCHRONOUS COUNTERS

Encounter DFT Architect

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 3, May 2013

TABLE OF CONTENTS. xiii List of Tables. xviii List of Design-for-Test Rules. xix Preface to the First Edition. xxi Preface to the Second Edition

Objective. Testing Principle. Types of Testing. Characterization Test. Verification Testing. VLSI Design Verification and Testing.

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Combinational Logic Design Process

JTAG Applications. Product Life-Cycle Support. Software Debug. Integration & Test. Figure 1. Product Life Cycle Support

MOTION ESTIMATION TESTING USING AN ERROR DETECTION AND DATA RECOVERY ARCHITECTURE

Module-I Lecture-I Introduction to Digital VLSI Design Flow

Boundary-Scan Tutorial

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

THE ADVANTAGES OF COMBINING LOW PIN COUNT TEST WITH SCAN COMPRESSION OF VLSI TESTING

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Memory Elements. Combinational logic cannot remember

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

CHAPTER 11: Flip Flops

Systems I: Computer Organization and Architecture

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Arbitrary Density Pattern (ADP) Based Reduction of Testing Time in Scan-BIST VLSI Circuits

Yaffs NAND Flash Failure Mitigation

Testing and Programming PCBA s during Design and in Production

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

REUSING AND RETARGETING ON-CHIP INSTRUMENT ACCESS PROCEDURES IN IEEE P1687

Programming A PLC. Standard Instructions

NEW adder cells are useful for designing larger circuits despite increase in transistor count by four per cell.

A STUDY OF INSTRUMENT REUSE AND RETARGETING IN P1687

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Automotive Electronics Council Component Technical Committee

21555 Non-Transparent PCI-to- PCI Bridge

MICROPROCESSOR AND MICROCOMPUTER BASICS

Let s put together a Manual Processor

Memory Basics. SRAM/DRAM Basics

LFSR BASED COUNTERS AVINASH AJANE, B.E. A technical report submitted to the Graduate School. in partial fulfillment of the requirements

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Introduction ABOUT THIS CHAPTER CHAPTER

Serial port interface for microcontroller embedded into integrated power meter

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Reusing and Retargeting On-Chip Instrument Access Procedures in IEEE P1687

G. Squillero, M. Rebaudengo. Test Techniques for Systems-on-a-Chip

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Set-Reset (SR) Latch

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Chapter 5 :: Memory and Logic Arrays

Chapter 9 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Sequential Circuit Design

Introduction to Functional Verification. Niels Burkhardt

CHAPTER 3 Boolean Algebra and Digital Logic

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

System-on-Chip Designs Strategy for Success

Layout of Multiple Cells

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

Architectures and Platforms

Gate Delay Model. Estimating Delays. Effort Delay. Gate Delay. Computing Logical Effort. Logical Effort

DESIGN OF AN ERROR DETECTION AND DATA RECOVERY ARCHITECTURE FOR MOTION ESTIMATION TESTING APPLICATIONS

Power Reduction Techniques in the SoC Clock Network. Clock Power

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010

United States Naval Academy Electrical and Computer Engineering Department. EC262 Exam 1

Digital Systems Design! Lecture 1 - Introduction!!

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

IL2225 Physical Design

Modeling Latches and Flip-flops

The components. E3: Digital electronics. Goals:

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Programming NAND devices

Computer Systems Design and Architecture by V. Heuring and H. Jordan

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Switch Fabric Implementation Using Shared Memory

7a. System-on-chip design and prototyping platforms

Chapter 2 Logic Gates and Introduction to Computer Architecture

Transcription:

Introduction to VLSI Testing 李 昆 忠 Kuen-Jong Lee Dept. of Electrical Engineering National Cheng-Kung University Tainan, Taiwan, R.O.C. Introduction to VLSI Testing.1

Problems to Think A 32 bit adder A 32 bit counter with RESET function A 1MB cache memory A 10 7 -transistor CPU Introduction to VLSI Testing.2

Introduction Fault modeling Fault simulation Test generation OUTLINE Automatic test pattern generation (ATPG) Design for testability Built-in self test Synthesis for testability An eample Introduction to VLSI Testing.3

Testing: To tell whether a system is good or bad Vdd 0 0 0 0 0 0/1 Related fields Verification: To verify the correctness of a design Diagnosis: To tell the faulty site Reliability: To tell whether a good system will work after some time. Introduction to VLSI Testing.4

Importance of testing N = # transistors in a chip p = prob. (a transistor is faulty) Pf = prob. (the chip is faulty) Pf = 1- (1- p) N If p = 10-6 N = 10 6 Pf = 63.2% Introduction to VLSI Testing.5

Difficulties in Testing Fault may occur anytime - Design - Process - Package - Field Fault may occur at any place Vdd Vss VLSI circuit are large - Most problems encountered in testing are NP-complete I/O access is limited Introduction to VLSI Testing.6

How to do testing from Designer s points of view Circuit modeling Fault modeling Logic simulation Fault simulation Test generation Design for test Built-in self test Modeling ATPG Testable design Synthesis for testability Introduction to VLSI Testing.7

Circuit Modeling Functional model--- logic function - f(1,2,...)=... - Truth table Behavioral model--- functional + timing - f(1,2,...)=..., Delay = 10 Structural model--- collection of interconnected components or elements A B E 1 0 G C D 1 0 F 0 Introduction to VLSI Testing.8

Levels of Description Circuit level C Switch level VDD VDD VDD C 4B C 3 C 1 C 2 E Gate level A E B G Higher/ System level C D F Introduction to VLSI Testing.9

Fault Modeling The effects of physical defects Most commonly used fault model: Single stuck-at fault A B C D E F G A s-a-1 A s-a-0 E s-a-1 E s-a-0 B s-a-1 B s-a-0 F s-a-1 F s-a-0 C s-a-1 C s-a-0 G s-a-1 G s-a-0 14 faults D s-a-1 D s-a-0 Other fault models: - Break faults, Bridging faults, Transistor stuck-open faults, Transistor stuck-on faults, Delay faults Introduction to VLSI Testing.10

Fault Coverage (FC) FC = # faults detected # faults in fault list Eample: a b 10 10 c 10 6 stuck-at faults ( a 0,a 1,b 0,b 1,c 0,c 1 ) Test faults detected FC {(0,0)} {(0,1)} {(1,1)} {(0,0),(1,1)} {(1,0),(0,1),(1,1)} c 1 a 1,c 1 a 0,b 0,c 0 a 0,b 0,c 0,c 1 all 16.67% 33.33% 50.00% 66.67% 100.00% Introduction to VLSI Testing.11

Testing and Quality IC Fabrication Yield: Fraction of good parts Testing Rejects Shipped Parts Quality: Defective parts per million (DPM) Quality of shipped parts is a function of yield Y and the test (fault) coverage T Defect level (DL) : fraction of shipped parts that are defective Introduction to VLSI Testing.12

Yield (Y) 50% 75% 90% 95% 99% 90% 90% 90% 90% Defect Level, Yield and Fault Coverage DL= 1 - Y (1-T) Fault Coverage (T) 90% 90% 90% 90% 90% 90% 95% 99% 99.9% DL: defect level Y: yield T: fault coverage DPM (DL) 67,000 28,000 10,000 5,000 1,000 10,000 5,000 1,000 100 Introduction to VLSI Testing.13

Logic simulation To determine how a good circuit should work Given input vectors, determine the normal circuit response A I C A B D F B G C C C1 C C2 C E E F B R B I R I F C DE C JE D H E Introduction to VLSI Testing.14

Fault simulation To determine the behavior of faulty circuits A 1 E s.a.0 B 0 1/0 C 0 F D 0 1 1/0 G Given a test vector, determine all faults that are detected by this test vector. Eample: A B 1 1 0 C Test vector (1 1) detects { a 0, b 0, c 1 } Introduction to VLSI Testing.15

Test generation Given a fault, identify a test to detect this fault Eample: A 0 D B F C E To detect D s-a-0, D must be set to 1. Thus A=B=1. To propagate fault effect to the primary output E must be 1. Thus C must be 0. Test vector: A=1, B=1, C=0 Introduction to VLSI Testing.16

Automatic Test Pattern Generation (ATPG) Given a circuit, identify a set of test vectors to detect all faults under consideration. Input circuit Form fault list More faults? Yes No Eit Fault dropping Select a fault Test generation Fault simulation Introduction to VLSI Testing.17

Difficulties in test generation 1. Reconvergent fanout A B s-a-1 D F C E Introduction to VLSI Testing.18

Difficulties in test generation (cont.) 2. Sequential test generation PIs Combinational part PIs Y Y J K CK clk Introduction to VLSI Testing.19

Testable Design Design for testability (DFT) ad hoc techniques Scan design Boundary Scan Built-In Self Test (BIST) Random number generator (RNG) Signature Analyzer (SA) Synthesis for Testability Introduction to VLSI Testing.20

Eample of ad hoc techniques Insert test point MUX T/N Introduction to VLSI Testing.21

Scan System Original design Modified design PI C PO PI C PO SO R T/N R' SI Introduction to VLSI Testing.22

Scan Cell Design DI D CK Q Q DI SI N/T (SE) MUX D CK Q Q,SO DI Q DI Q,SO Φ Φ SI Φ Φ T Φ + Φ T Introduction to VLSI Testing.23

Scan Register Combinational Circuits Q D Q D Q D Q D SO SI SI SI SI CLK SE Introduction to VLSI Testing.24

Boundary Scan I/O Pad Boundary scan cell Boundary scan path TRST* TDI Sout APPLICATION LOGIC TMS Misc. registers TCK TDO T A P M U X Instruction register Bypass register Sin BIST register Scan register TRST*:Test rest (Optional) TDI: Test data input TD0: Test data output TCK: Test clock TMS: Test mode select Introduction to VLSI Testing.25

Boundary Scan (Cont.) TRST* TRST* TDI Sout APPLICATION LOGIC TDI Sout APPLICATION LOGIC Misc. registers Misc. registers TMS TCK TDO T A P M U X Instruction register Bypass register Sin BIST register Scan register TMS TCK TDO T A P M U X Instruction register Bypass register Sin BIST register Scan register TRST* TRST* TDI Misc. registers Sout APPLICATION LOGIC TDI Misc. registers Sout APPLICATION LOGIC TMS TCK TDO T A P M U X Instruction register Bypass register Sin BIST register Scan register TMS TCK TDO T A P M U X Instruction register Bypass register Sin BIST register Scan register Introduction to VLSI Testing.26

Built-In-Self Test (BIST) Places the job of device testing inside the device itself Generates its own stimulus and analyzes its own response from system mu circuit under test to system pattern generator BIST Controller Response Analyzer good/fail biston bistdone Introduction to VLSI Testing.27

Built-In-Self Test (BIST) (Cont.) Two major tasks - Test pattern generation - Test result compaction Usually implemented by linear feedback shift register F/F F/F F/F Introduction to VLSI Testing.28

Random Number Generator (RNG) F/F F/F F/F F/F 0001 1000 0100 0010 1001 1100 0110 1011 0101 1010 1101 1110 1111 0111 0011 0001 (repeat) 1. Generate pseudo random patterns 2. Period is 2 n -1 Introduction to VLSI Testing.29

Signature Analyzer (SA) Input sequence 10101111 (8 bits) G + 2 4 5 6 7 ( ) = 1+ + + + + 1 2 3 4 5 + + Z P + 2 4 5 ( ) = 1 + + Time Input stream Register contents Output stream 0 1 0 1 0 1 1 1 1 0 0 0 0 0 Initial state 1 1 0 1 0 1 1 1 1 0 0 0 0...... 5 1 0 1 0 1 1 1 1 6 1 0 0 0 0 1 0 1 7 1 0 0 0 0 1 0 1 8 0 0 1 0 1 1 0 1 Remainder R() = 2 + 4 Quotient 1+ 2 Introduction to VLSI Testing.30

Introduction to VLSI Testing.31 Signature Analyzer (SA) (Cont.) ) ( 1 ) ( ) ( ) ( 2 4 5 6 7 G R Q P = + + + + + = + 1 : ) ( 2 4 5 + + + P + 1 : ) ( 2 Q 1 1 5 6 7 2 4 5 2 4 6 7 + + + = + + + + + + + Prob. of aliasing error = 1/2 n where n is # of FFs

Memory BIST Architecture with a Compressor Before After di addr wen Memory Module data sys_di sys_addr sys_wen clk hold_l rst_l test_h si se Memory Module data q so Introduction to VLSI Testing.32

Memory BIST Architecture with a Compressor (Cont.) sys_addr sys_d isys_wen rst_l clk hold_l test_h Algorithm-Based Pattern Generator di addr wen Memory Module compress_hclk rst si se data Compressor q so BIST Circuitry Introduction to VLSI Testing.33

sys_addr1 sys_addr2 sys_di2 sys_wen2 sys_addr3 sys_di3 sys_wen3 rst_ l clk hold_l test_h Three Memories and One Compressor Algorithm-Based Pattern Generator se si addr1 di2 addr2 wen2 di3 addr3 wen3 compress_h ROM4KX4 Module RAM8KX8 Module RAM8KX8 Module Compressor 4 8 8 q so data data data BIST Circuitry Introduction to VLSI Testing.34

Synthesis for Testability Automatic v.s Semi-automatic Commercial products - Testability analysis tools - Full / partial scan insertion - BIST insertion - Boundary scan insertion Research - RTL synthesis - FSM synthesis - Gate level synthesis - Boolean equation synthesis Introduction to VLSI Testing.35

CPU Test Control Architecture Scan_i Scan_en Scan path Scan_o logic rst_l clk hold_l test_h Bist control Memory TDI bist decoder bist_se bist_si compressor scan decoder bist_so int_scan mbist decoder MUX TDO TCK TMS TAP Controller IR Introduction to VLSI Testing.36

Testable Design Flow Prepare Initial Design RTL Code Integrate all DFT Methodologies Verify Functionality Generate/Verify Test Patterns by FastScan Identify Blocks for BIST/Scan Insert/Verify Internal Scan Circuitry by DFTADvisor Insert/Verify BIST Circuitry by MBISTArchitect P/F Synthesis to Gate Level Modify/Verify Original Design Reserve Dummy Ports for Internal Scan Insert/Verify Boundary Scan Circuitry by BSDArchitect Introduction to VLSI Testing.37

Problems re-thinking A 32-bit adder --- ATPG A 32-bit counter --- Design for testability + ATPG A 1MB Cache memory --- BIST A 10 7 -transistor CPU --- All test techniques Introduction to VLSI Testing.38

Conclusions Two major fields in testing ATPG --- Fault simulation --- Test generation Testable design --- Design for testability --- Built-in self-test --- Synthesis for testability Introduction to VLSI Testing.39