Handbook of algorithms for physical design automation part 24 pptx

10 243 0
Handbook of algorithms for physical design automation part 24 pptx

Đang tải... (xem toàn văn)

Thông tin tài liệu

Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 212 29-9-2008 #11 212 Handbook of Algorithms for Physical Design Automation Fortheexchange and insert (rotate and randomize)operations,the firstltermsofthe given CS will not be changed during perturbation, where l = min{i, j}−1(l = i −1). Therefore, for each perturbation, we only need to consider the modules after the lth term and perform incremental update on the existing packing (solution). The coordinate of module b i in S i , i = l + 1, , m, can be obtained by inserting a node n i into two neighboringnodesn j and n k in L if D i =[j, k]. However, if the designated nodes do not exist in L, we randomly insert the node n i into two arbitrary neighboring nodes n q and n r in L, and thus D i =[q, r]. Note that we can guarantee a feasible solution after each perturbation by applying this process. Figure 11.8 illustra tes the procedure to perturb the CS using the exchange operation. If two modules f and h in S 6 and S 8 are exchanged, we have the new CS shown in Figure 11.8a. Figure11.8b shows the placement and L for the CS before perturbation.Modules a, b, c, d,ande are in the first five terms of the CS, and will not be changed for this perturbationbecause l = min{6, 8}−1 = 5 here. The coordinatesof the modules in the last three terms of CS can be obtained by their correspondingbends. (We insert nodes between two designated neighbor ing nodes according to their bends). Figure 11.8c shows the resulting placement and L after we insert the node n h between the nodes n e and n c in the L of Figure 11.8b. Then, for module g, we cannot place it at the designated bend [c, t] because there do not exist two adjacent nodes n c and n t in the L of Figure 11.8c. Therefore, we randomly insert n g into two arbitrary neighboring nodes in L. There are three candidate bends for placing module g: [s, e], [e, h],and[h, t] (see the L and the placement). If we insert n g between n e and n h (the new bend of module g becomes [e, h]), the resulting placement and L is given in Figure11.8d. Similarly, we inten d to insert n f between nodes n f and n c for the module f in the L of Figure11.8d. However, CSЈ = 〈 , (h, [e, c]) (g, [e, h]) (f, [g, h])〉 (f) (a) n s n e Exchange f and h CS = 〈 , (f, [e, c]) (g, [c, t ]) (h, [f, c])〉 CSЈ = 〈 , (h, [e, c]) (g, [c, t ]) (f, [f, c])〉 n c n t L n s n e n h n t L n s n g n h n t L n s n f n t L (b) (d)(c) (e) b a d c e h f g b a d c e h g b a d c e h b a d c e h f g FIGURE 11.8 Example of exchanging two modules b f and b h in S 6 and S 8 for the CS. (a) CS after the modules in S 6 and S 8 have been exchanged. (b) L for those modules a, b, c, d,ande whose coordinates remain the same. (c)–(e) Resulting placement and L after the modules h, g,andf have been packed, respectively. (f) Resulting CS after the operation. (From Lin, J M., Chang, Y W., and Lin, S P., IEEE Trans. VLSI Syst., 11, 679, 2003. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 213 29-9-2008 #12 Packing Floorplan Representations 213 there do not exist two neighboring nodes n f and n c in the L of Figure 11.8d, we thus randomly insert it between the nodes n g and n h . See Figure 11.8e for the resulting placement and L. Finally, we have the resulting CS shown in Figure 11.8f. 11.5 SEQUENCE P AIR Sequence pair (SP) is proposed by Murata et al. [6]. An SP is an ordered pair of module name sequences to model general floorplans. 11.5.1 FROM A PLACEMENT TO AN SP Figure11.9gives an exampleplacementP on a chip. The followingprocedure encodes P to an SP. For each module b i , we draw two lines, up-right locus and down-left locus. The up-right locus of module b i is initially located at the upper-right corner of b i and starts to move upward. It turns its direction alternately r ight and u p until it reaches the upper-right corner without crossing: (1) boundaries of other modules, (2) previously drawn lines, and (3) the boundary of the chip. The d own-left locus of b i can be drawn in the similar method. The union of these two loci and the connecting diagonal line of b i is called the positive locus of b i . They are referred to by the corresponding module names. An example of resulting positive loci is shown in Figure 11.10a. With the construction of positive loci, we have that no two positive loci cross each other. Thus, these positive loci can be linearly ordered, as well as the corresponding modules. Here we order the positive loci from left. Let  + be the module name sequence in this order. In Figure11.10a,  + = ecadfb is obtained. Negative loci are drawn similarly as the positive loci. The difference is that a negative locus is the union of the left-up locus and right-down locus. Let  − be the module name sequence in the order of the n egative loci from left. An example of negative loci is shown in Figure 11.10b. Observing it from left,  − = fcbead is obtained. Finally, the SP ( + ,  − ) is obtained. 11.5.2 FROM AN SP TO A PLACEMENT Given an SP ( + ,  − ), the geometric relation of modules can be derived from an SP as follows. Module b i is left (right) to module b j if b i appears before (after) b j in both  + and  − . Module b i is below (above) module b j if b i appears after (before) b j in  + and b i appears before (after) b j in  − . e c f a d b H W FIGURE 11.9 Placement P on a chip. (From Murata, H., Fujiyoshi, K., Nakatake, S., and Kajitani, Y., IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 15, 1518, 1996. W ith permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 214 29-9-2008 #13 214 Handbook of Algorithms for Physical Design Automation e a c b f e a c b f (a) (b) d d FIGURE 11.10 (a) Positive loci and (b) negative loci. (From Murata, H., Fujiyoshi, K., Nakatake, S., and Kajitani, Y., IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 15, 1518, 1996. W ith permission.) To obtain the placement from an SP, we construct an m ×m grid . Label the horizontal grid lines and vertical grid lines with module names along  + and  − from top and from left, respectively. A cross point of the horizontal grid line of label i and the vertical grid line of label j is referred to b y (i, j). Then, rotate the resulting grid by 45 ◦ counterclockwise to get an oblique grid. (Figure 11.11) Put each module b i with its center being on (i, i). Expand the separation of g rid lines enough to eliminate overlapping of modules. The resulting packing trivially satisfies the constraint implied by the given SP. An example is shown in Figure 11.11. GivenanSP( + ,  − ), the optimal packing under the constraint can be obtained in O(m 2 ) time, where m is the number of modules, by applying the well-known longest path algorithm for node- weighted directed acyclic graphs. The process is given below. We first construct the horizontal- constraint graph, a directed and node-weighted graph G H (V,E) (where V is the set of nodes, and E is the set of edges), based on the “left of” constraint of ( + ,  − ). e c f a d b FIGURE 11.11 Packing on an oblique grid for ( + ,  − ) = (ecadfb, fcbead). (From Murata, H., Fujiyoshi, K., Nakatake, S., and Kajitani, Y., IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 15, 1518, 1996. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 215 29-9-2008 #14 Packing Floorplan Representations 215 1. V : source s,sinkt,andm nodes labeled with module names 2. E: (s, i) and (i, t) for each module b i ,and(i , j) if and only if b i appears before (after) b j in both  + and  − (the “left of” constraint) 3. Node-weight: zero for s and t, width of module b i for the remaining nodes Similarly, the vertical-constraint graph G V (V,E) is constructed using the “below” constraint and the height of each module. There should be no directed cycle in both graphs. We set the x-coordinate of b i to be the longest path length from s to i in G H .They-coordinate of b i is set independently using G V . If two modules b i and b j are in horizontal relation, then there is an edge between i and j in G H , and thus they do not overlap horizontally in the resulting placement. Similarly, if b i and b j are in vertical r elation, they do not overlap vertically. Because any pair of modules are either in horizontal or vertical relation, no two modules overlap each other in the resulting placement. The width (height) of the chip is determined by the longest path length between the source and the sink in G H (G V ). The longest path length calculation on each graph can be done in O(m 2 ) time, proportional to the number of edges in the graph. For the G H and G V shown in Figure 11.12, we have ( + ,  − ) = (ecadfb, fcbead). The resulting placement after the longest path length calculation is shown in Figure11.13. On the basis of the longest common subsequence (LCS), two faster packing algorithms with respective time complexities O(lg n) and O(lg lg n ) to transform a SP to its placement are proposed by Tang, Tian, and Wong [14] and Tang and Wong [15]. Given an SP ( + ,  − ),let R + denotes the reverse of  + , and define lcs(X, Y ) as the length of the LCS of X and Y .Thatis,ifZ =z 1 , z 2 , , z n  is the LCS of two weighted sequences X and Y, lcs(X, Y) =  n i=1 w(z i ),andw(z i ) is the weight of z i .IfanSP( + ,  − ) = (X 1 bX 2 , Y 1 bY 2 ),thenlcs(X 1 , Y 1 ) is the x coordinate of the block b, where w(i) is the width of the block i,andlcs( + ,  − ) is the width of the placement. For the y coordinate, if an SP ( + ,  − ) = (X 1 bX 2 , Y 1 bY 2 ),then( R + ,  − ) = (X R 2 bX R 1 , Y 1 bY 2 ) and lcs(X R 2 , Y 1 ) is the y coordinate of the block b,wherew(i) is the height of the block i,andlcs( + ,  − ) is the width of the placement. Thus, given an SP, we can compute the LCS to determine the x and y coordinates of all blocks and the width/height of the placement. The packing times are O(lg n) and O (lg lg n) when the balanced search tree and host tree are used to compute the LCS [14], respectively. e c f a d b (a) (b) e c f a d b FIGURE 11.12 (a) Constraint graph G H and (b) constraint graph G V (transitive edges are not shown in both graphs for simplicity). (From Murata, H., Fujiyoshi, K., Nakatake, S., and Kajitani, Y., IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 15, 1518, 1996. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 216 29-9-2008 #15 216 Handbook of Algorithms for Physical Design Automation e c f a d b FIGURE 11.13 Best packing with the minimum area induced by ( + ,  − ) = (ecadfb, fcbead).(From Murata, H., Fujiyoshi, K., Nakatake, S., and Kajitani, Y., IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 15, 1518, 1996. With permission.) 11.5.3 SP PERTURBATIONS There are three types of pair-interchanges: (1) two module names in  + , (2) two module names both in  + and  − , and (3) the width and the height of a module, where the last one is for orientation optimization. 11.6 BOUNDED-SLICELINE GRID A BSG structure [7] contains rooms, horizontal unit segments, and vertical unit segments. Figure11.14 shows an example of a BSG of dimension p ×q,BSG p×q . When using a BSG structure to represent a placement, p × q must be larger or equal to the number of modules. A rectangular space surrounded by an adjacent pair of vertical and horizontal units is called the room. Vertical unit (p,q) x y (0,0) FIGURE 11.14 BSG of dimension p × q,BSG p×q . (From Nakatake, S., Fujiyoshi, K., Murata, H., and Kajitani, Y., Pr oceedings of International Conference on Computer-Aided Design, 1996. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 217 29-9-2008 #16 Packing Floorplan Representations 217 segments define the vertical relations, while horizontal unit segments define the horizontal ones. The placement o f m modules is formulated as the room assignment of m modules by placing m modules into different rooms. The next section describes an algorithm to transform the BSG room assignment to the corresponding placement. 11.6.1 FROM A BSG ASSIGNMENT TO A PLACEMENT Given a set of modules M,where|M|=n. Assuming that p × q ≥ n, an assignment of M is a one-to-one mapping of modules into the rooms of BSG p×q . A room to which no module is assigned is called an empty room. We use the example shown in Figure 11.15 to explain the process of transforming the BSG to the corresponding placement. Given four modules (Figure 11.15a) and the assignment of four modules in the BSG (Figure 11.15b), we construct a horizontal unit adjacency graph G h (V h , E h ) and a vertical unit adjacency graph G v (V v , E v ) according to the BSG, and assign the weight of the edges in the unit adjacency graphs. If e ∈ E h and e crosses a nonempty room, w(e) = height of the module assigned there. If e ∈ E v and e crosses a nonempty room, w(e) = width of the module assigned there. Otherwise, if e crosses an empty room or is incident on the source or the sink, w(e) = 0. The corresponding horizontal unit adjacency graph G h (V h , E h ) and the vertical unit adjacency graph G v (V v , E v ) to the assignment are shown in Figure 11.15c and d, respectively. Let G h (V h , E h ) be the horizontal unit adjacency graph. For each vertex u ∈ V h , l h (u) denotes the length of the longest path from the source s h to u. Similarly in G v , l v (u) denotes the longest path length from s v to u ∈ V v . We use a longest-path algorithm to determine the positions of modules. The longest-path algorithm works in linear time of the number of edges when the input G is a directed acyclic graph. The total number o f edges of the unit adjacency graphs is between 2(pq +p +q) and 2(pq +p + q) −4. So, the time complexity to find the longest path is O(pq). d c b a (8, 3) (6, 9) (11, 4) (a) (c) (d) (b) (9, 8) a b c d 0 9 11 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 9 3 8 0 0 0 8 s h t h t v s v FIGURE 11.15 (a) Input modules, (b) BSG assignment, (c) horizontal unit adjacency graph G h (V h , E h ),and (d) vertical unit adjacency graph G v (V v , E v ). (From Nakatake, S., Fujiyoshi, K., Murata, H., and Kajitani, Y., Pr oceedings of International Conference on Computer-Aided Design, 1996. With permission.) Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 218 29-9-2008 #17 218 Handbook of Algorithms for Physical Design Automation c a b d x y (0,0) 6 8 4 9 12 17 FIGURE 11.16 Corresponding placement o f the example in Figure 11.15. (From Nakatake, S., Fujiyoshi, K., Murata, H., and Kajitani, Y., Proceedings of International Conference on Computer-Aided Design, 1996. With permission.) The following BSG-PACK procedure transforms a BSG with a given assignment to the corresponding placement [7]: Given an assignment of M to BSG p×q ,letm be a module assigned to a room whose left (vertical) boundary unit is V m and bottom (horizontal) boundary unit is H m . Then, place m such that its left bottom is at (l v (u V m ), l h (u H m )) where u V m and u H m are the vertices corresponding to the units V m and H m in the vertical unit and horizontal unit adjacency graphs, respectively. The area of the packing is (l v (t v )×l h (t h )). Figure 11.16 gives the resulting placement for the assignment of Figu re 11.15. 11.6.2 BSG PERTURBATIONS It is very simple to perturb one BSG assignment to get another BSG assignment. We can first choose two different rooms, and then interchange (swap) the contents of them to generate a n ew BSG assignment. 11.7 TRANSITIVE CLOSURE GRAPH The transitive closure of a directed acyclic graph G is defined as the graph G  = (V ,E  ),where E  ={(n i , n j ): there is a path from node n i to node n j in G}. The representation, proposed by Lin and Chang in Refs. [4,12], describes the geometric relations among modules based on two graphs, namely a horizontal TCG C h and a vertical TCG C v . In this section, we first introduce the procedure for constructing C h and C v from a placement. Then, we d escrib e how to pack modules from TCG. 11.7.1 FROM A PLACEMENT TO A TCG For two nonoverlapped modules b i and b j , b i is said to be horizontally (vertically) related to b j , denoted by b i  b j (b i ⊥b j ),ifb i is on the left (bottom) side of b j and their projections on the y(x) axis overlap. Note that two modules cannot have both horizontal and vertical relations unless they overlap. For two nonoverlapped modules b i and b j , b i is said to be diagonally related to b j if b i is on the left side of b j and their projections on the x and the y axes do not overlap. In a placement, every two modules must bear one of the three relations: horizontal relation, vertical relation, and diagonal relation. To simplify the operations on geometric relations, we treat a diagonal relation for modules b i and b j as a horizontal one, unless there exists a chain of vertical relations from b i (b j ), followed by Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 219 29-9-2008 #18 Packing Floorplan Representations 219 e c d 3 7 6 4 6 6 2 3 4 4 b n c n e n d n e n c n d n a C v n b n a C h n b a (a) (b) FIGURE 11.17 ( a) Placement in a chip and (b) the corresponding TCG. (From Lin, J M., and Chang, Y W., IEEE Trans. VLSI Syst., 13, 288, 2005. With permission.) the modules enclosed with the rectangle defined by the two closest corners of b i and b j , and finally to b j (b i ),forwhichwemakeb i ⊥b j (b j ⊥b i ). Figure11.17a shows a placement with five modules b a , b b , b c , b d ,andb e whose widths and heights are (6, 4), (4, 6), (7, 4), (6, 3) and (3, 2), respectively. In Figure 11.17a, b a  b b , b a ⊥b c ,and module b e is diagonally related to module b b . There exists a chain of vertical relations formed by modules b e , b c ,andb b between the two modules b e and b b (i.e., b b ⊥b c and b c ⊥b e ). Therefore, we make b b ⊥b e . Also, module b e is diagonally related to module b d . However, there does not exist a chain of vertical relations between modules b e and b d , and thus we make b e  b d . TCG can be derived from a placementas follows. Foreachmodule b i in a placement, we introduce a node n i with the weight being the width (height) in C h (C v ).Ifb i  b j , we construct a directed edge from node n i to node n j (denoted by (n i , n j ))inC h . Similarly, we construct a directed edge (n i , n j ) in C v if b i ⊥b j . Given a placement with m modules, we need to perform the above process m(m −1)/2 times to capture all the geometric relations among modules (i.e., C h and C v have m(m − 1)/2 edges in total). As shown in Figure 11.17b,foreach module b i , i ∈{a, b, c, d, e}, we introducea node n i in C h and also in C v . For each node n i in C h (C v ), i ∈{a, b, c, d, e}, we associate the node with a weight equal to the width (height) of the corresponding module b i . Because b a  b b , we construct a directed edge (n a , n b ) in C h . Similarly, we construct a directed edge (n a , n c ) in C v because b a ⊥b c . This process is repeated until all geometric relations among modules are defined. As shown in Figure 11.17b, each TCG has five nodes, and there are totally ten edges in C h and C v (four in C h and six in C v ). 11.7.2 FROM A TCG TO A PLACEMENT We now present the packing method for a TCG. Given a TCG, its corresponding placement can be obtained in O(m 2 ) time by performing a well-known longest path algorithm on the TCG, where m is the number of modules. To facilitate the implementation of the longest path algorithm, we augment the given two closure g raphs as follows. We introduce two special nodes with zero weights for each closure graph, the source n s and the sink n t , and construct an edge from n s to each node with in-degree equal to zero, and also from each node with out-degree equal to zero to n t . (Note that the TCG augmentation is performed only for packing. It will be clear later that such augmentation is not needed for other operations such as solution perturbation.) Let L h (n i )(L v (n i )) be the length of the longest path from n s to n i in the a ugmented C h (C v ). L h (n i )(L v (n i )) can be determined by performing the single source longest path algorithm on the augmented C h (C v ) in O (m 2 ) time, where m is number of modules. The coordinate (x i , y i ) of a module b i is given by (L h (n i ), L v (n i )). Because the respective width and height of the placement for the given TCG are L h (n t ) and L v (n t ), the area of the placement is given by L h (n t )L v (n t ). Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 220 29-9-2008 #19 220 Handbook of Algorithms for Physical Design Automation 11.7.3 TCG PROPERTIES A feasible TCG has the following thr ee properties: (1) C h and C v are acyclic (2) each pair of nodes must be connected by exactly one edge either in C h or in C v and (3) the transitive closure of C h (C v ) is equal to C h (C v ) itself. Property 1 ensures that a module b i cannot be both left and right to (below and above) another module b j in a placement. Property 2 guarantees that no two modules overlap because each pair of modules have exactly one of the horizontal or vertical relation. Property 3 is used to eliminate redundant solutions. It guarantees that if there exists a path from n i to n j in one closure graph, the edge (n i , n j ) must also appear in the same closure graph. For example, there exist two edges (n i , n j ) and (n j , n k ) in C h , which means that b i  b j and b j  b k , and thus b i  b k . If the edge (n i , n k ) appears in C v instead of in C h , b k is not only left to b i but also above b i . The resulting area of the corresponding placement must be larger than or equal to that when the edge (n i , n k ) appears in C h . On the basis of the properties of TCG, there exists a unique placement corresponding to a TCG, and the size of the solution space for TCG is (m!) 2 ,wherem is the number o f modules [4]. 11.7.4 TCG PERTURBATIONS To ensure the correctness of the new TCG after perturbation, as described in the preceding section, the new TCG must satisfy the aforementioned three feasibility properties. To identify a feasible TCG for perturbation, we introduce the concept of transitive reduction edges of TCG. An edge (n i , n j ) is said to be a reduction edge if there does not exist another path from n i to n j , except the edge (n i , n j ) itself; otherwise, it is a closure edge. Because TCG is formed by directed acyclic TCGs, given an arbitrary node n i in one TCG, there exists at least one reduction edge (n i , n j ), where n j ∈ F out (n i ). Here, we define the fan-in (fan-out) of a node n i , denoted by F in (n i )(F out (n i )), as the nodes n j ’s with edges (n j , n i )(n i , n j ). For nodes n k , n l ∈ F out (n i ), the edge (n i , n k ) cannot be a reduction edge if n k ∈ F out (n l ). Hence, we remove those nodes in F out (n i ) that are fan-outs of others. The edges between n i and the remaining nodes in F out (n i ) are reduction edges. For the C v shown in Figure 11.17a, F out (n a ) ={n c , n e }. Because n e belongs to F out (n c ), edge (n a , n e ) is a closure edge while (n a , n c ) is a reduction one. We apply the following four operations to perturb a TCG: • Rotation: rotate a module • Swap: swap two nodes in both of C h and C v • Reverse: reverse a reduction edge in C h or C v • Move: move a reduction edge from one TCG (C h or C v ) to the other Rotation and swap do not change the topology of a TCG while reverse and move do. To maintain the properties of the TCG after performing the reverse and move operations, we may need to update the resulting graphs. Rotation. To rotate a module b i , we only need to exchange the weights of the corresponding node n i in C h and C v . TCG is closed under the rotation operation, and such an operation takes O(1) tim e. Swap. To swap two nodes n i and n j , we only need to exchange two nodes in both C h and C v .TCGis closed under the swap operation, and such an operation takes O(1) time. Reverse. The reverse operation reverses the direction of a reduction edge (n i , n j ) in a TCG, which corresponds to changing the geometric relation of the two modules b i and b j . For two modules b i and b j , b i  b j (b i ⊥ b j ) if there exists a reduction edge (n i , n j ) in C h (C v ); after reversing the edge (n i , n j ), we have the new geometric relation b j  b i (b j ⊥ b i ). Therefore, the geometric relation among modules is transparent not only to the TCG representation but also to the reverse operation (i.e., the effect of such an operation on the change of the geometric relation is known before packing); this property can facilitate the convergence to a desired solu tion. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C011 Finals Page 221 29-9-2008 #20 Packing Floorplan Representations 221 To reverse a reduction edge (n i , n j ) in a TCG, we first delete the edge from the graph, and then add the edge (n j , n i ) to the graph. For each node n k ∈ F in (n j ) ∪{n j } and n l ∈ F out (n i ) ∪{n i } in the new graph, we shall check whether the edge (n k , n l ) exists in the n ew graph. If the graph contains the edge, we do nothing; otherwise, we need to add the edge to the graph and delete the corresponding edges (n k , n l ) (or (n l , n k )) in the other TCG, if any, to maintain the properties of the TCG. To maintain the properties of a TCG, we can only reverse a reduction edge. Further, for each edge introduced in a TCG, we remove its corresponding edge from the other graph. Therefore, there is always exactly one relation between each pair of modules. TCG is closed under the reverse operation, and such an operation takes O(m 2 ) time, where m is the number of modules in the placement. Move. The move operation moves a reduction edge (n i , n j ) in a TCG to the other, which corresponds to switching the geometric relation o f the two modules b i and b j between a horizontal relation and a vertical one. For two m odules b i and b j , b i  b j (b i ⊥ b j ) if there exists a reduction edge (n i , n j ) in C h (C v ); after moving the edge (n i , n j ) to C v (C h ), we have the new geometric relation b i ⊥ b j (b i  b j ). Therefore, the geometric relation among modules is also transparent to the move operation. To move a reduction edge (n i , n j ) from a TCG G to the other G  in a TCG, we first delete the edge from G and add it to G  . Similar to the reverse operation, for each node n k ∈ F in (n i ) ∪{n i } and n l ∈ F out (n j ) ∪{n j }, we shall check whether the edge (n k , n l ) exists in G  .IfG  contains the edge, we do nothing; otherwise, we need to add the edge to G  and delete the corresponding edge (n k , n l ) (or (n l , n k ))inG, if any, to maintain the properties of the TCG. To maintain the properties of a TCG, we can only move a reduction edge. If we move a closure edge (n i , n k ) associated with the two reduction edges (n i , n j ) and (n j , n k ) in one TCG to the other, then there exist a path from n i to n k in the two graphs, implying that b i  b k and b i ⊥ b k , which gives a redundant solution. Further, for each edge introduced in a TCG, we remove its corresponding edge from the other graph. Therefore, there is always exactly one relation b etween each pair of modules. TCG is closed under the move operation, and such an operation takes O(m 2 ) time, where m is the number of modules in the placement. 11.8 TCG-S TCG-S representation, also proposed by Lin and Chang in Refs. [5,13], combines TCG = (C h , C v ) and SP = ( + ,  − ), which uses a horizontal and a vertical TCGs as well as the packing sequence  − to represent a placement. TCG-S tries to combine the advantages of SP and TCG and at the same time eliminate their disadvantages. With the property of SP, faster packing and perturbation schemes are possible. Inheriting some nice properties from TCG, the geometric relations among modules are transparent to TCG-S (implying faster convergence to a desired solution), placement with positio n constraints becomes much easier, and incremental update for cost evaluation can be realized. With the characteristics of TCG and SP, TCG-S has the following four feasibility properties: 1. C h and C v are acyclic. 2. Each pair of nodes must be connected by exactly one edge either in C h or in C v . 3. Transitive closure of C h (C v ) is equal to C h (C v ) itself. 4. Packing sequence  − is the topological order of both C h and C v . 11.8.1 FROM A PLACEMENT TO TCG-S For two nonoverlapped modules b i and b j , they could bear one of the horizontal, vertical, and diagonal relations as defined in Section 11.7. If b i is horizontally (vertically) related to b j , denoted by b i  b j (b i ⊥ b j ),thenb i is left to (below) b j and their projections on the y(x) axis overlap. The diagonal relation between two modules b i and b j is also defined in Section 11.7, and is treated as a horizontal one unless there exists a chain of vertical relations from b i (b j ), followed by the modules . Alpert /Handbook of Algorithms for Physical Design Automation AU 7242 _C011 Finals Page 212 29-9-2008 #11 212 Handbook of Algorithms for Physical Design Automation Fortheexchange and. ith permission.) Alpert /Handbook of Algorithms for Physical Design Automation AU 7242 _C011 Finals Page 214 29-9-2008 #13 214 Handbook of Algorithms for Physical Design Automation e a c b f e a c b f (a). permission.) Alpert /Handbook of Algorithms for Physical Design Automation AU 7242 _C011 Finals Page 216 29-9-2008 #15 216 Handbook of Algorithms for Physical Design Automation e c f a d b FIGURE 11.13

Ngày đăng: 03/07/2014, 20:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan