A Graph-Based Synthesis Algorithm for AND/XOR Networks 1. Yibin Ye Kaushik Roy. a minimum ESOP of a function except for those with

Similar documents
Module graph.py. 1 Introduction. 2 Graph basics. 3 Module graph.py. 3.1 Objects. CS 231 Naomi Nishimura

CSC Design and Analysis of Algorithms. Example: Change-Making Problem

Exam 1 Solution. CS 542 Advanced Data Structures and Algorithms 2/14/2013

An undirected graph G = (V, E) V a set of vertices E a set of unordered edges (v,w) where v, w in V

Why the Junction Tree Algorithm? The Junction Tree Algorithm. Clique Potential Representation. Overview. Chris Williams 1.

Constructive Geometric Constraint Solving

Outline. 1 Introduction. 2 Min-Cost Spanning Trees. 4 Example

, each of which is a tree, and whose roots r 1. , respectively, are children of r. Data Structures & File Management

ECE 407 Computer Aided Design for Electronic Systems. Circuit Modeling and Basic Graph Concepts/Algorithms. Instructor: Maria K. Michael.

ECE COMBINATIONAL BUILDING BLOCKS - INVEST 13 DECODERS AND ENCODERS

b. How many ternary words of length 23 with eight 0 s, nine 1 s and six 2 s?

CSE 373: AVL trees. Warmup: Warmup. Interlude: Exploring the balance invariant. AVL Trees: Invariants. AVL tree invariants review

Cycles and Simple Cycles. Paths and Simple Paths. Trees. Problem: There is No Completely Standard Terminology!

CSE 373: More on graphs; DFS and BFS. Michael Lee Wednesday, Feb 14, 2018

Present state Next state Q + M N

CSE 373. Graphs 1: Concepts, Depth/Breadth-First Search reading: Weiss Ch. 9. slides created by Marty Stepp

Outline. Computer Science 331. Computation of Min-Cost Spanning Trees. Costs of Spanning Trees in Weighted Graphs

12. Traffic engineering

(2) If we multiplied a row of B by λ, then the value is also multiplied by λ(here lambda could be 0). namely

Algorithmic and NP-Completeness Aspects of a Total Lict Domination Number of a Graph

COMPLEXITY OF COUNTING PLANAR TILINGS BY TWO BARS

12/3/12. Outline. Part 10. Graphs. Circuits. Euler paths/circuits. Euler s bridge problem (Bridges of Konigsberg Problem)

5/9/13. Part 10. Graphs. Outline. Circuits. Introduction Terminology Implementing Graphs

Garnir Polynomial and their Properties

New challenges on Independent Gate FinFET Transistor Network Generation

1 Introduction to Modulo 7 Arithmetic

Using the Printable Sticker Function. Using the Edit Screen. Computer. Tablet. ScanNCutCanvas

Graphs. Graphs. Graphs: Basic Terminology. Directed Graphs. Dr Papalaskari 1

Seven-Segment Display Driver

Similarity Search. The Binary Branch Distance. Nikolaus Augsten.

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

Math 61 : Discrete Structures Final Exam Instructor: Ciprian Manolescu. You have 180 minutes.

(a) v 1. v a. v i. v s. (b)

Section 10.4 Connectivity (up to paths and isomorphism, not including)

Planar Upward Drawings

a b v a v b v c v = a d + bd +c d +ae r = p + a 0 s = r + b 0 4 ac + ad + bc + bd + e 5 = a + b = q 0 c + qc 0 + qc (a) s v (b)

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

CS 461, Lecture 17. Today s Outline. Example Run

Outline. Circuits. Euler paths/circuits 4/25/12. Part 10. Graphs. Euler s bridge problem (Bridges of Konigsberg Problem)

Paths. Connectivity. Euler and Hamilton Paths. Planar graphs.

EE1000 Project 4 Digital Volt Meter

Graphs. CSC 1300 Discrete Structures Villanova University. Villanova CSC Dr Papalaskari

CS 241 Analysis of Algorithms

The University of Sydney MATH2969/2069. Graph Theory Tutorial 5 (Week 12) Solutions 2008

MULTIPLE-LEVEL LOGIC OPTIMIZATION II

Outline. Binary Tree

CS61B Lecture #33. Administrivia: Autograder will run this evening. Today s Readings: Graph Structures: DSIJ, Chapter 12

QUESTIONS BEGIN HERE!

Graph Isomorphism. Graphs - II. Cayley s Formula. Planar Graphs. Outline. Is K 5 planar? The number of labeled trees on n nodes is n n-2

COMP108 Algorithmic Foundations

Analysis for Balloon Modeling Structure based on Graph Theory

