Automatic Test Generation and Logic Optimization.

Slides:



Advertisements
Similar presentations
The scale of IC design Small-scale integrated, SSI: gate number usually less than 10 in a IC. Medium-scale integrated, MSI: gate number ~10-100, can operate.
Advertisements

Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Verilog Part 1 – Chapter.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
Timing Analysis - Delay Analysis Models
Copyright 2001, Agrawal & BushnellDay-1 AM-3 Lecture 31 Testing Analog & Digital Products Lecture 3: Fault Modeling n Why model faults? n Some real defects.
Partial Implications, etc.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 91 Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics n Algorithms and representations.
6/11/2015A Fault-Independent etc…1 A Fault-Independent Transitive Closure Algorithm for Redundancy Identification Vishal J. Mehta Kunal K. Dave Vishwani.
Modern VLSI Design 2e: Chapter 4 Copyright  1998 Prentice Hall PTR Topics n Switch networks. n Combinational testing.
Dominance Fault Collapsing - Alok Doshi ELEC 7250 Spring 2004.
Arithmetic II CPSC 321 E. J. Kim. Today’s Menu Arithmetic-Logic Units Logic Design Revisited Faster Addition Multiplication (if time permits)
Algorithms and representations Structural vs. functional test
Asynchronous Sequential Logic
4/20/2006ELEC7250: Alexander 1 LOGIC SIMULATION AND FAULT DIAGNOSIS BY JINS DAVIS ALEXANDER ELEC 7250 PRESENTATION.
Lecture 5 Fault Modeling
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault.
10/25/2007 ITC-07 Paper Delay Fault Simulation with Bounded Gate Delay Model Soumitra Bose Design Technology, Intel Corp. Folsom, CA Hillary.
1 Introduction VLSI Testing. 2 Overview First digital products (mid 1940's) Complexity:low MTTF:hours Cost:high Present day products (mid 1980's) Complexity:high.
Spring 07, Mar 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Timing Verification and Optimization Vishwani D.
1 Reconvergent Fanout Analysis of Bounded Gate Delay Faults Dept. of ECE, Auburn University Auburn, AL Master’s Defense Hillary Grimes Thesis Advisor:
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Rewiring – Review, Quantitative Analysis and Applications Matthew Tang Wai Chung CUHK CSE MPhil 10/11/2003.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 81 Lecture 8 Testability Measures n Origins n Controllability and observability n SCOAP measures 
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Spring 08, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Timing Verification and Optimization Vishwani D.
Silicon Programming--Physical Testing 1 Testing--physical faults: yield; s-a-0 and s-a-1 faults; justify and propagate.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Fault Modeling.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Switch networks. n Combinational testing.
Modern VLSI Design 3e: Chapter 5,6 Copyright  2002 Prentice Hall PTR Adapted by Yunsi Fei Topics n Sequential machine (§5.2, §5.3) n FSM construction.
False Path. Timing analysis problems We want to determine the true critical paths of a circuit in order to: –To determine the minimum cycle time that.
1 EECS 219B Spring 2001 Timing Optimization Andreas Kuehlmann.
Computing Systems Designing a basic ALU.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
Topics Combinational network delay.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
EE434 ASIC & Digital Systems Partha Pande School of EECS Washington State University
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
1  2004 Morgan Kaufmann Publishers Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let’s review Boolean.
Manufacture Testing of Digital Circuits
Jan. 26, 2001VLSI Test: Bushnell-Agrawal/Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault models.
Static Timing Analysis
Arithmetic-Logic Units. Logic Gates AND gate OR gate NOT gate.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault.
©2010 Cengage Learning SLIDES FOR CHAPTER 8 COMBINATIONAL CIRCUIT DESIGN AND SIMULATION USING GATES Click the mouse to move to the next page. Use the ESC.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
©2010 Cengage Learning SLIDES FOR CHAPTER 8 COMBINATIONAL CIRCUIT DESIGN AND SIMULATION USING GATES Click the mouse to move to the next page. Use the ESC.
COE 360 Principles of VLSI Design Delay. 2 Definitions.
Algorithms and representations Structural vs. functional test
CS137: Electronic Design Automation
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Definitions D-Algorithm (Roth) D-cubes Bridging faults
ELEC Digital Logic Circuits Fall 2014 Logic Testing (Chapter 12)
Overview: Fault Diagnosis
Timing Analysis 11/21/2018.
Timing Optimization Andreas Kuehlmann
Vishwani D. Agrawal James J. Danaher Professor
Automatic Test Generation for Combinational Circuits
Testability of Two-Level Circuits
Automatic Test Pattern Generation
Topics Switch networks. Combinational testing..
Sungho Kang Yonsei University
ELEC Digital Logic Circuits Fall 2015 Logic Testing (Chapter 12)
CS137: Electronic Design Automation
Presentation transcript:

Automatic Test Generation and Logic Optimization

Types of Errors in a Digital System Software error : detected by design validation –Design (conceptual) faults –Implementation faults Hardware error : detected by testing –Physical faults

