Register Allocation and Binding for Low Power. Jui-Ming Chang and Massoud Pedram. function of signal statistics and correlations, and hence is

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

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

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

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

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

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

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

Planar Upward Drawings

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

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

COMPLEXITY OF COUNTING PLANAR TILINGS BY TWO BARS

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

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

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

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

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

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

12. Traffic engineering

1 Introduction to Modulo 7 Arithmetic

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

Constructive Geometric Constraint Solving

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

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

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

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

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

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

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

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

Register Allocation. How to assign variables to finitely many registers? What to do when it can t be done? How to do so efficiently?

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

ECE COMBINATIONAL BUILDING BLOCKS - INVEST 13 DECODERS AND ENCODERS

Garnir Polynomial and their Properties

Numbering Boundary Nodes

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

EE1000 Project 4 Digital Volt Meter

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

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

COMP108 Algorithmic Foundations

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

Present state Next state Q + M N

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

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

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

CS 241 Analysis of Algorithms

Seven-Segment Display Driver

Problem solving by search

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

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

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

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

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

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?

New challenges on Independent Gate FinFET Transistor Network Generation

CS September 2018

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

Similarity Search. The Binary Branch Distance. Nikolaus Augsten.

Outline. Binary Tree

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

Designing A Concrete Arch Bridge

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

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

Clustering Techniques for Coarse-grained, Antifuse-based FPGAs

QUESTIONS BEGIN HERE!

Computational Biology, Phylogenetic Trees. Consensus methods

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

Trees as operads. Lecture A formalism of trees

A Low Noise and Reliable CMOS I/O Buffer for Mixed Low Voltage Applications

Graph Contraction and Connectivity

Solutions to Homework 5

GREEDY TECHNIQUE. Greedy method vs. Dynamic programming method:

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

The Plan. Honey, I Shrunk the Data. Why Compress. Data Compression Concepts. Braille Example. Braille. x y xˆ

DETAIL B DETAIL A 7 8 APPLY PRODUCT ID LABEL SB838XXXX ADJ FOUR POST RACK SQUARE HOLE RAIL B REVISION

Module 2 Motion Instructions

TOPIC 5: INTEGRATION

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

Section 3: Antiderivatives of Formulas

Multipoint Alternate Marking method for passive and hybrid performance monitoring

MAT3707. Tutorial letter 201/1/2017 DISCRETE MATHEMATICS: COMBINATORICS. Semester 1. Department of Mathematical Sciences MAT3707/201/1/2017

temporally share the same FPGA Large circuit PI s micro-cycle one user cycle PO s

Layout Decomposition for Triple Patterning Lithography

QUESTIONS BEGIN HERE!

arxiv: v1 [cs.ar] 11 Feb 2014

Constructing Minimal Spanning/Steiner Trees. with Bounded Path Length. Department of EE-Systems

Analysis for Balloon Modeling Structure based on Graph Theory

XML and Databases. Outline. Recall: Top-Down Evaluation of Simple Paths. Recall: Top-Down Evaluation of Simple Paths. Sebastian Maneth NICTA and UNSW

Weighted graphs -- reminder. Data Structures LECTURE 15. Shortest paths algorithms. Example: weighted graph. Two basic properties of shortest paths

Instructions for Section 1

EXAMPLE 87.5" APPROVAL SHEET APPROVED BY /150HP DUAL VFD CONTROL ASSEMBLY CUSTOMER NAME: CAL POLY SLO FINISH: F 20

Chapter 9. Graphs. 9.1 Graphs

CS553 Lecture Register Allocation 1

DUET WITH DIAMONDS COLOR SHIFTING BRACELET By Leslie Rogalski

Announcements. Programming Project 4 due Saturday, August 18 at 11:30AM

NMEA 2000 GATEWAY ASSEMBLY

1. Determine whether or not the following binary relations are equivalence relations. Be sure to justify your answers.

Clustering for Processing Rate Optimization

CSE303 - Introduction to the Theory of Computing Sample Solutions for Exercises on Finite Automata

Transcription:

Rgistr Allotion n ining or Low Powr Jui-Ming hng n Mssou Prm Dprtmnt o Eltril Enginring-Systms Univrsity o Southrn liorni Los Angls, A 989 Astrt This ppr sris thniqu or lulting th swithing tivity o st o rgistrs shr y irnt t vlus s on th ssumption tht th joint p (proility nsity untion) o th primry input rnom vrils is known or tht suintly lrg numr o input vtors hs n givn, th rgistr ssignmnt prolm or minimum powr onsumption is ormult s minimum ost liqu ovring o n ppropritly n omptiility grph (whih is shown to trnsitivly orintl) Th prolm is thn solv optimlly (in polynomil tim) using mx-ost ow lgorithm Exprimntl rsults on- rm th viility n usulnss o th pproh in minimizing powr onsumption uring th rgistr ssignmnt phs o th hviorl synthsis pross Introution On riving tor hin th push or low powr sign is th growing lss o prsonl omputing vis s wll s wirlss ommunitions n imging systms tht mn high-sp omputtions n omplx untionlitis with low powr onsumption Anothr riving tor is tht xssiv powr onsumption is oming th limiting tor in intgrting mor trnsistors on singl hip or on multipl-hip moul Unlss powr onsumption is rmtilly ru, th rsulting ht will limit th sil pking n prormn o VLSI iruits n systms Th hviorl synthsis pross onsists o thr phss: llotion, ssignmnt n shuling Ths prosss trmin how mny instns o h rsour r n (llotion), on wht rsour omputtionl oprtion will prorm (ssignmnt) n whn it will xut (shuling) Tritionlly, hviorl synthsis ims to minimiz th numr o rsours rquir to prorm tsk in givn tim or to minimiz th xution tim or givn st o rsours It hs om nssry to vlop hviorl synthsis thniqus tht lso ount or powr issiption in th iruit This rsrh ws support in prt y th NSF's Young Invstigtor Awr unr ontrt No MIP-9457392 n grnt rom th Intl orp 32n AM/IEEE Dsign Automtion onrn Prmission to opy without ll or prt o this mtril is grnt, provi tht th opis r not m or istriut or irt ommril vntg, th AM opyright noti n th titl o th pulition n its t ppr, n noti is givn tht opying is y prmission o th Assoition or omputing Mhinry To opy othrwis, or to rpulish, rquirs n/or spii prmission 995 AM -8979-756-/95/6 $35 This xtns th two-imnsionl optimiztion prolm to thir imnsion Th thr phss o th hviorl synthsis pross must thus moi to prou low powr iruits Unortuntly, powr issiption is strong untion o signl sttistis n orrltions, n hn is non-trministi Automti thniqus tht minimiz th swithing tivity on glolly shr usss n rgistr ls, tht slt low powr mros tht stisy th timing onstrints, tht shul oprtions to minimiz th swithing tivity rom on yl stp to nxt, t must vlop This ppr onsirs rgistr ssignmnt or low powr Most o th high-lvl synthsis systms prorm shuling o th ontrol n t ow grph (DFG) or llotion o th rgistrs n mouls n synthsis o th intronnt [][8][7] s this pproh provis timing inormtion or th llotion n ssignmnt tsks Othr systms prorm th rsour llotion n ining or shuling, in orr to provi mor pris timing inormtion vill uring th shuling [9] Eithr pproh hs its own vntgs n shortomings Th prsnt work ssums tht th shuling o th DFG hs n on n prorms th rgistr llotion or th llotion o mouls n intronntion During th rgistr llotion n ssignmnt, t vlus (rs in th t ow grph) n shr th sm physil rgistr i thir li tims o not ovrlp In th pst, rsrhrs hv propos vrious thniqus to ru th totl numr o th rgistrs us Th xisting pprohs inlu rul-s [6], gry or itrtiv [], rnh n oun [3], linr progrmming [], n grph thorti, s in th Ft systm [8], th HAL systm [6] n th EASY systm [7] Powr onsumption o wll sign rgistr sts pns minly on th totl swithing tivity o th rgistrs In mny pplitions, th t strms whih r input to th iruit hv rtin proility istriutions Vrious wys o shring rgistrs mong irnt t vlus thus prou irnt swithing tivitis in ths rgistrs This work prsnts novl wy olulting this swithing tivity s on th ssumption tht th joint p (proility nsity untion) o primry input rnom vrils is known or suintly lrg numr o input vtors hs n givn In th lttr s, th joint p n otin y sttistil mthos Atr otining th joint p o primry input vrils, th p o ny intrnl r (t vlu) in th t ow grph n th joint p o ny pir o rs (t vlus) in th t ow grph r lult y mtho tht will sri in til in th ollow-

