Sie sind auf Seite 1von 19

Engineering Applications of Artificial Intelligence 26 (2013) 584–602

Contents lists available at SciVerse ScienceDirect

Engineering Applications of Artificial Intelligence


journal homepage: www.elsevier.com/locate/engappai

Hierarchical congregated ant system for bottom-up VLSI placements


Chyi-Shiang Hoo a,n, Hock-Chai Yeo a, Kanesan Jeevan a,n, Velappa Ganapathy a, Harikrishnan Ramiah a,
Irfan Anjum Badruddin b
a
Department of Electrical Engineering, University of Malaya, 50603 Kuala Lumpur, Malaysia
b
Department of Mechanical Engineering, University of Malaya, 50603 Kuala Lumpur, Malaysia

a r t i c l e i n f o a b s t r a c t

Article history: A new perturbation method, called Hierarchical-Congregated Ant System (H-CAS) has been proposed to
Received 25 June 2011 perform the variable-order bottom-up placement for VLSI. H-CAS exploits the concept of ant colonies,
Received in revised form where each ant will generate the perturbation based on differences in dimensions of the VLSI modules
2 March 2012
in hard modules floorplanning and differences in area of the VLSI modules in soft modules floor-
Accepted 6 April 2012
Available online 3 May 2012
planning. In this paper, it is mathematically proved that the area-based two-dimensional cost function
for hard modules floorplanning problem can be reduced to the difference-based one dimensional
Keywords: cost function which avoids local optima problems. Lack of global view is a major drawback in the
Ant colony optimization conventional bottom-up hierarchy, and hence, ants in the H-CAS are made to introduce global
VLSI
information at every level of bottom-up hierarchy. A new relative whitespace formula for bottom-up
Floorplanning
hierarchy is derived mathematically and the H-CAS embeds it in its unique update formula. The ants in
Bottom-up hierarchy
H-CAS are able to communicate among themselves and update the pheromone trails when they reach
the destination. Then, the ants will congregate, share their experiences and construct a new pheromone
trails that belong to this newly constructed group. The congregation of at least two ants and/or ant
consortiums would lead to reduction in subsequent search space and complexity. H-CAS gives the best-
so-far near optimal solutions and yields low standard deviations of areas involving 9–600 blocks based
on Microelectronics Center of North Carolina (MCNC) and Giga scale Systems Research Center (GSRC)
benchmarks. The results obtained establish that H-CAS is a high performance placer in respect of
scaling, convergence, precision, stability, and reliability. The above claims are based on the comparisons
with the other floorplanning algorithms as depicted graphically.
& 2012 Elsevier Ltd. All rights reserved.

