Clustering for Processing Rate Optimization

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

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

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

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

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?

Garnir Polynomial and their Properties

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

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

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

12. Traffic engineering

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

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

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

Present state Next state Q + M N

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

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

Planar Upward Drawings

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

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

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

Similarity Search. The Binary Branch Distance. Nikolaus Augsten.

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

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

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

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

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

Constructive Geometric Constraint Solving

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.

1 Introduction to Modulo 7 Arithmetic

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

Numbering Boundary Nodes

COMPLEXITY OF COUNTING PLANAR TILINGS BY TWO BARS

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

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

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

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

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

COMP108 Algorithmic Foundations

QUESTIONS BEGIN HERE!

Computational Biology, Phylogenetic Trees. Consensus methods

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

CS 241 Analysis of Algorithms

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

Problem solving by search

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

MULTIPLE-LEVEL LOGIC OPTIMIZATION II

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

QUESTIONS BEGIN HERE!

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

CS September 2018

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

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

Multi-Way VLSI Circuit Partitioning Based on Dual Net Representation

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

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

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

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

Seven-Segment Display Driver

Design Optimization Based on Diagnosis Techniques

ECE COMBINATIONAL BUILDING BLOCKS - INVEST 13 DECODERS AND ENCODERS

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

Analysis for Balloon Modeling Structure based on Graph Theory

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

Reducing the Depth of Quantum Circuits Using Additional Circuit Lines

EE1000 Project 4 Digital Volt Meter

Aquauno Video 6 Plus Page 1

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

Designing A Concrete Arch Bridge

Formal Concept Analysis

Outline. Binary Tree

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

Discovering Pairwise Compatibility Graphs

DUET WITH DIAMONDS COLOR SHIFTING BRACELET By Leslie Rogalski

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

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

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

GREEDY TECHNIQUE. Greedy method vs. Dynamic programming method:

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

16.unified Introduction to Computers and Programming. SOLUTIONS to Examination 4/30/04 9:05am - 10:00am

Trees as operads. Lecture A formalism of trees

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)

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?

arxiv: v1 [cs.ds] 20 Feb 2008

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

More Foundations. Undirected Graphs. Degree. A Theorem. Graphs, Products, & Relations

New challenges on Independent Gate FinFET Transistor Network Generation

Multipoint Alternate Marking method for passive and hybrid performance monitoring

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

A comparison of routing sets for robust network design

Layout Decomposition for Quadruple Patterning Lithography and Beyond

Section 3: Antiderivatives of Formulas

35 th Design Automation Conference Copyright 1998 ACM

Minimum Spanning Trees

A PROPOSAL OF FE MODELING OF UNIDIRECTIONAL COMPOSITE CONSIDERING UNCERTAIN MICRO STRUCTURE

C-201 Sheet Bar Measures 1 inch

Transcription:

Clustring for Prossing Rt Optimiztion Chun Lin, Ji Wng, n Hi Zhou Eltril n Computr Enginring Northwstrn Univrsity Evnston, IL 60208 Astrt Clustring (or prtitioning) is ruil stp twn logi synthsis n physil sign in th lyout of lrg sl sign. A sign vrifi t th logi synthsis lvl my hv timing losur prolms t post-lyout stgs u to th mrgn of multipl-lok-prio intronnts. Consquntly, tr-off twn lok frquny n throughput my n to mt th sign rquirmnts. In this ppr, w fin tht th prossing rt, fin s th prout of frquny n throughput, of squntil systm is uppr oun y th riprol of its mximum yl rtio, whih is only pnnt on th lustring. W formult th prolm of prossing rt optimiztion s sking n optiml lustring with th miniml mximum-yl-rtio in gnrl grph, n prsnt n itrtiv lgorithm to solv it. Sin our lgorithm vois inry srh n is ssntilly inrmntl, it hs th potntil of ing omin with othr optimiztion thniqus. Exprimntl rsults vlit th ffiiny of our lgorithm. 1 Introution Ciruit lustring (or prtitioning) is oftn mploy twn logi synthsis n physil sign to ompos lrg iruit into prts. Eh prt will implmnt s sprt lustr tht stisfis rtin sign onstrints, suh s th siz of lustr. Clustring hlps to provi th first orr informtion out intronnt lys s it lssifis intronnts into two tgoris: intr-lustr ons r lol intronnts u to thir sptil proximity whil intr-lustr ons my om glol intronnts ftr floorpln/plmnt n routing (lso known s iruit lyout). Du to ggrssiv thnology sling n inrsing oprting frqunis, intronnt ly hs om th min prformn limiting ftor in lrg sl signs. Inustry t shows tht vn with intronnt optimiztion thniqus suh s uffr insrtion, th ly of glol intronnt my still longr thn on lok prio, n multipl lok prios r gnrlly rquir to ommunit suh glol signl. Sin glol intronnts r not visil t logi synthsis whn th funtionlity of th implmnttion is th mjor onrn, sign tht is orrt t th logi synthsis lvl my hv timing losur prolms ftr lyout u to th mrgn of multipl-lok-prio intronnts. This gp hs motivt rnt rsrh to tkl th prolm from iffrnt spts of viw. Som of thm rsort to rtiming [14], whih is tritionl squntil optimiztion thniqu tht movs flip-flops within iruit without stroying its funtionlity. It ws us in [21, 4, 17, 20, 16] to piplin glol intronnts so s to ru th lok prio. Although rtiming hlps to rliv th ritility of glol intronnts, thr is lowr oun of th lok prios tht n hiv us rtiming nnot hng th ltny of ithr (topologil) yl or n input-to-output pth in th iruit. In s tht th lowr oun os not mt th frquny rquirmnt, rsign n r-synthsis my hv to rri out. On wy to voi rsign is to insrt xtr wir-piplining units lik flip-flops to piplin long intronnts, s on within Intl [5] n IBM [13]. It n shown tht if th prio lowr oun is trmin y n input-to-output pth, piplining n ru th lowr oun without ffting th funtionlity. Howvr, if th prio lowr oun is givn y yl, insrting xtr flip-flops in it will hng its funtionlity. C-slow trnsformtion [14] is thniqu tht slows own th input issu rt 1 of th iruit to ommot highr frqunis. It ws thus us in [18] to rtin th funtionlity whn xtr flip-flops wr insrt in yls. In othr wors, throughput ws srifi (m 1/C) to mt th frquny rquirmnt. Inst of slowing own th throughput uniformly ovr th whol iruit, Ltny Insnsitiv Dsign (LID) [2, 1], on th othr hn, mploys protool tht slows own th throughput of prt of th iruit only whn it is n. As rsult, LID n gurnt miniml throughput rution whil stisfying th frquny rquirmnt. W show in Stion 2 tht th formntion thr pprohs (rtiming, piplining with C-slow, n piplining with LID) n unifi unr th sm ojtiv funtion of mximizing th prossing rt, fin s th prout of frquny n throughput, s illustrt in Figur 1. In ition, th prossing rt of squntil systm is uppr oun y th riprol of th mximum yl rtio of th systm, whih is only pnnt on th lustring. Thrfor, w propos n optiml lgorithm tht fins lustring with th miniml mximum-yl-rtio. Logi Synthsis Clustring Floorpln/ Plmnt & Routing Rtiming Piplining& C-slow Piplining& LID Figur 1: A logil n physil sign flow. Prossing Rt Th rst of this ppr is orgniz s follows. Stion 2 prsnts th prolm formultion. Two prvious works r rviw in Stion 3. Stion 4 fins th nottions n onstrints us in this ppr. Our lgorithm is lort in Stion 5, follow y th implmnttion tils in Stion 6. W prsnt som xprimntl rsults in Stion 7. Conlusions r givn in Stion 8. Du to sp limit, ll th proofs r omitt, whih n foun in [15]. 2 Prolm formultion W onsir lustring sujt to siz limit for lustrs. Mor spifilly, h gt hs spifi siz, s wll s This work ws support y th NSF unr CCR-0238484. 1 Th issu rt is fin s th numr of lok prios twn sussiv input hngs. An issu rt of 1 inits tht th inputs n hng vry lok prio.