0.1. Exercise 1: the distances between four points in a graph

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Announcements. These are Graphs. This is not a Graph. Graph Definitions. Applications of Graphs. Graphs & Graph Algorithms

Problem solving by search

# 1 ' 10 ' 100. Decimal point = 4 hundred. = 6 tens (or sixty) = 5 ones (or five) = 2 tenths. = 7 hundredths.

DUET WITH DIAMONDS COLOR SHIFTING BRACELET By Leslie Rogalski

A 4-state solution to the Firing Squad Synchronization Problem based on hybrid rule 60 and 102 cellular automata

5/7/13. Part 10. Graphs. Theorem Theorem Graphs Describing Precedence. Outline. Theorem 10-1: The Handshaking Theorem

Lecture 11 Binary Decision Diagrams (BDDs)

TOPIC 5: INTEGRATION

S i m p l i f y i n g A l g e b r a SIMPLIFYING ALGEBRA.

QUESTIONS BEGIN HERE!

Nefertiti. Echoes of. Regal components evoke visions of the past MULTIPLE STITCHES. designed by Helena Tang-Lim

Graph Contraction and Connectivity

Errata for Second Edition, First Printing

Announcements. Not graphs. These are Graphs. Applications of Graphs. Graph Definitions. Graphs & Graph Algorithms. A6 released today: Risk

Errata for Second Edition, First Printing

CS200: Graphs. Graphs. Directed Graphs. Graphs/Networks Around Us. What can this represent? Sometimes we want to represent directionality:

5/1/2018. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees

Trees as operads. Lecture A formalism of trees

Minimum Spanning Trees

CS September 2018

Instructions for Section 1

A Simple Code Generator. Code generation Algorithm. Register and Address Descriptors. Example 3/31/2008. Code Generation

Integration Continued. Integration by Parts Solving Definite Integrals: Area Under a Curve Improper Integrals

Clustering Techniques for Coarse-grained, Antifuse-based FPGAs

Solutions to Homework 5

Walk Like a Mathematician Learning Task:

Partitioning Algorithms. UCLA Department of Computer Science, Los Angeles, CA y Cadence Design Systems, Inc., San Jose, CA 95134

HIGHER ORDER DIFFERENTIAL EQUATIONS

Numbering Boundary Nodes

Solutions for HW11. Exercise 34. (a) Use the recurrence relation t(g) = t(g e) + t(g/e) to count the number of spanning trees of v 1

Ch 1.2: Solutions of Some Differential Equations

Register Allocation. Register Allocation. Principle Phases. Principle Phases. Example: Build. Spills 11/14/2012

35 th Design Automation Conference Copyright 1998 ACM

Reducing the Depth of Quantum Circuits Using Additional Circuit Lines

Multipoint Alternate Marking method for passive and hybrid performance monitoring

UNCORRECTED SAMPLE PAGES 4-1. Naming fractions KEY IDEAS. 1 Each shape represents ONE whole. a i ii. b i ii

Page 1. Question 19.1b Electric Charge II Question 19.2a Conductors I. ConcepTest Clicker Questions Chapter 19. Physics, 4 th Edition James S.

learning objectives learn what graphs are in mathematical terms learn how to represent graphs in computers learn about typical graph algorithms

Design Optimization Based on Diagnosis Techniques

ME 522 PRINCIPLES OF ROBOTICS. FIRST MIDTERM EXAMINATION April 19, M. Kemal Özgören

Greedy Algorithms, Activity Selection, Minimum Spanning Trees Scribes: Logan Short (2015), Virginia Date: May 18, 2016

NP-Completeness. CS3230 (Algorithm) Traveling Salesperson Problem. What s the Big Deal? Given a Problem. What s the Big Deal? What s the Big Deal?

RAM Model. I/O Model. Real Machine Example: Nehalem : Algorithms in the Real World 4/9/13

This chapter covers special properties of planar graphs.

Limits Indeterminate Forms and L Hospital s Rule

Lecture 20: Minimum Spanning Trees (CLRS 23)

Decimals DECIMALS.

Transcription:

