Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Infinite Automata -automata is an automaton that accepts infinite strings A Buchi automaton is similar to a finite automaton: S is a finite set of states,
A Robust Algorithm for Approximate Compatible Observability Don’t Care (CODC) Computation Nikhil S. Saluja University of Colorado Boulder, CO Sunil P.
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
1 Multi-Valued Logic Synthesis R. K. Brayton and S. P. Khatri University of California Berkeley.
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
SPFD-Based Wire Removal in a Network of PLAs Sunil P. Khatri* Subarnarekha Sinha* Andreas Kuehlmann** Robert K. Brayton* Alberto Sangiovanni-Vincentelli*
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
Gate Logic: Two Level Canonical Forms
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
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
MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley.
CAD Algorithms and Tools. Overview Introduction Multi-level logic synthesis SIS as a representative CAD tool Boolean networks Transformations of Boolean.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
2-Level Minimization Classic Problem in Switching Theory
Department of Computer Engineering
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Optimization Algorithm
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
Two Level Networks. Two-Level Networks Slide 2 SOPs A function has, in general many SOPs Functions can be simplified using Boolean algebra Compare the.
Copyright © 2004 by Miguel A. Marin Revised McGILL UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING COURSE ECSE DIGITAL SYSTEMS.
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.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Prof. Hsien-Hsin Sean Lee
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
STATIC ANALYSIS OF UNCERTAIN STRUCTURES USING INTERVAL EIGENVALUE DECOMPOSITION Mehdi Modares Tufts University Robert L. Mullen Case Western Reserve University.
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.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
A Semi-Canonical Form for Sequential Circuits Alan Mishchenko Niklas Een Robert Brayton UC Berkeley Michael Case Pankaj Chauhan Nikhil Sharma Calypto Design.
Technical Seminar II Implementation of
Reducing Structural Bias in Technology Mapping
Lecture 3: Incompletely Specified Functions and K Maps
Sequential Flexibility
Synthesis for Verification
Interpolating Functions from Large Boolean Relations
QUINE-McCLUSKEY METHOD
Delay Optimization using SOP Balancing
Reconfigurable Computing
Example of application: Decomposition
A Boolean Paradigm in Multi-Valued Logic Synthesis
Lecture 3: Incompletely Specified Functions and K Maps
Multi-Level Minimization
CSE 370 – Winter 2002 – Logic minimization - 1
Optimization Algorithm
SAT-Based Optimization with Don’t-Cares Revisited
Sungho Kang Yonsei University
Synthesis and Verification of Finite State Machines
Minimization of Switching Functions
Improvements in FPGA Technology Mapping
Delay Optimization using SOP Balancing
SAT-based Methods: Logic Synthesis and Technology Mapping
Fast Min-Register Retiming Through Binary Max-Flow
Lecture 3: Incompletely Specified Functions and K Maps
Presentation transcript:

Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University Robert K. Brayton Electrical Engineering and Computer Science University of California, Berkeley

Nov. 13, 2002ICCAD 2002 Overview What is an ND network? What is an ND network? –Basic definitions –Motivation Defining and comparing ND network behaviors Defining and comparing ND network behaviors Node Flexibility and Node Minimization Node Flexibility and Node Minimization Experimental observations Experimental observations Conclusions and future work Conclusions and future work

Nov. 13, 2002ICCAD 2002 What is an ND network? Similar to a Boolean network except –Each node has a single output multi-valued variable –Each node has a non- deterministic relation relating its input and output values. F MV ND PI PO

Nov. 13, 2002ICCAD 2002 Why consider ND networks? 1. Don’t cares are a form of non-determinism. They generalize to non-determinism when considering multi-valued logic 2. Multi-valued domains can be used to explore larger optimization spaces. 3. ND arises naturally when considering the flexibility of implementing a node in a network 4. Given a ND relation, the minimum well-defined ND sub-relation is always smaller than the minimum deterministic one

Nov. 13, 2002ICCAD 2002 Reminder: Boolean Network Directed Acyclic Graph Directed Acyclic Graph Each node represents a Boolean function Each node represents a Boolean function Edge from node j to node k if the function at k depends syntactically on the variable y j at the output of j Edge from node j to node k if the function at k depends syntactically on the variable y j at the output of j Primary inputs (PI) X and outputs (PO) Z Primary inputs (PI) X and outputs (PO) Z All signals are binary All signals are binary External specification provides allowed input and output combinations (external don’t cares) External specification provides allowed input and output combinations (external don’t cares) j F PI PO yjyj

Nov. 13, 2002ICCAD 2002 MV ND F PI PO ynyn Definition: ND Multi-Valued Network Network of MV-nodes (PI, PO, internal) Network of MV-nodes (PI, PO, internal) Each node is represented by an MV variable y n with its own range {0, 1,…, |p n |-1} Each node is represented by an MV variable y n with its own range {0, 1,…, |p n |-1} Internal node is represented by an MV non-deterministic relation Internal node is represented by an MV non-deterministic relation

Nov. 13, 2002ICCAD 2002 Examples: Ternary Relations R 1 is completely specified (deterministic) R 2 is incompletely specified R 3 is partially specified, or non-deterministic R 1 is contained in R 2 R 2 is not contained in R 3 b/a ,1, ,1, ,11,2 10,10 20,1,20,1 R1R1R1R1 R2R2R2R2 R3R3R3R3 R a b 2 All relations are well-defined, i.e. for each input minterm there exists at least one output value

Nov. 13, 2002ICCAD 2002 Overview What is an ND network? What is an ND network? –Basic definitions –Motivation Defining and comparing ND network behaviors Defining and comparing ND network behaviors Node Flexibility and Node Minimization Node Flexibility and Node Minimization Experimental observations Experimental observations Conclusions and future work Conclusions and future work

Nov. 13, 2002ICCAD 2002 ND Network Behavior Given an ND network, what is its behavior, Given an ND network, what is its behavior, –i.e. what is the set of all PI/PO pairs that are related? –this question is not straightforward. For a deterministic, well-defined network, there is exactly one PO vector for each PI vector For a deterministic, well-defined network, there is exactly one PO vector for each PI vector –however, if there are some external don’t cares, then there may be several PO vectors for a PI vector, –but don’t cares are well understood.

Nov. 13, 2002ICCAD 2002 ND Network Behaviors (PI/PO Pairs) Normal Simulation (NS) Normal Simulation (NS) Normal Simulation made Compatible (NSC) – will not be discussed Normal Simulation made Compatible (NSC) – will not be discussed Set Simulation (SS) Set Simulation (SS) –similar to X valued simulation where X ={0,1} Note: all these become the same when the network is deterministic. Det NS NSC SS ND

Nov. 13, 2002ICCAD 2002 The NS-behavior is the set of all PI/PO vectors that can be obtained this way. is in general a MV Boolean relation Normal Simulation Network is evaluated in topological order Network is evaluated in topological order At each node its fanins have a specific vector of values. At each node its fanins have a specific vector of values. The relation at the node determines a set of possible output values of that node The relation at the node determines a set of possible output values of that node One of these is chosen randomly and broadcast to all the fanouts One of these is chosen randomly and broadcast to all the fanouts

Nov. 13, 2002ICCAD 2002 Normal Simulation faninsfanouts node with a non-deterministic relation {0,2}2

Nov. 13, 2002ICCAD 2002 Set Simulation Done in topological order. Done in topological order. On each signal a set of values is obtained On each signal a set of values is obtained At each node a vector of fanin sets is known. At each node a vector of fanin sets is known. The output set of values for a node is the union of the sets obtained for all fanin vectors in the cross product of the fanin sets The output set of values for a node is the union of the sets obtained for all fanin vectors in the cross product of the fanin sets The SS-behavior is the set of all PI/PO vectors in the cross product of the PO sets that can be obtained this way. can be expressed using

Nov. 13, 2002ICCAD 2002 Set Simulation fanins {3} {1} {1} {0,2} PO 1 PO 2 {1,2,4}{0,2}{0,2}{0,2}{1,4}{0,1} {1,3}{1,3} = {1,2,4} = {1,3} PI/PO relation contains / / / / / / 4 3 It is the cross product of all PO sets

