Bi-decomposition of large Boolean functions using blocking edge graphs

Similar documents
Lecture 11 Binary Decision Diagrams (BDDs)

Engr354: Digital Logic Circuits

CS 491G Combinatorial Optimization Lecture Notes

Technology Mapping Method for Low Power Consumption and High Performance in General-Synchronous Framework

Necessary and sucient conditions for some two. Abstract. Further we show that the necessary conditions for the existence of an OD(44 s 1 s 2 )

Counting Paths Between Vertices. Isomorphism of Graphs. Isomorphism of Graphs. Isomorphism of Graphs. Isomorphism of Graphs. Isomorphism of Graphs

Computing all-terminal reliability of stochastic networks with Binary Decision Diagrams

Solutions for HW9. Bipartite: put the red vertices in V 1 and the black in V 2. Not bipartite!

Unit 4. Combinational Circuits

CIT 596 Theory of Computation 1. Graphs and Digraphs

Mid-Term Examination - Spring 2014 Mathematical Programming with Applications to Economics Total Score: 45; Time: 3 hours

Metodologie di progetto HW Technology Mapping. Last update: 19/03/09

Implication Graphs and Logic Testing

Logic Synthesis and Verification

Logic, Set Theory and Computability [M. Coppenbarger]

Lecture 6: Coding theory

22: Union Find. CS 473u - Algorithms - Spring April 14, We want to maintain a collection of sets, under the operations of:

CS 2204 DIGITAL LOGIC & STATE MACHINE DESIGN SPRING 2014

Logic Synthesis and Verification

I 3 2 = I I 4 = 2A

Section 2.3. Matrix Inverses

Lecture Notes No. 10

CARLETON UNIVERSITY. 1.0 Problems and Most Solutions, Sect B, 2005

The DOACROSS statement

Laboratory for Foundations of Computer Science. An Unfolding Approach. University of Edinburgh. Model Checking. Javier Esparza

Discrete Structures Lecture 11

On a Class of Planar Graphs with Straight-Line Grid Drawings on Linear Area

Algebra 2 Semester 1 Practice Final

2.4 Theoretical Foundations

arxiv: v2 [math.co] 31 Oct 2016

where the box contains a finite number of gates from the given collection. Examples of gates that are commonly used are the following: a b

1 PYTHAGORAS THEOREM 1. Given a right angled triangle, the square of the hypotenuse is equal to the sum of the squares of the other two sides.

Exam Review. John Knight Electronics Department, Carleton University March 2, 2009 ELEC 2607 A MIDTERM

Propositional models. Historical models of computation. Application: binary addition. Boolean functions. Implementation using switches.

On the Spectra of Bipartite Directed Subgraphs of K 4

Numbers and indices. 1.1 Fractions. GCSE C Example 1. Handy hint. Key point

CSC2542 State-Space Planning

Minimal DFA. minimal DFA for L starting from any other

Data Structures LECTURE 10. Huffman coding. Example. Coding: problem definition

Chapter 4 State-Space Planning

Subsequence Automata with Default Transitions

Common intervals of genomes. Mathieu Raffinot CNRS LIAFA

Algorithm Design and Analysis

CS311 Computational Structures Regular Languages and Regular Grammars. Lecture 6

Factorising FACTORISING.

Solutions to Problem Set #1

COMPUTING THE QUARTET DISTANCE BETWEEN EVOLUTIONARY TREES OF BOUNDED DEGREE

Particle Physics. Michaelmas Term 2011 Prof Mark Thomson. Handout 3 : Interaction by Particle Exchange and QED. Recap

A Lower Bound for the Length of a Partial Transversal in a Latin Square, Revised Version

Compression of Palindromes and Regularity.

EE 108A Lecture 2 (c) W. J. Dally and P. Levis 2

Project 6: Minigoals Towards Simplifying and Rewriting Expressions

System Validation (IN4387) November 2, 2012, 14:00-17:00

A Primer on Continuous-time Economic Dynamics

Solving the Class Diagram Restructuring Transformation Case with FunnyQT

Technische Universität München Winter term 2009/10 I7 Prof. J. Esparza / J. Křetínský / M. Luttenberger 11. Februar Solution

18.06 Problem Set 4 Due Wednesday, Oct. 11, 2006 at 4:00 p.m. in 2-106

CS 573 Automata Theory and Formal Languages

Graph Algorithms. Vertex set = { a,b,c,d } Edge set = { {a,c}, {b,c}, {c,d}, {b,d}} Figure 1: An example for a simple graph

COMPUTING THE QUARTET DISTANCE BETWEEN EVOLUTIONARY TREES OF BOUNDED DEGREE

y1 y2 DEMUX a b x1 x2 x3 x4 NETWORK s1 s2 z1 z2

1. Logic verification

Section 1.3 Triangles

Robust Timing-Aware Test Generation Using Pseudo-Boolean Optimization

Monochromatic Plane Matchings in Bicolored Point Set

Identifying and Classifying 2-D Shapes

CS 360 Exam 2 Fall 2014 Name

Maximum size of a minimum watching system and the graphs achieving the bound

Hardware Verification 2IMF20

Instructions. An 8.5 x 11 Cheat Sheet may also be used as an aid for this test. MUST be original handwriting.

Lesson 2: The Pythagorean Theorem and Similar Triangles. A Brief Review of the Pythagorean Theorem.

A Disambiguation Algorithm for Finite Automata and Functional Transducers

m2 m3 m1 (a) (b) (c) n2 n3

Statistics in medicine

Metaheuristics for the Asymmetric Hamiltonian Path Problem

Slope Lengths for 2-Bridge Parent Manifolds. Martin D. Bobb

