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

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

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

VLSI Test Technology and Reliability (ET4076)

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

VLSI System Testing. BIST Motivation

Testing Digital Systems II

Overview: Logic BIST

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.

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

Design of Fault Coverage Test Pattern Generator Using LFSR

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

This Chapter describes the concepts of scan based testing, issues in testing, need

ECE 715 System on Chip Design and Test. Lecture 22

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

Design for Testability

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

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

VHDL Implementation of Logic BIST (Built In Self Test) Architecture for Multiplier Circuit for High Test Coverage in VLSI Chips

Fpga Implementation of Low Complexity Test Circuits Using Shift Registers

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

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

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

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

Testing Sequential Circuits

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

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

Design and Implementation OF Logic-BIST Architecture for I2C Slave VLSI ASIC Design Using Verilog

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

Evaluating BIST Architectures for Low Power

Design of Test Circuits for Maximum Fault Coverage by Using Different Techniques

DESIGN FOR TESTABILITY

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

UNIT IV CMOS TESTING. EC2354_Unit IV 1

LFSR TEST PATTERN FOR FAULT DETECTION AND DIAGNOSIS FOR FPGA CLB CELLS

Chapter 8 Design for Testability

Changing the Scan Enable during Shift

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

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

A Novel Method for UVM & BIST Using Low Power Test Pattern Generator

DESIGN OF LOW POWER TEST PATTERN GENERATOR

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

A New Approach to Design Fault Coverage Circuit with Efficient Hardware Utilization for Testing Applications

E-Learning Tools for Teaching Self-Test of Digital Electronics

Diagnosis of Resistive open Fault using Scan Based Techniques

DESIGN OF RANDOM TESTING CIRCUIT BASED ON LFSR FOR THE EXTERNAL MEMORY INTERFACE

ISSN (c) MIT Publications

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

Synthesis Techniques for Pseudo-Random Built-In Self-Test Based on the LFSR

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

SIC Vector Generation Using Test per Clock and Test per Scan

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

Design of BIST Enabled UART with MISR

Transactions Brief. Circular BIST With State Skipping

Implementation of BIST Test Generation Scheme based on Single and Programmable Twisted Ring Counters

Lecture 18 Design For Test (DFT)

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

TEST PATTERN GENERATION USING PSEUDORANDOM BIST

A Novel Low Power pattern Generation Technique for Concurrent Bist Architecture

Efficient Test Pattern Generation Scheme with modified seed circuit.

ISSN:

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

DESIGN OF TEST PATTERN OF MULTIPLE SIC VECTORS FROM LOW POWER LFSR THEORY AND APPLICATIONS IN BIST SCHEMES

BIST-Based Diagnostics of FPGA Logic Blocks

Fault Detection And Correction Using MLD For Memory Applications

Testing Digital Systems II

Cell-Aware Fault Analysis and Test Set Optimization in Digital Integrated Circuits

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

Unit V Design for Testability

I. INTRODUCTION. S Ramkumar. D Punitha

EE241 - Spring 2001 Advanced Digital Integrated Circuits. References

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

At-speed Testing of SOC ICs

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

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

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

nmos transistor Basics of VLSI Design and Test Solution: CMOS pmos transistor CMOS Inverter First-Order DC Analysis CMOS Inverter: Transient Response

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Optimization and Power Reduction of Built-In Repair Analyzer for Memories

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

Testing Sequential Logic. CPE/EE 428/528 VLSI Design II Intro to Testing (Part 2) Testing Sequential Logic (cont d) Testing Sequential Logic (cont d)

DETERMINISTIC TEST PATTERN GENERATOR DESIGN WITH GENETIC ALGORITHM APPROACH

Survey of Test Vector Compression Techniques

Design for test methods to reduce test set size

DETERMINISTIC SEED RANGE AND TEST PATTERN DECREASE IN LOGIC BIST

Digital Integrated Circuits Lecture 19: Design for Testability

