Outlin RETIMING Struturl optimiztion mthods. Gionni D Mihli Stnford Unirsity Rtiming. { Modling. { Rtiming for minimum dly. { Rtiming for minimum r. Synhronous Logi Ntwork Synhronous Logi Ntwork Synhronous logi ntwork: { Vrils. { Booln qutions. i d s { Synhronous dly nnottion. () Synhronous ntwork grph: { Vrtis $ qutions $ I/O, gts. { Edgs $ dpndnis $ nts. i 2 () d s { Wights $ synh. dlys $ rgistrs.
(n) (n) (n) d (n) (n) (n) s (n) = i (n) i (n;) = i (n;) i (n;2) = (n) (n) = (n) + d (n;) = d (n) (n;) + d (n) (n) = (n) = (n;) Synhronous Logi Ciruit Modling Stt-sd modl: { Trnsition digrms or tls. { Expliit notion of stt. { Impliit notion of r nd dly. = i i@ = i@ i@2 = d = + d@ = d @ + d = s = @ Struturl modl: { Synhronous logi ntwork. { Impliit notion of stt. { Expliit notion of r nd dly. Approhs to synhronous logi optimiztion Optimiz omintionl logi only. Optimiz rgistr position only: { Rtiming. Optimiz orll iruit: { Priphrl rtiming. { Synhronous trnsformtions: Algri. Sprt rgistrs from omintionl logi Optimiz omintionl logi y trnsformtions: { Modify qutions. { Modify grph strutur. Connt rgistrs k into th ntwork: { Good huristi. { Limitd y th prtitioning strtgy. Booln.
Rtiming Mo rgistr position. Do not modify omintionl logi. d x d x Prsr ntwork strutur: { Modify wights. () x x () { Do not modify grph strutur. () (d) Assumptions Rtiming Vrtx dly is onstnt: Glol optimiztion thniqu [Lisrson]. { No fnout dly dpndny. Chngs rgistr positions: { ts r: hngs rgistr ount. { ts yl-tim: hngs pth dlys twn rgistr pirs. Grph topology is inrint: { No logi trnsformtions. Synhronous implmnttion: { Cyls h positi wights. { Edgs h non-ngti wights. Soll in polynomil tim. Considr topologil pths: { No fls pth nlysis.
Rtiming Rtiming of rtx: f { Intgr. { Rgistrs mod from output to input. Rtiming of ntwork: { Vtor of rtx rtiming. f A fmily of quilnt ntworks r spid y: { Th originl ntwork. { A rtiming tor. Dnitions: Dnitions nd proprtis { w( i j ) { wight of dg ( i j ). { ( i ::: j ) { pth from i to j. { d( i ::: j ){ pth dly from i to j. 2 u r= r = RETIMING of n EDGE PATH 2 u w(u,) = w(u,) = 2 til 2 hd Proprtis: { Rtiming of n dg ( i j ): w ij = w ij + r j ; r i. w(pth) = 2 CYCLE 2 { Rtiming of pth ( i ::: j ): til w(yl) = hd w( i ::: j ) = w( i ::: j ) + r j ; r i : { Cyl wights r inrint.
Lgl rtiming Rnd nlysis Clok priod. Lst rgistr pth: Rtiming tor suh tht: { No dg wight is ngti: w ij = w ij + r j ; r i 8i j. { Eh pth ( i ::: j ) with d( i ::: j ) > hs t lst on rgistr: w( i ::: j ) = w( i ::: j ) + r j ; r i 8i j. Ft: { Originl grph hs no yls with wight ) nw grph hs no yls with wight. { W ( i j ) = min w( i ::: j ). { Or ll pths twn i nd j. Critil dly: { D( i j ) = mx d( i ::: j ) { Or ll th pths from i to j with wight W ( i j ). Thr xists rtx pir i j whos D( i j ) ounds th yl-tim. Minimum yl-tim rtiming prolm f Find minimum lu of th lok priod suh tht thr xist rtiming tor whr: { r i ; r j w ij 8( i j ) 2 E { r i ; r j W ( i j ) ; 8 i j jd( i j ) >. Vrtis:. Pths: ( ) nd ( ). W ( ) = 2 nd D( ) = 6. Solution: { Gin lu of : sol linr onstrints. mthods: Bllmn-Ford or drit. MILP. Rlxtion.
Minimum yl-tim rtiming lgorithm Comput ll-pir W ( i j ) nd D( i j ). { Wrshll-Floyd lgorithm ( O(V ) ). f Sort th lmnts of D in drsing ordr. Binry srh for in D( i j ) suh tht: { Thr xist lgl rtiming. { Bllmn-Ford lgorithm ( O(V ) ). Rmrks: { Rsult is glol optimum. { Orll omplxity is O(V logv ). Constrints (rst typ): { r ; r or quilntly r r ; { r ; r or quilntly r r ; { = Sort lmnts of D: f { ( 2 26 24 2 2 2 9 6 4 2 9 6 ). 2 Slt: = 9: { PASS. Slt: = : { PASS. Slt: < : { FAIL. Constrints (sond typ): { r ; r 2 ; or quilntly r r ; { r ; r f ; or quilntly r f r + { r f ; r g ; or quilntly r g r f + { r g ; r f 2 ; or quilntly r f r g ; { r g ; r ; or quilntly r r g ; 2
= f Rlxtion-sd lgorithm Rtionl Look for pths with xssi dly. f Mk thm shortr y pulling losr th trminl rgistr. Solutions: { ;[222] T (LP from ). { Som othr pths my om too long. { Thos pths whos til hs n mod. Us n itrti pproh. { ;[222] T (Equilnt solution). Rlxtion-sd lgorithm = Dn rtx dt rdy tim: { Totl dly from rgistr oundry. () f f (2) Itrti pproh: f f { Find rtis with dt rdy tim >. () (2) { Rtim ths rtis y. f f Proprtis: () (2) { Finds lgl rtiming in t most jv j itrtions, if on xists.
Dt-rdy tims: { t = t = t = t d = t = t f = t g = 24 t h = 24. Rtim: ft f t g t h g y. Dt-rdy tims: { t = t = t = t d = t = t f = t g = 4 t h = 4. Rtim: { ft t g t h g y. Dt-rdy tims: { t = t = t = t d = t = t f = t g = t h =, { TIMING FEASIBLE NETWORK! Minimum r rtiming prolm Find rtiming tor tht minimizs th numr of rgistrs. Simpl r modling: { Ery pos.-wightd dg! rgistr. { Totl rgistr r ost quls totl of wights. Rgistr shring modl: { Ery st of positily-wightd dgs with ommon til! shift-rgistr. { Rgistr r ost quls mximum of wights on outgoing dgs. Minimum r rtiming simpl modl () Rgistr rition t rtx : { r (indgr() ; outdgr()). () Totl r rition: { P r (indgr() ; outdgr()). () Ar minimiztion prolm: { min X 2V r (indgr() ; outdgr()). { s.t. r i ; r j w( i j ) for ry ( i j ).
min Minimum r rtiming undr yl tim onstrint { X r (indgr() ; outdgr()). s.t. 2V { r i ; r j w( i j ) for ry ( i j ). { r i ; r j W ( i j ) ; 8 i j jd( i j ) >. Minimum r rtiming lgorithm Linr progrm. Trnsform into mthing prolm: { Edmonds-Krp lgorithm. { Polynomil tim. Rmrk: { Rgistr shring modl n trnsformd into th simpl modl. { Sm solution lgorithms. Summry of rtiming Squntil optimiztion thniqu for: { Cyl tim or rgistr r. Applil to: { Synhronous logi modls. { Arhitturl dt-pth modls: Rsours with dlys. Ext lgorithm in polynomil tim. Prolms: { Dly modling. { Ntwork grnulrity.