a bus-aware global routersasimi.jp/files/2018/archive/sasimi2018/pdf/r1-4.pdf · new net ordering...

6
A Bus-Aware Global Router Pin-Xin Liao and Ting-Chi Wang Department of Computer Science National Tsing Hua University Hsinchu 30013, Taiwan [email protected] and [email protected] Abstract— In this paper, we present a bus-aware global router that handles the length-matching issue of buses by modifying a well-known global router, NTHU- Route 2.0, with the following enhancements: (1) a new net ordering determination method for rip-up and reroute, and (2) a length-bounded hybrid unilateral monotonic routing method. The experimental results show that our router can successfully solve 9 of 11 test cases without causing any overflow. In particular, for one of the 9 test cases, NTHU-Route 2.0 cannot com- pletely eliminate its total overflow. In addition, our global router can produce a high quality solution in terms of total bus wirelength deviation, while maintain- ing comparable total wirelength and runtime efficiency. I. Introduction As the feature size shrinks, the interconnects of a chip become more complex. Due to the high complexity, the routing problem is typically divided into two parts: global routing and detailed routing. In the stage of global routing, the wires of nets are mapped to a coarse-grained routing graph. On the other hand, in the stage of detailed routing, a detailed router assigns wires into the exact routing tracks in an uncoarse routing graph by inheriting the routing result from global routing. Consequently, global routing has a great effect on the solution quality of detailed routing. International Symposium on Physical Design (ISPD) held two global routing contests, and also released two sets of benchmarks in 2007 [1] and 2008 [2] to boost the research and development of global routing techniques. Research groups developed dozens of improved academic global routers during the contests or af- terward, with three typical objectives to minimize: (1) the to- tal overflow, (2) the total wirelength, and (3) the computation time. These global routing methods can be categorized into two classes. The first class is three dimensional (3D) routing, while the other class is two dimensional (2D) routing followed by layer assignment. FGR [3], GRIP [4], and, MGR [5] are members of the first class. FGR uses sequential 3D maze routing to find solutions for nets on a 3D routing graph, while GRIP adopts integer linear programming (ILP) to formulate the routing prob- lem. Both FGR and GRIP perform well in minimizing the total overflow and the total wirelength; however, their computation time is much longer. MGR applies a multi-level framework to reroute nets on the 3D grid graph. Nevertheless, some rout- ing information may be hidden in the coarsening stage of MGR, thus degrading routing solution quality. Due to the complexity of modern designs, normally 3D routing takes longer time than the 2D routing followed by layer assignment. Other global routers, such as Archer [6], BoxRouter 2.0 [7], FastRoute 4.0 [8], Maize- Router [9], NCTU-gr2 [10], NTUgr [11], and NTHU-Route 2.0 [12], are members of the second class. They use two stages to generate 3D routing solutions. In the first stage, the original 3D routing space is projected onto the 2D plane, and most of routers such as [6], [8], [9], [10], [11], [12] apply 2D global routing based on a different rip-up and reroute strategy to obtain a 2D routing solution. In the second stage, they all map the 2D solution from the projected plane to the original 3D routing graph by using layer assignment. In modern ICs, buses are important signals and are widely used in computation-intensive and/or storage-intensive designs. The growing trend of Intellectual Property (IP) integration also increases the amount of buses in a design. A bus transfers signals in parallel from one functional unit to others. For a bus carrying n signals, it has one source and one or more sinks, where the source and each sink all have n pins (see Fig. 1). To match the timing among the pins of a sink, the wirelength between each pin in the sink and the corresponding pin in the source is preferred to be as similar as possible. Therefore, if the interconnects of a bus are considered individually as a regular net during the routing stage, it will counteract the reasons for using the bus. Fig. 1: The relation between a bus and its nets. All global routers that we introduced above do not consider the length-matching issue of buses. The bus-aware global routing problem is different from the traditional global routing problem that aims to minimize wirelength without causing overflow. The bus-aware global routing problem additionally needs to deal with the length-matching issue due to buses. A few bus routing al- gorithms have been studied by various researchers. The work in [13] proposes a bus centric global routing algorithm to identify and re-use the common routing topology of the different signals in a bus. The idea of common routing topology is later adopted by the algorithms in [14] and [15] that also consider bus pin flip- R1-4 SASIMI 2018 Proceedings - 20 -

Upload: others