Comparative Analysis of Stein s. and Euclid s Algorithm with BIST for GCD Computations. 1. Introduction

Design and Implementation of Uart with Bist for Low Power Dissipation Using Lp-Tpg

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

Scan-shift Power Reduction Based on Scan Partitioning and Q-D Connection

Techniques for Seed Computation and Testability Enhancement for Logic Built-In Self Test

Implementation of Low Power Test Pattern Generator Using LFSR

Design of BIST with Low Power Test Pattern Generator

March Test Compression Technique on Low Power Programmable Pseudo Random Test Pattern Generator

Czech Technical University in Prague Faculty of Information Technology Department of Digital Design

Doctor of Philosophy

Controlled Transition Density Based Power Constrained Scan-BIST with Reduced Test Time. Farhana Rashid

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

Sharif University of Technology. SoC: Introduction

Weighted Random and Transition Density Patterns For Scan-BIST

Transcription:

Built-In Self-Test (BIST) Abdil Rashid Mohamed, abdmo@ida ida.liu.se Embedded Systems Laboratory (ESLAB) Linköping University, Sweden

Introduction BIST --> Built-In Self Test BIST - part of the circuit (chip, board or system) is used to test the circuit itself V. Agrawal defines BIST as a DFT technique in which testing (test generation and test application) is accomplished through built-in hardware features BIST = BIT (Built in test) + self test BIST - Built-In Self Test -2-

Advantages of BIST fast, effcicient and hierarchical - same hardware is capable of testing chips, boards and systems. At system level BIST is a cheap test solution alternative test solutions are chip-wise and system-foolish No need of expensive ATE (cost >= $ milion) testing during operation and maintenance uniform technique for production, system and maintenance tests dynamic properties of the circuit can be tested at speed support concurrent testing can be used for delay testing as it can be used in real time BIST - Built-In Self Test -3-

Problems with BIST Additional BIST hardware overhead Performance degradation, timing problems additional delay and elongated critical path BIST - Built-In Self Test -4-

Basic BIST Principle TPG registers Test Pattern Generation BIST controller Circuit Under Test (CUT) Test Response Evaluation Test result/signature SA registers BIST - Built-In Self Test -5-

BIST Classification Forms of BIST On-line (during normal operation) Off-line (function suspended ) manufacture. field, depot; unsuited for real time errors Concurrent (simultaneous function + test) Non-concurrent (test when system in idle state) Functional (based on functional description of CUT) Structural (based on CUT structure) BIST - Built-In Self Test -6-

Glossary of BIST Test Structures TPG test pattern generator generates test vectors on-chip PRPG pseudorandom PG generates random, but biased vectors LFSR Linear feedback shift register commonly used PRPG SRSG shift register sequence generator single output PRPG ORA (generic) output response analyzer SISR single input signature register MISR multiple input signature register BILBO Built in Logic Block Observer non-simultaneous PG & SA CBILBO Concurrent BILBO simultaneous PG & SA too big! BIST - Built-In Self Test -7-

BIST Hardcore Hardcore - Part of the circuit that must be operational to perform self test Power supply, ground, clock circuitry, etc. Self test failure CUT fails, or Hardcore is faulty Hardcore is tested by: external ATE or made self testable by redundancy such as duplication or self checking logic BIST - Built-In Self Test -8-

Levels of Self Test Production testing of newly manufactured components Levels: chip board system with boundary scan BIST can be used at all levels of system Field testing BIST can diagnose faults down to field-replaceable units no ATE Improves maintainability and life cycle cost of hardware 2-level maintenance - system performs a self test, and automatic diagnosis of faults to field replaceable units, such as boards. BIST - Built-In Self Test -9-

Test Pattern Generation for BIST. Exhaustive testing exhaustive test-pattern generators 2. Pseudorandom testing weighted and adaptive test generator 3. Pseudoexhaustive testing Counters: syndrome driver & constant weight combined LFSR and shift register combined LFSR and XOR gates Others: condensed LFSR, cyclic LFSR, etc. BIST - Built-In Self Test --

