Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.

Slides:



Advertisements
Similar presentations
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Advertisements

Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
B IPARTITE I NDEX C ODING Arash Saber Tehrani Alexandros G. Dimakis Michael J. Neely Department of Electrical Engineering University of Southern California.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Designing Oracles for Grover Algorithm
Efficient Decomposition of Large Fuzzy Functions and Relations Marek Perkowski + Portland State University, Dept. Electrical Engineering, Portland, Oregon.
Logic Synthesis Part II
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Finite State Machine Minimization Advanced Methods based on triangular table and binate covering.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
ENEE 6441 On Quine-McCluskey Method > Goal: find a minimum SOP form > Why We Need to Find all PIs? f(w,x,y,z) = x’y’ +wxy+x’yz’+wy’z = x’y’+x’z’+wxy+wy’z.
Ternary Deutsch’s, Deutsch-Jozsa and Affine functions Problems All those problems are not published yet.
Graph Coloring Algorithms for Fast Evaluation of Curtis Decomposition Marek Perkowski, Rahul Malvi, Stan Grygiel, Mike Burns, and Alan Mishchenko Portland.
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Bernd Steinbach.
DUAL Functional Synthesis and Verification of Finite State Machines Alan Mishchenko, PSU Anatoly Chebotarev, GIC Marek Perkowski, PSU.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
2002/10/08 SeonPil Kim Layout-Driven Synthesis For Submicron Technology : Mapping Expansions To Regular Lattices High Level Synthesis Homework #2.
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
Chapter 11: Limitations of Algorithmic Power
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
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
Intro to Logic Synthesis 1 Introduction to Logic Synthesis Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
Grover’s Algorithm in Machine Learning and Optimization Applications
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
Hardness Results for Problems
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Efficient Decomposition of Large Fuzzy Functions and Relations.
Cube Calculus.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Heuristic Two-level Logic Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes.
Graph Coloring. Introduction When a map is colored, two regions with a common border are customarily assigned different colors. We want to use a small.
1 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 Adaptation to this.
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.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
1 State Assignment The problem: Assign a unique code to each state to produce a minimal binary logic level implementation. Given: 1.|S| states, 2.at least.
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Understanding the basics of the decomposition methods, discussed in the earlier lectures, leads to devising a general and complete decomposition method.
Finite state machine optimization
Finite state machine optimization
Asynchronous Interface Specification, Analysis and Synthesis
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
This kind of tables known from Rough Sets, Decision Trees, etc Data Mining
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
Portland State University
Example of application: Decomposition
A Boolean Paradigm in Multi-Valued Logic Synthesis
ECE 667 Synthesis and Verification of Digital Systems
PROBLEM 1 Training Examples: Class 1 Training Examples: Class 2
Chapter 3 – Combinational Logic Design
Mapping into LUT Structures
Synthesis and Verification of Finite State Machines
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Unit 6 part B.
design entry (schematic capture, VHDL, truth table and etc.)
Presentation transcript:

Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition

What will be discussed In many logic synthesis, formal verification or testing problems we can reduce the problem to some well-known and researched problem These problems are called combinational problems or discrete optimization problems In our area of interest the most often used are the following: ¨ Set Covering (Unate Covering) ¨ Covering/Closure (Binate Covering) ¨ Graph Coloring ¨ Maximum Clique

Basic Combinational Problems There are many problems that can be reduced to Graph Coloring. They include  Two-Level (SOP) minimization  Three-Level minimization  Minimum test set  Boolean and Multiple-valued Decomposition

Basic Combinational Problems Unate Covering There are many problems that can be reduced to Unate Covering They include  Two-Level (SOP) minimization  Three-Level CDEC minimization (Conditional DECoder)  Minimum test set generation  Boolean and Multiple-valued Decomposition  Physical and technology mapping

Basic Combinational Problems Binate Covering There are many problems that can be reduced to Binate Covering They include  Three-Level TANT minimization (Three Level AND NOT Networks with True Inputs)  FSM state minimization (Finite State Machine)  Technology mapping Binate Covering is basically the same as Satisfiability that has hundreds of applications

Ashenhurst/Curtis Decomposition Ashenhurst Ashenhurst created a method to decompose a single-output Boolean function to sub-functions Curtis generalized this method to decompositions with more than one wire between the subfunctions. Miller and Muzio generalized to Multi- Valued Logic functions Perkowski et al generalized to Relations

Short Introduction: multiple-valued logic {0,1} - binary logic (a special case) {0,1,2} - a ternary logic {0,1,2,3} - a quaternary logic, etc Signals can have values from some set, for instance {0,1,2}, or {0,1,2,3} Minimal value MINMIN MAXMAX 21 Maximal value

Multiple-valued logic relations CD AB or 1 1 or 2 0,1,or or 3 0,1,or ,1,or or 2 0,1,or2 3 Example of a relation with 4 binary inputs and one 4-valued (quaternary) output variable

Two-Level Ashenhurst Decomposition if A  B = , it is disjoint decomposition if A  B  , it is non-disjoint decomposition X B - bound set A - free set F(X) = H( G(B), A ), X = A  B Single Wire

Two-Level Curtis Decomposition if A  B = , it is disjoint decomposition if A  B  , it is non-disjoint decomposition X B - bound set A - free set F(X) = H( G(B), A ), X = A  B One or Two Wires Function

Decomposition of Multi-Valued Relations if A  B = , it is disjoint decomposition if A  B  , it is non-disjoint decomposition X F(X) = H( G(B), A ), X = A  B Multi-Valued Relation

Applications of Functional Decomposition Multi-level FPGA synthesis VLSI design Machine learning and data mining Finite state machine design

Multi-Level Curtis Decomposition Two-level decomposition is recursively applied to few functions H i and G i, until smaller functions G t and H t are created, that are not further decomposable. Thus Curtis decomposition is multi-level, and each two-level stage should create the candidates for the next level that will be as well decomposable as possible.

Cost Function Decomposed Function Cardinality is the total cost of all blocks, where the cost of a binary block with n inputs and m outputs is m * 2 n.

Example of DFC calculation B1 B2 B3 Cost(B3) =2 2 *1=4 Cost(B1) =2 4 *1=16 Cost(B2) =2 3 *2=16 Total DFC = = 36

Decomposition Algorithm Find a set of partitions (A i, B i ) of input variables (X) into free variables (A) and bound variables (B) For each partitioning, find decomposition F(X) = H i (G i (B i ), A i ) such that column multiplicity is minimal, and calculate DFC Repeat the process for all partitioning until the decomposition with minimum DFC is found.

Algorithm Requirements Since the process is iterative, it is of high importance that minimizing of the column multiplicity index was done as fast as possible. At the same time it is important that the value of column multiplicity was close to the absolute minimum value for a given partitioning.

What did we learn? Decomposition of Boolean or multi-valued functions and relations can be converted to combinatorial problems that we know. Ashenhurst decomposition has been extended by Curtis The research is going on to further generalize concepts of Ashenhurst/Curtis decomposition to incompletely specified multi-valued functions, relations, fuzzy logic, reversible logic and other Our group has done much research in this area and we continue our research Next lecture will show some of possible reductions and method of solving combinational problems

Sources Perkowski et al, DAC’99 paper, slides by Alan Mishchenko