ing stions Th swithing tivity on pir o rs is thn ormult in trms o th joint p o ths rs, or ltrntivly, in trms o untion o th joint p o ll primry input vrils Th li tim o h r (t vlu) in shul t ow grph is th tim uring whih th t vlu is tiv (vli) n is n y n intrvl [irth tim; th tim] A omptility grph G(V,A) or ths rs (t vlus) is thn onstrut, whr vrtis orrspon to t vlus, n thr is irt r (u,v) twn two vrtis i n only i thir orrsponing li tims o not ovrlp n th u oms or v W will show tht th unorint omptility grph or th rs (t vlus) in shul t ow grph without yls n rnhs is omprility grph (or trnsitivly orintl grph) whih isprt grph [5] This is vry usul proprty, s mny grph prolms (g mximum liqu; mximum wight k-liqu ovring, t) n solv in polynomil tim or prt grphs whil thy r NP-omplt or gnrl grphs Hving lult th swithing tivity twn pirs o rs tht oul potntilly shr th sm rgistr n givn th numr o rgistrs tht r to us, th rgistr ssignmnt prolm or minimum powr onsumption is ormult s minimum ost liqu ovring o th omptiility grph Th prolm is thn solv optimlly (in polynomil tim) using mx-ost ow lgorithm Th two prolms, lultion o th ross-r swithing tivitis (whih must prorm O(j E j) tims, whr j E j is th numr o gs in th omptiility grph) n powr minimiztion uring rgistr ssignmnt, r inpnnt Th lultion o th ross-r swithing tivitis n prorm y ny mns W prsnt on suh thniqu ltr Othr thniqus my howvr us Th powr optimiztion is prorm on th rossr swithing tivitis r known Th rminr o this ppr is orgniz s ollows: Stion 2 shows th mtho to lult th swithing tivity twn pirs o t vlus (rs) Stion 3 shows th mtho to optimiz th powr onsumption o rgistrs in th rgistr llotion phs in hviorl synthsis Stion 4 r som xmpls to monstrt th mthoology 2 Swithing Ativity lultion 2 lultion o vrious ps In mny instns, th input t strms r somwht known, n n thus sri y som proilisti istriutions (Our propos mtho pplis not only to th wll known proility istriutions, suh s joint Gussin istriution, ut lso to ritrry proility istriutions) Givn suint numr o input vtors, it is possil to n th symoli xprssions or th p's n th joint p o ll inputs using mthos in sttistis For xmpl, on wy to o this is to lult th rquny o th ourn or h vtor mong th st o input vtors, n thn prorm th intrpoltion on th sts o isrt points to otin th symoli xprssion o th joint p Altrntivly, on n work irtly with th input vtors without hving to n th symoli xprssion o th joint p, tht is, or suintly lrg numr o th input vtors, th rquny o ourn or h input vtor n srv s th vlu o th joint p or tht pttrn I w r givn th joint p o th input rnom vrils o t ow grph, thn th joint p o ny pir o vlus (rs in th t ow grph) n lult [5] W wnt to n th joint p o ny two rs Suppos tht th two rs r y = u (x ;x 2;:::;x n) n y 2 = u 2(x ;x 2;:::;x n) W n nothr (n 2) r untions y 3;y 4;:::;y n n orm systm o n qutions in n input vrils Lt's not th joint p o th n input vrils s (x ;x 2;:::;x n) I th invrs solution x = w (y ;y 2;:::;y n);x 2 = w 2(y ;y 2;:::;y n);:::;x n = w n(y ;y 2;:::;y n) n otin symolilly, thn th joint p o y ;y 2;:::;y n whih is not y (y ;y 2;:::;y n) is: whr J J (y ;y 2;:::;y n)= jj j [w (y ;y 2;:::;y n); w 2(y ;y 2;:::;y n);:::; w n(y ;y 2;:::;y n)] is th nxn invrs Join: (y ;y 2;:::;y n)= x x y x 2 x 2 y xn y yn y 2 x y 2 x 2 yn xn y 2 xn yn On w hv th (y ;y 2;:::;y n),w n lult th pirwis p o y n y 2, y y 2 (y ;y 2), s Z Z Z y y 2 (y ;y 2)= (y ;y 2;:::;y n) y 3y 4 :::y n: Th intgrtion n prorm ithr symolilly or numrilly Th numril intgrtion ovr (n 2) vrils involvs muh mor omputtion, ut is n ltrntiv pproh whih is lwys possil whnvr th symoli intgrtion ovr th (n 2) vrils is not possil In ition to th lultion o pirwis joint ps, th p o ny intrnl r is n to lult th totl swithing tivity o th st o rgistrs Suppos untion y = w(x ;x 2;:::;x n) is som r (t vlu) in th t ow grph pning on n input rnom vrils x ;x 2;:::;x n Th (umult istriution untion) o th nw rnom vril y is n s G(y) = pro(y y), whih is qul to pro(w(x ;x2;:::;x n) y) Th ov proility n vlut s: G(y) = ZZ Z A (x ;x 2;:::;x n) whr (x ;x 2;:::;x n) is th joint p o th n input rnom vrils x ;x 2;:::;x n, n A = (x ;x 2;:::;x n) j w(x ;x2;:::;x n) yg Th p o y s g(y) is thn otin y g(y) = G(y) y

