Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.

Slides:



Advertisements
Similar presentations
1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann.
Advertisements

FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Quine-McCluskey (Tabular) Minimization  Two step process utilizing tabular listings to:  Identify prime implicants (implicant tables)  Identify minimal.
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.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
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.
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.
Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University.
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.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.

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.
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.
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.
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.
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.
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.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
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.
Technical Seminar II Implementation of
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Lecture 3: Incompletely Specified Functions and K Maps
Finite state machine optimization
Finite state machine optimization
Sequential Flexibility
Interpolating Functions from Large Boolean Relations
Delay Optimization using SOP Balancing
Reconfigurable Computing
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
Topics Logic synthesis. Placement and routing..
Sungho Kang Yonsei University
COE 202: Digital Logic Design Combinational Logic Part 3
Synthesis and Verification of Finite State Machines
Minimization of Switching Functions
Overview Part 2 – Circuit Optimization
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:

Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley

Sept. 19, 2002Workshop on Boolean Problems Overview What is an ND network What is an ND network Motivation Motivation Basic definitions Basic definitions Defining and comparing ND behaviors Defining and comparing ND behaviors ND network operations and how they change behaviors ND network operations and how they change behaviors Experimental observations Experimental observations Conclusions and future work Conclusions and future work

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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 5. Can be used to compile software to evaluate logic

Sept. 19, 2002Workshop on Boolean Problems Definition: 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems Example: 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

Sept. 19, 2002Workshop on Boolean Problems ND Network Behavior Given an ND network, what is its behavior, i.e. what is the set of all PI/PO pairs that are related? 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.

Sept. 19, 2002Workshop on Boolean Problems ND Network Behaviors (PI/PO Pairs) Normal Simulation (NS) Normal Simulation (NS) Normal Simulation made Compatible (NSC) Normal Simulation made Compatible (NSC) Set Simulation (SS) Set Simulation (SS) Note: all these become the same when the network is deterministic. Det NS NSC SS ND

Sept. 19, 2002Workshop on Boolean Problems 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 the fanouts One of these is chosen randomly and broadcast to the fanouts The NS-behavior is the set of all PI/PO vectors that can be obtained this way. is in general a MV Boolean relation

Sept. 19, 2002Workshop on Boolean Problems Normal Simulation faninsfanouts node with a non-deterministic relation {0,2}2

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems Comparisons is a general MV Boolean relation is a general MV Boolean relation –relatively hard to compute and store and can be computed for each output and They are symmetric Boolean relations. and can be computed for each output and They are symmetric Boolean relations. can be obtained by elimination in reverse topological order can be obtained by elimination in reverse topological order can be obtained by elimination in topological order can be obtained by elimination in topological order

Sept. 19, 2002Workshop on Boolean Problems 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. R NS can be obtained by eliminating all internal nodes and existentially quantifying all parameters.

Sept. 19, 2002Workshop on Boolean Problems 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: conformity Requirement: conformity

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems Minimizing a Node – Computing the Flexibility at a Node Definition. A flexibility at node  is a relation R f  such that placing at  any well-defined deterministic relation contained in R f  leads to a network that conforms to the external specification. Definition. The complete flexibility (CF) is the maximum flexibility at a node.

Sept. 19, 2002Workshop on Boolean Problems Computing the Global CF

Sept. 19, 2002Workshop on Boolean Problems Imaging into the Local Space YiYi

Sept. 19, 2002Workshop on Boolean Problems Properties of Flexibilities If a network conforms, then any well-defined deterministic function contained in is acceptable at node j, for If a network conforms, then any well-defined deterministic function contained in is acceptable at node j, for 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 But for SS, it is possible that an ND relation contained in can cause the network to not conform

Sept. 19, 2002Workshop on Boolean Problems 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 The amount of flexibility is equal to 0% for completely specified functions and 100% for relations that take all values in any minterm.

Sept. 19, 2002Workshop on Boolean Problems Amount of Flexibility (SDC, CODC, CF)

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems Finding minimum deterministic SOP representation It is never smaller than the smallest ND representation It is never smaller than the smallest ND representation There is no known algorithm for finding it. There is no known algorithm for finding it. In contrast, there is a method for finding the smallest ND representation In contrast, there is a method for finding the smallest ND representation

Sept. 19, 2002Workshop on Boolean Problems P0P0 P1P1 P2P2 P3P3 all minterms Quine-McCluskey type exact ND SOP relation minimization Given an ND relation, e.g. the complete flexibility, its i -set is the set of input minterms that can produce output value i. 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.

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems 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. The SS behavior has been used throughout. –it is the easiest to use computationally –global behavior can be expressed locally at each node as a BDD of the PI In the future we will experiment with using NSC behavior In the future we will experiment with using NSC behavior

Sept. 19, 2002Workshop on Boolean Problems 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.

Sept. 19, 2002Workshop on Boolean Problems 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

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

Sept. 19, 2002Workshop on Boolean Problems The End

Sept. 19, 2002Workshop on Boolean Problems 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

Sept. 19, 2002Workshop on Boolean Problems Merging Inverse of partial encoding merge v 1 and v 2

Sept. 19, 2002Workshop on Boolean Problems 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