h intronnt. W rquir tht th siz of h lustr, fin s th sum of th sizs of th gts n th intronnts in th lustr, shoul no lrgr thn givn onstnt A. Rplition of gts is llow, i.., gt my ssign to mor thn on lustr in th lyout. Whn gt is rplit, its inint intronnts r lso rplit so tht th lustr iruit is logilly quivlnt to th originl iruit. Figur 2 (tkn from [19]) shows n xmpl of gt rplition in lustring. i () o Figur 2: () An xmpl iruit; () A lustring with 3 rplis of gt. Givn prtiulr lustring, w trt th rplis of gts n th originl ons istintly n not thm ll s V. W us E to not th st of intronnts mong V. Th lustr iruit is rprsnt s G = (V, E ). In orr for th iruit to oprt t spifi lok prio λ, itionl wir-piplining flip-flops r insrt. For ll yl o in G, lt (o ) not th yl ly, w(o ) n w λ (o ) not th numr of flip-flops in o for n ftr itionl piplining flip-flops r insrt, rsptivly. Assuming w(o ) > 0, th yl rtio of o is fin s φ(o ) = (o )/w(o ). Not tht φ(o ) is fin using w(o ), not w λ (o ). Th mximum yl rtio ovr ll th yls in G is not s φ = mx o G φ(o ). W fin prossing rt s follows. Dfinition 1 For squntil systm, prossing rt is fin s th lngth of pross input squn pr unit tim. In prtiulr, it is th prout of frquny n throughput in synhronous systm. Th lrgr th prossing rt, th ttr th squntil systm. Givn th ov finition, th pproh of rtiming tully mximizs th prossing rt y minimizing th prio whil kping th throughput. It is intrsting to noti tht th pproh of piplining with C-slow trnsformtion lso mximizs th prossing rt for spifi prio y omputing th lst slowown of th issu rt, whih is trnsform into throughput rution. As n ltrntiv, Ltny Insnsitiv Dsign (LID) hlps th lustr iruit rh th mximum throughput for spifi prio. Thrfor, ll th thr pprohs n unifi unr th sm ojtiv funtion of mximizing th prossing rt. It ws shown in [3] tht th mximum throughput ρ λ of n LID for spifi prio λ n omput s ρ λ = i o () w(o ) min yl o G w λ (o. ) On th othr hn, th ft tht th iruit n oprt t th spifi prio λ ftr th insrtion of itionl flipflops implis tht w λ (o )λ (o ), i.., 1 1 w λ (o ), (o )/λ yl o G. Sustitut this into th formul of ρ λ to gt w(o ) ρ λ min o G (o = min λ )/λ o G φ(o = λ. ) φ It follows tht th mximum prossing rt of n LID is uppr oun y 1 φ sin mx prossing rt = 1 λ ρ λ 1 λ λ φ = 1 φ. It is lso n uppr oun of th mximum prossing rt otin y th pproh of rtiming, s shown in [21]. In othr wors, ll th thr pprohs shr th sm uppr oun of thir ommon ojtiv. To mximiz th prossing rt, on n ithr mximiz th uppr oun or try to hiv th uppr oun. Thy r qully importnt. Howvr, sin hiving th uppr oun rquirs furthr knowlg on physil sign, suh s uffr n flip-flop llowl rgions [8, 21] whil th uppr oun itslf is only pnnt on th mximum yl rtio of th lustr iruit, w will onsir how to optimlly lustr th iruit suh tht th uppr oun is mximiz, or quivlntly, th mximum yl rtio is minimiz. In orr to omput th mximum yl rtio, w n to know how to omput th ly of yl uring lustring. Although lol intronnt lys n otin using som ly mols t synthsis, th lys of glol intronnts r not vill until lyout. Thrfor uring lustring, w ssum tht h glol intronnt inus n xtr onstnt ly D,.g., if intronnt (u, v) with ly (u, v) is ssign to intr-lustr, thn its ly oms (u, v) + D. Sin w wnt to minimiz th mximum yl rtio, th pth lys from primry inputs (PIs) to primry outputs (POs) n ignor s thy n mitigt y piplining. This motivts us to formult th prolm in strongly onnt grph s follows. Prolm 1 (Optiml Clustring Prolm) Givn irt, strongly onnt grph G = (V, E), whr h vrtx v V hs ly (v) n spifi siz, n h g (u, v) E hs ly (u, v), spifi siz n wight w(u, v) (rprsnting th numr of flip-flops on it), fin lustring of vrtis with possil vrtx rplition suh tht: 1. th siz of h lustr is no lrgr thn givn onstnt A; 2. h glol intronnt inus n xtr onstnt ly D; 3. th mximum yl rtio of th lustr iruit is minimiz. For simpliity, w ssum tht h gt hs unit siz n th siz of h intronnt is zro. Our propos lgorithm n sily xtn to hnl vrious siz snrios. 3 Prvious work Pn t l. [19] propos to optimlly lustr squntil iruit suh tht th lowr oun of th prio of th lustr iruit ws minimiz with rtiming. Howvr, th prio lowr oun my not om from yl rtio. In ition, thir lgorithm ns to strt from PIs, thus nnot us to solv our prolm in strongly onnt grph. In this sns, thy solv iffrnt prolm, vn though it looks similr to ours. Thir prolm ws solv y inry srh, using tst for fsiility s suroutin. For h trgt prio, thy us prour ll lling omputtion to hk th fsiility. Th prour strts with ll ssignmnt 0 for PIs n for th othr vrtis, n rptly inrss th ll vlus until thy ll onvrg or th ll vlu of som PO xs th trgt prio, for whih th trgt prio is onsir infsil. For h vrtx, th mount of inrs in its ll is omput using nothr inry srh tht silly slts th minimum from nit st. Bus of th nst inry srhs, thir lgorithm is rltivly slow. In ition,