A Grph-Bs Synthsis Algorithm or AND/XOR Ntworks Yibin Y Kushik Roy Shool o Eltril n Computr Enginring Puru Univrsity, Wst Lytt, IN 4797-285, USA Abstrt In this ppr, w introu Shr Multipl Root XORbs Domposition Digrm (XORDD) to rprsnt untions with multipl outputs. Bs on th XORDD rprsnttion, w vlop synthsis lgorithm or gnrl Elusiv Sum-o-Prout orms (ESOP). By itrtivly pplying trnsormtions n rutions, w obtin ompt XORDD whih givs minimiz ESOP. Our mtho n synthsiz lrgr iruits thn prviously possibl. Th ompt ESOP rprsnttion provis orm tht is sir to synthsiz or XOR hvy multi-lvl iruit, suh s rithmti untions. W hv ppli our synthsis thniqus to lrg st o bnhmrk iruits in both PLA n ombintionl ormts. Rsults o th minimiz ESOP orms obtin rom our synthsis lgorithm r lso ompr to th SOP orms gnrt by ESPRESSO. Among th 74 iruits whv primnt with, th minimiz ESOP's hv wr prout trms thn thos o SOP's in 39 iruits. INTRODUCTION In mny pplitions, th AND/XOR rliztions o igitl iruits r vry int. Whil powrul optimiztion tools or AND/OR bs synthsis hv bn vlop in th lst w yrs, (suh s ESPRESSO [], MIS [] n BOLD [6]), thr r w minimiztion n synthsis tools vilbl whih inlu AND/XOR rliztions. Thr r svrl lsss o th AND/XOR orms, o whih th Elusiv Sum-o-Prout (ESOP) prssion is th most gnrl 2-lvl orm. Th problm o ning th miniml SOP's o Booln untion is lssil problm in swithing thory whih hs bn stui or mny yrs. Th minimiztion o ESOP's is muh mor iult thn Th rsrh ws support in prt by NSF (963356-MIP) n by ARPA (F3365-95-C-625), n IBM Corportion. Dsign Automtion Conrn R Copyright 997 by th Assoition or Computing Mhinry, In. Prmission to mk igitl or hr opis o prt or ll o this work or prsonl or lssroom us is grnt without provi tht opis r not m or istribut or prot or ommril vntg n tht opis br this noti n th ull ittion on th rst pg. Copyrights or omponnts o this work own by othrs thn ACM must b honor. Abstrting with rit is prmitt. To opy othrwis, to rpublish, to post on srvrs, or to ristribut to lists, rquirs prior spi prmission n/or. Rqust prmissions rom Publitions Dpt, ACM In., + (22) 869-48, or prmissions@m.org. -8979-847-9/97/6/$3.5 DAC 97-6/97 Anhim, CA, USA tht o SOP's. So r no int mtho is known to obtin minimum ESOP o untion pt or thos with vry smll numbr o vribls. Rntly, Sso [2] vlop huristi pproh whih ppli mthos similr to ESPRESSO by itrtivly ning smllr ovrs o prouts n by looking or prity-lik pttrns. Whil ESPRESSO sus in minimizing th SOP's o most prtil untions, similr mthoology is lss powrul whn ppli to minimiz th ESOP's. This is u to th t tht only prim implints n to b srh in th minimiztion o SOP's, whil th srh sp is rstilly lrgr in minimizing th ESOP's. In this ppr, w prsnt grph-bs minimiztion mtho or gnrl ESOP's. W strt rom ision igrm (.g. BDD [2]) o untion (multipl primry outputs in gnrl). By itrtivly pplying trnsormtions n rutions, w nlly obtin ompt Shr Multipl Root XOR-bs Domposition Digrm (XORDD) whih givs minimiz ESOP. Our mtho promiss to b int sin trnsormtions r prorm by ing n rmoving gs n byhnging g vlus rthr thn omputing nw sub-untions. Although our synthsis mtho is implmnt or optimizing two-lvl AND/XOR ntworks, it is possibl to b ppli to multi-lvl AND/XOR ntworks with som moitions. This is bus Shr Multipl Root XORDD is multi-lvl rprsnttion o untions. Th rst o th ppr is orgniz s ollows. Stion 2 introus th XOR-Bs Domposition Digrms. Stion 3 prsnts synthsis lgorithm bs on XORDD rprsnttion or minimizing ESOP's. Rsults o our synthsis lgorithm on bnhmrk iruits r til in St. 4. In St. 5, w giv th onlusions n isuss th urthr pnsion o our lgorithm to multilvl AND/XOR ntworks. 2 XOR-BASED DECOMPOSITION DIA- GRAM 2. Grph rprsnttions o Booln untions Brynt prsnt th Orr Binry Dision Digrm (OBDD) [2] s nonil orm or Booln untions. It is urrntly on o th most populr t struturs or th rprsnttion o Booln untions. OBDDs hv bn wily us in logi synthsis, vrition, n tsting. Whil OBDDs r MUX-bs rprsnttions, nothr typ o

