1 / 19

190 likes | 449 Views

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

Download Presentation
## Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

**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**• Ashenhurstcreated 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**MIN**MAX 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 Minimal value 1 2 21 23 Maximal value 2 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**X**A - free set Two-Level Ashenhurst Decomposition F(X) = H( G(B), A ), X = A B B - bound set Single Wire if A B = , it is disjoint decomposition if A B , it is non-disjoint decomposition**X**A - free set Two-Level Curtis Decomposition F(X) = H( G(B), A ), X = A B B - bound set One or Two Wires Function if A B = , it is disjoint decomposition if A B , it is non-disjoint decomposition**X**Relation Relation Decomposition of Multi-Valued Relations F(X) = H( G(B), A ), X = A B 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 createthe candidates for the next level that will be as well decomposable as possible.**Cost Function**Decomposed Function Cardinalityis the total cost of all blocks,where the cost of a binary block withn inputs and m outputs is m * 2n.**B2**B1 B3 Cost(B2) =23*2=16 Cost(B3) =22*1=4 Cost(B1) =24*1=16 Example of DFC calculation 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 decompositionF(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

More Related