Testing of Hardware Error DL = 1-Y (1-T) –DL : Defect level –Y : Yield –T : Test coverage Methods of testing –Functional testing –Structural testing

Faults and Fault Models Fault –shorts, defective soldering, … Fault model –stuck-at fault –bridging fault –stuck-open fault Single stuck-at-0/1 fault –computationally efficient –represents most of defects which occur in real logic devices –detects many faults of other types

Single Stuck-at Fault Single gate terminal stuck at either 0 or 1 Faults on the stem, and branches The total number of faults is 2N, where N is the number of gate terminals = fault site

Let F 1 and F 2 be the functions performed by C in the presence of f 1 and f 2, respectively. Then faults f 1 and f 2 are equivalent if and only if F 1 = F 2 Fault collapsing Generate only one test for a group of equivalent faults Equivalent Faults s-a-0 s-a-0 s-a-0 s-a-1 s-a-1

Testing of a Circuit a b c d e s-a-1 b = 0 c = 0 a = 1 G1 G2

Controlling and Non-controlling Value Controlling value : when it present on at least one input of a gate, it forces the output to a known value –AND gate, NAND gate : 0 –OR gate, NOR gate : 1 Non-controlling value : the complement of (Sensitizing value) the controlling value –AND gate, NAND gate : 1 –OR gate, NOR gate : 0

Automatic Test Generation Three steps –Set up (fault sensitizing) –Propagation (path sensitizing) –Justification (consistency check)

Test Generation (D-Algorithm) The setup step is to produce a difference in the output signal at the gate where the fault is located between the two cases when the fault is present or it is absent D is called frontier H H D 0 1 stuck-at 1 s-a-1 D = 0 when fault occurs 1 no fault

Test Generation (D-Algorithm) The propagation step derives the D (or D) condition from the faulty gate to a output H J D0 1 stuck-at 1 D 1

The last step is to force the logic values needed to sensitize the assumed fault from the primary inputs 0 Test Generation (D-Algorithm) F G H J A B C D E s-a X D

Backtracking 1. excitation condition a = b = 1 2. sensitization condition f = 0 3. choose d = 1 b = 0 (conflict) try c = 1 (succeed) Backtracking : returning on ones step and reversing a previous choice G1 G4 G3 G2 s-a-1 a b c d e f g

Untestable Fault 1. excitation condition b = 0 2. sensitization condition c = 0 3. justification a =1 and b = 1 (conflict) There is no test for b s-a-1 fault b is redundant Replacing b by 1 d = 0 The conflicting requirement derived from reconvergent fanout (paths have a common source and a common sink) G1 G2 s-a-1 a b c d

Redundancy Removal Multiple redundancies can not be removed simultaneously ab G1 s-a-1

The result of redundancy removal depends on the order in which redundancies are removed Redundancy Removal a b c a b c a c b d e f g d e f d f g g G1 G2 G3 G4 G1 G2 G3 G4 G1 G3 G4 s-a-0 s-a-1 Initial Circuit After the removal of s-a-0 redundancy After the removal of the remaining redundancy

Desirable Property of Redundancy Removal Increase the testability Reduce area Improve the performance by reducing the capacitive loads and the number of series transistors

Counter-example c0 a0 b0 a1 b1 s0 s1 c2 G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G s-a-0 S-a-0 fault on the control input of the MUX is untestable Redundancy removal transforms a carry- skip adder to a ripple carry adder A 2-bit carry-skip adder

Logic Optimization by Redundancy Addition & Removal Adding connection g 5 g 9 Connections g 1 g 4 and g 6 g 7 become redundant c b d e c d a b f redundant g1g1 g2g2 g3g3 g4g4 g5g5 g6g6 g7g7 g8g8 g9g9 o1o1 o2o2 b d e c c a b f o1o1 o2o2 g1g1 g2g2 g3g3 g5g5 g8g8 g9g9

Definition Absolute dominator (dominator) of a wire W: the set of gates G such that all paths from wire W to any primary output have to pass through all gates in G Ex : dominators of g 1 g 4 : g 4, g 8, g 9 c b d e c d a b f g1g1 g2g2 g3g3 g4g4 g5g5 g6g6 g7g7 g8g8 g9g9 o1o1 o2o2

Definition Side inputs of a dominator must be assigned to the gates non-controlling value in order to generate a test Ex : To test g 1 g 4, s-a-1, c = 1, g 7 = 0, f = 1 c b d e c d a b f g1g1 g2g2 g3g3 g4g4 g5g5 g6g6 g7g7 g8g8 g9g9 o1o1 o2o2

Mandatory Assignments The value assignments required for a test to exist and they must be satisfied by any test vector Use implication to compute MA To compute entire set of MA is NP-complete Derive SMA (Set of Mandatory Assignment) from dominators

Single Alternative Wire Step1 : Calculate Mandatory Assignment for target faults Step2 : Identify a set of candidate connec- tions to be added. Each addition will make the target fault untestable (redundant) Step3 : Check whether a candidate is redundant Step1 and Step3 can be performed by impli- cation and checking of the consistency of the SMA

