基于最小植入区域约束的混合高度单元布局设计方法与流程

文档序号:15999965发布日期:2018-11-20 19:19阅读:335来源:国知局

本发明属于超大规模集成电路(VLSI)物理设计自动化技术领域,提供一种基于最小植入区域约束的混合高度单元布局设计方法。



背景技术:

在传统电路设计中,为了便于设计和优化,标准单元通常具有相同的高度。然而,在现代电路设计中,使用不同行高的标准单元可以在时延、功率和可布通性三者中达到更好的设计权衡。具体来说,更高的单元能够给予更大的驱动力和更好的可布通性,但同时也需要花费更大的面积和功率成本。由于异质性的单元结构(造成更多的全局单元干扰和解空间的增大),使得这种混合高度单元的电路设计更富有挑战性。而且,在这种布局设计时,需要额外考虑多倍行高单元对齐到正确的电源线(Vdd)和接地线(Vss)轨道上。Vdd/Vss轨道线在布局单元行中交叉排列,每个单元必须对齐到正确的电源轨道,使得Vdd/Vss的引脚匹配相应的相应的行。因此,一个偶数倍行高的单元必须与位于单元顶部(或底部)边界的同一类型电源轨道线对齐;而一个奇数倍行高的单元,则可以直接或竖直翻转后对齐到任意行上。

在现代电路设计中,同时优化时延和功率通常是一项困难的任务。在保持电路性能的同时,一种常用于平衡这两项任务的方法是使用多阈值电压单元,以减少功率的损耗。单元通常有三种电压类型,即高阈值电压(HVT)、低阈值电压(LVT)和标准阈值电压(SVT)。在多阈值电压电路的设计中,在关键路径上使用低阈值电压单元来提升时延,在非关键路径上使用高阈值电压单元来减少功率损耗。然而随着单元特征尺寸的减少,且由于光刻技术的限制,多阈值电压单元在布局时可能会违反MIA约束。MIA约束是指两种复杂的约束:水平方向MIA约束和竖直方向MIA约束。因为小体积的单元常常被用于成本驱动和低功耗设计,所以MIA约束的影响是至关重要的。



技术实现要素:

本发明的目的是提供一种基于最小植入区域约束的混合高度单元布局设计方法。

本发明采用以下技术方案:一种基于最小植入区域约束的混合高度单元布局设计方法,其包括以下步骤:步骤S1:快速全局布局;步骤S2:对水平方向MIA冲突的单元应用基于图的聚类和基于带状装箱的重塑法对水平方向的MIA冲突单元进行聚类并压缩;步骤S3:基于MIA约束合法化,解决填料极小化和对竖直方向MIA约束单元进行处理;步骤S4:对单元的位置进行了分配和优化。

与现有技术相比,本发明的优点:(1)通过添加带权重的虚拟线网,使具有同种电压的HVT/LVT单元相互更紧密的放置在一起。通过花费函数刻画Vdd/Vss约束,并通过共轭梯度大求解,可以全局的极小化线长的变化;(2)使用基于图的聚类方法和基于匹配的方法来压缩区域面积和减少填料使用;(3)将基于竖直方向MIA的约束转化为QP问题,使用MMSIM求解器求解,并且为了保证MMSIM的收敛性,我们用单元分裂和插入虚拟单元的操作来构造行满秩约束矩阵;(4)为了进一步优化布局结果,最后对单元还进行了分配和单元位置优化。(5)实验结果表明,我们的算法在不增加任何芯片设计面积的前提下,产生的线长增量比“ICCAD′17”的减少了8.5%。

附图说明

图1是本发明的基于最小植入区域约束的混合高度单元布局的流程图。

图2是本发明一实施例的共轭梯度优化算法框架示意图。

图3为本发明一实施例的聚类算法框架示意图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步解释说明。

本发明提供一种基于最小植入区域约束的混合高度单元布局设计方法,其包括以下步骤:

步骤S1:快速全局布局;

步骤S2:对水平方向MIA冲突的单元应用基于图的聚类和基于带状装箱的重塑法对水平方向的MIA冲突单元进行聚类并压缩;

步骤S3:基于MIA约束合法化,解决填料极小化和对竖直方向MIA约束单元进行处理;

步骤S4:对单元的位置进行了分配和优化。

在本发明一实施例中,步骤S1包括以下步骤:

步骤S11:给定一个有n个标准单元C={c1,c2,…,cn}和m条线E={e1,e2,…,em}的混合高度单元全局布局;n、m均为自然数;