for all x in [a,b], then the area of the region bounded by the graphs of f and g and the vertical lines x = a and x = b is b [ ( ) ( )] A= f x g x dx

, g. Exercise 1. Generator polynomials of a convolutional code, given in binary form, are g. Solution 1.

Eigenvectors and Eigenvalues

Now we must transform the original model so we can use the new parameters. = S max. Recruits

Coding Techniques. Manjunatha. P. Professor Dept. of ECE. June 28, J.N.N. College of Engineering, Shimoga.

The Stirling Engine: The Heat Engine

Comparing the Pre-image and Image of a Dilation

Section 2.1 Special Right Triangles

Convert the NFA into DFA

Momentum and Energy Review

A Study on the Properties of Rational Triangles

Electronic Circuits I Revision after midterm

Welcome. Balanced search trees. Balanced Search Trees. Inge Li Gørtz

ANALYSIS AND MODELLING OF RAINFALL EVENTS

Algorithm Design and Analysis

Lecture 6. CMOS Static & Dynamic Logic Gates. Static CMOS Circuit. PMOS Transistors in Series/Parallel Connection

6. Suppose lim = constant> 0. Which of the following does not hold?

Generalized Kronecker Product and Its Application

SOME INTEGRAL INEQUALITIES FOR HARMONICALLY CONVEX STOCHASTIC PROCESSES ON THE CO-ORDINATES

6.5 Improper integrals

Iowa Training Systems Trial Snus Hill Winery Madrid, IA

Efficient Parameterized Algorithms for Data Packing

Exercise 3 Logic Control

Anti-Monotonic Overlap-Graph Support Measures

Transcription:

Bi-eomposition of lrge Boolen funtions using loking ege grphs Mihir Chouhury n Krtik Mohnrm Deprtment of Eletril n Computer Engineering, Rie University, Houston {mihir,kmrm}@rie.eu Astrt Bi-eomposition tehniques hve een known to signifintly reue re, ely, n power uring logi synthesis sine they n explore multi-level n, or,n xor eompositions in slle tehnology-inepenent mnner. The omplexity of i-eomposition tehniques is in hieving goo vrile prtition for the given logi funtion. Stte-of-the-rt tehniques use heuristis n/or rute-fore enumertion for vrile prtitioning, whih results in su-optiml results n/or poor slility with funtion omplexity. This pper esries fst, slle lgorithm for otining provly optimum vrile prtitions for i-eomposition of Boolen funtions y onstruting n unirete grph lle the loking ege grph (BEG). To the est of our knowlege, this is the first lgorithm tht emonstrtes systemti pproh to erive isjoint n overlpping vrile prtitions for i-eomposition. Sine BEG hs only one vertex per input, our tehnique sles to Boolen funtions with hunres of inputs. Results inite tht on verge, BEG-se i-eomposition reues the numer of logi levels (mppe ely) of 16 enhmrk iruits y 60%, 34%, 45%, n 30% (20%, 19%, 16% n 20%) over the est results of stte-ofthe-rt tools FBDD, SIS, ABC, n n inustry-stnr synthesizer, respetively. 1. Introution Deomposition of Boolen funtions is well-reserhe re with work tht n e tre k to the 1950s. Deomposition is n importnt step uring logi synthesis euse it n signifintly reue the re, ely, n power of the finl esign [1, 2]. As esigns inrese in size n omplexity, logi synthesis lgorithms fvore eomposition tehniques se on lol trnsformtions to ensure slility to lrge iruits. Although tehniques se on lol trnsformtions re fst, they explore only smll spe of lterntives n re lso onstrine y the struture of the initil netlist. In ontrst, funtionl eomposition tehniques re lss of eomposition tehniques tht reursively eompose nonil representtion of the given funtion into smller su-funtions. Sine they mnipulte iruits t the funtionl level n o not epen on the strting netlist, they n explore lrger spe of options n hve een shown to signifintly reue the re, ely, n power of logi iruits. Bi-eomposition, form of funtionl eomposition wherein funtion is reursively eompose into two smller funtions, is n effetive eomposition tehnique sine it n e use to explore multi-level n, or, n xor eompositions. Bi-eomposition tehniques rely on the ility to split the given logi funtion into two funtions tht epen on fewer input vriles. Sine the vrile prtition n signifintly impt the qulity of the eomposition, etermining goo vrile prtition is not only the most This reserh ws supporte in prt y NSF grnt CCF-0916636 n in prt y gift from Fujitsu Lortories of Ameri. importnt, ut lso the most omputtionlly intensive step uring i-eomposition. Although tehniques for otining vrile prtition using the struturl properties of inry eision igrm (BDD) whih is nonil representtion for the given logi funtion hve een propose [3, 4], they re memory intensive n very sensitive to the vrile orer of the BDD use to extrt the vrile prtition. Other i-eomposition lgorithms suh s [5] otin vrile prtition using heuristis n/or rutefore enumertion of vrile prtitions, whih ompromises solution qulity n/or offers poor slility. Although the use of SAT solver ouple with interpoltion tehniques [6] hs een propose to reue the runtimes for vrile prtitioning, there is no ontrol over the qulity of the vrile prtition otine using suh pprohes. This pper esries fst, slle lgorithm for otining provly optimum vrile prtitions for i-eomposition of Boolen funtions y onstruting n unirete grph lle the loking ege grph (BEG). To the est of our knowlege, this is the first lgorithm tht emonstrtes systemti pproh to erive isjoint n overlpping vrile prtitions for the i-eomposition of logi funtion. Given logi funtion f with n inputs, we show tht simple pirwise vrile o-ftoring informtion n e use to erive neessry n suffiient onition for pir of vriles to our in the sme prtition of i-eomposition. Bse on this onition, BEG is onstrute to evlute potentil n, or,nxor i-eompositions of the logi funtion. We show tht funtion is i-eomposle iff the BEG for either n n, or, orxor i-eomposition is not omplete grph. For i-eomposle funtions, we show tht isjoint n overlpping vrile prtitions n e extrte y nlyzing the vertex uts of the BEG. We extrt vrile prtitions from BEGs to minimize two ommonly use metris tht hve een known to proue iruits with smll re, ely, n power footprint: (i) the totl numer of vriles in the prtitions n (ii) the size of the lrgest prtition. The vrile prtitions n e prove to e optiml with respet to oth these metris when they re otine from the minimum vertex uts of the BEG. Sine BEG hs only one vertex per input of the funtion, our vrile prtitioning tehnique is slle to funtions with severl hunre inputs. Further, the BEGs n lso e use to ientify funtions tht re not i-eomposle. In suh ses, we esrie eomposition tehnique se on relxing the originl funtion to mke it i-eomposle. Results inite tht on verge, BEG-se i-eomposition reues the numer of logi levels (mppe ely) of 16 enhmrk iruits y 60%, 34%, 45%, n 30% (20%, 19%, 16% n 20%) over the est results of stte-of-the-rt tools FBDD, SIS, ABC, n n inustrystnr synthesizer, respetively. This pper is orgnize s follows. Setion 2 esries vrile prtitioning se on BEGs. Setion 3 esries funtion ieomposition se on the vrile prtition ientifie using BEGs. Setion 4 presents results n Setion 5 is onlusion. 978-1-4244-8194- 1/10/$26.00 2010 IEEE 586

