Fault Tolerant Computing CS 530 Testing Sequential Circuits

Similar documents
Very Large Scale Integration (VLSI)

VLSI Test Technology and Reliability (ET4076)

INTERCONNECT TESTING WITH BOUNDARY SCAN

Overview ECE 753: FAULT-TOLERANT COMPUTING 1/23/2014. Recap. Introduction. Introduction (contd.) Introduction (contd.)

A New Optimal State Assignment Technique for Partial Scan Designs

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

ECE 551: Digital System *

At-Speed On-Chip Diagnosis of Board-Level Interconnect Faults

Fault-Tolerant Computing

Software-Based Delay Fault Testing of Processor Cores

Advanced Digital Logic Design EECS 303

Modeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras

MODEL FOR DELAY FAULTS BASED UPON PATHS

Diagnostic Test Vectors for Combinational and Sequential

Design and Synthesis for Test

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Lecture Fall 2003

A Proposed RAISIN for BISR for RAM s with 2D Redundancy

Chapter 9. Design for Testability

X(1) X. X(k) DFF PI1 FF PI2 PI3 PI1 FF PI2 PI3

Design for Testability

Sequential Circuit Design: Principle

Built-In Self-Test for System-on-Chip: A Case Study

EECS 579: Built-in Self-Test 3. Regular Circuits

CS470: Computer Architecture. AMD Quad Core

Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN)

A Study on the Testing of VLSI Systems Using Reduced Power Consumption Methods

Inf2C - Computer Systems Lecture Processor Design Single Cycle

A Partition-Based Approach for Identifying Failing Scan Cells in Scan-BIST with Applications to System-on-Chip Fault Diagnosis

Scan-Based BIST Diagnosis Using an Embedded Processor

CS 61C Summer 2012 Discussion 11 State, Timing, and CPU (Solutions)

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

SSoCC'01 4/3/01. Specific BIST Architectures. Gert Jervan Embedded Systems Laboratory (ESLAB) Linköping University

Combinational Circuits

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering,

Outline of Presentation

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

VHDL: RTL Synthesis Basics. 1 of 59

Sequential Circuit Design: Principle

Embedded Software-Based Self-Test for Programmable Core-Based Designs

Digital Systems Testing

VLSI Test Technology and Reliability (ET4076)

Long And Short Covering Edges In Combinational Logic Circuits

WITH integrated circuits, especially system-on-chip

Low-Power Weighted Pseudo-Random BIST Using Special Scan Cells

Digital Integrated Circuits

Redundant States in Sequential Circuits

2. BLOCK DIAGRAM Figure 1 shows the block diagram of an Asynchronous FIFO and the signals associated with it.

Project Name. No 1 Alhaad Gokhale Shubham Mahajan. Number 08CS EC3506

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs

7 DESIGN FOR TESTABILITY II: FROM HIGH LEVEL PERSPECTIVE

Mentor Graphics Tools for DFT. DFTAdvisor, FastScan and FlexTest

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:!

Design for Test of Digital Systems TDDC33

System Testability Using Standard Logic

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and

Module 5 - CPU Design

l Some materials from various sources! n Current course textbook! Soma 1! Soma 3!

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits

6 DESIGN FOR TESTABILITY I: FROM FULL SCAN TO PARTIAL SCAN

Optimal Clustering and Statistical Identification of Defective ICs using I DDQ Testing

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

Testing Digital Systems I

Special ATPG to Correlate Test Patterns for Low-Overhead Mixed-Mode BIST

An Energy-Efficient Scan Chain Architecture to Reliable Test of VLSI Chips

(Refer Slide Time: 2:20)

On Broad-Side Delay Test

Built in Self Test Architecture using Concurrent Approach

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

Multiple Fault Models Using Concurrent Simulation 1

Chapter 5 Registers & Counters

Digital System Design with SystemVerilog

Lecture #1: Introduction

The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

Atmel AT94K FPSLIC Architecture Field Programmable Gate Array

Low Cost Convolutional Code Based Concurrent Error Detection in FSMs

Software-Based Self-Testing Methodology for Processor Cores

Origins of Stuck-Faults. Combinational Automatic Test-Pattern Generation (ATPG) Basics. Functional vs. Structural ATPG.

Lecture 7 Fault Simulation

Circuit Partitioning for Application-Dependent FPGA Testing

Delay and Optimization of Random Number Generator

