Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 652 29-9-2008 #9 652 Handbook of Algorithms for Physical Design Automation block width. The graph G V is constructed similarly. The respective width W c and height H c of the chip can be computed by applying a longest-path algorithm on G H and G V . Then, the algorithm divides the dead spaces and routing channels into tiles to facilitate buffer block planning. For each tile, its area slack is computed from the longest paths in G H and G V .For dead spaces and rou ting cha nnels that are not on the critical paths of the constraint graph G H (G V ), they will each have a positive area slack in width (height). If there are buffers required to be inserted to meet timing constraints, the algorithm picks a tile that can accommodate the most nu mber of these buffers and then inserts appropriate buffers into this tile. If there are no tiles with positive area slack, we have to shift some circuit blocks for the buffer insertion, thereby increasing the overall chip area. This block shifting might make rooms for other tiles, resulting in new positive slacks for these tiles. We pick the dead space or the routing channel with the maximum buffer-insertion demand, and then select o ne tile in it. For the selected tile, we insert appropr iate buffers into the tile. If there is not sufficient space in the tile for buffer insertion, the associated routing channel will be expanded to make room for the buffers. After inserting buffers into the selected tile, the information of the constraint graphs, feasible regions, and the chip dimension is updated and the buffer insertion/clustering process is repeated until all buffers are placed. More recently, there have been attempts to perform simultaneous buffer block planning and floorplann in g to fully utilize useful dead spaces for performance optimization [10–13]. Jiang et al. provided a generic paradigm along this direction in Ref. [11]. The algorithm presented in Ref. [11] simultaneouslyconsidersfloorplanningandbufferblockplanningfora generalfloorplan. Themethod adopts simulated annealing to refine the floorplan so that buffers can be inserted more effectively.In each iteration, it constructs a routing tree for each net and calculate the longest path from the source to the sink in each routing tree. On the basis of the aforementioned formulas presented in preceding sections, it computes the number of buffers needed for the longest path, the optimal distance from the source terminal to each buffer, and the width of independent feasible regions. After allocating buffers for all n ets, it inserts buffer blocks as soft circuit blocks into the constraint graphs. These buffer blocks may occupy dead spaces or be inserted into routing channels. After all buffers for all nets are allocated, the area of each buffer block is determined as the boundingareaofinserted buffers. It then reshapes the floorplan by Lagrangian relaxation. Unlike the work for buffer block planning after floorplanning that generates buffer blocks before buffer assignment, this work generates buffer blocks after buffer assignment. Consequently, the area of buffer blocks can be properly controlled, especially for the buffer blocks in routing channels. 33.2.2 BUFFER SITE PLANNING In general, buffer block planning algorithms assume that routing has not been performed.In contrast, the first two steps of the buffer site planning algorithm proposed in Ref. [2] are Steiner tree construc- tion and wire congestion reduction. The purpose is to establish the global r outing so that accurate estimation of delay of global interconnects in subsequent steps can be obtained. Any timing-driven and congestion-aware global router can be used for these two steps. The third step, buffer assignment, is the heart of the planning algorithm. Buffer assignment is performed net-by-net in decreasing ord er of net delay. For a general multiple- terminal net N i ,letL i be the maximum number of tiles that can be driven by either the source or an inserted buffer. If net N i crosses tile v, the probability of net N i using a buffer site in v is 1/L i . With p(v) denoting the sum of these probabilities for tile v over all unprocessed nets, B(v) the number of buffer sites within v, and b(v) the number of buffers assigned to v, the cost of using a buffer site in v is defined as q(v) = b(v)+p(v)+1 B(v)−b(v) if b(v) B(v) < 1, ∞ otherwise. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 653 29-9-2008 #10 Global Interconnect Planning 653 A minimum cost buffering solution can be computed using a van Ginneken-style dynamic pro- gramming algorithm [14] as follows. First, we describe the computation of a minimum cost buffering solution for a two-pin net with source s and sink t.Letγ = (c, l) denote a solution at v,wherec is the cost of the solution and and l is the number of un-buffered tiles seen at v.Letu be the parent tile of v in the route. If l < L i , there are two solutions at u that can be derived from γ : an un-buffered solution (c , l +1) and a buffered solution (c + q(u),0). As in any van Ginneken-style dynamic pro- gramming approach, pruning of inferior solutions is crucial for achieving runtime efficiency. Given two solutions γ = (c, l) and γ = (c , l ), we say that γ is inferior and can be pruned if c > c and l ≥ l . Consequently, there are no more than L i noninferior solutions at each tile along the route. The algorithm in Ref. [2] can generate the noninferior solutions at each tile in O(L i ) time and compute the optimal solution of the net in O(nL i ) time, where n is the number of tiles the net crosses. Fora multiple-pin net, it isnecessary to considerthe casewhere aparent tileu drivesmultiple child tiles. For simplicity, we assume that u has only two child tiles v and w. Given the sets of noninferior solutions at v and w, denoted respectively as C v and C w , we compute two sets of noninferior solutions at u, denoted as C uv and C uw , derived respectively from C v and C w , using the procedure outlined in the preceding paragraph. Let γ = (c, l) and γ = (c , l ) be solutions in C uv and C uw , respectively. If l +l ≤ L i , there are two solutions in C u that can be constructed from γ and γ : (1)(c +c +q(u ),0) is a solution if a buffer is inserted at u to drive γ and γ ,and(2)(c + c , l + l ) is an un-buffered solution. If we assume as in Ref. [2] that a net can only be assigned one buffer in a tile, the solution in (1) is feasible only if both γ and γ have no buffers at u, and the solution in (2) is feasible only if there is at most one buffer at u in γ and γ . The time complexity of the algorithm is O(nL 2 i ) for a multiple-pin net that spans n tiles. A final postprocessing step, which involves ripping upand rerouting nets,is then applied toreduce buffer and wire congestion, as well as the number of nets that fail to meet their length constraints. 33.3 INTERCONNECT PLANNING AND BUFFER PLANNING Routability isa critical issuein modern VLSIdesign flowdue to thedominance ofsystem performance by today’s interconnects. Interconnect planning must be done early to ensure an achievable routing solution. The locations of buffer blocks/sites are places where signals get in and out and it is thus essential to consider routability and buffer planning simultaneously. Early planning of buffer and wiring resources is a critical component of high-performance VLSI design methodologies. Such planning is required to evaluate the quality of RT-level partitioning, floorplanning, placement and pin assignment, etc. In this section,the topic ofperforming interconnectplanningwith bufferplanning is explored. 33.3.1 ROUTABILITY-DRIVEN BUFFER PLANNING In Ref. [3], one of the earliest works that consider congestion in the buffer block planning step, a two-level tile structure (Figure 33.5) is used. The coarser tile str ucture is used for estimating routing congestion, and the finer one is used for defining the candidate buffer block (CBB) locations. For each buffer b to be inserted, let S b denote the set o f CBBs in which b can be placed in order to satisfy the timing constraint. S b contains all the finer tiles that overlap with the FR o r IFR of b.The objective of buffer block planning is to assign each buffer to one CBB such that the congestion cost is minimized. A congestion-driven iterative deletion algorithm is used to obtain such an assignment. In each iteration of the congestion-driven iterative deletion algorithm, the candidate set of each buffer is first generated. A bipartite graph G a = (V a , E a ) that represents the set of all possible buffer assignments is then constructed. The edge set in G a is defined as E a ={(b, c)|b ∈ B, c ∈ S b } where B is the set o f buffers needed to be inserted. The iterative deletion algorithm starts with all possible assignments of the buffers to their CBBs. The edges in G a are weighted according to the compatibility of the corresponding buffer assignment. An incompatible buffer assignment (an edge Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 654 29-9-2008 #11 654 Handbook of Algorithms for Physical Design Automation Circuit block Fine tiles to define CBBs in feasible region Coarse routing tiles Independent feasible region Sink Source FIGURE 33.5 Two-level tile structure. of large weight), corresponding to an assignment that may result in high-routing congestion or too many buffer blocks, will be deleted one at a time until only oneassignment is left for each buffer. The weight of each edge e = (b, c) is a composite function of the routing congestion cost C 1 (e) and the buffer block cost C 2 (e), assuming that all the other buffers have equal probability of being assigned to their CBBs. The congestion cost of a routing tile in the two-level tile structure is estimated by the traditional 2D grid based probabilistic map assuming two-bend shortest Manhattan route for each wire segment (a wire segment can be from the source to a buffer, from a buffer to another buffer, or from a buffer to the sink). The routing congestion cost C 1 (e) of an edge e is then defined as the maximum congestion cost among all the routing tiles in a one-bend routing path of the net segment represented by the edge. The buffer block cost C 2 (e) is computed according to the number o f buffers already assigned to the CBB c and the maximum number of buffers allowed in a CBB. This iterative deletion process will remove the highest cost redundant assignment at each step, and the bipartite graph and its associated edge costs are needed to be updated dynamically. 33.3.1.1 Routability-Driven Buffer Planning with Dead Space Redistribution Dead spaces in a floorplan or placement can be redistributed by moving some circuit blocks within their rooms to achieve better buffer insertion result. Chen et al. [15,16] considered this problem of congestion-driven bufferblock planningwith dead space redistribution. Dead spaces can be classified into two types, detached dead-space (DDS) and attached dead-space (ADS). A DDS is generated because of the existence of an empty room, while an ADS is generated because a room is not entirely occupied by a circuit block. The ADSs can be redistributed while keeping the topology and the total area unchanged. Each ADS or DDS is associated with a circuit block or a dummy block, which can be found efficiently from a floorplan. In order to find a good dead space distribution to insert as many buffers as possible such that the number of nets meeting their timing constraints without considering congestion is maximized [15], a bipartite graph can first be constructed to represent all possible a ssignments of buffers to tiles (each dead space is divided in to small tiles). An s–t graph can then be constructed based on this bipartite graph to find a maximum cardina lity matching in it. To consider congestion, a preprocessing step, presented in Ref. [16], first inserts some vertical and horizontal channels into the boundaries of the circuit blocks, based on an estimation of the buffer distribution. Instead of performing a maximum cardinality matching, a more sophisticated congestion-drivenbuffer planning algorithm is employed. The traditional 2D grid based probabilistic map assuming two-bend shortest Manhattan routes is used to estimate congestion. At the beginning, Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 655 29-9-2008 #12 Global Interconnect Planning 655 the congestion estimations are initialized without considering buffers. Then buffer p lanning and congestion updates are performed net by net. For each net i, a single-source-single-sink shortest- path problem is set up and solved to insert buffers to minimize the sum of the congestion levels at the most congested grid in each wire segment of i. The congestion information at each grid is then updated by erasing the original congestion contribution of net i and adding back the new contribution by its wire segments. The whole process is repeated until all the nets are routed and buffered. It is possible that a net cannot be buffered successfully, when there is no more dead spaces for buffer insertion,or when allthe possible routing paths constrained bythe buffer locations arenonmonotonic. A local search is performed to explore different ways to redistribute the ADSs. A new redistribution can be generated by randomly selecting an ADS and moving its associated block to change the dead space distribution around it. The cost function to evaluate a floorplan with different dead space redistribution is a composite function of the number of nets that fail to satisfy their delay constraints and the average congestion of the top 5 percent most congested grids. 33.3.1.2 Interconnect Planning with Fixed Interval Buffer Insertion Constraint In fixed interval buffer insertion constraint, buffers are constrained to be inserted such that the distance between adjacentbuffers is within a range [low, up] given by the user. Sham and Young[17] introduced this concept and performed interconnect planning and buffer planning based on this assumption. In their approach, wires are routed over-the-cell with multibend shortest Manhattan distance and buffers are inserted in the dead space area. A floorplan is first divided into a 2D array of grids and the size of the dead space in each grid is computed for estimating the amount of buffer resources in that grid b space (). The probability of successful buffer insertion b success (x, y) at a grid (x, y) can be estimated from the amount of dead space b space (x, y) at (x, y) and the numberof possible buffer insertions b usage (x, y) at (x, y) according to the formula: b success (x, y) = min{1, b space (x, y)/b usage (x, y)}, where b usage (x, y) is obtained by considering all the nets and all their possible multibend shortest Manhattan distance routes satisfying the fixed interval buffer insertion constraint, assuming that every possible route of a net and every feasible way of buffer insertion is equally likely to occur. These b usage () values can be computed efficiently by dynamic programming, and then saved and reused. After estimating the probability of successful buffer insertion at each grid, the congestion information is computed and interconnect planning is performed accordingly, taking into account the fact that the probability of occurrence of a route will be higher if it passes through those grids with larger b success (), that is, with a higher chance of successful buffer insertion. All these computa- tions can be done efficiently by dynamic programming and by making use of some table look-up techniques. Wong and Young [18] have also assumed the fixed interval buffer insertion constraint in their interconnect planning. Similar to the work in Ref . [17], all multipin nets are first broken down into a set of two-pin nets by the MST approach. For each two-pin subnet, a simple dynamic program- ming approach is employed to find a path from the source to the destination with buffer in sertion satisfying the fixed interval buffer insertion constraint and minimizing a cost function that is the sum of the costs at the grids with buffer insertion, where the cost at a grid is a composite function of the congestion cost and the buffer insertion cost. The buffer insertion cost is computed as a ratio between the number of buffers already inserted and the largest number of buffers allowed while the congestion cost is computed by the traditional 2D grid based probabilistic map assuming multi- bend shortest Manhattan route for each wire segment. The wire segments of each two-pin subnet are processed one after another and the congestion cost is updated accordingly for further buffer insertions. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 656 29-9-2008 #13 656 Handbook of Algorithms for Physical Design Automation 33.3.1.3 Methodology for Interconnect Planning in Buffer Site The buffer site methodology was firstproposedby Alpertet al. [2]. Detailsof their approachhavebeen described in Section 33.2. Albrecht et al. [19] studied a similar problem of performing timing-driven buffered routing given a buffer site map. The constraints are on wire loading (maximum number of tiles d riven by either the source or an inserted buffer), buffer site capacity, wire congestion, and individual sink delay, and the objective is to minimize the routing area, that is, the total wirelength and the total number of buffers. Unlike many previous works that solves each net optimally one after another, the problem of buffering all the nets simultaneously is formulated as an integer linear program (ILP). However, as solving ILP exactly is NP-hard, the approach taken in Ref. [19] is to first solve the corresponding fractional relaxed linear program and then obtain a near-optimal integral solution by randomized rounding. Their approximation algorithm can be extended to find paths with bounded delay and handle multiple buffer and wire width libraries. 33.3.1.4 Other Routability-Driven Buffer Planning Approaches Ma et al. [20] also developed an efficient algorithm to perform congestion-driven buffer planning that could be budgeted into the floorplanning process to give better timing performance and chip area. In their approach, the dead spaces are first partitioned into rectangular empty space (ES) blocks. The ES blocks in a floorplan can be obtained efficiently based on the CBL representation, and it is proved that all the dead spaces in a pack ing can be partitioned into no more than 2n ES blocks without overlapping, where n is the total number of circuit blocks. Intersection between the feasible region (FR) of a buffer and a ES block will be a regular hexagon (with possibly some degenerations) of which two edges are parallel to the x-axis, two edges are parallel to the y-axis, and the other two edges have a slope of +1 or −1. To facilitate data manipulation, the ES blocks are further partitioned into grids and each grid contains buffer sites for buffer insertion. The whole process of computing the intersection between the FR of a buffer and the ES blocks is divided into two steps. The first step computes the intersection between the ES blocks and the bounding box of the net, and the second step computes the overlapping between the rectangular regions obtained from step one and the two parallel slanted lines of the FR. The grids in a ES block are ordered in parallel to these slanted lines with slope +1 or −1, so that the overlapping obtained from step two will just be two indices specifying the range of grids where a buffer can be inserted. Because it is only needed to compute the first and the last grid number in the range, the complexity is linear and independent of the grid size. Assuming that the proba bilities of buffer insertion are equal at each possible buffer insertion site, the probability of a buffer b being inserted into a grid g is computed as 1/NFR b where NFR b is the total number of grids in some ES blocks overlapping with the FR of b. This number can be easily obtained from step two above by knowing the range of grids in each ES block overlapping with the FR of b. By summing up these probabilities for all the buffers, the expected number of buffers to be inserted in each grid can be obtained. These probabilities of successful buffer insertion are then used for buffer allocatio n with consideration of routing congestion. The congestion model used is essentially the traditional 2 D grid based probabilistic map assuming multibend shortest Manhattan ro ute for each wire segment. Because the probabilities of successful buffer insertion are different a t different ro uting tiles, the chance of the occurrence of a route will be higher if it runs through those tiles with high proba- bilities of successful buffer insertio n. Consider the route of a ne t i passing through a set of tiles {T 1 , T 2 , , T k }. Suppose that a buffer b of this net is to be inserted in one of these tiles T j where 1 ≥ j ≥ k. The size of the overlapping area between the feasible region of buffer b and the dead spaces in tile T j will affect the probability of the occurrence of a route. This fact is taken into account in their congestion model. The nets are then considered one after another for buffer allocation. For each net, all its feasible routes are p rocessed in a nondescending order of their sums of congestion levels of all the tiles it goes through. A route will be taken if all of its required buffers can be inserted successfully when it is being processed. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 657 29-9-2008 #14 Global Interconnect Planning 657 33.3.2 PIN ASSIGNMENT WITH BUFFER PLANNING It is beneficial to perform pin assignment and buffer planning simultaneously to achieve better timing performance. Given a placement of macroblocks and buffer blocks, the objective is to assign pins and insert buffers for a given set of nets to minimize a weighted sum of the total wirelength, W,and the total number of buffers inserted, R: C = αW +βR. Xiang, Tang, and Wong [21] presented a polynomial time algorithm to perform simultaneous pin assignment and buffer planning optimally for all two-pin nets from one particular macroblock to all the other blocks. The algorithm minimizes the cost C for any given positive constants α and β while enforcing the lower and upper bound constraints on wire segment length for each net. By applying this algorithm iteratively (picking one source block each time), pin assignment and buffer planning can be done for all the nets. The subproblem of performing simultaneous pin assignment and bu ffer planning from one source block to all the other blocks can be formulated as a min-cost max-flow problem. In the example shown in Figure 33.6, the source block is b s , and it has two nets connecting to block b 1 and b 2 , and each block b i has a set of available pin locatio ns P i . There are two buffer blocks r 1 and r 2 , and each buffer block r i is associated with a capacity c i denoting the maximum number of buffers r i can hold. A network flow problem can be set up as shown in Figure 33.6b. In the constructed flow network, a directed edge from a pin p ∈ P s to a bu ffer block r j (or from a buffer block r j to a pin p ∈ P i where b i is not the source block) exists if and only if the shortest Manhattan distance between p and r j satisfies the lower and upper bound constraints on wire segment length. Similar conditions hold for other edges b etween two pins or between two buffers. Then a source node s, which is connected to all the pins in the source block b s with capacity one and zero cost, is added. An intermediate sink node t i is added for each block b i other than the source block and is connected from every pin p ∈ P i with capacity one and zero cost. Each of these intermediate sink nodes t i is then connected to the final sink node t with zero cost and capacity |N i | where N i is the set of n ets from b s to b i . For all the remaining edges, the capacities are one and the costs are α × d where d is the shortest Manhattan length of the edge. For each buffer node r i , there will be a cost of β and a capacity of c i . For all the remaining nodes, the capacity is one and the cost is zero. It is not difficult to see that a min-cost max-flow solution f in the flow network constructed as described above can give an optimal solution that minimizes the cost and maximizes the number (a) (b) p 21 b 2 b 1 b s p 23 p 22 r 1 r 2 p 24 p s1 p s3 p s2 p s4 p 11 p 13 p 12 p 14 t 2 p s1 p s3 p s4 p s2 p 21 p 22 r 1 r 2 t 1 p 11 p 12 p 13 p 14 p 23 p 24 t s FIGURE 33.6 Min-cost max-flow method for simultaneous pin assignment and buffer planning: (a) a problem instance and (b) the corresponding flow net work. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 658 29-9-2008 #15 658 Handbook of Algorithms for Physical Design Automation of connections made. If the flow |f | is equal to |N| where N =∪ i N i , a feasible solution of pin assignment and buffer planning for all the nets in N is found. However, if |f | < |N|, there is no way to make all the connections and have the constraints satisfied. Every flow solution can be mapped to a pin assignment and buffer planning solution of the given set of nets. However, this min-cost max- flow approach can only consider nets connecting between one source block and all the other blocks. To route all the nets between all the macroblocks, each macroblock is treated as the source block once and the min-cost max-flow algorithm is invoked; a solution for all the nets between multiple macroblocks can be obtained at the end. To reduce the complexity of this approach, neighboring pins are grouped together at the beginning. Once several nodes are grouped together, the average coordinate is used as the location of the new super-node. After getting a solution with the super- nodes,the flowsolution is mapped back to the originalproblem, that is, distributing the flow from one super-node to its pin nodes. This subproblem can also be solved by the min-cost max-flow method. 33.3.3 NOISE-AWARE BUFFER PLANNING The aforementioned buffer block planning is done for delay or routability optimization. It is also of crucial importance to con sider the signal integrity, for example, maintain fast transition time (the inverse of slew rate) of the signal at the receiver and along the net and minimize the crosstalk- induced noise during buffer planning. Otherwise, a slow transition on a net may be highly susceptible to coupling noise injection from faster switching signal lines in its vicinity. Furthermore, if the length of the net between two successive buffersis too long, the interconnect resistance becomescomparable to the driverresistance. This effectivelydecouples the receiverfrom the driver and makes the receiver highly susceptible to any attacking signals. Another reason for concern is that a slow transition on the input causes higher short-circuit power consumption. To avoid such signal integrity problems and higher p ower consumption, guidelines on most modern large-circuit designs r equire signal transition times to be no slower than a specified value. As a rule of thumb, the allowed signal transition time is between 10 and 15 percent of the clock cycle time for modern circuit design. Without considering the signal transition time constraint for buffer planning, as pointed out in Ref. [3], the buffer insertion solution may not maintain the required signal transition rate even though the target delay (as defined by 50 percent input to 50 percent output) on a net may be satisfied. Therefore, it is desirable to consider the problem of buffer block planning under delay, rise/fall time, and crosstalk-induced noise constraints for interconnect-centric floorplanning. In the following subsections, we describe the independent feasible regions defined by the transition time and delay constraints presented in Ref. [22], as well as the crosstalk-induced noise constraint introduced in Ref. [23]. 33.3.3.1 Independent Feasible Regions with Transition Time Constraints In addition to inserting buffers to improve signal delay, it is also popular to insert buffers at regular intervals to ensure a proper slew rate (or transition time) at the input to all gates. Let R be the driver output resistance, C be the sink capacitance, and L(R, C, R tgt ) be the maximum length of a net such that the signal transition time at the sink is no more than R tgt (it can be assumed that the input signal transition time is also R tgt ). The independent feasible region under the signal transition time constraint for the ith buffer of anetN is given by IFR(R ) i = x ⊗ i − W IFR(R) 2, x ⊗ i + W IFR(R) 2 ∩ (0, l), such that ∀(x 1 , x 2 , , x i , , x n ) ∈ IFR(R) 1 × IFR (R) 2 × × IFR(R) n and the input transition times for all buffers and the sink satisfy the signal transition time constraint. Here, W IFR(R) denotes the width of independent feasible region IFR(R) i ,andx ⊗ i the center of IFR(R) f or the ith buffer. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 659 29-9-2008 #16 Global Interconnect Planning 659 For all segments of the net N to satisfy the signal transition time constraint, the following inequalities must hold: x ⊗ 1 + W IFR(R) /2 ≤ l 1 , x ⊗ i+1 − x ⊗ i + W IFR(R) ≤ l 2 for 1 ≤ i ≤ n −1, and l − x ⊗ n + W IFR(R) /2 ≤ l 3 , where l 1 = L R D , C B , R N tgt l 2 = L R B , C B , R N tgt l 3 = L R B , C S , R N tgt Here, R N tgt denotes the target signal transition time for the net N. Summing up the preceding n +1 inequalities and making the IFR(R) intervals of equal width, we get W IFR(R) = l 1 + (n −1)l 2 + l 3 − l n . For this W IFR(R) , the centers of the feasib le regions are determined by the following equalities: x ⊗ 1 = l 1 − W IFR(R) /2, x ⊗ i+1 − x ⊗ i = l 2 − W IFR(R) for 1 ≤ i ≤ n −1, and x ⊗ n = l − l 3 + W IFR(R) /2. To find the IFR of the ith buffer considerin g both delay and signal transition time c onstraints for a given number of inserted buffers, we should find the intersection of IFR i and IFR(R) i .IfIFR i and IFR(R) i do not overlap, we have to insert a different number of buffers. Given l 1 , l 2 ,andl 3 ,the minimum number of buffers required to satisfy the transition time constraint is given by n min R = l − l 1 − l 3 l 2 + 1 . Let n min D and n max D be the respective minimum and maximum numbers of buffers that can be inserted into a net to satisfy the delay constraints. For the delay constraint, D N tgt , n min D to n max D can be computed as follows: n min D = max 0, −B − √ (B 2 − 4AC) 2A , and n max D = −B + √ (B 2 − 4AC) 2A , where A = R b C b + T b B = D N tgt + r c ( C b − C s ) 2 + c r ( R b − R d ) 2 − (rC b + cR b )l − T b − R d C b − R b C s C = 1 2 rcl 2 + ( rC s + cR d ) l − D N tgt Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 660 29-9-2008 #17 660 Handbook of Algorithms for Physical Design Automation If n Max D ≤ 0, the delay constraint on the net cannot be satisfied by inserting buffers of this type alone. The number of buffers required to satisfy both delay and signal transition time constraints, denoted by n D,R , is bounded by max{n min R , n min D }≤n D,R ≤ n max D . A linear search within the interval would typically find a feasible solution. 33.3.3.2 Common Independent Feasible Region The common IFR for buffer i of net N under both delay and signal transition time constraints is referred to as the maximal region where the buffer can be placed such that both the constraints can be satisfied, assuming that the other buffers are placed within their respective common I FRs. Both the constraints cannot be satisfied by buffer insertion if max{n Min R , n Min D } > n Max D . For a fixed value of n D,R in the feasible range, the IFR(D, R) for the ith buffer (IFR(D, R)(i)) on the net is the region common to both IFR(R)(i) and IFR(D)(i).LetW min = min{W IFR(R) , W IFR(D) }, δ i =|x ∗ i − x ⊗ i |,andδ w =|W IFR (R) −W IFR(D) |. The width of the common independent feasible region is given by W IFR(D,R) (i) = ⎧ ⎪ ⎨ ⎪ ⎩ W min ;ifδ i ≤ δ w 2 W min − δ i + δ w 2;ifδ w 2 ≤ δ i ≤ W IFR(R) + W IFR(D) 2, undefined ; otherwise. We can observe that min 1≤i≤n D,R {W IFR(D,R) (i)} will occur at i = 1ori = n D,R . To fix the number of buffers inserted on the net, we pick the value of n D,R that maxim izes the minimum width of IFR(D, R)(i). 33.3.3.3 Buffer Block Planning Considering Transition Time and Delay In this section, we briefly describe the algorithm for buffer block planning considering both transition time and delay constraints. The inputs to the algorithm are the initial floorplan and the transition time and delay constraints on the global nets. The algorithm determines the locations, assignments, and sizes of buffer blocks to be inserted in a dead space or a routing channel such that the two constraints are satisfied. Figure 33.7 summarizes the algorithm. Step 1 divides the available channel space, as performed in Section 33.2.1, into a set of buffer-block tiles to meet both constraints. Step 2 determines the type and the number of buffers to be inserted in each net to satisfy its timing constraints. The buffer type chosen for a net is the smallest size buffer, such that all the buffers on the net have a nonzero IFR(D, R) width.Furthermore, it constrains all the buffers o n a netto be of the same size. The number of buffers required is then obtained by searching the common feasible range of buffer numbers for delay and transition time requirements. Th e chosen value of n D,R maximizes the minimum IFR(D, R) width, as mentioned in Section 33.3.3.2. Steps 4–6 find th e set of buffer-block tiles into which each buffer can be placed. Let B be the set of buffers needed to be inserted to satisfy the constraints, and the candidate buffer blocks (CBB) set of b, S b , b ∈ B, b e th e set of buffer-block tiles into which it can be placed . The intersection of the two-dimensional IFR(D, R) of a buffer with the buffer-block tiles defines the CBB set of the buffer. If there exists one buffer to be placed along the m onotonic Manhattan route with an empty CBB, non-monotonedetour routes are considered. Steps 7–9 compute the CBB sets for buffers to be placed along the shortest detour route. Step 8 finds the shortest detour path. The optimal number of buffers Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 661 29-9-2008 #18 Global Interconnect Planning 661 Algorithm: Buffer block planning with transition time and delay constraints 1. Divide dead spaces and routing channels into buffer block tiles; 2. Find type of buffers and n D,R for each net N 3. Compute IFR(D,R) for each buffer b ∈ B; 4. foreach net N 5. foreach buffer b in net N 6. Obtain CBB set S b ; 7. If there exists (S b =∅)foranetN 8. Find the shortest detour path; 9. Obtain S b along the detour path; 10. Generate the bipartite graph G; 11. While there exists a buffer to be assigned do 12. Delete the highest cost edge of G; 13. Update edge costs; 14. Assign a buffer to a CBB if required; FIGURE 33.7 Algorithm for buffer block planning considering both transition time and delay constraints. (From Sarkar, P. and Koh, C K., Proceedings of IEEE/ACM Design, Automation and Test in Europe Conference, IEEE Press, Piscataway, NJ, 2001.) (n D,R ) to be inserted to satisfy the timing constraints is computed based on this path length. Then, the width of the IFR(D, R) for each buffer along this path is computed. Step 9 applies this width to compute the CBB set for the net N. Each buffer could have several feasible CBBs to be assigned. A method based on the iterative deletion and bipartite graph formulation introduced in Section 33.3.1 is used to assign each buffer. Step 10 constructs the bipartite graph G, and Steps 12–14 prune G by removing incompatible buffer assignments or edges in each iteration, similar to the process in Section 33.3.1. The algorithm terminates when a unique CBB is assigned to each buffer. 33.3.4 BUFFER PLANNING WITH NOISE CONSTRAINTS Coupling noise between adjacent nets could induce unexpected circuit behavior. Figure 33.8 shows a noise model that considers coupling capacitance c c . The coupling capacitance is proportional to the fringing capacitance (c f ) and the coupling length (l c ), and it is inversely proportional to the distance (d) between the aggressor and the victim nets, that is, c c ∝ c f l c /d. Because the detailed routing information is not available during floorplanning or postfloorplanning,we may adopt a more conservative approach and make d the minimum wire distance d min specified by the design r ule. Furthermore, we set the coupling length (l c ) to be twice the victim net’s length (l ν ), which is the Aggressor net 1 0 X C c C s C s I c Victim net FIGURE 33.8 Noise model resulting from the coupling capacitance and crosstalk-induced current. (From Cheng, Y. -H. and Chang Y. -W., Proceedings of IEEE/ACM Asia South Pacific Design Automation Conference, IEEE Press, Piscataway, NJ, 2004.) . Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 652 29-9-2008 #9 652 Handbook of Algorithms for Physical Design Automation block width. The. cR d ) l − D N tgt Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 660 29-9-2008 #17 660 Handbook of Algorithms for Physical Design Automation If n Max D ≤. buffer insertions. Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C033 Finals Page 656 29-9-2008 #13 656 Handbook of Algorithms for Physical Design Automation 33.3.1.3 Methodology for Interconnect