CN108804793B - 最小化平均和最大移动的混合高度单元合法化方法 - Google Patents

最小化平均和最大移动的混合高度单元合法化方法 Download PDF

Info

Publication number
CN108804793B
CN108804793B CN201810542123.6A CN201810542123A CN108804793B CN 108804793 B CN108804793 B CN 108804793B CN 201810542123 A CN201810542123 A CN 201810542123A CN 108804793 B CN108804793 B CN 108804793B
Authority
CN
China
Prior art keywords
unit
row
legalization
model
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810542123.6A
Other languages
English (en)
Other versions
CN108804793A (zh
Inventor
陈建利
朱文兴
李兴权
朱自然
陈宇航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201810542123.6A priority Critical patent/CN108804793B/zh
Publication of CN108804793A publication Critical patent/CN108804793A/zh
Application granted granted Critical
Publication of CN108804793B publication Critical patent/CN108804793B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种最小化平均和最大移动的混合高度单元合法化方法,把电路表示为超图模型;将单元设置方向后,对齐到临近且正确匹配的电源轨道行上;对多倍行高标准单元进行预处理,并通过对目标函数和约束的分析和重构,将混合高度标准单元合法化模型规划为混合整数二次规划模型;将混合整数二次规划模型转换成二次规划模型;将二次规划模型转化为对应的线性互补模型;用基于模数的矩阵分裂迭代法来求解线性互补模型;进行行重分配以及对多倍行高标准单元进行复原;采用基于线性规划的方法和Kuhn‑Munkres算法对最小移动单元进行合法化。本发明提出的方法同时对所有的单元进行优化,可满足目前VLSI的混合高度标准单元合法化阶段的需求。

Description

最小化平均和最大移动的混合高度单元合法化方法
技术领域
本发明涉及VLSI混合高度标准单元合法化的自动化技术,特别是一种最小化平均和最大移动的混合高度单元合法化方法。
背景技术
随着现代电路设计的日益复杂,标准单元通常根据面积、功率和速度等特性产生不同的单元高度。例如,更高的单元能够给予更大的驱动力和更好的可布通性,以此同时需要更大的面积和功率成本。反之,较矮的单元的驱动力和可布通性较差,但所需要耗费的面积和功率成本较小。因此,为了满足各种各样的电路设计要求,混合高度标准单元的电路变得越来越流行,简单的标准单元被设计为单倍行高的结构,而复杂的标准单元被设计为多倍行高的结构。为了保持现有全局布局的质量,一个理想的合法化方法应该使平均单元移动和最大单元移动都最小化。
一个现代的布局流程通常包括三个主要阶段:(1)全局布局:允许单元之间有少量重叠,通过求解最小化线长及满足一定约束的布局问题来产生单元的最佳位置;(2)合法化:将单元对齐到行上,并消除全局布局之后遗留的重叠,目标是最小化单元的移动量(或线长增加);(3)详细布局:在合法化的基础上局部移动部分单元,进一步改善结果。由于异构的单元结构(较大的解空间)和额外的电源轨道的限制,多倍行高标准单元布局设计产生了具有挑战性的问题,特别是混合高度标准单元的合法化问题。
一般的混合高度标准单元的合法化问题是NP-难问题,因为它本质上是一个strippacking问题。Tetris和Abacus是用来解决传统的单倍行高标准单元最流行的合法化方法;然而,现有的工作表明,直接修改这两种方法不能有效的来处理混合高度标准单元的合法化问题。在单倍行高标准单元合法化中,单元的重叠在行与行之间是互相独立的。但是,在混合高度标准单元合法化中,单元的重叠在行与行之间是不独立的,即在一行中移动单元可能会导致另一行的单元重叠。因此,在合法化多倍行高的标准单元时,需要考虑多个行之间是否会有单元重叠。
现有的混合高度标准单元的合法化方法存在下列两个问题:(1)均是用启发式的方法逐个对单元进行合法化,处理问题的角度过于局部;(2)缺乏理论依据,不能很好的保证合法化的质量。(3)不能同时最小化平均和最大单元移动,现有全局布局的质量难以保证。因此,为了得到更好的合法化结果,从一个更加全局的角度来考虑该合法化问题,并设计相应的有一定理论基础的高效算法是值得考虑的。
发明内容
本发明的目的在于提供一种最小化平均和最大移动的混合高度单元合法化方法,以克服现有技术中存在的缺陷。
为实现上述目的,本发明的技术方案是:一种最小化平均和最大移动的混合高度单元合法化方法,包括如下步骤:
步骤S1:把电路表示为超图模型H={V,E};
步骤S2:将单元设置方向后,对齐到临近且正确匹配的电源轨道行上;
步骤S3:对多倍行高标准单元进行预处理,并通过对目标函数和约束的分析和重构,将混合高度标准单元合法化模型转换为一个考虑平均、最大、第二、第三大等单元移动的混合整数二次规划模型;
步骤S4:将混合整数二次规划模型转换成二次规划模型;
步骤S5:将二次规划模型转化为对应的线性互补模型;
步骤S6:用基于模数的矩阵分裂迭代法来求解线性互补模型;
步骤S7:进行行重分配以及对多倍行高标准单元进行复原;
步骤S8:采用基于线性规划的方法和Kuhn-Munkres算法对最小移动单元进行合法化。
相较于现有技术,本发明具有以下有益效果:
(1)本发明通过对目标函数和约束的分析和重构,将混合倍高单元标准合法化问题规划为一个考虑平均、最大、第二、第三大等单元移动的混合整数二次规划问题(MIQP)来保证现有全局布局的质量。
(2)根据全局布局得到的单元位置顺序并松弛布局区域的右边界约束,将混合高度标准单元的合法化问题转化为对应的LCP,它可以被现有的优化方法有效地解决。
(3)本发明对转换后的LCP中的矩阵以适当的方式进行分解,并使用MMSIM来求解转换后的LCP,该适当的矩阵分解不仅满足了MMSIM收敛的要求,同时也大大加快了计算时间。
(4)本发明是同时对所有的单元进行优化,而不是逐个单元进行优化,从一个更加全局的角度来考虑了该合法化问题。
(5)本发明可以高效的解决VLSI混合高度标准单元的合法化问题,并提供实用的合法化结果。经与修改后的ICCAD-2017CAD Contest[8]的第一名团队的算法比较,本发明能够快速地得到所有测试例子的最优解或近似最优解,其结果相较与其他方法得到的结果有了明显地改善,可满足目前VLSI混合高度标准单元合法化阶段的需求。
附图说明
图1为本发明中最小化平均和最大移动的混合高度单元合法化方法的流程图。
图2为本发明中一实施例中混合高度标准单元合法化方法示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供一种最小化平均和最大移动的混合高度单元合法化方法,如图1以及图2所示,包括如下步骤:
(1)把电路表示为超图H={V,E};
(2)将单元设置方向后对齐到较近且正确匹配的电源轨道行上;
(3)对多倍行高标准单元进行预处理,并通过对目标函数和约束的分析和重构,将混合高度标准单元合法化问题规划为一个考虑平均、最大、第二、第三大等单元移动的混合整数二次规划问题(MIQP);
(4)将MIQP转换成二次规划问题(QP);
(5)将二次规划问题转化为对应的线性互补问题(LCP);
(6)用基于模数的矩阵分裂迭代法(MMSIM)来求解LCP;
(7)行重分配和对多倍行高标准单元进行复原;
(8)采用基于线性规划的方法和Kuhn-Munkres算法对最小移动单元进行合法化。
进一步的,本发明对应的数学模型描述如下:
把电路表示为超图模型H={V,E},其中,V={v1,v2,…,vn}表示电路元件(单元)的集合,E={e1,e2,…,en}表示线网集合;对于VLSI混合高度标准单元合法化问题,布局区域是矩形薄板,它的左下角坐标为(0,0),右上角为(W,H),对于单元vi(i=1,2,…,n),记wi为其宽度,hi为其高度,(xi,yi)为其左下角坐标,(x’i,y’i)为其全局布局的左下角坐标。混合高度标准单元合法化的目标是将每个单元vi放置到坐标(xi,yi)上,使得单元总位移量最小,并且满足下列4个约束条件:1)单元必须放置在芯片内;2)单元必须位于行上的placement sites;3)单元之间必须没有任何重叠;4)单元必须与正确的电源轨道对齐。即优化以下数学模型:
Figure GDA0001789184000000041
s.t.
1)单元必须放置在芯片内;
2)单元必须位于行上的placement sites;
3)xj-xl≥wl,若xj≥xl
对所有的行,每一行上的所有单元j和l;
4)单元必须与正确的电源轨道对齐。
进一步的,本发明还提供了如下算法:
算法1子单元方向设置
输入:所有子单元对齐到正确行上的线路
输出:所有子单元在垂直方向上的方向o
Figure GDA0001789184000000042
算法2水平和竖直方向合法化
输入:矩阵:M,N,B;向量t,s(0),z(0);参数:γ,ε,σ,κ;
输出:水平和竖直方向合法化结果
Figure GDA0001789184000000043
Figure GDA0001789184000000051
进一步的,首先在竖直方向上移动单元来使其与最近匹配电源轨道对齐。此外,每个单元被分成若干个单倍高子单元。为了确定每个子单元的yi的竖直移动区间VMIi,在图2算法1中提出了一种定位算法。在算法1中,NR是电路中的行数,Ri是子单元第i行中的数目。oi,j是第j个子单元sci,j在行i中的方向。如果oi,j=1,那么子单元sci,j的方向为上,否则为下。ωi,j
Figure GDA0001789184000000052
分别是子单元sci,j的宽和初始y坐标。在算法的第2-4行,计算向上单元ru和向下单元1-ru的数量比例。第7-12行用于确定第j个子单元在Ri行的方向oi,j,如果所有的单元都被分配到最近且正确匹配电源轨道的行上了,则单元在y方向上的位移量最小。
进一步的,每一行中的单元按全局布局的左下角坐标x,排序,若在全局布局中,单元j位于单元i的右边,则x’j≥x’l,那么,考虑平均和最大单元移动最小化的混合高度标准单元的合法化问题可以松弛为:
Figure GDA0001789184000000061
Figure GDA0001789184000000068
Figure GDA0001789184000000062
Figure GDA0001789184000000063
如果ci和cj处于同一行,那么xi≤xj; (1b)
Figure GDA0001789184000000064
其中,ω是一个用户定义的参数,用来丈量平均和最大单元移动。
在步骤(3)中,将目标(1)转化为:
Figure GDA0001789184000000065
其中,αi可以视为单元ci移动的一个权重。目标(2)包括当αi分配到一个合适的值时最小化其最大单元移动,i=1,2,…,n'。
在本实施例中,如果合法化不仅可以减少最大单元移动,还包括次大移动、第三大移动等是最好的。因此,重新分配每个单元ci的移动权重ai。直观的权重设置规则是,如果ci的移动大于cj的移动,那么ai应该大于aj来减少ci的移动。αi此处表达为:
Figure GDA0001789184000000066
当κ≥-1时,与(1)中参数ω的作用相同,都是用来权衡平均单元移动和最大单元移动。如果κ>1,则注重于最小化最大单元移动;如果κ=-1,则注重于最小化平均单元移动。在式(3)中,xi和yi被设定为算法中单元ci的最新迭代结果(坐标),详见算法2。
Figure GDA0001789184000000067
单元ci初始的横坐标和纵坐标。
对于约束(1a),单元应该与正确的行对齐,以满足VDD/VSS约束。在对齐到最近的正确行后,每个单元ci的y坐标由
Figure GDA0001789184000000069
更新为y’i。理想地,如果某行的单元分布是局部稀疏的,那么这一行单元之间的重叠可以被消除;相反,如果某行的单元分布是局部密集的,那么这行中的某些单元应该被安排到别的行。这些单元应该被分配给满足以下约束条件的其他行,
Figure GDA0001789184000000071
其中,y’i:单元ci对齐到正确的行后的纵坐标;Rh:行高;
Figure GDA0001789184000000072
单元ci允许向下或向上的移动行数。
在上面的方程中,如果ci是奇数倍高,那么
Figure GDA0001789184000000073
Figure GDA0001789184000000074
如果ci是偶数倍高,那么
Figure GDA0001789184000000075
Figure GDA0001789184000000076
其次,如果在全局布局后,单元ci位于单元cj的左侧,根据约束(1b),同一行中的所有单元都按照其初始左下角x0进行排序,即
Figure GDA0001789184000000077
此外,如果单元ci和cj完全处于不同的行,那么xi和xj之间的位置约束是自由的。因此,约束(1b)可以重新定义为:
Figure GDA0001789184000000078
其中,M是一个足够大的数,设成W。如果单元ci和cj在同一行上相邻,那么zij=1;否则zij=0。
第三,对于约束(1c),每个单元ci在约束(1a)下满足0≤yi,yi+hi≤H。因此,这个约束可被移除。此外,由于我们缩小目标(2),每个单元的水平移动距离其初始位置不远,并且在边界之外的单元很少。暂时跳过右边界约束,然后将约束(1c)改为:
Figure GDA0001789184000000079
第四,在约束条件(1d)下,如果所有的单元都处于行最佳位置,那么我们只需将每个单元移动到其最近放置位置上。我们将在算法部分处理约束(1d)。
进一步的,通过目标(2)和约束(4)、(5)、(6)构成一个混合整数二次规划问题(MIQP)。
进一步的,在步骤(4)中,放松约束(4)和(5)到线性约束。相应地,MIQP也被放松到二次规划问题。为了使用MMSIM求解器,将所有多倍高单元分割成单倍高单元。然后将混合倍高单元C={c1,c2,…,cn'}分裂成单倍高子单元SC={sc1,sc2,…,scn},这些单倍高子单元应满足:
Figure GDA0001789184000000081
Figure GDA0001789184000000082
其中,一个ri倍高单元分裂成子单元sci1,sci2,……,sciri,ri=hi/Rh。单元分裂后,目标(2)转换成
Figure GDA0001789184000000083
为了获取更好的合法化结果,子单元可能会被重新分配到其他行,将子单元sci的yi范围从整数放宽到连续实数,即
Figure GDA0001789184000000084
此时
Figure GDA0001789184000000085
由于子单元sci的移动范围
Figure GDA0001789184000000086
太大,一种加速方式是通过限制每个子单元sci在竖直方向(向上或向下)上的移动方向。所以,sci的约束(9)限制为:
Figure GDA0001789184000000087
其中,
Figure GDA0001789184000000088
Figure GDA0001789184000000089
用来控制yi的范围。相应地,子单元sci的竖直移动区间VMIi
Figure GDA00017891840000000810
Figure GDA00017891840000000811
子单元方向的设置在算法1中详细说明。接着,将混合整数约束(5)放宽为线性约束。根据约束条件(5),如果
Figure GDA00017891840000000812
并且sci和scj相邻,则xi+wi≤xj+M(1-zij),zij∈{0,1}表示两个相邻子单元sci和scj是否在同一行。由于所以子单元都有相同的高度,都等于行高,即hi=Rh,zijRh反映了子单元sci和scj在竖直方向上的重叠长度。如果zij=1,即|yi-yj|=0,那么竖直重叠长度就是Rh;如果zij=0,即|yi-yj|≥Rh,那么竖直重叠长度就是0。子单元sci和scj的竖直重叠长度为
zijRh=max{Rh-|yi-yj|,0}
所以,对两个相邻子单元sci和scj
Figure GDA0001789184000000091
Figure GDA0001789184000000092
由式(11),整型变量zij被放宽为连续变量。此外,由于每个子单元sci的VMIi是可预先计算的,如果
Figure GDA0001789184000000093
那么不需要考虑约束(12)。比如子单元sc2和sc5
Figure GDA0001789184000000094
Figure GDA0001789184000000095
反之对子单元sci和scj,如果
Figure GDA0001789184000000096
那么检查sci和scj是否相邻。
观察约束(12)可以看出,由于绝对值函数和最小值函数约束仍难以处理。应该通过消除绝对值和最小值函数来进一步转化成线性约束。
对两个相邻的子单元sci和scj来说,当
Figure GDA0001789184000000097
时,存在四种可能的情况:(1)sci和scj在同一行且有相同的方向;(2)sci和scj在同一行有不同的方向;(3)sci和scj在不同的行有相同的方向;(4)sci和scj在不同的行且方向不同。
对于案例(2)和(3),yi和yj之间的关系是已知的。如果yi≤yj,那么|yi-yj|=yj-yi,如果yi>yj,那么|yi-yj|=yi-yj。但是,对于案例(1)和(4),不能确定yi和yj之间哪个更大。对于这两种情况,用初始y坐标来确定|yi-yj|的值。即如果
Figure GDA0001789184000000098
那么|yi-yj|=yj-yi,否则|yi-yj|=yi-yj
在本实施例中,引入一个符号
Figure GDA0001789184000000099
来表示yi和yj的操作符,并令:
Figure GDA00017891840000000910
此外,如果
Figure GDA00017891840000000911
的最大值为2,令
Figure GDA00017891840000000912
经过这些转变后,对于两个相邻子单元sci和scj,约束(12)缩减成
Figure GDA0001789184000000101
最后,在约束(14)中,M很大并且
Figure GDA0001789184000000102
是一个实数而不是整数如果yiΘyj>0那么
Figure GDA0001789184000000103
由于M会太大,且约束(14)可能无法解决子单元sci和scj之间的水平重叠。此外,为了目标(2),为了让xi与xi 0不会差别太大,另M=βij·(ωij)。这里的βij是一个用户定义参数,用来控制M的值。目前为止,混合高度标准单元合法化问题已被重构为二次规划问题(QP):
Figure GDA0001789184000000104
Figure GDA0001789184000000105
如果
Figure GDA0001789184000000106
sci和scj是相邻的,且
Figure GDA0001789184000000107
Figure GDA0001789184000000108
Figure GDA0001789184000000109
Figure GDA00017891840000001010
Figure GDA00017891840000001011
来自同一个单元(16d)
其中,βij:人为设定参数;VMIi:单元ci允许竖直方向移动的区间;oi:单元ci的竖直移动的方向,向上或者向下;ri:单元ci的行数;sci,为单元集合SC的子单元。
在本实施例中,步骤(5)中,为保证MMSIM的收敛性,要求目标矩阵为对称正定且约束矩阵为满秩。由于不等式约束较多,求解大规模二次规划问题通常是耗时的,因此将QP(16)转化为LCP,并通过模块化矩阵分解迭代法(MMSIM)求解LCP。为保证MMSIM的收敛性,要求目标矩阵为对称正定且约束矩阵为满秩。
x=(x1,x2,···,xn)T,y=(y1,y2,···,yn)T,
Figure GDA00017891840000001012
问题(16)可以重写为:
Figure GDA00017891840000001013
s.t.Aμ≥b; (17a)
d≤y≤dμ; (17b)
x≥0; (17c)
Eμ=f, (17d)
其中,Q是一个带有元素qi的对角矩阵,
Figure GDA0001789184000000111
i=1,2,···,n;p是一个向量,
Figure GDA0001789184000000112
i=1,2,···,n;
Figure GDA0001789184000000113
i=n+1,n+2,···,2n;A是一个每一行分别只有四个非零元素1,-1,
Figure GDA0001789184000000114
Figure GDA0001789184000000115
的重叠约束矩阵。为了获得均匀边界约束
Figure GDA0001789184000000116
Figure GDA0001789184000000117
于是有
Figure GDA0001789184000000118
Figure GDA0001789184000000119
Figure GDA00017891840000001110
Figure GDA00017891840000001111
Figure GDA00017891840000001112
其中,I是一个单位矩阵,元素
Figure GDA00017891840000001113
由p,b,f修正变换得到。为了保证约束矩阵是满秩的,我们通过将
Figure GDA00017891840000001114
赋值给
Figure GDA00017891840000001115
来增加变量。于是约束(18b)就变成
Figure GDA00017891840000001116
Figure GDA00017891840000001117
来表示
Figure GDA00017891840000001118
通过这种方式,约束(18a)和
Figure GDA00017891840000001119
组成一个不等式约束的新系统,约束(18d)和
Figure GDA00017891840000001120
构建其他新的等式约束条件。
Figure GDA00017891840000001121
然后描述了二次规划问题的标准形式如下:
Figure GDA0001789184000000121
Figure GDA0001789184000000122
Figure GDA0001789184000000123
Figure GDA0001789184000000124
对问题(19),通过将一个惩罚参数λ>0放入目标来放宽约束(19b)。新QP的定义为:
Figure GDA0001789184000000125
Figure GDA0001789184000000126
Figure GDA0001789184000000127
命题1:在问题(20)中,
Figure GDA0001789184000000128
是一个对称正定矩阵。
证明:首先,
Figure GDA0001789184000000129
是一个所有元素都不小于0的对角矩阵,
Figure GDA00017891840000001210
是一个对称半正定矩阵。因此
Figure GDA00017891840000001211
是一个对称半正定矩阵。此外,根据
Figure GDA00017891840000001212
的结构,存在一系列的初等矩阵P1,P2…Ps,使得
Figure GDA00017891840000001213
∧是一个所有非零元素为正的对角矩阵。令P=P1,P2…Ps,P是一个可逆矩阵。
Figure GDA00017891840000001219
就成为了一个∧的合同矩阵。由于∧是一个正定矩阵,通过合同变换的性质,
Figure GDA00017891840000001214
是正定的。
命题2:在问题(20)中,如果所有子单元
Figure GDA00017891840000001215
那么矩阵
Figure GDA00017891840000001216
满秩。
证明:由A和-I组成的
Figure GDA00017891840000001217
是一个块对角矩阵。由于I是一个单位矩阵,-I满秩。接下来,证明矩阵A是满行秩的。首先,μ的变量数量是2n,等价于A的列数。假设A是一个m×2n的矩阵。一方面,根据约束(16a),可知A的每一行都有一个值为1的元素。另一方面,如果所有子单元有
Figure GDA00017891840000001218
那么所有子单元只在两行之间移动。同时,如果一个子单元sci只能在两行之间移动,那么在sci的左边最多有两个子单元相邻。换句话说,根据约束(17a),在矩阵A的第i列中至多有两个值为1的元素。这个要求适用于每一列。因此,A最多有2n行,即m≤m×2n。此外,每行中只有四个非零元素,每列中最多有四个非零元素。可以将包含两个1元素的列组成一个m阶矩阵。通过在x和y方向上分别固定子单元的顺序和基本的变换,这个m阶矩阵可进一步转化成上三角矩阵,其中所有的对角元素都是正的。因此,A是全行秩。并且
Figure GDA0001789184000000131
也是全行秩。
在本实施例中,每个子单元的
Figure GDA0001789184000000132
Figure GDA0001789184000000133
都被设为1。由命题(1)和(2),当且仅当存在向量r,u,v≥0使得四元组
Figure GDA0001789184000000134
r,u,v)满足以下KKT条件时,
Figure GDA0001789184000000135
是问题(20)的全局最小解。
ω=Bz+t≥0,z≥0,zTω=0, (21)
其中,
Figure GDA0001789184000000136
问题(21)是一个线性互补问题。根据以上的分析,可以获得以下定理。
定理1:LCP(21)的解给出了QP(20)的最优解,反之亦然。
在预处理步骤中,首先在竖直方向上移动单元来使其与最近正确行(满足VDD/VSS对齐约束)对齐。此外,每个单元被分成若干个单倍高子单元。为了确定每个子单元的yi的竖直移动区间VMIi,在算法1中提出了一种定位算法。在算法1中,NR是电路中的行数,Ri是子单元第i行中的数目。oi,j是第j个子单元sci,j在行i中的方向。如果oi,j=1,那么子单元sci,j的方向为上,否则为下。ωi,j
Figure GDA0001789184000000137
分别是子单元sci,j的宽和初始y坐标。在算法的第2-4行,计算向上单元ru和向下单元1-ru的数量比例。第7-12行用于确定第j个子单元在Ri行的方向oi,j
进一步的,步骤(6)中,MMSIM解决方案在算法2中进行描述。在算法2中,MMSIM迭代在第1-9行中声明,选择分割矩阵M和N如下:
Figure GDA0001789184000000138
Figure GDA0001789184000000139
Figure GDA00017891840000001310
其中
Figure GDA00017891840000001311
可用通过分块对角矩阵求逆快速计算出来,β**是两个正常量。经过算法2后,所有的多倍高单元都被重置。可以获得下面这个定理:
定理2:对所有初始变量
Figure GDA0001789184000000141
算法2生成的迭代序列
Figure GDA0001789184000000142
收敛成问题(20)的唯一解
Figure GDA0001789184000000143
在水平方向和竖直方向合法化之后,由于行分配的舍入误差,仍然存在一些重叠部分。此外,每个单元必须对齐到放置位置。在水平方向合法化步骤中,首先将每个单元对齐到最近的放置位置。在此之后,如果单元ci与其他单元不重叠,则ci的位置将被固定;否则,为了减少单元的重叠,采用线性规划的方法来最小化单元移动。
在本实施例中,步骤(7)中,通过算法2中的第10-16行将每个单元对齐到最近的放置位置。在此之后,如果单元ci与其他单元不重叠,则ci的位置将被固定;否则,为了减少单元的重叠,采用线性规划的方法来最小化单元移动。
给定一个所有单元都对齐至正确行和放置位置的电路,单元ci的坐标为(x″i,y″i)。令OC为仍与其他单元重叠的单元组。对OC中的单元,考虑以下问题:
Figure GDA0001789184000000144
Figure GDA0001789184000000145
当ci,cj在同一行相邻,且ci在cj的左边; (23a)
Figure GDA0001789184000000146
Figure GDA0001789184000000147
其中cr是每一行中最右的单元。问题(23)可以重新定义为以下线性规划(LP):
Figure GDA0001789184000000148
Figure GDA0001789184000000149
当ci,cj在同一行相邻,且ci在cj的左边; (24a)
Figure GDA00017891840000001410
Figure GDA00017891840000001411
Figure GDA00017891840000001412
Figure GDA00017891840000001413
在求解LP(24)之前,许多单元都是自由重叠的,因此(24)中的变量个数不会太多。此外,一个好的初始解决方案,只需要在几个迭代中执行LP解决方案。在解决了LP(24)之后,每个单元都会被对齐到最近的放置位置。与此同时,如果一个单元与其他单元重叠或者脱离了正确的边界,那么这个单元被标记为非法单元。对每个非法单元,搜索所有可能的空白空间。然后,构造一个非法单元和空白空间的二分图,并应用运行时间在
Figure GDA0001789184000000151
之内的Kuhn-Munkres算法来找非法单元和空白空间的最佳匹配,其中nill是非法单元的数目。在上述操作之后,所有的单元都被合法地放置在芯片区域。
进一步的,在步骤(8)中,对每个非法单元,搜索所有可能的空白空间。然后,构造一个非法单元和空白空间的二分图,并应用运行时间在
Figure GDA0001789184000000152
之内的Kuhn-Munkres算法来找非法单元和空白空间的最佳匹配,其中nill是非法单元的数目。在上述操作之后,所有的单元都被合法地放置在芯片区域。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (6)