[ Circuit Under Test 1

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill!

Instruction Randomization Self Test For Processor Cores Ken Batcher Christos Papachristou ABSTRACT 1. INTRODUCTION 2.

Ripple Counters. Lecture 30 1

Part I: Preliminaries 24

Testability Analysis and Improvement from VHDL Behavioral Specifications

Hardware Description Languages M E 2202 Tutorial Sheet

At-Speed Scan Test with Low Switching Activity

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign

C A R L E T O N U N I V E R S I T Y. FINAL EXAMINATION April Duration: 3 Hours No. of Students: 108

TABLES AND HASHING. Chapter 13

EITF35: Introduction to Structured VLSI Design

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Bit-Fixing in Pseudorandom Sequences for Scan BIST

Transcription:

CS 530 Testing Sequential Circuits Yashwant K. Malaiya Colorado State University 1

Why Testing Sequential Circuits is Hard To test a sequential circuit we need to Initialize it into a known state (reset it: it s easy) Apply a test sequence to it long enough to Sensitize the fault Propagate the error to output Both can take many clock cycles For n flip-flops, there are 2 n states, but these can occur in different order, causing numerous possible sequences. Common Approach: reduce the problem to that of combinational tsting 2

Outline Sequential circuits without feedback BIST Sequential circuits with feedback DFT: scan Extended D-algorithm (mention only) Functional testing of FSMs Initialization problem Incremental testing for complex systems Note that FSM (finite state machine) testing concepts are applicable to both hardware sequential circuits and software that has states. 3

Testing Sequential Circuits In general need to test for both Functionality (examined here) Timing (components too slow, too fast, not synchronized) Parts of a sequential circuit: Combinational logic: faults: stuck 0/1, delay Flip-flops: faults: input, output stuck 0/1, delay no latch 0/1 capability Malaiya, & Narayanaswamy, "Testing for Timing Faults in Synchronous Sequential Integrated Circuits," Intl. Test Conf., 1983. Alassadi, Malaiya & Jayasumana, Faulty Behavior of Storage Elements and its Effects on Sequential Circuits" IEEE Trans. VLSI Systems, Dec. 1993 4

Two common cases that simplify testing When the combinational logic is sandwiched between two registers, and there is no feedback Problem reduced to testing the combinational logic testing Many faults in flip-flops are equivalent to faults in the combinational logic, thus faults in flip-flops can be ignored for simplification. When there is feedback, but during testing feedback can be disabled when needed Scan approaches 5

Testing Sequential circuits without feedback Register A Combinational circuit Register B 1. Generate test vectors for the combinational circuit. 2. Place a vector in A 3. Examine response in B 4. Steps 2,3 can be done using a. Machine instructions b. Microinstructions c. Specialized hardware 6

Built-in Self-Test Approach Some registers can double as test pattern generators during testing. Some registers can double as signature analyzers during testing A Signature analyzer compresses a large number of output vectors into a single vector called signature. Well known designs for generators and signature analyzers are available. The theory behind both generators and signature analyzers often involves polynomial division using LFSRs (Linear feedback shift registers, the same algorithm is used for calculating CRC in computer networks! 7

BIST (Built-in self-test) Generator Combinational circuit Signature analyzer ALFSR: autonomous linear feedback shift register. Better generators include our Generator generates pseudorandom vectors. Often an ALFSR. Signature analyzer compresses all successive responses into a signature. Usually an LFSR. Compared with known good signature. Aliasing probability: prob. that a bad circuit can result in good signature. Generally very small. antirandom test generator. 8

Sequential Circuits with feedback x y Comb. Storage elements Some software programs are frequently tested as FSMs z Example: processor control unit Input: status, opcode Output: control lines Structural testing issues: How to obtain a desired (x,y) vector How to propagate error Functional testing issues: Prove all transitions/outputs are correct 9

Sequential Circuits with feedback: Scan-chain approach Design for testability: feedback-less during testing. The flip-flops can be configured to form scan-chains. Scan Design: modes Parallel in Serial in Model control Comb. Serial out Parallel out Normal mode: parallel in/out Test mode: serial in/out Sequence of operations Scan a vector: test mode Latch response: normal mode Scan response out: test mode If scan-chain too long Use Multiple chain Use Partial scan 10

D-Algorithm: Sequential Circuits You can use D-algorithm for sequential circuits, but It can be cumbersome to generate tests Test application time can be very long See literature if you are interested. 11

Sequential Circuit Initialization Problem At power-up the state is undefined. How to get FSM in a known state? 1. Applying an input sequence: theoretical importance only 2. Resetting to an initial state Resetting always used in practice using a reset/clear line Computers: power-on sequence to initialize PC, SP, interface registers etc. 12

Functional Testing of FSMs Given: state table Objective: confirm it is obeyed Two alternative approaches: 1. If the State is directly observable: 1. Much easier 2. Use Euler path, if it exists, to minimize testing 2. Only outputs observable: Checking sequence a. Prove all states exist b. For all inputs for each state, these are correct Next state Outputs Theoretical, Complex and lengthy (see literature if interested) 13

Testing Complex Systems A Complex system includes several components Approach: Assume a fault model for each component Assume a system model that takes into account interaction of components Device a testing strategy such that these are adequately tested each individual component Interaction of components A component may be a Physical component Segment of the functionality 14

Incremental Testing Approach Core L 0 Layer 1 Layer 2 D Brahme, JA Abraham, Functional Testing of Microprocessors, IEEE Trans Comp, Jun 1984, pp. 475-485. Partition system into layers such that layer i can be exercised using only layers 0,.. i-1. Test components in each layer in the sequence L0, L1,..Ln. Layering may require Assumptions Disabling feedback during testing Proofs of complete coverage can be constructed. Fault isolation can be done. 15

Incremental testing: Example: Processor Based systems Sequence for testing: Self-test processor: Basic instructions Addressing modes Complex instructions Test Memory system and buses using processor Test I/O devices/ports Test peripheral devices Test software integrity 16

References See earlier references in previous Lecture Notes. D Brahme, JA Abraham, Functional Testing of Microprocessors, IEEE Trans Comp, Jun 1984, pp. 475-485. V.D. Agrawal, C.R. Kime, K.K. Saluja, A Tutorial on Built-in Self-Test Part 1: Principles. IEEE Design & Test January 1993, Pages: 73-82 Part 2: Applications, IEEE Design & Test April 1993, pp. 69-77. 17