步骤S12:布局区域是一个矩形框,其中(0,0)和(W,H)分别是矩形框左下角和右上角的顶点坐标;设(xi,yi)是单元ci的中心坐标,(wi,hi)是其宽度和高度;

每一个单元都有一个匹配Vdd或Vss的边界类型;Site的宽度Sitew和高度Siteh是两个给定的常数,其中Siteh等于行高h;对一个多倍行高单元,它的高度就是Siteh的倍数;设CH和CL分别是HVT和LVT单元的集合;最小植入区域宽度ω是一个给定的常数;

基于MIA约束的混合高度标准单元布局的目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量最小、无面积溢出,并且满足下列5个约束条件:(1)要求单元间不重叠;(2)要求单元必须放置在布局区域;(3)要求单元必须与行对齐;(4)要求单元必须与正确的Vdd/Vss轨道对齐;(5)要求单元间不存在水平和竖直方向上的MIA冲突;

步骤S13:对那些违反MIA约束且临近的HVT或LVT单元,若它们的电压类型相同,且它们之间的曼哈顿距离小于Rc,同时它们之中至少有一个的宽度小于最小植入区域宽度ω,则在单元ci和cj之间添加虚拟线网线网的权重按下述公式进行计算:

其中(xi,yi)和(xj,yj)分别表示单元ci和单元cj的中心位置的坐标;hi和hj分别表示单元ci和单元cj的高度;np是虚拟线网的条数;κ是指定的常数,其用于保证权重公式中指数项是有限的;

添加虚拟线网后,通过将芯片布局区域划分为均匀的方格,应用LSE线长模型去逼近W(x,y)和钟型函数去光滑化密度函数;Vdd或Vss轨道对齐布局问题可被定义为:

并满足下列约束条件:

1)方格b,其中Mb是方格b中可移动单元的最大可移动面积;

2)对于l=1,2,3,…,满足hi=2l×Siteh;

在快速全局布局阶段提出了一个连续可微的花费函数Cost(ci)来解决Vdd或Vss轨道约束问题:

其中,

利用连续可微的花费函数Cost(ci),通过使用共轭梯度法解下列式子:

其中b表示划分芯片布局区域的任意一个方格,ρ1和ρ2是基于总线长的标准化因子,为了维持给定的全局布局结果的质量,使用比例因子来控制单元的移动,从而每个单元都能被放置在最靠近它们原始位置的地方。

在本发明一实施例中,所述步骤S2中,考虑水平方向MIA约束的聚类包括以下具体步骤:步骤S21使用基于图的聚类方法,通过给出聚类间距cs,构造出一个如下的聚类图如果HVT或LVT单元u和v之间的距离小于cs,那么在u和v之间就存在一个边界euv∈E且euv的权重为根据聚类图CG,CG的权重由下式计算:

步骤S22:聚类的最优位置通过解下列最优解问题得出:

其中mi表示与单元ci相连的单元个数;表示聚类ul所含的单元个数;

步骤S23:分别计算每张线网neti中除了单元ci包含所有单元的边界盒,对每张线网,分别对边界盒的坐标x和坐标y排序;再计算这些x和y坐标的中值,从而得到一个近似解;

步骤S24:对每个聚类来说,如果其宽度大于2ω,就检测该聚类能否分割成两个或以上没有水平方向MIA冲突的聚类;若可以,则更新新聚类的位置信息;在聚类ul中,所有相同高度且为偶数倍行高的单元都满足Vdd或Vss轨道约束。

在本发明一实施例中,步骤S2中考虑水平方向MIA约束的重塑包括以下步骤:

步骤S25:给定一个带有Vdd或Vss电压属性的单元聚类带Vdd或Vss属性的条带,聚类中每个单元uci的宽度和高度是wi和hi,其中单元的高度是Siteh的整数倍;步骤S26:设zi,j是一个布尔型变量,zi,j=1表示单元uci∈ul的左下角坐标对齐到第j行上;其中ti=hi/Siteh表示单元uci的高度相对于Siteh的倍数;Ws表示条带的宽度;这样行重新分配的BLP问题归结为:

min Ws

并满足以下条件:

4)

5)

6)若单元uci是偶倍高单元,对i=1,2,3…,l

满足:

zi,j∈{0,1},对i=1,2,3…,l,及j=1,2,3…,r;r是子单元的个数。

在本发明一实施例中,所述步骤S3中,考虑MIA约束的合法化的过程如下:

步骤S31:首先对于水平方向的MIA冲突和填料极小化,给定一个窗口,并按以下规则构造二部图:

1)如果一个水平方向MIA冲突单元ci的宽度和高度均比填料fi的小,那么就在单元ci和填料fi之间构造一条边;

2)如果一个水平方向MIA冲突单元ci和其它无水平方向MIA冲突单元或聚类cj具有相同的电压及高度,那么就在单元ci和单元或聚类cj之间构造一条边;

在这个二部图中,每条边的权重可由下式计算得到:

其中θij是一个指定的常数,若构造边的两个点元素中至少有一个是填料,则θij=2,否则,θij=1;

基于这个二部赋权图,再使用Kuhn-Munkres算法求取最大权匹配;

步骤S32:对于竖直方向MIA冲突,首先检测相邻两行所有引发竖直方向MIA冲突的单元;即对于相邻行的两个单元ci和cj,若(ω指最小植入区域宽度),则引发竖直方向MIA冲突;其中是单元ci和cj在水平方向上的重叠部分的长度;

将含竖直方向上MIA冲突的混合高度单元合法化问题视公式化为二次规划QP问题:

并满足下列约束条件:

4)对相同行的所有相邻单元ci和cj,若x′i≥x′j,有:

5)若单元ci和cj引发竖直方向的MIA冲突,且x′i≥x′j,有:

6)对所有单元ci,有xi≥0;

其中x′i和x′j是单元ci和cj在合法化之前的x坐标;

步骤S33:使用基于系数矩阵的分割迭代法MMSIM,来解决含竖直方向MIA冲突的混合高度单元合法化问题;要求QP问题中的目标矩阵是对称正定的,并且约束矩阵是行满秩的。

进一步的,步骤S33中为保证系数矩阵的行满秩,对单元执行以下两个步骤:

1)对任意的竖直方向MIA冲突单元ci和cj,插入一个虚拟单元c′i,满足x′i=xi,y′i=yj,w′i=wi,h′i=hj;

2)将每一个多倍行高单元ci,分割为多个单行高度的子单元,即:xi1=xi2=…=xir,其中r是子单元的个数;ci包括虚拟单元;

基于以上两个操作得到:

并满足以下条件:

1)Ax≥b;

2)Ex=0;

3)x≥0.

其中Q是一个单位矩阵;d是一个向量,其第i个元素di=-x′i;矩阵A是约束矩阵,其每一行仅有两个非零元素1和-1,且矩阵A的行数等于约束的个数,列数等于变量的个数;b是一个向量,其元素与矩阵A中单元的距离限制相对应;矩阵E中元素与多倍高单元分割成的子单元相对应,其每一行的元素仅有两个非零元1和-1,其行数与多倍高单元相适应,即一个双倍高单元分割后,对应矩阵E增加一行,一个三倍高单元分割后,对应矩阵E增加两行,以此类推;矩阵E的列数等于变量的个数,约束Ex=0用于保证多倍高单元的变量相等;

使用MMSIM算法所得到的解是QP的最优解且MMSIM算法的时间复杂度为O(n),其中n为变量的个数。

在本发明一实施例中,所述步骤S4中考虑竖直方向MIA约束的单元分配包括以下具体步骤:每个HVT或LVT单元的左下角坐标不能放在一个HVT或LVT单元的禁止区域中;所有的单元都按照横坐标的非递减顺序进行排列,并按照此排列顺序将单元放置到最近的合法位置;在此过程中,应当避免单元间的重叠,对HVT或LVT单元在进行放置时应当避开HVT或LVT单元的禁止区域。

在本发明一实施例中,所述步骤S4中考虑竖直方向MIA约束的单元优化包括以下具体步骤:使用单元匹配、单元移动和单元交换技术来极小化线长和芯片面积;为了避免过度的移动,这些操作是在一个窗口中进行的:

1)对于两个同等高度的单元,对偶数倍行高单元须具有同种Vdd或Vss电压类型,若交换单元交换能够减少线长,那么执行单元交换操作;

2)在单元ci附近可能存在死空间;若此死空间和ci等高,对偶数倍行高单元须具有同种Vdd或Vss电压类型,且将单元ci移动到此空间能够减少线长,那么执行单元移动操作。

本发明一具体实施例流程图参见图1。

具体该方法的数学模型描述如下:

