Example of application: Decomposition

Slides:



Advertisements
Similar presentations
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
Advertisements

FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
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.
1 State Assignment Using Partition Pairs 2  This method allows for finding high quality solutions but is slow and complicated  Only computer approach.
ECE 667 Synthesis and Verification of Digital Systems
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
Finite State Machine Minimization Advanced Methods based on triangular table and binate covering.
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 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 –
ECE 667 Synthesis and Verification of Digital Systems
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.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
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.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
Practical Considerations When t , the supp, then there will be a value of t when supp folds, it becomes multi-w-to-one-x mapping.
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Introduction and Preliminaries D Nagesh Kumar, IISc Water Resources Planning and Management: M4L1 Dynamic Programming and Applications.
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
Register Transfer Specification And Design
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
Homework number One You have two weeks to complete this homework
Hard Problems Introduction to NP
This kind of tables known from Rough Sets, Decision Trees, etc Data Mining
Overview Part 1 – Design Procedure Beginning Hierarchical Design
Spatial Forest Planning with Integer Programming
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
Portland State University
Reconfigurable Computing
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
Fast Computation of Symmetries in Boolean Functions Alan Mishchenko
Synthesis and Verification of Finite State Machines
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Optimization Algorithm
CSE 370 – Winter Combinational Implementation - 1
Chapter 3 – Combinational Logic Design
Mapping into LUT Structures
ECE 667 Synthesis and Verification of Digital Systems
ECB2212-Digital Electronics
Synthesis and Verification of Finite State Machines
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Unit 6 part B.
Technology Mapping I based on tree covering
design entry (schematic capture, VHDL, truth table and etc.)
The Theory of NP-Completeness
Parallel Decomposition
Fast Min-Register Retiming Through Binary Max-Flow
Presentation transcript:

Example of application: Decomposition 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 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 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 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 Signals can have values from some set, for instance {0,1,2}, or {0,1,2,3} {0,1} - binary logic (a special case) {0,1,2} - a ternary logic {0,1,2,3} - a quaternary logic, etc 1 MIN MAX Minimal value 1 2 21 2 23 Maximal value 3 23

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

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

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

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

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 Hi and Gi, until smaller functions Gt and Ht 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 * 2n.

Example of DFC calculation B1 B2 B3 Cost(B1) =24*1=16 Cost(B2) =23*2=16 Cost(B3) =22*1=4 Total DFC = 16 + 16 + 4 = 36

Decomposition Algorithm Find a set of partitions (Ai, Bi) of input variables (X) into free variables (A) and bound variables (B) For each partitioning, find decomposition F(X) = Hi(Gi(Bi), Ai) 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

Problems and Questions Discuss four combinatorial problems Set Covering (Unate Covering) Covering/Closure (Binate Covering) Graph Coloring Maximum Clique Ashenhurst Decomposition principles Curtis Decomposition principles. Relations and decomposition of relations DFC, how to calculate it for binary functions.