Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.

Slides:



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

Glitches & Hazards.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
ECE 3110: Introduction to Digital Systems
Based on slides by: Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 8 – Systematic Simplification.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
بهينه سازي با روش Quine-McCluskey
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.
CS 140 Lecture 2 Combinational Logic CK Cheng 4/04/02.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
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.
Chapter 3 Simplification of Switching Functions
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.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
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.
Digital Logic Design Lecture # 7 University of Tehran.
2-Level Minimization Classic Problem in Switching Theory
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Department of Computer Engineering
The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows.
Minimization of P-Circuits using Boolean Relations Anna Bernasconi University of Pisa Valentina Ciriani and Gabriella Trucco University of Milano Tiziano.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
Optimization Algorithm
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
Combinational Logic Part 2: Karnaugh maps (quick).
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.
Computer Engineering (Logic Circuits) (Karnaugh Map)
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.
ECE 3110: Introduction to Digital Systems Chapter #4 Review.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Copied with Permission from prof. Mark PSU ECE
Prof. Hsien-Hsin Sean Lee
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
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.
CHAPTER 6 Quine-McCluskey Method
CSC205 Jeffrey N. Denenberg Lecture #5
Sequential Flexibility
ECE 2110: Introduction to Digital Systems
ECE 3110: Introduction to Digital Systems
Interpolating Functions from Large Boolean Relations
Delay Optimization using SOP Balancing
Optimized Implementation of Logic Function
A Boolean Paradigm in Multi-Valued Logic Synthesis
Optimized Implementation of Logic Function
Optimization Algorithm
Introduction to Digital Systems
Optimized Implementation of Logic Function
Synthesis and Verification of Finite State Machines
Minimization of Switching Functions
Overview Part 2 – Circuit Optimization
Delay Optimization using SOP Balancing
Fast Min-Register Retiming Through Binary Max-Flow
Lecture 3: Incompletely Specified Functions and K Maps
Presentation transcript:

Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications – software, asynchronous, … Non-Determinism: Is useful for compact representations A minimum SOP ND-relation is often much smaller than a minimum deterministic one A minimum SOP ND-relation is often much smaller than a minimum deterministic one Don’t cares are a limited form of non-determinism. when considering multi-valued logic, they generalize to non-determinism when considering multi-valued logic, they generalize to non-determinism ND arises naturally when considering the flexibility of implementing a node in an MV network

Definition: ND Multi-Valued Network Directed Acyclic Graph Directed Acyclic Graph Primary inputs (PI) X and outputs (PO) Z Primary inputs (PI) X and outputs (PO) Z External specification provides allowed input and output combinations External specification provides allowed input and output combinations j X PIs - X Z POs - Z yjyj

Definition: ND Multi-Valued Network Each node has a single output represented by an MV variable y j with range {0, 1,…, |P j |-1} Each node has a single output represented by an MV variable y j with range {0, 1,…, |P j |-1} Each internal node is represented by an MV non-deterministic relation, R Each internal node is represented by an MV non-deterministic relation, R –single MV output Edge exists from node j to node k if relation R at node k depends syntactically on the variable y j at the output of j Edge exists from node j to node k if relation R at node k depends syntactically on the variable y j at the output of j MV ND X PIs - X Z POs - Z ynyn R

Example: Ternary Relations R 1 is completely specified (well-defined and deterministic) R 2 is incompletely specified (well-defined with don’t cares) 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 2 3 3

ND Network Behavior Given an ND network, what is its behavior? Given an ND network, what is its behavior? –behavior is the set of all PI/PO vector pairs that are related? i.e. is in general a multi-output MV relation R(X,Z ). i.e. is in general a multi-output MV relation R(X,Z ). –for a deterministic, well-defined network, there is exactly one PO vector for each PI vector

ND Network Behaviors (PI/PO Pairs) Normal Simulation (NS) Normal Simulation (NS) –most realistic one Normal Simulation made Compatible (NSC) Normal Simulation made Compatible (NSC) –one output at a time Set Simulation (SS) Set Simulation (SS) –like X-valued (or “3-valued”) simulation

