**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