Dision Digrm, th Orr Funtionl Dision Digrms (OFDD), hv bn introu [7, 3], whih r bs on AND/XOR rprsnttions. In th ollowing prgrph, w rst min th omposition qutions on whih th OBDDs n OFDDs r bs, thn w n our nw grph rprsnttions or Booln untions. Lt : B n! B b Booln untion ovr th vribl st X n. Lt i not th otor o with rspt to i = givn by i () =( ;i,;;i+; ;n). Similrly, i nots th otor o with rspt to i = givn by i () =( ;i,;;i+; ;n). W lso n i 2 s i 2 = i i. Not tht ll i, i n i 2 r inpnnt o i. Using th bov nottions, whv th ollowing ompositions: = i i + i i = i i i i () = i i 2 i (2) = i i 2 i (3) Whil th OBDD rprsnttion o Booln untion is bs on Eq. (), th OFDD is bs on Eq. (2) n (3). A mor gnrl ision igrm, th Orr Kronkr Funtionl Dision Digrm (OKFDD), hs bn introu rntly in [4]. All thr omposition typs r us in OKFDDs, n hn OKFDD is ombintion o OBDD n OFDD. Th siz o OKFDDs is, in gnrl, smllr thn tht o OBDDs n OFDDs. W now n Gnrl Domposition Digrms (GDD) n XOR-bs Domposition Digrms (XORDD) whih r us or rprsnttion n minimiztion o ESOP's. Dnition A Gnrl Domposition Digrm (GDD) ovr st o vribls X := null; ; 2;;ng isroot irt yli grph (DAG) G=(V,E) with two typs o vrtis, non-trminl n trminl. A non-trminl vrt v is ssoit with n oprtion (OR, XOR, t.) s wll s vribl 2 X, n hs on or mor hilrn vrtis 2 V. Egs rom non-trminl vrt o vribl i to its hilrn vrtis r lbl with ithr, or 2, whih giv th g vlu i, i, or, rsptivly. Egs rom non-trminl vrt ssoit with null vribl r not lbl n lwys hv th vlu o. A trminl vrt is lbl with ithr or n hs no hilrn vrtis. Eh vribl is nountr t most on whn trvrsing rom root to trminl vrt. Th GDD is simply gnri grph rprsnttion o Booln untions. Wht istinguishs GDD rom n rbitrry multi-lvl logi rprsnttion is th rstrition tht h vribl is nountr t most on whn trvrsing rom root to trminl vrt in GDD. This rstrition is u to th typ o ompositions to b impos on th grph. Dnition 2 An XOR Domposition Digrm (XORDD) ovr st o vribls X := null; ; 2;;ng is spil s o GDD, in whih only th XOR oprtion is ssoit with h non-trminl vrt. Not tht XORDD is omposition igrm rthr thn ision igrm. A non-trminl vrt in n XORDD n hv on, two, or mor hilrn vrtis. Outgoing gs rom vrt n hv th sm lbl (n hn, th sm vlu). Fig. illustrts how nxordd rlts to th untion it rprsnts. Assigning vlu to h g is n importnt tur in XORDD rprsnttions, bus hnging th typ o ompositions n b rliz by hnging 2 2 () = 3 2 3 null (b) = Figur : Th XORDD rprsnttion o untions b b b b b 2 2 2 2 2 2 () OBDD (b) OFDD () XORDD Figur 2: Th sm untion rprsnt by OBDD, OFDD n XORDD, rsptivly th g onntions n g vlus rthr thn omputing nw sub-untions. OBDD, OFDD n OKFDD r spil ss o XORDD bs on our nition o XORDD. W ssum th rrs r milir with th OBDD n OFDD rprsnttions o Booln untion. For th purposs o omprison, th ollowing mpl givs th thr grph rprsnttions givn by OBDD, OFDD n XORDD, rsptivly. Empl Lt us onsir th untion = b + + b. Fig. 2 shows ll thr typs o grph rprsnttions. Not tht in th OFDD, both omposition typs o Eq. (2) n (3) hv bn ppli, whr lbl nots i, nots i n 2 nots 2 i. Whil XORDD is multi-lvl rprsnttion, th twolvl AND/XOR orm n b sily onstrut rom th grph s ollows: A -pth is pth rom root to -lbl trminl vrt. Eh -pth ns prout trm whih is th prout o ll th g vlus in th pth. Th untion n thn b prss in orm o XOR sum o prout trms o ll -pths. Thror, th numbr o -pths is qul to th numbr o trms in th ESOP's. On n obsrv tht th -lbl trminl vrt is not usul in th XORDD rprsnttions. Unlss othrwis mntion, th XORDD's hv only on typ o trminl vrt with lbl. Lt us onsir Empl n Fig. 2 gin. Th twolvl prssions givn by OBDD, OFDD n XORDD r b b b, b n b, rsptivly. It is importnt to not tht n OFDD rprsnttion o untion lwys givs sub-lss o ESOP prssions, th nonil R-Mullr orm []. Th XORDD rprsnttion, howvr, givs gnrl ESOP orm. Convrsly, n ESOP prssion n lwys b rprsnt by nxordd, n only Fi Polrity R-Mullr [3, ] prssions n lwys b rprsnt by OFDDs. So r, only singl output untions (hn singl root XORDD's) hv bn isuss. For untions with multipl outputs, w onstrut Shr Multipl Root XORDD rprsnttions, in whih ommon intrnl vrtis r shr by svrl omponnt untions. Whil this tnsion is strightorwr, w n to not tht ommon -pth shoul b b