1.一种最小化平均和最大移动的混合高度单元合法化方法,其特征在于,包括如下步骤:
步骤S1:把电路表示为超图模型H={V,E};
步骤S2:将单元设置方向后,对齐到临近且正确匹配的电源轨道行上;
步骤S3:对多倍行高标准单元进行预处理,并通过对目标函数和约束的分析和重构,将混合高度标准单元合法化模型转换为一个考虑平均、最大单元移动的混合整数二次规划模型;
在所述步骤S3中,所述混合整数二次规划问题对应的目标为:
Figure FDA0003303713910000011
所述混合整数二次规划问对应的约束为:
Figure FDA0003303713910000012
xii≤xj+M(1-zij),zij∈{0,1},当
Figure FDA0003303713910000013
Figure FDA0003303713910000014
其中,αi:预设参数;xi,yi:单元ci当前的横坐标和纵坐标;
Figure FDA0003303713910000015
单元ci初始的横坐标和纵坐标;y′i:单元ci对齐到正确的行后的纵坐标;Rh:行高;
Figure FDA0003303713910000016
单元ci允许向下或向上的移动行数;wi:单元ci的宽度;M:预设常数;
步骤S4:将混合整数二次规划模型转换成二次规划模型;
在所述步骤S4中,所述二次规划模型的目标为:
Figure FDA00033037139100000110
所述二次规划模型的约束为:
Figure FDA0003303713910000017
如果
Figure FDA0003303713910000018
sci和scj是相邻的,且
Figure FDA0003303713910000019
Figure FDA0003303713910000021
Figure FDA0003303713910000022
Figure FDA0003303713910000023
Figure FDA0003303713910000024
sci1,···,scir来自同一个单元
其中,βij:人为设定参数;VMIi:单元ci允许竖直方向移动的区间;oi:单元ci的竖直移动的方向,向上或者向下;ri:单元ci的行数;sci,为单元集合SC的子单元;
步骤S5:将二次规划模型转化为对应的线性互补模型;
步骤S6:用基于模数的矩阵分裂迭代法来求解线性互补模型;
步骤S7:进行行重分配以及对多倍行高标准单元进行复原;
步骤S8:采用基于线性规划的方法和Kuhn-Munkres算法对最小移动单元进行合法化。
2.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S1中,对于所述超图模型H={V,E},V={v1,v2,…,vn}表示电路单元的集合,E={e1,e2,…,en}表示线网集合;对于VLSI混合高度标准单元合法化模型,布局区域是矩形薄板,它的左下角坐标为(0,0),右上角为(W,H);对于单元vi(i=1,2,…,n),记wi为其宽度,hi为其高度,(xi,yi)为其左下角坐标,(x’i,y’i)为其全局布局的左下角坐标。
3.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S2中,在竖直方向上移动单元来使其与最近匹配电源轨道对齐,
每个单元被分成若干个单倍高子单元,并通过如下方式确定每个子单元的yi的竖直移动区间VMIi:记NR是电路中的行数,Ri是子单元第i行中的数目,oi,j是第j个子单元sci,j在行i中的方向;如果oi,j=1,那么子单元sci,j的方向为上,否则为下;ωi,j
Figure FDA0003303713910000031
分别是子单元sci,j的宽和初始y坐标;计算i+1到NR行的平均密度
Figure FDA0003303713910000032
和0到i-1行的平均密度
Figure FDA0003303713910000033
通过如下方式计算向上单元ru和向下单元1-ru的数量比例:
Figure FDA0003303713910000034
令:Wu=ωi,o,oi,o=1,Wd=ωi,1,oi,1=0,通过如下逻辑确定第j个子单元在Ri行的方向oi,j,直到所有的单元都被分配到最近且正确匹配电源轨道的行上:若
Figure FDA0003303713910000035
则令Wu=Wui,j,oi,j=1,否则,令Wd=Wdi,j,oi,j=0;若
Figure FDA0003303713910000036
则令oi,j-1=1,oi,j=0;若oi,j-1(1-oi,j)>0,
Figure FDA0003303713910000037
则令oi,j-1=0,oi,j=1。
4.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S5中,所述线性互补模型的目标为:
Figure FDA0003303713910000038
所述线性互补模型的约束为:
Figure FDA0003303713910000039
Figure FDA00033037139100000310
其中,
Figure FDA00033037139100000311
Q是一个带有元素qi的对角矩阵,
Figure FDA00033037139100000312
p是一个向量,
Figure FDA00033037139100000313
A是一个每一行分别只有四个非零元素1,-1,
Figure FDA00033037139100000314
Figure FDA00033037139100000315
的重叠约束矩阵;为了获得均匀边界约束
Figure FDA0003303713910000041
Figure FDA0003303713910000042
元素
Figure FDA0003303713910000043
由p、b、f修正变换得到。
5.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S8中,先将每个单元对齐到最近的放置位置;如果单元ci与其他单元不重叠,则ci的位置将被固定;否则,为了减少单元的重叠,采用如下线性规划的方法来最小化单元移动,记cr是每一行中最右的单元:
Figure FDA0003303713910000044
Figure FDA0003303713910000045
当ci,cj在同一行相邻,且ci在cj的左边;
Figure FDA0003303713910000046
Figure FDA0003303713910000047
Figure FDA0003303713910000048
Figure FDA0003303713910000049
其中,xmax:所有单元在水平方向上的最大移动;W:布局区域的宽度;xi″:单元ci对齐到正确的行之后的横坐标;wi:单元ci的宽度;xi:单元ci当前的横坐标;xr为单元cr的横坐标;ωr为单元cr的宽度;cr为每一行中最右边的单元。
6.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S8中,如果一个单元与其他单元重叠或者脱离了正确的边界,记这个单元被标记为非法单元;对每个非法单元,搜索所有可能的空白空间,构造一个非法单元和空白空间的二分图,并应用运行时间在
Figure FDA00033037139100000410
之内的Kuhn-Munkres算法来找非法单元和空白空间的最佳匹配,其中,nill是非法单元的数目;将所有的单元都被合法地放置在芯片区域。
CN201810542123.6A 2018-05-30 2018-05-30 最小化平均和最大移动的混合高度单元合法化方法 Expired - Fee Related CN108804793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810542123.6A CN108804793B (zh) 2018-05-30 2018-05-30 最小化平均和最大移动的混合高度单元合法化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810542123.6A CN108804793B (zh) 2018-05-30 2018-05-30 最小化平均和最大移动的混合高度单元合法化方法