2. Bi-eomposition using loking ege grphs A funtion f of n vriles is lle i-eomposle if it n e eompose into two logi funtions, eh of whih epens on less thn n vriles. The two smller eompose funtions re omine using two-input logi funtion. All two-input funtions n e reue to n, or, n xor opertions upto omplementtion of inputs/output. Sine ny iruit with two-input gtes n e reue to iruit with n, or, nxor gtes y uling inverters own to the primry inputs, i-eomposition tehniques onsier only n, or, n xor i-eompositions of logi funtion. Sine n n or re ul opertions, we otin n n i-eomposition for f from n or i-eomposition of f y swpping the off-set n the on-set of f in this pper. Bi-eomposition tehniques otin smller eompose funtions y first otining vrile prtition of the vrile set, V, of the given funtion f. A vrile prtition onsists of two vrile sets V 1 n V 2, suh tht V 1 < V n V 2 < V. A vrile prtition is isjoint if V 1 V 2 = φ, otherwise the vrile prtition is overlpping. Vrile prtitions epen on the type of i-eomposition n, or,orxor tht we seek for the given logi funtion f. Hene, the most importnt n omputtionlly intensive step uring i-eomposition involves etermining the kin of eomposition n the vrile prtition for the given logi funtion. Our tehnique uses unirete grphs lle loking ege grphs (BEGs) to extrt vrile prtitions for n, or, nxor ieompositions of logi funtion. In this setion, we first esrie neessry n suffiient onition, referre to s the loking onition, for pir of vriles to e in the sme vrile prtition of n n, or, orxor i-eomposition of f. We then esrie the steps for onstruting seprte BEGs for n, or, nxor i-eompositions of logi funtion se on the loking onition. Finlly, we show how vrile prtitions for n, or, n xor i-eompositions n e extrte from the BEGs. 2.1 Bloking onition For pir of input vriles, {i, j}, given 0/1 ssignment of the vriles in V \{i, j}, the K-mp of f n e restrite to 2 2 overing the four ells i j, ij, ij, n ij. There re 2 n 2 2 2 s ssoite with the vrile pir {i, j}, one for eh 0/1 ssignment of vriles in V \{i, j}. We lssify the 2 2 s into 6 types se on the vlue of f in the four ells (see Fig. 1): (i) zero with ll four ells ssigne 0, (ii) n with three ells ssigne 0, (iii) literl with two jent ells ssigne to 0, (iv) xor with ny two non-jent ells ssigne to 0, (v) or with three ells ssigne to 1, n (vi) one with ll four ells ssigne to 1. Note tht lthough Fig. 1 shows only one 2 2 for eh type, there re 4 ifferent n s, 4 ifferent or s, 4 ifferent literl s, n 2 ifferent xor s for totl of 16 2 2 s. Given logi funtion, f, of n vriles n input vrile set, V ( V = n), vrile prtition, V 1 n V 2,off seprtes pir of vriles {i, j} if i V 1\V 2 n j V 2\V 1. Bse on the types of 2 2 s in f ssoite with pir of vriles {i, j}, we now esrie the loking onition for {i, j} in n n, or, n xor i-eomposition of f. For n n i-eomposition of f, no vrile prtition n seprte the vrile pir {i, j} iff there is t lest one or/xor 2 2 in f ssoite with {i, j}, i.e., or/xor 2 2 s lok the seprtion of i n j for n n i-eomposition of f. Similrly, n/xor 2 2 s lok the seprtion of i n j in n or i-eomposition n n/or 2 2 s lok the seprtion of i n j in n xor i-eomposition of f. The zero, one, n literl s re non-loking for n, or,nxor eompositions. The loking onition for n, or, nxor i-eompositions re summrize in Figure 1. The proof for the loking onition is omitte for revity. Bse on the loking onition, we will now esrie tehnique for extrting vrile prtitions y onstruting BEG for n, or, n xor i-eompositions. j 0 1 i 0 1 AND 0 0 0 1 Non-loking for AND Non-loking for XOR 0 0 0 0 Zero 0 1 Literl XOR 1 1 1 1 One OR 1 1 Non-loking for OR Figure 1: Non-loking s for n, or, nxor ieompositions 2.2 Construting BEGs A BEG hs one vertex for eh input vrile of f. Hene, we will use V to enote oth the input vrile set of f n the vertex set of its BEG. In the BEG of n n eomposition, n ege is inserte etween verties i n j if the loking onition for n n eomposition hols for the vrile pir {i, j}. Similrly, n ege is inserte in the BEG of n or (xor) eomposition if the loking onition for n or (xor) eomposition is stisfie for the vrile pir {i, j}. Thus, n ege {i, j} in BEG mens tht no vrile prtition n seprte vrile i n vrile j. For logi funtion f with n vriles, there re `n 2 2n 2 2 2 s, i.e., 2 n 2 2 2 s for eh of the `n 2 vrile pirs. We hve evelope n effiient lgorithm for nlyzing the types of these `n 2 2n 2 2 2 s to enle fst onstrution of the BEGs for n, or, nxor i-eompositions. Denote the off-set n on-set of logi funtion f y f 0 n f 1, respetively. Let the funtion x {i,j} of n 2 vriles in V \{i, j} represent ll 2 2 xor s ssoite with {i, j}, i.e., eh minterm in x {i,j} is 2 2 xor ssoite with {i, j}. Similrly, let {i,j} n o {i,j} represent the n n or s ssoite with {i, j}, respetively. The funtion x {i,j} n e ompute s follows: x {i,j} = i j `y1 z 1 (1) where y 1 = f 0 i f i 1 + fi 0 f 1 i n z1 = f 0 j f j 1 + fj 0 f 1 j If x {i,j} is not zero, then there re xor s ssoite with {i, j} n hene, ege {i, j} is e in the BEG for the n n or i-eompositions. Next, the funtions {i,j} n o {i,j} n e ompute using funtions y 1 n z 1 from Eqn. 1 s follows: {i,j} =( i j(f 1 y 1 z 1 )) (u v) o {i,j} =( i j(f 0 y 1 z 1 )) (u v) where y 0 = f 0 i f i 0 + fi 1 f 1 i, z0 = f 0 j f j 0 + fj 1 f 1 j, u = yj 0 y 1 j + y1 j y 0 j,nv = z0 i z 1 i + z1 i z 0 i If {i,j} is not zero, then there re n s ssoite with {i, j} n hene, ege {i, j} is e in the BEG for the or n xor i-eompositions. Similrly, if o {i,j} is not zero, then there (2) 587