Rutions Trnsormtions () () () ( ) ( ) () Chng th omposition typ () (b) () 2 Figur 3: Thr bsi rution ruls o XORDD (b) Mov () Split b ount only on in trmining th numbr o prout trms o ESOP's. Sin in most ss w l with multiploutput iruits, unlss othrwis mntion, th XORDD is shr multipl root grph. 2.2 Rutions on XORDD For givn XORDD, th ollowing rution ruls n b ppli to ru th siz o XORDD.. Dlt trminl vrtis lbl with. 2. I two gs btwn two vrtis hv th sm vlu, thn thy r rmov (Fig. 3() n 3(b)). 3. I two gs rom vrt v to v r lbl with n rsptivly, w rmov thm n rirt gs pointing to v to point tov (Fig. 3()). 4. Dlt non-trminl vrtis tht o not hv sussors. 5. Dlt non-trminl vrtis (pt root vrtis) tht o not hv prssors. Rution rul () is nssry bus th initil XORDD w strt with is Dision Digrm (OBDD, OFDD or OKFDD) whih hs two trminl vrtis lbl with n rsptivly. Rution rul (2) n (3) r illustrt in Fig. 3, whih r bs on th ollowing ts: igj igj = igj igj = (4) igj igj = gj(i i) =gj (5) 2.3 Trnsormtions on XORDD Bsis th rutions givn bov, th ollowing trnsormtions on n XORDD will b ppli on n XORDD. Chng o omposition: Th thr typs o omposition srib in Eq.s () { (3) n b rwrittn s ollows: i i i i = i i( i i )= i i( i i); 2 () Mrg () Etrt 2 Figur 4: Bsi trnsormtion stps o XORDD whr i i = i 2, whih ws n in St. 2. Th hng rom on typ o omposition to nothr n b rliz by hnging th vlu o n g n ing nothr g. This is illustrt in Fig. 4(), whr th lbl 2;;2g. Mov: An g with lbl 2 (or vlu ) n mov to onnt to prnt nos, s shown in Fig. 4(b) Split: Avrt with multipl inoming or outgoing gs n b split into two or mor vrtis, s illustrt in Fig. 4(). Mrg: I two or mor outgoing (inoming) gs o vrt hv th sm vlu n go to (om rom) vrtis o th sm vribl, thn thy n b mrg s shown in Fig. 4(). Etrt: I two or mor inoming (outgoing) gs o vrt hv th sm vlu, thy my b trt in wy s illustrt in Fig. 4(). Etrt is ssntilly ompoun oprtion onsisting o split n mrg. 3 SYNTHESIS ALGORITHM FOR ESOP Our synthsis strtgy o minimizing ESOP's is s ollows: Strting rom n initil XORDD rprsnttion o multipl output untion (n b OBDD, OFDD or OKFDD), w itrtivly pply trnsormtions n rutions to -