首先给定一个有n个标准单元C={c1,c2,…,cn}和m条线E={e1,e2,…,em}的混合高度单元全局布局。布局区域是一个矩形框,其中(0,0)和(W,H)分别是矩形框左下角和右上角的顶点坐标。设(xi,yi)是单元ci的中心坐标,(wi,hi)是其宽度和高度。每一个单元都有一个匹配Vdd/Vss的边界类型。Site的宽度Sitew和高度Siteh是两个给定的常数,其中Siteh等于行高h。对一个多倍行高单元,它的高度就是Siteh的倍数。设CH和CL分别是HVT和LVT单元的集合。最小植入区域宽度ω是一个给定的常数。

基于MIA约束的混合高度标准单元布局的目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量最小、无面积溢出,并且满足下列5个约束条件:(1)要求单元间不重叠;(2)要求单元必须放置在布局区域;(3)要求单元必须与行对齐;(4)要求单元必须与正确的Vdd/Vss轨道对齐;(5)要求单元间不存在水平和竖直方向上的MIA冲突。即优化以下数学模型:

并满足下列约束条件:

1)

2)

3)

4)对l=1,2,3,…,满足hi=2l×Siteh

5)且ci,cj位于相邻行,有:

其中,在同一行且相邻。

其中:Oij(xi,xj,yi,yj)是单元ci和cj之间的重叠函数,它表示两个单元之间水平方向重叠部分的长度。

图1中快速布局阶段,具体实现方法详细叙述如下:

对那些违反MIA约束且临近的HVT/LVT单元,若它们的电压类型相同,且它们之间的曼哈顿距离小于Rc,同时它们之中至少有一个的宽度小于植入宽度ω,则在单元ci和cj之间添加虚拟线网线网的权重按下述公式进行计算:

添加虚拟线网后,通过将芯片布局区域划分为均匀的方格,我们应用LSE线长模型去逼近W(x,y)(包括线网E和额外的虚拟线网)和钟型函数去光滑化密度函数,以使得密度函数更加光滑。这样,Vdd/Vss轨道对齐布局问题可被定义为:

并满足下列约束条件:

1)方格b,其中Mb是方格b中可移动单元的最大可移动面积;

2)对于l=1,2,3,…,满足hi=2l×Siteh;(3)

由于Vdd/Vss轨道对齐布局问题中的Vdd/Vss轨道对齐约束是离散形式的,所以很难直接使用连续优化的方法进行优化。因此,我们在快速全局布局阶段提出了一个连续可微的花费函数Cost(ci)来解决Vdd/Vss轨道约束问题:

其中,

利用连续可微的花费函数Cost(ci),我们通过使用共轭梯度法解下列式子来处理:

其中b表示划分芯片布局区域的任意一个方格,ρ1和ρ2是基于总线长的标准化因子。在算法1中,我们使用共轭梯度法而不是精确线性搜索。在这个算法中,为了维持给定的全局布局结果的质量,我们使用比例因子ξ来控制单元的移动,如此每个单元都能被放置在最靠近它们原始位置的地方。本发明一实施例的共轭梯度优化算法框架示意图参见图2。

图1中“水平方向MIA约束的聚类和重塑”部分,具体实现方式如下:

使用基于图的聚类方法,通过给出聚类间距cs,我们构造出一个如下的聚类图如果HVT/LVT单元u和v之间的距离小于cs,那么在u和v之间就存在一个边界euv∈E和euv的权重根据聚类图CG,我们将算法2作为我们的聚类算法。本发明一实施例的聚类算法框架示意图参见图3。

在算法2的第2行中,CG的权重由下式计算:

在算法2第7行中,聚类的最优位置可以通过解下列最优解问题得出:

之后我们分别计算每张线网neti中除了单元uci包含所有单元的边界盒。对每张线网,我们分别对边界盒的坐标x和坐标y按从小到大进行排序。此时我们再计算这些x和y坐标的中值,这样就提供了一个近似解。在算法2中,对最后获得每个聚类来说,若其宽度大于2ω,我们就去判断该聚类能否分割成两个或以上没有水平方向MIA冲突的聚类。若可以,则进行聚类分割并跟新新聚类的位置信息。注意:在聚类ul中,须保证所有相同高度且为偶数倍行高的单元都满足Vdd/Vss轨道约束。

特殊的条带装箱问题是一个NP-hard问题。为了解决这个问题,我们首先将聚类中的单元重新分配到相应的行上。我们将行重塑问题构造为一个二元线性规划问题(BLP),并通过分支定界算法进行求解。

设zi,j是一个布尔型变量,zi,j=1表示单元uci∈ul的左下角坐标对齐到第j行上。其中ti=hi/Siteh表示单元uci的高度。Ws表示条带的宽度。这样行重新分配的BLP问题可以归结为:

min Ws

并满足以下条件:

1)

2)