. Exhaustive Testing Assume CUT: n-input, m-output combinational Applies all 2 n input test vectors complete testing for all static faults detects all detectable faults Suitable TPGs binary counters max. length autonomous LFSR (complete LFSR) modified to include an all-s state Drawbacks: unfeasible if n > 22 too many test vetors not applicable to sequential circuits BIST - Built-In Self Test --

2. Pseudorandom Testing Test patterns: < 2 n random, but deterministic and repeatable autonomous LFSR is used Generation with replacement(pattern generated more than once) or without replacement (each pattern is unique) FC can be determined by fault simulation An acceptable level of FC is obtained by selecting suitable Test length Random resistant faults long test lengths to insure high FC LFSR produces test patterns with equal no. of s and s on each input line Biased distribution of s and s captures more faults, FC, test vectors BIST - Built-In Self Test -2-

Weighted Test Generation TPG with non-uniform distribution of s and s on the output lines change prob. Of a or to improve FC For example: LFSR Prob() = Prob() =.5 Weighted LFSR Prob() =.25; Prob() = - Prob() Pre-process procedure is used to determine the weights and design weighting circuitry Constructed using an autonomous LFSR and combinational circuit LFSR... biasing logic BIST - Built-In Self Test -3-

Adaptive Test Generation Employs a weighted TPG Use fault simulation results to modify the weights one or more probability distributions for the test patterns a TPG is designed based on the probability distributions above Adaptive TPG efficient in terms of test length, but hardware can be complex BIST - Built-In Self Test -4-

3. Pseudoexhaustive Testing All benefits of exhaustive testing, but fewer test patterns Idea: Segment circuit and exhaustively test each segment logical segmentation cone segmentation (verification testing) sensitized path segmentation physical segmentation To test n-input circuit reconfigure input lines to generate tests on m lines (m < n) M lines test signals- fan out and drive the n lines to CUT BIST - Built-In Self Test -5-

Cone segmentation (verification testing) Segment m output circuit into m cones, cone consist of logic associated with one output test each cone exhaustively all cones are tested concurrently An example of an (n,w)-cut = (4,2)-CUT y =f (x,x 3 ); y 2 =f 2 (x,x 2 ); y 3 =f 3 (x 2,x 3 ); y 4 =f 4 (x 3,x 4 ) 4 cones y, y 2, y 3 & y 4 tested concurrently 4 test vectors to each cone Cone segmentation x x 2 x 3 x 4 y y 2 y 3 y 4 BIST - Built-In Self Test -6-

Sensitized-path segmentation A n C C F Segmentation based on path sensitization Exhaustive test of C establish sensitized path from C to F by: B n 2 C2 D Apply 2 n patterns to A Set B such that D = AND gate is also tested Similar testing for C2 Effective testing using only 2 n + 2 n2 + test vectors instead of 2 n+n2 If A, B --> PRPG, F --> MISR, BIST hardware sharing is achieved BIST - Built-In Self Test -7-

Identification of Test Signal Inputs P-test signals drive all N-inputs of circuit, p<n. Some of p lines fan-out to one/more of the normal input lines Exhaustive test of multiple output function (f,g) needs 8 test vectors 4 test vectors test the two functions, f and g, exhaustively and concurrently No output is a function of both x and z Same test data can be applied to both lines x & z one test signal Circuit testable using only two test signals Verification test inputs x=z t t 2 x y z f(x,y) g(y,z) BIST - Built-In Self Test -8-

Procedure - Identify Minimal Set of Test Signals Step : Partition the circuit into disjoint subcircuits Step 2: For each disjoint subcircuit Generate a dependency matrix, D Partition D into groups of inputs so that two/more inputs in a group do not affect same output Collapse each group to form an equivalent input, called a test signal input. For n-input, m-output circuit, dependency matrix D =[d ij ]; m rows, n columns Dij = if output i depends on input j; otherwise dij = Step 3: Extract from Dc: number of partitions (width, p) and maximum number of s in the row (weight, w ). P represents max. no. Of input signals to test a disjoint subcircuit W represents max. no. Of signals on which any output depends Thus, pseudoexhaustive test length, L is given by: 2 w <= L <= 2 p Step 4: construct test patterns BIST - Built-In Self Test -9-