Type b gdgd Step 2 : Adding Connection –The gate g d is a dominator. The gate g 1 is in the fault propagating paths –The gate g 2 is a side input. The gate g s has a mandatory value, val, for the target fault. g s is not in the transitive fan-out of target wire (a) the original circuit g s = 0 g1g2g1g2 g1g1 g2g2 g s = val Type a gdgd g s = 1 g1g1 g2g2 (b) two types of transformations target wire gdgd

Example a b c d e f o1o1 o2o2 o3o3 g2g2 g1g1 g3g3 g5g5 g4g4 a b c d e f o1o1 o2o2 o3o3 g2g2 g1g1 g3g3 g5g5 g4g4

False Path Identification

Static Delay Analysis arrival time : from input to output required time : from output to input slack = required time - arrival time c d e f g h

Timing Analysis Problems We want to determine the true critical paths of a circuit in order to: –To determine the minimum cycle time that the circuit will function –To identify critical paths for performance optimization – dont want to try to optimize the wrong (non-critical) paths Implications: –Dont want false paths (produced by static delay analysis)

False Paths Static analysis is fast but leads to false paths Path of length 400 is never exercised Approaches: 1. Mark orthogonal pairs –May be wrong, cant find all possibilities 2. Throw out non-sensitizable (false) paths Circuit delay = Length of longest path ? –Not a good enough bound (too pessimistic) Circuit delay = Time of last output change => Functional timing analysis for false paths MUX 1010 s v fifi y 1010 u x fj

First Attempt: Boolean Difference Check for static false path: Path P = {f 0, f 1, f 2, …, f n } gives conditions under which node fi is sensitive to node fi- 1 => Output of P is sensitive to f 0 if Recall Boolean difference: Example: f i-1 fifi f i+1

Example: Static False Path and Hence, Thus (by previous condition) any path is not statically sensitizable and is false MUX 1010 s u v fifi x y 1010 fj

Definitions Given a simple gate (i.e. AND, OR, NAND, NOR), a controlling value on an input determines the output of the gate independent of the other inputs Given a simple gate (i.e. AND, OR, NAND, NOR), a non-controlling value on an input cannot determine the output of the gate independent of the other inputs Example: 0 is a controlling value for AND gate. 1 is non-controlling value for AND gate Note: Controlling / non-controlling value is merely a specialization of the Boolean difference to simple gates abab abab f g

Static Sensitization Simple Gates: Let path P = {f 0, f 1, …, f i } A side-input to a gate f i along P is any input other than f i-1 An event is a transition from 0 to 1 or 1 to 0 Path P is statically sensitizable if there exists a primary input vector under which every side-input is set to a non-controlling value A path is a statically false path if it is not statically sensitizable (see previous example)

Static Sensitization and False Paths Static sensitization is wrong! Paths shown in bold are not statically sensitizable, but delay of circuit is a b d c e f g abcdefgabcdefg t= constant 0

Why Static Sensitization Fails Static sensitization fails because it considers only the final value on each side-input. It does not consider values on side-inputs at the moment the event propagates from f i-1 through node f i For example, in previous circuit when determining static sensitization of path {b, e, f, g} we assume side-input a of gate e is at final non-controlling value of 1. This is not necessary for the path to be sensitizable

Second Attempt:Dynamic Sensitizable Path Given a path P = s 0 -g 0 -s 1 -……g k -s k in a circuit C. Path P is a dynamic sensitizable path if and only if there is at least one input vector such that for all signals s i, (1) s i is the earliest controlling input of gate g i (2) s i is he latest non-controlling input of gate g i and the side inputs of gate g i are non- controlling inputs.

Second Attempt:Dynamic Sensitizable Path (floating-mode) 0 0 Controlled value 0 Earliest-arriving controlling value determines the output stable time early late Non-controlled value early late Checking the falsity of every path explicitly is too expensive

False Path Analysis State-of-the-art approach: –D = topological longest path delay –Is there an input vector under which an output gets stable only after or at t =D? (*) No: Decrease D and try it again Yes: The delay is D. Done (*) is a SAT problem

Algorithm Early-arrive-signals (s i, *) = {s j | s j is an input signal to gate g i and Max-arrive-time(s j ) < MinPD(s i, P, *)} Late-arrrive-signals (s i, *) = {s j | s j is an input signal to gate g i and Min-arrive-time (s j ) > MaxPD (s i, P, *)} Algorithm false_path_checking (P, false_path) let P be the path to be checked and P=s 0, g 0, s 1, g 1, …,s i, g i, …, s k where s 0 and s k are a primary input and a primary output respectively let Q be the event Queue and the format of event is (s i, val), where val is the logic value assigned to signal s i begin {The event generating phase} Initialize Q for each s i alogn the path P do begin for each s j Early-arrive-signals(s i, *) do begin enqueue(s j, val = non-control value of gate g i ) into Q end if Late-arrive-signals(s i, *) then begin enqueue(s i, val=control value of gate g i ) into Q end