Nov. 13, 2002ICCAD 2002 Comparisons is a general MV Boolean relation is a general MV Boolean relation –relatively hard to compute and store can be computed for each output:. It is output symmetric Boolean relation.. can be computed for each output:. It is output symmetric Boolean relation. can be obtained by elimination in topological order. can be obtained by elimination in topological order SS can be considered as an easy-to-compute over-approximation of normal simulation NS. SS can be considered as an easy-to-compute over-approximation of normal simulation NS.

Nov. 13, 2002ICCAD 2002 Computing R NS – input determinization At each ND node introduce one MV parameter p i with the same range as the node output. At each ND node introduce one MV parameter p i with the same range as the node output. Relation at node i is replaced by Relation at node i is replaced by – p i controls the output value of node i –the operator m is a special BDD projection operator, defined by Bill Lin, that projects onto the smallest allowed output value. R NS can be obtained by eliminating all internal nodes and existentially quantifying all parameters { p i }. R NS can be obtained by eliminating all internal nodes and existentially quantifying all parameters { p i }.

Nov. 13, 2002ICCAD 2002 External Specification Can be specified by Can be specified by –The initial network plus don’t cares e.g. in Boolean networks, we can give external don’t cares, one set for each output. e.g. in Boolean networks, we can give external don’t cares, one set for each output. –A separate specification (network or BDD or other) Notation: Notation: Requirement: one behavior conforms Requirement: one behavior conforms

Nov. 13, 2002ICCAD 2002 Conformity with External Specification Can use any one of the behaviors Can use any one of the behaviors –Just be consistent For example, we may have but If we use consistently there is no problem. For example, we may have but If we use consistently there is no problem. Ultimately, in most applications we want a final deterministic network. Ultimately, in most applications we want a final deterministic network. If any behavior conforms, then it contains only correct deterministic ones If any behavior conforms, then it contains only correct deterministic ones

Nov. 13, 2002ICCAD 2002 Overview What is an ND network? What is an ND network? –Basic definitions –Motivation Defining and comparing ND network behaviors Defining and comparing ND network behaviors Node Flexibility and Node Minimization Node Flexibility and Node Minimization Experimental observations Experimental observations Conclusions and future work Conclusions and future work

Nov. 13, 2002ICCAD 2002 Minimizing a Node – Computing the Flexibility at a Node Definition. A flexibility at node  is a relation such that replacing at  any well-defined deterministic relation contained in implies that the resulting network conforms to the external specification. Definition. The maximum possible flexibility at a node is called its complete flexibility (CF).

Nov. 13, 2002ICCAD 2002 Computing the Global CF ND network Called the global B - CF of the node

Nov. 13, 2002ICCAD 2002 Imaging into the Local Space YiYi Called the B - CF of the node

Nov. 13, 2002ICCAD 2002 Properties of Flexibilities If a current network “B-conforms”, B e {NS,NSC,SS }, then any well-defined deterministic function contained in is acceptable at node j. If a current network “B-conforms”, B e {NS,NSC,SS }, then any well-defined deterministic function contained in is acceptable at node j. For NS or NSC, any ND relation will also be acceptable. For NS or NSC, any ND relation will also be acceptable. But for SS, it is possible that an ND relation contained in can cause the network to not conform (important point) But for SS, it is possible that an ND relation contained in can cause the network to not conform (important point)

Nov. 13, 2002ICCAD 2002 Measuring Flexibility T = 6 T = 10 T = 12 F = 0% F = 33% F = 50% b/a R1R1R1R1 0100,1, ,1,20 R2R2R2R2 0100,11,2 10,10 20,1,20,1 R3R3R3R3 Examples: M=6, V=3 M is the number of the input minterms V is the size of the output range. t i is the number of output values in the relation for input minterm m i F is equal to 0% for completely specified functions and 100% for relations that take all values in any minterm.