Example a b c d e f g Circuit f (a,b,e) f 2 (b,c,g) f 3 (a,d,e) f 4 (c,d,e) f 5 (e,f) D = a b c d e f g f f 2 f 3 f 4 I II III IV f 5 D g = a c b d e f g f f 2 f 3 f 4 f 5 Less than two s in each row and no. Of groups should be minimal No output is driven by more than one input from each group Collapsed equivalent matrix, D c, OR-ing each row in a group to form a single column BIST - Built-In Self Test -2-

D c = I t II t 2 III t 3 IV t 4 f f 2 f 3 f 4 f 5 Number of partitions in Dc (width), p=4 p - max. no. of input signals to test disjoint subcircuit max. no. of s in any row (weight), w=3 max. np. Of signals on which any output depends Thus, pseudoexhaustive test length, L is given by: 2 w <= L <= 2 p BIST - Built-In Self Test -2-

BIST - Built-In Self Test -22- Coffee Break

TPG for Pseudoexhaustive Tests Counters Syndrome drive counter constant weight counter Linear Feedback Shift Registers (LFSRs ) combined LFSR/SR combined LFSR/XOR gates BIST - Built-In Self Test -23-

Constant Weight Counter Constant weight counter N-out-of-M code A set of codewords of M-bits, where each codeword has N s. E.g. 2-out-of-4 CWC is:,,,,, Any (n,w) circuit can be pseudoexhaustively tested by a constant-weight counter implementing a w-out-of-k code, for an appropriate value of K. For large values of N and M, constant weight counter is too complex high. BIST - Built-In Self Test -24-

Combined LFSR/SR LFSR... x xi SR... xi+ xn An LFSR/SR verification test generator + D Q D Q D Q D Q x x 2 x 3 x 4 Combination of LFSR and SR Advantages and drawbacks cheaper than a constant weight counter, number of vectors is near minimal when w << n, e.g w < n/2 generates more test vectors and LFSR needs at least 2 seed values On the left - 4-stage combined LFSR/SR for testing a (4,2)-CUT BIST - Built-In Self Test -25-

Combined LFSR/XOR Gates LFSR... + An LFSR/XOR verification test generator combination of LFSR and XOR gates (linear) network based on linear sums or linear codes Requires at most two seeds no.of patterns approaches that required for LFSR/SR example design for testing a (4,2) CUT + D Q D Q D Q x x 2 x 3 + x 4 BIST - Built-In Self Test -26-

Physical Segmentation Pseudoexhaustve methods large test sets for large circuits Employ physical segmentation to achieve pseudoexhaustive test sets Circuit is partitioned using hardware segmentation techniques Chapter 9 partitioning circuit to reduce test generation cost Insert bypass storage cells in some signal lines bypass storage cell acts as a wire in normal mode and as part of LFSR in test mode Bypass cell on line x If associated LFSR is PRPG it generate test patterns on x If associated LFSR is MISR it detect errors on x BIST - Built-In Self Test -27-

Adding bypass storage cells x x2 x3 x4 x5 x6 x7 x8 G 3 G2 2 G3 4 G4 33 G5 4 G6 5 G7 5 G8 7 G9 6 y y2 BIST - Built-In Self Test -28-

Segment circuit such that each signal is a function of not more than 4 variables x x2 x3 x4 x5 x6 x7 x8 G 3 G2 2 G3 4 G4 33 Z2 - S G5 4 z G8 4 G6 3 G7 4 z3 G9 4 y y2 BIST - Built-In Self Test -29-

x x2 x3 x4 x5 x6 x7 x8 G 3 G2 2 G3 4 G4 33 Z2 - P G5 4 z G8 4 G6 3 G7 4 Z3 - S G9 4 y y2 BIST - Built-In Self Test -3-