re or s ssoite with {i, j} n hene, ege {i, j} is e in the BEG for the n n xor i-eompositions. The BEG for n, or, n xor i-eompositions is onstrute y omputing x {i,j}, {i,j},no {i,j} using Equtions 1 n 2 for every pir of vriles {i, j}. The lrgest funtion we hve onsiere hs 149 vriles n the CPU time require for onstruting thebegfor the n, or,n xor i-eompositions of this funtion is 218 ses. 2.3 Vrile prtition In this setion, we will show tht the vrile prtitions of logi funtion for the n, or, n xor i-eompositions n e otine y nlyzing the onnetivity of the BEGs. First, we provie neessry n suffiient onition for the i-eomposility of funtion. Theorem 1: A logi funtion f is not i-eomposle iff the BEG for the n, or,nxor i-eompositions re omplete grphs. Proof: The proof is omitte here for revity. Theorem 1 sttes tht the i-eomposility of funtion f n e esily etermine using BEGs. In the rest of this setion, we esrie how vrile prtitions n e otine for i-eomposle funtions. We will esrie our solution for eomposing funtions tht re not i-eomposle in Setion 3.2. However, we first esrie two ommonly use metris use to mesure the qulity of vrile prtition, V 1 n V 2, of logi funtion f with vrile set V, V = n. Totl vrile ount (Σ): The totl vrile ount, V 1 + V 2, n rnge from n (for isjoint eomposition) to 2n 2 (for n overlpping eomposition with n 2 ommon vriles n one unique vrile per prtition). Vrile prtitions with lower Σ re preferre sine they typilly result in eompositions with smll re n power footprint. Mximum prtition size (Δ): The mximum prtition size, mx( V 1, V 2 ), n rnge from n/2 (for lne isjoint eomposition) to n 1 (sine i-eomposition must proue funtions tht epen on less thn n vriles). Vrile prtitions with lower Δ re preferre sine they typilly result in eompositions with low ely. We will use μ =[Σ, Δ] to mesure the qulity of vrile prtition. Mesure μ 1 is less thn mesure μ 2 if either μ 1(Σ) <μ 2(Σ) n μ 1(Δ) μ 2(Δ) or μ 2(Σ) <μ 1(Σ) n μ 2(Δ) μ 1(Δ). Thus, [2n 2, n 1] is the lrgest mesure for vrile prtition. Theorem 2: A i-eomposle funtion f with vrile set V hs n n i-eomposition with the overlpping vrile prtition V 1 = V \{i} n V 2 = V \{j} iff the ege {i, j} is not present in the BEG for the n i-eomposition. Proof: The proof is omitte here for revity. Theorem 2 lso hols for the or n xor i-eompositions of f. Theorem 2 gurntees the existene of n overlpping vrile prtition for i-eomposle funtion n lso shows how the overlpping vrile prtition n e otine from the BEG of f. However, this vrile prtition my not e the est vrile prtition for f sine it hs the lrgest possile mesure ([2n 2, n 1]). Before we esrie tehnique for extrting etter vrile prtitions from the BEGs of f, we review the efinition of vertex ut in grphs. A vertex ut of onnete grph is set of verties whose removl reners the grph isonnete. If C is vertex ut of grph with n verties, then ny super-set of C is lso vertex ut. The mximum size of vertex ut is n 2. Note tht omplete grph with n verties hs no vertex uts. A minimum vertex ut of grph is the vertex ut with the smllest size. Note tht grph n hve more thn one minimum vertex ut. In this pper, the vertex ut for isonnete grph is ssume to e the empty set (φ). Theorem 3: If i-eomposle funtion f hs n n i-eomposition with the vrile prtition V 1 n V 2,thenV 1 V 2 is vertex ut tht isonnets the verties in V 1\V 2 from the verties in V 2\V 1 of the BEG for the n i-eomposition. Proof: The proof is omitte here for revity. Theorem 3 lso hols for the or n xor i-eompositions of f. Using Theorem 3, the vertex uts of the BEG n e use to otin vrile prtitions for the n, or, n xor i-eompositions of f. The minimum vertex uts of the BEG n e use to otin vrile prtitions with the smllest Σ. However, the vrile prtition otine from minimum vertex uts my hve lrge Δ sine the minimum vertex ut my isonnet the grph into omponents with unlne vertex set sizes. To reue the vlue of Δ, lrger vertex uts n e hosen (higher Σ) tht isonnet the grph into omponents with more lne vertex set sizes. Our solution to extrt vrile prtitions for funtion f strts with list of minimum vertex uts of the BEG for n, or, n xor i-eompositions. The minimum vertex ut isonnets the BEG into smller onnete omponents. Lrger vertex uts re otine y reursively ugmenting the vertex uts with the minimum vertex ut of the lrgest onnete omponent. The vertex ut with the minimum vlue of λσ +Δ,whereλ is prmeter use tht etermines the reltive importne of Σ n Δ, is then hosen s the vrile prtition for f. The omputtionl etils of extrting the minimum vertex ut from n unirete grph re esrie in Setion 4. 3. Funtion eomposition In the previous setion, we hve esrie tehnique se on BEGs for extrting vrile prtitions for n, or, nxor ieompositions of i-eomposle logi funtion f. Thefirst prt of this setion esries the eomposition of i-eomposle funtion using etermine vrile prtition, V 1 n V 2. The seon prt of this setion esries the eomposition of funtions tht re not i-eomposle. 3.1 Bi-eomposle funtions Denote the off-set n on-set of f y f 0 n f 1, respetively, n the off-set n on-set of the eompose funtions for the vrile prtition V 1(V 2)yf (f2 0 )nf1 1 (f2 1 ), respetively. Given f 0, f 1, n the vrile prtition, V 1 n V 2,wewillnowesriehow f, f1 1, f2 0,nf2 1 n e etermine for n, or, nxor ieompositions. n/or i-eompositions: For n or i-eomposition, the onsets of the eompose funtions, f1 1 n f2 1, re suset of the on-set, f 1,off. Hene, f n f2 0 n e otine y expning the off-set, f 0,off using the existentil opertor over the vriles in V \V 1 n V \V 2 s follows: f = V \V1 f 0 (3) f2 0 = V \V2 f 0 Note tht the off-sets of the eompose funtions my overlp with the on-set, f 1,off. The on-set, f n f2 0, for the eompose funtions re otine y expning the portion of f 1 tht 588