i j k ontrol ontrol x y Mux R DMux out,mux in,r in,dmux out, R Figur : Our rgistr shring mol 22 Th powr onsumption mol Swith pitn rrs to th prout o th lo pitn n th swithing tivity o th rivr Th powr onsumption o rgistr is proportionl to th swith pitn on its input n output (s Fig ) Suppos rgistr R n shr twn thr t vlus i; j n k: W ssum tht n input multiplxor piks th vlu tht is writtn into R whil n output multiplxor ispths th stor vlu to its propr stintion Now, P (R ) / swithing(x) ( out;mux in;r )swithing(y) ( out;r in;dmux) Sin swithing(x) =swithing(y), P (R )=swithing(y) totl Not tht totl is x or givn lirry In ny s, minimizing th swithing tivity t th output o th rgistrs will minimiz th powr onsumption rgrlss o th spi lo sn t th output o th rgistrs Hr w ignor th powr onsumption intrnl to rgistrs n only onsir th xtrnl powr onsumption In th rgistr llotion phs, i svrl omptil rs r ssign to th sm rgistr R, th swithing on R will our whnvr on stor t vlu is rpl y nothr t vlu For xmpl, suppos,y,z n W r our omptil t vlus tht shr rgistr R n th rs (; Y ); (Y;Z);(Z;W) 2 A Suppos tht in th ginning, th rgistr ws rst to som unknown vlu W ssum th swithing tivity rom th unknown vlu to is som onstnt vlu Thn th ollowing is th hin o th t trnsitions! Y! Z! W I th input vril vlus r known, thn th xt swithing tivity is lult s onstnt H(; Y )H(Y; Z) whr H(i; j) is th Hmming istn twn two numrs i n j I, howvr, th iruit hs vn on input rnom vril, th whol systm hs to sri in proilisti wy s sri nxt Assum tht th n primry input rnom vrils r ; 2;:::; n n st A = ( ; 2;:::; n)g is th st ontining ll possil omintions o input tupls Lt st = (x; y) j x = x( ; 2;:::; n); y = y( ; 2;:::; n); 8( ; 2;:::; n) 2Ag Th swithing tivity twn th two onsutiv t vlus n Y is thn givn y: swithing(; Y ) = (x;y)2 i j k xy(x; y) H(x; y) () whr th summtion is ovr ll possil pttrns o (x; y) 2, n th untion H(x; y) is th Hmming istn twn two numrs x n y whih r rprsnt in rtin numr systm in inry orm Eqution ( ) rquirs tht th isrt typ joint p or x; y known Th mtho or lulting th joint p o two rnom vrils sri in stion 2 is minly suitl or th s whn th vrils in th systm r o ontinuous typ Whn howvr th prision us to rprsnt th isrt numrs is high nough or th vrin o th unrlying istriution is not too lrg, th ontinuous typ p g xy(x; y) n us s goo pproximtion or th isrt typ p P xy(x; y) tr ing multipli y th sling tor ( (x;y)2 gxy(x; y)) Th symoli omputtion mtho is howvr not vry prtil us it involvs th tsks o ning th symoli invrs solution o th systm o nonlinr qutions n symoli or numril intgrtion o omplit xprssions ovr th rgion n y omintion o inqulitis n/or qulitis Fortuntly, th sm swithing tivity or pir o isrt rnom vrils x n y n otin muh mor sily y th ollowing: swithing(;y ) = 2 n ( ; 2;:::; n) H(x( ; 2;:::; n);y( ; 2;:::; n)) (2) whr ( ; 2;:::; n) is th joint p o th input vrils ; 2;:::; n oth qution ( ) n qution ( 2) strt rom th ssumption tht th joint p ( ; 2;:::; n) is otin or known This is nssry onition in orr to prisly lult th ross-r swithing tivitis Furthrmor, qution ( 2) n us irtly on th input vtors r givn without otining th symoli xprssion or ( ; 2;:::; n) Hr w ssum tht th it with o rgistr is nit, so th totl numr o th pttrns tht n stor in rgistr is lso nit I w ssum ll o th numrs in our systm r intgrs (positiv or ngtiv), thn th totl numr o irnt (x; y) pirs involv in qution ( ) is t most 2 2it with In gnrl, qution ( 2) involvs multiimnsionl nst summtions ovr intrvls o intgrl vlus Whn th joint p o primry input vrils is n-limit (g Gussin), w n nrrow own th intrvl o summtion in h imnsion n thry signintly sp up th omputtion Lt's not th st A = ( ; 2;:::; n)g, st = (x; y) j x = x( ; 2;:::; n); y = y( ; 2;:::; n); 8( ; 2;:::; n) 2Ag, = (y; z) j y = y( ; 2;:::; n); z = z( ; 2;:::; n); 8( ; 2;:::; n) 2Ag, n D = (z;w) j z = z( ; 2;:::; n); w = w( ; 2;:::; n); 8( ; 2;:::; n) 2Ag Th totl swithing tivity in th ov xmpl with rgistr R shr y our rs (t vlus) is ormult s ollows: onstnt onstnt (x;y)2 (y;z)2 (z;w)2d xy(x; y) H(x; y) yz(y; z) H(y; z) zw(z;w) H(z;w) = ( ; 2;:::; n)(h(x; y) 2 n H(y; z)h(z;w)) (3) Th totl swithing tivity or rgistr n lult tr th th st o vrils tht shr tht rgistr

