1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Exploiting Don’t Cares in Logic Minimization.
Great Theoretical Ideas in Computer Science
Three Special Functions
CS 121 Digital Logic Design
Minimization of Circuits
Optimization of Sequential Networks Step in Synthesis: Problem Flow Table Reduce States Minimum-State Table State Assignment Circuit Transition Table Flip-Flop.
Node Optimization. Simplification Represent each node in two level form Use espresso to minimize each node Several simplification procedures which vary.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
ENGG3190 Logic Synthesis “Multi Level Logic” (Part II) Winter 2014 S. Areibi School of Engineering University of Guelph.
More on Decoders and Muxes
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
EE 4271 VLSI Design1 Logic Synthesis. Starts from RTL description in HDL or Boolean expressions Outputs a standard cell netlist EE 4271 VLSI Design2.
1 SPFDs - A new method for specifying flexibility Sets of Pairs of Functions to be Distinguished From the paper: “A new Method to Express Functional Permissibilities.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
ECE 331 – Digital System Design
A Robust Algorithm for Approximate Compatible Observability Don’t Care (CODC) Computation Nikhil S. Saluja University of Colorado Boulder, CO Sunil P.
1 Node Minimization Problem:Problem: –Given a Boolean network, optimize it by minimizing each node as much as possible. Note:Note: –The initial network.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
1 Consensus Definition Let w, x, y, z be cubes, and a be a variable such that w = ax and y = a’z w = ax and y = a’z Then the cube xz is called the consensus.
Sequential Optimization without State Space Exploration A. Mehrota, S. Qadeer, V. Singhal, R. Brayton, A. Sangiovanni-Vincentelli, A. Aziz Presented by:
Multilevel Logic Minimization -- Introduction. ENEE 6442 Outline > Multi-level minimization: technology independent local optimization. > What to optimize:
CS 536 Spring Global Optimizations Lecture 23.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
Gate Logic: Two Level Canonical Forms
1 Generalized Cofactor Definition 1 Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
ECE 667 Synthesis and Verification of Digital Systems
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Boolean Methods for Multi-level Logic Synthesis Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
1 Using Don’t Cares - full_simplify command Major command in SIS - uses SDC, ODC, XDC Key Questions: How do we represent XDC to a network? How do we relate.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
©2010 Cengage Learning SLIDES FOR CHAPTER 6 QUINE-McCLUSKEY METHOD Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
Software Testing.
Alan Mishchenko UC Berkeley
Algorithms and representations Structural vs. functional test
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
ECE 331 – Digital System Design
Multi-Level Minimization
Robert Brayton UC Berkeley
Overview Part 2 – Circuit Optimization
Heuristic Minimization of Two Level Circuits
ECE 352 Digital System Fundamentals
Canonical Computation without Canonical Data Structure
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
ECE 331 – Digital System Design
Presentation transcript:

1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann

2 Node Minimization Problem: –Given a Boolean network, optimize it by minimizing each node as much as possible. Note: –The initial network structure is given. Typically applied after the global optimization, i.e. division and resubstitution. –We minimize the function associated with each node. –What do we mean by minimizing the node “as much as possible”?

3 Functions Implementable at a Node In a Boolean network, we may represent a node using the primary inputs {x 1,.. x n } plus the intermediate variables {y 1,.. y m }, as long as the network is acyclic. DEFINITION: A function g j, whose variables are a subset of {x 1,.. x n, y 1,.. y m }, is implementable at a node j if –the variables of g j do not intersect with TFO j –the replacement of the function associated with j by g j does not change the functionality of the network.

4 Functions Implementable at a Node The set of implementable functions at j provides the solution space of the local optimization at node j. TFO j = {node i s.t. i = j or  path from j to i}

5 Local Optimization Goals: Given a Boolean network: –make the network prime and irredundant –for a given node of the network, find a least-cost sum­of­products expression among the implementable functions at the node Note: –Goal 2 implies the goal 1, –But we want more than just 100% testability. There are many expressions that are prime and irredundant, just like in two-level minimization. We seek the best.

6 Local Optimization Key Ingredient ­ Network Don't Cares: External don't cares ­ –XDC k, k=1,…,p, - set of minterms of the primary inputs given for each primary output Internal don't cares ­ derived from the network structure –Satisfiability Don’t Cares ­ SDC –Observability Don’t Cares ­ ODC

7 SDC Recall: We may represent a node using the primary inputs plus the intermediate variables. –The Boolean space is B n+m. However, the intermediate variables are dependent on the primary inputs. Thus not all the minterms of B n+m can occur: –use the non-occuring minterms as don’t cares to optimize the node function –we get internal don’t cares even when no external don’t cares exist

8 SDC Example: y 1 = F 1 = x 1 y j = F j = y 1 x 2 –Since y 1 = x 1, y 1  x 1 never occurs. –Thus we may include these points to represent F j  Don't Cares –SDC = (y 1  x 1 )+(y j  y 1 x 2 ) In general, Note: SDC  B n+m

9 ODC y j = x 1 x 2 + x 1 x 3 z k = x 1 x 2 + y j x 2 + (y j x 3 ) Any minterm of x 1 x 2 + x 2 x 3 + x 2 x 3 determines z k independent of y j. The ODC of y j for z k is the set of minterms of the primary inputs for which the value of y j is not observable at z k This means that the two Boolean networks, –one with y j forced to 0 and –one with y j forced to 1 compute the same value for z k when x  ODC jk

10 Don't Cares for Node j FjFjFjFj inputs outputs ODC S D C Define the don't care sets DC j for a node j as ODC and SDC illustrated: Boolean network

11 Minimizing Local Functions Once an incompletely specified function (ISF) is derived, we minimize it. 1. Minimize the number of literals –Minimum literal() in the slides for Boolean division 2. The off­set of the function may be too large. –Reduced offset minimization (built into ESPRESSO in SIS) –Tautology­based minimization If all else fails, use ATPG techniques to remove redundancies.

12 ATPG Multi­Level Tautology: Idea: Use testing methods. (ATPG is a highly developed technology). If we can prove that a fault is untestable, then the untestable signal can be set to a constant. This is like expansion in Espresso.

13 Removing Redundancies Redundancy removal: do random testing to locate easy tests apply new ATPG methods to prove testability of remaining faults. –if non-testable for s-a-1, set to 1 –if non-testable for s-a-0, set to 0 Reduction (redundancy addition) is the reverse of this. It is done to make something else untestable. There is a close analogy with reduction in espresso. Here also reduction is used to move away from a local minimum. & reduction = add an input Used in transduction (Muroga) Global flow (Bermen and Trevellan) Redundancy addition and removal (Marek-Sadowska et. al.) c b a d