oes not overlp with the off-set f 0 1 or f 0 2 of the eompose funtions, using the existentil opertor over the vriles in V \V 1 n V \V 2. f 1 1 = V \V1 (f 1 f 0 ) f 1 2 = V \V2 (f 1 f 0 ) An n i-eomposition n e otine in similr mnner y interhnging the off-set n the on-set of f. xor i-eomposition: An xor i-eomposition requires more effort thn n n/or i-eomposition. To otin n xor ieomposition of f for vrile prtitions V 1 n V 2,weusen pproh previously propose in [7] to progressively grow the onset n off-set of the eompose funtions y ing minterms to over isjoint portions of the on-set of f. The pseuooe for the xor i-eomposition is esrie in Algorithm 1. Algorithm 1: xor i-eomposition input : f 0 (f 1 ) is the off-set (on-set) of f input : V, V 1,V 2 re the vrile set n the two vrile prtitions of f output : f 0 1 (f 1 1 ) is the off-set (on-set) for V1 output : f 0 2 (f 1 2 ) is the off-set (on-set) for V2 f 0 1 =0, f 1 1 =0, f 0 2 =0, f 1 2 =0 g 0 1 =0, g1 1 =0, g0 2 =0, g1 2 =0 while (f = 0)o g 1 1 = PikOneCue(f 1 ) while (g 0 1 + g1 1 0)o g 0 2 = V \V 2 (f 1 g 1 1 + f 0 g 0 1 ) g 1 2 = V \V 2 (f 1 g 0 1 + f 0 g 1 1 ) if (g 0 2 g1 2 0)then return f 0 1,f1 1,f0 2,f1 2 =0 /* Vrile prtition infesile */ f 0 = f 0 (g 0 1 + g1 1 ); f 1 = f 1 (g 0 1 + g1 1 ) f 0 1 = f 0 1 + g0 1 ; f 1 1 = f 1 1 + g1 1 g 0 1 = V \V 1 (f 1 g 1 2 + f 0 g 0 2 ) g 1 1 = V \V 1 (f 1 g 0 2 + f 0 g 1 2 ) if (g 0 1 g1 1 0)then return f 0 1,f1 1,f0 2,f1 2 =0 /* Vrile prtition infesile */ f 0 = f 0 (g 0 2 + g1 2 ); f 1 = f 1 (g 0 2 + g1 2 ) f 0 2 = f 0 2 + g0 2 ; f 1 2 = f 1 2 + g1 2 if (f 0 0)then f 0 1 = f 0 1 + V \V 1 f 0 f 0 2 = f 0 2 + V \V 2 f 0 Infesile vrile prtitions: There re some funtions for whih the vrile prtitions otine from the vertex uts of the BEG re infesile. A vrile prtition, V 1 n V 2, for funtion f is infesile if f nnot e eompose into smller funtions with vrile sets V 1 n V 2. The infesiility of vrile prtition of f n e etete uring the eomposition of f into smller sufuntions. For n or/n i-eomposition, if the on-set (off-set) of t lest one vrile prtition is empty n the eompose funtions o not over the entire on-set (off-set) of f, then the vrile prtition is infesile. For n xor i-eomposition, if the on-set n off-set of the eompose funtions overlp t ny point uring the eomposition, then the vrile prtition is infesile (see Algorithm 1). Vrile prtitions otine using vertex uts from BEG my e infesile euse Theorem 3 only mntes tht vertex ut of the BEG is neessry, ut not suffiient onition for vrile prtition of f. For instne, in Figure 2(), lthough the BEG for n or i-eomposition for f inites tht isjoint i-eomposition exists, f only hs n overlpping or i-eomposition. (4) There re two hrteristis of f tht together use the BEG for f to yiel n infesile vrile prtition: First, sine f is symmetri funtion, ({, }, {, }), ({, }, {, }), n({, }, {, }) re fesile overlpping vrile prtitions for n or ieomposition of f. Sine there is vrile prtition tht seprtes every vrile pir, the loking onition is not stisfie for ny vrile pir. Hene, there re no eges in the BEG for n or ieomposition of f. Seon, sine f is sprse funtion (zeros in f re seprte y Hmming istne of 3) n the eges in the BEG re erive y nlyzing 2 2 s (Hmming istne of 2), the symmetry of f oes not mnifest itself in the BEG, n thus, the vrile prtition of f erive using BEGs is infesile. In prtie, for vrious enhmrk iruits, we hve oserve tht infesile vrile prtitions re rre (< 5% ses). Our tehnique hnles n infesile vrile prtition for funtion y reting n overlpping vrile prtition, V \{i} n V \{j}, suh tht {i, j} is not n ege in the BEG. Note tht suh {i, j} lwys exists sine the BEG for f is not omplete grph n Theorem 2 gurntees the vliity of the overlpping prtition. 0 1 00 0 1 01 1 1 11 10 1 1 f = + BEG for OR BEG for AND/XOR (i) 0 1 00 0 0 BEG for OR/AND/XOR 0 1 11 1 1 10 0 1 f = + + (ii) Figure 2: () Inorret isjoint eomposition inite y BEG n () funtion with omplete BEG. 3.2 Non i-eomposle funtions Rell tht funtion is not i-eomposle if it nnot e eompose into two funtions tht eh epen on less thn n vriles. The BEG for the n, or, n xor i-eompositions of these funtions re omplete grphs, n hene there re no vertex uts for the BEGs. Figure 2() illustrtes n exmple of 3-input funtion tht is not i-eomposle. Our tehnique eomposes these funtions using n or eomposition. The first funtion of the or eomposition is otine y relxing f y introuing on t res. Don t res re introue using universl quntifition of f with vrile i suh tht if overs the minimum numer of minterms in the on-set. Thus, if is the on t re spe for the relxtion of f. After eomposing the relxtion of f, the seon funtion of the eomposition is setup to over the portion of the on-set tht ws not overe y the first funtion. 4. Results We will strt y illustrting our BEG-se i-eomposition tehnique on the 4-input logi funtion shown in Figure 3(i). First, we onstrut the BEGs of f for n, or, n xor i-eompositions. Sine the BEG for n n or i-eompositions re omplete grphs, there re no n or or i-eompositions for f. The BEG for the xor i-eomposition of f is not omplete grph n hs the set s vertex ut of the BEG. Hene, there is n overlpping vrile prtition ({, }, {,, }) for n xor i-eomposition of f, i.e., f = g(, ) h(,, ). Using lgorithm 1, it is etermine tht the vrile prtition is fesile n the eompose funtions g n h re lso otine. Sine g is the simple two input funtion, Figure 3 oes not show the steps for the otining the eomposition of g. 589