Publications (2)

Publication Number Publication Date
CN108804793A CN108804793A (zh) 2018-11-13
CN108804793B true CN108804793B (zh) 2021-11-26

Family

ID=64090983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810542123.6A Expired - Fee Related CN108804793B (zh) 2018-05-30 2018-05-30 最小化平均和最大移动的混合高度单元合法化方法

Country Status (1)

Country Link
CN (1) CN108804793B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684745B (zh) * 2018-12-27 2020-04-07 北京华大九天软件有限公司 基于最小宽度约束的6t&6tppnn单元布局方法
CN111539166A (zh) * 2020-04-23 2020-08-14 福州立芯科技有限公司 考虑先进制程约束的混合行高标准单元电路合法化方法
CN112199920B (zh) * 2020-12-04 2021-03-09 南京集成电路设计服务产业创新中心有限公司 一种布局方法、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063559A (zh) * 2014-07-08 2014-09-24 领佰思自动化科技(上海)有限公司 大规模集成电路分布计算的布局合法化方法及其系统
CN104600699A (zh) * 2015-01-27 2015-05-06 清华大学 一种基于混合整数二次规划模型的配电网结构估计方法
CN106971042A (zh) * 2017-03-31 2017-07-21 福州大学 一种用于混合高度标准单元电路设计的合法化方法
CN108073754A (zh) * 2016-11-18 2018-05-25 台湾积体电路制造股份有限公司 设计布局的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224681B2 (en) * 2007-10-15 2012-07-17 University Of Southern California Optimizing a security patrolling strategy using decomposed optimal Bayesian Stackelberg solver
US10275559B2 (en) * 2016-11-18 2019-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Method for legalizing mixed-cell height standard cells of IC

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063559A (zh) * 2014-07-08 2014-09-24 领佰思自动化科技(上海)有限公司 大规模集成电路分布计算的布局合法化方法及其系统
CN104600699A (zh) * 2015-01-27 2015-05-06 清华大学 一种基于混合整数二次规划模型的配电网结构估计方法
CN108073754A (zh) * 2016-11-18 2018-05-25 台湾积体电路制造股份有限公司 设计布局的方法
CN106971042A (zh) * 2017-03-31 2017-07-21 福州大学 一种用于混合高度标准单元电路设计的合法化方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
4 种VLSI 标准单元初始布局生成算法及其比较;陈雄峰,李维国,陈建利;《闽江学院学报》;20120930;第33卷(第5期);第56-65页 *
A3MAP: Architecture-Aware Analytic Mapping for Networks-on-Chip;Jang W , Pan D Z .;《Asia South Pacific Design Automation Conference. ACM, 2010》;20101231;第1-22页 *
Toward Optimal Legalization for Mixed-Cell-Height Circuit Designs;Chen J , Zhu Z , Zhu W , et al.;《the 54th Annual Design Automation Conference 2017. IEEE, 2017》;20170618;第1-6页 *
互连驱动的片上系统布图规划算法的研究;何鸥;《中国博士学位论文全文数据库信息科技辑》;20121115;第I138-6目 *
力驱动三维FPGA布局算法;隋文涛,董社勤,边计年;《计算机辅助设计与图形学学报》;20111031;第23卷(第10期);第1665-1671页 *
考虑重叠度和线长的单元密度平滑方法;刘大为,周强,边计年;《计算机辅助设计与图形学学报》;20100430;第22卷(第4期);第676-681、688页 *