0 0 0 Normal Simulation (NS) fanins POs node with a non-deterministic relation {0,2}2 PI/PO relation contains / PI/PO relation contains / / 0 1 2

Normal Simulation made compatible (NSC) fanins {0,2}2 PO 1 PO = = 1 PI/PO relation contains / / / / 4 3 It is the cross product of all PO sets. Thus the MV relation for the network is output-symmetric PO 1 PO 2 0 1

Set Simulation (SS) 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. Thus the MV relation for the network is output- symmetric

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 and can be computed for each output and 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

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

Network Manipulations Eliminate a node Eliminate a node Optimize a node Optimize a node Decompose/extract a node Decompose/extract a node Analyzed for SS and NSC

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 k YiYi ykyk i yiyi i k YkYk YiYi yiyi ykyk

Elimination SS: Eliminating a node can never increase the SS behavior of a network. NSC: Eliminating a node can increase a network’s NSC behavior if and only if the node is ND and ND and has reconvergent fanout. has reconvergent fanout. ND node

Decomposition/Extraction NSC: The NSC-behavior of a network can’t increase due to an decomposition/extraction SS: The SS-behavior of a network is can increase only if the non-disjoint variables of the decomposition have an ND node in their TFIs. Decompose B B A B’ A C

Minimizing a Node – Computing the Flexibility at a Node Definition. A flexibility is a node relation such that any well-defined sub-relation used at the node leads to a network that conforms to the external specification. Definition. The complete flexibility (CF) is the maximum flexibility possible at a node.

Computing the Global CF for a Behavior of type B There is a slight modification of this for SS-behavior

Computing CF - Imaging into the Local Space YiYi

Properties of CFs Theorem: If a network conforms, then any well-defined relation contained in is acceptable at node j, for Note: the sub-relation can be non-deterministic.

Example mvsis 115> mfs -k m1 Original MV Relation of Node | | | | | | | | | | | | | | | | | | | | | | | | Derived CF Relation of Node | | | | | | | | | | | | | | | | | | | | | | | | Definition: An i-set is the set of minterms which can produce value i

Node Simplification Problem: find the smallest well-defined SOP representation contained in CF –Size is measured by the total number of cubes in all i- set SOPs Exact Algorithms: Deterministic – There is no known algorithm for this case. Non-deterministic – A Quine-McCluskey type method exists

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 one covering table with Form one 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.

Comparing Changes in Behaviors OperationNSC-behaviorSS-behavior elimination Can increase Can’t increase node minimization Can’t increase decomposition Can increase node flexibility moreless Nothing’s perfect

Experimental Setup These ideas have been implemented in a system, MVSIS 2.0 (source code released May 31, 2003.) These ideas have been implemented in a system, MVSIS 2.0 (source code released May 31, 2003.) The SS behavior has been used primarily throughout. The SS behavior has been used primarily throughout. –SS is the computationally efficient Some experiments with using NSC behavior Some experiments with using NSC behavior

Experimental Observations SS Behavior Conformity was rarely lost but it did happen. Conformity was rarely lost but it did happen. –This is because we have not modified decomposition yet. Conformity can be regained by minimizing nodes using CFs. Conformity can be regained by minimizing nodes using CFs. –Theorem: If the CF at a node is well defined, then using any well-defined sub-relation contained in CF, brings the network back to conformity for the outputs in the node’s TFO.

Status and Future Work Status: Initial implementation of MVSIS 2.0Initial implementation of MVSIS 2.0 Source release May 31, 2003Source release May 31, x faster than SIS3-5x faster than SIS Experiments with using NSC behaviorExperiments with using NSC behavior Provides only about 1% more flexibility than SS,Provides only about 1% more flexibility than SS, Is computationally much more complexIs computationally much more complexFuture: Develop efficient Boolean optimization algorithms and explore their common computational coreDevelop efficient Boolean optimization algorithms and explore their common computational core Add sequential synthesisAdd sequential synthesis Add technology mappingAdd technology mapping