Download Combinatorial Problems in Logic Synthesis: Covering, Coloring, and Cliques and more Slides Computer Science in PDF only on Docsity! Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition Docsity.com 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 Docsity.com 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 Docsity.com 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 Docsity.com Short Introduction: multiple-valued logic I i l i l l l i {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 valueM I N M A X 21 Maximal value 1 2 1 2 3 23 23 Docsity.com 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 Docsity.com Decomposition of Multi-Valued Relationsi i l i l l i 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 R el at io n R e l a t io n Docsity.com Applications of Functional Decompositionli i i l i i Multi-level FPGA synthesis VLSI design Machine learning and data mining Finite state machine design Docsity.com Example of DFC calculation B1 B2 B3 Cost(B3) =22*1=4 Cost(B1) =24*1=16 Cost(B2) =23*2=16 Total DFC = 16 + 16 + 4 = 36 Docsity.com 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. Docsity.com 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. Docsity.com