nlly obtin shr multipl root XORDD whih givs minimiz ESOP. 3. Algorithms or minimiztion Our gol is to obtin ompt XORDD rom th initil lrg XORDD by itrtivly pplying trnsormtions n rutions. Th numbr o prout trms n litrls shoul b simultnously minimiz. W onlu in th prvious stion tht th numbr o prout trms is qul to th numbr o -pths in n XORDD n tht h -pth - ns prout trm whih is th prout o ll g vlus in th pth. On ption is tht ommon -pth shr by multipl roots shoul b ount only on. By mining th rutions n trnsormtions introu in St. 2.3, on n obsrv tht rutions lwys ru th objtiv untions (# o prout trms n litrls). Howvr, trnsormtions o not irtly rsult in mor ompt grph. Whil mrg, split, n trt o not t th objtiv untions, hng o omposition tully inrss th vlu o objtiv untions. Th purpos o prorming trnsormtions on n XORDD is to rt opportunitis or mor rutions. Thus, w n to intiy whih typs o trnsormtions shoul b prorm on prtiulr no or g. In our synthsis thniqus, lol loop ttion is us in trmining trnsormtions n rutions. Lol loop ttion: Dttion o thr bsi loops r prorm in our synthsis thniqu. Ths r illustrt in Fig. 5. In loop typ (Fig. 5()), w n rst mrg two nos n thn pply rution rul (3). In loop typ 2 (Fig. 5(b)), n g lbl is hng rst. W thn mrg two nos ollow by rution. In loop typ 3(Fig. 5()), tr hnging n g lbl, rution n b ppli. An lgorithm to minimiz th objtiv untions o th XORDD is givn blow: Stp : Crt Multipl Root Shr OBDD (or OFDD, OKFDD) s th initil XORDD rom th originl two-lvl or multi-lvl iruit sriptions. Stp 2.: Strt rom th lowst lvl vrtis. Emin h no to trmin i rutions n b irtly ppli. Stp 2.2: Dtt thr ruibl loops isuss in St. 2.3 (lso shown in Fig. 5). Chng th lbl o som inoming gs (i.., hng ompositions), thn pply rutions on prnt no(s). Stp 3: For vry vrt in th nt lowst lvl, rpt th sm trnsormtions n rutions givn in stps 2. n 2.2. Stp 4: Lvl by lvl rom th bottom up to th root vrtis, rpt th sm oprtions givn in stps 2. n 2.2. Stp 5: For h no, min th inoming gs, o mrg n trt s shown in Fig. 4 to hng th topology o th grph. Thn rpt stp 2 { 4. 3.2 Globl trnsormtions Not tht only smll loops r tt in stp 2.2. Similr opportunitis or rution ist in lrgr loops. Howvr, it is usully iult to tt lrgr loops n urthr intiy () loop typ (b) loop typ 2 () loop typ 3 Figur 5: Thr typs o loops r inti, on whih rutions n b ppli tr prorming rtin trnsormtions. whih prtiulr trnsormtions shoul b ppli. Potntil rutions will b miss i only ths smll loops shown in Fig. 5 r onsir. As n mpl, lt us onsir th loop shown in Fig. 6. Th originl loop in Fig. 6() will not b tt in th lgorithm shown bov. I w hng th orr o vribl b n, s shown in Fig. 6(b), w n mrg two nos o vribl b. Now th loop shrinks n will b tt or rution, s shown in Fig. 6(). Thror, i w llow vribls mov rom on lvl to nothr, thr r hns tht lrg ruibl loops will shrink, n bom ttbl. W rr ths trnsormtions tht llow vribls mov s to \globl trnsormtions". Stp 6 { Globl trnsormtions Stp 6.: Rnomly slt vribl, mov ll th nos o this vribl to th bottom. Stp 6.2: Rpt stp 6. n tims, whr n pns on th numbr o primry inputs (in our implmnttion, n= # o primry inputs). Thn pply lol trnsormtions (stp 3{5) gin. Stp 6.3: Rpt globl trnsormtions stp 6.2 until vry w rutions n b oun. Lt us onsir untion = b + b + b + b s n mpl. Th miniml SOP rprsnttion hs 4 prout trms n 2 litrls, n th miniml ESOP rprsnttion is = b b, whih hs 4 prout trms n 8 litrls Th initil OBDD tr rmoving th -trminl is shown in Fig. 7(). First, onsir gs o th -trminl. Mrg or trt n not b irtly ppli. Atr hnging n g lbl rom!, th two nos o vribl n b mrg n rution n b ppli. Thus w obtin th grph o Fig. 7(b). W now onsir th nt lowst lvl vribl. By mining th our inoming gs o no,

b () (b) () (b) Figur 6: An mpl o globl trnsormtion. Mor ruibl loops n b oun by prorming globl trnsormtions. th our nos o vribl n b mrg into two nos, s shown in Fig. 7(). From no, two typ 2ruibl loops (both r!! b!! ) n b tt. By hnging th lbl (rom to ) o th g btwn no n, w n mrg th two nos o vribl to obtin Fig. 7(). W now onsir vribl. A numbr o rutions r vilbl on no. Atr rutions, w hv th grph in Fig. 7(). Thr is nw rution vilbl btwn no n no. W n lso mrg two nos o b. Atr nl rution stp, w obtin th XORDD o Fig. 7(), whih givs th minimum ESOP prssion. 4 EXPERIMENTAL RESULTS Th XORDD-bs synthsis mtho is ppli to lrg st o bnhmrk iruits in both PLA n ombintionl ormts. Rsults r summriz in tbl. In th rst olumn, iruits with n strisk r in PLA ormt. in n out rprsnt th numbr o inputs n outputs o th iruits. pu nots th pu tim in sons on SPARC 5worksttion. Unlik mny prvious work [9, ], w synthsiz multipl outputs simultnously to plor th ommon prout trms shr by multipl outputs. Minimiz SOP's obtin rom ESPRESSO r lso inlu in th tbls. For mny untions,.g. 5p, p5, r53, r73, r84, t48, or5 t., th ESOP's hv onsirbly wr prout trms thn th SOP's. On th othr hn, or untions suh sp, p3, ps, spl, t., th SOP's r signintly mor ompt. On vrg, th omptnss o ths two orms r omprbl. Among th 74 iruits whv primnt with, th minimiz ESOP's hv wr prout trms thn thos o SOP's in 39 iruits. For som prtiulr typs o untions, on rprsnttion is bttr thn th othr. On vrg, th XORDD-bs synthsis lgorithm onsums omprbl pu tim with tht o ESPRESSO. Howvr, or mny lrgr iruits w min, th XORDD-bs lgorithm onsums signintly lss pu tim. Not tht most o th pu tim onsum in XORDD-bs synthsis is or th initil BDD rtion. Th synthsis lgorithm usully onsums lss thn 5% o th totl pu tim rport in th tbl. For som ombintionl iruits, no ompt two-lvl orms in ithr ESOP or SOP oul b obtin. W primnt with iruits suh si3, i4, rot, pir, C432, n C98. Th numbr o prout trms r mor thn tns o thousns or suh iruits. W hv not list ths iruits in Tbl. As long s th initil ision igrm r sussully rt, th XORDD-bs mtho n lwys gnrt rsults. Tbl 2 list svrl iruits or whih () () () b = b b b Figur 7: An mpl showing how th lgorithm is prorm on untion -rom initil BDD to th nl ompt XORDD, whih givs minimiz ESOP orm ESPRESSO i not prou ny rsult in 3 minuts on SUN SPARC worksttion. Th lst olumn no in Tbl 2 rprsnts th numbr o nos in n XORDD. It shoul b not tht th siz o XORDD's is still smll vn though th iruits hv lrg numbr o prout trms n litrls. Th shr multi-lvl strutur o XORDD's givs ompt rprsnttion o ths untions. Morovr, th pu tim pns on th siz o th grph. For som vn lrgr iruits, suh sc267, C354, n C755, w rt XORDDs, howvr, th numbr o prout trms n litrls r ssivly lrg. W l tht ths iruits r inhrntly not suitbl or two-lvl rliztions. 5 CONCLUSIONS AND FUTURE WORK W hv n nw Shr Multipl Root XOR-bs Domposition Digrm to rprsnt multipl output untions. Bs on this typ o grph, w prsnt n int lgorithm to minimiz th ESOP's. Th mtho sussully minimiz lrg untions with multipl outputs. In this ppr, only two-lvl AND/XOR minimiztion hs bn implmnt. With som moitions, our lgorithm n b tn to optimiz multi-lvl AND/XOR ntworks. This is bus Shr Multipl Root XORDD is multi-lvl rprsnttion o untions. An lgorithm is urrntly bing vlop to minimiz multi-lvl AND/XOR ntworks. This n b omplish by using th numbr o litrls s th objtiv untion(not to b onus with th litrl ounts in two lvl ESOP's) n by rling th rstrition tht h vribl n only b nountr on in pth rom root vrt to th trminl vrt in XORDD. () ()