th lgorithm rquirs O( V 2 ) sp to stor pr-omput ll-pir longst-pth mtrix, whih is imprtil for lrg signs. Cong t l. [9] improv th lgorithm y tightning th nit st to sp up th lling omputtion, n y ruing th sp omplxity to linr pnny. But th improv lgorithm still ns th nst inry srhs. Bsis th iffrn in prolm formultion, our lgorithm iffrs from thirs in two lgorithmi spts. Firstly, our lgorithm fouss on yls, thus n work on ny gnrl grph. Sonly, no inry srh is mploy in our lgorithm. As rsult, our lgorithm is ffiint n ssntilly inrmntl. Lik [9], our lgorithm os not n promput informtion on pths ithr. Expt for ths iffrns, [19] rvl som importnt rsults on lustring, whih w mploy hr to simplify our nottions. Eh lustr hs only on output, whih is ll th root of th lustr. If thr is lustr with mor thn on output, w n rplit th lustr so tht h opy of th lustr hs only on output. For h vrtx in V, thr is t most on lustr root t it n its rrivl tim (fin in Stion 4) is not lrgr thn th rrivl tims of its rplis. If u V is n input of th lustr root t v V, thn th lustr root t v must not ontin rpli of u. 4 Nottions n onstrints For prtiulr lustring n pth p = u v in G, w us w(p ) to rprsnt th numr of flip-flops on p, whih is th sum of th wights of p s onstitunt gs. Similrly, (p ) rprsnts th ly long p, whih is th sum of th lys of p s onstitunt gs n vrtis, xpt for (u). Not tht th ly of n intr-lustr g (u, v) G is (u, v) + D. W us φ(o ) to not th yl rtio of o, n φ to not th mximum yl rtio of G. Sin w only n to onsir lustrs root t th vrtis in V, t most on for h vrtx, w us v to rfr to th st of vrtis tht r inlu in th lustr root t v V. Lt i v V th st of inputs of v n r v V V th st of rplis of v V. In th rminr of this ppr, whn w sy u v (u v), w mn tht th lustr root t v V ontins rpli of u V. For xmpl, Figur 3() shows iruit for lustring. Thr r fiv vrtis (-) n svn gs. Figur 3() illustrts lustring of th iruit with siz limit A = 3, whr sh irls rprsnt lustrs. For h lustr, th vrtx whos inx is outsi th lustr inits th root. For xmpl, ontins rplis of vrtis n with th input st i = {}. () Figur 3: An xmpl of lustring rprsnttion W us ll t : V R to not th rrivl tim of th vrtx. To s th prsnttion, w will xtn th omin of t to V to rprsnt th rrivl tims of th rplis of th vrtis. Bs on this, lustring tht stisfis th lustr siz rquirmnt n hs mximum yl rtio not lrgr thn givn vlu φ n hrtriz s follows. () t(v) 0, v V (1) t(v) t(v ), v r v, v V (2) t(v) t(u) + (u, v) + (v) w(u, v)φ, (3) (u, v) E, u, v x, x V t(v) t(u) + (u, v) + D + (v) w(u, v)φ, (4) (u, v) E, u i x, v x, x V v A, v V (5) whr (1)-(4) gurnt tht th rrivl tims r ll hivl, n (5) is th lustr siz rquirmnt. In prtiulr, (2) nsurs tht th rrivl tim of v V is no lrgr thn th rrivl tims of its rplis. Following th onvntion, (u, v) E is ritil g unr φ iff it is intr-lustr with t(v) = t(u)+(u, v)+(v) w(u, v)φ, or it is intr-lustr with t(v) = t(u) + (u, v) + D + (v) w(u, v)φ. A ritil pth unr φ rfrs to pth whos onstitunt gs r ll ritil unr φ. Vrtx u is ritil input of v unr φ iff u i v n v n rh y u through ritil pth p = u x v unr φ whr th su-pth x v is in v. Whn ritil pth tully forms yl, it is thn ll ritil yl. Cyl o is ritil unr φ iff (o ) = w(o )φ. A lgl lustring must stisfy (5). Whn th rrivl tims of lgl lustring stisfy (1)-(4) unr φ, it is ll fsil lustring unr φ. Whn ritil yl is prsnt in fsil lustring unr φ, it is ll ritil lustring unr φ. A givn φ is fsil iff thr xists fsil lustring unr φ. W must not tht for lgl lustring, its mximum yl rtio is fsil. In ft, ny vlu lrgr thn th mximum yl rtio of lgl lustring is lso fsil. Consir fsil lustring unr φ. For ll (u, v) E, it is ithr in E with u i v, or thr is n g (u, v) suh tht u r u. In ithr s, th following inqulity is tru y (2)-(4). t(v) t(u) + (u, v) + (v) w(u, v)φ, (u, v) E (6) Th following lmm provis lowr oun for φ. Lmm 1 A fsil φ is no smllr thn th mximum yl rtio of G, not s φ l. Dfin (u, v, φ) = ( ) mx (p) w(p)φ, u, v V p u v in G Lmm 1 nsurs tht (u, v, φ) is wll-fin on fsil φ s. 5 Algorithm 5.1 Ovrviw Th optiml lustring prolm sks for lgl lustring with th miniml mximum-yl-rtio. Sin A > 0, th lustring with h vrtx ing lustr is rtinly lgl. Strting from it, w will itrtivly improv th lustring y ruing its mximum yl rtio until th optimlity is rtifi. First of ll, th mximum yl rtio of lgl lustring is fsil n n ffiintly omput using Howr s lgorithm [6, 11]. Givn fsil φ, w show tht, unlss φ is lry th optiml solution, prtiulr lgl lustring n onstrut whos mximum yl rtio is smllr thn φ. Th smllr φ n otin y pplying Howr s lgorithm on th onstrut lustring. Thrfor, w ltrnt twn pplying Howr s lgorithm n onstruting ttr lustring until th optiml φ is rh.

