Given an n-vertex plane triangulated graph G, its rectangular dual Rd, [12,13] consists of n nonoverlapping rectangles, where a rectangle in Rd corresponds to a distinct vertex i ∈ G, an
Trang 11 4
2 3 7
6 9 5
8
12
a
b
c
e
f g h
7
6 9 5
1 4
2 3 8
12
7
6
9 5
8 11
10
3 4
c d
i
e
f g
h
7
3
4
6 9
5
8
11
10 12
FIGURE 8.2 (a) Rectangular graph N, (b) its geometric dual without the vertex for the exterior face, (c) its
inner dual, and (d) its rectangular dual (Figure a, b, and c from Sur-Kolay, S and Bhattacharya, B.B., Lecture Notes in Computer Science, 338, 88, 1988.)
duals for a given R, the strength of the dualization method lies in the fact that a solution, if one exists,
can nevertheless be found in linear time [14]
A graph embedding is a particular drawing of a graph on a surface (which may often be a two-dimensional plane) such that its edges may intersect only at their endpoints A graph is planar if there exists an embedding of it on a plane, whereas a plane graph is an embedding of a planar graph on
a plane [5] By definition, a rectangular floorplan is embedded on a plane, which therefore implies
that its rectangular graph is a plane graph As all intersections of cuts of F form T-junctions, all the internal faces of R, the rectangular graph of F, are triangles bounded by three edges Hence, a
rectangular graph is a plane triangulated graph [12,13]
Given an n-vertex plane triangulated graph G, its rectangular dual Rd, [12,13] consists of n nonoverlapping rectangles, where a rectangle in Rd corresponds to a distinct vertex i ∈ G, and rectangles i and j in Rd share at least a portion of a side if and only if there is an edge (i, j) in
G The rectangular dual of G, if it exists, corresponds to a valid rectangular floorplan where the rectangles represent the modules of the floorplan Because all faces of G are triangles, no more than three rectangular faces in the rectangular dual of G meet at a vertex and thus the floorplan has only
T-junctions and no cross junctions
A rectilinear embedding of a plane graph is an embedding in which all the edges of the graph are either horizontal or vertical Thus, a cycle in the plane graph is embedded as a rectilinear polygon
Next, let G be a given plane triangulated graph and Gd be its geometric dual [5] whose vertices
correspond to the faces of G and there is an edge between two vertices in Gd if and only if the
corresponding faces in G share an edge An inner dual D [16,33] of G is a rectilinear embedding
of Gd, excluding the vertex corresponding to the exterior face of G, such that each internal face
of D is bounded by four or more edges and embedded as a rectangle All the internal vertices of
D have degree 3 Thus, we can obtain the rectangular dual of G (Figure 8.2) by placing the inner dual of G within an enveloping rectangle, because the exterior face of G is not reflected in D, and then projecting each degree 2 (respectively, degree 1) vertex of D onto the side (respectively, two sides) of the enveloping rectangle nearest to it A vertex in D has degree 1 if two of the edges of the corresponding triangular face in G lie on its exterior face and only the third edge is shared with another internal triangular face of G But the key question is whether a rectangular dual exists and if
so, how it can be constructed efficiently
8.3.1 DUALIZABILITY
A plane triangulated graph that is a rectangular graph has a rectangular dual, by definition Every plane triangulated graph however does not have a rectangular dual A triangle (or cycle of length 3)
in a plane triangulated graph G, which is not the boundary of an internal face, is called a complex triangle [13,18] In the graph shown in Figure 8.3a, the triangles ABD, BDC, and CDA are internal
Trang 2A
B
D
C
(b) (a)
FIGURE 8.3 (a) Plane triangulated graph with a complex triangle and (b) conflict in constructing its rectangular
dual
faces, but triangle ABC is not and is therefore a complex triangle So in the rectangular dual, if rectangles A, B, and C have to share edges pairwise, then there is no room for rectangle D to share edges with all the three rectangles A, B, and C and yet not overlap with any of these three rectangles
(Figure 8.3b)
One of the necessary conditions for G to have a rectangular dual is that G has no complex triangles Formally, a graph G is said to be a properly triangulated plane (PTP) graph, if it is a
connected plane graph and satisfies the following properties [12]:
P1: Every face (except the exterior) is a triangle (i.e., bounded by three edges)
P2: All internal vertices have degree≥4
P3: All cycles that are not faces and the exterior face have length≥4
Further, every planar graph that satisfies P1and P3also satisfies P2[17] The necessary and sufficient
conditions under which a PTP graph G has a rectangular dual were established in Refs [12,13] A few definitions are needed for the statement of these conditions A chord of a cycle in G is an edge
between two nonconsecutive vertices on the cycle (so it is not part of the cycle) A chord(u, v) of the outermost cycle S of G is said to be critical if one of the two paths between u and v on the cycle has
no end vertices of any other chord of S Such a path is called a corner implying path For instance,
the edge(a, e) in Figure 8.1c is a chord, and a critical one as well where the path {a, h, e} is corner implying The implication of this is that in the rectangular dual of R, the rectangle corresponding to vertex h has to be in a corner of the bounding rectangle of the dual.
A graph G is said to be biconnected if between any two vertices u and v in G there exist two paths
in G with no common vertices except u and v Biconnected components of a graph are commonly
called blocks, and a vertex shared by two blocks is an articulation point So, the block neighborhood
graph (BNG) of a graph G is a graph in which there is a distinct vertex for each block of G and there
is an edge between two vertices if and only if the two corresponding blocks share a vertex A corner
implying path in a block of G is said to be critical if it contains no articulation points of G.
Corner implying path criteria [12]: A PTP graph G has a rectangular dual if and only if one of the
following is true:
1 G is biconnected and has no more than four corner implying paths.
2 G has k, k > 1, biconnected components; the BNG of G is a path itself; the biconnected
components that correspond to the ends of this path have at most two critical corner implying paths; and no other biconnected component contains a critical corner implying path
Intuitively, a biconnected rectangular graph should have no more than four vertices having degree 2 and these, if at all present, should appear on the outermost cycle because a rectangular dual can have
at most four rectangles at the four corners of its bounding rectangle
Trang 3It can be shown that biconnectivity and the properties P1 and P3 of a rectangular graph imply
that its embedding is unique Kozminski and Kinnen gave an O (n2) time algorithm for constructing
such a dual
Bipartite matching criteria: Another elegant characterization of rectangularity based on the
perfect matching problem in bipartite graphs was established in Ref [13] Each T-junction may be uniquely associated with the module whose side (wholly or partially) forms the crosspiece (defined later in Section 8.3.2.1) of the T-junction As the T-junctions in the rectangular dual correspond to the triangular faces in the PTP graph, each triangular face in the PTP graph is assigned to one of its three vertices (indicated by arrows in Figure 8.4) for construction of a floorplan Although there
may be more than one such assignment for a given R (Figure 8.4a and b), an arbitrary assignment
may not guarantee a feasible rectangular dual Further, to take into account the T-junctions along
the boundary of the rectangular dual, the graph R is extended by adding four special vertices t, r,
b, and l to represent the four sides of the boundary and all vertices on the outermost cycle of R are
connected appropriately to these four sides to retain the PTP property Each corner vertex has two extra edges and each of the remaining vertices on the outermost cycle has one extra edge A bipartite
graph B = (X ∪ Y, E) is derived thus from the PTP graph R, where (1) each vertex in X corresponds
to a triangular face of R, (2) Y is a set of vertices associated with each vertex υ of R such that if
degree ofυ is d(υ), then there are exactly d(υ) − 4 instances of υ, and (3) there is an edge between
a vertex x ∈ X and a vertex y ∈ Y if the PTP face corresponding to x is adjacent to the PTP vertex represented by y In the PTP of Figure 8.4, the outermost cycle has six vertices of which vertices h, b,
c, and d are chosen as corners and therefore each of these has two extra edges in the extended graph and vertices a and e have only one extra edge each The dualizability criteria [13] are as follows:
1 PTP graph admits a rectangular dual if and only if each triangular face can be assigned to
one of its adjacent vertices such that each vertex y with degree d (υ) has d(υ) − 4 triangular
faces assigned to it
2 PTP graph admits a rectangular dual if and only if there is a perfect matching in the bipartite graph associated with it
(a)
(b)
a b c1 c2 d e1 e2 f
t1 t2 t3 t4 t5 t6 t7 t8
a
b
c d
e
f g
t2
t3
t4
t5
t6 t7
h
t8 t1
a
b
c d
e
f g
h
t1
t2
t3
t4
t5
t6
t7
t8
a b c1 c2 d e1 e2 f
t1 t2 t3 t4 t5 t6 t7 t8
FIGURE 8.4 (a) Rectangular graph R with a feasible assignment of triangular faces to vertices, and the
maximum matching in its bipartite graph B that corresponds to the floorplan in Figure 8.1a; (b) another feasible assignment for R and the maximum matching in B that corresponds to the floorplan in Figure 8.1b Matched
edges are indicated by thick lines
Trang 4Steps of rectangular dualization
1 Planarization of C by edge deletion or dummy node addition
2 Triangulation of the planar graph
3 Elimination of complex triangles from the plane triangulated graph to obtain a PTP graph
4 Construct and report a rectangular dual of the PTP graph
At this juncture, the steps of floorplanning by rectangular dualization [19] of a circuit are sum-marized above as an analysis of its time complexity is in order The first step of planarization of the logical network of the circuit by deleting a minimum number of edges or a set of edges with minimum total weight is known to be NP-complete [20] The second step of triangulating a planar graph can be done in linear time But, there is neither a polynomial time optimum algorithm nor a NP-completeness proof [18] for the third step of eliminating all complex triangles from the plane triangulated graph Efficient polynomial time algorithms for constructing a rectangular dual for a given PTP graph have been proposed in Refs [12,13,17] This has been improved by Bhasker and Sahni to a linear time algorithm [14] to check existence of a rectangular dual for a given planar trian-gulated graph and construct it, if it exists An outline of this algorithm appears below in Algorithm I and the major steps are demonstrated in Figure 8.5 The limitation of rectangular dualization stems from its requirement of a PTP graph, but this can be overcome as discussed in Section 8.4.4 The algorithmic efficacy of rectangular dualization often leads to employing this method to generate a good topology on which other iterative floorplanning methods can be applied to obtain very good solutions quickly
begin
1 For each biconnected component of given PTP graph
Embed it on a plane such that
P1and P3are satisfied and all its articulation points are on the outermost cycle;
If no embedding exists, then report ‘NOT DUALIZABLE’ and halt;
2 Find the critical corner implying paths and assign four corners NW, NE, SE, SW
to vertices on the outermost cycle;
3 Add to the graph a special vertex Head-node and new directed edges from it
to all the vertices on the outermost cycle between NW and NE;
4 Starting from NW , traverse downward from Head-node;
5 For each directed path from Head-node starting with the leftmost one
for each vertex in the directed path order
place a new rectangle below its predecessor such that the adjacency
with rectangles for vertices on the path immediately to its left is maintained
end.
8.3.2 SLICIBILITY OFRECTANGULARDUALS
Several investigators have advocated that in top-down hierarchical circuit design, slicing structures have advantages over general nonslicing ones Slicible floorplans can be represented by elegant data structures such as series-parallel polar graphs [6,8], slicing trees [7], and normalized Polish postfix
Trang 5b
c d
e
f g
h
a
b
c d
g
h
c d
g
h
Head-node
SE SW
FIGURE 8.5 (a) Rectangular graph R, (b) its path directed graph with a special head-node and the four corners
marked, and (c) rectangular dual construction by traversing each directed path from the special head-node in left to right order as indicated by dashed lines
expressions [21] These types of floorplans are computationally easier to deal with because they allow
a natural partition of the design into partially independent subproblems, hence the divide-and-conquer strategy succeeds
The problem of optimal orientations of modules is solvable in polynomial time for a slicible floorplan, but remains NP-complete in the strong sense for general floorplans [22] Slicing facilitates not only floorplanning but also wiring Optimal wiring of a single net in a slicing structure, minimizing
the overall area instead of wirelength, can be done in O (n log n) time [23] This problem is far
more complicated in the general nonslicible case In fact, the next chapter of this handbook dwells exclusively on slicing floorplans
Notwithstanding the fact that slicible floorplan topologies have enjoyed preference owing to their divide-and-conquer algorithms, nonslicible floorplans are better as far as optimal sizing is concerned, and hence their intriguing properties are addressed later in this chapter
The distinguishing criterion between slicibility and nonslicibility of a floorplan succinctly epito-mized in Ref [24] is presented next The issue of representing nonslicible floorplans is addressed in Section 8.4 The salient question whether a slicible floorplan exists for a given neighborhood graph for modules of a circuit is also taken up thereafter
8.3.2.1 Four-Cycle Criterion for Slicibility of a Floorplan
A graph-theoretic characterization of slicible floorplans [24] is based on the concept of a channel graph, where a channel in a floorplan is a cutline From the convention of T-junctions, no two channels
overlap If two perpendicular channels a and b intersect at a point p, then p is an endpoint of either a
or b, but not both; the one of which p is an endpoint is called the base of the T-junction and the other
is called the crosspiece The two parts of the crosspiece channel on either side of the junction are called arms The same cut may be the base of one T-junction and crosspiece of another T-junction
A channel graph of a floorplan is a directed graph C = (V, A) where there is a distinct vertex in
V for each channel and there is an arc (a, b) from a to b in A if and only if there is a T-junction of which channel a is the base and channel b the crosspiece Figure 8.6b and d shows the respective
channel graphs of the slicible and nonslicible floorplan in Figure 8.6a and c The following two crucial theorems about channel graphs of floorplans were proved in Ref [24]:
1 Four-cycle theorem: A channel graph has a directed cycle if and only if it has a cycle of length 4
2 Slicing theorem: A channel graph of a floorplan is acyclic if and only if the floorplan is a slicible floorplan
Essentially, by detecting directed four-cycles in the channel graph of a given floorplan, its non-slicibility can be decided and this is achievable in linear time There are two possible arrangements
Trang 6(a) (b) (c) (d)
c d
e
f
g
2
4
5
6
c d
e
f g
2
4 5 6 1
2
3
4 5
6
7
1
2
3
6
7
FIGURE 8.6 (a) Slicible floorplan Fsand (b) its channel graph; (c) nonslicible floorplan Fnand (d) its channel graph containing a directed four-cycle
of channels in a floorplan that produce directed four-cycles in the channel graph This property can also be employed in a polynomial time heuristic for converting a nonslicible floorplan to a slicible one with minimal alterations [25]
A few more properties of channel graphs have been observed [26,27] A channel graph C is (1)
connected, (2) planar but not necessarily embeddable on a planar grid, (3) bipartite, (4) outdegree of
any vertex in C ≤ 2, (5) at least four vertices in C have outdegree 1, (6) every internal face of C is
bounded by exactly four arcs, (7) the number of arcs shared by two adjacent directed four-cycles is
less than or equal to 1, and (8) C has no bridges [5] The channel graph of a given floorplan is unique,
but there may be more than one floorplan with the different neighborhood relations corresponding
to a given channel graph The existence of a floorplan corresponding to a planar, bipartite digraph with maximum outdegree of 2 and at least four vertices having outdegree 1 was raised in Ref [27], and the affirmative answer was proven in Ref [28] The next section addresses certain important features of nonslicible floorplans
8.4 NONSLICIBILE FLOORPLAN TOPOLOGIES
8.4.1 MAXIMALRECTANGULARHIERARCHY
The several efficient representation schemes that follow naturally from the recursive definition of slicible floorplans are not directly applicable to nonslicible floorplans Nevertheless, a general non-slicible floorplan has a unique representation based on the concept of maximal rectangular hierarchy (MRH) [25] and above all, this representation is supportive of divide-and-conquer algorithms Simi-lar representations have been proposed independently in Refs [29–32], although they mostly assume that at each level there can be a branching of at most five as is the case for the basic nonslicible pattern
A close relation between the strongly connected components of the channel graph of a nonslicible
floorplan and its MRH was established [26], which leads to a simple depth-first search based O (n) algorithm for extraction of MRH where the floorplan has n modules.
A maximal rectangle in a floorplan can be defined as one which is not contained in any rectangle other than the envelope of the floorplan, or does not partially overlap with any other rectangle
A nonslicible floorplan can be decomposed uniquely into a nonempty set of mutually exclusive (nonoverlapping) and collectively exhaustive maximal rectangles This is demonstrated in Figure 8.7
If the floorplan is slicible and has a single through cut at the top level of the slicing tree, then the two rectangles on either side of the through cut are the only maximal rectangles In the case of multiple through cuts in the same direction at the top level, the boundary is the only maximal rectangle; all indivisible blocks within it are its children in the MRH The usual slicing tree may be utilized for processing within this maximal rectangle
Maximal rectangles can be defined recursively to produce a hierarchy of maximal rectangles, called the maximal rectangular hierarchy A maximal rectangle may contain a slicible or a nonslicible pattern of rectangles At the top level, we have just the bounding rectangle of the floorplan Each
Trang 71
28
13
14
15
16 17
3 2
6
7
21 20
19 18 11
4 5
9 10
23 24
25 27 26 22
(b)
22
24 25 26 27
28 1
19 20
21
23
11 12 13 14 15 16 17
FIGURE 8.7 (a) Maximal rectangular hierarchy of a floorplan topology and (b) the corresponding hierarchy
tree Each level of the hierarchy is marked by a different line thickness (From Sur-Kolay, S., Studies on nonslicible floorplans in VLSI layout design, Doctoral dissertation, Jadavpur University, 1991.)
level of the MRH has a rectangular boundary and a set of mutually exclusive and collectively exhaustive maximal rectangles This hierarchy can be represented by a tree Because the set of maximal rectangles at each level is unique, the MRH of a nonslicible floorplan is also unique
8.4.2 INHERENTNONSLICIBILITY
The fact that a rectangular graph can have more than one nonisomorphic dual brings us to the fundamental question about the existence of rectangular graphs that have no slicible duals This is equivalent to characterizing slicibility of rectangular graphs
A rectangular graph is inherently nonslicible if there exists no slicible rectangular dual of it, consequently no slicible floorplan It turns out that [33] there exists an inherently nonslicible graph
N, having nine vertices N is a minimum (in the number of vertices and edges) inherently nonslicible
rectangular graph
The inherently nonslicible graph, N, is a maximal rectangular graph (MRG) (i.e., no edge can be
added without violating rectangularity) of 9 vertices and 20(=3∗9− 7) edges An MRG of n vertices
is not unique For all n ≥ 4, there exists an MRG with (3n − 7) edges that has a slicible dual It
follows that any rectangular graph with 8 or fewer vertices has a slicible rectangular dual Moreover, the minimum rectangular graph that is inherently nonslicible is unique
There exists a family of inherently nonslicible floorplans, named INS [25] Besides the first
member N, (Figure 8.2a), few more are shown in Figure 8.8a through d, and in fact, there are an
infinite number of members in INS The peculiarity of inherent nonslicibility can be demonstrated
by examining a few pairs of similar floorplans Consider the one in Figure 8.8a The cutβ acts
like a lock and blocks slicibility But addition of another vertical cut to divide the block below it produces a slicible floorplan so this new cut acts like a handle aiding slicibility With this insight, pseudomaximality at any level of the MRH is defined so that if any maximal rectangle has more than four T-junctions around it externally, then the next level of the MRH within it cannot be ignored The intuition behind this is that the inner level may provide a handle and produce an equivalent slicing This idea is applicable for deciding membership in INS Although nonslicibility of given floorplan can be easily decided as mentioned earlier in Section 8.3.2.1, the necessary and sufficient conditions
Trang 8(a) (c)
b
FIGURE 8.8 Members of family INS: (a) second smallest having two 5-wheels, (b) third smallest having
three 5-wheels, (c) fourth smallest having four 5-wheels, and (d) template for a general member (Figure a, c,
and d from Sur-Kolay, S and Bhattacharya, B.B., in Proc Inter Symp Circuits and Systems, Singapore, 1991,
pp 2850–2853.)
for INS are still an open problem But few sufficient conditions for slicibility of rectangular graphs that have been proven [26,28] are listed next
Slicibility and vertex degree pattern: In a floorplan F, an indivisible rectangular module has k≥ 4
T-junctions (including corners) on it, which is called a facial k-cycle First, F is pseudomaximally reduced to F, then extracting the dual of Fgives a reduced rectangular graph R If Rsatisfies any
of these conditions that can be checked quickly, then we can guarantee the existence of a slicible
equivalent of F, hence F A reduced rectangular graph is slicible if (1) all its internal vertices have degree 5 or more, or (2) none of its internal vertices have degree 5 Hence, all facial cycles in F
have length 4 or more than 5, but not 5 In the members of INS discovered, there is always a vertex
of degree 4 with at least two adjacent vertices having degree 5
Slicibility and three-chromaticity: A rectangular graph is slicible if it is (1) three-chromatic or (2)
outerplanar [5]
Checking whether a given rectangular graph is three-chromatic as well as determining a valid vertex coloring with three colors can be done in linear time
Tighter criterion of slicibility: A fairly recent result on slicibility [34] states that a rectangular graph
R with n vertices, n > 4, is slicible if it satisfies either of the following conditions:
1 Its outermost face is a four-cycle and not all four exterior vertices are required to be corners
2 All the complex four-cycles in R are maximal (i.e., not contained in any other four-cycle).
8.4.3 CANONICALEMBEDDING OFRECTANGULARDUALS
Nonuniqueness of the rectangular dual of a neighborhood graph has associated with it the notion
of equivalence of two rectangular duals with isomorphic neighborhood graphs being isomorphic Equivalent floorplans are not isomorphic in terms of definition of the channels Nonisomorphic floorplans correspond to different rectangular dissections, so the associated cutlines are different
Any floorplan with n modules has n − 1 channels and (2n − 2) T-junctions Hence, the number of
Trang 9(b)
1
14
15
16 17
3 2
6
12 23 24
25 27 26 21 20
19 18 11
4 5
9
22 14
23
1 2 3 4 5 6 7 8 9 10 11 12 17 28 13 16 15 21 18 19 20
24 25 26 27
FIGURE 8.9 (a) Canonical embedding of the floorplan in Figure 8.7a and (b) its MRH tree Each level is
marked with different line thickness (From Sur-Kolay, S., Studies on nonslicible floorplans in VLSI layout design, Doctoral dissertation, Jadavpur University, 1991.)
nodes and arcs in the two channel graphs are equal, but the difference lies in the set of arcs This leads
to the concept of a canonical rectangular dual or a canonical embedding for a class of equivalent floorplans
A canonical embedding of a rectangular dual is a rectilinear embedding, which (1) is a valid equivalent floorplan and (2) the corresponding channel graph has the minimum number of directed four-cycles
A maximal rectangle at any level of the MRH is said to be strongly maximal (smr) if it has exactly four T-junctions around it externally It has been shown that any level of the strong MRH (i.e., MRH with smr’s) can have at most one smr in the canonical form [35] of the rectangular dual (Figure 8.9)
The properties of nonslicible rectangular duals in this section are useful in producing desired floorplan topologies, and are also relevant to the subsequent routing phase
8.4.4 DUALIZATION WITHRECTILINEARMODULES
If a given adjacency graph is not dualizable, then one approach discussed earlier is to convert it to a PTP graph by planarizing and eliminating all forbidden complex triangles [18] But this very often ends up in large wasted space because of the introduction of several dummy modules An alternative approach is to introduce L-shaped modules [36], or even two-concave rectilinear modules with shapes like Z, T, W, or U [37] (Figure 8.10) The necessary and sufficient conditions under which a plane triangulated graph admits a dual with such rectilinear modules appear in Ref [37] and their
construction algorithm for a dual with n modules requires O (n) time.
The origin of L-shaped modules is in the complex triangles in the adjacency graph A floorplan, or the dual of the graph, is now seen as a dissection of a bounding rectangle into L-shaped regions where
a rectangle is a special type of L-shaped region A plane triangulated graph with a complex triangle
(Figure 8.3a) is no longer forbidden because one of the three vertices of the complex triangle, say C,
Trang 10Z T W U
FIGURE 8.10 Four possible two-concave rectilinear shapes of module and each can be decomposed into two
L-shaped modules as indicated by the dashed line (From Yeap, G and Sarrafzadeh, M., SIAM J Comput., 22,
500, 1993.)
can be realized as an L-shaped module having a concave corner to satisfy all adjacency conditions
As a matter of fact, for each complex triangle, at least one of its three vertices must have an L-shaped module in the dual, i.e., the floorplan topology An assignment of a complex triangle to a vertex needs to be made to accommodate a concave corner in the corresponding module A conflict is said
to occur if a vertex is simultaneously assigned to two complex triangles where one is not contained
in the other An adjacency graph is said to be fully assigned if all its complex triangles can be assigned without any conflicts The set of vertices assigned is termed as the assignment set The characterization of graphs that admit L-shaped duals is given by the following criteria
A plane triangulated adjacency graph G has an L-shaped dual D e if and only if it satisfies the following two properties [37]:
1 G has at least five vertices and the exterior face of G is a cycle of length greater than 4.
2 G can be fully assigned and the corresponding assignment set A does not include the four
vertices on the exterior face
An algorithm to find a geometric dual containing both rectangular and L-shaped duals has been designed based on finding an assignment set using maximum matching [36] This has also been generalized to the case where the input graph is not biconnected The time complexity to test whether
a given G admits an L-shaped dual is O (n3/2 ) and to construct one, if it exists, is O(n2), where n is
the number of modules Incidentally, given such a topology, a simulated annealing-based algorithm for floorplan sizing with L-shaped modules was designed and implemented by Wong and Liu [38] Further generalization to two-concave rectilinear modules with eight sides, six convex corners, and two concave corners has also been proposed in Ref [37] The necessity for these arises from the fact that conflicts may arise during assignment of vertices to complex triangles A perfect assignment
of a plane triangulated graph G is a set of assignments of all its complex triangles where (1) every
complex triangle is assigned to a vertex, (2) no vertex has more than two assignments, and (3) the four
vertices t, l, b, and r on the exterior face are unassigned The necessary condition for the existence
of a dual, i.e., floorplan topology with two-concave rectilinear modules for a given G is finding a
perfect assignment Such an assignment and thus a floorplan can be constructed in time linear in the number of modules
The key result is that every biconnected planar triangulated graph admits a floorplan with two-concave rectilinear modules Hence, these modules are the ultimate, i.e., necessary and sufficient for floorplanning by graph dualization
8.5 HIERARCHICAL FLOORPLANNING
As finding an optimal solution to the floorplanning problem is computationally expensive, hierar-chical approach for handling larger instances is a natural choice The fundamental idea is to divide and conquer with a very small branching factor at each level Although the number of possible floorplans for a given problem is exponential, enumeration of all possible floorplans for only three