00 01 11 10 BEG for AND BEG for OR BEG for XOR 0 1 BEG for AND BEG for OR BEG for XOR 00 1 1 00 1 1 01 0 1 01 11 1 1 10 1 1 10 No vertex ut No vertex ut Vertex ut {} K-mp K-mp for No vertex ut No vertex ut No vertex ut Overlpping No AND No OR f (,,,) i-eomposition h(,,) No AND No OR No XOR i-eomposition i-eomposition i-eomposition. i-eomposition i-eomposition (i) {,}, {,,} (ii) (iv) f = g(,) h(,,) XOR Not i-eomposle g(,) h(,,) AND OR Relxtion of h h (,,) AND XOR 0 1 BEG for AND BEG for OR BEG for XOR 00 X X 01 1 1 10 K-mp for No vertex ut No vertex ut Vertex ut {} h (,,) No AND No OR Disjoint eomposition (iii) i-eomposition i-eomposition {}, {}, {} Figure 3: Bi-eomposition using BEGs of (i) f(,,, ), (ii) h(,, ), n (iii) h (,, ). (iv) summrizes the i-eomposition. The i-eomposition of h is the next reursive step n is shown in Figure 3(ii). Sine the BEG for the n, or, nxor ieompositions of h re omplete, h is not i-eomposle. Thus, h is relxe to h y minimlly introuing on t res in the onset of h using universl quntifition of h, xh, with respet to one vrile x. Sine h, h, n h, over the sme numer of minterms in the on-set of h, we hoose h = s the on t re set of h. The i-eomposition for the relxe funtion, h, hs isjoint xor i-eomposition (see Figure 3(iii)). Thus, f = ( +( )) (see Figure 3(iv)). 4.1 Bi-eomposition Our i-eomposition tehnique is implemente within ABC [9]. Given iruit, eh output is represente y BDDs using the CU- DD pkge [10]. Then, eh output is reursively eompose into smller su-funtions using BEGs. BEGs re store n mnipulte using the igrph lirry [11]. The vrile prtition for the i-eomposition of logi funtion is otine from the minimum vertex uts of the BEG. Our implementtion otins the minimum vertex ut of the BEG of n unirete grph with n verties y onverting the unirete grph into irete flow grph with 2n verties. The minimum ege ut of the irete flow grph, otine using the lgorithm esrie in [12], is then use to otin the minimum vertex ut of the unirete grph. The lrgest funtion we hve onsiere hs 149 vriles n the time require to otin the minimum vertex ut for its BEG is 67 ses. Reunny removl: Our implementtion lso performs re reovery using funtion-se reunny removl tehnique. Sine i-eomposition is performe in epth-first reursive mnner, i-eompose funtions re he in hsh tle. If the funtion is enountere gin in the sme iruit, then the he i-eomposition is reuse. We ompre our BEG-se i-eomposition tehnique to stteof-the-rt emi tools FBDD [4], SIS [8], n ABC [9] n n inustry stnr synthesizer. Sixteen iruits from the MCNC, ISCAS, n IWLS enhmrk suites n the OpenSPARC T1 proessor re optimize using these synthesis tools on 64- it 2.4 GHz Opteron-se system. Eh enhmrk iruit is optimize with eh tool to minimize the ely of the eompose iruit. The eompose iruit is mppe to the lsi_10k gte lirry tht onsists of 89 gtes with the inustry-stnr tool. The first olumn in tle 1 is the nme of the iruit. Susequent olumns report the numer of levels of logi in the n-invert grph (AIG [9]), the mppe ely, n the ynmi power onsumption t 1GHz for the results otine with eh optimiztion tool. For eh enhmrk iruit, the est results with the lowest mppe ely re reporte in the tle. For the BDD-se eomposition tool (FBDD), efult synthesis options were use. Within SIS, the sripts ely, rugge, lgeri, nspee_up were use. Within ABC, sript resyn2rs ws use. Within the inustry-stnr synthesizer, eh esign ws ompile with the options -mp-effort high n -re-effort high n the esign onstrint mx_ely ws set to 0. The lst row in the tle ompres the verge results ross the tools, normlize to the results of the inustry-stnr tool. On verge, our tehnique shows 60%, 34%, 45% n30% reution in the numer of logi levels in the optimize iruit over FBDD, SIS, ABC, n the inustry-stnr synthesizer, respetively. When mppe elys re evlute, our tehnique hieves n verge reution of 20%, 19%, 16%n20% over the est results of FBDD, SIS, ABC, n the inustry-stnr synthesizer, respetively. For our tehnique, the tre-off for 20% improvement in mppe ely over the inustry-stnr synthesizer is 28% inrese in the ynmi power onsumption. Tle 2 presents results to ompre the numer of gtes in the AIG n the mppe re of our tehnique with stte-of-the-rt logi optimiztion tools. The first two olumns in tle 2 give the iruit informtion. Susequent olumns report the numer of gtes n the mppe re of the logi iruit for eh tool. Are-ely tre-off: As isusse in Setion 2.3, vrile prtitions with smller Σ typilly yiel i-eompositions with lower re n power, wheres vrile prtitions with smller Δ typilly yiel iruits with lower ely. We hve oserve tht for most iruits the est ely, re, n power is hieve y seleting the vrile prtition with the smllest Σ. However, some iruits, e.g., lu, ss,nlu2, exhiit n re versus ely tre-off where reutions in the ely of the eompose iruit n e hieve when vrile prtitions with lower Δ re hosen. 590