5.2 Clustring unr fsil φ > φ l Givn fsil φ > φ l, w show in this stion how to onstrut fsil lustring unr φ, i.., lustring stisfying (1)-(6) unr φ, whos mximum yl rtio is no lrgr thn φ. Th onstrut lustring hs spil proprtis, s on whih w xplin in Stion 5.3 how to onstrut fsil lustring unr φ whos mximum yl rtio is stritly smllr thn φ, if φ is not th optiml. W hoos to first stisfy (1) n (6) us thy r inpnnt on lustring, n itrtivly upt t(v) n v to stisfy (2)-(5) whil kping (1) n (6). Lt T not th rrivl tim vtor, i.., T = ( t(1), t(2),..., t( V ) ). A prtil orr ( ) n fin twn two rrivl tim vtors T n T s follows. T T = t(v) t (v), v V. Aoring to th ltti thory [12], if w trt ssignmnt t(v) = 0, v V s th ottom lmnt ( ) n ssignmnt t(v) =, v V s th top lmnt ( ), thn th rrivl tim vtor sp R V oms omplt prtilly orr st, tht is, for ll T R V, T. To stisfy (1), w st t(v) = 0, v V. Thn w pply Bllmn-For s lgorithm [10], not s BF, on E to stisfy (6) unr φ. Bllmn-For s lgorithm is gurnt to work s long s φ φ l. Th rsulting rrivl tim vtor is not s T 0 = BF (, φ). In ft, T 0 is th lst vtor stisfying (1) n (6), s stt in th following lmm. Lmm 2 T 0 T, for ll T stisfying (1) n (6). In orr to stisfy (2)-(5) whil kping (1) n (6), w fin trnsformtion L : (R V, R) R V s follows. For ll v V, w will onstrut nw lustr v root t v. Th prour strts with v = {v} n grows v progrssivly y inluing on ritil input t tim. Not tht whn vrtx is put in v, its pring vrtx tht is outsi v oms n input of v. Lt t(v) n t (v) not th rrivl tim of v for n ftr v is rpl y v, rsptivly. Th prour will stop only whn ithr v = A or t (v) t(v). If t (v) < t(v), w kp t(v) n v unhng; othrwis w upt t(v) n v with t (v) n v rsptivly. B wr tht th onstrut v my not uniqu sin th inlusion of ritil input is ritrry if thr r multipl of thm. Th rsulting rrivl tim of v is not s L v(t, φ). Th nxt lmm hlps to intify th ritil input to inlu t h tim. Lmm 3 For ll x / v, t (v) t(x) + D + (x, v, φ). In prtiulr, if u is ritil input of v, thn t (v) = t(u) + D + (u, v, φ). Dfin L(T, φ) s th rrivl tim vtor whn ll th L v(t, φ) s, v V, r ppli on, follow y Bllmn- For s lgorithm to nsur (6), xprss s ( (L1(T, L(T, φ) = BF φ), L 2(T, φ),..., L V (T, φ) ) ), φ. Th following lmm shows tht L is n orr-prsrving trnsformtion. Lmm 4 For ny T n T stisfying (1) n (6), if T T, thn L(T, φ) L( T, φ). W sy tht T is fixpoint of L unr φ if n only if T = L(T, φ). Th following thorm rigs th xistn of fixpoint n th fsiility of φ. Thorm 1 φ is fsil if n only if L hs fixpoint unr φ. In ft, oring to th ltti thory [12], if L, fin on omplt prtilly orr st, hs fixpoint unr φ, thn it hs lst fixpoint T φ, fin s ( T φ = L(T φ, φ) ) ( T : T = L(T, φ) : T φ T ). W us φ to not th lustring onstrut y L(T φ, φ). Not tht φ my not uniqu sin v my not uniqu, v V. To rh fixpoint, itrtiv mtho n us on L. It strts with T 0 s th initil vtor, itrtivly omputs nw vtors from prvious ons T 1 = L(T 0, φ), T 2 = L(T 1, φ),... until it fins T n suh tht T n = T n 1. Th following lmm stts tht pplying itrtiv mtho on L will onvrg to its lst fixpoint in V 1 itrtions. Lmm 5 If T φ xists unr φ, pplying itrtiv mtho on L will onvrg to it in t most V 1 itrtions. 5.3 Non-ritil lustring unr fsil φ > φ l Figur 4 shows two lustrings of th iruit in Figur 3() unr φ = 20. Thir rrivl tim vtors r oth th lst fixpoint unr φ = 20, tht is, t φ () = 0, t φ () = 10, t φ () = 0, t φ () = 10 n t φ () = 0, givn tht D = 10 n othr lys r 0. Howvr, th lustring in Figur 4() is ritil unr φ = 20 whil th on in Figur 4() is not. As rsult, φ nnot furthr ru in Figur 4(), ut n ru to 15 in Figur 4(). () Figur 4: Two lustrings whos rrivl tim vtors r oth qul to T φ unr φ = 20 hv iffrnt mximum yl rtios. This xmpl onfirms tht φ is not uniqu. Our gol is to fin non-ritil on. To this im, w fin nothr ll θ : V Z, for ny lustring tht hs no ritil yl unr φ, suh tht θ(v) rprsnts th mximum numr of flip-flops on ny ritil pth in E trminting t v. Lik ll t, w lso xtn th omin of θ to V for th s of th prsnttion. For ll v V n ll (u, v) E, rursivly fin { 0, ll (u, v) s r non-ritil unr φ θ(v) = mx ( θ(u) + w(u, v) ), (u, v) is ritil unr φ (7) Th ft tht hs no ritil yl unr φ nsurs tht θ is wll-fin. Lt Θ not th vtor Θ = (θ(1), θ(2),..., θ( V )). ()

Anothr trnsformtion H : (Z V, R) Z V is fin s follows. On T φ is otin, w st θ(v) = 0, v V, n not th vtor s θ. Thn, for ll (u, v) E with t φ (v) = t φ (u) + (u, v) + (v) w(u, v)φ, w st θ(v) = mx ( θ(u) + w(u, v) ) (8) Lt BF θ not th ov prour of upting θ y (8). Thn th rsulting vtor n rprsnt s Θ 0 = BF θ ( θ, φ). Aftr tht, for ll v V, w strt with v = {v} n grow v progrssivly y inluing on ritil input t tim. If thr r multipl ritil inputs, w hoos th on tht givs th mximum θ(v) y (7). Th prour will stop only whn ithr t (v) = t φ (v) n θ (v) θ(v), or v = A. In ithr s, w hv t (v) = t φ (v) sin w strt with th lst fixpoint T φ. If θ (v) < θ(v), w kp θ(v), v unhng; othrwis, w upt θ(v) n v with θ (v) n v rsptivly. Th rsulting θ(v) is not s H v(θ, φ). Dfin H(Θ, φ) s th vtor whn ll th H v(θ, φ) s, v V, r ppli on, follow y BF θ to nsur (8), xprss s ( (H1(Θ, H(Θ, φ) = BF θ φ), H 2(Θ, φ),..., H V (Θ, φ) ) ), φ. W hv th following thorm for H. Thorm 2 H is n orr-prsrving trnsformtion. A fsil φ is not optiml if n only if th lst fixpoint Θ φ of H unr φ xists. Applying itrtiv mtho on H will onvrg to Θ φ with fsil n non-ritil lustring φ unr φ in t most V 1 itrtions. Th nxt orollry provis ritrion to rtify th optimlity of φ. Corollry 2.1 If H os not onvrg ftr V 1 itrtions, thn th urrnt fsil φ is optiml. W thn prsnt our lgorithm in Figur 5 to fin th optiml φ. It first omputs fsil φ y trting h vrtx s lustr, n omputs lowr oun φ l of φ y Lmm 1. Aftr tht, it itrtivly pushs φ own y onstruting non-ritil lustring φ unr φ n ruing φ to th mximum yl rtio of φ y Howr s lgorithm. Th filur of H to onvrg in V 1 itrtions or th ft tht φ is ru to its lowr oun immitly rtifis th optimlity of th urrnt fsil φ. Th orrtnss of th lgorithm is stt in th following thorm. Thorm 3 Th lgorithm in Figur 5 trmints with th optiml φ. 5.4 Sp-up thniqus In our implmnttion, w fin tht H onvrgs to th lst fixpoint vry quikly if it hs on. Howvr, if H hs no fixpoint, th tim for V 1 numr of itrtions to omplt is rltivly long. W n othr ritri to tt th optimlity ffiintly. Th following lmm provis on. Lmm 6 ( ) v V : θ(v) > V N ff implis tht th urrnt fsil φ is optiml, whr N ff is th mximum numr of flip-flops on ny yli pth in G. Algorithm Optiml lustring Input: A irt grph G = (V, E), A, D. Output: A lustring opt with φ opt. opt v v {v}, v V ; φ opt φ mximum yl rtio of G ; φ l mximum yl rtio of G; Do SUCCESS 1; If (φ > φ l ) thn T T 0 BF (, φ); Whil ( T L(T, φ) ) o T L(T, φ); Θ 0 BF θ ( θ, φ); itr = 0; Whil (itr V 1) o Θ itr+1 H(Θ itr, φ); itr itr + 1; If (H onvrg) thn φ mximum yl rtio of G φ; opt φ ; φ opt φ; SUCCESS 0; Whil ( (SUCCESS) ) ; Rturn opt n φ opt ; Figur 5: Psuoo of optiml lustring lgorithm In ition, w mintin vrtx pointr m : V V {Ø}, whr Ø is th rst ssignmnt, n fin it s follows. m is rst h tim th itrtiv mtho is ppli on H for prtiulr φ. Aftr tht, for ll v V, w ssign m(v) = u if θ(v) is inrs y (8) on (u, v) E, or y (7) whr u will lwys ritil input of v unr φ. Intuitivly, m pturs th ft tht ny inrs of θ ( m(v) ) will propgt to θ(v), for ll v V with m(v) Ø. It nls us to onlu th following rsult. Lmm 7 If m pointrs form yl, thn th urrnt fsil φ is optiml. 6 Implmnttion tils 6.1 Implmnttion of L v n H v Our implmnttion of L v is similr to Cong t l. [9]. To hrtriz ritil inputs, w introu nothr ll δ : V R n fin it s follows. Bfor th onstrution of v, w ssign δ(u) with for ll u v in V n δ(v) with 0. At h tim, th vrtx u i v with th lrgst t(u) + δ(u) is intifi. If t(u) + D + δ(u) t(v), th onstrution is omplt. Othrwis, w put it in v n upt δ(x) with mx ( δ(x), δ(u) + (u) + (x, u) w(x, u)φ ), for h fnin x of u tht oms n input of v. This prour will itrt until ithr v = A or ll input u i v hs t(u) + D + δ(u) t(v). To vlit th ov prour, w n to show tht it is quivlnt to L v(t, φ), or quivlntly, to show tht it n lwys intify th ritil input of v. This is fulfill y th nxt lmm n orollry. Lmm 8 For ll u v, δ(u) = (u, v, φ). Corollry 8.1 Th vrtx u i v with th lrgst t(u) + D + δ(u) t(v) is th ritil input of v. Th psuoo for omputing L v(t, φ) is givn in Figur 6. It mploys hp Q for ookkping th vrtis u i v

whos t(u) + D + δ(u) > t(v). At h itrtion, it puts in v th input u Q with th lrgst t(u) + D + δ(u) n upts δ(x) for h fnin of u tht oms n input of v. In our implmnttion, w hoos Fioni hp [10] for Q. Likwis, th psuoo for H v(t, φ) n similrly riv. Input: G = (V, E), A, D, T, φ, v V. Output: t (v), v. δ(u), u V ; δ(v) 0; Q {v}; v ; t (v) t(v); Whil ( (Q ) ( v < A) ) o u xtrt from Q with mx t(u) + δ(u); v v {u}; For = (x, u) E with x / v o δ(x) mx ( δ(x), δ(u) + (u) + (x, u) w(x, u)φ ) ( ; If (x / Q) ( t(x) + D + δ(x) > t(v) )) thn Q Q {x}; t (v) mx t(u) + D + δ(u) in Q, if Q ; Rturn t (v) n v; Figur 6: Psuoo of L v(t, φ) 6.2 Vritions of L n H In Stion 5.2, L(T, φ) is otin y pplying ll th L v s, v V, on follow y Bllmn-For s lgorithm. In our implmnttion, ll th L v(t, φ) s r not omput t th sm tim. Intuitivly, if prviously omput L v s n tkn into ount in ltr omputtions of othrs, th onvrgn rt my lrt. This motivts our stuy on vrition of L, in whih ltr omputtions of L v s r s on prviously omput ons, n h omputtion of L v is follow y Bllmn- For s lgorithm. Lt J v(t, φ) not th vtor ftr t(v) is upt with L v(t, φ), tht is, J v(t, φ) = ( t(1),..., t(v 1), L v(t, φ), t(v + 1),..., t( V ) ). Dfin L(T, φ) = BF ( ( ( J i V...BF Ji1 (T, φ), φ ),..., φ ) ), φ, whr i 1,..., i V V. It n sn tht iffrnt vlution orrs of V giv iffrnt L s. Howvr, thy ll stisfy th following rltion. Lmm 9 For ny T T φ stisfying (1) n (6) unr fsil φ n ny vlution orr of V, L(T, φ) L(T, φ) L(T φ, φ) = T φ. As orollry, th nxt rsult nsurs tht w n pply itrtiv mtho on L to rh T φ. Corollry 9.1 If T φ xists unr φ, pplying itrtiv mtho on L will onvrg to T φ in t most V 1 itrtions, inpnnt of th vlution orr of V t h itrtion. Likwis, vrition of H n similrly fin. 6.3 Ru lustring rprsnttion It ws shown in [11] tht Howr s lgorithm ws y fr th fstst lgorithm for mximum yl rtio omputtion. Givn lustr iruit G = (V, E ) with g lys n wights spifi, Howr s lgorithm fins th mximum yl rtio in O(N E ) tim, whr N is th prout of th out-grs of ll th vrtis in V. Sin vrtx rplition is llow, N n E oul V N n V E rsptivly, whr N is th prout of th out-grs of th vrtis in V. To ru th omplxity, w propos ru lustring rprsnttion. For h lustr, w us gs from its inputs to its output (root) to rprsnt th pths twn thm suh tht th ly n wight of n g orrspon to th ly n wight of n yli input-to-output pth. Figur 7 shows th ru rprsnttion of th lustr iruit in Figur 3(). Th ru lustring rprsnttion of Fig- Figur 7: ur 3(). Lt φ r not th mximum yl rtio of th ru rprsnttion for lustring. Th following lmm formults th rltion mong φ, φ r n th lowr oun φ l fin in Lmm 1. Lmm 10 For ny lustring, φ = mx(φ r, φ l ). On nfit of th ru lustring rprsnttion is tht w n now rprsnt th lustr iruit without xpliit vrtx rplition, tht is, using V inst of V. Lt G r = (V, E r ) not th ru rprsnttion for lustring. W ll n g in G r runnt if its rmovl will not fft th mximum yl rtio of G r. Th following lmm provis ritrion to prun th runnt gs so tht Howr s lgorithm n fin th mximum yl rtio of G r mor ffiintly. Lmm 11 Lt not fsil lustring unr φ, E r not its ru rprsnttion, 1 n 2 not two gs from u V to v V in E r, ( 1) n ( 2) not thir lys rsptivly, n w( 1) n w( 2) not thir wights rsptivly. If w( 1) w( 2) n ( 1) w( 1)φ ( 2) w( 2)φ, thn 2 n prun. In our implmnttion, w mploy nothr two prmtrs p : V {R} n pw : V {Z} to ror th pth lys n wights from th inputs of lustr to its output, rsptivly. Mor spifilly, w st pw(u) = p(u) =, u V, for L v(t, φ) is out to rri out for som v V. Aftr tht, whnvr vrtx u is put in v, w omput th p n pw vlus of its pring vrtis s on p(u) n pw(u), follow y pruning. 7 Exprimntl rsults W implmnt th lgorithm in PC with 2.4 GHz Xon CPU, 512 KB 2n lvl h mmory n 1GB RAM. To ompr with th lgorithm in [19], w us th sm tst fils, whih wr gnrt from th ISCAS-89 nhmrk suit. For h tst s, w introu flip-flop with irt gs from h PO to it n from it to h PI so tht vry PI-to-PO pth m yl. As in [19], th siz n ly of h gt ws st to 1, intr-lustr lys wr 0, n intr-lustr intronnts h lys D = 2. For h iruit, w tst thr siz ouns: A is 5%, 10% n 20% of th numr of gts. Th rsults r shown in Tl 1. Sin w pproh th miniml mximum-ylrtio y grul rution in th lgorithm, w lso rport

Tl 1: Exprimntl Rsults Ciruit A = 5% V A = 10% V A = 20% V tim/stp (s) φ opt #stp tim(s) φ opt #stp tim(s) φ opt #stp tim(s) [19] prsnt s349 18.6 8 0.11 16.7 13 0.32 16.0 7 0.03 0.19 0.02 s420 14.0 3 0.01 13.0 3 0.01 12.0 2 0.00 0.03 0.00 s635 75.0 4 0.02 70.0 4 0.04 68.0 4 0.08 0.10 0.02 s838 17.0 3 0.03 16.0 2 0.01 16.0 2 0.02 0.13 0.01 s1196 26.0 3 0.04 25.0 3 0.05 24.0 2 0.02 0.08 0.02 s1423 55.0 3 11.65 53.0 2 0.13 53.0 2 0.12 0.65 3.88 s1512 25.0 5 0.35 22.5 8 1.43 22.5 8 1.24 1.22 0.18 s3330 14.5 10 2.78 14.0 10 2.48 14.0 10 2.47 1.07 0.28 s4863 30.3 7 15.64 30.0 5 5.00 30.0 5 5.01 82.30 2.30 s5378 21.0 3 0.76 21.0 3 0.77 21.0 3 0.77 7.58 0.26 s9234 38.0 3 3.69 38.0 3 3.73 38.0 3 3.78 n/ 1.26 s35932 27.0 4 74.19 27.0 4 74.69 27.0 4 73.76 n/ 18.67 s38584 48.0 2 24.32 48.0 2 24.48 48.0 2 24.49 n/ 12.25 rith 11.69 X 1 go 6.33 X 1 th numr of rutions for h snrio of A in olumn #stp. Column tim(s) lists th running tim in sons. Th otin φ opt mths th rsult in [19] for ll th snrios of A. Th only running tim informtion givn in [19] is th lrgst running tim pr stp mong th thr snrios, whih w list in olumn tim/stp (s) unr [19]. W thn omput ours in olumn prsnt. Row rith ( go ) givs th rithmti (gomtri) mn of th first 10 iruits. W must not tht th running tims list r lry sl to tk into ount th iffrn in CPU frqunis twn thir mhin n ours. It n sn tht our lgorithm tks muh lss tim pr stp thn th lgorithm in [19]. Th improvmnts r grtr for lrgr iruits. Th only xption is s1423, whr th lgorithm trmints whn θ(v) > V N ff for som v V. Th vrg sp-up is roun on orr of mgnitu. In ition, for most of th iruits, our lgorithm fins th optiml solution in just fw stps, whih is gnrlly lss thn th numr of itrtions onut in inry srh, whih r not givn in [19]. 8 Conlusion [12] B. A. Dvy n H. A. Pristly. Introution to Lttis n Prossing rt, fin s th prout of frquny n throughput, is intifi s n importnt mtri for squntil iruits. W show tht th prossing rt of squntil iruit Orr. Cmrig, 1990. [13] S. Hssoun n C. J. Alprt. Optiml pth routing in singl n multipl lok omin systms. In ICCAD, pgs 247 253, 2002. is uppr oun y th riprol of its mximum yl rtio, [14] C. E. Lisrson, F. M. Ros, n J. B. Sx. Optimizing Synhronous whih is only pnnt on th lustring of th iruit. Th Ciruitry y Rtiming. In Avn Rsrh in VLSI: prolm of prossing rt optimiztion is formult s sking n optiml lustring with miniml mximum-yl-rtio Pro. of th Thir Clth Conf., pgs 86 116. Computr Sin Prss, 1983. in gnrl grph. An itrtiv lgorithm is propos tht [15] C. Lin, J. Wng, n H. Zhou. Clustring for prossing rt fins th miniml mximum-yl-rtio. Sin our lgorithm optimiztion. Thnil Rport TR-NUCAD-2005-02, ECE Dprtmnt, Northwstrn Univrsity, 2005. vois inry srh n is ssntilly inrmntl, it hs th potntil to omin with othr optimiztion thniqus, suh s gt sizing, ugting, t., thus n us in inrmntl sign mthoologis [7]. In ition, sin mximum yl rtio is funmntl mtri, th propos lgorithm [16] C. Lin n H. Zhou. Optiml wir rtiming without inry srh. In ICCAD, pgs 452 458, 2004. [17] C. Lin n H. Zhou. Wir rtiming for systm-on-hip y fixpoint omputtion. In DATE, pgs 1092 1097, 2004. n pt to suit othr tritionl signs. [18] V. Nookl n S. S. Sptnkr. A mtho for orrting th Rfrns funtionlity of wir-piplin iruit. In DAC, pgs 570 575, 2004. [1] L. P. Crloni, K. L. MMilln, A. Slnh, n A. L. Sngiovnni- Vinntlli. A mthoology for orrt-y-onstrution ltny [19] P. Pn, A. K. Krnikr, n C. L. Liu. Optiml lok prio insnsitiv sign. In ICCAD, 1999. lustring for squntil iruits with rtiming. IEEE TCAD, [2] L. P. Crloni, K. L. MMilln, n A. L. Sngiovnni-Vinntlli. Ltny insnsitiv protools. In CAV, 1999. [3] M. R. Csu n L. Mhirulo. A nw pproh to ltny insnsitiv sign. In DAC, 2004. [4] C. Chu, E. F. Y. Young, D. K. Y. Tong, n S. Dhu. Rtiming with intronnt n gt ly. In ICCAD, pgs 221 226, 2003. [5] P. Cohini. Conurrnt flip-flop n rptr insrtion for high prformn intgrt iruits. In ICCAD, pgs 268 273, 2002. [6] J. Coht-Trrsson, G. Cohn, S. Gurt, M. MGttrik, n J.-P. Qurt. Numril omputtion of sptrl lmnts in mx-plus lgr. In Pro. IFAC Conf. on Syst. Strutur n Control, Nnts, Frn, 1998. [7] J. Cong, O. Court, n M. Srrfzh. Inrmntl CAD. In ICCAD, 2000. [8] J. Cong, T. Kong, n D. Z. Pn. Buffr lok plnning for intronnt-rivn floorplnning. In ICCAD, pgs 358 363, 1999. [9] J. Cong, H. Li, n C. Wu. Simultnous iruit prtitioning/lustring with rtiming for prformn optimiztion. In DAC, pgs 460 465, 1999. [10] T. H. Cormn, C. E. Lisrson, n R. H. Rivst. Introution to Algorithms. MIT Prss, 1989. [11] A. Dsn, S. S. Irni, n R. K. Gupt. Effiint lgorithms for optimum yl mn n optimum ost to tim rtio. In DAC, pgs 37 42, 1999. 17(6):489 498, Jun 1998. [20] D. K. Y. Tong n E. F. Y. Young. Prformn-rivn rgistr insrtion in plmnt. In ISPD, pgs 53 60, 2004. [21] H. Zhou n C. Lin. Rtiming for wir piplining in systm-onhip. IEEE TCAD, 23(9):1338 1345, Sptmr 2004.