Post on 21-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

  • A Bus-Aware Global Router

    Pin-Xin Liao and Ting-Chi WangDepartment of Computer ScienceNational Tsing Hua University

    Hsinchu 30013, [email protected] and [email protected]

    Abstract— In this paper, we present a bus-awareglobal router that handles the length-matching issue ofbuses by modifying a well-known global router, NTHU-Route 2.0, with the following enhancements: (1) anew net ordering determination method for rip-up andreroute, and (2) a length-bounded hybrid unilateralmonotonic routing method. The experimental resultsshow that our router can successfully solve 9 of 11 testcases without causing any overflow. In particular, forone of the 9 test cases, NTHU-Route 2.0 cannot com-pletely eliminate its total overflow. In addition, ourglobal router can produce a high quality solution interms of total bus wirelength deviation, while maintain-ing comparable total wirelength and runtime efficiency.

    I. IntroductionAs the feature size shrinks, the interconnects of a chip become

    more complex. Due to the high complexity, the routing problemis typically divided into two parts: global routing and detailedrouting. In the stage of global routing, the wires of nets aremapped to a coarse-grained routing graph. On the other hand,in the stage of detailed routing, a detailed router assigns wiresinto the exact routing tracks in an uncoarse routing graph byinheriting the routing result from global routing. Consequently,global routing has a great effect on the solution quality of detailedrouting.

    International Symposium on Physical Design (ISPD) held twoglobal routing contests, and also released two sets of benchmarksin 2007 [1] and 2008 [2] to boost the research and developmentof global routing techniques. Research groups developed dozensof improved academic global routers during the contests or af-terward, with three typical objectives to minimize: (1) the to-tal overflow, (2) the total wirelength, and (3) the computationtime. These global routing methods can be categorized into twoclasses. The first class is three dimensional (3D) routing, whilethe other class is two dimensional (2D) routing followed by layerassignment. FGR [3], GRIP [4], and, MGR [5] are members ofthe first class. FGR uses sequential 3D maze routing to findsolutions for nets on a 3D routing graph, while GRIP adoptsinteger linear programming (ILP) to formulate the routing prob-lem. Both FGR and GRIP perform well in minimizing the totaloverflow and the total wirelength; however, their computationtime is much longer. MGR applies a multi-level framework toreroute nets on the 3D grid graph. Nevertheless, some rout-ing information may be hidden in the coarsening stage of MGR,thus degrading routing solution quality. Due to the complexity ofmodern designs, normally 3D routing takes longer time than the2D routing followed by layer assignment. Other global routers,

    such as Archer [6], BoxRouter 2.0 [7], FastRoute 4.0 [8], Maize-Router [9], NCTU-gr2 [10], NTUgr [11], and NTHU-Route 2.0[12], are members of the second class. They use two stages togenerate 3D routing solutions. In the first stage, the original 3Drouting space is projected onto the 2D plane, and most of routerssuch as [6], [8], [9], [10], [11], [12] apply 2D global routing basedon a different rip-up and reroute strategy to obtain a 2D routingsolution. In the second stage, they all map the 2D solution fromthe projected plane to the original 3D routing graph by usinglayer assignment.

    In modern ICs, buses are important signals and are widelyused in computation-intensive and/or storage-intensive designs.The growing trend of Intellectual Property (IP) integration alsoincreases the amount of buses in a design. A bus transfers signalsin parallel from one functional unit to others. For a bus carryingn signals, it has one source and one or more sinks, where thesource and each sink all have n pins (see Fig. 1). To match thetiming among the pins of a sink, the wirelength between each pinin the sink and the corresponding pin in the source is preferred tobe as similar as possible. Therefore, if the interconnects of a busare considered individually as a regular net during the routingstage, it will counteract the reasons for using the bus.

    Fig. 1: The relation between a bus and its nets.

    All global routers that we introduced above do not considerthe length-matching issue of buses. The bus-aware global routingproblem is different from the traditional global routing problemthat aims to minimize wirelength without causing overflow. Thebus-aware global routing problem additionally needs to deal withthe length-matching issue due to buses. A few bus routing al-gorithms have been studied by various researchers. The work in[13] proposes a bus centric global routing algorithm to identifyand re-use the common routing topology of the different signalsin a bus. The idea of common routing topology is later adoptedby the algorithms in [14] and [15] that also consider bus pin flip-

    R1-4 SASIMI 2018 Proceedings

    - 20 -

  • ping and bus orientation to enlarge solution space. The methodsin [14] and [15] route each bus by using a “virtual net”, which isa single net that represents all the nets of a bus and consumesmore routing resources (depending on the number of nets in thebus). However, if a virtual net routing fails, they route thosenets by using the same strategy as for regular nets. In addition,their test cases are two-layer designs with a small number of nets.Therefore, their bus routing methods may not generate a goodrouting result for buses in a modern VLSI design.

    In this paper, we present a bus-aware global router that han-dles the length-matching issue of buses by modifying a well-known global router, NTHU-Route 2.0 [12], with the followingenhancements: (1) a new net ordering determination methodfor rip-up and reroute, and (2) a length-bounded hybrid unilat-eral monotonic routing method. The experimental results showthat our router can successfully solve 9 of 11 test cases withoutcausing any overflow. In particular, for one of the 9 test cases,NTHU-Route 2.0 cannot completely eliminate its total overflow.Besides, our global router can produce a high quality solution interms of total bus wirelength deviation, while maintaining com-parable total wirelength and runtime efficiency.

    The rest of this paper is organized as follows. In Section II, wegive the problem formulation of bus-aware global routing, andbriefly review NTHU-Route 2.0 [12] as well as hybrid unilateralmonotonic routing [16]. In Section III, we describe our bus-awareglobal router in detail. In Section IV, we report the experimentalresults. We conclude this paper in Section V.

    II. Preliminaries

    In this section, we first describe our global routing problem.After that, we review NTHU-Route 2.0 [12] and the hybrid uni-lateral monotonic routing method [16], since our router is an ex-tension of NTHU-Route 2.0 and it takes buses into considerationby using the technique of hybrid unilateral monotonic routing.

    A. Problem Formulation

    Generally, a global routing problem can be modelled as a gridgraph G(V,E) shown in Fig. 2(a) and 2(b). The graph in Fig.2(a) is a 2D routing model that contains a set V of global tilesand a set E of global boundaries. Fig. 2(b) shows a grid graphfor a three-layer design example, and the vias are used in themulti-layer design to connect among layers. The global routingproblem is to find a tree for each net such that the tree connectsall the pins of the net by using edges of G. The capacity ce ofan edge e denotes the number of available routing tracks. Thedemand de denotes the number of nets passing edge e. If deexceeds ce, edge e will be regarded as an overflowed edge, andthe overflow of e is denoted as (de - ce). Here, we define thecongestion value of an edge e as the ratio of the demand to thecapacity, i.e., de

    ce.

    We also define the total overflow as the sum of the overflow ofeach edge, and the total wirelength as the sum of the wirelengthof each net. Most global routers focus on minimizing the totaloverflow and the total wirelength. If a router routes a design thatcontains buses without considering the length-matching issue ofbuses, the result may cause worse timing mismatch for a bus. Inorder to evaluate whether it is a good routing result for buses,the bus wirelength deviation is used as a metric. For each bus, tomatch timing among the pins of a sink, the wirelength betweeneach pin in the sink and the corresponding pin in the source is

    (a) (b)

    Fig. 2: Grid graph routing model. (a) A grid graph for one-layerdesign. (b) A grid graph for a three-layer design with preferred routingdirections.

    preferred to be as similar as possible in a global routing result.Among these wirelengths of a sink, the length difference betweenthe largest wirelength and each remaining wirelength can be cal-culated and summed up to get the wirelength deviation for thesink. Similarly, for each bus, by adding up the wirelength devi-ation of each sink, we get the wirelength deviation for the bus.The total wirelength deviation of all buses (i.e., the total buswirelength deviation) is therefore defined to be the sum of thewirelength deviation of each bus.

    The main objective of our bus-aware global routing problem isto minimize the total overflow and the total bus wirelength devi-ation, and its second objective is to minimize the total wirelengthand runtime.

    B. Review of NTHU-Route 2.0

    The flowchart of NTHU-Route 2.0 [12] is shown in Fig. 3.NTHU-Route 2.0 has four routing stages: initial stage, mainstage, refinement stage and layer assignment stage.

    Refinement Stage

    Layer Assignment Stage

    Main Stage

    Converged?

    Rip-up and Reroute based on Congested Region Identification

    Congested Two-pin Nets Marking

    Monotonic Routing

    Overflow solved?

    Adaptive Multi-source Multi-sink Maze Routing

    Yes

    No

    For each two-pin net

    Subinterval IdentificationFor each subinterval

    Congested Region Identification

    Plane Projection

    Net Decomposition

    Probabilistic Routing

    L-shaped Pattern Routing

    Initial Stage

    Edge Shifting

    No

    No

    No

    Yes

    All two-pin nets are processed?

    All subintervals are processed?Yes

    Yes

    (a)

    Fig. 3: Flowchart of NTHU-Route 2.0.

    In the initial stage, NTHU-Route 2.0 uses five methods shownin Fig. 3 to find an initial routing result. The primary objectiveof this stage is minimizing the total wirelength. At the begin-ning, the multi-layer design is projected into a 2D plane. Next,

    - 21 -

  • NTHU-Route 2.0 uses FLUTE [17] to decompose each multi-pinnet into a set of two-pin nets and then the initial congestionmap is produced by using probabilistic L-shaped pattern routingfor each two-pin net. After that, NTHU-Route 2.0 applies theedge shifting technique [18] to reduce the congestions by chang-ing the topology of each multi-pin net. At last, NTHU-Route 2.0reroutes each two-pin net with an L-shaped pattern.

    In the main stage, NTHU-Route 2.0 tries to improve the initialrouting solution by using a rip-up and reroute technique basedon a history cost function. If a two-pin net passes one or moreoverflowed edges, we call it an overflowed net. NTHU-Route 2.0rips up overflowed two-pin nets and reroutes these nets one at atime. The net ordering for rip-up and reroute is determined asfollows. NTHU-Route 2.0 calculates the congestion value of eachedge e (i.e., de/ce) at the subinterval identification step, and de-fines an interval I between the maximum congestion value and 1.The interval I is partitioned into m subintervals. For example,if the maximum congestion value among all edges is 2 and m isset to 10, then the subintervals are [2, 1.9), [1.9, 1.8), ..., [1.1, 1).After that, every congested edge is assigned to one correspond-ing subinterval according to its congestion value. Next, NTHU-Route 2.0 picks the congested edges one at a time in a selectedsubinterval, and then keeps expanding a rectangular region rearound each congested edge e until the average congestion valueof the edges in re is less than or equal to the lower bound of theselected subinterval. After identifying re, each overflowed two-pin net which has pins located in re is marked, and NTHU-Route2.0 begins to rip-up and reroute the marked two-pin nets one ata time. The ordering of rip-up and reroute is in a descendingorder of bounding boxes of two-pin nets, because it thinks that anet with a bigger bounding box size may have more flexibility tofind an overflow-free path without inducing more detours than anet with a smaller bounding box size.

    Each ripped-up two-pin net is rerouted by monotonic routing[18] first. If monotonic routing cannot get a better path than theoriginal path, the adaptive multi-source multi-sink maze routingmethod is applied, trying to find an overflow-free result. A his-tory based cost function is adopted to formulate the edge costduring the reroute process. NTHU-Route 2.0 keeps repeatingthe congestion region identification and rip-up and reroute pro-cess until the total overflow is less than a user-defined thresholdor the number of iterations reaches a user-defined value.

    In the refinement stage, NTHU-Route 2.0 only focuses on find-ing an overflow-free path for each overflowed two-pin net. Insteadof selecting overflowed nets by subinterval identification, NTHU-Route 2.0 selects two-pin overflowed nets directly in this stage,and then rips up and reroutes each two-pin net one by one. Therip-up and reroute ordering of nets is according to the numberof overflowed edges that a two-pin net passes through. If thereis a tie, a net with a larger bounding box will be selected first.NTHU-Route 2.0 makes the cost function of each edge simpler inthis stage. The cost of each overflowed edge is set to 1, whereasthe cost of each overflow-free edge is set to 0.

    Finally, the layer assignment method [19] is applied for map-ping the routing result in the 2D plane to the multi-layer resultin the original 3D graph.

    C. Review of Hybrid Unilateral Monotonic Routing

    There are two types of unilateral monotonic routing introducedin [16]. Horizontally monotonic (HM) and vertically monotonic

    (VM) routing respectively identify the least-cost routing pathfrom a source pin S to a target pin T in a rectangular searchregion by using minimal horizontal length and minimal verticallength. Fig. 4 shows a VM routing path and a HM routingpath, where congested regions are in gray color. A unilateralmonotonic routing path can be efficiently obtained by a dynamicprogramming method.

    (a) (b)

    Fig. 4: Examples of unilateral monotonic routing. (a) Verticallymonotonic routing path. (b) Horizontally monotonic routing path.

    The hybrid unilateral monotonic (HUM) routing path fromS to T is obtained as follows. First, for each node u in thesearch region, the method respectively finds the VM routing pathV P (S, u) and the HM routing path HP (S, u), each of whichconnects S and u. Fig. 5(a) and 5(c) respectively give exam-ples of V P (S, u) and HP (S, u). Next, for each node u in thesearch region, this method respectively finds the VM routing pathV P (T, u) and the HM routing path HP (T, u), each of which con-nects T and u. See Fig. 5(b) and 5(d) for examples of V P (T, u)and HP (T, u), respectively. Then, for each node u, the HUMrouting path from S to T that passes through u is obtainedfrom one of the following four path combinations: (V P (S, v),V P (T, v)), (V P (S, v), HP (T, v)), (HP (S, v), V P (T, v)), and(HP (S, v), HP (T, v)), where each path combination concate-nates two unilateral monotonic paths to produce a path fromS to T . Among the four combined paths, the one with lease costis the HUM routing path from S to T that pass through u (seeFig. 5(e)). Finally, the HUM with least cost among all nodes inthe search region is chosen to be the HUM routing path from Sto T .

    III. Our Global Router

    In this section, we describe our enhancements for NTHU-Route2.0 to consider buses. The first enhancement is a new orderingmethod for rip-up and reroute. To keep the wirelength of eachnet of a bus as similar as possible, it is more beneficial to assignrouting resources of congested regions to bus nets than non-busnets because we do not want to see a bus net takes extra length tomake a detour around a congested region. Therefore, we changethe net ordering of rip-up and reroute in the main stage to achievethis. The next enhancement is a length-bounded hybrid unilat-eral monotonic routing method. NTHU-Route 2.0 adopts themonotonic routing method and the adaptive multi-source andmulti-sink maze routing method to find a path with the leastcost. However, we would like to find a path with an ideal lengthfor a bus net, which means the length is closer to each of theother bus nets, the better. Therefore, we replace the monotonicrouting method of NTHU-Route 2.0 by a new length-boundedhybrid unilateral monotonic routing method in the main stage.

    - 22 -

  • (a) (b) (c)

    (d) (e)

    Fig. 5: Illustration of the hybrid unilateral monotonic routing paththat pass through u, and connects S and T , where congested regionsare in gray color. (a) The VM routing path V P (S, u) which connectsS and u. (b) The VM routing path V P (T, u) which connects T and u.(c) The HM routing path HP (S, u) which connects S and u. (d) TheHM routing path HP (T, u) which connects T and u. (e) The hybridunilateral monotonic routing path that combines paths in (b) and (c).

    A. Net Ordering Determination

    NTHU-Route 2.0 identifies a set of two-pin overflowed nets foreach congestion subinterval at each iteration of the main stage.After that, these overflowed nets are ripped up and rerouted oneat a time by a non-increasing order of bounding box size. Butto take buses into account, each bus net with a length bound(we will define length bound in Section III.B) needs to keep therouting resources of congested regions and cannot release themto non-bus nets through rerouting when the path of the bus netcurrently passes through the congested regions. So bus nets needto be given a higher priority during rip-up and reroute.

    Before we rip up and reroute those overflowed nets, we dividethem into two sets: nbus and nnon−bus, where nbus contains busnets and nnon−bus contains non-bus nets. For each congestionsubinterval, the bus nets are rerouted first. After that, we reroutethe non-bus nets. Because all the bus nets are rerouted first, non-bus nets could be guided to detour for avoiding the congestedregions which are partially caused by those bus nets.

    B. Length-Bounded Hybrid Unilateral Monotonic Routing

    We replace the monotonic routing method of NTHU-Route2.0 by a new length-bounded hybrid unilateral monotonic routingmethod, which is modified from [16]. Unlike [16], for each ripped-up net, our router tries to find the least-cost path among paths,each of whose length is not more than the length bound of thenet. In our method, we store the path cost as well as the pathlength for each node during unilateral monotonic routing. Afterunilateral monotonic routing, each node has 4 path combinationslike [16]. However, each path combination in our method notonly has a cost but also has a length for the combined path.Our method looks over the length of each combined path, and ifit exceeds the length bound of the corresponding net, this pathcombination is not useful and therefore is abandoned. Among theremaining path combinations, our method keeps the one with theleast cost for each node.

    Fig. 6 is an example of checking nodes after unilateral mono-tonic routing. Fig. 6(a) shows a global routing instance for a net.Suppose the length bound of the net is 12. Fig. 6(b) shows a pathcombination for node u, and the combined path is overflow-free.However, the path length is 11+7 = 18 and exceeds the lengthbound, so the combined path is not useful and is abandoned.Fig. 6(c) shows a path combination for another node v, and thecombined path has an acceptable length 10 (5+5). Therefore,this combined path has the chance to become the final path cho-sen by our method, though it passes through a congested regionand has a higher cost. Fig. 6(d) shows a path combination foranother node w, and its combined path has an acceptable length12 (6+6), which is equal to the length bound. It has a lower costbecause it successfully detours the congested regions, so it has ahigher chance than the one in Fig. 6(c) to become the final path.

    (a) (b)

    (c) (d)

    Fig. 6: Illustration of length-bounded hybrid unilateral monotonicrouting. (a) A net to be routed, where congested regions are in graycolor. (b) A path with long length and low cost. (c) A path with shortlength and high cost. (d) A path with short length and low cost.

    The rerouting methods for a bus net and a non-bus net aresomehow different. Only bus nets are rerouted by the length-bounded hybrid unilateral monotonic routing method under theirlength bounds. If the net is a non-bus net, the original mazerouting method of NTHU-Route 2.0 is applied on this net to seekfor an overflow-free result, while the original monotonic routingmethod of NTHU-Route 2.0 is disabled. We keep continuingthe whole rip-up and reroute process until the total overflow issmaller than a user-defined threshold or the number of iterationsreaches a pre-defined number.

    We now explain why we use different routing methods for eachtype of nets. A simple example is shown in Fig. 7. Fig. 7(a)shows a bus net n1, a non-bus net n2 and congested regions (ingray color with the overflow values given for vertical boundaries).Since the bus net n1 passes through a congested region, n1 is anoverflowed net. In addition, the non-bus net n2 is an overflow-freenet with some edges each of whose demand is equal to capacityin its path. Suppose the length bound of the bus net n1 is set to8 in this example. Our router will rip up and reroute bus netsfirst because we need to give bus nets a higher priority for keeping

    - 23 -

  • the routing resources of congested regions. Therefore, the bus netn1 is first rerouted by length-bounded hybrid unilateral mono-tonic routing. In order to meet the length bound constraint, therouting path passes through a congested region, but the routingpath has the least cost because the passed overflowed edges havethe least amount of overflow (see Fig. 7(b)). Then, our routerreroutes the non-bus net n2 by the adaptive multi-source multi-sink maze routing method, so n2 will avoid passing through thecongested region and detour to find an overflow-free path. Fi-nally, we have two overflow-free nets that are shown in Fig. 7(c).Therefore, at each rip-up and reroute iteration, a bus net canhold the routing resources of congested regions because nearbynon-bus nets will make a detour to avoid the congested regionsthat are caused by bus nets, and bus nets can try not to detourand reduce the resultant bus deviations.

    (a) (b) (c)

    Fig. 7: An example of our rerouting method. (a) A routed bus netn1 and a routed non-bus net n2. (b) The result of rerouting n1. (c)The result of rerouting n2.

    At each iteration of the main stage of our router, a lengthbound is imposed on each bus net such that if the net getsrerouted, its new wirelength should not exceed the length bound.Our empirical observation indicates that the length bound deter-mination method is crucial to the solution quality. If the lengthbound is set too large, it loses the effect on controlling the wire-length. On the other hand, if the length bound is set too small,it is difficult for our router to find a legal result. In order todetermine a length bound for each two-pin bus net, we calculatethe Manhattan distance L between the two pins. Then the ini-tial length bound for the net is set to L. However, if we keepthe length bound of each net of a bus fixed in each iteration,those congested regions that are passed by bus nets will alwaysbe crowded. Therefore, we will increase the length bound littleby little to relieve the congested regions that are caused by busnets. If a net of a bus is overflowed, the length bound of each netof the bus is increased by one at the next iteration. Increasinglength bound will also increase the bus wirelength deviation, butthe overflow of each bus net will be reduced effectively.

    IV. Experimental Results

    In this section, we present the experimental results of our bus-aware global router. Our router is implemented in C/C++ lan-guage on a Linux machine with Intel Xeon 2.0GHz and 96G mem-ory. To test our global router, we modified the benchmarks fromthe ISPD08 global routing contest [2] and added bus nets. Ta-ble 1 shows the detailed information of each test case, where thecolumns “Nets” , “Bus nets” , and “Bus” respectively give theamounts of all nets, bus nets, and buses. Note that each bus hasa number of bus nets (8, 16, 32 or 64). We compare our routerwith NTHU-Route 2.0, where NTHU-Route 2.0 runs on the samemachine as ours.

    Table 1: Information of test cases.

    Benchmark Nets Bus nets Bus Tiles Layers

    adaptec1 221362 1568 50 324∗324 6adaptec2 261791 1632 50 424∗424 6adaptec3 467807 1512 50 774∗779 6adaptec4 516720 1416 50 774∗779 6adaptec5 868873 1432 50 465∗468 6bigblue3 1124036 1696 50 555∗557 8bigblue4 2230639 1736 50 403∗405 8newblue2 464925 1712 50 557∗463 6newblue4 637403 1208 50 455∗458 6newblue5 1258937 1384 50 637∗640 6newblue6 1287924 1472 50 463∗464 6

    Table 2 shows the experimental results. We compare the re-sults in terms of total overflow (TOF), total bus wirelength devi-ation that does not include via wirelength (BD), total wirelength(TWL), and runtime measured in minute (CPU). The experi-mental results show that our router successfully solve 9 of 11test cases without overflow. Although our router causes moreoverflow in bigblue4 and newblue4 than NTHU-Route 2.0, wecan find one more overflow-free solution (i.e., for newblue5). Inaddition, compared with NTHU-Route 2.0, our router can getmuch smaller total bus wirelength deviation for each test case.Overall, our router can reduce total bus wirelength deviation by55.9% on average. Since our router needs to detour to avoid thecongested regions caused by buses when rerouting non-bus nets,the average total wirelength result of our router is slightly worsethan that of NTHU-Route 2.0 by 1%. Due to the fact that ourrouter takes buses into consideration, our router may reduce aless amount of overflow than NTHU-Route 2.0 in each iterationof the main stage. Therefore, our router may need more itera-tions to converge in the main stage. In other words, our routermay need more time to complete the global routing, althoughthe length-bounded hybrid unilateral monotonic routing methodis faster than the adaptive multi-source multi-sink maze rout-ing method. According to our experimental results, the averageruntime of our router is 5.5% more than NTHU-Route 2.0.

    We also compare the wirelength deviation of each bus betweenthe results of NTHU-Route 2.0 and our router. In Table 3, col-umn “#BSBD” indicates the number of buses that have smallerwirelength deviation produced by our router than by NTHU-Route 2.0, and column “SBD” indicates the total reduction of buswirelength deviation among those buses. Column “#BLBD” in-dicates the number of buses that have larger wirelength deviationproduced by our router than by NTHU-Route 2.0, and column“LBD” indicates the total addition of bus wirelength deviationamong those buses. “#BTBD” indicates the number of busesthat have same bus wirelength deviation produced by our routerand by NTHU-Route 2.0. Table 3 shows that our router canproduce the routing results in which most buses have no greaterbus wirelength deviation than NTHU-Route 2.0. Although somebuses have larger wirelength deviation in our results, the SBDresults are always much greater than LBD ones. Due to the factthat buses affect each other, a small addition of bus wirelengthdeviation in one bus may help reduce more bus wirelength devi-ation in other buses by our router.

    V. Conclusion

    In this paper, we present a global router considering buses.Our router can control the lengths of bus nets by a length-

    - 24 -

  • Table 2: Comparison between NTHU-Route 2.0 and our router.

    NTHU-Route 2.0 our router

    Benchmark TOF BD TWL (e5) CPU (min) TOF BD TWL (e5) CPU (min)

    adaptec1 0 219704 61.0 8.2 0 109882 62.7 11.2adaptec2 0 129494 62.8 2.1 0 95914 63.4 2.6adaptec3 0 109754 146.5 5.1 0 42954 146.9 4.5adaptec4 0 88760 135.4 2.2 0 41776 135.7 2.1adaptec5 0 234564 165.4 13.3 0 83172 167.0 15.8bigblue3 0 47912 142.2 4.0 0 18218 142.3 3.5bigblue4 102 206684 240.5 13.8 138 49182 241.6 13.6newblue2 0 31544 84.9 0.6 0 19148 85.2 0.7newblue4 158 328758 139.6 65.0 180 61978 140.5 27.9newblue5 2 200620 245.0 15.0 0 78216 246.0 14.5newblue6 0 317738 189.4 19.0 0 185900 197.5 30.8

    ratio - 1.000 1.000 1.000 - 0.441 1.010 1.055

    Table 3: Comparison of wirelength deviation of each busbetween NTHU-Route 2.0 and our router.

    Benchmark #BSBD SBD #BLBD LBD #BTBD

    adaptec1 40 116056 6 6234 4adaptec2 37 36708 7 3128 6adaptec3 44 66800 0 0 6adaptec4 33 47004 1 20 16adaptec5 36 152796 9 1404 5bigblue3 24 30636 3 942 23bigblue4 39 158004 3 502 8newblue2 23 12646 2 250 25newblue4 44 268084 3 1304 3newblue5 41 124080 5 1676 4newblue6 38 138512 8 6674 4

    bounded hybrid unilateral monotonic routing method. The ex-perimental results show that our router can greatly reduce thetotal bus wirelength deviation while achieving comparable totaloverflow, total wirelength and runtime.

    A possible future work is to take buses into account in the layerassignment stage, which considers the length-matching issue forvias and makes our bus-aware global router more complete.

    References

    [1] ISPD 2007 Global Routing Contest. http://www.sigda.org/ispd2007/contest.html.

    [2] ISPD 2008 Global Routing Contest. http://www.sigda.org/ispd2008/contests/ispd08rc.html.

    [3] J. A. Roy and I. L. Markov, “High-performance routing at thenanometer scale,” in Proceedings of International Conference onComputer-Aided Design, pp. 496–502, 2007.

    [4] T. H. Wu, A. Davoodi, and J. T. Linderoth, “Grip: Scalable3d global routing using integer programming,” in Proceedings ofDesign Automation Conference, pp. 320–325, 2009.

    [5] Y. Xu and C. Chu, “Mgr: multi-level global router,” in Pro-ceedings of International Conference on Computer-Aided Design,pp. 250–255, 2011.

    [6] M. M. Ozdal and M. D. F. Wong, “Archer: a history-driven globalrouting algorithm,” in Proceedings of International Conference onComputer-Aided Design, pp. 488–495, 2007.

    [7] M. Cho, K. Lu, K. Yuan, and D. Z. Pan, “Boxrouter 2.0: architec-ture and implementation of a hybrid and robust global router,”in Proceedings of International Conference on Computer-AidedDesign, pp. 503–508, 2007.

    [8] Y. Xu, Y. Zhang, and C. Chu, “Fastroute 4.0: global router withefficient via minimization,” in Proceedings of Asia and South Pa-cific Design Automation Conference, pp. 576–581, 2009.

    [9] M. D. Moffitt, “Maizerouter: engineering an effective globalrouter,” in Proceedings of Asia and South Pacific Design Au-tomation Conference, pp. 226–231, 2008.

    [10] W.-H. Liu, W.-C. Kao, Y.-L. Li, and K.-Y. Chao, “Multi-threadedcollision-aware global routing with bounded-length maze routing,”in Proceedings of Design Automation Conference, pp. 200–205,2010.

    [11] H.-Y. Chen, C.-H. Hsu, and Y.-W. Chang, “High-performanceglobal routing with fast overflow reduction,” in Proceedings ofAsia and South Pacific Design Automation Conference, pp. 582–587, 2009.

    [12] Y.-J. Chang, Y.-T. Lee, and T.-C. Wang, “Nthu-route 2.0: a fastand stable global router,” in Proceedings of International Confer-ence on Computer-Aided Design, pp. 338–343, 2008.

    [13] G. Persky and L. V. Tran, “Topological routing of multi-bitdata buses,” in Proceedings of Design Automation Conference,pp. 679–682, 1984.

    [14] F. Mo and R. K. Brayton, “A semi-detailed bus routing algo-rithm with variation reduction,” in Proceedings of InternationalSymposium on Physical Design, pp. 143–150, 2007.

    [15] F. Mo and R. K. Brayton, “A simultaneous bus orientation andbused pin flipping algorithm,” in Proceedings of InternationalConference on Computer-Aided Design, pp. 386–389, 2007.

    [16] W.-H. Liu, Y.-L. Li, and C.-K. Koh, “A fast maze-free routingcongestion estimator with hybrid unilateral monotonic routing,”in Proceedings of International Conference on Computer-AidedDesign, pp. 713–719, 2012.

    [17] C. Chu., “Flute: fast lookup table based wirelength estima-tion technique,” in Proceedings of International Conference onComputer-Aided Design, pp. 696–701, 2004.

    [18] M. Pan and C. Chu, “Fastroute: a step to integrate global routinginto placement,” in Proceedings of International Conference onComputer-Aided Design, pp. 464–471, 2006.

    [19] T.-H. Lee and T.-C. Wang, “Congestion-constrained layer assign-ment for via minimization in global routing,” IEEE Transactionson Computer-Aided Design of Integrated Circuits and Systems,vol. 27, no. 9, pp. 1643–1656, 2008.

    - 25 -