CN108804793A - 最小化平均和最大移动的混合高度单元合法化方法 - Google Patents
最小化平均和最大移动的混合高度单元合法化方法 Download PDFInfo
- Publication number
- CN108804793A CN108804793A CN201810542123.6A CN201810542123A CN108804793A CN 108804793 A CN108804793 A CN 108804793A CN 201810542123 A CN201810542123 A CN 201810542123A CN 108804793 A CN108804793 A CN 108804793A
- Authority
- CN
- China
- Prior art keywords
- unit
- model
- row
- units
- cell
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 36
- 230000033001 locomotion Effects 0.000 claims abstract description 30
- 230000000295 complement effect Effects 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims abstract description 3
- 230000009087 cell motility Effects 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- KRQUFUKTQHISJB-YYADALCUSA-N 2-[(E)-N-[2-(4-chlorophenoxy)propoxy]-C-propylcarbonimidoyl]-3-hydroxy-5-(thian-3-yl)cyclohex-2-en-1-one Chemical compound CCC\C(=N/OCC(C)OC1=CC=C(Cl)C=C1)C1=C(O)CC(CC1=O)C1CCCSC1 KRQUFUKTQHISJB-YYADALCUSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design 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)单元必须与正确的电源轨道对齐。即优化以下数学模型:
s.t.
1)单元必须放置在芯片内;
2)单元必须位于行上的placement sites;
3)xj-xl≥wl,若xj≥xl
对所有的行,每一行上的所有单元j和l;
4)单元必须与正确的电源轨道对齐。
进一步的,本发明还提供了如下算法:
算法1子单元方向设置
输入:所有子单元对齐到正确行上的线路
输出:所有子单元在垂直方向上的方向o
算法2水平和竖直方向合法化
输入:矩阵:M,N,B;向量t,s(0),z(0);参数:γ,ε,σ,κ;
输出:水平和竖直方向合法化结果
进一步的,首先在竖直方向上移动单元来使其与最近匹配电源轨道对齐。此外,每个单元 被分成若干个单倍高子单元。为了确定每个子单元的yi的竖直移动区间VMIi,在图2算法1中 提出了一种定位算法。在算法1中,NR是电路中的行数,Ri是子单元第i行中的数目。oi,j是 第j个子单元sci,j在行i中的方向。如果oi,j=1,那么子单元sci,j的方向为上,否则为下。ωi,j, 分别是子单元sci,j的宽和初始y坐标。在算法的第2-4行,计算向上单元ru和向下单元1-ru的数量比例。第7-12行用于确定第j个子单元在Ri行的方向oi,j,如果所有的单元都被分配到 最近且正确匹配电源轨道的行上了,则单元在y方向上的位移量最小。
进一步的,每一行中的单元按全局布局的左下角坐标x′排序,若在全局布局中,单元j位 于单元i的右边,则x′j≥x′l,那么,考虑平均和最大单元移动最小化的混合高度标准单元的合 法化问题可以松弛为:
如果ci和cj处于同一行,那么xi≤xj; (1b)
其中,ω是一个用户定义的参数,用来丈量平均和最大单元移动。
在步骤(3)中,将目标(1)转化为:
其中,αi可以视为单元ci移动的一个权重。目标(2)包括当αi分配到一个合适的值时最小 化其最大单元移动,i=1,2,…,n'。
在本实施例中,如果合法化不仅可以减少最大单元移动,还包括次大移动、第三大移动等 是最好的。因此,重新分配每个单元ci的移动权重ai。直观的权重设置规则是,如果ci的移动 大于cj的移动,那么ai应该大于aj来减少ci的移动。αi此处表达为:
当κ≥-1时,与(1)中参数ω的作用相同,都是用来权衡平均单元移动和最大单元移动。 如果κ>1,则注重于最小化最大单元移动;如果κ=-1,则注重于最小化平均单元移动。在式 (3)中,xi和yi被设定为算法中单元ci的最新迭代结果(坐标),详见算法2。单元ci初始的横坐标和纵坐标。
对于约束(1a),单元应该与正确的行对齐,以满足VDD/VSS约束。在对齐到最近的正确 行后,每个单元ci的y坐标由更新为yi'。理想地,如果某行的单元分布是局部稀疏的,那么 这一行单元之间的重叠可以被消除;相反,如果某行的单元分布是局部密集的,那么这行中的 某些单元应该被安排到别的行。这些单元应该被分配给满足以下约束条件的其他行,
其中,y′i:单元ci对齐到正确的行后的纵坐标;Rh:行高;单元ci允许向下或向上的 移动行数。
在上面的方程中,如果ci是奇数倍高,那么
且
如果ci是偶数倍高,那么
且
其次,如果在全局布局后,单元ci位于单元cj的左侧,根据约束(1b),同一行中的所有单 元都按照其初始左下角x0进行排序,即此外,如果单元ci和cj完全处于不同的行, 那么xi和xj之间的位置约束是自由的。因此,约束(1b)可以重新定义为:
其中,M是一个足够大的数,设成W。如果单元ci和cj在同一行上相邻,那么zij=1;否 则zij=0。
第三,对于约束(1c),每个单元ci在约束(1a)下满足0≤yi,yi+hi≤H。因此,这个约束 可被移除。此外,由于我们缩小目标(2),每个单元的水平移动距离其初始位置不远,并且在 边界之外的单元很少。暂时跳过右边界约束,然后将约束(1c)改为:
第四,在约束条件(1d)下,如果所有的单元都处于行最佳位置,那么我们只需将每个单 元移动到其最近放置位置上。我们将在算法部分处理约束(1d)。
进一步的,通过目标(2)和约束(4)、(5)、(6)构成一个混合整数二次规划问题(MIQP)。
进一步的,在步骤(4)中,放松约束(4)和(5)到线性约束。相应地,MIQP也被放松到二 次规划问题。为了使用MMSIM求解器,将所有多倍高单元分割成单倍高单元。然后将混合倍高 单元C={c1,c2,…,cn'}分裂成单倍高子单元SC={sc1,sc2,…,scn},这些单倍高子单元应满足:
其中,一个ri倍高单元分裂成子单元ri=hi/Rh。单元分裂后,目 标(2)转换成
为了获取更好的合法化结果,子单元可能会被重新分配到其他行,将子单元sci的yi范围从 整数放宽到连续实数,即
此时
由于子单元sci的移动范围太大,一种加速方式是通过限制每个子 单元sci在竖直方向(向上或向下)上的移动方向。所以,sci的约束(9)限制为:
其中,和用来控制yi的范围。相应地,子单元sci的竖直移动区间VMIi为或子单元方向的设置在算法1中详细说明。接着,将混合整 数约束(5)放宽为线性约束。根据约束条件(5),如果并且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:
如果
由式(11),整型变量zij被放宽为连续变量。此外,由于每个子单元sci的VMIi是可预先计 算的,如果那么不需要考虑约束(12)。比如子单元sc2和sc5, 反之对子单元sci和scj,如果那么检查sci和scj是否相邻。
观察约束(12)可以看出,由于绝对值函数和最小值函数约束仍难以处理。应该通过消除 绝对值和最小值函数来进一步转化成线性约束。
对两个相邻的子单元sci和scj来说,当时,存在四种可能的情况:(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|的值。即如果那么|yi-yj|=yj-yi, 否则|yi-yj|=yi-yj。
在本实施例中,引入一个符号来表示yi和yj的操作符,并令:
此外,如果的最大值为2,令经过这些转变后,对于两个相 邻子单元sci和scj,约束(12)缩减成
最后,在约束(14)中,M很大并且是一个实数而不是整数如果yiΘyj>0那么由于M会太大,且约束(14)可能无法解决子单元sci和scj之间的水平重叠。此外,为了目标(2),为了让xi与xi 0不会差别太大,另M=βij·(ωi+ωj)。这里的βij是一个用户定义 参数,用来控制M的值。目前为止,混合高度标准单元合法化问题已被重构为二次规划问题(QP):
如果和scj是相邻的,且
来自同一个单元(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,问题(16)可以重写为:
s.t.Aμ≥b; (17a)
d≤y≤dμ; (17b)
x≥0; (17c)
Eμ=f, (17d)
其中,Q是一个带有元素qi的对角矩阵,p是一个向量,A是一个每一行分别只有四个非零元 素1,-1,和的重叠约束矩阵。为了获得均匀边界约束令于是有
其中,I是一个单位矩阵,元素由p,b,f修正变换得到。为了保证约束矩阵是满秩的, 我们通过将赋值给y来增加变量。于是约束(18b)就变成令来表示通过这种方式,约束(18a)和-Iy≥d-du组成一个不等式约束的新系统,约 束(18d)和-Iy≥d-du构建其他新的等式约束条件。
令
然后描述了二次规划问题的标准形式如下:
对问题(19),通过将一个惩罚参数λ>0放入目标来放宽约束(19b)。新QP的定义为:
命题1:在问题(20)中,是一个对称正定矩阵。
证明:首先,是一个所有元素都不小于0的对角矩阵,是一个对称半正定矩阵。 因此是一个对称半正定矩阵。此外,根据的结构,存在一系列的初等矩阵 P1,P2…Ps,使得∧是一个所有非零元素为正的对角 矩阵。令P=P1,P2…Ps,P是一个可逆矩阵。就成为了一个∧的合同矩阵。由于∧是一 个正定矩阵,通过合同变换的性质,是正定的。
命题2:在问题(20)中,如果所有子单元那么矩阵满秩。
证明:由A和-I组成的是一个块对角矩阵。由于I是一个单位矩阵,-I满秩。
接下来,证明矩阵A是满行秩的。首先,μ的变量数量是2n,等价于A的列数。假设A是一个 m×2n的矩阵。一方面,根据约束(16a),可知A的每一行都有一个值为1的元素。另一方面, 如果所有子单元有那么所有子单元只在两行之间移动。同时,如果一个子单元sci只 能在两行之间移动,那么在sci的左边最多有两个子单元相邻。换句话说,根据约束(17a),在 矩阵A的第i列中至多有两个值为1的元素。这个要求适用于每一列。因此,A最多有2n行, 即m≤m×2n。此外,每行中只有四个非零元素,每列中最多有四个非零元素。可以将包含两个 1元素的列组成一个m阶矩阵。通过在x和y方向上分别固定子单元的顺序和基本的变换,这 个m阶矩阵可进一步转化成上三角矩阵,其中所有的对角元素都是正的。因此,A是全行秩。 并且也是全行秩。
在本实施例中,每个子单元的和都被设为1。由命题(1)和(2),当且仅当存在向量 r,u,v≥0使得四元组满足以下KKT条件时,是问题(20)的全局最小解。
ω=Bz+t≥0,z≥0,zTω=0, (21)
其中,问题(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,分别是子单元sci,j的宽和初始y坐标。在算法的第2-4行,计 算向上单元ru和向下单元1-ru的数量比例。第7-12行用于确定第j个子单元在Ri行的方向 oi,j。
进一步的,步骤(6)中,MMSIM解决方案在算法2中进行描述。在算法2中,MMSIM迭代在 第1-9行中声明,选择分割矩阵M和N如下:
其中可用通过分块对角矩阵求逆快速计算出来, β*,θ*是两个正常量。经过算法2后,所有的多倍高单元都被重置。可以获得下面这个定理:
定理2:对所有初始变量算法2生成的迭代序列收敛成问题(20) 的唯一解
在水平方向和竖直方向合法化之后,由于行分配的舍入误差,仍然存在一些重叠部分。此 外,每个单元必须对齐到放置位置。在水平方向合法化步骤中,首先将每个单元对齐到最近的 放置位置。在此之后,如果单元ci与其他单元不重叠,则ci的位置将被固定;否则,为了减少 单元的重叠,采用线性规划的方法来最小化单元移动。
在本实施例中,步骤(7)中,通过算法2中的第10-16行将每个单元对齐到最近的放置位置。 在此之后,如果单元ci与其他单元不重叠,则ci的位置将被固定;否则,为了减少单元的重叠, 采用线性规划的方法来最小化单元移动。
给定一个所有单元都对齐至正确行和放置位置的电路,单元ci的坐标为(x″i,y″i)。令OC为仍 与其他单元重叠的单元组。对OC中的单元,考虑以下问题:
当ci,cj在同一行相邻,且ci在cj的左边;(23a)
其中cr是每一行中最右的单元。问题(23)可以重新定义为以下线性规划(LP):
当ci,cj在同一行相邻,且ci在cj的左边;(24a)
在求解LP(24)之前,许多单元都是自由重叠的,因此(24)中的变量个数不会太多。此 外,一个好的初始解决方案,只需要在几个迭代中执行LP解决方案。在解决了LP(24)之后, 每个单元都会被对齐到最近的放置位置。与此同时,如果一个单元与其他单元重叠或者脱离了 正确的边界,那么这个单元被标记为非法单元。对每个非法单元,搜索所有可能的空白空间。 然后,构造一个非法单元和空白空间的二分图,并应用运行时间在之内的Kuhn-Munkres 算法来找非法单元和空白空间的最佳匹配,其中nill是非法单元的数目。在上述操作之后,所有 的单元都被合法地放置在芯片区域。
进一步的,在步骤(8)中,对每个非法单元,搜索所有可能的空白空间。然后,构造一个非 法单元和空白空间的二分图,并应用运行时间在之内的Kuhn-Munkres算法来找非法单元 和空白空间的最佳匹配,其中nill是非法单元的数目。在上述操作之后,所有的单元都被合法地 放置在芯片区域。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出 本发明技术方案的范围时,均属于本发明的保护范围。
Claims (8)
1.一种最小化平均和最大移动的混合高度单元合法化方法,其特征在于,包括如下步骤:
步骤S1:把电路表示为超图模型H={V,E};
步骤S2:将单元设置方向后,对齐到临近且正确匹配的电源轨道行上;
步骤S3:对多倍行高标准单元进行预处理,并通过对目标函数和约束的分析和重构,将混合高度标准单元合法化模型转换为一个考虑平均、最大、第二、第三大等单元移动的混合整数二次规划模型;
步骤S4:将混合整数二次规划模型转换成二次规划模型;
步骤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、分别是子单元sci,j的宽和初始y坐标;计算i+1到NR行的平均密度和0到i-1行的平均密度通过如下方式计算向上单元ru和向下单元1-ru的数量比例:令:Wu=ωi,o,oi,o=1,Wd=ωi,1,oi,1=0,通过如下逻辑确定第j个子单元在Ri行的方向oi,j,直到所有的单元都被分配到最近且正确匹配电源轨道的行上:若则令Wu=Wu+ωi,j,oi,j1=1,否则,令Wd=Wd+ωi,j,oi,j=0;若则令oi,j-1=1,oi,j=0;若oi,j-1(1-oi,j)>0,则令oi,j-1=0,oi,j=1。
4.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S3中,所述混合整数二次规划问对应的目标为:
所述混合整数二次规划问对应的约束为:
xi+ωi≤xj+M(1-zij),zij∈{0,1},当
其中,αi:预设参数;xi,yi:单元ci当前的横坐标和纵坐标;单元ci初始的横坐标和纵坐标;y′i:单元ci对齐到正确的行后的纵坐标;Rh:行高;单元ci允许向下或向上的移动行数;wi:单元ci的宽度;M:预设常数。
5.根据权利要求4所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S4中,所述二次规划模型的目标为:
所述二次规划模型的约束为:
如果sci和scj是相邻的,且
sci1,…,scir来自同一个单元
其中,βij:人为设定参数;VMIi:单元ci允许竖直方向移动的区间;oi:单元ci的竖直移动的方向,向上或者向下;ri:单元ci的行数;sci,为单元集合SC的子单元。
6.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S5中,所述线性互补模型的目标为:
所述线性互补模型的约束为:
其中,
Q是一个带有元素qi的对角矩阵,p是一个向量,A是一个每一行分别只有四个非零元素1,-1,和的重叠约束矩阵。为了获得均匀边界约束令元素由p、b、f修正变换得到。
7.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S8中,先将每个单元对齐到最近的放置位置;如果单元ci与其他单元不重叠,则ci的位置将被固定;否则,为了减少单元的重叠,采用如下线性规划的方法来最小化单元移动,记cr是每一行中最右的单元:
当ci,cj在同一行相邻,且ci在cj的左边;
其中,xmax:所有单元在水平方向上的最大移动;W:布局区域的宽度;xi″:单元ci对齐到正确的行之后的横坐标;wi:单元ci的宽度;xi:单元ci当前的横坐标;xr为单元cr的横坐标;ωr为单元cr的宽度;cr为每一行中最右边的单元。
8.根据权利要求1所述的最小化平均和最大移动的混合高度单元合法化方法,其特征在于,在所述步骤S8中,如果一个单元与其他单元重叠或者脱离了正确的边界,记这个单元被标记为非法单元;对每个非法单元,搜索所有可能的空白空间,构造一个非法单元和空白空间的二分图,并应用运行时间在之内的Kuhn-Munkres算法来找非法单元和空白空间的最佳匹配,其中,nill是非法单元的数目;将所有的单元都被合法地放置在芯片区域。
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 true CN108804793A (zh) | 2018-11-13 |
CN108804793B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684745A (zh) * | 2018-12-27 | 2019-04-26 | 北京华大九天软件有限公司 | 基于最小宽度约束的6t&6tppnn单元布局方法 |
CN111539166A (zh) * | 2020-04-23 | 2020-08-14 | 福州立芯科技有限公司 | 考虑先进制程约束的混合行高标准单元电路合法化方法 |
CN112199920A (zh) * | 2020-12-04 | 2021-01-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种布局方法、电子设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090099987A1 (en) * | 2007-10-15 | 2009-04-16 | University Of Southern California | Decomposed optimal bayesian stackelberg solver |
CN104063559A (zh) * | 2014-07-08 | 2014-09-24 | 领佰思自动化科技(上海)有限公司 | 大规模集成电路分布计算的布局合法化方法及其系统 |
CN104600699A (zh) * | 2015-01-27 | 2015-05-06 | 清华大学 | 一种基于混合整数二次规划模型的配电网结构估计方法 |
CN106971042A (zh) * | 2017-03-31 | 2017-07-21 | 福州大学 | 一种用于混合高度标准单元电路设计的合法化方法 |
US20180144083A1 (en) * | 2016-11-18 | 2018-05-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for legalizing mixed-cell height standard cells of ic |
CN108073754A (zh) * | 2016-11-18 | 2018-05-25 | 台湾积体电路制造股份有限公司 | 设计布局的方法 |
-
2018
- 2018-05-30 CN CN201810542123.6A patent/CN108804793B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090099987A1 (en) * | 2007-10-15 | 2009-04-16 | University Of Southern California | Decomposed optimal bayesian stackelberg solver |
CN104063559A (zh) * | 2014-07-08 | 2014-09-24 | 领佰思自动化科技(上海)有限公司 | 大规模集成电路分布计算的布局合法化方法及其系统 |
CN104600699A (zh) * | 2015-01-27 | 2015-05-06 | 清华大学 | 一种基于混合整数二次规划模型的配电网结构估计方法 |
US20180144083A1 (en) * | 2016-11-18 | 2018-05-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for legalizing mixed-cell height standard cells of ic |
CN108073754A (zh) * | 2016-11-18 | 2018-05-25 | 台湾积体电路制造股份有限公司 | 设计布局的方法 |
CN106971042A (zh) * | 2017-03-31 | 2017-07-21 | 福州大学 | 一种用于混合高度标准单元电路设计的合法化方法 |
Non-Patent Citations (6)
Title |
---|
CHEN J , ZHU Z , ZHU W , ET AL.: "Toward Optimal Legalization for Mixed-Cell-Height Circuit Designs", 《THE 54TH ANNUAL DESIGN AUTOMATION CONFERENCE 2017. IEEE, 2017》 * |
JANG W , PAN D Z .: "A3MAP: Architecture-Aware Analytic Mapping for Networks-on-Chip", 《ASIA SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE. ACM, 2010》 * |
何鸥: "互连驱动的片上系统布图规划算法的研究", 《中国博士学位论文全文数据库信息科技辑》 * |
刘大为,周强,边计年: "考虑重叠度和线长的单元密度平滑方法", 《计算机辅助设计与图形学学报》 * |
陈雄峰,李维国,陈建利: "4 种VLSI 标准单元初始布局生成算法及其比较", 《闽江学院学报》 * |
隋文涛,董社勤,边计年: "力驱动三维FPGA布局算法", 《计算机辅助设计与图形学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684745A (zh) * | 2018-12-27 | 2019-04-26 | 北京华大九天软件有限公司 | 基于最小宽度约束的6t&6tppnn单元布局方法 |
CN109684745B (zh) * | 2018-12-27 | 2020-04-07 | 北京华大九天软件有限公司 | 基于最小宽度约束的6t&6tppnn单元布局方法 |
CN111539166A (zh) * | 2020-04-23 | 2020-08-14 | 福州立芯科技有限公司 | 考虑先进制程约束的混合行高标准单元电路合法化方法 |
CN112199920A (zh) * | 2020-12-04 | 2021-01-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种布局方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108804793B (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Deb et al. | Multi-objective optimization | |
CN108804793B (zh) | 最小化平均和最大移动的混合高度单元合法化方法 | |
Papalambros | The optimization paradigm in engineering design: promises and challenges | |
Young et al. | Slicing floorplans with boundary constraints | |
US10379868B1 (en) | Optimization method with parallel computations | |
Li et al. | Analytical mixed-cell-height legalization considering average and maximum movement minimization | |
US5768479A (en) | Circuit layout technique with template-driven placement using fuzzy logic | |
CN115755954B (zh) | 巡检路径规划方法、系统、计算机设备及存储介质 | |
CN110362107A (zh) | 基于免疫优化算法的多无人机任务分配问题的求解方法 | |
Roy et al. | A mixed integer efficient global optimization algorithm with multiple infill strategy-applied to a wing topology optimization problem | |
US5835378A (en) | Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip | |
Kingsley | A hiererachical, error-tolerant compactor | |
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) | 產生電源供應網路模型之方法,以及電源供應網路模型分析 方法與裝置 | |
CN115114880A (zh) | 一种加速的牛顿分裂迭代法应用于混合尺寸单元电路布局方法 | |
Khoshnevisan et al. | Optimal plant layout design for process-focused systems | |
Mueller et al. | Deterministic approaches to analog performance space exploration (PSE) | |
Jiang et al. | Analytical target cascading using ensemble of surrogates for engineering design problems | |
CN114970435A (zh) | 一种两步模迭代法应用于混合尺寸单元电路设计 | |
Ward et al. | Structure-aware placement techniques for designs with datapaths | |
US20080134105A1 (en) | Apparatus, method and program for designing integrated circuit | |
Shao | Toward a structured approach to simulation-based engineering design under uncertainty | |
Domer | Performance enhancement of active structures during service lives | |
Liu | Surrogate-Assisted Unified Optimization Framework for Investigating Marine Structural Design Under Information Uncertainty. |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211126 |