Nov. 13, 2002ICCAD 2002 Amount of Flexibility (SDC, CODC, SS-CF)

Nov. 13, 2002ICCAD 2002 Node Simplification Compute and use complete flexibility (CF) to simplify the node. Recall: 1.CF in global space: 2.CF in local space: Use to optimize MV-SOP (heuristic, exact) at node jUse to optimize MV-SOP (heuristic, exact) at node j We will look at how to find the smallest well- defined SOP representation contained in a given ND relation

Nov. 13, 2002ICCAD 2002 Representing an ND relation Definition: The i - set of an ND relation is a binary function that is 1 for each minterm that can output value i Definition: A minimum SOP representation of an ND relation is a well-defined sub- relation where all the i - sets are represented by SOPs and the total number of cubes is minimum.

Nov. 13, 2002ICCAD 2002 Finding minimum deterministic SOP representation A deterministic SOP is never smaller than the smallest ND representation. A deterministic SOP is never smaller than the smallest ND representation. There is no known algorithm for finding the minimum deterministic representation. There is no known algorithm for finding the minimum deterministic representation. –we have a few heuristic ones In contrast, there is a method for finding the smallest ND representation. In contrast, there is a method for finding the smallest ND representation.

Nov. 13, 2002ICCAD 2002 P0P0 P1P1 P2P2 P3P3 all minterms Quine-McCluskey type exact ND SOP relation minimization For each i -set, generate all its primes, P i For each i -set, generate all its primes, P i Form covering table with Form covering table with –one column for each p j in P i for all i –one row for each minterm in the input space Solve minimum covering problem Solve minimum covering problem –Primes chosen from P k is the cover for k th i -set.

Nov. 13, 2002ICCAD 2002 Overview What is an ND network? What is an ND network? –Basic definitions –Motivation Defining and comparing ND network behaviors Defining and comparing ND network behaviors Node Flexibility and Node Minimization Node Flexibility and Node Minimization Experimental observations Experimental observations Conclusions and future work Conclusions and future work

Nov. 13, 2002ICCAD 2002 Experimental Setup These ideas have been implemented in a system, MVSIS These ideas have been implemented in a system, MVSIS The SS behavior has been used throughout in the experiments. The SS behavior has been used throughout in the experiments. –it is the easiest to use computationally –behavior can be expressed locally at each node as a BDD of the PI. (SS-behavior is output symmetric)

Nov. 13, 2002ICCAD 2002 Experimental Observations SS Behavior Conformity is rarely lost but it does happen. This usually happens during node minimization. Conformity is rarely lost but it does happen. This usually happens during node minimization. –If we use an ND relation at the minimized node, then conformity is not guaranteed (only deterministic SOP guarantees conformity using SS) Often conformity is automatically regained by minimizing the next node. Often conformity is automatically regained by minimizing the next node. –If the CF at the next node is well defined, this means that the network can be brought back to conformity. –If it is not well defined, we leave the node relation alone and move to the next node. We have never experienced a final network that does not conform to the external specification. We have never experienced a final network that does not conform to the external specification.

Nov. 13, 2002ICCAD 2002 Future Work We believe NSC behavior will be superior. –need to solve computation efficiency problems equivalent to elimination in reverse topological order equivalent to elimination in reverse topological order –means that intermediate variables have to be used (rather than only PI) – means that it is easier to maintain conformity. means that it is easier to maintain conformity. implies that NSC-CF contains more flexibility than SS- CF implies that NSC-CF contains more flexibility than SS- CF –however, elimination can cause non-conformity

Nov. 13, 2002ICCAD 2002 The End

Nov. 13, 2002ICCAD 2002 Partial Encoding (Value Reducing) R 2 is a wire, a cube, or a given functionR 2 is a wire, a cube, or a given function e.g. a library element (technology mapping)e.g. a library element (technology mapping) Transformation is accepted ifTransformation is accepted if   log 2 |v 2 |  +  log 2 |v 1 |    log 2 |v|  or  |v 2 |+ |v 1 |  |v| R X v R1R1R1R1 R2R2R2R2 X v1v1v1v1 v2v2v2v2 partial encoding

