This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11institutetext: School of Science, Wuhan University of Technology, Wuhan, 430070, China 11email: [email protected]22institutetext: Department of Basic Science, Wuchang Shouyi University, Wuhan, 430064, China 33institutetext: School of Information Engineering, Wuhan University of Technology, Wuhan, 430070, China

Floorplanning of VLSI by Mixed-Variable Optimization

Jian Sun 11    Huabin Cheng 22    Jian Wu 33    Zhanyang Zhu 33    Yu Chen(){}^{(\textrm{{\char 0\relax}})} 11
Abstract

By formulating the floorplanning of VLSI as a mixed-variable optimization problem, this paper proposes to solve it by memetic algorithms, where the discrete orientation variables are addressed by the distribution evolutionary algorithm based on a population of probability model (DEA-PPM), and the continuous coordination variables are optimized by the conjugate sub-gradient algorithm (CSA). Accordingly, the fixed-outline floorplanning algorithm based on CSA and DEA-PPM (FFA-CD) and the floorplanning algorithm with golden section strategy (FA-GSS) are proposed for the floorplanning problems with and without fixed-outline constraint. Numerical experiments on GSRC test circuits show that the proposed algorithms are superior to some celebrated B*-tree based floorplanning algorithms, and are expected to be applied to large-scale floorplanning problems due to their low time complexity.

Keywords: VLSI, floorplanning, distribution evolutionary algorithm, conjugate sub-gradient algorithm

1 Introduction

Floorplanning is a critical stage in the physical design of very large-scale integration circuit (VLSI) that determines the performance of VLSI chips to a large extent [1]. It is a complex optimization problem with multiple objectives and constraints, which makes it challenging to develop high-performance algorithms for floorplanning of VLSI [2].

Floorplanning algorithms generally fall into two categories: the floorplanning algorithm based on combinatorial optimization model (FA-COM) and the floorplanning algorithm based on analytic optimization model (FA-AOM). Representing the relative positions of macros by combinatorial coding structures such as the B*-tree, the sequential pair, etc., one can formulate the floorplanning problem as a combinatorial optimization problem, which is then addressed by metaheuristics in the FA-COMs [3, 4, 5, 6]. The combinatorial codes representing relative positions of macros can be naturally decoded into the compact floorplans complying with the non-overlapping constraints, however, the combinatorial explosion contributes to poor performances of FA-COM on large-scale cases. Accordingly, the problem size could be reduced by clustering or partitioning strategies, which in turn makes it hard to converge to the global optimal results of the investigated large-scale floorplanning problems [7, 8].

FA-AOMs address analytical floorplanning models by continuous optimization algorithms, which contributes to their lower time complexities on large-scale cases [9, 10]. Since the optimization results of continuous optimization algorithms do not fulfill the non-overlapping constraints for most cases, a FA-AOM usually consists of the global floorplanning stage and the legalization stage, the first optimizing the overall evaluation index, and the second tuning the positions of macros to eliminate constraint violations of results. Li et al. [11] proposed an analytic floorplanning algorithm for large-scale floorplanning cases, where the fixed-outline global floorplanning was implemented by optimizing the electrostatic field model of global placement. In the legalization stage, horizontal constraint graphs and vertical constraint graphs were constructed to eliminate overlap of floorplanning results. Huang et al. [12] presented an improved electrostatics-based analytical method for fixed-outline floorplanning, which incorporates module rotation and sizing driven by wirelength.

Since some of the evaluation indexes of global floorplanning are not smooth, additional smooth approximation to the optimization objective function could be incorporated to achieve fast convergence of gradient-based optimization algorithms. However, the approximation procedure not only introduces extra time complexity of the FA-AOM, but also leads to its local convergence to an optimal solution significantly different from that of the original non-smooth model. Accordingly, the conjugate subgradient algorithm [13] is employed in this paper to deal with the continuous variables representing coordinates of modules. Meanwhile, we address the orientation of modules by discrete variables, and formulate the floorplanning problem as a mixed-variable optimization problem.

Rest of this paper is organized as follows. Section 2 introduces some preliminaries. Then, the proposed algorithms developed for floorplanning problems with and without fixed-outline constraints are presented in Sections 3 and 4, respectively. Numerical experiment is performed in Section 5 to demonstrate the competitiveness of the proposed algorithms, and Section 6 concludes this paper.

2 Preliminaries

2.1 Problem Statement

Given a collection of rectangular modules V={v1,v2,,vn}V=\{v_{1},v_{2},\ldots,v_{n}\} and a set of edges (networks) E={e1,e2,,em}E=\{e_{1},e_{2},\ldots,e_{m}\}, the VLSI floorplanning problem tries to minimize the total wirelength and the floorplan area by placing modules in approximate positions. Denote the center coordinates of module viv_{i} be (xi,yi)(x_{i},y_{i}), and its orientation is represented by rir_{i}. A floorplan of VLSI is represented by the combination of vectors 𝒙\bm{x}, 𝒚\bm{y} and 𝒓\bm{r}, where 𝒙=(x1,x2,,xn)\bm{x}=(x_{1},x_{2},\dots,x_{n}), 𝒚=(y1,y2,,yn)\bm{y}=(y_{1},y_{2},\dots,y_{n}), 𝒓=(r1,r2,,rn)\bm{r}=(r_{1},r_{2},\dots,r_{n}). Subject to the constraint of placing non-overlaping modules with a fixed outline, the floorplanning problem is formulated as

minW(𝒙,𝒚)\displaystyle\min\quad W(\bm{x},\bm{y}) (1)
s.t.{D(𝒙,𝒚,𝒓)=0,B(𝒙,𝒚,𝒓)=0,\displaystyle s.t.\quad\left\{\begin{array}[]{l}D(\bm{x},\bm{y},\bm{r})=0,\\ B(\bm{x},\bm{y},\bm{r})=0,\end{array}\right.

where W(𝒙,𝒚)W(\bm{x},\bm{y}) is the total wirelength, D(𝒙,𝒚,𝒓)D(\bm{x},\bm{y},\bm{r}) is the sum of overlapping area, and B(𝒙,𝒚,𝒓)B(\bm{x},\bm{y},\bm{r}) is the sum of width beyond the fixed outline. By the Lagrange multiplier method, it can be transformed into an unconstrained optimization model

minf(𝒙,𝒚,𝒓)=αW(𝒙,𝒚)+λD(𝒙,𝒚,𝒓)+μB(𝒙,𝒚,𝒓),\min\,\,f(\bm{x},\bm{y},\bm{r})=\alpha W(\bm{x},\bm{y})+\lambda\sqrt{D(\bm{x},\bm{y},\bm{r})}+\mu B(\bm{x},\bm{y},\bm{r}), (2)

where α\alpha, λ\lambda, and μ\mu are parameters to be confirmed. Here, the square root of D(𝒙,𝒚,𝒓)D(\bm{x},\bm{y},\bm{r}) is adopted to ensure that all indexes to be minimized are of the same dimension.

Total Wirelength W(𝒙,𝒚)W(\bm{x},\bm{y})

: The total wirelength is here taken as the total sum of half-perimeter wirelength (HWPL)

W(𝒙,𝒚)=eE(maxvieximinviexi+maxvieyiminvieyi)W(\bm{x},\bm{y})=\sum_{e\in E}(\max\limits_{v_{i}\in e}x_{i}-\min\limits_{v_{i}\in e}x_{i}+\max\limits_{v_{i}\in e}y_{i}-\min\limits_{v_{i}\in e}y_{i}) (3)
Sum of Overlapping Area D(𝒙,𝒚,𝒓)D(\bm{x},\bm{y},\bm{r})

: The sum of overlapping area is computed by

D(𝒙,𝒚,𝒓)=i,jOi,j(𝒙,𝒓)×Oi,j(𝒚,𝒓),D(\bm{x},\bm{y},\bm{r})=\sum_{i,j}O_{i,j}(\bm{x},\bm{r})\times O_{i,j}(\bm{y},\bm{r}), (4)

where Oi,j(𝒙,𝒓)O_{i,j}(\bm{x},\bm{r}) and Oi,j(𝒚,𝒓)O_{i,j}(\bm{y},\bm{r}) represent the overlapping lengths of modules ii and jj in the XX-axis and YY-axis directions, respectively. Denoting Δx(i,j)=|xixj|\Delta_{x}(i,j)=|x_{i}-x_{j}|, we know

Oi,j(𝒙,𝒓)={max(w^i,w^j),if 0Δx(i,j)|w^iw^j|2,w^i2Δx(i,j)+w^j2,if |w^iw^j|2<Δx(i,j)w^i+w^j2,0,if w^i+w^j2<Δx(i,j),O_{i,j}(\bm{x},\bm{r})=\begin{cases}\max(\hat{w}_{i},\hat{w}_{j}),&\mbox{if }0\leq\Delta_{x}(i,j)\leq\frac{|\hat{w}_{i}-\hat{w}_{j}|}{2},\\ \frac{\hat{w}_{i}-2\Delta_{x}(i,j)+\hat{w}_{j}}{2},&\mbox{if }\frac{|\hat{w}_{i}-\hat{w}_{j}|}{2}<\Delta_{x}(i,j)\leq\frac{\hat{w}_{i}+\hat{w}_{j}}{2},\\ 0,&\mbox{if }\frac{\hat{w}_{i}+\hat{w}_{j}}{2}<\Delta_{x}(i,j),\end{cases} (5)

where w^i\hat{w}_{i} is confirmed by

w^i={wi,if ri{0,π},hi,otherwise,i{1,2,n}.\hat{w}_{i}=\begin{cases}w_{i},&\mbox{if }r_{i}\in\{0,\pi\},\\ h_{i},&\mbox{otherwise},\end{cases}\quad i\in\{1,2\dots,n\}. (6)

Denoting Δy(i,j)=|yiyj|\Delta_{y}(i,j)=|y_{i}-y_{j}|, we have

Oi,j(𝒚,𝒓)={max(h^i,h^j),if 0Δy(i,j)|h^ih^j|2,h^i2Δy(i,j)+h^j2,if |h^ih^j|2<Δy(i,j)h^i+h^j2,0,if h^i+h^j2<Δy(i,j),O_{i,j}(\bm{y},\bm{r})=\begin{cases}\max(\hat{h}_{i},\hat{h}_{j}),&\mbox{if }0\leq\Delta_{y}(i,j)\leq\frac{|\hat{h}_{i}-\hat{h}_{j}|}{2},\\ \frac{\hat{h}_{i}-2\Delta_{y}(i,j)+\hat{h}_{j}}{2},&\mbox{if }\frac{|\hat{h}_{i}-\hat{h}_{j}|}{2}<\Delta_{y}(i,j)\leq\frac{\hat{h}_{i}+\hat{h}_{j}}{2},\\ 0,&\mbox{if }\frac{\hat{h}_{i}+\hat{h}_{j}}{2}<\Delta_{y}(i,j),\end{cases} (7)

where h^i\hat{h}_{i} is confirmed by

h^i={hi,if ri{0,π},wi,otherwise,i{1,2,n}.\hat{h}_{i}=\begin{cases}h_{i},&\mbox{if }r_{i}\in\{0,\pi\},\\ w_{i},&\mbox{otherwise},\end{cases}\quad i\in\{1,2\dots,n\}. (8)
Sum of Width beyond the Fixed Outline B(𝒙,𝒚,𝒓)B(\bm{x},\bm{y},\bm{r})

: For floorplanning problems with fixed-outline, the positions of modules must meet the following constraints:

{0xiw^i/2,xi+w^i/2W,0yih^i/2,yi+h^i/2H,\begin{cases}0\leq x_{i}-\hat{w}_{i}/2,\quad x_{i}+\hat{w}_{i}/2\leq W^{*},\\ 0\leq y_{i}-\hat{h}_{i}/2,\quad y_{i}+\hat{h}_{i}/2\leq H^{*},\end{cases}

where WW^{*} and HH^{*} are the width and the height of square outline, respectively. Let

b1,i(𝒙)=max(0,w^i/2xi),b2,i(𝒙)=max(0,w^i/2+xiW),\displaystyle b_{1,i}(\bm{x})=\max(0,\hat{w}_{i}/2-x_{i}),b_{2,i}(\bm{x})=\max(0,\hat{w}_{i}/2+x_{i}-W^{*}),
b1,i(𝒚)=max(0,h^i/2yi),b2,i(𝒚)=max0,h^i/2+yiH),\displaystyle b_{1,i}(\bm{y})=\max(0,\hat{h}_{i}/2-y_{i}),b_{2,i}(\bm{y})=\max 0,\hat{h}_{i}/2+y_{i}-H^{*}),

w^i\hat{w}_{i} and h^i\hat{h}_{i} are confirmed by (6) and (8), respectively. Accordingly, B(𝒙,𝒚,𝒓)B(\bm{x},\bm{y},\bm{r}) can be confirmed by

B(𝒙,𝒚,𝒓)=i=1n(b1,i(𝒙)+b2,i(𝒙)+b1,i(𝒚)+b2,i(𝒚)),B(\bm{x},\bm{y},\bm{r})=\sum_{i=1}^{n}(b_{1,i}(\bm{x})+b_{2,i}(\bm{x})+b_{1,i}(\bm{y})+b_{2,i}(\bm{y})), (9)

which is smoothed by

B~(𝒙,𝒚,𝒓)=i=1n(b1,i2(𝒙)+b2,i2(𝒙)+b1,i2(𝒚)+b2,i2(𝒚)).\widetilde{B}(\bm{x},\bm{y},\bm{r})=\sum_{i=1}^{n}(b_{1,i}^{2}(\bm{x})+b_{2,i}^{2}(\bm{x})+b_{1,i}^{2}(\bm{y})+b_{2,i}^{2}(\bm{y})). (10)

Let β=0\beta=0, we get for legitimization of the global floorplanning result the optimization problem

minf~(𝒙,𝒚,𝒓)=λ0D(𝒙,𝒚,𝒓)+μ0B~(𝒙,𝒚,𝒓).\min\quad\tilde{f}(\bm{x},\bm{y},\bm{r})=\lambda_{0}D(\bm{x},\bm{y},\bm{r})+\mu_{0}\widetilde{B}(\bm{x},\bm{y},\bm{r}). (11)

2.2 The Conjugate Sub-gradient Algorithm for Optimization of the Coordinate

Input: Objective function f(𝒖)f(\bm{u}), Initial solution 𝒖0\bm{u}_{0}, Maximum iterations kmaxk_{max}, Initial step control parameter s0s_{0};
Output: Optimal solution 𝒖\bm{u}^{*};
1 𝒈0f(𝒖0)\bm{g}_{0}\in\partial f(\bm{u}_{0}), 𝒅0=𝟎\bm{d}_{0}=\bm{0}, k1k\leftarrow 1;
2 while termination-condition 1 is not satisfied do
3      calculated subgradient 𝒈kf(𝒖k1)\bm{g}_{k}\in\partial f(\bm{u}_{k-1});
4       calculate Polak-Ribiere parameters ηk=𝒈kT(𝒈k𝒈k1)𝒈k122\eta_{k}=\frac{\bm{g}_{k}^{T}(\bm{g}_{k}-\bm{g}_{k-1})}{||\bm{g}_{k-1}||_{2}^{2}};
5       computed conjugate directions 𝒅k=𝒈k+ηk𝒅k1\bm{d}_{k}=-\bm{g}_{k}+\eta_{k}\bm{d}_{k-1};
6       calculating step size ak=sk1/𝒅k2a_{k}=s_{k-1}/||\bm{d}_{k}||_{2};
7       renewal solution 𝒖k=𝒖k1+ak𝒅k\bm{u}_{k}=\bm{u}_{k-1}+a_{k}\bm{d}_{k};
8       update step control parameters sk=qsk1s_{k}=qs_{k-1};
9       updata 𝒖\bm{u}^{*};
10 end while
Algorithm 1 𝒖=CSA(f,𝒖0,kmax,s0)\bm{u}^{*}=CSA(f,\bm{u}_{0},k_{max},s_{0})

Zhu et al.[13] proposed to solving the non-smooth continuous optimization model of the global placement by the conjugate sub-gradient algorithm (CSA). With an initial solution 𝒖0\bm{u}_{0}, the pseudo code of CSA is presented in Algorithm 1. Because the CSA is not necessarily gradient-descendant, the step size has a significant influence on its convergence performance. The step size is determined by the norm of the conjugate directions together with the control parameter sks_{k}, which is updated as sk=qsk1s_{k}=qs_{k-1}. As an initial study, we set q=0.997q=0.997 in this paper. The termination-condition 1 is satisfied if kk is greater than a given budget kmaxk_{max} or several consecutive iterations fails to get a better solution.

2.3 The Distribution Evolutionary Algorithm for Optimization of the Orientation

Besides the coordinate vectors 𝒙\bm{x} and 𝒚\bm{y}, the floorplan is also confirmed by the orientation vectors 𝒓\bm{r}. The orientation of modules is confirmed by clockwise rotation, and we set ri=jr_{i}=j if the rotation angle is θi=jπ/2\theta_{i}=j\pi/2, j=0,1,2,3j=0,1,2,3, i=1,,ni=1,\dots,n. The, optimization of the orientation vectors contributes to a combinatorial optimization problem.

The estimation of distribution algorithm (EDA) is a kind of metaheuristics that can address the combinatorial optimization problem well, but its balance between global exploration and local exploitation is a challenging issue [14]. Xu et al. [15] proposed for the graph coloring problem a distribution evolutionary algorithm based on a population of probability model (DEA-PPM), where a novel probability model and the associated orthogonal search are introduced to achieve well convergence performance on large-scale combinatorial problems.

The core idea of DEA-PPM for floorplanning is to simulate the probability distribution of orientations by constructing a probability matrix

𝒒=(q1,,qn)=[q11q12q1nq21q22q2nq31q32q3nq41q42q4n],\bm{q}=(\vec{q}_{1},\dots,\vec{q}_{n})=\begin{bmatrix}q_{11}&q_{12}\cdots&q_{1n}\\ q_{21}&q_{22}\cdots&q_{2n}\\ q_{31}&q_{32}\cdots&q_{3n}\\ q_{41}&q_{42}\cdots&q_{4n}\end{bmatrix}, (12)

where qj\vec{q}_{j} representing the probability that module jj satisfies

qj22=i=1kqij2=1,j=1,,n.||\vec{q}_{j}||_{2}^{2}=\sum_{i=1}^{k}q_{ij}^{2}=1,\quad\forall j=1,\dots,n. (13)

Then, the random initialization of 𝒒\bm{q} generates a distribution matrix

𝒒(0)=[1/21/21/21/21/21/21/21/21/21/21/21/2].\bm{q}{(0)}=\begin{bmatrix}{1}/{2}&{1}/{2}&\cdots&{1}/{2}\\ {1}/{2}&{1}/{2}&\cdots&{1}/{2}\\ {1}/{2}&{1}/{2}&\cdots&{1}/{2}\\ {1}/{2}&{1}/{2}&\cdots&{1}/{2}\end{bmatrix}. (14)

The implementation of DEA-PPM is based on distributed population 𝑸(t)=(𝒒[1],,𝒒[np])\bm{Q}(t)=(\bm{q}^{[1]},\dots,\bm{q}^{[np]}) and solution population 𝑷(t)=(𝒑[1],,𝒑[np])\bm{P}(t)=(\bm{p}^{[1]},\dots,\bm{p}^{[np]}), which are employed here for the probability distributions and instantiations of orientation, respectively. Global convergence of DEA-PPM is achieved by an orthogonal search on 𝑸(t)\bm{Q}(t), and the local exploitation are implemented in both the distribution space and the solution space.

3 The Fixed-outline Floorplanning Algorithm Based on CSA and DEA-PPM

3.1 Framework

In this paper, the fixed-outline floorplanning algorithm based on CSA and DEA-PPM (FFA-CD) is proposed to solve the problem of fixed-outline floorplanning, where the DEA-PPM is employed to optimize the orientations of the modules and the CSA is used to optimize the corresponding coordinates of the modules.

The framework of FFA-CD is presented in Algorithm 2. It starts with initialization of the distribution and solution populations 𝑸(0)\bm{Q}(0) and 𝑷(0)\bm{P}(0), where 𝑷(0)\bm{P}(0) consists of orientation combinations of modules. Meanwhile, the corresponding population 𝑿\bm{X} and 𝒀\bm{Y} of module coordinate is initialized by Latin hypercube sampling [16]. Combining the orientation and coordinates of modules, we get the best coordinate vectors 𝒙\bm{x}^{*} and 𝒚\bm{y}^{*}, as well as the corresponding orientation vector 𝒓\bm{r}^{*}. Then, the while loop of DEA-PPM is implemented to update 𝑸(t)\bm{Q}(t) and 𝑷(t)\bm{P}(t), where the CSA is deployed in UpdateXY to get the best module coordinate.

Input: f(𝒙,𝒚,𝒓)f(\bm{x},\bm{y},\bm{r}), f~(𝒙,𝒚,𝒓)\widetilde{f}(\bm{x},\bm{y},\bm{r}).
Output: Optimal coordinate vector (𝒙,𝒚)(\bm{x}^{*},\bm{y}^{*}) and orientation vector 𝒓\bm{r}^{*}.
1
2initialize the step control parameter ss;
3 initialize 𝑸(0)\bm{Q}(0) by (14), and generate 𝑷(0)\bm{P}(0) by sampling 𝑸(0)\bm{Q}(0);
4 initialize 𝑿\bm{X} and 𝒀\bm{Y} by Latin hypercube sampling;
5
6let
(𝒙,𝒚,𝒑)=argminf(𝒙,𝒚,𝒓),𝒙𝑿,𝒚𝒀,𝒓𝑷(0);(\bm{x}^{*},\bm{y}^{*},\bm{p}^{*})=\arg\min f(\bm{x},\bm{y},\bm{r}),\bm{x}\in\bm{X},\bm{y}\in\bm{Y},\bm{r}\in\bm{P}(0);
set 𝒒\bm{q}^{*} as the distribution 𝒒\bm{q} corresponding to 𝒑\bm{p}^{*};
7 set t1t\leftarrow 1, α1\alpha\leftarrow 1, λ20\lambda\leftarrow 20, μ100\mu\leftarrow 100, λ01\lambda_{0}\leftarrow 1, μ010\mu_{0}\leftarrow 10, kmax50k_{\mbox{max}}\leftarrow 50;
8 while termination-condition 2 is not satisfied do
9      𝑸(t)=OrthExpQ(𝑸(t1),𝑷(t1))\bm{Q}^{\prime}(t)=OrthExpQ(\bm{Q}(t-1),\bm{P}(t-1));𝑷(t)=SampleP(𝑸(t),𝑷(t1))\bm{P}^{\prime}(t)=SampleP(\bm{Q}(t),\bm{P}(t-1));(𝑷(t),𝑿,𝒀,s)=UpdateXY(𝑷(t),𝑿,𝒀,s)(\bm{P}(t),\bm{X},\bm{Y},s)=UpdateXY(\bm{P}^{\prime}(t),\bm{X},\bm{Y},s);𝑸(t)=RefineQ(𝑷(t),𝑷(t),𝑸(t))\bm{Q}(t)=RefineQ(\bm{P}^{\prime}(t),\bm{P}(t),\bm{Q}^{\prime}(t));t=t+1t=t+1;
10 end while
Algorithm 2 FFA-CD

3.2 Evolution of the Distribution Population

In order to better explore the distribution space, DEA-PPM carries out orthogonal exploration for individuals in 𝑸(t)\bm{Q}(t). Algorithm 3 gives the flow of orthogonal exploration, which aims to change mm worst individuals in 𝑸\bm{Q} by orthogonal transformation performed on cc columns of a distribution matrix. Here, mm is a random integer in [1,np/2][1,np/2] and cc is a random integer in [1,n/10][1,n/10].

Input: 𝑸,𝑷\bm{Q},\bm{P};
Output: 𝑸\bm{Q}^{\prime};
1 sorting 𝑸\bm{Q} by fitness values of corresponding individuals of 𝑸\bm{Q};
2 take 𝑸w\bm{Q}_{w} as the collection of mm worst individuals of 𝑸\bm{Q};
3 𝑸=𝑸𝑸w\bm{Q}^{\prime}=\bm{Q}\setminus\bm{Q}_{w};
4 for 𝐪𝐐w\bm{q}\in\bm{Q}_{w} do
5      𝒒𝒒\bm{q}^{\prime}\leftarrow\bm{q};
6       randomly select cc columns qjl(l=1,,c)\vec{q}_{j_{l}}^{\prime}(l=1,\dots,c) from 𝒒\bm{q}^{\prime};
7       for l=1,…,c do
8            generate a random orthogonal matrix 𝑴l\bm{M}_{l};
9             qjl=𝑴lqjl\vec{q}_{jl}^{\prime}=\bm{M}_{l}\vec{q}_{jl}^{\prime};
10       end for
11      𝑸=𝑸𝒒\bm{Q}^{\prime}=\bm{Q}^{\prime}\cup\bm{q}^{\prime}
12 end for
Algorithm 3 𝑸=OrthExpQ(𝑸,𝑷)\bm{Q}^{\prime}=OrthExpQ(\bm{Q},\bm{P})
Input: 𝑷,𝑷,𝑸\bm{P}^{\prime},\bm{P},\bm{Q}^{\prime};
Output: 𝑸\bm{Q};
1 for i=1,,npi=1,\dots,np do
2      𝒒[i]𝑸,𝒗[i]𝑷,𝒗[i]𝑷\bm{q}^{[i]}\in\bm{Q}^{\prime},\bm{v}^{\prime[i]}\in\bm{P}^{\prime},\bm{v}^{[i]}\in\bm{P};
3       for j=1,…,n do
4            set rndjU(0,1)rnd_{j}\sim U(0,1);
5             if rndjp0rnd_{j}\leq p_{0} then
6                  rj[i]\vec{r}_{j}^{[i]} is generated by the exploitation strategy (Eqs. (15) and (16));
7            else
8                  rj[i]\vec{r}_{j}^{[i]} is generated by the disturbance strategy (Eq. (17));
9             end if
10            
11       end for
12      𝒓[i]=(r1[i],,rn[i])\bm{r}^{[i]}=(\vec{r}_{1}^{[i]},\dots,\vec{r}_{n}^{[i]});
13 end for
Algorithm 4 𝑸=RefineQ(𝑷,𝑷,𝑸)\bm{Q}^{\prime}=RefineQ(\bm{P}^{\prime},\bm{P},\bm{Q}^{\prime})

In Algorithm 4, the intermediate distribution population 𝑸(t)\bm{Q}^{\prime}(t) is further updated to get 𝑸(t)\bm{Q}(t). Given 𝒒[i]𝑸(t)\bm{q}^{[i]}\in\bm{Q}^{\prime}(t), it is updated using 𝒗[i]\bm{v}^{\prime[i]} and 𝒗[i]\bm{v}^{[i]}, two orientation combinations selected from 𝑷\bm{P}^{\prime} and 𝑷\bm{P}, respectively. Columns of 𝒒[i]\bm{q}^{[i]} are updated using either a exploitation strategy or a disturbance strategy presented as follows.

The exploitation strategy:

To update the jthj^{th} column of 𝒒[i]\bm{q}^{[i]}, it is first renewed as

rl,j[i]={α0+(1α0)(ql,j[i])2,if l=vj[i](1α0)(ql,j[i])2,if lvj[i]l=1,,4,r_{l,j}^{[i]}=\left\{\begin{array}[]{lcl}\sqrt{\alpha_{0}+(1-\alpha_{0})(q^{[i]}_{l,j})^{2}},&&\mbox{if }l=v_{j}^{[i]}\\ \sqrt{(1-\alpha_{0})(q^{[i]}_{l,j})^{2}},&&\mbox{if }l\neq v_{j}^{[i]}\end{array}\right.\quad l=1,\dots,4, (15)

where vj[i]v_{j}^{[i]} is the jthj^{th} component of 𝒗[i]\bm{v}^{[i]}. Then, an local orthogonal transformation is performed as

[rl1,j[i]rl2,j[i]]=U(Δθj)×[rl1,j[i]rl2,j[i]],\begin{bmatrix}r_{l_{1},j}^{[i]}\\ r_{l_{2},j}^{[i]}\end{bmatrix}=U(\Delta\theta_{j})\times\begin{bmatrix}r_{l_{1},j}^{[i]}\\ r_{l_{2},j}^{[i]}\end{bmatrix}, (16)

where l1=vj[i]l_{1}=v_{j}^{\prime[i]}, l2=vj[i]l_{2}=v_{j}^{[i]}. U(Δθj)U(\Delta\theta_{j}) is an orthogonal matrix given by

U(Δθj)=[cos(Δθj)sin(Δθj)sin(Δθj)cos(Δθj)].U(\Delta\theta_{j})=\begin{bmatrix}\cos(\Delta\theta_{j})&-\sin(\Delta\theta_{j})\\ \sin(\Delta\theta_{j})&\cos(\Delta\theta_{j})\end{bmatrix}.
The disturbance strategy:

In order to prevent the distribution population from premature, the disturbance strategy is performed as

rl,j[i]={λ(ql0,j[i])21(1λ)(ql0,j[i])2,if l=l0(ql,j[i])21(1λ)(ql0,j[i])2,if ll0r_{l,j}^{[i]}=\left\{\begin{array}[]{rcl}\frac{\lambda(q^{[i]}_{l_{0},j})^{2}}{1-(1-\lambda)(q^{[i]}_{l_{0},j})^{2}},&&\mbox{if }l=l_{0}\\ \frac{(q^{[i]}_{l,j})^{2}}{1-(1-\lambda)(q^{[i]}_{l_{0},j})^{2}},&&\mbox{if }l\neq l_{0}\end{array}\right. (17)

where l0=vj[i]l_{0}=v_{j}^{[i]}.

3.3 Optimization of the Floorplan with a Fixed Outline

The floorplan is represented by the orientation vector 𝒓\bm{r} and the coordinate vectors 𝒙\bm{x} and 𝒚\bm{y}. In FFA-CD, the evolution of orientation vectors is implemented by iteration of solution population 𝑷(t)\bm{P}(t), and the corresponding coordinate vectors are optimized by the function UpdateXY.

3.3.1 Initialization of the module orientation

According to the principle of DEA-PPM, the solution population 𝑷(t)\bm{P}^{\prime}(t) is obtained by sampling the distribution population 𝑸(t)\bm{Q}^{\prime}(t). To accelerate the convergence process, the sampling process is performed with inheritance as the process illustrated in Algorithm 5.

Input: 𝑸,𝑷\bm{Q},\bm{P};
Output: 𝑷\bm{P}^{\prime};
1 for i=1,,npi=1,\dots,np do
2      𝒒[i]𝑸,𝒗[i]𝑷\bm{q}^{[i]}\in\bm{Q},\bm{v}^{[i]}\in\bm{P};
3       for j=1,…,n do
4            set rndjU(0,1)rnd_{j}\sim U(0,1);
5             if rndjrrnd_{j}\leq r then
6                  sampling qj[i]\vec{q}_{j}^{[i]} to get vj[i]\vec{v}_{j}^{\prime[i]};
7            else
8                  vj[i]=vj[i]\vec{v}_{j}^{\prime[i]}=\vec{v}_{j}^{[i]};
9             end if
10            
11       end for
12      𝒗[i]=(v1[i],,vn[i])\bm{v}^{\prime[i]}=(\vec{v}_{1}^{\prime[i]},\dots,\vec{v}_{n}^{\prime[i]});
13 end for
𝑷=i=1np𝒗[i]\bm{P}^{\prime}=\bigcup_{i=1}^{np}\bm{v}^{\prime[i]}
Algorithm 5 𝑷=SampleP(𝑸,𝑷)\bm{P}^{\prime}=SampleP(\bm{Q},\bm{P})

3.3.2 Optimization of module position

With the orientation of modules confirmed by the solution population, the position of the modules is optimized by Algorithm 6. For a combination of position vector (𝒙[i],𝒚[i])(\bm{x}^{[i]},\bm{y}^{[i]}), the global floorplanning is first implemented by optimizing ff; then, the weights of the constraint items is increased to legalize the floorplan approach by lines 4-7, or the legalization process is implemented by lines 9-10. The legalization process based on constraint graphs [10] are implemented Graph(), which is presented in Algorithm 7. To prevent 𝑿\bm{X} and 𝒀\bm{Y} from falling into inferior local solutions, the coordinates are reinitialized if no better solution is obtained for several times.

Input: 𝑿,𝒀,s\bm{X},\bm{Y},s;
Output: 𝑿,𝒀,s\bm{X},\bm{Y},s;
1 for i=1,,npi=1,\dots,np do
2       (𝒙[i],𝒚[i])=CSA(f,(𝒙[i],𝒚[i]),kmax,s)(\bm{x}^{[i]},\bm{y}^{[i]})=CSA(f,(\bm{x}^{[i]},\bm{y}^{[i]}),k_{\mbox{max}},s);
3       if d0>δ1d_{0}>\delta_{1} then
4             λ\lambda=min(1.5λ,λ+30)\mathop{min}(1.5\lambda,\lambda+30);
5             if c0>δ2c_{0}>\delta_{2} then
6                   μ\mu=min(1.1μ,μ+10)\mathop{min}(1.1\mu,\mu+10);
7             end if
8            
9      else
10            (𝒙[i],𝒚[i])=CSA(f~,(𝒙[i],𝒚[i]),1000,max(s/2,50))(\bm{x}^{[i]},\bm{y}^{[i]})=CSA(\widetilde{f},(\bm{x}^{[i]},\bm{y}^{[i]}),1000,\mathop{max}(s/2,50));
11             (𝒙[i],𝒚[i])=Graph(𝒙[i],𝒚[i])(\bm{x}^{[i]},\bm{y}^{[i]})=Graph(\bm{x}^{[i]},\bm{y}^{[i]});
12       end if
13      
14 end for
15s=max(0.95s,smin)s=\mathop{max}(0.95*s,s_{\mbox{min}});
16if no better solution is obtained for several times  then
17      reinitialize 𝑿,𝒀\bm{X},\bm{Y};
18 end if
Algorithm 6 (𝑷(t),𝑿,𝒀,s)=UpdateXY(𝑷(t),𝑿,𝒀,s)(\bm{P}(t),\bm{X},\bm{Y},s)=UpdateXY(\bm{P}^{\prime}(t),\bm{X},\bm{Y},s)

The legalization of Algorithm 7 is implemented as follows. Let (xi,yi)(x_{i}^{\prime},y_{i}^{\prime}) be the lower-left coordinate of block viv_{i}. viv_{i} is to the left of vjv_{j} if it holds

Oi,j(y)>0,Oi,j(x)=0,xi<xj;O_{i,j}(y)>0,O_{i,j}(x)=0,x_{i}^{\prime}<x_{j}^{\prime};

viv_{i} is to the below of vjv_{j} if

Oi,j(x)>0,Oi,j(y)=0,yi<yj.O_{i,j}(x)>0,O_{i,j}(y)=0,y_{i}^{\prime}<y_{j}^{\prime}.

Denote IiI_{i} and JiJ_{i} as the left-module set and the lower-module set of module ii, respectively. Then, the xx- and yy-coordinates of module ii are updated by

xi={maxvjIi(xj+wj),if Ii0,otherwise;x_{i}^{\prime}=\left\{\begin{array}[]{rcl}\mathop{max}\limits_{\forall v_{j}\in I_{i}}(x_{j}^{\prime}+w_{j}),&&\mbox{if }I_{i}\neq\emptyset\\ 0,&&\mbox{otherwise;}\end{array}\right. (18)
yi={maxvjJi(yj+hj),if Ji0,otherwise.y_{i}^{\prime}=\left\{\begin{array}[]{rcl}\mathop{max}\limits_{\forall v_{j}\in J_{i}}(y_{j}^{\prime}+h_{j}),&&\mbox{if }J_{i}\neq\emptyset\\ 0,&&\mbox{otherwise.}\end{array}\right. (19)
Input: (𝒙,𝒚)(\bm{x},\bm{y});
Output: (𝒙,𝒚)(\bm{x}^{*},\bm{y}^{*});
1 Sorting all modules according to the xx-coordinates of the bottom-left corner and denote them as {v1,v2,,vn}\{v_{1},v_{2},\dots,v_{n}\};
2 for i1i\leftarrow 1 to nn do
3      update xix_{i}^{\prime} and 𝒙\bm{x}^{*} according to formula (18);
4 end for
5Sorting all modules according to the yy-coordinates of the bottom-left corner and denote them as {v1,v2,,vn}\{v_{1},v_{2},\dots,v_{n}\};
6 for i1i\leftarrow 1 to nn do
7      update yiy_{i}^{\prime} and 𝒚\bm{y}^{*} according to formula (19);
8 end for
Algorithm 7 (𝒙,𝒚)=Graph(𝒙,𝒚)(\bm{x}^{*},\bm{y}^{*})=Graph(\bm{x},\bm{y})

4 The Floorplanning Algorithm Based on the Golden Section Strategy

While the analytical optimization method is applied to the floorplanning problem without fixed-outline, it is a challenging task to minimize the floorplan area. In this paper, we proposed a floorplanning algorithm based on the golden section strategy (FA-GSS), where minimization of the floorplan area is achieved by consecutively narrowing the contour of fixed outline.

Input: f(𝒙,𝒚,𝒓)f(\bm{x},\bm{y},\bm{r}), f~(𝒙,𝒚),𝒓\widetilde{f}(\bm{x},\bm{y}),\bm{r}.
Output: Optimal solution (𝒙,𝒚)(\bm{x}^{*},\bm{y}^{*}) and corresponding rotation strategy 𝒓\bm{r}^{*}.
1 initialize 𝑸(0)\bm{Q}(0) according to formula (7), and sample to generate 𝑷(0)\bm{P}(0);
2 initialize 𝑿\bm{X} and 𝒀\bm{Y}, step control parameter ss;
3 set the best solution in 𝑷(0)\bm{P}(0) is 𝒑\bm{p}^{*}, the corresponding distribution matrix is 𝒒\bm{q}^{*}, and the module coordinates are (𝒙,𝒚)(\bm{x}^{*},\bm{y}^{*});
4 λ01\lambda_{0}\leftarrow 1, μ010\mu_{0}\leftarrow 10, kmax50k_{\mbox{max}}\leftarrow 50, t1t\leftarrow 1;
5 initialize the maximum whitespace ratio γmax\gamma_{\mbox{max}} and minimum whitespace ratio γmin\gamma_{\mbox{min}};
6 while γmaxγmin<ϵ\gamma_{\mbox{max}}-\gamma_{\mbox{min}}<\epsilon do
7       α1\alpha\leftarrow 1, λ20\lambda\leftarrow 20, μ100\mu\leftarrow 100, γm=0.618(γmaxγmin)+γmin\gamma_{\mbox{m}}=0.618*(\gamma_{\mbox{max}}-\gamma_{\mbox{min}})+\gamma_{\mbox{min}};
8       calculate the width 𝑾\bm{W}^{*} and height 𝑯\bm{H}^{*} of the fixed profile;
9       while termination-condition 2 is not satisfied do
10            𝑸(t)=OrthExpQ(𝑸(t1),𝑷(t1))\bm{Q}^{\prime}(t)=OrthExpQ(\bm{Q}(t-1),\bm{P}(t-1));
11            𝑷(t)=SampleP(𝑸(t),𝑷(t1))\bm{P}^{\prime}(t)=SampleP(\bm{Q}(t),\bm{P}(t-1));
12            (𝑷(t),𝑿,𝒀,s)=UpdateXY(𝑷(t),𝑿,𝒀,s)(\bm{P}(t),\bm{X},\bm{Y},s)=UpdateXY(\bm{P}^{\prime}(t),\bm{X},\bm{Y},s);
13            𝑸(t)=RefineQ(𝑷(t),𝑷(t),𝑸(t))\bm{Q}(t)=RefineQ(\bm{P}^{\prime}(t),\bm{P}(t),\bm{Q}^{\prime}(t));
14            Let’s take the best solution for the current 𝑿\bm{X}, 𝒀\bm{Y}, and call it 𝒙\bm{x}^{\prime}, 𝒚\bm{y}^{\prime};
15             t=t+1t=t+1, update 𝒑\bm{p}^{*}, 𝒒\bm{q}^{*}, (𝒙,𝒚)(\bm{x}^{*},\bm{y}^{*}), kmax=35k_{\mbox{max}}=35;
16       end while
17      if f~(𝐱,𝐲)=0\widetilde{f}(\bm{x}^{\prime},\bm{y}^{\prime})=0 then
18            γmax\gamma_{\mbox{max}}=γm\gamma_{\mbox{m}};
19      else
20            γmin\gamma_{\mbox{min}}=γm\gamma_{\mbox{m}};
21       end if
22      
23 end while
Algorithm 8 FA-GSS

Minimization of the floorplan area S(𝒙,𝒚,𝒓)S(\bm{x},\bm{y},\bm{r}) is equivalent to minimizing the blank ratio

γ=S(𝒙,𝒚,𝒓)AA100%,\gamma=\frac{S(\bm{x},\bm{y},\bm{r})-A}{A}*100\%, (20)

where AA is the sum of areas of all modules. As presented in Algorithm 8, we use the golden section strategy to continuously reduce the area of the fixed contour. Given the initial white rate γmax\gamma_{{max}} and γmin\gamma_{{min}}, where the fixed-outline floorplanning is feasible for γmax\gamma_{{max}} but infeasible for γmin\gamma_{{min}}, we set

γm=0.618(γmaxγmin)+γmin.\gamma_{{m}}=0.618*(\gamma_{{max}}-\gamma_{{min}})+\gamma_{{min}}.

If a legal layout can be obtained for γm\gamma_{{m}}, then γmax\gamma_{{max}}=γm\gamma_{{m}}; otherwise, we set γmin\gamma_{{min}}=γm\gamma_{{m}}. Repeat the section process until γmaxγmin<ϵ\gamma_{{max}}-\gamma_{{min}}<\epsilon.

5 Experimental Results and Analysis

To verify the performance of the proposed algorithm, we conducted experiments on the well-known test benchmark GSRC. For all test circuits, the I/O pads are fixed at the given coordinates, and the modules of all circuits are hard modules. All experiments are developed in C++ programming language program, and run in Microsoft Windows 10 on a laptop equipped with the AMD Ryzen 7 5800H @ 3.2GHz and 16GB system memory.

5.1 Wirelength Optimization with Fixed-outline Constraints

We first test the performance of FFA-CD on the fixed-outline cases. It is compared with the well-known open source layout planner Parquet-4.5 [17], where the floorplan is represented by the B*-tree and the simulated annealing algorithm to solve the combinatorial optimization model of floorplanning.

According to the given aspect ratio RR, the width WW^{*} and height HH^{*} of the fixed contour are calculated as [18]

W=(1+γ)A/R,H=(1+γ)AR,W^{*}=\sqrt{(1+\gamma)A/R},H^{*}=\sqrt{(1+\gamma)AR}, (21)

where AA is the summed area of all modules, and γ\gamma is the white rate defined in (20). The experiment set the white rate as γ=15%\gamma=15\%, the aspect ratio R as 1, 1.5, 2, and the population number as 5. For different aspect ratios, each experiment was independently run 10 times, and the results were shown in Table 1.

Numerical results demonstrate that FFA-CD outperforms Parquet-4.5 on cases with more than 50 modules, but runs a bit slow for some of the small cases, which is attributed to the compact floorplan of Parquet-4.5. The combinatorial floorplan implemented by Parquet-4.5 could lead to smaller HPWL and shorter runtime, but its performance would degrade significantly while the problem size increases. The iteration mechanism based on CSA ensures that FFA-CD can explore the floorplan space more efficiently. At the same time, DEA-PPM is introduced to explore the rotation strategy, which increases the flexibility of the floorplan and greatly improves the success rate of small-scale problems. Consequently, the success rate of FF-CD was better than or equal to Parquet-4.5 for all cases. Meanwhile, better results on wirelength and tuntime is obtained in several different aspect ratios for the larger-scale cases (n50-n100).

Table 1: Performance comparison for the fixed-outline cases of GSRC test problems.
GSRC R Parquet-4.5 FFA-CD
SR(%) HPWL CPU(s) SR(%) HPWL CPU(s)
n10 1.0 60 55603 0.04 100 55774 0.11
1.5 60 55824 0.04 100 56696 0.20
2.0 80 58247 0.04 90 58236 0.31
n30 1.0 100 172173 0.28 100 160208 0.41
1.5 90 173657 0.34 100 164237 0.28
2.0 100 174568 0.32 100 166133 0.54
n50 1.0 100 209343 0.68 100 185793 0.55
1.5 100 211591 0.79 100 189878 0.41
2.0 100 208311 0.78 100 195398 0.71
n100 1.0 100 334719 2.10 100 293578 0.89
1.5 100 340561 2.26 100 300079 1.05
2.0 100 347708 2.26 100 308811 1.02
n200 1.0 100 620097 9.03 100 521140 2.38
1.5 100 625069 9.07 100 529918 2.53
2.0 100 649728 9.24 100 541565 2.71
n300 1.0 100 768747 19.08 100 588118 3.73
1.5 100 787527 19.16 100 606548 3.85
2.0 100 847588 19.63 100 626658 4.21

5.2 Minimization of Wirelength and Area without Fixed-outline Constraints

For layout planning problems without fixed contour constraints, FA-GSS is used to optimize the wirelength and area. The proposed FA-GSS is compared with Parquet-4.5 and the Hybrid Simulated Annealing Algorithm (HSA) [19], where the population size is set as 5, and we get ϵ=0.2%\epsilon=0.2\%. Due to the different magnitude of wirelength and area, the cost function to minimized for the floorplanning problem without fixed outline is taken as

Cost=0.5WWmin+0.5SSmin,Cost=0.5*\frac{W}{W_{{min}}}+0.5*\frac{S}{S_{{min}}}, (22)

where WminW_{{min}} and SminS_{{min}} are the minimum values of WW and AA, respectively.

The results in Table 1 show that all examples obtain better wirelength and shorter time when the aspect ratio is 1. So, we take R=1R=1 in FA-GSS for all test cases. For benchmarks in GSRC, the average CostCost, and runtime (CPU) of ten independent runs are collected in Table 2.

Table 2: Performance comparison for the GSRC test problems without fixed-outline constraints.
GSRC Parquet-4.5 HAS FA-GSS
CostCost CPU(s) CostCost CPU(s) CostCost CPU(s)
n10 1.0885 0.03 1.0799 0.11 1.0688 0.17
n30 1.1040 0.19 1.0881 0.86 1.0959 0.69
n50 1.0871 0.47 1.0797 2.15 1.0750 1.29
n100 1.1034 1.61 1.1040 7.94 1.0648 3.53
n200 1.1301 6.23 1.1628 37.7 1.0713 8.96
n300 1.1765 12.87 1.2054 78.21 1.0715 15.13

The experimental results show that FA-GSS outperforms both Parquet-4.5 and HAS except for the n30 case. Although FA-GSS runs a bit slower than Parquet-4.5 when they are tested by the n30 case, FA-GSS has the smallest rate of increase in run time as the module size increases. This means that FA-GSS is expected to achieve excellent results on larger circuits.

6 Conclusion

In this paper, we formulate the flooplanning problem of VLSI as a mixed-variable optimization problem, where the discrete variables represent module orientations and the coordinates of modules are incorporated by continuous variables. Then, the DEA-PPM is introduced to get the module orientation, and coordinate variables are optimized by the CSA. Experimental results show that the proposed FFA-CD and FA-GSS, respectively developed for floorplanning problems with and without fixed-outline, can generally outperforms the floorplanning algorithms designed based on the B*-tree and the simulated annealing. Attributed to their low time complexity, the proposed algorithms are expected to address large-scale floorplanning problems effectively.

Acknowledgement

This research was partially supported by the National Key R& D Program of China (No.2021ZD0114600) and the Guiding Project of Scientific Research Plan of Hubei Provincial Department of Education (No. B2022394).

References

  • [1] Srinivasan B, Venkatesan R, Aljafari B, et al.: A novel multicriteria optimization technique for VLSI floorplanning based on hybridized firefly and ant colony systems. IEEE Access, 11, 14677-14692 (2023)
  • [2] Weng Yifan, Chen Zhen, Chen Jianli, et al.: A modified multi-objective simulated annealing algorithm for fixed-outline floorplanning. In: Proc of 2018 IEEE International Conference on Automation, Electronics and Electrical Engineering (AUTEEE), pp. 35-39. IEEE, Shenyang (2018)
  • [3] Chen Jianli and Zhu Wenxing.: A hybrid genetic algorithm for VLSI floorplanning. In: Proc of 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems, pp. 128-132. IEEE, Xiamen (2010)
  • [4] Du Shimin, Xia Yinshui, Chu Zhufei, ea al.: A stable fixed-outline floorplanning algorithm for soft module. Journal of Electronics & Information Technology, 36(5), 1258-1265 (2014)
  • [5] Zou Dexuan, Wang Gai-ge, Pan Gai, et al.: A modified simulated annealing algorithm and an excessive area model for floorplanning using fixed-outline constraints. Frontiers of Information Technology & Electronic Engineering, 17(11), 1228-1244 (2016)
  • [6] Ye Yin, Yin Xi, Chen Zhenyi, et al.: A novel method on discrete particle swarm optimization for fixed-outline floorplanning. In: Proc of 2020 IEEE International Conference on Artificial Intelligence and Information Systems (ICAIIS), pp.591-595. IEEE, Dalian (2020)
  • [7] Yan J Z, Chu C.: Defer: deferred decision making enabled fixed-outline floorplanning algorithm. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 29(3), 367-381 (2010)
  • [8] Ji Pengli, He Kun, Wang Zhengli, et al.: A quasi-newton-based floorplanner for fixed-outline floorplanning. Computers & Operations Research, 129(6), 105225 (2010)
  • [9] Lin J M and Hung Z X.: UFO: unified convex optimization algorithms for fixed-outline floorplanning considering pre-placed modules. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 30(7), 1034-1044. (2011)
  • [10] Huang Zhipeng, Li Xingquan and Zhu Wenxing.: Optimization models and algorithms for placement of very large scale integrated circuits. Operations Research Transactions, 25(3), 15-36 (2021)
  • [11] Li Ximeng, Peng Keyu, Huang Fuxing, et al.: PeF: poisson’s equation based large-scale fixed-outline floorplanning. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 42(6), 2002-2015 (2023)
  • [12] F. Huang, D. Liu, X. Li, B. Yu and W. Zhu: Handling orientation and aspect ratio of modules in electrostatics-based large scale fixed-outline floorplanning. In: Proc. of 2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD), pp. 1-9, IEEE, San Francisco(2023).
  • [13] Zhu Wenxing, Chen Jianli, Peng Zheng, et al.: Nonsmooth optimization method for VLSI global placement. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(4), 642-655 (2015)
  • [14] Shude Zhou, Zengqi Sun.: A survey on estimation of distribution algorithms. Acta Automatica Sinica, 02, 113-124 (2007)
  • [15] Yongjian Xu, Huabin Cheng, Ning Xu, et al.: A distribution evolutionary algorithm for the graph coloring problem. Swarm and Evolutionary Computation, 80, 101324, (2023)
  • [16] XuJie, Lu Haiyan, Zhao Jinjin, et al.: Self-adaptive gaussian keyhole imaging butterfly optimization algorithm based on latin hypercube sampling. Application Research of Computers, 39(9): 2701-2708, 2751 (2022)
  • [17] Roy J A, Adya S N, Papa D A, et al.: Min-cut floorplacement. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 25(7), 1313-1326 (2006)
  • [18] Zou Dexuan, Hao Guosheng, Pan Gai, et al.: An improved simulated annealing algorithm and area model for the fixed-outline floorplanning with hard modules . InL Proc of 2015 3rd International Symposium on Computational and Business Intelligence (ISCBI), PP. 21-25. IEEE, Bali (2015)
  • [19] Chen Jianli, Zhu Wenxing and Ali M.M, et al.: A hybrid simulated annealing algorithm for nonslicing VLSI floorplanning. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 41(4), 544-553 (2011)