3)若单元uci是偶倍高单元,对i=1,2,3…,l

满足:

4)zi,j∈{0,1},对i=1,2,3…,l,及j=1,2,3…,r.

图1中“基于MIA约束的合法化”部分,具体实现方式如下:

首先运用基于水平方向MIA约束的填料极小化来处理遗留下来的具有水平方向MIA冲突的单元及极小化调料的植入。我们使用一中基于匹配的方法,给定一个窗口,并根据以下规则构造二部图:

1)如果一个水平方向MIA冲突单元ci的宽度和高度均比填料fi的小,那么就在单元ci和填料fi之间构造一条边;

2)如果一个水平方向MIA冲突单元ci和其它无水平方向冲突的单元/聚类cj具有相同的电压及高度,那么就在单元ci和单元/聚类cj之间构造一条边。在此二部图中,每条边的权重可由下式计算得到:

其中θij是一个指定的常数,若构造边的两个点元素中至少有一个是填料,则θij=2,否则,θij=1;

基于这个二部赋权图,再使用Kuhn-Munkres算法来求取最大权匹配。

对于竖直方向MIA冲突,首先,检测相邻两行所有引发竖直方向MIA冲突的单元,即对于相邻行的两个HVT/LVT单元ci和cj,若(ω指最小植入区域宽度),则引发竖直方向MIA冲突。其中是单元ci和cj的水平方向上的重叠部分长度。

根据以上描述,我们将含竖直方向MIA冲突的混合高度单元合法化问题公式化为二次规划(QP)问题:

并满足下列约束条件:

1)对相同行的所有相邻单元ci和cj,若x′i≥x′j,有:

2)若单元ci和cj引发竖直方向的MIA冲突,且x′i≥x′j, (10)

有:

3)对所有单元ci,有xi≥0.

其中x′i和x′j是单元ci和cj在合法化之前的x坐标。

之后使用基于系数矩阵的分割迭代法(MMSIM),来解决此含竖直方向MIA约束的混合高度单元合法化问题。它要求QP问题中的目标矩阵是对称正定的,并且约束矩阵是行满秩的。为保证系数矩阵的行满秩,我们对单元执行以下两个步骤:

1)对任意引发竖直方向MIA冲突单元ci和cj,插入一个虚拟单元c′i,满足:x′i=xi,y′i=yj,w′i=wi,h′i=hj;

2)将每一个多倍行高单元ci(包括虚拟单元)分割为多个单行高度的子单元,即:xi1=xi2=…=xir,其中r是子单元的个数;

操作(1)用于确保问题(10)中的约束矩阵在添加的约束(2)后是行满秩的,操作(2)用于确保问题(10)中的约束矩阵在添加约束(1)后对多倍行高单元是行满秩的。

基于以上两个步骤,可以写成:

并满足以下条件:

1)Ax≥b; (11)

2)Ex=0;

3)x≥0.

容易得出Q是单位矩阵且A是行满秩矩阵。然后,我们使用MMSIM算法来解决问题(11)。我们有如下定理:

定理1:MMSIM求解器得到的解是QP(11)的最优解,且MMSIM算法的时间复杂度为O(n),其中n为变量的个数。

图1中“竖直方向MIA冲突单元的放置及单元位置优化”部分,具体实现方式如下:

每个HVT/LVT MIA冲突单元的放置操作就是调整单元的位置使它们放入芯片中;一个HVT或LVT单元ci的禁止区域的宽度是ω,该区域右下角坐标等于单元ci的右上角坐标。单元的左下角坐标不能放在一个HVT/LVT单元的“禁止区域”中。所有的单元都按照横坐标的非递减顺序进行排列,并按照此排列顺序将单元放置到最近的合法位置。在此过程中,应当避免单元间的重叠,对HVT/LVT单元在进行放置时应当避开HVT/LVT单元的“禁止区域”。

在完成单元分配后,所有的水平/竖直方向上MIA冲突和单元重叠问题均被解决。为进一步提高布局结果的质量,我们使用单元匹配、单元移动和单元交换技术来极小化线长和芯片面积。为了避免过度的移动,这些操作在一个窗口中进行的:

1)对于两个同等高度的单元(对偶数倍行高单元须具有同种Vdd/Vss电压类型),若交换单元交换能够减少线长,那么执行单元交换操作;

2)在单元ci附近可能存在死空间。若此死空间和ci等高(对偶数倍行高单元须具有同种Vdd/Vss电压类型),且将单元ci移动到此空间能够减少线长,那么执行单元移动操作。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1