Tle 1: Comprison of the propose tehnique with the est lgorithms in FBDD, SIS, ABC, n the inustril tool Nme FBDD [4] SIS [8] ABC [9] Inustry tool BEG Levels Dely Power Levels Dely Power Levels Dely Power Levels Dely Power Levels Dely Power ori 12 3.69 1.47 9 3.64 1.69 10 3.23 2.39 9 3.34 2.44 7 3.35 1.64 lu 48 7.23 17.8 20 7.17 22.4 31 6.09 25.5 14 7.00 13.9 10 5.49 33.3 t481 6 3.48 0.96 13 3.67 4.2 14 5.59 13.9 11 4.32 7.7 6 3.48 0.96 C432 33 9.63 11.9 22 8.62 15.9 23 9.77 7.9 20 9.84 9.7 11 5.23 36.3 lu2 43 9.07 14.6 22 8.64 13.1 32 8.59 15.7 21 8.69 13.3 10 4.18 13.9 lu4 21 6.25 158.4 12 6.03 55.7 12 6.24 55.9 13 6.11 56.9 10 5.03 87.1 pex4 24 6.2 134.6 12 6.06 55.5 12 6.37 49 13 5.98 60.4 10 5.03 87 term1 18 4.08 6.1 11 3.55 8.2 12 3.69 5.8 10 3.96 7.1 9 3.72 3.2 frg1 13 2.95 1.6 11 3.56 4.1 12 3.71 1.8 10 3.41 4.2 8 2.68 1.7 i7 6 2.23 20.8 5 2.23 42.2 5 2.24 18.3 6 2.23 23.1 5 2.07 20.5 i8 17 5.66 22.7 11 5.51 28.6 11 5.23 39.9 10 5.91 22.6 9 4.7 37.8 too lrge 52 6.71 34.1 12 5.01 15.3 24 4.95 13.7 13 5.44 13.3 10 3.91 7.1 lsu st rwtl 17 5.54 31.6 10 5.64 31.6 15 5.68 31.1 11 5.81 29.9 11 5.55 36.5 spr tlu inttl 8 3.44 12.7 11 3.5 11.6 8 3.29 12.1 7 3.01 12.7 ss 8 3.33 30 8 2.7 28.8 7 3.33 27.3 6 3.11 22.8 spi 28 13.44 78 26 13.06 87.4 18 9.16 193.7 Reltive verge 2.44 1.25 0.96 1.5 1.23 0.88 1.81 1.18 0.83 1.43 1.25 0.78 1 1 1 FBDD: efult; SIS: ely, rugge, lgeri, nspee_up; ABC: resyn2rs; Inustry-stnr synthesizer: -mp-effort high -re-effort high n set_mx_ely 0 Tle 2: Comprison of the propose tehnique with the est lgorithms in FBDD, SIS, ABC, n the inustril tool Nme PI/POs FBDD [4] SIS [8] ABC [9] Inustry tool BEG Gtes Are Gtes Are Gtes Are Gtes Are Gtes Are ori 23/2 62 99 88 98 53 151 65 146 32 105 lu 75/16 1201 1190 1604 1426 1046 1515 707 1022 862 1911 t481 16/1 25 72 1227 202 742 936 159 510 25 72 C432 36/7 235 492 273 399 136 437 218 443 826 1487 lu2 10/6 484 716 482 614 349 748 357 608 400 778 lu4 9/19 4771 5619 2194 4455 2007 4372 1610 4676 2356 5218 pex4 9/19 4540 5286 2194 4653 2003 3681 1589 4280 2349 5218 term1 34/10 262 338 323 440 147 346 186 443 94 270 frg1 28/3 51 101 110 226 84 176 130 227 51 101 i7 199/67 510 1365 650 1431 568 1234 510 1629 500 1692 i8 133/81 979 1291 1621 1435 892 1635 1212 1180 1101 1786 too lrge 38/3 1585 1639 614 894 392 748 434 695 172 434 lsu st rwtl 250/205 490 1029 562 1095 482 998 587 969 755 1272 spr tlu inttl 82/80 227 739 174 682 241 711 221 794 ss 250/132 776 1451 547 1453 683 1374 536 1072 spi 505/227 3158 3888 3083 4131 4623 8274 Reltive verge 1.95 1.1 4.82 1.2 2.87 1.74 1.54 1.4 1 1 The numer of gtes is reporte fter eomposition s the numer of noes in the AIG. Are is reporte fter the eompose AIG is mppe using the inustril tool in ll ses. 5. Conlusions This pper esrie new pproh for otining vrile prtitions for the i-eomposition of logi funtions. Disjoint n overlpping vrile prtitions for n, or, n xor i-eompositions of logi funtion were otine from the vertex uts of n unirete grph lle the loking ege grph. Using this tehnique, n verge reution in ely of 20% ws hieve for n verge power overhe of 28% over the est results of n inustry-stnr synthesis tool ross 16 enhmrk iruits. Referenes [1] G. e Miheli, Synthesis n Optimiztion of Digitl Ciruits. MGrw-Hill, 1994. [2] G. Hhtel n F. Somenzi, Logi synthesis n verifition. Kluwer Aemi Pulishers, 2000. [3] C. Yng et l., BDS: A BDD-se logi optimiztion system, IEEE Trns. Computer-ie Design, vol. 21, pp. 866 876, 2000. [4] D. Wu et l., FBDD: A fole logi synthesis system, in Intl. Conferene on ASIC, pp. 746 751, 2005. [5] A. Mishhenko, B. Steinh, n M. Perkowski, An lgorithm for ieomposition of logi funtions, in Pro. Design Automtion Conferene, pp. 103 108, 2001. [6] H.-P. Lin, J.-H. R. Jing, n R.-R. Lee, To SAT or not to SAT: Ashenhurst eomposition in lrge sle, in Pro. Intl. Conferene Computer-ie Design, pp. 32 37, 2008. [7] B. Steinh, Synthesis of multi-level iruits using exor-gtes, in Pro. Workshop on Applitions of the Ree-Muller Expnsion in Ciruit Design, pp. 161 168, 1995. [8] E. Sentovih et l., SIS: A system for sequentil iruit synthesis, Teh. Rep. UCB/ERL M92/41, EECS Deprtment, University of Cliforni, Berkeley, 1992. [9] ABC Logi synthesis tool. Plese visit the URL http://www.ees. erkeley.eu/ lnmi// for further etils. [10] CUDD: Coloro University Deision Digrm Pkge. Plese visit the URL http://vlsi.oloro.eu/ fio/cudd/ for further etils. [11] The igrph lirry for omplex network reserh. Plese visit the URL http: //igrph.soureforge.net/ for further etils. [12] Y. Boykov et l., An experimentl omprison of min-ut/mx-flow lgorithms for energy minimiztion in vision, IEEE Trns. Pttern Anlysis n Mhine Intelligene, vol. 26, pp. 1124 1137, 2004. 591