r oun Not tht th squn o t trnsitions r known t tht tim 3 Powr Optimiztion 3 Mx-ost ow ormultion Dnition 3 A irt grph G = (V,A) is ll th omptiility grph or rgistr llotion prolm i th it is onstrut y th ollowing prour Eh r (t vlu) i in th t ow grph hs n intrvl (irth tim i; th tim i) ssoit with it Eh opn intrvl i orrspons to vrtx i in G = (V,A) Thr is irt r(u; v) 2 A i n only i intrvl u \ intrvl v = ; n th tim u < irth tim v All proos n oun in [2] Thorm 3 Givn t ow grph without loops n rnhs, th omptiility grph G = G(V,A) or rgistr llotion prolm is yli Dnition 32 [5]An unirt grph G =(V,E) is omprility grph i thr xists n orinttion (V,F) o G stisying F \ F = ;; F F = E; F 2 F whr F 2 = (; ) j (; ); (; ) 2 F or som vrtx g omprility grphs r lso known s trnsitivly orintl grphs n prtilly orl grphs Dnition 33 Th unorint omptiility grph G = (V; E) is otin y rmoving th g orinttions o G =(V; A) Thorm 32 Givn t ow grph without loops n rnhs, th unorint omptiility grph G = (V,E) or rgistr llotion prolm is omprility grph To minimiz th totl powr onsumption on th rgistrs, ntwork N G = (s; t; V n;e n;;k) is onstrut rom th omptiility grph G = G(V; A) This is similr onstrution to th on us in [7] to solv th wight moul llotion prolm whih simultnously minimizs th numr o mouls n th mount o intronntion n to onnt ll mouls onptully, N G = (s; t; V n;e n;;k) is onstrut rom G = G(V;A) with two xtr vrtis, th sour vrtx s n th sink vrtx t Th itionl rs r th rs rom s to vry vrtx in V o G(V;A), n rom vry vrtx in V o G(V; A) tot W us th Mx-ost Flow lgorithm on N G to n mximum ost st o liqus tht ovr th G = G(V; A) Th ntwork on whih th ow is onut hs th ost untion n th pitis K - n on h r in E n Assuming tht h rgistr hs n unknown vlu t tim t,w us onstnt sw to rprsnt th swithing(unknown; v) or h vrtx v Mor ormlly, th ntwork N G = (s; t; V n;e n;;k) is n s th ollowing: V n = V [s; tg E n = A [(s; v); (v; t) j v 2 V g w(s; v) = L sw M (4) w(u; v) = L = L (u;v)2 2 uv(u; v) H(u; v) M ( ; 2;:::; n) H(u( ; 2;:::; n);v( ; 2;:::; n)) (5) w(v; t) = L; 8 v 2 V; w(t; s) = L: (6) whr A = ( ; 2;:::; n)g, = (u; v) j u = u( ; 2;:::; n); v = v( ; 2;:::; n); 8( ; 2;:::; n) 2Ag, L = mx swithing(u; v)g M ovr ll possil u,v 2 V [sg, n M is lrg onstnt us to sl up th smllst swithing tivity vlu to n intgr For h r 2 E n, ost untion : E n! N is n, whih ssigns non-ngtiv intgr ost to h r Th ost untion or ntwork N G is : (u; v) = w(u; v) or ll (u; v) 2 E n Th ost untion is n to init th powr svings on th r For h r 2 E n, pity untion K: E n! N, is n tht ssigns to h r non-ngtiv numr Th pity o ll th rs is on, xpt or th rturn r rom t to s whih hs pity k, whr k is usr-spi ow vlu n K(u; v) = ; 8(u; v) 2 E n n(t; s)g K(t; s) = k For h r 2 E n,ow untion : E n! N is n whih ssigns to h r non-ngtiv numr Th ow () on h r 2 E n must oy th ollowing: () K() n th ow onhvrtx v 2 V n must stisy th ow onsrvtion rul Thorm 33 A ow : E n! N with j j =, in th ntwork N G orrspons to liqu in th unorint omptiility grph G Thorm 34 A ow : E n! N, with j j = k, inth ntwork N G orrspons to st o liqus ; 2;:::; k in th unorint omptiility grph G Th gnrt liqus my not vrtx isjoint us th k pths in th N G my not vrtx isjoint On wy to nsur tht th rsulting liqus r vrtx isjoint is to mploy no-splitting thniqu This thniqu uplits vry vrtx v 2 V in th grph G = G(V;A) into nothr no v Thr is n r rom v to v or h v 2 V I thr is n r (u; v) 2 A in th grph G = G(V; A), thr is n r (u ;v) in th nw ntwork NG Thr is lso n r rom th sour vrtx s to vry vrtx v 2 V n rom vry uplit vrtx v to th sink vrtx t Mor ormlly, th no splitting thniqu gnrts th ollowing ntwork NG = (s; t; Vn;E n; ;K ) whr: Vn = V n [ V thr is vrtx v = (v) 2 V or h vrtx v 2 V En = A [(s; v); ((v);t);v 2 V g[(t; s)g [(v; (v) j v 2 V g

Dt Folw Grph / * s Ntwork Atr Vrtx Splitting t 2 3 4 5 omptiility Grph s t Ntwork or Vrtx Splitting Figur 2: From t ow grph to ntwork N G A = ((u);v) j(u; v) 2 Ag ((t; s)) = ((v; (v)) = L; 8 v 2 V ((u ;v)) = ((u; v)) or ll (u ;v)2a [(s; v) ; ((v);t)j v 2 V g K ((t; s)) = k; K ((u; v)) = or ll u 6= t; n v 6= s: Th trnsormtions rom th t ow grph to th nl ntwork N G r shown in Fig 2 Thorm 35 A ow : E n! N, with j j = k, in th ntwork NG orrspons to st o vrtx isjoint liqus ; 2;:::; k in th unorint omptiility grph G Dnition 34 [4]Lt N = (s,t,v,e,,k) ow ntwork with unrlying irt grph G=(V,E), wighting on th rs ij 2 R or vry r (i,j) 2 E, pity K() or vry r 2E, n ow vlu v 2 R Th min-ost ow prolm is to n sil s-t ow o vlu v tht hs minimum ost In th orm o n LP: min t A = v vry no vry r vry r whr A is th no-r inin mtrix n ( i=s i = i=t othrwis Dnition 35 Th mximum ost ow prolm is tht givn ntwork N=(s,t,V,E,,K) n x ow vlu v, n th ow tht mximizs th totl ost Th sist mtho to solv th mx-ost ow prolm is to ngt th ost o h r in th ntwork, n run th min-ost ow lgorithm on th nw ntwork [4] Th prvious ntwork onstrution NG nsurs tht th rsulting pths r vrtx isjoint liqus in G (or G ) Whn th mx-ost ow lgorithm is ppli on this ntwork,w otin liqus tht mximiz th totl ost Th ow vlu on h pth is on, this implis tht th totl ost on h iniviul pth is th sum ovr ll iniviul rs on tht pth oring to thir topologil orr in th grph G = G(V; A), whr th ost on h r is linr untion o th \Sv Powr" For xmpl, i (s; ), (; ), (; ), (; t) is pth rom sour s to sink t Th totl ost on this pth is ost(s; ) ost(; ) ost(; ) ost(; t) Also, rom th ov inormtion, w n onlu tht th st o vrils ; ; g will shr th sm rgistr oring to th orr!! : Thorm 36 Th mx-ost ow lgorithm on th ntwork NG givs th minimum totl powr onsumption on th rgistrs in th iruit rprsnt y th omptiility grph G P Proo: Th totl ost is () (), whih is 2En linr untion o th \Totl Sv Powr" Th rson is tht 2 En L () () = 2En 2En () [L M swithing()] = () M 2En () swithing() In our spilly onstrut ntwork, () invry r xpt (t; s) P hs vlu ithr zro or on Th rst trm in th ov, (), is onstnt (=2jV jk 2En or G = G(V;A)) mong ll possil liqu ovrings tht ovr ll o th vrtis in th originl grph G Whn w mximiz th totl ost or givn ow vlu in NG,w r in minimizing th totl powr onsumption givn tht th numr o rgistrs is qul to this ow vlu Not tht, th mx-ost ow onnglwys ns th liqu ovring tht ovrs ll o th vrtis in th originl grph G whnvr th ow vlu j j is lrgr thn or qul to k min k min n trmin y th lt g lgorithm [] or simply y ning th mximum numr o rs tht ross ny -stp ounry In most ss, th k min oun y th lt g lgorithm is qul to th k min or mx-ost ow Howvr, in som pthologil ss, th two vlus r not th sm In tht s, post-prossing stp is n [2] 2 Th tim omplxity or th mx-ost ow lgorithm is O(km 2 ), oring to [4], whr m =2jV j2 or th grph G = G(V; A) n k is th ow vlus onitionl rnhs n sily hnl in our systm y rlxing th onitionl t ow grph into svrl

unonitionl t ow grphs n prorming th ov mtho on th iniviul rlx t ow grphs Du to th limit sp, w o not prsnt th tils hr A til xposition is provi in [2] 4 An xmpl Th ollowing xmpl is s on shul t ow grph s th on shown in Fig 3 This simpl t ow grph hs v primry input vrils,,, n For th sk o prsnttion, whoos th 5-vrit joint Gussin istriution s th joint p o,,, n Not howvr tht our mtho works or ritrry joint p's Th 5-vrit Gussin is goo hoi s this p is ommonly nountr in mny pplition omins, lik DSP Lt = A ; whr A = Th 5-vrit Gussin istriution is givn y: : : : : : () = Gussin5(; ; ; ; ) = p (2)5 t() xp 2 t g A whr mtrix is th ovrin mtrix or th 5-vrit Gussin joint p W ssum tht in this s it is givn y: 69:39 25:37 38:29 2:669 6:576 25:37 73:235 :992 4:952 63:63 38:29 :992 9:6 2:767 2:559 2:669 4:952 2:767 66:73 :366 6:575 63:63 2:559 :366 74:76 A Th numril vlus on th right hn si r provi s n xmpl From Fig 3, w know tht thr r six intrmit vrils in th t ow grph, tht is, rnom vrils, g, h, i, j, n k = g = h = ( ) ( ) i = ( )() j = 2 k = 2 ()() Th vrils' li tims r: (; 2); (; 2); (; 2); (; 2); (; 4); (2; 3); g(2; 4); h(2; 4); i(4; 5); j(4; 5); k(5; 6)g From th ov li tims, th prour us to onstrut th orint omptiility grph or th rgistr llotion prolm gnrts G = G(V; A) In this xmpl, w ssum 6-it rgistrs n th two's omplmnt rprsnttion or th vlus All numrs r in th rng [-32768, 32767] 2 3 4 5 6 g * g h i ^2 j k Figur 3: Th shul t ow grph W us qution ( 2) in Stion 22 to lult th ross-r swithing tivitis or vry pir o rs in G(V;A): Th swithing tivity o or ny vril x rom tim = t whih is ssum to hv som unknown vlu to th tim tht th vril gts its rst vlu ws tkn to onstnt qul to (=5)[swithing(;)swithing(;) swithing(;)swithing(;)swithing(;)]: Atr lulting th swithing tivitis, w onstrut th mx-ost ow ntwork Th wight onh r is lult y qution ( 4)-( 6) in Stion 3 Hr w hoos M =, n so L = 837 Th ollowing wights r otin: w(x; x )=L; 8x 2 V ; w(s; x) = 527; 8x 2 V n othr w's r givn y th ollowing tl: g h i j k t 4699 335 265 96 2697 233 837 4687 3755 22 998 366 329 837 3373 4599 2225 229 267 73 837 38 4552 2258 2296 278 64 837 245 3884 229 837 679 2827 65 837 g 364 248 274 837 h 278 6 837 i 296 837 j 487 837 Applying th mx-ost ow on th ntwork N G with th vrtx splitting thniqu, th ollowing rsults or numr o rgistrs, liqus n tul totl swithing tivity r otin: No o rg; liqus tot SA 7; ; g; ; g; ig; ; jg; g; g; hg; kgg 6554 6;; g; ; g; i; kg; ; jg; g; g; hgg 67872 5;; g; ; g; i; kg; ; hg; ; jg; gg 7882

Not tht our mtho ns th minimum powr rgistr ssignmnt or th givn numr o rgistrs To monstrt tht th swithing tivity lultion s on th joint p is nssry to otin low powr rgistr ssignmnt w prorm n xprimnt whr vry r wight in th omptiility grph ws st to som onstnt (= ) n thn rn th mx-ost ow or irnt ow vlus For ow vlu 5, w otin: Numr o rgistrs is qul to 5, liqus = ; h; kg; ; ; ig; ; g; jg; g; gg, tul totl swithing tivity = 8487882, whih is 355% wors thn th optimum solution Nxt, w gnrt rgistr ssignmnt solution using Rl [] whih ns th minimum numr o rgistrs n (in this s) n otin th ollowing rsult: Numr o rgistrs is qul to 5, liqus = ; ; i; kg; ; g; jg; ; hg; g; gg, tul totl swithing tivity = 7847, whih is 7% wors thn th optimum solution In, mong ll vli rgistr ssignmnt o givn siz, our propos lgorithm ns th on tht minimizs th powr onsumption Th prntg powr rution inrss or lrgr t ow grphs For xmpl, w otin 225% improvmnt in powr (ompr to th minimum rgistr ount rgistr ssignmnt prour) on 7-input t ow grph using similr ssumptions out th joint p n th t typs Spilly, For th Min-Powr Rgistr Assignmnt, w otin: Numr o rgistrs is qul to 9, liqus = ; ig; ; hg; ; j; kg; l; mg;ng; g; g;g; ggg n tul totl swithing tivity = 686; Numr o rgistrs is qul to 8, liqus = ; l; mg; ; hg;; j; kg; ;ig; g;g;gg;ngg n tul totl swithing tivity = 7272; Numr o rgistrs is qul to 7, liqus = ; l; m; ng;; hg; ; j; kg, ;ig;g;g; ggg n tul totl swithing tivity = 7763 For th Min-ount Rgistr Assignmnt, w otin: Numr o rgistrs is qul to 7, liqus = ; j; mg; ; h; k; ng; ; i; lg; g; g; g; ggg n tul totl swithing tivity = 7 5 onlusion This ppr prsnt novl wy to lult th swithing tivity xtrnl to st o rgistrs s on th ssumption tht th joint p o th primry input rnom vrils is known or n lult For shul t ow grph without yls, th omptiility grph or rgistr llotion n ssignmnt prolm ws provn to trnsitivly orintl grph A spil ntwork ws thn onstrut rom th ov omptiility grph n th mx-ost ow lgorithm ( vrition o min-ost ow lgorithm) ws prorm to otin th minimum powr onsumption rgistr ssignmnt Du to proprtis o trnsitivly orintl grph, th tim omplxity is polynomil Our utur work will ous on th rgistr ssignmnt or piplin sign n t ow grph with outr loops Aknowlgmnt Th rst uthor knowlgs hlpul isussions with hin-hi Hsu, Tung-Shn Lin n Kuo-hun L rom prtmnt o EE-systms t th Univrsity o Southrn liorni Rrns [] M lkrishnn n P Mrwl \Intgrt Shuling n ining: A Synthsis Approh or Dsign Sp Explortion" In pro o th 26th AM/IEEE DA, pp 68-74, 989 [2] J-M hng, M Prm,\Powr Eint Rgistr Assignmnt", ENG Thnil Rport 95-3, Univrsity o Southrn liorni, Mr 995 [3] G D Mihli,\Synthsis n Optimiztion o Digitl iruits"', MGrw Hill 994 [4] J Emons n RM Krp,\Thortil Improvmnts in Algorithmi Einy or Ntwork Flow Prolms", Journl o th AM, vol 9, no2, pp 248-264, April 972 [5] MGolumi, \Algorithmi Grph Thory n Prt Grphs", Ami Prss 98 [6] G Goossns, D Lnnr, J Vnhoo, J Ry, J Vn Mrrgn, n H D Mn \Optimiztion-s Synthsis o Multiprossor hips or Digitl Signl Prossing with thrl- II" In G Suir n PM MLlln, itor, Logi n Arhittur Synthsis, 988 [7] Y Hithok n DE Thoms, \A Mtho o Automti Dt Pth Synthsis", in Pro o th 2th Dsign Automti on Nw York, NY:AM/IEEE, pp 484-489, Jun 983 [8] R Hogg, A rig, \Introution to Mthmtil Sttistis" ourth Eition pp47-52 [9] D Ku, G D Mihli, \Rltiv Shuling Unr Timing onstrints", in DA, Proings o Dsign Automtion onrn, pp 59-64, Jun 99 [] K Kuukkr n A Prkr \MAAL, A Sotwr Pkg or Moul n us Allotion" Intrntionl Journl o omputr Ai VLSI Dsign, pp 49-436, 99 [] F Kurhi, A Prkr, \REAL: A Progrm or REgistr Allotion", in Proing o 24th Dsign Automtion onrn, Jun 987 [2] P Mihl, U Luthr, P Duzy, \Th Synthsis Approh to Digitl Systm Dsign", Kluwr Ami Pulishrs [3] M Pngrl n DD Gski, \Dsign Tools or Intllignt Silion ompiltion", IEEE trns on AD, 6(6), Nov 987 [4] Ppimitriou, K Stiglitz, \omintoril Optimiztion, Algorithms n omplxity" Prnti-Hll, in, 982 [5] A Ppoulis, \Proility, Rnom Vrils, n Stohsti Prosss" Thir Eition, stion 63, MGrw-Hill, 99 [6] PG Pulin n JP Knight,\Shuling n ining Algorithms or High-Lvl Synthsis", in Pro o th 26th AM/IEEE Dsign Automtion onrn (DA), pg -6, 989 [7] L Stok,\An Ext Polynomil Tim Algorithm or Moul Allotion", in Fith Intrntionl Workshop on High-Lvl Synthsis, uhlrhoh, pp69-76, Mrh 3-9 99 [8] -J Tsng n DP Siwiork, \Automt Synthsis o Dt Pths in Digitl Systms", IEEE trns on AD, 5(3), July 986