Also Published As

Publication number Publication date
CN108804793A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108804793B (zh) 最小化平均和最大移动的混合高度单元合法化方法
US5225991A (en) Optimized automated macro embedding for standard cell blocks
US6931617B2 (en) Mask cost driven logic optimization and synthesis
Chen et al. A high-quality mixed-size analytical placer considering preplaced blocks and density constraints
Li et al. Analytical mixed-cell-height legalization considering average and maximum movement minimization
Liu et al. Global placement with deep learning-enabled explicit routability optimization
Audoux et al. A surrogate model based on Non-Uniform Rational B-Splines hypersurfaces
WO1998012649A1 (en) Circuit layout technique with template-driven placement using fuzzy logic
Wu et al. A dynamical neural network approach for solving stochastic two-player zero-sum games
Yang et al. Solving the traveling salesman problem with a multi-agent system
TWI559161B (zh) 產生電源供應網路模型之方法,以及電源供應網路模型分析 方法與裝置
Ren et al. Standard cell routing with reinforcement learning and genetic algorithm in advanced technology nodes
US20080134105A1 (en) Apparatus, method and program for designing integrated circuit
Ward et al. Structure-aware placement techniques for designs with datapaths
Jiang et al. Analytical target cascading using ensemble of surrogates for engineering design problems
CN114970435A (zh) 一种两步模迭代法应用于混合尺寸单元电路设计
Xiu et al. Timing-driven placement by grid-warping
Hamza et al. Vehicle crashworthiness design via a surrogate model ensemble and a co-evolutionary genetic algorithm
CN115114880A (zh) 一种加速的牛顿分裂迭代法应用于混合尺寸单元电路布局方法
Shao Toward a structured approach to simulation-based engineering design under uncertainty
Liu Surrogate-Assisted Unified Optimization Framework for Investigating Marine Structural Design Under Information Uncertainty.
Schurmann et al. Three-phase chip planning-an improved top-down chip planning strategy
Aeeni Development of an open-source multi-objective optimization toolbox
Mori Proposal to Optimizing Design Using [a, b] Analysis Considering Interaction for Design Matrices Experiment
DE102018115219A1 (de) Systeme und Verfahren zur Abbildung von Reduktionsoperationen

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20211126

CF01 Termination of patent right due to non-payment of annual fee