Tbl : Minimiz ESOP's or bnhmrk iruits (in both PLA n ombintionl ormts) n thir omprison with SOP's rom ESPRESSO Ciruit ESPRESSO XORDD-bs synthsis in out trms litrls pu trms litrls pu 5p* 7 65 347.3 39 4.7 9sym* 9 86 62.6 6 423.9 p* 45 45 26 2842 5.7 496 4386 8.4 p3* 54 5 28 333 7.4 436 3295 7.5 p5* 7 88 88 728 6.3 4 42 7.3 b2* 5 9 43 27.6 29 43.6 ps* 24 9 63 2836.7 342 428. 64* 65 65 66 22.3 65 22 6.3 4* 28 28 279 928 3.3 345 3232 5. 5* 8 63 74 22 65.5 22 767 3. r53* 5 3 3 75. 5 48.2 r73* 7 3 27 93.4 44 9.9 r84* 8 4 255 27.6 6 39 4.6 spl* 6 46 252 394 64.3 423 548 52.8 t48* 6 48 5233 2.8 3 4.2 or5* 5 6 96. 5 6. p6 35 99 656 4456 54.3 46 388 6.4 p7 49 37 434 335 25.4 29 88 2.3 ALU2 6 43 29.8 89 528 2.2 ALU4 4 8 68 5444 2.7 534 442.4 b 3 4 4 8. 6 4. b9 4 2 6 52.9 8 57. 8 28 8 79 333.7 5 72.7 mb 6 4 7 74.3 4 39.2 ount 35 6 69 793.5 5 268.8 lu 75 6 276 24972 74.6 742 886 73.4 rg 28 3 9 94.9 24 392 2.7 rg2 43 39 ** ** ** 8 997 43.6 i 25 6 28 29.2 22 8.3 i6 38 67 22 99 3.6 43 493 3.2 i8 33 8 95 7966 4.9 98 9974 22.4 i9 88 63 279 8523 5. 287 889 8. prity 6 ** ** ** 6 7. ttt2 24 2 24 7.6 65 429.7 v 7 39 93 442 4.5 9 23 6.7 2 7 7 84.2 2 78.6 3 35 99 656 4458 88.6 42 462 2. 4 94 7 52 362 2.6 37 875 3. * iruits in PLA ormt ** not vilbl tr 5 minuts o pu tim Tbl 2: Som ombintionl iruits with lrg numbr o prout trms n litrls Ciruit XORDD bs synthsis in out trms litrls pu nos s 256 245 9266 59782 49.5 3562 i3 32 6 22234 476549 2.5 3 i4 92 6 22642 79492 7.8 92 my r 33 7 36258 62348 8. 65 C432 36 7.26 3.7 6.5 28 REFERENCES [] R.Bryton, R.Rull, A.Sngiovnni-Vinntlli, n A.Wng, \MIS: A Multi-lvl Logi Optimiztion Systm," IEEE Trnstions on CAD/ICAS, Vol. CAD-6, No. 6, Novmbr 987, pp. 62-8. [2] R.E. Brynt, \Grph-Bs Algorithms or Booln Funtion Mnipultion," IEEE Trns. on Computrs, Vol. C-35, No. 8, August 986, pp. 677-69. [3] R.Drhslr, M.Thobl, n B.Bkr, \Fst OFDD bs Minimiztion o Fi Polrity R-Mullr Eprssions," Pro. Europn Dsign Automtion Con., 994, pp. 2-7. [4] R.Drhslr, A.Srbi, M.Thobl, B.Bkr, M.A.Prkowski, \Eint Rprsnttion n Mnipultion o Swithing Funtions bs on Orr Kronkr Funtionl Dision Digrms," DAC, Proings o th Dsign Automtion Conrn, 994, pp. 45-49. [5] H.Flishr, M.Tvl, n J.Ygr, \A Computr Algorithm or Minimizing R-Mullr Cnonil Forms," IEEE Trns. on Computrs, Vol. C-36, No.2, 987, pp. 247-25. [6] G. Hhtl, M.Lightnr, R.Joby, C.Morrison, P.Moyuns, n D. Bostik, \Bol: Th Boul optiml Logi Dsign Systm," Hwii Int. Symp. on Systms Sins, 988. [7] U.Kbshull, E.Shubrt, n W.Rosnstil, \Multilvl Logi Bs on Funtionl Dision Digrms," Pro. Europn Dsign Automtion Con., 992, pp. 43-47. [8] S. Mlik, A.R.Wng, R.K. Bryton, n A. Sngiovnni- Vinntlli, \Logi Vrition using Binry Dision Digrms," Pro. Intl. Conrn on Computr-Ai Dsign., 988, pp. 6-9. [9] A.Sbbi, n M.A.Prkowski, \ Fst Et n Qusi-Miniml Minimiztion o Highly Tstbl Fi-Polrity AND/XOR Cnonil Ntworks," Pro. 29th ACM/IEEE Dsign Automtion Conrn, 992, pp. 3-35. [] M.A.Prkowski, L.Csnky, A. Srbi, n I.Shr, \Fst Minimiztion o Mi-Polrity AND/XOR Cnonil Ntworks," Pro. Intl. Conrn on Computr Dsign, 992, pp. 33-36. [] R.Rull n A. Sngiovnni-Vinntlli, \Multipl-vlu Minimiztion or PLA Optimiztion," IEEE trnstions on CAD/ICAS, Vol. CAD-6, No. 5, Sptmbr 987, pp727-75. [2] T.Sso, \EXMIN2: A Simplition Algorithm or Elusiv- OR-SUM-o Prouts Eprssions or Multipl-Vlu-Input Two-Vlu-Output Funtions," IEEE Trns. on Computr- Ai Dsign, Vol. 2, No. 5, My 993, pp. 62-632.