Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms.

Slides:



Advertisements
Similar presentations
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Advertisements

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.
Types of Logic Circuits
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 13/12alt1 Lecture 13 Sequential Circuit ATPG Time-Frame Expansion (Lecture 12alt in the Alternative.
1 Lecture 10 Sequential Circuit ATPG Time-Frame Expansion n Problem of sequential circuit ATPG n Time-frame expansion n Nine-valued logic n ATPG implementation.
Chapter 9 Asynchronous Sequential Logic 9-1 Introduction Introduction 9-2 Analysis Procedure Analysis ProcedureAnalysis Procedure 9-3 Circuits With Latches.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
TOPIC : Backtracking Methodology UNIT 3 : VLSI Testing Module 3.2: Arriving at Input Test Vector.
Partial Implications, etc.
Aiman El-Maleh, Ali Alsuwaiyan King Fahd University of Petroleum & Minerals, Dept. of Computer Eng., Saudi Arabia Aiman El-Maleh, Ali Alsuwaiyan King Fahd.
1 Recursive Learning Madhurima Maddela. ELEC /26/052 Decision Tree Traditionally used to branch and bound in the search space to generate test.
Jan. 29, 2002Gaur, et al.: DELTA'021 A New Transitive Closure Algorithm with Application to Redundancy Identification Vivek Gaur Avant! Corp., Fremont,
ECE 331 – Digital System Design
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
Logic Simulation 4 Outline –Fault Simulation –Fault Models –Parallel Fault Simulation –Concurrent Fault Simulation Goal –Understand fault simulation problem.
6/11/2015A Fault-Independent etc…1 A Fault-Independent Transitive Closure Algorithm for Redundancy Identification Vishal J. Mehta Kunal K. Dave Vishwani.
Sequential Optimization without State Space Exploration A. Mehrota, S. Qadeer, V. Singhal, R. Brayton, A. Sangiovanni-Vincentelli, A. Aziz Presented by:
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Nov. 29, 2005 ELEC Class Presentation 1 Logic Redesign for Low Power ELEC 6970 Project Presentation By Nitin Yogi.
Asynchronous Sequential Logic
1 Lecture 10 Redundancy Removal Using ATPG n Redundancy identification n Redundancy removal Original slides copyright by Mike Bushnell and Vishwani Agrawal.
1 Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Oct 16, 2007.
Rewiring – Review, Quantitative Analysis and Applications Matthew Tang Wai Chung CUHK CSE MPhil 10/11/2003.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
Dominance Fault Collapsing of Combinational Circuits By Kalpesh Shetye & Kapil Gore ELEC 7250, Spring 2004.
ECE 667 Synthesis and Verification of Digital Systems
Jan. 11, '02Kim, et al., VLSI Design'021 Mutiple Faults: Modeling, Simulation and Test Yong C. Kim University of Wisconsin, Dept. of ECE, Madison, WI 53706,
Sequential Redundancy Removal w/o State Space Exploration A. Mehrotra, S. Qadeer, V. Singhal, R. Brayton, A. Aziz, A. Sangiovanni-Vincentelli, “Sequential.
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 101 Lecture 10 Combinational ATPG and Logic Redundancy n Redundancy identification n Redundancy removal.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Boolean Methods for Multi-level Logic Synthesis Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial.
Chapter 7. Testing of a digital circuit
A NEW ECO TECHNOLOGY FOR FUNCTIONAL CHANGES AND REMOVING TIMING VIOLATIONS Jui-Hung Hung, Yao-Kai Yeh,Yung-Sheng Tseng and Tsai-Ming Hsieh Dept. of Information.
Optimization Algorithm
1 2-Hardware Design Basics of Embedded Processors (cont.)
Two Level and Multi level Minimization
1 Compacting Test Vector Sets via Strategic Use of Implications Kundan Nepal Electrical Engineering Bucknell University Lewisburg, PA Nuno Alves, Jennifer.
ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:
CAS 721 Course Project Minimum Weighted Clique Cover of Test Set By Wei He ( )
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Copyright 2001, Agrawal & BushnellLecture 6: Sequential ATPG1 VLSI Testing Lecture 6: Sequential ATPG n Problem of sequential circuit ATPG n Time-frame.
A Decomposition Algorithm to Structure Arithmetic Circuits Ajay K. Verma, Philip Brisk, Paolo Ienne Ecole Polytechnique Fédérale de Lausanne (EPFL) International.
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
A Test-Per-Clock LFSR Reseeding Algorithm for Concurrent Reduction on Test Sequence Length and Test Data Volume Wei-Cheng Lien 1, Kuen-Jong Lee 1 and Tong-Yu.
Manufacture Testing of Digital Circuits
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Lecture 9 Advanced Combinational ATPG Algorithms
Interpolating Functions from Large Boolean Relations
CS 352 Introduction to Logic Design
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
Optimization Algorithm
Automatic Test Generation for Combinational Circuits
CPE/EE 428, CPE 528 Testing Combinational Logic (4)
ECB2212-Digital Electronics
Heuristic Minimization of Two Level Circuits
Automatic Test Pattern Generation
Heuristic Minimization of Two Level Circuits
CS 140 Lecture 6: Other Types of Gates
ECE 352 Digital System Fundamentals
Theorems on Redundancy Identification
CS137: Electronic Design Automation
Presentation transcript:

Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms Optional Reading –Kunz and Menon, ICCAD94

Implications –find all value assignments in circuit necessary for the consistency of a given set of value assignments –assignments y = 0, f = 1 => d = 0, a = 0, c = 0 –y = 0 is justified since a complete set of necessary assignments is found Direct Implications –variable assignments that can be made in a circuit directly from gate truthtables and circuit connectivity –example above is direct »y = 0, f = 1 => d = 0 => a = 0, c = 0 a c f=1 y=0 d

Indirect Implications –variable assignments that can only be made through the intersection of multiple temporary direct implications –unjustified assignment y = 1! –direct implications blocked since y = 1 for d = 1 or e = 1 –make both possible assignments at d and e –make direct implications and look for intersection »location where assignment will be the same in either case »f = 1 in either case, so y = 1 => f = 1 a=1’ f=1’ c=1’’ y=1! d=1’ e=1’’ f=1’’

Recursive Learning Apply indirect implications recursively –to depth limit r max r = 0 make_all_implications(r, r max ) make all direct implications set up list U r of all unjustified functions if r < r max for each function f i in U r set up list of justifications f C r for each justification J i in f C r make assignments in J i make_all_implications(r+1, r max ) if >=1 variable y i in the circuit which assumes same logic value V for all consistent justifications J k in f C r learn y i = V i is uniquely determined in level r make direct implications for all y i = V i in level r if all justifications are inconsistent learn given situation of value assignments in level r is inconsistent

Logic Optimization Indirect implications imply circuit suboptimality –suggest good factors a f c y a c f y y = 1 => f = 1 indirect blocked at OR gate y = af + fc => (a + c)f y = 1 => f = 1 direct a f c y g hd f e y = 1 => f = 1 indirect blocked at OR gates a c d e g h f y y = 1 => f = 1 direct y = g(af + fc) + h(df + fe) = f(g(a + c) + h(d + e))

Boolean Division: Shannon’s Expansion Expansion of boolean function y w.r.t. variable x i y(x 1...x n ) = x i y(x 1,...x i =1,...x n ) + ~x i y(x 1,...x i =0,...x n ) Generalization to function variables y(x) = f(x) y(x)| f(x)=1 + ~f(x) y(x)| f(x)=0 y(x)| f(x)=V = y(x) if f(x)=V, X (don’t care) otherwise f(x) = x i is a special case Example y = (a + f)(f + c) y = f(a + 1)(1 + c) + ~f(a + 0)(0 + c) = f + ~fac = f + ac

Optimization by Expansion Expansion is a form of boolean division –generates many internal don’t cares –exploit don’t cares to optimize circuit –use y as cover for y(x)| f(x)=1 and y(x)| f(x)=0 »y = f y + ~f y »do not substitute constants into y »even more redundancy in circuit »example: (a + f)(f + c) for 1, (a + f)(f + c) for ac Optimization approach –find divisor f –transformation: y’ = f y + ~f y –reduction: remove redundancy –repeat until cost is stable

Finding Divisors: Indirect Implications Permissible function –can replace y with y’ and not change circuit function »exploit don’t cares –example: y = ab, b is don’t care, then y’ = a Transformations –both stuck-at faults at y are testable »some circuit input values will force y to both 0 and 1 and some output value will depend on this –f not in transitive fanout of y - no loops –y’ = y| f=1 + ~f = y + ~f for implication y=0 => f=1 –y’ = f + y| f=0 = f + y for implication y=0 => f=0 –y’ = f y| f=1 = f y for implication y=1 => f=1 »y = f y + ~f y, ~f y = 0, so y = f y –y’ = ~f y| f=0 = ~f y for implication y=1 => f=0 –complete set - can compose to get any transformation

Making Implications Use D-calculus to make implications –V = { 0, 1, D, D’, X } –D - node stuck-at-1 –D’ - node stuck-at-0 –X - unknown –5-valued truthtables, 1 and D = D, 0 or D = D, invert(D) = D’ D and D’ act as don’t cares –other nodes could be 0 or 1 –implication is true regardless of other node values »e.g. y = 0 => f = 1 for all other node values Circuit transformations must work for all circuit inputs

Divisor Selection Make implications at all nodes –results in many implications –many circuit transformations are possible Choose most indirect implication –most likely to reduce circuit a lot Limit recursion depth –execution time goes up exponentially with r max –use recursion depth 2 –all optimizations found with higher recursion depth can be found with sequence of optimizations at smaller depth

Division and Redundancy Removal Modify circuit according to transformation –y’ = f y for implication y=1 => f=1 »insert AND gate –similar for other three transformations Remove redundancy using redundant faults –identify all redundant faults in transformed circuit –use ATPG techniques –consider stuck-at-0/1 faults in nodes touched by recursive learning to find current transformation –fault is redundant if no test can be found for it »it does not change circuit function –replace fault with constant (e.g. 0 for stuck-at-0) –perform constant propagation - AND(1, A) = A y’ f y

Example a b c f u w v d y y=1 f=1 a b c u w v d y SA1 f y’ a b c u w v d Determine divisor Transform circuit Remove redundancy Save one AND gate

Conclusions Among best optimization results to date –up to 30% better than factorization by kernels –redundancy addition/removal uses related approach Reasonable execution time –2 minutes to 7 hours on SPARC 10 for ISCAS85 circuits –up to 60% reduction in circuit size from original Conclusions –structural techniques work better than equation-based techniques –ATPG-based factorization works better than kernel-based techniques –LOT adds transforms to improve testability and optimization –Minpower adds transforms to minimize power consumption