Nov. 13, 2002ICCAD 2002 Merging Inverse of partial encoding merge v 1 and v 2

Nov. 13, 2002ICCAD 2002 Decomposition (extraction) and Encoding 1. Select bound set X B 2. Imagine that a block B 1 has v 1 values. ( v 1 is the product of values in X B ) 3. Compute the CF of block B 1 4. Encode B 1 using value-reducing encoding to get B 2 5. Inputs in X C are shared, which leads to non-disjoint decomposition B1B1B1B1 v1v1v1v1 B2B2B2B2 B1B1B1B1 XcXcXcXc XBXBXBXB

Nov. 13, 2002ICCAD 2002 NSC Simulation Like normal simulation except that each PO is handled separately. Like normal simulation except that each PO is handled separately. Take one PO, j, and look at the transitive fanin cone. Take one PO, j, and look at the transitive fanin cone. Compute ( X, z j ) pairs using NS. Compute ( X, z j ) pairs using NS. Repeat for all PO Repeat for all PO The NSC-behavior is the set of all PI/PO vectors that can be obtained this way. is expressed as

Nov. 13, 2002ICCAD 2002 NSC Simulation fanins {0,2}2 PO 1 PO = = 1 PI/PO relation contains / / / / 4 3 It is the cross product of all PO sets PO 1 PO 2

Nov. 13, 2002ICCAD 2002 SS is not “Scattered” Simulation Scattered simulation Scattered simulation –for each fanout one value is selected from the acceptable set. –each fanout may have different values Example: Example: {0,1} = 0

Nov. 13, 2002ICCAD 2002 Goal of this paper Develop a theory of ND networks where –a network can be manipulated using classical operations, {eliminate, optimize, decompose, …} {eliminate, optimize, decompose, …} –all the intermediate networks conform to the external specification. we need to understand when a particular network operation may increase a particular type behavior we need to understand when a particular network operation may increase a particular type behavior this might cause the network to not conform this might cause the network to not conform

Nov. 13, 2002ICCAD 2002 Network Manipulations Eliminate a node Eliminate a node Optimize a node Optimize a node Decompose a node Decompose a node Substitute one node into another Substitute one node into another Partially Encode a node Partially Encode a node Merge nodes Merge nodes

Nov. 13, 2002ICCAD 2002 Eliminating a node into a fanout If i has been eliminated in all of its fanouts, it can be removed from the network i is eliminated into k i k YkYk YiYi yiyi ykyk k YiYi ykyk i yiyi

Nov. 13, 2002ICCAD 2002 Elimination can increase behavior Theorem 10: Eliminating a node can increase the NS or NSC behaviors of a network only if the node is ND and has more than one fanout. Increased behavior because there are now two copies in the network

Nov. 13, 2002ICCAD 2002 Elimination and NSC Behavior Theorem 11: Eliminating a node can increase a network’s NSC behavior if and only if the node is ND and has reconvergent fanout. ND node 4

Nov. 13, 2002ICCAD 2002 Elimination and SS behavior Corollary 2: Eliminating a node A can decrease the SS behavior of a network only if A has an ND node B in its TFI and A has an ND node B in its TFI and a fanin C of A in the TFO of B is also a fanin of a fanout of A a fanin C of A in the TFO of B is also a fanin of a fanout of A Corollary 1: Corollary 1: Eliminating a node can never increase the SS behavior of a network. B A C

Nov. 13, 2002ICCAD 2002 Comparing Changes in Behaviors OperationNSC-behaviorSS-behavior eliminationnon-compliancecompliance node minimization compliancenon-compliance decompositioncompliancenon-compliance merging can’t change can’t increase Table 1. Comparing two computationally viable theories node flexibility moreless

Nov. 13, 2002ICCAD 2002 Goals of the Future Work Develop efficient Boolean optimization algorithms working on ND networksDevelop efficient Boolean optimization algorithms working on ND networks Explore common computational core of these algorithmsExplore common computational core of these algorithms node simplify decomposition merging bit pairing encoding resubstitution mapping elimination core