1. Introduction 2001; Hong et al., 2000; Hong et al., 2004; Kang and Dai, 1997;
Lin and Chang, 2001; Lin and Chang, 2004; Lin et al., 2003;
With the complexity and the reduction in the size of VLSI chip Liu et al., 2008; Ma et al., 2001; Murata et al., 1995; Murata et al.,
design increasing rapidly, floorplanning has gained significant 1996; Nakatake et al.,1996; Ohtsuki et al., 1970; Otten, 1982a; Otten,
importance in the VLSI physical design. There are many realistic 1982b; Pang et al., 2000; Tang and Wong, 2001; Young et al., 2003;
objectives in the physical design of a chip. However, in this paper, Zhuang et al., 2002; Zhou and Wang, 2004), (b) the hierarchical (Adya
only area minimization is considered as the main objective. and Markov, 2003; Lai and Wong, 2001; Pan and Liu, 1995; Pan et al.,
Among the mathematical tools that have been used, the stochas- 1996; Stockmeyer, 1983; Wang and Wong, 1992; Wong and Liu,
tic algorithms are the most preferable due to their fast converging 1986), and (c) the multilevel (hybrid hierarchical) (Chen et al., 2007;
and promising properties in high quality outcomes. However, a Cong and Wu, 2002). These three sets of approaches have been
suitable framework is the main key for a successful stochastic discussed in detail by Shen and Chu (2003) and Chan et al. (2005).
algorithm. The difficulty level of floorplanning increases as the Fig. 1 shows the relationship among the frameworks.
number of transistors increases and different frameworks are There are several hierarchical and multilevel framework algo-
employed to tackle these problems based on their levels of difficulty. rithms which are initiated in bottom-up fashion. Mixed-Mode
In IMF (Chen et al., 2007), three major frameworks have been Placement (MMP) is a bottom-up clustering by adopting the
studied: (a) the flat (Chang et al., 2000; Guo et al., 1999; Guo et al., quadratic and min-cut technique (Yu et al., 2000). However there
is no empirical comparison with other techniques or its scalability
n
(Roy et al., 2006). HPM (Wang and Selvaraj, 2002) is a multilevel
Corresponding authors. Tel.: þ 603 7967 5205; fax: þ603 7967 5316.
E-mail addresses: francioshoo@yahoo.com (C.-S. Hoo), jievan@um.edu.my,
framework which works on bottom-up procedure by clustering
jeevan4@yahoo.com (K. Jeevan). local modules followed with refinements. However, there are no

0952-1976/$ - see front matter & 2012 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.engappai.2012.04.007
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 585

Multilevel ant-based algorithms applied to floorplanning is the memory inten-


sive property of ant-based algorithms. Hence, new ant-based algo-
rithm has been developed in this paper by adapting variable-order
Top-down Bottom-up bottom-up strategy to reduce the memory constraints imposed by
the ant-based algorithms.
This paper is organized as follows. Section 2 discusses the VLSI
Slicing floorplanning hierarchical approaches and the main properties of
the proposed bottom-up floorplanning algorithm. Section 3 deals
Mosaic with the characteristics of AS algorithm. Section 4 highlights the
General proposed H-CAS algorithm and how H-CAS adapts the properties
of bottom-up floorplanning. Section 5 discusses the experimental
Fig. 1. Relationship among the frameworks. results and comparisons. Finally, the conclusion is presented in
Section 6.

experimental results available and empirical comparisons made


with other techniques. MB*-tree (Lee et al., 2003) is a two-stage 2. Hierarchical floorplanning
multilevel technique based on bottom-up coarsening followed by
top-down uncoarsening. Since MB*-tree is initiated with bottom- Basically hierarchical framework is based on two techniques:
up manner by clustering local modules based on local area and one is top-down approach and the other is bottom-up approach. In
connectivity, there is no global view at the initial stage. It is noted top-down hierarchical construction, the floorplanner decomposes
that bottom-up clustering, by only referring to local information, the particular placement into p number of smaller subregions or
will lead to local optima and may cause further refinement less, by subdividing the placement regions and allocating the
cumbersome in the uncoarsening stage (Chen et al., 2007). modules to subregions without overruling the constraints such
Metaheuristics approach is employed by floorplanners to solve that good solutions of subregions can be combined into good
the general orientation optimization as it is proven to be NP-hard for solutions of original problem. While for bottom-up construction,
general layouts (nonhierarchical floorplan) (Stockmeyer, 1983). floorplanner begins with all the primitive modules (modules
Although there are a number of metaheuristics algorithms existing, without being clustered) and at each step, they are clustered into
e.g. Simulated Annealing (SA) (Cheng et al., 2005; Kirkpatrick et al., at most p modules or primitive modules into a group (for some
1983; Wong and Liu, 1986), Genetic Algorithms (GA) (Rebaudengo constant p) according to certain criteria/objectives. This process is
and Reorda, 1996), Evolutionary Algorithms (Liu et al., 2008, Wang done recursively until all the modules are clustered into a single
et al., 2007) and so on, SA is preferable in flat framework floor- module.
planners because of its simplicity. However, because SA is a local Compared to the top-down approach, the bottom-up approach
search based heuristic approach, SA based floorplanners tend to be in floorplanning requires a simpler model and a hierarchical
trapped in local optima. Swarm intelligence is a relatively new construction. In addition, bottom-up approach can generate phy-
metaheuristics approach in problem solving, which is inspired by sical hierarchy for arbitrary-sized modules (Dai and Kuh, 1987) and
the sociable natural behaviors of insects or animals. Peculiarly, ant this approach is more flexible. Flexibility restrictions and computa-
has inspired a plenty of methods and techniques after the first ant- tional difficulties are the main drawbacks in top-down approach
based searching algorithm namely Ant System (AS), which was because of the whitespace assigned to the particular partitions
introduced by Colorni et al. (1991). AS was further improved by (Caldwell et al., 2000; Caldwell et al., 2003). Unpredicted white-
Dorrigo et al. (1996) and was called as Ant Colony System (ACS) space and overlap have always been created due to unknown
algorithm. Ant-based metaheuristics algorithms have been success- desirable relative sizes (Dai and Kuh, 1987) and reduction of the
fully applied in many fields such as Traveling Salesman Problem partitioning tolerance with the hierarchy levels. The limitation of
(TSP) (Dorigo and Gambardella, 1997), Quadratic Assignment Pro- permutation of the blocks might lead to uneven area utilization.
blem (QAP) (Maniezzo and Colorni, 1999), Redundancy Allocation Furthermore, top-down approach might be trapped into local
Problem (RAP) (Liang and Smith, 2004) etc. optima due to cut size limitations.
In the electronic design automation (EDA) floorplanning pro- However, commercially the typical hierarchical framework
blems, there are some studies on the application of ant-based placers are using the top-down divide-and-conquer scheme
metaheuristics algorithms. Alupoaei and Katkoori (2004) applied approach as the initial global placement. The main advantage of
the Ant Colony System (ACS) in removing the overlaps in macrocells. the top-down approach over the bottom-up approach is the
The macrocells were placed using quadratic programming and force- introduction of global information about the circuit such as the
directed algorithm, where overlap was difficult to avoid completely. fixed outline and whitespace at the highest level, transferred from
The initial solution of placement will influence the removal of top to down. Therefore, the whitespace and the outline of a circuit
overlaps directly and might be trapped into local minima (Hsieh are controllable and the outcome of the floorplan is predictable.
et al., 2006). Chiang (2009) presented an ACO algorithm that was The top-down hierarchical framework placers are normally deal-
used for floorplanning with the clustering constraints. However, the ing well with soft module problem (Chen and Yoshimura, 2008).
experimental results were not comparable with the best results All these above characteristics of the top-down approach in
at the publication time of that paper. Luo and Sun (2007) used floorplanning are lacking in the bottom-up approach. Besides
ACO-based algorithm in the thermal aware floorplanning to reduce the uncontrollable and the unexpected whitespace properties in
the temperature differences and the total area. Hence, the cost bottom-up approach, the whitespace of bottom-up based floor-
function with weighted thermal differential and total area was plan is proportional to the complexity and depth of the hierarchy
introduced. Xu et al. (2006) applied ACO algorithm in the vertical and therefore the whitespace increases as the number of hier-
and horizontal constraint graph of sequence pair representation to archy levels rises. The bad coarsening results created at lower
speed up the sequence pair with SA. The experimental results were levels will be propagated to higher levels and these particular
comparable to FAST-SP (Tang and Wong, 2001) in terms of time. Ant- errors cannot be compensated at higher levels (Cong and Wu,
based metaheuristics algorithms are promising paradigm for effec- 2002). Due to lack of global information, bottom-up floorplan
tive optimization in floorplanning automation. The reason for fewer mostly concentrates on local optima by just referring to the local
586 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

information. There is a high possibility that bottom-up hierarch- At each level, all modules (lower level clusters/primitive
ical floorplanning be trapped into local optima due to lack of modules) have respective dimension information about width w
global information. In this paper, H-CAS is proposed to introduce and height h. By using w and h, the modules area M can be
global whitespace information (main objective of this floorplan- calculated and the clusters have the cluster area C (typically MrC
ner) at every level in the hierarchy in bottom up approach. if no overlap occurs among modules in the cluster), absolute
whitespace A¼max{0,C-M}, and relative whitespace a¼A/C.
2.1. Proposed bottom-up hierarchical framework Let the cluster area C of the parent cluster, cluster area Cn, of
the child clusters, and additional whitespace A0 after clustering,
P
A hierarchical floorplan with order of p (maximally p child such that ( Cn)þA0 ¼C, where 2rn r5, Cn rC and A0 Z0, as
nodes for each node) can be described by a p-nary tree (Dai and shown in Fig. 3. Besides, we know that the module area is
P
Kuh, 1987) corresponding to the partitioning/clustering process. ( Mn)¼M, where 2 rnr5 and 0rMn rC. While for each child
The bottom-up hierarchical floorplan can be represented by the module, the absolute whitespace An ¼Cn–Mn and relative white-
bottom-up cluster tree as shown in Fig. 2. The order of the space an ¼An/Cn.
hierarchical framework is fixed to be a maximum of five so that The relative whitespace a can be obtained by
X
the pattern enumeration would be easier and less complex in the a ¼ A=C ¼ f ðC n M n Þ þ A0 g=C
searching algorithm. The reason is that cost for partitioning/ X X
clustering process increases rapidly with the number of p (Dai ¼ An =C þ A0 =C ¼ ððAn =C n ÞqC n Þ=C þA0 =C:
and Kuh, 1987). Due to the NP-hard property, the number
Hence,
of possible placement increases rapidly with the number of
hierarchical order p which will lead to higher computational A X Cn A0
a¼ ¼ ðan  Þ þ ða0 Þ ð1Þ
complexity and increased runtime. Although the hierarchical C C C
order p can be smaller than five, minimum order of five is P P
Since ( Cn)þA0 ¼C, we know (Cn/C)þA0 /C¼1 where Cn Z0,
required to represent all the possible placements. and a0 , which is defined as the coefficient of A0 /C is always unity.
Hence, although the combination equation is different from the
2.2. Bottom-up whitespace fundamental computation top-down whitespace partitioning, it is observed from the above

In this paper, a new bottom-up whitespace fundamental


computation is proposed and adapted into H-CAS, making the A’
ant to have more information as reference. C1

A1 C2 ... ...
Property 1. In every level in bottom-up hierarchy, the relative Cn
whitespace of arbitrary cluster (parent node) is the convex A2
An
combination of its own lower level clusters/primitive modules
(child nodes) and a constant of unity.

Proof. Caldwell et al. (2003) proved that a top-down partitioning M1 ... ...
M2 Mn
whitespace is a convex combination of relative whitespaces of
child blocks. Although both the top-down and the bottom-up
approaches are hierarchical based constructions, their whitespace
fundamental computations are different. Fig. 3. Bottom-up cluster.

Fig. 2. Bottom-up cluster tree: corresponding module clusters and H-CAS applications.
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 587

and (1) that relative whitespace of cluster is a convex combina- 3.1. Ant colony optimization
tion of the relative whitespace of child clusters and a0 in that
particular cluster. This implies that the relative whitespace of Inspired by the ant colony foraging behavior, Ant-System (AS)
cluster will never be smaller than any of its child modules’ was introduced by Colorni et al. (1991). Following their work,
relative whitespaces. In agglomerative clustering, a0 is proven many ant-based metaheuristic algorithms have been developed
as a constant which is unity and cannot be changed. But, it is to aim specific problems literally by applying ant’s behavior.
adequate to predict the minimum relative whitespace of a cluster Several researches have been done on the development of ant-
at higher level of bottom-up hierarchical approach by only based metaheuristics such as Ant Colony System (ACS) applied in
considering the lower level clusters (modules). Traveling Salesman Problem (TSP) (Dorrigo et al., 1996) and sym-
metric and asymmetric TSPs (Gambardella and Dorigo, 1996), etc. All
the virtual ants in ant-based metaheuristics have the same foraging
Property 2. A badly constructed cluster at lower level might
behavior as the real ants. In general, the ant-based metaheuristics
create worst cluster at the higher level and this ripple effect might
algorithm consists of three parts, which are initialization, construc-
be transferred to the next higher levels and eventually degrades
tion, and feedback. The initialization part is mainly proposing the
the whole floorplan. The effect is greater when the area of the
initialization of the parameters such as the number of colonies and
badly constructed child clusters is large enough as compared to
number of ants. Then the construction phase deals with the guidance
the total area of the parent cluster.
to the artificial ants that construct the path based on the probability.
Finally, the feedback part just aims at the extraction and reinforce-
Proof. In Property 1, the relative whitespace of the next level of a ment of the ants traveling experiences which were obtained in the
bottom-up hierarchical approach can be obtained by convex previous searching path. This update will aid the optimal solution
combinations of the lower level clusters and a constant of unity. searching, of the subsequent ants. Ant-based algorithm has been
At each level, the relative whitespace of the cluster at one level proven to be a promising metaheuristics approach as it is applied in
above is obtained by (1). Hence, the set of all convex combina- many fields and found to give beneficial results.
tions of relative whitespace vectors (relative whitespaces of the
corresponding child clusters) in that particular cluster and a unity 3.2. Ant system
constant, will constitute the convex hull of that particular
cluster’s relative whitespace. Let the convex hull of the relative Retaining the main properties of AS, the other ant-based
whitespace of arbitrary cluster at level v be Sv {j1Sv  1,1 þy algorithms were developed by introducing some meaningful
P
þ jpSv  1,n þ(j)1:jn,j Z0 for all p and jn þ j ¼1}; where modifications and improvements in order to suit the problems
Sv  1,n is the convex hull of its n-th child cluster’s relative white- on hand. The main characteristic of AS is that, ant selects the
space at level (v 1) and n E [2,5]. Hierarchical clustering process espousing city/destination to be visited through a random
is a recursive process and hence, the convex hull Sv  1,n, is also the mechanism during the formation of the solutions. When ant m is
relative whitespace convex hull, which is actually constituted by at the current city i, and with the instant partial solutions sp, the
its own child clusters’ relative whitespaces. probability probm(i,j) of that particular ant m to go to city j is given by
From the properties of convex combination, it is assured that 8 a b
< P tði,jÞ Zði,jÞ a ; if cði,jÞ A Nðsp Þ
Sv Zmin({Sv  1,n}), where n E [2, 5]. Therefore, due to the power of tði,jÞ Zði,jÞb
probm ði,jÞ ¼ cði,jÞ A Nðsp Þ ð2Þ
hierarchical propagation, the relative whitespace at lower levels :
0; otherwise
will be propagated to higher levels and hardly be compensated. In
conclusion, relative whitespace at lower level will affect the higher where t(i,j) is the pheromone intensities of the trails of edges c(i,j),
level whitespace by propagating in an agglomerative way, and this and N(sp) is the set of executable components, which mean that the
effect is greater when the child cluster area is large enough as edges c(i,j) have not been visited by the ant m. The parameters a and
compared to parent cluster area. b are used to control the impingement of the pheromone t(i,j)
(global information) and heuristic information Z(i,j) (local informa-
tion) on the ant destination selection, which are recommended to be
a ¼1 and b E [3, 5]. The heuristic data Z(i,j) is defined as
3. Ant-based metaheuristics 1
Zði,jÞ ¼ ð3Þ
dði,jÞ
An ant colony is a successful swarm of ants working coopera- where d(i,j) is the distance between cities i and j.
tively to find food and defend their own community and breeding. After each of the iterations, the pheromone values of the trails
Impressively, ant is one of the social insects that can find a source traversed by all the ants m are updated by
of food in the shortest path and more and more ants will go in the
same path to the same food source from time to time. This X
Z
tði,jÞ ¼ ð1rÞtði,jÞ þ Dtm ði,jÞ ð4Þ
efficient and converging result is due to the collective work of all m¼1
the worker ants. In nature, ants search for the food source
where p is the evaporation rate, Z is the total number of ants
randomly at the initial stage and deposit some chemicals called
involved, and Dtm(i,j) is the quality of pheromone laid on the
pheromones on their trail between the nest and the food source.
edges c(i,j) taken by ant m which is defined as
Therefore the pheromone level on the trail gives information to
(
the other ants about the particular food source and based on the Q =Cost m if cði,jÞ A path taken by ant m
pheromone trail, the other ants will choose the path. The path Dtm ði,jÞ ¼ ð5Þ
0; otherwise
with the higher pheromone level is preferred. As more ants travel
on the particular path, more pheromones will be deposited. where Q is a constant set by user, and Costm is the length of the
However, all the pheromones will start evaporating over time. tour performed by the ant m.
Therefore, after certain time, the old pheromone trail will vanish Although AS has achieved a greater success in solving the TSP
if it is not reinforced by the other ants. At the end, all the ants will problems, the performance of AS in TSP decreases dramatically
take the same path to the food source. compared to other metaheuristic algorithms when the scale of the
588 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

TSP problems rises. Hence, most of the following ant-based meta-


heuristic algorithms are basically trying to improve the scalability of MCNC/GSRC
AS, for instance, ACS (Dorigo and Gambardella, 1997) and MAX-MIN benchmarks
Ant System (MMAS) (Stuzzle and Hoos, 2000).

4. Hierarchical congregated ant system


Ant-Partnership Seeking Stage
Ant-based metaheuristics approach is an aggressive search
(Sorting Stage)
technique, inspired by the foraging behavior of ant colony. Based
on the report by Stovba (2005), the principal reasons of the
inefficiency of AS algorithm in scalability are Ant Congregation Stage
(Merging stage)
(a) The best solutions might be lost due to the probabilistic rule
used in the route selection.
(b) The convergence closed to the optimum is weak due to the
contributions of best and worst solutions as the pheromone No
levels are approximately the same, which means that pher- No. of
omone values have insignificant influence on the ant route Module = 1?
selection.
(c) The ant colony memory storage of the solution keeps chan- Yes
ging which are clearly unpromising in getting good results.
This is because the considerable extension of search space is
Final Floorplan Refinement
created and this issue is magnified when the size of the
(LB-compaction)
problem is increasing.

In order to tackle these critical constraints, the rest of ant- Fig. 4. Flowchart for H-CAS algorithm.

based algorithm is developed by keeping the backbone of AS


algorithm with modifications in the pheromone update mechan-
isms and route selection rules.
In this paper, we introduce a new ant-based metaheuristics, the differences between the areas of modules are considered.
called as Hierarchical Congregated Ant System (H-CAS) for placement However, for hard module problems, the area (a two-dimensional
problems. H-CAS behaves as memory for the global view of the function) is reduced to a one-dimensional function, which is the
whole hierarchical structure and it provides some degree of random- difference in dimensions between two modules.
ness on the selection of the modules yet offering convergence to the
best possible solution. The basic concept of H-CAS is that the ants 4.1.1. Concept of sorting stage
search for the partnership through stochastic mechanism and then Let node v to be an arbitrary node in the cluster tree T, and the
will communicate, update the pheromone trails and congregate once set of child nodes which is rooted at v is denoted by y(v). At the
they reach the next milestones (cities) in their path to the food initial stage, for node v of the cluster tree T, the algorithm will
source. Penalty is given if an ant has chosen the bad partners. After choose a module from y(v) randomly. Then a pair vector, namely
joining each other, and forming a new yet larger group, the ants in -vector, which indicates the differences of dimensions (for hard
the congregation will exchange their experiences and build up a new module floorplanning) or differences in area (for soft module floor-
pheromone trail that belongs to the particular new ant congregation. planning) between the first module and unselected modules in y(v),
They will undergo the equal quantum of pheromone updates in is generated. If the widths and heights of the modules are denoted
future. This is the major property of H-CAS which is different from by wi and hi respectively, then the g vectors are defined as
the other ant-based metaheuristics approaches, where they do not
¼o 1, 2 ,. . ., s4 ð6Þ
share experiences and involve in intercommunication. Basically, in !
H-CAS, ants help the variable-order bottom-up hierarchical frame- 9yðvÞ9 9yðvÞ9  9yðvÞ19
where s is defined as s r ¼ ; in which
work in the sorting stage as this part is the main key to the whole of 2 2
bottom-up structure formed. The fundamental rudiments of ant- !
9yðvÞ9
based metaheuristics approach are adapted in H-CAS. is the maximum number of edges in a graph and 9y(v)9 is
In this bottom-up hierarchical construction, a variable-order 2
bottom-up hierarchical (p¼5, as discussed in Section 2.1) floor- the number of vertices.
planning is proposed to handle hard module problems whereas The g vectors are subjected to the following constraints:
the order is reduced to two for soft module problems due to the
flexibility of soft modules. i Let j ok and {j,k}A y(v)
The properties of the above floorplanning approaches are (a) For hard modules floorplanning, the u-th member of the
adapted into the H-CAS. Basically, the proposed bottom-up -vector
hierarchical floorplanning algorithm consists of three major u ¼ jk

steps: (a) ant-partnership seeking stage (sorting stage), (b) ant ¼min{(9wj  hk9/max{wj,hk}),(9hj  wk9/max{hjwk}),
congregation stage (modules merging), and (c) LB-compaction (9wj wk9/max{wj,wk}),(9hj hk9/max{hj,hk})},
(final floorplan refinement), as shown in Fig. 4. and
(b) For soft modules floorplanning, the u-th member of the
4.1. Ant-partnership seeking stage (sorting stage) -vector u ¼ jk ¼9(wi*hi) (wj*hj)9,
where 1 rurs;
In order to handle different types of floorplanning problems, and
different sorting approaches are utilized. In soft module problems, ii n r n þ 1, for 1ru rs  1.
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 589

From the -vector, the second module is chosen by referring to Since C¼ C1 þC2 and thus, C1/CþC2/C¼ 1 where (C1/C) Z0 and
the min{ } which denotes the first element 1 in the -vector. also (C2/C) Z0. Hence, for a partition which comprises of two
These two modules which correspond to 1 would lead to the child partitions, it is proven that the relative whitespace of the
first and second modules in the sorting list y0 (v). Then 1 will partition is a convex combination of the relative whitespaces
be eliminated from the -vector. Subsequently, components in created by both child partitions. Based on the convex combination
from the newly constructed -vector, which contains the last property, a has to lie between a1 and a2. Let a1 ra2, thus
module in the y0 (v) list, would be extracted to form a new a1 ra ra2. Because the partition’s height is the same as the
-vector, and condition (ii) stated above once again applied to maximum height of the two child clusters, a1 is equal to zero.
the -vector. The successive modules in y0 (v) will be based on the Consequently, the inequality equation will now be reduced to
min{ }, and min{ } as well as that involve previous compo- 0ra ra2 and a2 can be calculated using a2 ¼{(y1 y2)x2}/
nents in the y0 (v), will be eliminated from the . These extract- (y1  2)¼ (y1  y2)/y1 ¼1  (y2/y1).
and-sort and select-and-eliminate processes are repeated until The inequality equation is 0 ra r1-(y2/y1) and therefore the
the number of modules sorted into the y0 (v)-list is five (for area optimization sorting algorithm can further be reduced to
hard module problems) and two (for soft module problems), as obtain the sorting cost function as in (8). That is
discussed in Section 4. y2
sorting f unction ¼ 1 ð8Þ
y1
4.1.2. Dimension reduction of hard module problems with the constraint that y2 ry1.
This is a linear equation which can be solved easily. Obviously
Property 3. For placement optimization problem, which focuses
the optimal solution can be obtained directly when the ratio of the
on area minimization (two-dimensional optimization), it is suffi-
vertical dimension of first module to the vertical dimension of
cient to calculate the cost function in sorting algorithms purely
second module is maximized (closer to unity). The module selection
based on one-dimensional units.
in the sorting algorithm should be area-based. However, area-based
Proof. Let two child clusters have the dimensions of x1, y1, x2, and selection, which is purely based on comparisons of two successive
y2 respectively, and a partition consists of a pair of child partitions modules, would be more complex due to involvement of additional
having the widths of x1 and x2 (same width as the child clusters) variables. With this reduction in sorting function (8), the complexity
respectively. The areas of these two child partitions are denoted of area optimization can also be reduced significantly by just
as C1 and C2, such that cluster area C ¼C1 þC2, C1 rC, and C2 rC. performing one dimensional ratio optimization.
Then, the two child clusters are placed into the child partitions
Property 4. For area minimization problem, sorting cost function,
having the same width. This is a common representation for all
which is based on local whitespace, might be trapped into local
the permutations involving two child clusters only, as width and
optima.
height are the mutual dimensions for a cluster when they are
rotated or permuted rightwards or upwards. Proof. By referring to the definitions and notations given in
Since all the clusters are considered as a single module after Property 3 and letting a1 ¼0, then,
merging, the whitespace inside the cluster will be propagated to a ¼ A=C ¼ fðy1 y2 Þx2 g=fy1 ðx1 þx2 Þg ¼ fðy1 y2 Þ=y1 gfx2 ðx1 þ x2 Þg:
the second level and will not be considered during sorting or
Hence,
merging stage. Therefore, the absolute whitespace A created by   
both clusters in this partition is equal to A1 þA2 and the relative y 1
a ¼ 1 2 1 ð9Þ
whitespace a is equal to A/C of that particular partition. For each y1 1 þðx2 =x1 Þ
child partition, the relative whitespace ag is equal to Ag/Cg, where
So the first part of right hand side is the normalized-vertical-
1r g r2, as shown in Fig. 5.
dimension-difference-ratio, while the second part is the normal-
In order to express the relative whitespace of the cluster q in
ized-horizontal-dimension-ratio. In order to prove that (9) is a
terms of child partitions’ relative whitespaces q1 and q2, let us
non-convex function, we assume that: (a) the normalized-hor-
define a ¼A/C ¼A1/Cþ A2/C ¼(A1/C1)(C1/C) þ(A2/C2)(C2/C).
izontal-dimension-ratio is a constant K1 and (b) normalized-
Thus,
vertical-dimension-difference-ratio is a constant K2, where, cases
C1 C2 (a) and (b) are as described below
a ¼ a1 þ a2 ð7Þ
C C
a. Let f1(a) ¼{1  (y2/y1)}K1, l an arbitrary constant (0o l o1)
and o ¼y2/y1. We know that 0 o o r1, o1 and o2 are arbitrary
points in the interval (0, 1), where o1 o o2, then, f1[l(o1)þ
a1
a2 (1 l)o2]¼ [1  lo1  (1  l)o2]K1 and
lf1(o1) þ(1 l)f1(o2)¼ [1  lo1  (1  l)o2]K1.
x1
Therefore,
f 1 ½lðo1 Þ þ ð1lÞo2  ¼ lf 1 ðo1 Þ þ ð1lÞf 1 ðo2 Þ ð10Þ
x2
b. Let f2(a) ¼K2{1/[1  1/(1þ(x2/x1))]}, l an arbitrary constant
C1 y1 (0o l o1) and O ¼ x2/x1. We know that 0o O oN, O1 and O2
C2 are arbitrary points in the interval (0, N), where O1 o O2, then,
y2 f2[l(O1)þ(1 l)O2]¼1 1/[1þ l(O1)þ (1 l)O2] and
lf2(O1)þ(1 l)f2(O2)¼1 l/(1þ O1)þ(1 l)/(1þ O2).
By computing the difference, it is found that
f2[l(O1)þ(1 l)(O2)] lf2(O1)þ(1 l)f2(O2)
Fig. 5. A partition consisting of two child partitions (with areas of C1 & C2) and [l(1 l)(O1  O2)2]/{[(1þ O1)(1þ O2)][1þ lO1 þ(1 l)O2]}.
two child clusters (gray regions). Since [l(1 l)(O1  O2)2]/{[(1þ O1)(1þ O2)][1þ lO1 þ(1 l)O2]}
590 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

is always positive, and hence, 4.2. Ant congregation (merging stage)


f 2 ½lðO1 Þ þ ð1lÞO2  4 lf 2 ðO1 Þ þ ð1lÞf 2 ðO2 Þ ð11Þ
4.2.1. Cost function for hard module problems
Area and aspect ratio have different dimensions, where area
will have larger orders of magnitude for values of width and
From (10) and (11), we conclude that area-based cost metric height greater than unity and smaller for values of width and
(9) is a non-convex function and the optimization will have a height lesser than unity as compared to aspect ratio. In order to
higher probability of trapping into local optima. solve the disparity, these two independent variables are normal-
ized. Let the relative whitespace and the aspect ratio of the cluster
Property 5. Cost metric (8) is a convex function. This one are denoted by a and R respectively. Then
dimensional optimization cost metric will never be trapped into
local optima. Costmetric ¼ ðWÞðaÞ þ ð1WÞðR21Þ, ð13Þ

where
Proof. From (10), let K2 ¼1, then the cost metric will be reduced
aspect ratio R¼max{w/h, h/w},
to f3(a)¼{1 (y2/y1)}, which is equivalent to (8). Hence, as proven
w ¼width,
in (10), the sorting cost metric is a convex function, in which local
h ¼height, and
optima is actually the global optima.
W¼ weight of the normalized area, for 0 rWr1
4.1.3. Ant-partnership seeking algorithm for hard module Problems Eq. (13) shows that the cost metric is a convex combination of
In H-CAS algorithm, all the ants will start from the same city i the relative whitespace and the aspect ratio converging to unity.
(set of child nodes), select respective partners to form a group and This means that the cost metric is highly dependent on both
then travel to city j (parent node) based on (2) and (3). However, relative whitespace a, and aspect ratio R. This relationship causes
in this paper, the parameter a in (2) is changed to a variable and the priority issue between the relative whitespaces and the aspect
(3) is modified for the problem on hand. In (2), the parameter b is ratios in which the aspect ratios converge to unity. Jagannathan
fixed to be three while the parameter a is set to et al. (2002) have studied the relationship between the linear
( combination and Pareto curve where they have shown that any
0; n ¼ 1 points on the lower convex hull (LCH) will only be found by
a¼ ð12Þ
1; 2 rn r5 suitable choice of coefficients. However this is not practical
because of the difficulty in automating the coefficients of a placer
cost metric which is a non-dominant solution with respect to the
where n indicates the n-th module that is being selected into the
relative whitespace and also the aspect ratio converging to unity.
partnership.
Thus, the dominance is given to the relative whitespace rather
Eq. (12) ensures that by setting a ¼ 0 when selecting the first
than the aspect ratio converging to unity, as area minimization is
module, will prevent the repeated selection of the same module
our main objective.
that leads to suboptimal solutions. This is due to the high
pheromone level deposition on certain modules after several
repeated modules have been selected. This will increase the 4.2.2. Merging algorithm for hard module problems
probability of an ant to visit more unexplored vertices. Hence, In the merging stage, four groups of modules are first established
the first module is selected randomly to obtain more partner- by assigning first two, first three, first four and first five modules to
ships, which might lead to better global optimal solutions. each of the respective groups denoted by Fn-1 ¼ {b1,y,bn} where
Dorigo (1992) and Dorrigo et al. (1996) have suggested that for 2rnr5. For these four groups, the best permutation (with the
selected value a 4 1 will lead to rapid growth of saturated minimum whitespace) in each group is chosen. Based on (13), the
situation where all ants will follow the same path and construct group with the lowest cost is chosen. After the merging process, the
the same tour, where suboptimal solution is generated. Besides, cluster will be treated as a new single module. This is followed by
the value of b ranging from two to five is suggested based on the another phase of sorting-merging stage. This process is done
experimental studies done in AS (Colorni et al. 1991), Elitist Ant recursively until all the modules are clustered to be a single module,
System (EAS) (Dorigo, 1992), ACS (Dorigo and Gambardella, as shown in Fig. 6.
1997) and MAX-MIN Ant System (MMAS) (Stuzzle and Hoos,
2000). Hence, a is set as stated in (12) and b is set to 3 for all the
ant-based metaheuristics. The edge-weights between the cities i 4.2.3. Merging algorithm for soft module problems
and j for unselected partners, d(i,j) in (3) is defined as the one As discussed in Section 4, the order p is limited to two for the
dimensional difference between the module that is just selected soft module problems. Hence, in the merging stage of the soft
and the remaining unselected modules as discussed in Section module problems, both the modules selected during the sorting
4.1.2. The selection of partners is based on Section 4.1.1 and the stage will be aggregated without the aid of the cost function.
termination criterion is the number of modules selected This is because the soft modules are flexible in their dimensions
reaching five. and able to adjust themselves to match each other at the final
stage of the floorplanning and create minimum or zero
whitespace.
4.1.4. Ant-partnership seeking algorithm for soft module problems
In soft module problems, H-CAS will start choosing the module
with smallest area as the first candidate for the partnership. Its 4.2.4. Ant-congregation algorithm for hard module problems
partner is chosen using a Roulette-Wheel based selection techni- As the best merging group is selected after each merging stage
que, which employs (2) and (3), where the edge-weights between in the bottom-up hierarchical placement, H-CAS ants will update
the cities i and j for unselected partners, d(i,j) in (3) are defined as the pheromone trails by applying the pheromone deposition
the differences in area between the first module and the remain- formula (5). Costm is the cost of the best merging group obtained
ing unselected modules. As discussed in Section 4.1, ant will only by the ant m and this is the relative whitespace which is
form a partnership of two and the ant-partnership seeking process calculated by the absolute whitespace divided by the total area
will be terminated. of the cluster. However, the pheromone trail update rule in (4) is
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 591

ants that are involved in this merging stage will be updated with the
1st level same amount of pheromone deposition by applying (14). However,
(lowest) the trails among the ants from the same ant consortium will not be
updated. For example, there are three ants and/or consorted-ants
merged at this stage, namely, set A, set B, and set C. Then, by
applying (14), the three pheromone updates are applied as below
2nd level

(a) Set of i+ set A, and set of j+ set B þset C


(b) Set of i+ set B, and set of j +set Aþset C
(c) Set of i+ set C, and set of j +set Aþset B
3rd level
After all the ants and/or the consorted-ants have updated their
pheromones, they will be congregated and become a new con-
gregation. All the ants and/or the consorted-ants in this newly
formed congregation will share their experiences and contribute
4th level to the new pheromone trails that are defined as
PG
t ði,jÞ
tði,jÞ ¼ m ¼ 1 m ð15Þ
G
where G is the number of ants and/or ant consortiums involved in
the newly formed congregation (equivalent to the order of that
subtree) and tm(i,j) is the respective pheromone trails of ant m.
5th level
Eq. (15) is used to calculate the partnership preference between
this newly formed ant congregation and other ants and/or ant
consortiums. If majority of the ants in this newly formed con-
gregation have bad experiences (had resulted in a large white-
space in the previous tour) with certain ants/consorted-ants, then
the possibility of this newly formed ant congregation to con-
6th level gregate with the other ants and/or ant consortiums will be
(highest) reduced, and vice versa. After the new pheromone construction,
this newly formed ant congregation will share the same pher-
omone deposition updates for every subsequent search.

Outcome
4.2.5. Ant-congregation algorithm for soft module problems
When solving soft module problems, the hierarchical tree struc-
Fig. 6. Merging algorithm. ture is constructed before the H-CAS can update the pheromones.
This is because the ant does not have the precise information about
modified and the new pheromone trail t0 (i,j) is given by the instant cluster details as the dimensions of the paired modules
are always commuting to match each other. The pheromone is
t’ði,jÞ ¼
updated based on the final floorplan results after the current
8 hierarchy is built up and the same pheromone update mechanisms
< ð1rÞtði,jÞ þ Dtði,jÞ ; if Dtði,jÞ r X desired
ð14Þ are applied as for the hard module problems.
: ð1rÞtði,jÞDtði,jÞ ; if Dtði,jÞ 4 X desired
4.3. Example of H-CAS in the hard module problem
where r is an evaporation coefficient such that 0o r o1 in order to
avoid unconstrained accretion of the pheromone and Xdesired is a Let us consider a 10-hard modules floorplanning problem and
constant which corresponds to the desired relative whitespace of the each of the module is represented by an ant antm, where
placement. The value of r is 0.02 whereas Xdesired is 1% of relative 1rmr10. The pheromone matrix t having a size of (10  10)
whitespace. The value of Xdesired is selected by experimenting with is given as under
several cases for the same benchmark. The pheromone evaporation 0 1
0 t1,2 t1,3 t1,4    t1,10
rate r is set to a low value as this will increase the number of tours Bt
explored at the initial search. Besides, the pheromone trails of all the B 2,1 0 t2,3 t2,4    t2,10 C C
B C
B t3,1 t 0 t    t C
ants will be updated several times in the process of a single tree
t¼B C
3,2 3,4 3,10
B
construction. The number of updates is highly dependent on the B t4,1 t4,2 t4,4 0 t4,10 C
C
B C
depth of the tree constructed. Thus, a higher evaporation rate will B ^ ^ ^ & ^ C
@ A
cause the ant to be trapped into a local optima which is the t10,1 t10,2 t10,3 t10,4    0
suboptimal solution found by H-CAS in the earlier stages. The update
method (14) is based on the concepts developed in Properties 1 and it is known that t matrix is always symmetrical, i.e.,
2 with the purpose of minimizing the possibility of bad solutions by (
0; if q ¼ r
penalizing them as per the (14) and making them converge to the tr,q ¼
tq,r ; if qa r
possible best solution in a short time.
The pheromone update is carried out on all the successful edges
where1 rq,r r 10:
found by the ants and/or the consorted-ants. If there are one or more
ant consortiums, the ants from the same consortium will start to Initially all the ants are allocated to a community (consists of
communicate among themselves and identify each other. This step unselected ants and/or ant consortiums) and one of the ants will
is crucial when pheromone is updated. All the pheromone trails of be selected to travel from city i to city j. Assume that this ant is
592 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

ant7. Ant7 will select its own partner (assume that the partner ant
is ant3) to travel together based on (2), (3) and (12), as discussed
in Section 4.1.3. Then the newly selected member, ant3 in the city
i, will stand a chance to choose its preferable partner and exclude ant1 ant2 ant3 ant4 ant5 ant6 ant7 ant8 ant9 ant10
the ant that has been chosen previously. The partner-selection
Community
process will cease once the member in city i is five, or will be
ant7, ant3, ant2, ant10, ant1 are selected.
skipped and proceeded to the congregation stage if the number of
all the members in the community is less than or equal to five. Let
us assume that the sequence of ants selected is: ant7-ant3-
+
ant2-ant10-ant1. These five ants will try to form four groups
ant4 ant5 ant6 ant8 ant9 ant7 ant3 ant2 ant10 ant1
which consist of first two, first three, first four and first five
members respectively. The group vector F is defined as
0 1 0 1 Community
F0 fant7 ,ant 3 g
B C B C F0 F1 F2 F3
B F1 C B fant 7 ,ant3 ,ant 2 g C
F ¼B C B
B F 2 C ¼ B fant 7 ,ant3 ,ant 2 ,ant10 g C
C Let assume F2 give the lowest cost
@ A @ A and members in F2 are congregated.
F3 fant7 ,ant3 ,ant 2 ,ant10 ,ant1 g

For each of the member in F vector, all the possible orienta-


tions are tried and the member with lowest cost in (13) will be
selected to form a congregation to travel from city i to city j. Let us ant1 ant7+ant3+ant2+ant10 ant4 ant5 ant6 ant8 ant9
assume F2 gives the lowest cost and the congregation formed is
called as consortium(2,3,7,10). The ants in the congregation will
update the pheromone with respect to all the members in the Community
congregation based on (5) and (14) while the new pheromone ant1, ant8, congregation of (ant7, ant3,
intensity that belongs to this particular congregation with respect ant2, ant10, ant1), ant10, ant1 are selected.
to other ants is obtained by applying (15). The congregation of
these four ants leads to a reduction in subsequent search space.
The original (10  10) matrix t is now reduced to a (7  7) matrix
and is shown below +
ant4 ant6 ant1 ant8 ant7+ant3+ant2+ant10 ant5 ant9
0 1
0 t1,4 t1,5 t1,6 t1,8 t1,9 t1,ð2,3,7,10Þ
B t4,1 0 t4,5 t4,6 t4,8 t4,9 t4,ð2,3,7,10Þ C Community
B C
B t5,1 t5,4 0 t5,6 t5,8 t5,9 t5,ð2,3,7,10Þ C
B C F0 F1 F2 F3
t¼B
B t6,1 t6,4 t6,5 0 t6,8 t6,9 t6,ð2,3,7,10Þ C
C
B t8,1 t8,4 t8,5 t8,6 0 t8,9 t7,ð2,3,7,10Þ C
B C Let assume F3 give the lowest cost
B C
@ t9,1 t9,4 t9,5 t9,6 t9,8 0 t9,ð2,3,7,10Þ A and members in F3 are congregated.
tð2,3,7,10Þ,1 tð2,3,7,10Þ,4 tð2,3,7,10Þ,5 tð2,3,7,10Þ,6 tð2,3,7,10Þ,8 tð2,3,7,10Þ,9 0

This consortium(2,3,7,10) will be treated as a single group to


travel to participate in the formation of further congregation. The
ant congregation, consortium(2,3,7,10) and the unselected ant, ant1 ant1 ant8 ant7+ant3+ant2+ant10 ant5 ant9 ant4 ant6
will now return to the community and the partner-selection ant
process continues. Let us assume that based on (2), (3) and (12),
the sequence of the ants and/or ant consortiums selected from the Community
community is: ant1-ant8-consortium(2,3,7,10)-ant5-ant9, and
Since there are less than five ants
the group vector F formed is remained, hence all the ants in this
0 1 0 1 community will be congregated to
F0 fant 1 ,ant8 g
B C B C become a single congregation.
B F1 C B fant1 ,ant 8 ,consortiumð2,3,7,10Þ g C
F ¼B C B
B F 2 C ¼ B fant 1 ,ant8 ,consortiumð2,3,7,10Þ ,ant5 g C
C
Done
@ A @ A
F3 fant1 ,ant8 ,consortiumð2,3,7,10Þ ,ant 5 ,ant9 g
Fig. 7. Ant partnership-selection and congregation.
Let F3 gives the lowest cost and the congregation formed is
named as consortium{1,(2,3,7,10),5,8,9}. Now, the t matrix will shrink
again to become 4.4. Floorplan refinement (LB-compaction stage)
0 1
0 t4,6 t4,f1,ð2,3,7,10Þ,5,8,9g This stage is only applied in the hard module problems as
Bt 0 t6,f1,ð2,3,7,10Þ,5,8,9g C the soft modules can refine themselves. In the final stage, the
t ¼ @ 6,f1,ð2,3,7,10Þ,5,8,9g A
tf1,ð2,3,7,10Þ,5,8,9g,4 tf1,ð2,3,7,10Þ,5,8,9g,6 0 LB-compaction is performed in order to generate a more compact
floorplan layout. This technique is used by Chang et al. (2000),
The number of modules remaining after this congregation Guo et al. (1999), and Lai and Wong (2001). According to Lai and
stage is three. Since it is less than five, the partner-selection Wong (2001), a compact placement of a set of modules is defined
process will be skipped and all the ants and consortiums in the as ‘none of the module in the placement permutation can move
community, namely ant4, ant6 and consortium{1,(2,3,7,10),5,8,9} will vertically upward or horizontally leftward without overlapping
congregate, resulting in only one single congregation and the and dislocating other modules’. This concept is used in the O-tree
floorplanning process ends. This whole process is shown in Fig. 7. (Guo et al., 1999) and B-tree (Chang et al., 2000) and is named as
Fig. 8 shows the corresponding tree structure of this example. LB-compaction.
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 593

L-compaction is a step where all the modules are sliced in Sections 4.1.3, 4.1.4, 4.2.4, and 4.2.5. The comparisons are made
leftwards without yielding any overlap while B-compaction are on the following floorplanning/placement algorithms: O-Tree (Guo
sliced downwards without yielding any overlap. LB-compaction et al., 1999; Guo et al., 2001), Enhanced O-Tree (Pang et al., 2000),
is just a simple recursive L-compaction followed by B-compac- B*-Tree (Chang et al., 2000), TCG (Lin and Chang, 2001), TCG-S (Lin
tion or vice versa. This simple compaction is proven to be and Chang, 2004), CBL (Hong et al., 2000), FAST-SP (Tang and Wong,
highly efficient to reduce the area of floorplans (Lai and Wong, 2001), Enhanced Q-Sequence (Zhuang et al., 2002), TBS (Young et al.,
2001). In the review paper by Chan et al. (2005), the experi- 2003), CS (Lin et al., 2003), MBS-OEA (Liu et al., 2008), Young et al.
mental results show that the several repetitions of compaction (2001), MAEA-MBS (Wang et al., 2007), ACG (Zhou and Wang, 2004),
algorithm do not lead to substantially improved results in the Chen et al. (2007), BloBB (Chan and Markov, 2004), Parquet (Adya
purely area-based optimization problems. Based on the experi- and Markov, 2003; Chan and Markov, 2004), Elitist Non-Dominated
mental observations, Chan et al. (2005) suggested that the Sorting based Genetic Algorithm Floorplanner (ENDSGA) (Fernando
floorplan compaction algorithm should be executed as a post- and Katkoori, 2008), DPSO (Chen et al., 2009), FAE (Wang et al., 2009),
process task. Therefore, in our work, the hard module final ESA (Chen and Chen, 2010), and HSA (Chen et al., 2011). All of these
floorplan is compacted with the simple single-order LB-com- algorithms were implemented in C/Cþþ language except FAE and
paction since the complexity of the algorithm is directly ENDSGA which used Hypertext Processor (PHP) and Matlab
proportional to the order of compaction. 6.5 respectively. Although all the floorplanning algorithms were
simulated in different PCs, the recent works (from 2007 onwards)
which were implemented in C/Cþþ, were run on the PCs with CPU
5. Experimental results speed ranging from 2.0 GHz–3.0 GHz, and with 1 GB memory (except
for HSA with 512 GB memory). H-CAS is compared to the recent
H-CAS was compiled using gcc on a Windows-XP PC platform floorplanning algorithms, namely MBS-OEA, MAEA-MBS, Chen et al.,
with Intel Pentium IV 1.8 GHz CPU and 512 MB memory by using ESA and HSA, by simulating H-CAS on a slower PC to indicate the
the same parameters in all test cases, where the values are specified improved performance of H-CAS in terms of runtimes.
The MCNC and GSRC (Rabaey, 2005) benchmarks are used as
the standards for comparison and are shown in Table 1 and the
number of modules is varied from 9 to 600 which are adequate to
show the scalability and the flexibility of H-CAS in handling
placement problems. The maximum dimension ratio of a soft
module is found by calculating the ratio of the maximum
dimension to the minimum dimension of the particular module
and the minimum dimension ratio is the reciprocal of the
ant4 ant6 maximum dimension ratio. The maximum and the minimum
dimension ratios of the soft modules and the summations of the
total area of all the blocks of the respective benchmark problems
are also given in Table 1. Chan et al. (2005) emphasize the
ant5 ant9 importance of the number of independent runs to obtain near
ant1 ant8 optimal solutions as most papers in floorplanning/placement
indicate their best results but fail to report the average values
ant7 ant3 ant2 ant10
and the standard deviations for their independent runs. In line
with the suggestion, H-CAS is executed 25 times independently
Fig. 8. Corresponding tree structure. for each benchmark problem to compute the averages and the

Table 1
Floorplanning problems (MCNC and GSRC benchmarks).

Problems Benchmark No. of No. of No. of No. of Maximum Minimum Area of all
type blocks nets terminals pins dimensions ratio dimensions ratio blocks (mm2)

apte MCNC 9 97 73 287 2.00 0.50 46.561628


xerox MCNC 10 203 2 698 2.00 0.50 19.350296
hp MCNC 11 83 45 309 2.00 0.50 8.830584
ami33 MCNC 33 123 42 522 2.00 0.50 1.156449
ami49 MCNC 49 408 22 953 2.00 0.50 35.445424
n10a GSRC 10 118 69 248 3.00 0.33 22.167900
n10b GSRC 10 133 86 274 3.00 0.33 22.117700
n10c GSRC 10 119 68 246 3.00 0.33 22.877000
n30a GSRC 30 349 212 723 3.00 0.33 20.859100
n30b GSRC 30 350 227 725 3.00 0.33 19.778100
n30c GSRC 30 390 271 818 3.00 0.33 22.252200
n50a GSRC 50 485 209 1050 3.00 0.33 19.857900
n50b GSRC 50 511 269 1105 3.00 0.33 20.305300
n50c GSRC 50 515 243 1097 3.00 0.33 20.151200
n100a GSRC 100 885 334 1873 3.00 0.33 17.950100
n100b GSRC 100 806 374 1797 3.00 0.33 16.012600
n100c GSRC 100 855 323 1830 3.00 0.33 17.196600
n200a GSRC 200 1585 564 3599 3.00 0.33 17.569600
n200b GSRC 200 1714 624 3640 3.00 0.33 17.459300
n200c GSRC 200 1532 533 3513 3.00 0.33 17.012900
n300 GSRC 300 1893 569 4358 3.00 0.33 27.317000
n600 GSRC 600 – – – 3.00 0.33 62.836700
594 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

standard deviations. This information is crucial where the preci- 5.1. Floorplanning problems with hard modules
sion, variability and convergence of the placer/floorplanner algo-
rithm can be ascertained. The measure to evaluate the quality of In this work, the best-so-far and the average floorplan layout
H-CAS solutions is to determine the difference between the areas, the relative whitespaces (in percentages), the standard
minimum area of the rectangle which covers all the modules deviations, and the runtimes for the permutations of the hard
and the summation of all the modules’ areas. This difference is the module problems run with H-CAS, are shown in Table 2. All the
whitespace. To provide a relative comparison, normalization of 21 near optimal solutions are packed minimally to within 5.52%
results is used to calibrate and compare H-CAS results with other of relative whitespaces. For all the problems with less than 100
benchmark algorithms in terms of area and runtime. The normal- blocks, the relative whitespaces obtained by using H-CAS is less
ization is a ratio of ‘the results obtained’ to ‘the best simulation than 3%. The average relative whitespaces for all the benchmark
result’, for any benchmark test case. runs are below 6.57%. The average relative whitespaces of all

Table 2
Results of H-CAS on hard rectangular blocks floorplanning.

Problems Total area Standard deviation Runtime for optimal


(mm2) area (s)
Best-so-far Average

2
Area (mm ) Relative Area (mm2) Relative
whitespace (%) whitespace (%)

apte 46.9248 0.7740 46.9248 0.7739 0 0.254


xerox 19.8037 2.2895 19.8475 2.5026 0.0756 3.988
hp 8.9470 1.3010 8.9470 1.3010 0 1.508
ami33 1.1773 1.7752 1.1882 2.6763 0.0083 18.010
ami49 36.2355 2.1805 36.5856 3.1165 0.1026 45.201
n10a 22.7720 2.6528 22.8391 2.9388 0.1021 0.600
n10b 22.7976 2.9823 22.8791 3.3279 0.0839 0.798
n10c 23.3776 2.1414 23.3914 2.1991 0.0181 5.202
n30a 21.4820 2.8996 21.6560 3.6798 0.1509 13.799
n30b 20.1102 1.6514 20.2689 2.4214 0.1268 13.561
n30c 22.8123 2.4553 23.0095 3.2917 0.1420 11.289
n50a 20.3422 2.3808 20.5575 3.4031 0.1478 40.196
n50b 20.8586 2.6526 21.0188 3.3946 0.0763 32.992
n50c 20.6697 2.5085 20.8317 3.2667 0.1499 35.797
n100a 18.6756 3.8847 18.8864 4.9575 0.1258 39.410
n100b 16.6690 3.9378 16.8591 5.0210 0.0826 36.593
n100c 17.8918 3.8856 18.1675 5.3441 0.1578 41.850
n200a 18.3866 4.4434 18.7324 6.2074 0.2019 127.186
n200b 18.3396 4.8000 18.6732 6.5008 0.1883 156.823
n200c 17.8338 4.8165 18.0914 5.9614 0.1652 202.392
n300 28.7535 4.9959 29.0958 6.1136 0.3002 1157.914
n600 66.5038 5.5141 67.2514 6.5645 0.4764 4119.420

Table 3
MCNC hard module benchmarks comparisons.

apte xerox hp ami33 ami49

Area (mm2) Runtime (s) Area (mm2) Runtime (s) Area (mm2) Runtime (s) Area (mm2) Runtime (s) Area (mm2) Runtime (s)

O-Tree 47.1 38 20.1 118 9.21 57 1.25 1430 37.6 7428


Enhanced O-Tree 46.92 11 20.21 38 9.16 19 1.25 119 37.73 405.6
Bn-Tree 46.92 7 19.83 25 8.947 55 1.27 3417 36.80 4752
TCG 46.92 1 19.83 18 8.947 20 1.20 306 36.77 434
TCG-S 46.92 1 19.80 5 8.947 7 1.185 84 36.40 369
FAST-SP 46.92 1 19.80 14 8.947 6 1.205 20 36.50 31
Enhanced Q-Seq. 46.92 0.35 19.93 3.6 9.03 3.5 1.194 40 36.75 57
TBS 47.44 0.86 19.78 1.3 8.48a 0.76 1.196 1.26 36.89 2.55
ACG 47.08 0.30 20.16 0.24 9.33 0.27 1.20 2.15 36.92 6.88
CS 46.92 1 19.83 54 8.947 6 1.18 530 36.28 851
CBL – – 20.96 30 – – 1.20 36 38.58 65
Chen et al. (2007) 46.92 0.066 20.26 0.1 9.15 0.7 1.19 7.433 36.30 37.033
MBS-OEA 46.92 19.80 19.80 1.1 8.947 1 1.175 45 36.35 173.2
MAEA-MBS 46.92 1.45 19.83 2.86 8.947 3.02 1.194 81.20 36.75 286.81
FAE – – – – – – 1.318 0.36 39.179 1.33
DPSOb 47.31 – 20.2 – 9.50 – 1.28 – 38.8 –
ENDSGAb – – – – – – 1.20 – 37.81 –
ESA 47.37 1 19.83 3 8.937 7 1.24 24 36.50 53
HSA 46.90 1271.9 20.01 738.9 9.01 240.1 1.20 117.5 36.48 1907.0
H-CAS 46.92 0.25 19.80 3.99 8.947 1.51 1.177 18.01 36.24 45.20

a
Is an impossible solution because it is smaller than the total area of all blocks.
b
do not evaluate the results in terms of runtime.
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 595

Table 4
Normalized MCNC hard module benchmarks whitespace comparisons.

Floorplanning algorithms Year published apte xerox hp ami33 ami49

Enhanced O-Tree 2000 1.059 2.001 3.067 5.032 2.913


B*-Tree 2000 1.059 1.116 1.084 6.108 1.705
CBL 2000 – 3.746 – 2.344 3.945
TCG 2001 1.059 1.116 1.084 2.344 1.667
O-Tree 2001 1.591 1.745 3.532 5.032 2.712
FAST-SP 2001 1.059 1.047 1.084 2.613 1.327
Enhanced Q-Seq. 2002 1.059 1.349 1.856 2.022 1.642
TBS 2003 2.596 1  3.26a 2.129 1.818
CS 2003 1.059 1.116 1.084 1.269 1.050
TCG-S 2004 1.059 1.047 1.084 1.538 1.201
ACG 2004 1.532 1.884 4.649 2.344 1.856
MAEA-MBS 2007 1.059 1.116 1.084 2.022 1.642
Chen et al. (2007) 2007 1.059 2.117 2.974 1.806 1.0755
MBS-OEA 2008 1.059 1.047 1.084 1 1.138
ENDSGA 2008 – – – 2.344 2.976
FAE 2009 – – – 8.688 4.699
DPSO 2009 2.211 1.977 6.232 6.645 4.222
ESA 2010 2.389 1.116 1 4.495 1.327
HSA 2011 1 1.535 1.670 2.344 1.302
H-CAS – 1.059 1.047 1.084 1.108 1

a
Is an impossible solution because it is a negative whitespace.

100
Successful cases (better)
90
Comparable cases (equal)

80 Unsuccessful cases (bad)

70

60
Percentages (%)

50

40

30

20

10

Floorplanning algorithms

Fig. 9. Percentages of successful, comparable and unsuccessful cases of different floorplanning algorithms.

the 21 problems are within the range of 0.77%–6.57%. The low Table 3 compares the MCNC benchmark results of H-CAS with
standard deviations of the results in all the cases show that the O-Tree, Enhanced O-Tree, B*-Tree, TCG, TCG-S, FAST-SP, Enhanced
best-so-far area obtained for several runs by H-CAS are consis- Q-Sequence, (Chen et al., 2007), TBS, CS, ACG, CBL, MBS-OEA,
tent. The near optimal and the average results, as well as the MAEA-MBS, FAE, DPSO, ENDSGA, ESA and HSA. Table 4 shows the
standard deviations of H-CAS in these 21 problems show that normalized whitespaces of H-CAS along with the other existing
H-CAS is a robust placer which not only be able to search for near floorplanning algorithms and the best results among the algo-
optimal solutions but also provide stable and consistent rithms for individual test cases are shown in bold case. By
performance. referring to the sample cases from Table 3, it is seen that H-CAS
596 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

shows improved results in terms of area in 62 cases and equal compared to MBS-OEA, H-CAS results are the same in three bench-
results in 20 cases, out of in total 86 cases as compared to the mark test cases (up to 11 blocks) and inferior in ami33 benchmark,
other algorithms. These marked improvements by H-CAS are very but H-CAS has the better result in the largest scale benchmark test
obvious as can be seen from the normalized results given in Table 4. case in MCNC benchmark. Moreover, the limited number of blocks
This clearly proves that H-CAS performs well over 72.1% and equal (up to 50 blocks only) considered in all MCNC benchmark test cases,
in 23.3% of other floorplanning algorithms in terms of whitespace, cannot wholly deal with the modern VLSI floorplanning problems
using MCNC benchmark cases. The comparisons of all the floor- where more than hundreds of blocks are handled normally. Thus,
planning algorithms with others by using MCNC benchmark are the empirical performance of H-CAS is further established by using
carried out and detailed distinctions amongst various floorplanning larger scaled benchmark problems, namely GSRC benchmark. This
algorithms are brought out in Fig. 9. The results of applying the will indicate the advantage of H-CAS over all the floorplanning
algorithms are classified as successful if they give better results, algorithms. Fig. 10 shows the best result of ami49 hard benchmark
comparable if the results are equal and unsuccessful if the results placement layout using H-CAS.
are inferior as compared to other floorplanning algorithms. It is Table 5 compares the GSRC benchmark results of H-CAS with
evident that H-CAS shows the highest percentage of successful Chen et al. (2007), MBS-OEA, MAEA-MBS, FAE, DPSO and ENDSGA
results and the lowest percentage of unsuccessful results of all the while Table 6 shows the normalized whitespaces of these floor-
floorplanning algorithms. By referring to the best results for differ- planning algorithms and H-CAS. In general, H-CAS has given much
ent benchmark test cases in Table 4, H-CAS has an edge over all improved results as compared to other floorplanning algorithms
other algorithms in case of ami49 benchmark. From the results of in terms of area minimization especially for problems with more
TBS, MBS-OEA, ESA and HSA, it is found that each one of the above than 30 blocks. In this paper, our main objective is to focus on
algorithms shows better results in only one of the benchmark test area minimization using H-CAS and now once again through the
cases. Whereas, H-CAS shows better results in four of the remaining GSRC benchmark comparisons in Table 6, it is proven that H-CAS
benchmark test cases as compared to TBS, ESA and HSA. As has performed better than the other floorplanning algorithms

Table 6
Normalized GSRC hard module benchmarks whitespace comparisons.

MAEA-MBS MBS-OEA Chen et al. FAE DPSO ENDSGA H-CAS


(2007)

n10a 1 1 – – – 2.643 1.368


n10b 1 1 – – – 2.492 1.543
n10c 1 1 – – – 3.033 1.650
n30a 1.747 1 – – 4.227 2.710 1.036
n30b 3.706 1.014 – – – 3.706 1
n30c 1.263 1.004 – – – 1.270 1
n50a 1.513 1.148 – – 4.836 3.803 1
n50b 1.836 1.124 – – – 2.660 1
n50c 1.621 1.167 – – – 3.070 1
n100a 1.996 1.424 1.392 2.306 – 3.619 1
n100b 1.580 1.467 – 2.608 – 3.957 1
n100c 1.556 1.5368 – – – 3.935 1
n200a – 2.043 1.555 1.157 – 4.839 1
n200b – 1.813 – 1.623 – 3.768 1
n200c – 2.128 – 1.008 – 4.402 1
n300 – 2.036 – 1.111 – – 1
Fig. 10. Best ami49 hard module benchmark placement layout by H-CAS.

Table 5
GSRC hard module benchmarks comparisons.

MAEA-MBS MBS-OEA Chen et al. (2007) FAE DPSOa ENDSGAa H-CAS

Area Runtime Area Runtime Area Runtime Area Runtime Area Runtime Area Runtime Area Runtime
(mm2) (s) (mm2) (s) (mm2) (s) (mm2) (s) (mm2) (s) (mm2) (s) (mm2) (s)

n10a 22.77 2.739 22.61 0.9 – – – – – – 23.34 – 22.77 0.600


n10b 22.56 2.951 22.56 1.2 – – – – – – 23.22 – 22.80 0.798
n10c 23.18 3.029 23.18 1.1 – – – – – – 23.80 – 23.38 1.040
n30a 21.91 59.00 21.46 25.6 – – – – 23.4 – 22.49 – 21.48 13.799
n30b 20.43 60.00 20.12 29.4 – – – – – – 21.01 – 20.11 13.561
n30c 23.51 52.51 22.82 25.5 – – – – – – 23.53 – 22.81 11.289
n50a 20.59 338.3 20.41 132.2 – – – – 22.2 – 21.70 – 20.34 40.196
n50b 21.32 271.9 20.93 121.0 – – – – – – 21.78 – 20.86 32.992
n50c 20.99 290.4 20.76 137.0 – – – – – – 21.74 – 20.67 35.797
n100a 19.40 2153 18.98 1706.1 18.9 59 19.72 3.44 – – 20.58 – 18.68 39.410
n100b 17.05 2469 16.98 1065.4 – – 17.85 4.23 – – 18.61 – 16.67 36.593
n100c 18.28 2570 18.27 1319.0 – – – – – – 19.93 – 17.89 41.850
n200a – – 19.24 12114 18.8 131 18.52 11.0 – – 21.52 – 18.39 127.186
n200b – – 19.06 14217 – – 18.93 8.39 – – 21.28 – 18.34 156.823
n200c – – 18.76 11211 – – 17.84 11.0 – – 20.11 – 17.83 202.392
n300 – – 30.24 80984 – – 28.92 16.2 – – 33.64 – 28.75 1157.91

a
Do not evaluate the results in terms of runtime.
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 597

available in terms of area. From Table 6, it is evident that H-CAS trapped into local optima when the number of blocks increases.
results are better than 87% of the results obtained by the other By applying H-CAS, improved performances as compared to SA
floorplanning algorithms. Fig. 11 shows the best layout result of and random search were obtained. Moreover, H-CAS shows better
n300 hard benchmark placement by H-CAS.
It is to be noted that there are two existing floorplanners, 12
BloBB and Parquet, which are based on hierarchical frameworks.
An experiment was carried out by simulating the proposed 10

Relative whitespace (%)


bottom-up hierarchical floorplanning algorithm to determine
whitespaces by applying random-based and Simulated Annealing
8
(SA) searches, and the results are shown in Table 7. The normal-
6
ized whitespaces are also shown in the same table. The compar-
isons made among these four hierarchical based floorplanners 4
show that the bottom-up floorplanning technique with SA or even
without any heuristics tool (random search) can perform better in 2
terms of area minimizations than that of the BloBB and Parquet.
As shown in Fig. 12, in spite of SA approach giving better results 0
as compared to the random search, its optimization results are 0 200 400 600 800 1000 1200 1400
only marginally better than the random search if the number of Number of blocks
blocks is increasing. In other words, the results obtained by using Random Search
random-based and SA approaches will be nearly in equal when SA
the scale of the floorplanning is large. SA relies greatly on the H-CAS
initial solution generated and the size of the problem, and gets Random Search
SA
H-CAS
Fig. 12. Relative whitespace comparisons by using different approaches.

120

100
Percentages (%)

80

60

40

20

0
9 10 11 30 33 49 50 100 200 300 600
Number of blocks
Successful cases (better)
Comparable cases (equal)
Unsuccessful cases (bad)
Fig. 11. Best n300 hard modules benchmark placement layout by H-CAS. Fig. 13. Percentages of successful, comparable and unsuccessful cases of H-CAS.

Table 7
MCNC and GSRC hard module benchmarks comparison with proposed bottom-up hierarchical floorplanner.

Proposed bottom-up hierarchy

BloBB Parquet Random-based Simulated annealing

Area Normalized Area Normalized Area Normalized Area Normalized


(mm2) whitespace (mm2) whitespace (mm2) whitespace (mm2) whitespace

apte 47.30 2.060 51.81 14.645 47.25 1.921 46.92 1


xerox 20.31 2.134 22.09 6.092 20.27 2.045 19.80 1
hp 9.26 3.689 9.59 6.523 9.208 3.242 8.947 1
ami33 1.25 2.786 1.25 2.786 1.240 2.488 1.190 1
ami49 38.18 2.080 38.89 2.620 36.92 1.122 36.76 1
n100a 19.22 1.187 20.03 1.944 19.19 1.159 19.02 1
n100b 17.53 1.619 17.89 2.003 17.17 1.235 16.95 1
n200a 19.10 1.404 19.78 2.027 18.75 1.083 18.66 1
n200b 18.78 1.082 19.79 1.909 18.75 1.057 18.68 1
n300 29.70 1.087 31.02 1.689 29.60 1.041 29.51 1
n600 71.38 1.353 73.26 1.651 69.78 1.100 69.15 1
598 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

25 MBS-OEA
BloBB
Parquet
Chen et al. (2007)
20
ENDSGA
HSA
ESA
Proposed Bottom-up Floorplanner (random)
Relative whitespace (%)

15
Proposed Bottom-up Floorplanner (SA)
H-CAS
MBS-OEA
BloBB
10
Parquet
Chen et al. (2007)
ENDSGA
HSA
5
ESA
Proposed Bottom-up Floorplanner (random)
Proposed Bottom-up Floorplanner (SA)
H-CAS
0
0 100 200 300 400 500 600 700 800 900
Number of blocks

Fig. 14. MCNC and GSRC hard module benchmarks comparisons.

results in terms of area than the other floorplanning algorithms as trendline as compared to H-CAS, HSA has performed very poorly in
depicted in Fig. 14 and discussed in detail. terms of runtimes ranging from 6.5 to 5088 times slower than the
Fig. 13 shows the percentages of successful, comparable and H-CAS, which is evident from Table 3. Figs. 13 and 14 have shown
unsuccessful cases of H-CAS hard module floorplanning results for improved H-CAS hard module benchmark results over other floor-
all the MCNC and GSRC benchmarks. H-CAS results are considered planning algorithms in terms of scalability, stability and conver-
to be successful if they are better; comparable if they are the gence. H-CAS has faster converging rate of relative whitespace as
same or unsuccessful if they are inferior as compared to other compared to other floorplanning algorithms as shown in Fig. 14.
algorithms. From Fig. 13, it is observed that for problems with a This shows that H-CAS’s relative whitespace results are less depen-
maximum of 33 blocks, the near optimal results of H-CAS are dent on the problem size. This property will aid H-CAS in handling
comparable with the results of other floorplanning algorithms. problems with larger number of blocks to fall in line with the recent
But, for problems with more than 33 blocks, H-CAS has given trend in accommodating a larger number of transistors for VLSI
significantly improved results over the other algorithms. Fig. 14 placements.
shows the results of the proposed bottom-up floorplanner (random- As discussed in Section 5, the runtime results are compared
based) and H-CAS in hard module floorplanning problems as with recent floorplanning algorithms, namely MBS-OEA, MAEA-
compared to other existing algorithms by using the MCNC and MBS, Chen et al. (2007), ESA and HSA. Fig. 15 shows the runtimes
GSRC benchmarks. Based on the graph trendlines in Fig. 14 the of MCNC and GSRC benchmarks simulated by the recent floor-
results for problems with larger than 200 blocks can be predicted in planning algorithms as compared to H-CAS. Based on the graph
advance as the relative whitespaces fairly remain constant through- trendlines, the runtimes of all the floorplanning algorithms are
out. In Fig. 14, it is shown that the random search and SA approaches becoming longer than H-CAS when the size of the benchmark
do not lead the proposed bottom-up floorplanner for improved problems is increasing.
solution as compared to the other state-of-the-art algorithms. This is
because the random-based floorplanner approach relies on its 5.2. Floorplanning problems with soft module
randomness while the semi-exhaustive nature of SA (Ranjan et al.,
2001) requires substantial computational resources and hence For all the soft module problems, the minimum and the max-
unable to handle large scale VLSI floorplanning problems (dealing imum dimension ratio constraints of all the modules in the bench-
with 100 blocks and more) (Yan and Chu, 2010; Hameen and marks are considered in the simulations by H-CAS. The best-so-far
Gnanamurthy, 2009; Cong et al., 2006). H-CAS is developed to steer floorplan areas, the average floorplan areas, the relative whitespaces
the optimization performance to a higher level. This can be readily (in percentage), the standard deviations and the runtimes for the
observed that the whitespace results of H-CAS are fast saturating best-so-far permutations for soft module floorplan problems, which
and approaching a constant value, whereas, all other floorplanning are carried out using H-CAS, are shown in Table 8. Out of 21 best-so-
algorithms tend to saturate to a higher value of relative whitespace far solutions, H-CAS shows zero whitespace in 19 benchmark cases,
than that of H-CAS. It is to be noted from Fig. 14 that although the which means around 90.5% of the soft module problems simulated
recent algorithm HSA (Chen et al., 2011) has marginally inferior with H-CAS have zero whitespaces. When the number of blocks
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 599

25 MAEA-MBS
MBS-OEA
20 ESA
HSA
Chen et al. (2007)
15 H-CAS
log10 (runtime)

MAEA-MBS
10 MBS-OEA
ESA
HSA
5
Chen et al. (2007)
H-CAS
0
0 100 200 300 400 500 600 700
Number of blocks
-5
Fig. 15. Runtime comparisons.

Table 8
Results of H-CAS on soft rectangular blocks floorplanning.

Problems Total Area Standard deviation Runtime for


(mm2) optimal area (s)
Best-so-far Average

2
Area (mm ) Relative Area (mm2) Relative
whitespace (%) whitespace (%)

apte 46.5616 0 46.7802 0.4672 0.3138 0.145


xerox 19.3503 0 19.3647 0.0743 0.1305 0.180
hp 8.8306 0 8.8306 0 0 0.156
ami33 1.1615 0.4391 1.1741 1.5075 0.0126 0.367
ami49 35.6314 0.5219 35.6314 0.5219 0 0.790
n10a 22.1679 0 22.1679 0 0 0.160
n10b 22.1177 0 22.1177 0 0 0.159
n10c 22.8770 0 22.8770 0 0 0.167
n30a 20.8591 0 20.8591 0 0 0.360
n30b 19.7781 0 19.7781 0 0 0.359
n30c 22.2522 0 22.2522 0 0 0.393
n50a 19.8579 0 19.8579 0 0 0.638
n50b 20.3053 0 20.3053 0 0 0.642
n50c 20.1512 0 20.1512 0 0 0.694
n100a 17.9501 0 17.9501 0 0 2.168
n100b 16.0126 0 16.0126 0 0 2.107
n100c 17.1966 0 17.1966 0 0 2.107
n200a 17.5696 0 17.5696 0 0 7.601
n200b 17.4593 0 17.4593 0 0 7.183
n200c 17.0129 0 17.0129 0 0 6.928
n300 27.3170 0 27.3170 0 0 17.290

Table 9
MCNC soft module benchmarks comparisons.

apte xerox hp ami33 ami49

2 2 2 2
Area (mm ) Runtime (s) Area (mm ) Runtime (s) Area (mm ) Runtime (s) Area (mm ) Runtime (s) Area (mm2) Runtime (s)

Young et al. (2001) 46.81 53.0 19.43 71.6 8.95 107.3 1.21 774.6 38.17 2354.0
CBL 48.20 78.0 19.77 76 9.01 75 1.18 87 36.10 179.0
MBS-OEA 46.56 18.5 19.35 21.2 8.83 26.1 1.16 361.4 35.77 890.3
H-CAS 46.56 0.145 19.35 0.180 8.83 0.156 1.16 0.367 35.63 0.790

Table 10
Normalized MCNC soft module benchmarks comparisons.

apte xerox hp ami33 ami49

Normalized Normalized Normalized Normalized Normalized Normalized Normalized Normalized Normalized Normalized
area runtime area runtime area runtime area runtime area runtime

Young et al. 1.01 365.52 1 397.78 1.01 596.11 1.04 2110.63 1.07 2979.75
(2001)
CBL 1.04 537.93 1.02 422.22 1.02 416.67 1.02 237.06 1.01 226.58
MBS-OEA 1 127.59 1 117.78 1 145 1 984.74 1.004 1126.96
H-CAS 1 1 1 1 1 1 1 1 1 1
600 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

increases, the whitespaces remain at zero and this is adequate to zero whitespace for all the cases. From Table 11, H-CAS has shown
justify that H-CAS is capable of handling soft module problems with much improved runtime of at least 7.23 times faster than MBS-
larger number of blocks efficiently. Besides, 18 out of 21 (87.5%) soft OEA in all the benchmark cases. Fig. 17 shows the best result of
module problems give zero standard deviations of the areas. It is n300 soft benchmark placement layout using H-CAS.
shown that H-CAS is not only capable of handling large scale Fig. 18 shows that H-CAS optimal or near optimal results in
problems, and also provides consistent performance. soft module floorplanning problems as compared with other
Table 9 compares the MCNC benchmarks with Young et al. existing algorithms by using the MCNC and GSRC benchmarks
(2001), CBL and MBS-OEA, while Table 10 is the normalized values results. Based on the trendlines of the graph, it is observed that
from Table 9. From Tables 9 and 10, the results of H-CAS are found there are two algorithms, namely Soft Modules with Lagragian
to be better in terms of area as compared to all the other algorithms Relaxation and MBS-OEA, tending to reach higher values of
and also H-CAS has shown much improvement in the results relative whitespaces as the problem size increases. Referring to
obtained when the number of modules has increased. In terms of the rest of the algorithms, though the CBL algorithm is converging
runtimes, H-CAS results are compared with MBS-OEA, which is the to lower values of relative whitespaces, still having a higher value
only recent benchmark algorithm giving soft module area optimiza- of relative whitespace as compared to H-CAS. Among these four
tion. From Table 10, it is obvious that the runtimes of H-CAS are results, H-CAS trendline shows that the relative whitespaces
much shorter as compared to MBS-OEA. Though H-CAS was obtained with H-CAS simulations remain at a very low value
simulated on a slower PC, the runtimes of H-CAS are much faster closer to zero when the number of modules increases, while the
ranging from 118 to 1127 times as compared to MBS-OEA. Fig. 16 other algorithms give rise to higher relative whitespace values at
shows the best layout of ami49 soft benchmark placement layout convergence.
using H-CAS.
Table 11 compares H-CAS results with MBS-OEA using the
GSRC benchmarks. Normalized areas and runtimes are calculated
to make the comparisons of the results of H-CAS and MBS-OEA
obvious. H-CAS is consistent in giving improved area and run-
times compared to MBS-OEA. The runtime results of H-CAS show
improvement over MBS-OEA while the area minimizations are

Fig. 16. Best ami49 soft modules benchmark placement layout by H-CAS. Fig. 17. Best n300 soft modules benchmark placement layout by H-CAS.

Table 11
GSRC soft module benchmark comparisons.

MBS-OEA H-CAS

Area Normalized Runtime Normalized Area Normalized Runtime Normalized


(mm2) area (s) runtime (mm2) area (s) runtime

n10a 22.1686 1 23.1 7.23 22.1679 1 3.1941 1


n10b 22.1177 1 17.1 5.37 22.1177 1 3.1830 1
n10c 22.8770 1 22.0 6.57 22.8770 1 3.3496 1
n30a 20.9244 1.003 300.7 41.76 20.8591 1 7.2012 1
n30b 19.8682 1.005 296.7 41.31 19.7781 1 7.1818 1
n30c 22.2838 1.001 284.7 36.19 22.2522 1 7.8660 1
n50a 20.0882 1.012 949.7 74.47 19.8579 1 12.7520 1
n50b 20.5456 1.012 1077.3 83.87 20.3053 1 12.8455 1
n50c 20.3789 1.011 1022.3 73.65 20.1512 1 13.8805 1
n100a 18.8893 1.052 6440.4 148.53 17.9501 1 43.3612 1
n100b 16.8116 1.050 7123.4 169.03 16.0126 1 42.1421 1
n100c 18.0665 1.052 7146.8 169.55 17.1966 1 42.1509 1
C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602 601

12
Soft Modules with Lagragian Relaxation

10
CBL

MBS-OEA
Relative Whitespace (%)

8
H-CAS
6
Soft Modules with Lagragian Relaxation

CBL
4
MBS-OEA
2
H-CAS

0
0 50 100 150 200 250 300 350 400 450
Number of blocks

Fig. 18. MCNC and GSRC soft module benchmarks comparison.

6. Conclusion Caldwell, A.E., Kahng, A.B., Markov, I.L., 2000. Optimal partitioners and end-case
placers for standard-cell layout. IEEE Trans. Computer-Aided Des. Integrated
A variable-order bottom-up hierarchical placer, namely Hier- Circuits and Syst. 19 (11), 1304–1313.
archical Congregated Ant System (H-CAS) has been proposed which Caldwell, A.E., Kahng, A.B., Markov, I.L., 2003. Hierarchical whitespace allocation in
is capable of generating compact placements in a chip layout, both top-down placement. IEEE Trans. Computer-Aided Des. Integrated Circuits and
Syst. 22 (11), 1550–1556.
for soft and hard modules floorplanning. H-CAS adapts the basic Chan, H.H., Adya, S.N., Markov, I.L., 2005. Are floorplan representations important
concept of ant-based metaheuristics and has provided global solu- in digital design? Proc. Int. Symp. Phys. Des., 129–136.
tions for variable-order bottom-up hierarchical placements. The Chan, H.H., & Markov, I.L., 2004. Practical slicing and non-slicing block-packing
without simulated annealing. In Proceedings of ACM Great Lake Symposium
unique properties of H-CAS are its intercommunication, modified
on VLSI, Boston, USA, pp.282–287.
pheromone updates, congregations, and the experience sharing that Chang, Y.C., Chang, Y.W., Wu, S.W., & Wu, S.W., 2000. B*-trees: a new representa-
leads to the formation of pheromone trails that belong to the new tion for nonslicing floorplans. Proc. ACM/IEEE Des. Autom. Conf., pp.458–463.
Chen, D.S., Lin, C.T., Wang, Y.W., Cheng, C.H., 2007. Fixed-outline floorplanning
ant congregation. The reduction of 2D cost metric to 1D cost metric
using robust evolutionary search. Eng. Appl. Artif. Intell. 20 (6), 821–830.
for hard modules floorplanning is proven mathematically and the Chen, G.L., Guo, W.Z., Chen, Y.Z., 2009. A PSO-based intelligent decision algorithm
solutions can be devoid of being trapped into local optima. Experi- for VLSI floorplanning. Soft Computing-A Fusion of Found., Method. Appl. 14
mental results have shown that H-CAS performs much better than (12), 1329–1337.
Chen, J., & Chen, J., 2010, A hybrid evolution algorithm for VLSI floorplanning. Int.
the other state-of-the-art algorithms in terms of area minimization, Conf. Comput. Intell. Software Eng. (CiSE), pp. 1-4.
especially as the circuit size and the complexity increase. The low Chen, J., Zhu, W., Ali, M.M., 2011. A hybrid simulated annealing algorithm for
standard deviations in the total placement areas clearly bring out nonslicing VLSI floorplanning. IEEE Trans. Syst., Man, and Cybernetics, Part C:
Appl. Rev. 41 (4), 544–553.
the superiority of the precision and the stability of H-CAS. The
Chen, S., Yoshimura, T., 2008. Fixed-outline floorplanning: block-position enu-
runtime comparisons with the most recent floorplanning algorithms meration and a new method for calculating area costs. IEEE Trans. Computer-
indicate the capability of H-CAS in achieving shorter runtimes. Aided Des. Integrated Circuits Syst. 27 (5), 858–871.
Overall, the proposed H-CAS is found to be an efficient placer, in Chen, T.C., Chang, Y.W., Lin, S.C., 2007. A new multilevel framework for large-scale
interconnect-driven floorplanning. IEEE Trans. Computer-Aided Des. Inte-
respect of scalability, convergence, precision, stability, and reliabil- grated Circuits Syst. 27 (2), 286–294.
ity. As evident from the graph, H-CAS excels all other algorithms for Cheng, L., Deng, L., & Wong, M.D.F., 2005. Floorplanning for 3-D VLSI design. Proc.
larger sized problems in area minimization. Further research on the ACM/IEEE Asia South Pacific Des. Automation Conf., pp. 405–411.
Chiang, C.W., 2009. Ant colony optimization for VLSI floorplanning with clustering
application of H-CAS to other types of NP-hard problems is ongoing. constraint. J. Chin. Inst. Ind. Eng. 26 (6), 440–448.
Colorni, A., Dorigo, M., & Maniezzo, V., 1991. Distributed optimization by ant
colonies. Proc. Eur. Conf. Artificial Life, Paris, France, pp.134–142.
Cong, J., & Romesis, M., & Shinnerl, J.R., 2006. Fast floorplanning by look-ahead
Acknowledgement enabled recursive bipartitioning. IEEE Trans. Computer-Aided Des. Integrated
Circuits Syst., 25 (9), 1719–2006.
Cong, J., & Wu, C., 2002. Global clustering based performance driven circuit
The authors would like to acknowledge ICT Research Cluster,
partitioning. In Proceedings of International Symposium on Physical Design,
University of Malaya, Kuala Lumpur, Malaysia for the research pp.149–154.
fund support. Dai, W.M., Kuh, E.S., 1987. Simultaneous floorplanning and global routing for
hierarchical building-block layout. IEEE Trans. Computer-Aided Des. Inte-
grated Circuits Syst. 6 (5), 828–837.
Dorigo, M., 1992. Optimization, learning and natural algorithms. Ph.D. thesis,
References
Dipartimento di Elettronica, Politecnico di Milano, Milan.
Dorigo, M., Gambardella, L.M., 1997. Ant colony system: a cooperative learning
Adya, S.N., Markov, I.L., 2003. Fixed-outline floorplanning: enabling hierarchical approach to travelling salesman problem. IEEE Trans. Evol. Comput. 1 (1),
design. IEEE Trans. Very Large Scale Integration Syst. 11 (6), 1120–1135. 53–66.
Alupoaei, S., Katkoori, S., 2004. Ant colony optimization technique for macrocell Dorrigo, M., Maniezzo, V., Colorni, A., 1996. Ant system: optimization by a colony
overlap removal. IEEE Trans. Very Large Scale Integration Syst. 12 (10), of cooperating agents. IEEE Trans. Syst., Man and Cybernetics, Part B:
1118–1122. Cybernetics 26 (1), 29–41.
602 C.-S. Hoo et al. / Engineering Applications of Artificial Intelligence 26 (2013) 584–602

Fernando, P., & Katkoori, S., 2008. An elitist non-dominated sorting based genetic Ohtsuki, T., Suzigama, N., & Hawanishi, H., 1970. An optimization technique for
algorithm for simultaneous area and wirelength minimization for VLSI floor- integrated circuit layout design. In: Proceedings of International Conference
planning. 21st International Conference on VLSI Design (VLSID), Hyderabad, on Circuit and System Theory, pp. 101–107.
India, pp. 337–342. Otten, R.H.J.M., 1982a. Automatic floorplan design. In: Proceedings of ACM/IEEE
Gambardella, L.M., & Dorigo, M., 1996. Solving symmetric and asymmetric TSPs by Design Automation Conference, pp. 261–267.
ant colonies. In Proceedings of International Conference on Evolutionary Otten, R.H.J.M., 1982b. Layout structures. In: Proceedings of Large Scale Systems
Computation, Nagoya, Japan, pp. 622–627. Symposium, pp. 349–353.
Guo, P.N., Cheng, C.K., & Yoshimura, T., 1999. An O-tree representation of Pan, P., Liu, C.L., 1995. Area minimization for floorplans. IEEE Trans. Comput.-Aided
nonslicing floorplan and its applications, In Proceedings of ACM/IEEE Design Des. Integrated Circuits and Syst. 14 (1), 123–132.
Automation Conference, pp. 268–273. Pan, P., Shi, W.P., Liu, C.L., 1996. Area minimization for hierarchical floorplans.
Guo, P.N., Takahashi, T., Cheng, C.K., Yoshimura, T., 2001. Floorplanning using a Algorithmica 15 (6), 550–571.
tree representation. IEEE Trans. Computer-Aided Des. Integrated Circuits and Pang, Y., Cheng, C.K., & Yoshimura, T., 2000. An enhanced perturbing algorithm for
Syst. 20 (2), 281–289. floorplan design using the O-tree representation. In: Proceedings of the 2000
Hameen, S.I., Gnanamurthy, R.K., 2009. Evolutionary algorithmical approach for International Symposium on Physical Design, pp. 168-173.
VLSI floorplanning problem. Int. J. Comput. Theory and Eng. 1 (4), 461–464. Rabaey, J., Gigabyte Systems Research Center 2005 [online]. Available at:
Hsieh, S.T., Sun, T.Y., Lin, C.W., & Lin, C.L., 2006. Placement constraints and /http://www.cse.ucsc.edu/research/surf/GSRC/progress.htmlS.
macrocell overlap removal using particle swarm optimization. Lecture Notes Ranjan, A., Bazargan, K., Ogrenci, S., Sarrafzadeh, M., 2001. Fast floorplanning for
in Computer Science, Springer Berlin/Heidelberg, 4150/2006, 235–246. effective prediction and construction. IEEE Trans. Comput.-Aided Des. Inte-
Hong, X., Huang, G., Cai, Y., Gu, J., Dong, S., Cheng, C.K., & Gu, J., 2000. Corner block grated Circuits Syst. 9 (2), 341–351.
list: an effective and efficient topological representation of nonslicing floor- Rebaudengo, M., Reorda, M.S., 1996. GALLO: genetic algorithm for floorplan area
plan. In proceedings of ACM/IEEE Design Automation Conference, pp. 8–12. optimization. IEEE Trans. Comput.-Aided Des. Integrated Circuits Syst. 15 (8),
Hong, X., Huang, G., Cai, Y., Gu, J., Dong, S., Cheng, C.K., Gu, J., 2004. Corner block 943–951.
list and its application to floorplan optimization. IEEE Trans. Circuits and Syst. Roy, J.A., Adya, S.N., Papa, D.A., Markov, I.L., 2006. Min-cut floorplacement. IEEE
II: Express Briefs 51 (5), 228–233. Trans. Comput.-Aided Des. Integrated Circuits Syst. 25 (7), 1313–1326.
Jagannathan, A., Hur, S.W., Lillis, J., 2002. A fast algorithm for context-aware buffer Shen, Z.S., Chu, C.C.N., 2003. Bounds on the number of slicing, mosaic and general
insertion. ACM Trans. Des. Automation of Electron. Syst. (TODAES) 7 (1), floorplans. IEEE Trans. Comput.-Aided Des. Integrated Circuits Syst. 22 (10),
368–373. 1354–1361.
Kang, M., & Dai, W.W.M., 1997. General floorplanning with L-shaped, T-shaped and Stockmeyer, L., 1983. Optimal orientations of cells in slicing floorplan designs,
soft blocks based on bounded slicing grid structure. In Proceedings of the Asia and
inform and control. Inf. Control 57 (2-3), 91–101.
South Pacific Design Automation Conference (ASP-DAC1997), pp. 265–170.
Stovba, S.D., 2005. Ant algorithms: theory and applications. Programming and
Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P., 1983. Optimization by simulated anneal-
Comput. Software 31 (4), 167–178.
ing. Science 220 (4598), 671–680.
Stuzzle, T., Hoos, H.H., 2000. MAX-MIN ant system. Future Gener. Comput. Syst. 16
Lai, M.H., & Wong, D.F., 2001. Slicing tree is a complete floorplan representation. In
(8), 889–914.
Proceedings of Conference on Design, Automation and Test, Munish, Germany,
Tang, X., & Wong, D.F., 2001. Fast-SP: a fast algorithm for block placement based
pp. 228–232.
on sequence pair. In: Proceedings of IEEE Asia South Pacific Design Automation
Lee, H.C., Chang, Y.W., Hsu, J.M., & Yang, Y.W., 2003. Multilevel floorplanning/
Conference, pp. 521–526.
placement for large-scale modules using B*-tree. In Proceedings of ACM/IEEE
Wang, C.Y., Luo, C.M., Jan, G.E., 2009. An efficient full-and-elimination approach for
Design Automation Conference, pp. 812–817.
floorplan area minimization. Int. Conf. Microelectron. (ICM), 244–247.
Liang, Y.C., Smith, A.E., 2004. An ant colony optimization algorithm for the
Wang, H.Y., Hu, K., Liu, J., Jiao, L.C., 2007. Multiagent evolutionary algorithm for
redundancy allocation problem (RAP). IEEE Trans. Reliability 53 (3), 417–423.
floorplanning using moving block sequence. IEEE Congr. Evol. Comput.,
Lin, J.M., & Chang, Y.W., 2001. TCG: a transitive closure graph-based representa-
CEC2007, 4372–4377.
tion for nonslicing floorplans. In Proceedings of ACM/IEEE Design Automation
Wang, L., & Selvaraj, H., 2002. Performance driven circuit clustering and partition-
Conference, pp. 764–769.
Lin, J.M., Chang, Y.W., 2004. TCG-S: orthogonal coupling of p*-admissible repre- ing. In: International Conference on Information Technology Coding and
sentation with worst case linear-time packing scheme. IEEE Trans. Comput. Computing, pp. 352–354.
Aided Des. Integrated Circuits Syst. 23 (6), 968–980. Wang, T.C., Wong, D.F., 1992. Optimal floorplan area optimization. IEEE Trans.
Lin, J.M., Chang, Y.W., Lin, S.P., 2003. Corner Sequence: a p-admissible floorplan Comput.-Aided Des. Integrated Circuits Syst. 11 (8), 992–1002.
representation with a worst case linear time packing scheme. IEEE Trans. Very Wong, D.F., & Liu, C.L., 1986. A new algorithm for floorplan design. In: Proceedings
Large Scale Integration (VLSI) Syst. 11 (4), 679–686. of ACM/IEEE Design Automation Conference, pp. 101–107.
Liu, J., Zhong, W.C., Jiao, L.C., Li, X., 2008. Moving block sequence and organiza- Xu, N., Huang, F., & Jiang, Z.H., 2006. A fast algorithm for VLSI building block
tional evolutionary algorithm for general floorplanning with arbitrarily shaped placement. In: Proceedings of IMACS Multiconference on Computational
rectilinear blocks. IEEE Trans. Evol. Comput. 12 (5), 630–646. Engineering in Systems Applications, pp. 2157–2160.
Luo, R., & Sun, P., 2007. A novel ant colony optimization based temperature-aware Yan, J.Z., Chu, C., 2010. Defer: deferred decision making enabling fixed-outline
floorplanning algorithm. In: IEEE Third International Conference on Natural floorplanning algorithm. IEEE Trans. Comput.-Aided Des. Integrated Circuits
Computation, ICNC2007, pp. 751–755. and Syst. 29 (3), 367–381.
Ma, Y., Hong, X., Dong, S., & Chang, Y.W., 2001. Floorplanning with abutment Young, E.F.Y., Chu, C.C.N., Shen, Z.C., 2003. Twin binary sequence: a nonredundant
constraints and I-shaped/t-shaped blocks based on corner block list. In: representation for general nonslicing floorplan. IEEE Trans. Comput.-Aided
Proceedings of Design Automation Conference, pp. 770–775. Des. Integrated Circuits Syst. 22 (4), 457–469.
Maniezzo, V., Colorni, A., 1999. The ant system applied to the quadratic assign- Young, F.Y., Chu, C.C.N., Luk, W.S., Wong, Y.C., 2001. Handling soft modules in
ment problem. IEEE Trans. Knowledge and Data Eng. 11 (5), 769–778. general nonslicing floorplan using lagragian relaxation. IEEE Trans. Comput.
Murata, H., Fujiyoshi, K., Nakatake, S., & Kajitani, Y., 1995. Rectangle-packing- -Aided Des. Integrated Circuits Syst. 20 (5), 687–692.
based module placement. In: Proceedings of ACM/IEEE International Compu- Yu, H., Hong, X., & Cai, Y., 2000. MMP: a novel placement algorithm for combined
ter-aided Design Automation Conference, pp. 472–479. macro-block and standard cell layout design. In: Proceedings of Asia and South
Murata, H., Fujiyoshi, K., Nakatake, S., Kajitani, Y., 1996. VLSI module placement Pacific Design Automation Conference, Yokohama, Japan, pp. 271–76.
based on rectangle-packing by the sequence pair. IEEE Trans. Comput.-Aided Zhou, H., & Wang, J., 2004. ACG-Adjacent constraint graph for general floorplans.
Des. Integrated Circuits Syst. 15 (12), 1518–1524. In Proceedings of International Conference Computer Design, pp. 572–575.
Nakatake, S., Fujiyoshi, F., Murata, H., & Kajitini, Y., 1996. Module placement on Zhuang, C., Sakanushi, K., Jin, L., & Li, X., 2002. An enhanced q-sequence
BSG-structure and IC layout applications. In: Proceedings of ACM/IEEE Inter- augmented with empty-room-insertion and parenthesis tress. In: Proceedings
national Computer-Aided Design Automation Conference, pp. 484-491. of Conference on Design, Automation and Test in Europe, pp. 61–68.

Das könnte Ihnen auch gefallen