Booln Funtion Rprsnttion s on isjoint-support ompositions. Λ Vlri Brto n Murizio Dmini Diprtimnto i Elttroni Inormti Univrsitá i Pov, Vi Grnio 6/A, 353 Pov, ITALY -mil: rin@i.unip.it mini@i.unip.it Tl: +39 49 827 7829 F: +39 49 827 7699 Astrt Th Multi-Lvl Domposition Dirms (s) prsnt in this ppr provi nonil rprsnttion o Booln untions whil mkin pliit isjoint-support omposition. This rprsnttion n irtly mpp to nonil multi-lvl t ntwork o loi untion with AND/OR or NOR-only (NAND-only) ts. Usin s w r l to ru th mmory ouption with rspt to tritionl ROBDDs or svrl nhmrk untions, y omposin loi untions rursivly into simplr - n mor onivisil - omponnts. Bus o this proprty, nlysis o th rphs llow us to somtims intiy nw n ttr vril orrin or svrl nhmrk iruits. W pt th proprtis o s to usul in svrl ontts, most notly loi synthsis, thnoloy mppin, n squntil hrwr vriition. Introution Ru, Orr Binry Dision Dirms (ROB- DDs) [] r proly th most powrul t strutur known so r or th mnipultion o lr loi untions, n or this rson thy hv om prvsiv in loi synthsis n vriition nvironmnts [2, 3, 4, 5]. Onoin rsrh is ttmptin to tn thir ppliility to othr omins, suh s th solution o rph prolms n intr-linr prormmin [6, 7]. Still, som ky iniinis (n ponntil lowup or som lsss o untions, th unpritility o th ROBDD siz n shp with rspt to th vril orrin hosn, t...) motivt n inrsin rsrh tivity in this r. Rsrh irtions inlu in prtiulr: Eiint implmnttions [8, 9], vlopmnt o orrin huristis [,, 2], n ltrntiv rprsnttions ltothr [3, 4, 5, 6, 7]. In [8], th uthors prsnt n ition to th si ROBDD rprsnttion, s on th nloy o ROBDDs with trministi init utomt. Th nw rprsnttion ws ountrprt o nontrministi utomton (hn possily mor ompt), in whih untion root t h ROBDD no ws rprsnt s loi OR o simplr, isjoint-support omponnts. This rsrh ws prtilly support y th ESPRIT III Bsi Rsrh Prormm o th EC unr ontrt No. 972 (Projt GEPP- COM) n y CNR rnt # 95.26.CT7 In this ppr, w to th si ROBDD rprsnttion th pility o isovrin th prsn o ritrry, multipl-lvl tr ompositions o untions. Th rprsnttion shrs with ROBDDs noniity, irtyli rph strutur, n rursiv onstrution thniqu. Unlik ROBDDs, howvr, nos my rprsnt not only two-input MUXs, ut lso unlimit-nin OR / AND (or NAND-only, NOR-only) ts. It is worth notin tht, us o t-lik nos, our rprsnttion is ssntilly multipl-lvl iruit. Throuh th us o multipl-lvl NOR-only (or NAND-only) omposition, w mintin onstnt-tim omplmnttion; n us o th tr omposition, th rprsnttion is siniintly lss orr-snsitiv thn ROBDDs. In prtiulr, w intii lss o untions or whih th rprsnttion is totlly inpnnt rom th vril orr hosn, n or whih som iiult prolms (lik, Booln NPN mthin [9]) n solv in linr tim. Ths turs rprsnt sustntil improvmnt ovr th work [8], whr sinl-lvl OR omposition ws us, n omplmnttion ws iiult. Eprimntlly, w oun tht th nw rprsnttion is mmorywis siniintly mor ompt thn ROBDDs, us omposl untions n shr omponnts. Mor intrstinly, howvr, th nw rprsnttion ivs us som systmti n t insiht on th rol o th input vrils o loi untion. This insiht is rr to spil-purpos huristis (suh s ynmi rorrin) in th s o ROBDDs. Th rst o th ppr is orniz s ollows. Stions 2 n 3 introu isjoint-support omposition n s, rsptivly. Stion 4 sris th prours us or mnipultion, n vntully Stion 5 prsnts th primntl rsults. Proos o Thorms r rr to th Appni, or th sk o rility. 2 Disjoint support omposition Th rprsnttion prsnt in this ppr is s on th notion o tr omposition o untion. In this stion, w introu th si initions onrnin this omposition. W onsir th omposition o untions into th NOR (NAND, OR, AND) o isjoint-support suuntions, whnvr possil. This notion will l to rursiv (.. tr) omposition styl n to th inition o Multi Lvl Domposition Dirms (s).
Dinition. Lt : B n! B not non-onstnt Booln untion o n vrils ; ; n. W sy tht pns on i i @=@ i is not intilly. W ll support o (init y S( )) th st o Booln vrils pns on. 2 Dinition 2. A st o non-onstnt untions ; k, k, with rsptiv supports S( i ) is ll isjointsupport NOR omposition o i: + + k = ; S( i ) S( j )=;; i 6= j() A isjoint support NOR omposition is miml i no untion i is urthr omposl in th OR o othr untions with isjoint support. W in isjoint support OR, AND, NAND ompositions in similr shion. W init y D NOR () ny suh miml omposition. 2 Empl. Th untion = ( + )( + ) hs th ollowin isjoint-support ompositions: 2 l AND: =( + ) n 2 =( + ); l NOR: =( + ) n 2 =( + ) ; l NAND n OR:. In th rst o th ppr, isjoint-support ompositions r rrr to s ompositions, or short. Morovr, w ous only on NOR omposition, s th rsults or th othr ompositions n otin rily y stnr Booln lr. 2. Tr ompositions Domposition n ppli rursivly to loi untions. In this s, w otin rprsnttion o F s on NOR tr. Empl 2. Th untion F =( + )( + + ) th omposition tr. Similrly w n in TD NAND n TD AND/OR. 2 Thorm () low stts n intuitiv ut rlvnt rsult. Thorm. For ivn untion, th ollowin proprtis hol:. thr is uniqu D NOR ; 2. thr is uniqu TD NOR. 2 2.2 Tr-omposl untions. Whn omposin untion, it my possil tht th lvs o th omposition ru only to primry inputs or thir omplmnts. This is th s, or mpl, o th untion F =(+)(++) =[(+) +(++) ]. Dinition 4. A loi untion (;:::; n ) is tromposl i th input suuntions o its TD NOR lon to th st ;:::; n ; ;:::; n, i.. th st o inputs vrils n thir omplmnts. 2 I untion is tr omposl, thn Thorm () inits tht its omposition tr TD NOR is nonil rprsnttion. Not vry untion,howvr, is tromposl. For instn, th untion F = + nnot rprsnt s th NOR o ny isjoint-support suuntions. Hn, NOR omposition trs r not univrsl rprsnttion styl. W n nlr, howvr, th st o tr-rprsntl untions s ollows. Somtims th omplmnt o non-omposl untion my omposl. In this s th omplmnt F = ( + )( + + ) is in tr-omposl. W n thus ploit th omposility o F in rprsntin th D NOR o F y simply ppnin NOT t t th root o th NOR tr. Fi. (2) shows th rprsnttion. Fiur 2. Rursiv omposition with NOT t root. Fiur. A rursivly omposl untion. is rursivly NOR omposl. From th irst omposition w otin = ( + ) n 2 = [ +( + ) + ( + ) ]. Ths untions r thn in omposl until rhin th input vrils, s rport in Fi. (). 2 Dinition 3. A tr omposition o loi untion is rursiv omposition o into NOR-only tr o suuntions, whr th untions t th inputs o h NOR r mimlly ompos. W init y TD NOR Th only rminin qustion is whthr th introution o NOT ts t th root prsrvs noniity, tht is, whthr tr-omposl untion n hv two omposition trs, on with NOT t th root n nothr without it. To this rr, th ollowin rsult hols: Thorm 2. I loi untion F is tr-omposl, thn its omplmnt F is not. 2 Bus o Thorm (2), NOT ts n ppr only t th root or th lvs o th TD NOR. Suppos, y ontrition, tht topoloy lik in Fi. (3) wr possil. In this s, w oul mr th NOR t N 2 with N. This 2
woul init tht tht w h not ompos mimlly th untion rprsnt y th NOR N. N2 Fiur 3. An impossil topoloy or NOR omposition trs. Bs on rursiv D NOR, w hv now prtion loi untions into thr lsss:. tr-omposl untions; 2. untions tr-omposl with th us o NOT ts; 3. untions not tr-omposl. In th nt stion, w sri how th notion o tr omposition n omposility is us or otinin hyri rprsnttion styl or ritrry loi untions. This rprsnttion will ontin NOR trs n BDD nos. W onlu this stion with som osrvtions on tromposl untions: Cnoniity n vril orrins. As mntion, or tr-omposl untions, th tr omposition is nonil. Morovr, unlik ROBDDs, th tr rprsnttion is trivilly inpnnt rom th vril orrin. In, vn i untion F is not ntirly tr-omposl, th knowl o prtil omposition inits orrin strtis or th input vrils o F.IF is omposl s, sy, F =( + 2), thn optiml orrins will pl ll th vrils o on top o thos o 2 (or vivrs), n th siz o th ROBDD o F will th sum o thos o n 2. Hn, it ollows in prtiulr tht th ROBDD o ny tr-omposl untion, with n optiml vril orrin, is linr in th numr o inputs. Booln mthin. Booln mthin is n importnt stp o thnoloy mppin [9]. It onsists o inin whthr two untions () n (y) oini tr rplin th input vrils y with prmuttion P o th input vrils. Vritions o th prolm inlu mthin moulo omplmnttion o som inputs n o on o th untions, n it is nm NPN-mthin (Ntion, Prmuttion, Ntion mthin). In nrl, this is iiult prolm, s it ntils numrtin th prmuttions o th input vtor n hkin th quivln o () with (P ). For tromposl untions, lrly mth ists i n only th trs rprsntin n r qul, pt possily or th prsn o input/ output invrtrs. Tr isomorphism n rri out in tim linr in th siz o th tr [2]. Mor nrlly, mthin n ist only i n ompos in shion similr to. Evn prtil omposility o is thus hlpul. N Booln mnipultion routins. ROBBD mnipultion routins r s on rursiv visit o th ROBDD untions. At h rursion, vril is slt n th otors ; r vlut. Rursion is m st us, y thir vry ntur, ROB- DDs llow onstnt-tim otorin. I untion is rprsnt y NOR tr, inst, thn otorin rquirs ssinin th vlu to th tr input n thn proptin th t (i.., simultin) towrs th output. This simultion tks tim proportionl to th tr pth. In th implmnttion stion it will sn how th knowl o omposition, howvr, hlps ompnstin this mor iiult otorin. 3 Multi-Lvl Domposition Dirms In this stion w ploit tr ompositions to riv nw hyri mol or rprsntin loi untions. W will rprsnt untions o th irst n son lss y tr o NOR ts. Funtions in th thir lss will rprsnt throuh th us o Shnnon pnsion with rspt to som vril, lin to BDD nos. W thn pply tr omposition n Shnnon pnsion in orr to h otor n rursivly. Empl 3. Th untion =( + + ) hs ) + ) Fiur 4. ) Tr omposition o th untion in Empl (3). ) Th sm untion with th ition o BDD nos. TD NOR s in Fi. (4.). Not tht in no s w oul urthr ompos + us o th isjoint support onstrint. Applyin Shnnon pnsion, in Fi. (4.) w otin TD NOR or h input o MUX. 2 Th nw strutur w prsnt in this ppr plors tr ompositions o ivn untion. Bus o its purpos w ll it Multi-Lvl Domposition Dirms,. W now in s s on TD NOR. In our rwins o rphs, irls rprsnt MUX vrtis, whil rrys o squrs rprsnt NOR vrtis. Dinition 5. A is irt yli rph, with l vrtis ll y Booln onstnt or vril n two kins o intrnl vrtis: NOR vrtis hv non-mpty st o outoin s, h pointin to. MUX vrtis hv two outoin s, n, n r ll y Booln vril. A ins rursivly loi untion with th ollowin ruls: 3
2 l A trminl vrt t ll y Booln vril or onstnt nots th untion. l A MUX vrt m ll y Booln vril ins th untion: F m = F (m) +F (m) (2) l A NOR vrt n with k outoin s ins th untion: F n = + + k (3) whr i, i = ;:::;k is th untion in y th point y i. In, whil MUX vrtis orrspon to ROBDD nos, NOR vrtis r nw tur o this mol whih mphsizs th tr ompositions o th untion. Just lik ROBDDs, w impos rution ruls n orrin ruls to s in orr to otin mor ompt nonil rprsnttion: l Thr r no two intil surphs in th sm. l Thr r no vrtis with two or mor outoin s pointin t th sm. l W impos totl orrin twn vrils llin intrnl n trminl vrtis o. Eh pth rom root to trminl must trvrs susqunt MUX nos in rspt o this orrin n h vril is vlut t most on on h pth. ) ) Th ollowin rsult is irt onsqun o th noniity o tr ompositions n rution ruls. W thus stt it without proo, or th sk o onisnss: Thorm 3. Ru Orr Dompos s r nonil. 2 Th o untion mths multi-lvl loi iruit in th ovious wy. In Fi. (6.) n (6.) w rport n th orrsponin t-lvl ntwork. Du to this vint orrsponn, hrtr w will ll rph nos inirntly vrtis or ts. Empl 4. Fi. (6.) rprsnts th nonil ) ) Fiur 6. ) Th o th untion in Empl (4). ) A loi iruit viw o th. ) Its ROBDD. or th untion =( + )( + )+ with liorphil orrin o th vrils. In this s two istint surphs shr th NOR t rprsntin. This is not otn th s or simpl untions. For mor ompl untions it is mor likly to hppn. In Fi. (6.) shows th orrsponin ROBDD. Th hs ompos oth otors n until rhin th input vrils. 2. ) 3. Proprtis o s Fiur 5. Son rution rul. ) NOR vrtis. ) Mu vrtis. It is worth notin tht, unlik ROBBDs, th son rution rul rs irnt onsquns on th two kins o intrnl vrtis. As skth in Fi. (5), rution o MUX vrt implis th ltion o th no. This is not th s or NOR vrtis. In ition to ROBDD-lik ruls, in orr to rnt noniity w must impos omposition ruls: l th suuntions point y NOR vrt must hv isjoint support. Non o thm n ompos y D OR ; l untion is rprsnt y MUX i it is not omposl, nor its omplmnt. W onlu th stion y pointin som rsults on D NOR s tht r usul or th onstrution o mnipultion routins. Thorm 4. Suppos ; ; k isdosom untion. Thn, y rsin lmnts rom th st, th nw st is lso D. 2 Thorm 5. I D NOR ( ) = ; ; k [p; ;p h n D NOR () =; ; l [p; ;p h, whr i 6= j ;i =; l; j =; k, thn:. D NOR ( ) =p; ;p h [ D NOR ([( + ::: + k ) ( + ::: + l ) ] ). 2. D NOR ( + ) = p; ;p h [ D NOR ([( + ::: + k ) +( + ::: + l ) ] ) 3. Lt not vril not in th support o or. Thn: 4
2 Λ D NOR ( + ) = p; ;p h [ D NOR ([ ( + ::: + k ) + ( + + l ) ] ) OR (ml op, ml op2) D(op) = D(op) D(op2); 2 D(op) = D(op) n D(op); 3 D(op2) = D(op2) n D(op); Thorm 6. Lt not vril, 62 S(), n suppos = + 4 i (trminl s) rturn (D(op) [. Thn, 5 rs = omp lookup(op, op2); trminl vlu); 6 i (rs!= NULL) rturn (D(op) [ rs); D NOR ( )=[D NOR () 7 (4) = top vr(op, op2); 8 i (top vr(op) == ) 2 9 op l = vltop(op, ); op r = vltop(op, ); ls op l = op; op r = op; 3.. Complmnttion Th o tr-omposl untion is trivilly2 i (top vr(op2) == ) symmtri s NOR tr, possily with NOT t t th root. This llows 3 lt=or (op l, op2 l); riht=or (op r, op2 r); onstnt tim n sp omplmnttion. 4 rs = ml in (lt, riht, ); It is wll known [8] tht or MUX nos, th insrtion 5 omp insrt (op, op2, rs); o NOT ts (i.. omplmnt s), n ris noniity 6 rturn (D(op) [ rs); prolms. To t roun this prolm w us NOT t rution ruls similr to thos o [8]. Ths r pit in Fi. (7). Fiur 8. Psuoo o OR() Fiur 7. Equivlnt s 4 mnipultion routins As w hv sn, this mol hs som o th ROBDD turs. Amon ths, t strutur tht n mnipult throuh rursiv prours. Th t strutur w implmnt rlizs vrtis uniormly with n-tupls, th irst lmnt in n intr, ll th othrs in pointrs to othr s. In th irst lmnt w no th typ o no (i.., MUX or NOR vrt), th numr o lmnts in th n-tupl (or MUX nos it is lwys 2) n th top vril o th untion rprsnt. W mintin th strutur in stron nonil orm, i.., two quivlnt untions r intii y th sm pointr, y th milir hshin mhnism. W hv thn implmnt Booln oprtion routins. As n mpl, Fi. (8) rports th psuo-o or th loi OR o two untions. Rows, 2 n 3 r th pplition o Thorm 5, s 2. W sk ommon lmnts in th oprns n rmov thm rom th rursiv oprtion. This rmovl n rsult in str ution us w hv simplr oprns. D(op) inits th st o lmnts o th omposition o op. In NOR vrt op, it is th st o ll outoin pointrs (n init st oprtion o irn). Th situtions or whih op is MUX is spil s. For uniorm mnmnt o th strutur n untions rprsnt, w init s D(op) o MUX vrt op, pointr to th omplmnt o th untion root t op. W lso mintin omput tl, lik tht o stnr ROBDD prours, whr w stor prtil rsults. Th rmovl o ommon suuntions lso hlps voiin th ovrill o this tl us w n ploit th nri sinl ntry o th tl F + G = H or rtrivin rsults o vry oprtion (F + ) +(G + ) =(H + ) whn vris, whih onsquntly ns not stor. I th srh in th omput tl ils, w strt rursion. First o ll w in th top vril o th oprns, whih is immit u to its noin in th irst lmnt o th t strutur. Prour vltop(, vlu) rturns th o untion =vlu ssumin is th top vr. o. This stp orrspons to tkin otors in ROBDDs. Atr rursion, ml in() rts rom top vr. n its otors. W now nlyz in mor til ths thr stps, nmly, trminl ss, otorin, n rtion. Trminl ss n vlus pn on th oprtion w r pplyin. For th Booln OR w roniz th ollowin situtions: trminl s rturn vlu op=, op2= op=, op2= op2, op op = op2 op 9; 2 DSD(op ); 2 DSD(op2 ) Prour vltop() is rsponsil or otorin. Its psuo-o is rport in Fi. (9, n Fi. () shows its oprtion. vltop() rursivly os own th tr omposition until it rhs th MUX no ll with th top vril o th, n it tks its otor. In Fi. (.), this is th MUX ll y. Rturnin up rom rursion, it sustituts NOR vrtis with nwly nrt ons, whil mintinin noniity (th sh ts o Fi. (.)). 5
Λ Λ vltop (ml op, ooln vlu) i (op is MUX no) rturn (op.vlu); Fiur. An mpl o vltop() pplition ml in(ml lt, ml riht, top vr ) i (lt == riht) rturn (lt); 2 i = lmnt o op suh tht op.topvr = op.i.topvr; 2 i (riht == ) 3 opr = vltop(op.i, vlu); 3 nw vrt = in or rt(,, ); 4 D(op) = D(op) n op.i; 4 D(rs) = nw vrt [ riht; 5 D(rs) = D(opr) [ D(op); 5 rturn(rs); 6 rturn (rs); 6 i (riht == ) similrly 7 i (lt == or lt == ) symmtri s Fiur 9. Psuoo o vltop() 8 i (lt ρ D(riht)) 9 D(riht) = D(riht) n lt; nw vrt = ml in(, riht, ); [ D(rs) = nw vrt lt; 2 rturn(rs); 3 i (riht ρ D(lt)) symmtri s 4 D(op) = D(lt) D(riht); 5 i ( D(op) = ; ) rturn( in or rt(lt, riht, ) ); 6 D(lt) = D(lt) n D(op); 7 D(riht) = D(riht) n D(op); 8 nw vrt = ml in(lt, riht, ); 9 D(rs) = D(op) [ nw vrt; 2 rturn(rs); Fiur. Psuoo o ml in() Th o o vltop() works s ollows: Lin hks or n-o-rursion-s, i.. rhin o MUX no rom whih w n tk th rqust otor. Othrwis w hv to in th ritil lmnt in our NOR vrt list to us or oin own on lvl. Lin 3 mks th rursiv ll with this ritil lmnt. Atr rursion w sustitut th ritil lmnt in th list with th rturn rph. For mpl i th ritil lmnt ws MUX vrt w sustitut it with its otor. Whil oin this work w my hv to mr list n/or hk or spil ss (or mpl i th rturn rph is th onstnt, w simply rturn th onstnt ) n mintin noniity (rution ruls). Prour ml in() is skth in Fi. (). It uils tryin to isovr vry possil ommon trm rom th two otors. First o ll, it hks or simpl ss (rows 2 to 8). Thy r pplition o Thorm 6. For mpl, rows 2 to 5 min th sitution or riht =, i.., th untion to nrt is = lt. With NOR suh untion is ivn y =( + l + + l n ) (l i r th omponnts o lt). W hv rprsnt ths trminl ss in Fi. (2). in or rt() provis th rtion or rtrivl o MUX or trminl vrt whil kpin up to t uniqu tl similr to tht o ROBDD. In rows 8-3 w hk or on o th two nrl ss, whr non o th otors is onstnt. I th omplmnt o on otor is ontin in th othr s uniqu lmnt, thn thr is tr omposition. r + (r + r2 + + r n ) whr r;r2;:::;r n r th omponnts o th riht. This is quivlnt to: r +[ + (r2 + + r n ) ] W hv rport this s in Fi. (3.). Lins 4-2 l with th othr nrl s. Hr w hv to srh or ommon lmnts twn lt n riht n to tor thm out. This pplis s 3 o Thorm 5. Ths stps r skth in Fi. (3.). As mntion, vltop() n ml in() rpl otorin n th si in or rt() oprtions in ROBDDs. Whil oprtions r trivil onstnttim in ROBDDs, thy my tk O() tim in s, whr nots th tr pth. To this rr, w osrv tht is oun y th numr o vrils n it is rthr smll in prti (lwys 3 or lss or th synthsis nhmrks). Morovr, s OR is ppli to pirs o nos own in th rph, th support st o suuntions will hv wr lmnts n so th numr o lls to vltop(). Empl 5. W hv rport in Fi. (4) miml pth tr omposl untion = ((( + 2)3 + 4)5 + :::. 2 5 s vrsus ROBDDs In this stion w prsnt som omprisons in rprsntin untions with s n ROBDDs. 6
) 5 4 3 ) 2 Fiur 4. A miml tr omposl untion Fiur 2. Intiition o D urin trvrsl - trminl ss 2 3 4 2n- 2n Fiur 5. Th PAD or th untions F n 5.2 Tsts on nhmrk iruits ml H ml ml H ml H ml I ml J ) ) ml H Fiur 3. Intiition o D urin trvrsl - nrl ss 5. Eponntil rowth In this sustion w ontrst s with ROBDDs with rspt to prtiulr lss o orr-snsitiv untions, nmly, th untions: F n =( + 2)(3 + 4) (2n + 2n) (5) It is wll known tht with n impropr orrin o th vrils (or mpl, plin th o-ll vrils up top) rsults in ROBDD or F n with ovr 2 n nos []. Morovr, in spit o th simpliity o th untion, most vril orrins or F n n prov. Th or th untion is shown in Fi. (5). It onsists o two-lvl NOR iruit, rrlss o th orr hosn or th vrils i n it is lwys linr. Empl 6. Consir th untion =(A + B) + ( + AB), with n orrin o vrils plin on top. Sin = 6= =, ny ROBDD hs th spt shown in Fi. (6.). In nrl, w my think o s whr th two otors look lik untion n o Eq. (5), ut with irnt omintion o prouts. Any orrin o ; A; ; B whih optimizs on rnh is oun to suoptiml or th othr rnh o th ROBDD. Fi. (6.) illustrts th or th sm untion. Both rnhs r utomtilly ompos optimlly. 2 ml I ml J W hv ompr our nw mol with ROBDDs in numr o nhmrk iruits in trms o mmory ouption n CPU tim n to uil th output untion rphs. Th nhmrks r ivi in thr stions: multilvl iruits, two-lvl n thir stion tstin th omintionl prt o synhronous iruits. All ths nhmrks om rom th IWLS9 nhmrk suit [2]. Th vril orrin hosn or ths iruits ws otin y pplyin th Brkly orrin [3]. No vril rorrin took pl, howvr, urin th ution o ny pk. W hv implmnt our mol n tst it inst th Crni-Mllon ROBDD pk. W rri out omprisons on th tul mmory ouption. W ssum r-on implmnttions, in whih in prtiulr h ROBDD no tks thr mhin wors. Morovr ROB- DDs hv omplmnt s. With rrs to vrtis, w ssum n implmnttion whr h no on- ) A B A A ) A B A B Fiur 6. ) ROBDD strutur or th untion o Empl (9). ) strutur or th sm untion. 7
sists o n rry. As mntion, th irst lmnt stors inormtions out th no, whil othr lmnts r pointrs. This mol lso implmnts NOT ts throuh omplmnt s. CPU-tim ws tkn on HP Vtr 5/33 with 48Myts o RAM. From Tl, s turn out to mor ompt on vr o 8%. Som nhmrks iv prtiulrly oo rsults, or mpl omp n pir, nhmrks whih TD NOR is vry tiv in omposin output untions until rhin input vrils or vry simpl untions. Th CPU tim is lwys ttr or ROBDDs. Empirilly w hv oun th ollowin thr rsons: l W mk intrnl rursions in th onstrutions o s (vltop() n ml in()). Thus th numr o lls to ky prours or h omputtion is hihr. l W hv to mn rrys tht in nrl hv mor lmnts thn ROBDDs. For mpl, hsh untions r mor ompl n lso storin n rtrivin rom omput tl n uniqu tl ns mor tim. l Th strutur w us llows multipl pths rom rtin no (NOR). On th othr hn, with ROBDD th pth is uniqu. This is similr to simultion throuh NFA opposit to DFA. W hv lso implmnt ynmi rorrin in our mol with sitin-s lorithm [2]. Ovr ROBDDs, w hv th vnt to know mor out oo vril orr irtly rom th t strutur. In tl 2 w mk omprisons usin or h nhmrk th orr ivn y sitin (intrstinly, it is irnt or th two mols). Vril orrin took pl only t th n o ution. Rsults show tht, tr sitin, s improv slihtly urthr ovr ROBDDs. W think this is us urin sitin w ploit our ttr knowl o th untion s strutur n n voi to o throuh orrins tht iv smll vnt ut lok urthr improvmnts. 6 Conlusions n utur work s hv prov thmslvs iint in mkin pliit th Ds o loi untions. This proprty llows us to rh mor ompt, lil n roust rph-s rprsnttion. Morovr, this rprsnttion is losly rlt to multipl lvl iruit, n is mor inormtiv on th rol o th support vrils o untion. W pt ths proprtis to usul in ivrs pplitions, most notly thnoloy mppin or omintionl iruits n Booln mthin /rhility nlysis or vriition / ATPG in squntil iruits. 7 Appni Bnhmrk ROBDD RATIOS nos mm nos mm nos mm MultiLvl lu2 25 65 26 59 62.7% 8.5% lu4 685 255 5 77 34.% 6.% p6 7 353 93 3377 29.7% 4.% p7 555 665 23 979 4.3% 7.% 9 8 543 75 452 4.3% 2.% C355 45922 37766 4456 523 4.% -8.3% C432 378 93534 647 82676 93.% 3.% C499 45922 37766 4456 523 4.% -8.3% 8 33 399 96 388 38.5% 2.8% C88284 38523 973 3476 4.% 22.4% ht 5 45 86 42 74.4% 6.9% CM5 5 533 285 66 79.3% 43.8% CM52 383 49 284 6 34.9% 8.4% omp 5476 6428 434 459 6.8% 26.% ount 24 62 87 73 9.% -2.9% DES 358 94524 2885 966.8% 4.3% mpl2 869 267 223 362 289.7% 9.4% r 24 62 53 458 284.9% 33.6% r2 374 42 349 472 7.9% 6.4% k2 28336 858 27437 8634 3.3% -.5% ll 38 44 63 284 9.% 45.8% Ars 457 37 456 372.2% -.% pir 428 23384 853 2664 4.7% 363.% plr8 44 432 98 392 46.9%.2% rot 2537 376 7796 27463 6.8% 37.% st 8 354 49 239 4.8% 48.% trm 638 94 54 54 34.3% 254.4% too lr 796 2288 4876 853 45.5% 7.3% ttt2 25 65 5 565 78.3% 8.8% v 4345 335 423 3235 3.4% -.5% 297 389 223 67 48.6% 32.9% 4 683 249 477 825 43.2% 2.3% TwoLvl lu4.pl 97 359 8 3294 49.4% 9.% p5.pl 2679 837 88 5259 46.2% 52.8% lip.pl 226 678 48 664 52.7% 2.% 64.pl 44 4323 66 244 283.3% 79.8% mis2.pl 37 4 34 294 32.9% 39.8% mis3.pl 3 393 84 3929 59.8% -.7% so2.pl 55 465 48 39 222.9% 45.8% v2.pl 44 332 52 2429.8% 28.9% F.S.M. 769 237 8 785 55.7% 29.2% 2 375 25 44 729 752.3% 54.3% 3 29 387 27 37 377.8% 22.% 4 248 744 39 497 535.9% 49.7% 5 9 357 23 25 47.4% 42.2% 7 44 432 28 38 44.3% 4.3% s96 3387 6 226 9523 52.8% 6.7% s238 387 926 28 8998 53.% 2.9% s423 278 3824 53 336 25.2% 5.% s344 68 54 97 454 73.2%.% s4252 456 76 34.% 34.% s526 89 567 98 482 92.9% 7.6% s73 93 279 228 48 296.% 83.% s838 3 948 668 2.7% 34.7% s953 474 422 2 32 35.8% 9.2% Tl. ROBDD vs. in siz n prormn with Brkly orrin Proo o Thorm. Th proo o th irst ssrtion ollows y ontrition: W ssum th istn o two istint D NOR, nmly, ; ; p n ; ; q, n show tht this ls 8
Bnhmrk ROBDD RATIOS nos mm nos mm nos mm MultiLvl lu2 64 492 8 474 39.% 3.8% lu4 429 287 349 25 22.9% 2.9% p6 669 27 537 247 24.6% -6.5% p7 484457 76 25.7% 89.5% 9 65 495 58 388 84.5% 27.6% C355 346 938 343 95622.4% -4.4% C432 3 39 2478 54-47.5% -64.7% C499 346 938 343 95622.4% -4.4% 8 3 64 238 56.2% 26.% C88 6969 297 4294 4392 62.3% 45.3% ht 9 273 9 376.% -27.4% CM5 7 5 7 52.% -.9% CM52 9 57 6 46 8.8% 23.9% omp 52 456 66 38 3.3% 9.7% ount 82 246 87 339-5.7% -27.4% DES 955 28545 858 28898 8.% -.2% mpl2 646 938 83 6 253.% 82.7% r 86 558 4 337 353.7% 65.6% r2 957 587 79 389 47.7% 54.% k2 426 4278 67 3796 3.% 2.7% ll 94 282 42 232 23.8% 2.6% Ars 52 56 456 372.% 9.8% pir 632 896 4283 5485 4.8% 6.9% plr8 3 39 64 324 3.% 2.4% rot 769 227 378 485 9.6% 49.5% st 53 59 33 87 6.6% -5.% trm 7 32 53 283.9% 3.4% too lr 3 3339 578 2529 92.6% 32.% ttt2 58 474 6 38 63.3% 24.4% v 534 62 289 648 84.8% -2.8% 682 246 22 4 459.% 3.8% 4 682 246 26 28 25.7% 8.4% TwoLvl lu4.pl 79 237 55 2675 53.4% -.4% p5.pl 44 432 88 3935 63.5% 9.8% lip.pl 7 5 66 276 57.6% 84.8% 64.pl 732 296 66 244 9.% -8.7% mis2.pl 333 32 286 246.9% 6.4% mis3.pl 76 22885 7 3.8% 94.9% so2.pl 33 399 45 289 95.6% 38.% v2.pl 44 242 59 43 6.7% 28.2% FSM 639 97 4 568 54.4% 22.3% 2 37 44 7 74.9% 56.% 3 29 387 27 36 377.8% 22.5% 4 239 77 36 477 563.9% 5.3% 5 8 324 23 249 369.6% 3.% 7 28 384 28 3 357.% 27.6% s96 86 248 38 862 53.5% 29.9% s238 83 2439 3 82 6.4% 34.6% s344 64 492 8 395 5.% 24.6% s4279 537 75 337 38.7% 59.3% s526 47 44 69 387 3.% 4.% s73 747 224 73 33.8%.9% s838 293 879 47 665 99.3% 32.2% s953 498 494 58 8 25.2% 38.2% Tl 2. ROBDD vs. in siz n prormn tr ynmi rorrin nssrily to th violtion o som proprtis o th untions i or i. It is not rstritiv to ssum tht th two sts i; i ir us 6= i;i =; ;p:sin i; i r oth ompositions o, it must : + + p = + + q (6) or quivlntly, + + p = + + q : (7) Sin ll untions i hv isjoint support, it is possil to in n ssinmnt o th vrils in S( 2);S( 3); ;S( q) suh tht i =;i =2; ;q. Noti tht th vrils in S( ) hv not n ssin ny vlu. Corrsponin to this prtil ssinmnt, Eq. (7) oms: Λ + + Λ p = (8) In Eq. (8), Λ i nots th rsiu untion otin rom i with th ormntion prtil ssinmnt. W n now istinuish svrl ss, pnin on th ssumptions on th strutur o th lt-hn si o Eq. (8). Cs ). Th lt-hn si rus to onstnt. Hn, is onstnt, inst th ssumptions. Cs 2). Th lt-hn si ontins two or mor trms. Sin ths trms must hv isjoint support, is urthr omposl, inst th ssumptions. Cs 3). Th lt-hn si rus to sinl trm. It is not rstritiv to ssum this trm to Λ. I = Λ, thn w hv =, inst th ssumption tht irs rom ny i. Hn, it must Λ 6=, n S( )=S( Λ ) ρ S( ) stritly: (9) W now show tht lso this s ls to ontrition. Consir son ssinmnt, zroin ll untions j;j 6=. Eq. (7) now rus to = Λ + + Λ q : () By th sm rsonins rri out so r, th r.h.s. o Eq. () n ontin only on trm. W now show tht this trm must. Λ I, y ontrition, = Λ j ;j 6=, thn y Eq. (9) on woul hv S( )=S( Λ j ) S( ) () inst th ssumption o i; j in isjoint-support. Hn, it must =. Λ In this s, y rsonins similr to thos lin to Eq. (9), w t S( )=S( Λ ) ρ S( ) stritly (2) whih ontrits Eq. (9). Hn, nnot ir rom ny i, n th irst point is prov. Th proo o th son sttmnt ollows y pplyin rursivly D NOR to h o i. Sin h D is uniqu, th tr omposition is lso uniqu n th Thorm is prov. 2 Proo o Thorm 2. By ontrition. Suppos w hv untion F tht is omposl s F =( + 2) with S( ) S( 2)=; n suh tht F is lso omposl s F =( + 2) with S( ) S( 2)=;. W hv to prov ontrition in th quivln: ( + 2) = + 2 (3) For sk o rility, w in =, = 2, =, = 2 n ontrit: = + : (4) 9
W prtition th supports o ths untions in this wy: S = S() S() S = S() S() S = S() S() S = S() S() Som o th S ij n mpty. In th rst o th proo w show tht Eq. (4) implis tht th support o t lst on o,,, is mpty, inst th ssumptions. To this n, w will rwrit Eq. (4) unr irnt prtil ssinmnts o th vrils in S ij. For instn, y sltin n ssinmnt o S() suh tht =, w otin: = + (5) whr inits th untion otin y ssinin in th vrils o S with vlus stisyin =. Th support o is thn S. Similrly, w n hoos nothr ssinmnt in S() so tht =n otin: = + : (6) From Eqs. (5) n (6), w hv: + = =( + )( + ) : (7) W now in prssions or n. W vlut to zro, ruin th ov qution to: =( + )( + ) : (8) is otin y ssinin irst th vrils in S n thn thos in S. Du to th omplt ssinmnt, is onstnt (not nssrily ). Similrly or. So, in ruin th lst qution, w our ss:. = =. Thn =, i.. its support st is mpty inst th ssumptions. 2. =n =. Thn =. 3. =n =. Thn =. 4. = =. Thn =. Rptin th sm prour to Eq. (7) with th vlution o to, w hv th symmtri ss:. = =. Thn =. 2. =n =. Thn =. 3. =n =. Thn =. 4. = =. Thn =. Now w hv to prov th ontrition usin Eq. (7) or ll th possil omintions o ths ss.. = n =. + =( + )( + )= + (9) Th ontrition oms vint i, or mpl, w ssin =, = n =, whih ls to =, i.. S = ;. A son ssinmnt, =, =n =, ls to =, so tht lso S = ;. Thus S = S [ S = ;; woul hv to onstnt, ontrition. 2. = n =. + =( + )( + )= + (2) Sin = w know tht S = ; n isor. W onsir oth ss. I =th qution ov rus to: ( + )= + n vlutin =n =w in =, hn S = ;, n thror S() =S [ S = ;. I, inst, =w hv: + = + Assinin =n =w in =, i.. S = ;, n thn S() =S [ S = ;, inst th ssumptions. 3. = n =. Thn, S = ;, S = ; n S() = S [ S = ;, i.. is onstnt. 4. = n =. + =( + )( + )= + (2) n lso S = ; n S = ;. Sin n r onstnts, w onsir two ss: =. Thn + = + n vlutin =w in tht is onstnt, so tht S() =S [ S = ;, inst th ssumptions. I, inst, =,whv ( + )= + : Evlutin = w in =. Thn S = ; n S() =S [ S = ;. All othr situtions r rsolv y pplyin th sm rsonin s in lst ss. 2 Proo o Thorm 4. Consir rmovin sinl lmnt, sy,, rom th st. Th nw st, 2; ; k, is still omposition. It is lso miml, or i ny trm wr urthr omposl, thn th sm trm woul omposl in ; ; k, n ; ; k woul not D. 2 Proo o Thorm 5. W prov only th thir rsult, th othr ss in onptully similr. Clrly, th riht-hn si o th thir qution is NOR omposition. Thror, th only issu is its mimlity. Non o p ; ;p h n urthr ompos, or ls w woul ontrit th ssumption tht p ; p h ppr in, sy, D NOR ( ). Th only nit or urthr omposition is thn p h+ =[ ( + ::: + k ) + ( + + l ) ]. Suppos, y ontrition, tht p h+ hs D OR z ; ;z q with mor thn on lmnt. In this s, pprs in th support o only on untion z j, sy, z q. Hn, = ( + ) = = = (p + + p h + z + + z q + z q;=) = ( + ) = = = (p + + p h + z + + z q + z q;=) Sin th trms z ; ;z q ppr in n, thy nnot oini with ny o i; j. But thn n woul hv two istint D NOR s, lry prov impossil. 2 Proo o Thorm 6. Th riht-hn si is isjoint-support omposition. Its mimlity ollows rom th impossiility o rkin own or ny trm in D NOR () into sum o othr trms. 2 Rrns [] R. E. Brynt. Grph-s lorithms or ooln untion mnipultion. IEEE Trns. on Computrs, 35(8):677 69, Auust 986. [2] O. Court n J.C. Mr. A unii rmwork or th orml vriition o squntil iruits. In Pro. ICCAD, ps 26 29, Novmr 99.
[3] S. Mlik, A. R. Wn, R. K. Bryton, n A. Sniovnni- Vinntlli. Loi vriition usin inry ision irms in loi synthsis nvironmnt. In Pro. ICCAD, ps 6 9, Novmr 988. [4] Y. Mtsun n M. Fujit. Multi-lvl loi optimiztion usin inry ision irms. In Pro. ICCAD, ps 556 559, Novmr 989. [5] H. Touti, H. Svoj, B. Lin, R.K. Bryton, n A. Sniovnni-Vinntlli. Impliit stt numrtion o init stt mhins usin BDD s. In Pro. ICCAD, ps 3 33, Novmr 99. [6] F. Corno, P. Printto, n M. Sonz Ror. Usin symoli thniqus to in th mimum liqu in vry lr sprs rphs. In Pro. EDAC, ps 32 324, Mrh 995. [7] Y-T. Li n S. Sstry. E-vlu inry ision irms or multi-lvl hirrhil vriition. In Pro. DAC, ps 24 243, Jun 992. [8] K. S. Br, R. L. Rull, n R. E. Brynt. Eiint implmnttion o BDD pk. In Pro. DAC, ps 4 45, Jun 99. [9] H. Ohi, K. Ysuok, n S. Yjim. Brth-irst mnipultion o vry lr inry ision irms. In Pro. DAC, ps 48 55, Novmr 993. [] K. M. Butlr, D. E. Ross, R. Kpur, n M. R. Mrr. Huristis to omput vril orrins or th iint mnipultion o inry ision irms. In Pro. DAC, ps 47 42, Jun 99. [] S. J. Frimn n K. J. Supowit. Finin th optiml vril orrin or inry ision irms. IEEE Trns. on Computrs, 39:7 73, 99. [2] R. Rull. Dynmi vril orrin or orr inry ision irms. In Pro. ICCAD, ps 42 47, Novmr 993. [3] U. Kshull, E. Shurt, n W. Rosntil. Multilvl loi s on untionl ision irms. In EuroDAC, Proins o th Europn Conrn on Dsin Automtion, ps 43 47, Sptmr 992. [4] R. Drhslr, A. Sri, M. Thol, B. Bkr, n M. A. Prkowski. Eiint rprsnttion n mnipultion o o swithin untions s on orr kronkr untionl ision irms. In Pro. DAC, ps 45 49, Jun 994. [5] S.-I. Minto. Zro-supprss s or st mnipultion in omintoril prolms. In Pro. DAC, ps 272 277, Jun 993. [6] Y.-T.Li, M. Prm, n S. B. K. Vruhul. Ev-s lorithms or ilp, sptrl trnsorm n untion omposition. IEEE Trns. on CAD/ICAS, 3(8):959 975, Auust 994. [7] R. E. Brynt. Binry ision irms n yon: nlin thnolois or orml vriition. In Pro. ICCAD, ps 236 243, 995. [8] V. Brto n M. Dmini. Booln untion rprsnttion usin prlll-ss irms. In Sith Grt Lks Symposium on VLSI, Mrh 996. [9] F. Milhot n G. DMihli. Alorithms or thnoloy mppin s on inry ision irms n on ooln oprtions. IEEE Trns. on CAD/ICAS, ps 599 62, My 993. [2] A. Aho, J. E. Hoprot, n J. D. Ullmn. Th sin n nlysis o omputr lorithms. Aison Wsly, 974. [2] S. Yn. Loi synthsis n optimiztion nhmrk usr ui, vrsion 3.. MCNC, Jnury 99.