x x2 x3 x4 x5 x6 x7 x8 G 3 G2 2 G3 4 G4 33 Z2 G5 4 Z - S G8 4 G6 3 G7 4 Z3 G9 4 y y2 BIST - Built-In Self Test -3-

x x2 x3 x4 x5 x6 x7 x8 G 3 G2 2 G3 4 G4 33 Z2 - P G5 4 Z - P G8 4 G6 3 G7 4 Z3 - P G9 4 y y2 BIST - Built-In Self Test -32-

Generic-Off Line BIST Architectures BIST architecture BIST structures for testing chips and boards consisting of blocks of combinational logic interconnected by storage cells BIST architecture components TPGs, ORAs, CUT Distribution system (DIST) for data: TPGs to CUT and CUT to ORAs Interconnections(wires), busses, multiplexers and scan paths BIST controller for controlling the BIST circuitry and CUT during BIST mode Type : Centralized or distributed BIST architecture Type 2: Embedded or separate BIST architecture BIST - Built-In Self Test -33-

Centralized and Separate BIST architecture Several CUTs share TPGs and ORAs Reduced overhead Increased testing time separate architecture - BIST circuitry is external to CUT and not part of functional circuitry Chip, board or system TPG D I S T CUT CUT D I S T ORA BIST controller BIST - Built-In Self Test -34-

Distributed and Separate BIST architecture Each CUT has its own TPGs and ORAs circuitry more overhead reduced test time and accurate diagnosis separate architecture - BIST circuitry is external to CUT and not part of functional circuitry Chip, board or system TPG CUT ORA TPG CUT ORA BIST controller BIST - Built-In Self Test -35-

Distributed and Embedded BIST Architecture TPG and ORA are configured from among functional elements in the CUT complex BIST controller less hardware than distributed and separate architectures Chip, board or system TPG ORA Non-BISTed components TPG ORA BIST controller CUT BIST - Built-In Self Test -36-

Centralized and Embedded Architecture Test for attentiveness! Draw centralized and embedded architecture and show CUT BIST - Built-In Self Test -37-

BIST Controller Single step CUT through some test sequences Inhibit system clocks and control test clocks Communicate with other test controllers using test buses Control self test operations seeding of registers. Keep track of the number of shift commands required in a scan operation keep track of the number of test patterns processed BIST - Built-In Self Test -38-

Choosing BIST Architecture Hints low test time & degree of test parallelism--> distributed BIST high FC -->distributed, customized TPG/ORA to each CUT level of packaging --> at higher levels use centralized BIST physical constraints (size, weight, power, cooling) --> embedded & separate BIST requires more hardware, high performance degradation complexity of replaceable units --> self testable replaceable units must contain TPG & ORA. If a system is the lowest level of replaceable units, then its constituent boards need not have TPG/ORA and more centralized BIST arch. Can be used. Factory and field test-and-repair strategy --> BIST affects type and usage of ATE performance degradation --> BIST hardware in critical paths reduces the system clock rate BIST - Built-In Self Test -39-

Linear Feedback Shift Register (LFSR) - Example + Q Q2 Q3 S S S2 S3 S4 S5 S6 S7 BIST - Built-In Self Test -4-

Problems of Testing SoC Heteregoneous components - processors, memories, random logic. Core based design - reduced accessibility oif internal structures increasung complexity - large amount of test data number of access ports - remains the same high speed/frequency - high demand on tester s driver/sensor mechanism deep submicron technolkogy - compliucated failure mechanism Solution --> BIST BIST - Built-In Self Test -4-

Main Issues to be Considered in BIST for SoC Exploit existing circuits for BIST purpose to reduce hardware overhead optimize the BIST design with th rest of the circuit to avoid performance degradation share the same BIST components for different modules testing the BIST logic itself BIST - Built-In Self Test -42-

The end BIST & DFT is fun and fine BIST - Built-In Self Test -43-