CN111539166A - 考虑先进制程约束的混合行高标准单元电路合法化方法 - Google Patents
考虑先进制程约束的混合行高标准单元电路合法化方法 Download PDFInfo
- Publication number
- CN111539166A CN111539166A CN202010328496.0A CN202010328496A CN111539166A CN 111539166 A CN111539166 A CN 111539166A CN 202010328496 A CN202010328496 A CN 202010328496A CN 111539166 A CN111539166 A CN 111539166A
- Authority
- CN
- China
- Prior art keywords
- unit
- cell
- cells
- units
- constraint
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000006073 displacement reaction Methods 0.000 claims abstract description 52
- 230000001066 destructive effect Effects 0.000 claims abstract description 34
- 230000033001 locomotion Effects 0.000 claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims abstract description 22
- 239000002184 metal Substances 0.000 claims description 11
- 229910052751 metal Inorganic materials 0.000 claims description 11
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 238000002598 diffusion tensor imaging Methods 0.000 claims description 6
- 230000004888 barrier function Effects 0.000 claims description 5
- 101100284369 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) has-1 gene Proteins 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009087 cell motility Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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
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
本发明涉及一种考虑先进制程约束的混合行高标准单元电路合法化方法,包括如下步骤:(1)对围栏区域进行处理,并将单元对齐到相应子芯片及其最近的正确行;(2)将合法化问题转化为一个二次规划问题,通过基于模数的矩阵分裂迭代法解决所述二次规划问题;(3)搜索可能导致过度移动的破坏性单元,并将破坏性单元重新分配到可能的最佳行中;(4)通过部分单元的水平翻转减少边缘间距;(5)处理存在的单元重叠和违反技术约束单元;(6)处理剩余的非法单元;(7)在不违反技术约束的前提下优化最大位移和总位移。该方法有利于在优化最大位移量和总位移量的同时减少违反技术约束的情况。
Description
技术领域
本发明属于超大规模集成电路(VLSI)设计技术领域,具体涉及一种考虑先进制程约束的混合行高标准单元电路合法化方法。
背景技术
混合高度标准单元电路相对于传统的单倍高度单元电路,可以提供更好的功率、面积、可布线性和性能等,因此成为广泛使用的先进技术。由于异构的单元结构和额外的电源轨道的限制,多倍行高标准单元布局设计产生了具有挑战性的问题,特别是混合高度标准单元的合法化问题。此外还需要解决更复杂的设计规则和约束(例如单元边缘间距、引脚短路、引脚接入约束)。不考虑这些约束的合法化可能会产生非法解决方案或导致严重的布线违规,由于纠正这些违规现象是非常困难且耗时的,所以在合法化同时考虑这些约束是非常有必要的。
为了尽可能保持全局布局和时间优化的解的质量,理想的合法化方法应该在消除所有单元重叠并满足所有设计规则的同时最小化单元的平均位移量和最大位移量。此外,在处理具有大量单元的先进电路时仍应该是快速和稳健的。
现有的混合高度标准单元的合法化方法存在下列问题:(1)大部分混合高度单元合法化方法不考虑先进制程约束;(2)现有的考虑先进制程中的技术约束和围栏区域约束单行高度单元合法化方法难以延伸到混合高度单元合法化中。因此,有必要设计一种高效的考虑先进制程约束的混合行高标准单元合法化算法来克服现有技术存在的问题。
发明内容
本发明的目的在于提供一种考虑先进制程约束的混合行高标准单元电路合法化方法,该方法有利于在优化最大位移量和总位移量的同时减少违反技术约束的情况。
为实现上述目的,本发明采用的技术方案是:一种考虑先进制程约束的混合行高标准单元电路合法化方法,包括如下步骤:
(1)对围栏区域进行处理,统一围栏区域和默认区域,并将单元对齐到相应子芯片及其最近的正确行;
(2)将合法化问题转化为一个二次规划问题,通过基于模数的矩阵分裂迭代法MMSIM解决所述二次规划问题;
(3)搜索可能导致过度移动的破坏性单元,并将所述破坏性单元重新分配到可能的最佳行中;
(4)检查所有单元,通过部分单元的水平翻转减少边缘间距;
(5)处理存在的单元重叠和违反技术约束单元;
(6)处理剩余的非法单元;
(7)在不违反技术约束的前提下优化最大位移和总位移。
进一步地,所述步骤(1)的实现方法为:将芯片划分为若干个子芯片,每个子芯片对应一个区域,并将其他区域视为障碍物;划分之后的每个子芯片都有对应的单元和障碍物,以独立地处理每个子芯片上的合法化问题;当对需要被放置在围栏区域内的单元进行合法化时,将默认区域,即除围栏区域之外的空白区域视为障碍物;否则,将围栏区域视为障碍物;
将每个单元对齐到相应子芯片及其最近的正确行,其中,正确行需要满足以下条件:1)单元应放置在相应的子芯片内,且不能与固定宏或障碍物重叠,以满足围栏区域约束;2)单元应满足电源轨道对齐约束;3)金属层k上除vdd及vss引脚外的所有引脚不应与金属层k或金属层k+1上的水平预布线重叠,以免导致因水平预布线引起的引脚短路及接入问题;然后,将每个单元的位置从(xi′,yi′)更新为如果所有单元都被分配到最近的正确行,则单元在垂直方向上的位移总量最小。
进一步地,所述步骤(2)中,对于VLSI中考虑先进制程约束的混合高度标准单元合法化问题,布局区域是矩形薄板,左下角坐标为(0,0),右上角坐标为(W,H),对于n个具有技术约束和围栏区域约束的标准单元的集合C={c1,...,cn},其中单元ci的高度和宽度分别是hi和wi,全局布局中单元ci左下角坐标为在布局区域中,接电源线vdd和接地线vss在行间交错排列,每个单元上都有vdd和vss两种引脚,单元的vdd引脚和vss引脚必须与vdd及vss电源轨道正确对齐;
考虑先进制程约束的混合高度标准单元的合法化目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量和最大位移量最小,并且满足软约束和以下硬约束条件:1)单元之间必须没有任何重叠;2)单元必须放置在芯片区域内;3)单元必须位于行上的放置点placement sites;4)单元必须满足围栏区域约束;5)单元必须与正确的电源轨道对齐;
在将每个单元对齐到相应子芯片及其最近的正确行之后,将该合法化问题转化为如下二次规划问题:
所述二次规划问题的目标函数是单元运动距离平方的加权和,其中是单元ci水平运动的权重;如果单元ci的垂直位移大于单元cj的垂直位移,即则目标函数会使单元ci的水平运动小于单元cj的水平运动,以防止某个单元位移过大;此外xj-xi≥wi+ei,j约束保证了单元之间不存在重叠,并且所有边缘间距约束条件都得到满足
为了满足MMSIM求解的收敛性条件,引入多个变量来表示多倍行高单元;如果单元i是单倍行高的,引入变量xi1来表示该单元;否则,将多倍行高标准单元划分成多个单倍行高的子单元,并用变量xi1,xi2,…,xid来表示,其中d是子单元的个数,即则问题(1)转化为:
其中,Q是一个对角线矩阵,其对角线元素p的分量是B是约束矩阵,每行只有-1和1两个非零元素,它的行数是约束条件的个数,列数是变量的个数;约束Ex=0确保每个多倍行高标准单元的子单元x坐标是相等的;Q是对称正定矩阵,B是行满秩矩阵,以保证MMSIM的收敛性。
进一步地,所述步骤(3)中,对每个子芯片分别进行如下操作:先将每行中的所有单元进行分组,同一组中的任何两个相邻单元之间都没有空间;对于每个组g引入三个变量gw、gxmin、gxmax分别表示g中单元的总宽度,单元的最小左侧x坐标和单元的最大右侧x坐标;如果gw-(gxmax-gxmin)>Rh,则将g视为局部密集组,并根据代价函数计算局部密集组中每个单元的代价,标记代价最大的单元并将该单元移出组g;
对于每种类型的破坏性单元,搜索一些空白空间,然后构造这些单元与空白空间对应的网络流,最后,采用最大流最小割算法找到每个破坏性单元的最佳位置;在搜索用于放置破坏性单元的空白空间时,允许空白空间的的宽度小于单元的宽度并定义容许最大运动阈值mm、容许宽度阈值fmin和宽度因子f;对于每个破坏性单元ci,至少找到五个可以包含矩形(hi,wi×f)且满足最大运动阈值mm的空白空间;若不能找到五个,减少f并增加mm的值重新搜索空白空间;定义CDT是类型T的破坏性单元集合,SDT是可用于放置CDT中单元的空白空间,将找到的每个空白空间划分为一组只能容纳一个单元的子空白空间,并构建一个所有边的容量为1的网络流,将单元ci∈CDT分配给子空白空间ss∈SSDT的代价定义为其中是单元ci到子空白空间ss的曼哈顿距离,nss是与该子空白空间的左边界或右边界相邻的单元个数;最后运用最大流最小割算法获得每个破坏性单元的位置使总的代价最小。
进一步地,所述步骤(4)的实现方法为:在获得了更好的单元分配之后,根据单元的左侧x坐标按非递减顺序进行排序,然后逐个检查所有单元,看是否可以通过水平翻转单元来减少单元边缘间距问题;一旦一个单元被检查过,它将不会再次进行水平翻转;对于每个单元ci,设N(i)为行中与ci相邻的单元集合,当对单元ci进行水平翻转后满足条件以下两个条件时,对ci进行水平翻转:1)N(i)中任一单元与ci之间所需的最小间距不增加;2)存在cj∈N(i)使得ci与cj之间所需的最小间距减小。
进一步地,所述步骤(5)中,通过修改MMSIM处理前面步骤中可能出现的单元重叠并从全局角度完全消除边缘间距冲突,然后进一步将单元与placement sites对齐,并对与固定宏重叠或超出右边界的非法单元进行修复,解决引脚短路和引脚接入问题;首先根据当前单元位置定义单元的最大允许移动距离amm;然后,将单元按左侧x坐标非递减顺序排序,并将单元一一放置在placement sites上;对于每个单元,首先找到与该单元所在行中最近的无违章空间,如果该单元与其最近的无违章空间的距离小于amm,则将该单元放置在该空间;否则将该单元标记为非法单元。
进一步地,所述步骤(6)中,对剩余的非法单元进行处理,即对于每个非法单元ci,首先根据单元的位置和单元的高度搜索空白空间;然后,在一定范围内遍历所有空白空间,通过将单元向左或向右推动找出可以包含单元ci的候选区间cand;如果候选区间cand非空,则将该非法单元移动至位移最少的候选空间,使放置合法;否则扩大搜索范围,并忽略垂直预布线所引起的引脚短路及接入问题,直到找到可行解。
进一步地,所述步骤(7)中,使用单元交换的方法对合法化结果进行优化,在优化期间,始终保持放置的合法性,并且不增加违反技术约束的次数;
首先对最大位移进行优化,选择移动量最大的单元ci在矩形区域中搜索候选单元,其中(xi′,yi′)为全局放置位置,(xi,yi)为当前位置,mi=|xi-xi′|+|yi-yi′|是单元当前位移量;候选单元需满足以下条件:1)与ci交换位置后,放置位置仍然合法;2)与ci交换位置后,违反技术约束的次数没有增加;3)与ci交换位置后,最大移动量减少;最后,选择最大移动量减少最多的候选单元与ci交换位置;如果没有候选单元可与位移最大的单元交换位置,则单元交换过程停止;
然后对总位移进行优化,首先将放置区域矩形划分为M×N个bin;然后对每个bin进行二部匹配,以减少每个bin中相同类型单元的总移动量;
令为一个bin中相同类型单元的集合,PT为CT中单元当前的位置的集合,mm为CT中单元的最大移动量;然后构造二部图G=(CT,PT,E),边(ci,pj)∈E当且仅当单元ci的全局布局的位置与位置pj的距离不大于mm;通过Kuhn-Munkers算法得到该二部图的一个完美匹配使得总代价最小。
相较于现有技术,本发明具有以下有益效果:(1)本发明提出一种围栏区域处理技术,统一默认区域和围栏区域,满足先进制程中的围栏区域约束。(2)本发明提出一种迭代地将局部密集区域中的破坏性单元重新分配到合适的行来防止出现过度移动的单元。(3)本发明将考虑单元边缘间距的合法化问题转化为对应的二次规划问题,并通过MMSIM来求解该问题,然后采用最大流最小割算法将破坏性单元进行处理,从更加全局化的角度对单元进行合法化。(4)本发明提出一种考虑技术约束的合法化,消除单元重叠并将单元放置到placement sites的同时不导致技术约束冲突。(5)本发明提出一种考虑技术约束的改进措施,在不违反技术约束的情况下进一步减少单元平均位移和最大位移。经与现有技术比较,本发明实现了最佳的单元平均位移量和最大位移量,并在较少的运行时间中显著减少了技术约束违规,可满足目前VLSI中考虑先进制程约束的混合高度标准单元合法化阶段的需求。
附图说明
图1是本发明实施例的方法实现流程图。
图2本发明实施例中的识别破坏性单元算法。
图3本发明实施例中的重新分配破坏性单元算法。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
本发明提供一种考虑先进制程约束的混合行高标准单元电路合法化方法,该方法先对围栏区域进行处理,并将该合法化问题转化为一个二次规划问题,通过基于模数的矩阵分裂迭代法(MMSIM)解决所得二次规划问题得到一个单元排序。然后搜索并处理可能导致过度移动的破坏性单元,再通过单元水平翻转减少边缘间距。之后,对仍然存在的非法单元进行处理。最后,在不违反技术约束的前提下优化最大位移量和总位移量,得到一个考虑技术约束和围栏区域约束且最小化单元最大位移量和平均位移量的合法化结果。如图1所示,该方法具体包括如下步骤:
(1)对围栏区域进行处理,统一围栏区域和默认区域,并将单元对齐到相应子芯片及其最近的正确行。
(2)将合法化问题转化为一个二次规划问题,通过基于模数的矩阵分裂迭代法(MMSIM)解决所述二次规划问题。
(3)搜索可能导致过度移动的破坏性单元,并将所述破坏性单元重新分配到可能的最佳行中。
(4)检查所有单元,通过部分单元的水平翻转减少边缘间距。
(5)处理存在的单元重叠和违反技术约束单元。
(6)处理剩余的非法单元。
(7)在不违反技术约束的前提下优化最大位移和总位移。
该方法的数学模型描述如下:
所述步骤(1),即图1中“围栏区域处理”部分具体实现方法如下:
将芯片划分为若干个子芯片,每个子芯片对应一个区域,并将其他区域视为障碍物。划分之后的每个子芯片都有对应的单元和障碍物,以独立地处理每个子芯片上的合法化问题。当对需要被放置在围栏区域内的单元进行合法化时,将默认区域,即除围栏区域之外的空白区域视为障碍物。否则,将围栏区域视为障碍物。
将每个单元对齐到相应子芯片及其最近的正确行,其中,正确行需要满足以下条件:1)单元应放置在相应的子芯片内,且不能与固定宏或障碍物重叠,这样自然能满足围栏区域约束。2)单元应满足电源轨道对齐约束。3)金属层k上任何引脚(不包括vdd/vss引脚)不应与金属层k或金属层k+1上的水平预布线重叠,以免导致因水平预布线引起的引脚短路/接入问题。然后,将每个单元的位置从(xi′,yi′)更新为如果所有单元都被分配到最近的正确行,则单元在垂直方向上的位移总量最小。
所述步骤(2),即图1中“问题表述和解决”部分具体实现方法如下:
对于VLSI中考虑先进制程约束的混合高度标准单元合法化问题,布局区域是矩形薄板,左下角坐标为(0,0),右上角坐标为(W,H),对于n个具有技术约束和围栏区域约束的标准单元的集合C={c1,...,cn},其中单元ci的高度和宽度分别是hi和wi,全局布局中单元ci左下角坐标为在布局区域中,接电源线vdd和接地线vss在行间交错排列,每个单元上都有vdd和vss两种引脚,单元的vdd引脚和vss引脚必须与vdd/vss电源轨道正确对齐。
考虑先进制程约束的混合高度标准单元的合法化目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量和最大位移量最小,并且满足软约束(如技术约束)和以下硬约束条件:1)单元之间必须没有任何重叠。2)单元必须放置在芯片区域内。3)单元必须位于行上的放置点placement sites。4)单元必须满足围栏区域约束。5)单元必须与正确的电源轨道对齐。
在将每个单元对齐到相应子芯片及其最近的正确行之后,将该合法化问题转化为如下二次规划问题:
所述二次规划问题的目标函数是单元运动距离平方的加权和,其中是单元ci水平运动的权重。如果单元ci的垂直位移大于单元cj的垂直位移,即则目标函数会使单元ci的水平运动小于单元cj的水平运动,以防止某个单元位移过大。此外xj-xi≥wi+ei,j约束保证了单元之间不存在重叠,并且所有边缘间距约束条件都得到满足
为了满足MMSIM求解的收敛性条件,引入多个变量来表示多倍行高单元。如果单元i是单倍行高的,引入变量xi1来表示该单元。否则,将多倍行高标准单元划分成多个单倍行高的子单元,并用变量xi1,xi2,…,xid来表示,其中d是子单元的个数,即则问题(1)转化为:
其中,Q是一个对角线矩阵,其对角线元素p的分量是B是约束矩阵,每行只有-1和1两个非零元素,它的行数是约束条件的个数,列数是变量的个数。约束Ex=0确保每个多倍行高标准单元的子单元x坐标是相等的。Q是对称正定矩阵,B是行满秩矩阵,因此可以保证MMSIM的收敛性。
图1中“识别破坏性单元”部分具体实现方法如下:
对每个子芯片分别进行如下操作:先将每行中的所有单元进行分组,同一组中的任何两个相邻单元之间都没有空间。对于每个组g引入三个变量gw、gxmin、gxmax分别表示g中单元的总宽度,单元的最小左侧x坐标和单元的最大右侧x坐标。如果gw-(gxmax-gxmin)>Rh,则将g视为局部密集组,并根据代价函数计算局部密集组中每个单元的代价,标记代价最大的单元并将该单元移出组g。本实施例中,识别破坏性单元算法如图2所示。
图1中“重新分配破坏性单元”部分具体实现方法如下:
对于每种类型的破坏性单元,搜索一些可能的空白空间,然后构造这些单元与空白空间对应的网络流,最后,采用最大流最小割算法找到每个破坏性单元的最佳位置。为了防止单元的过度移动,尤其是防止最大单元位移量过大,在搜索用于放置破坏性单元的空白空间时,允许空白空间的的宽度小于单元的宽度并定义容许最大运动阈值mm、容许宽度阈值fmin和宽度因子f。对于每个破坏性单元ci,至少找到五个可以包含矩形(hi,wi×f)且满足最大运动阈值mm的空白空间。若不能找到五个,减少f并增加mm的值重新搜索空白空间。定义CDT是类型T的破坏性单元集合,SDT是可用于放置CDT中单元的空白空间,将找到的每个空白空间划分为一组只能容纳一个单元的子空白空间,并构建一个所有边的容量为1的网络流,将单元ci∈CDT分配给子空白空间ss∈SSDT的代价定义为其中是单元ci到子空白空间ss的曼哈顿距离,nss是与该子空白空间的左边界或右边界相邻的单元个数。最后运用最大流最小割算法获得每个破坏性单元的位置使总的代价最小。本实施例中,重新分配破坏性单元算法如图3所示。
所述步骤(4),即图1中“减小单元边缘间距”部分具体实现方法如下:
在获得了更好的单元分配之后,根据单元的左侧x坐标按非递减顺序进行排序,然后逐个检查所有单元,看是否可以通过水平翻转单元来减少单元边缘间距问题。一旦一个单元被检查过,它将不会再次进行水平翻转。对于每个单元ci,设N(i)为行中与ci相邻的单元集合,当对单元ci进行水平翻转后满足条件以下两个条件时,对ci进行水平翻转:1)N(i)中任一单元与ci之间所需的最小间距不增加。2)存在cj∈N(i)使得ci与cj之间所需的最小间距减小。
所述步骤(5),即图1中“考虑技术约束的单元排列”部分具体实现方法如下:
通过修改MMSIM处理前面步骤中可能出现的单元重叠并从全局角度完全消除边缘间距冲突,然后进一步将单元与placement sites对齐,并对与固定宏重叠或超出右边界的非法单元进行修复,解决引脚短路和引脚接入问题。由于本发明已经确保在单元分配期间,金属层k上的任何信号引脚(不包括vdd/vss引脚)不能与金属层k或k+1上的水平预布线重叠,因此只需要消除垂直预布线和主要输入/输出导致的引脚短路和引脚接入冲突。为了使布局合法化,减少技术约束冲突,同时尽可能保留MMSIM的最优解。首先根据当前单元位置定义单元的最大允许移动距离amm。然后,将单元按左侧x坐标非递减顺序排序,并将单元一一放置在placement sites上。对于每个单元,首先找到与该单元所在行中最近的无违章(满足所有硬约束和软约束)空间,如果该单元与其最近的无违章空间的距离小于amm,则将该单元放置在该空间。否则将该单元标记为非法单元。在本实施例中,amm设置为placementsite的两倍。
所述步骤(6),即图1中“处理非法单元”部分具体实现方法如下:
对剩余的非法单元进行处理,即对于每个非法单元ci,首先根据单元的位置和单元的高度搜索空白空间。然后,在一定范围内遍历所有空白空间,通过将单元向左或向右推动找出可以包含单元ci的候选区间cand。如果候选区间cand非空,则将该非法单元移动至位移最少的候选空间,使放置合法。否则扩大搜索范围,并忽略垂直预布线所引起的引脚短路/接入问题,直到找到可行的解决方案。
图1中“优化最大位移量”部分具体实现方法如下:
使用单元交换的方法对合法化结果进行优化,在优化期间,始终保持放置的合法性,并且不增加违反技术约束的次数。
选择移动量最大的单元ci在矩形区域中搜索候选单元,其中(xi′,yi′)为全局放置位置,(xi,yi)为当前位置,mi=|xi-xi′|+|yi-yi′|是单元当前位移量。候选单元需满足以下条件:1)与ci交换位置后,放置位置仍然合法。2)与ci交换位置后,违反技术约束的次数没有增加。3)与ci交换位置后,最大移动量减少。最后,选择最大移动量减少最多的候选单元与ci交换位置。如果没有候选单元可与位移最大的单元交换位置,则单元交换过程停止。
图1中“优化总位移量”部分具体实现方法如下:
首先将放置区域矩形划分为M×N个bin(在本实施例中,每个bin的大小定义为8×8行高)。然后对每个bin进行二部匹配,以减少每个bin中相同类型单元的总移动量。
令为一个bin中相同类型单元的集合,PT为CT中单元当前的位置的集合,mm为CT中单元的最大移动量。然后构造二部图G=(CT,PT,E),边(ci,pj)∈E当且仅当单元ci的全局布局的位置与位置pj的距离不大于mm。通过Kuhn-Munkers算法得到该二部图的一个完美匹配使得总代价最小。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (8)
1.一种考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,包括如下步骤:
(1)对围栏区域进行处理,统一围栏区域和默认区域,并将单元对齐到相应子芯片及其最近的正确行;
(2)将合法化问题转化为一个二次规划问题,通过基于模数的矩阵分裂迭代法MMSIM解决所述二次规划问题;
(3)搜索可能导致过度移动的破坏性单元,并将所述破坏性单元重新分配到可能的最佳行中;
(4)检查所有单元,通过部分单元的水平翻转减少边缘间距;
(5)处理存在的单元重叠和违反技术约束单元;
(6)处理剩余的非法单元;
(7)在不违反技术约束的前提下优化最大位移和总位移。
2.根据权利要求1所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(1)的实现方法为:将芯片划分为若干个子芯片,每个子芯片对应一个区域,并将其他区域视为障碍物;划分之后的每个子芯片都有对应的单元和障碍物,以独立地处理每个子芯片上的合法化问题;当对需要被放置在围栏区域内的单元进行合法化时,将默认区域,即除围栏区域之外的空白区域视为障碍物;否则,将围栏区域视为障碍物;
3.根据权利要求2所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(2)中,对于VLSI中考虑先进制程约束的混合高度标准单元合法化问题,布局区域是矩形薄板,左下角坐标为(0,0),右上角坐标为(W,H),对于n个具有技术约束和围栏区域约束的标准单元的集合C={c1,...,cn},其中单元ci的高度和宽度分别是hi和wi,全局布局中单元ci左下角坐标为在布局区域中,接电源线vdd和接地线vss在行间交错排列,每个单元上都有vdd和vss两种引脚,单元的vdd引脚和vss引脚必须与vdd及vss电源轨道正确对齐;
考虑先进制程约束的混合高度标准单元的合法化目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量和最大位移量最小,并且满足软约束和以下硬约束条件:1)单元之间必须没有任何重叠;2)单元必须放置在芯片区域内;3)单元必须位于行上的放置点placement sites;4)单元必须满足围栏区域约束;5)单元必须与正确的电源轨道对齐;
在将每个单元对齐到相应子芯片及其最近的正确行之后,将该合法化问题转化为如下二次规划问题:
所述二次规划问题的目标函数是单元运动距离平方的加权和,其中是单元ci水平运动的权重;如果单元ci的垂直位移大于单元cj的垂直位移,即则目标函数会使单元ci的水平运动小于单元cj的水平运动,以防止某个单元位移过大;此外xj-xi≥wi+ei,j约束保证了单元之间不存在重叠,并且所有边缘间距约束条件都得到满足
为了满足MMSIM求解的收敛性条件,引入多个变量来表示多倍行高单元;如果单元i是单倍行高的,引入变量xi1来表示该单元;否则,将多倍行高标准单元划分成多个单倍行高的子单元,并用变量xi1,xi2,…,xid来表示,其中d是子单元的个数,即则问题(1)转化为:
4.根据权利要求3所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(3)中,对每个子芯片分别进行如下操作:先将每行中的所有单元进行分组,同一组中的任何两个相邻单元之间都没有空间;对于每个组g引入三个变量gw、gxmin、gxmax分别表示g中单元的总宽度,单元的最小左侧x坐标和单元的最大右侧x坐标;如果gw-(gxmax-gxmin)>Rh,则将g视为局部密集组,并根据代价函数计算局部密集组中每个单元的代价,标记代价最大的单元并将该单元移出组g;
对于每种类型的破坏性单元,搜索一些空白空间,然后构造这些单元与空白空间对应的网络流,最后,采用最大流最小割算法找到每个破坏性单元的最佳位置;在搜索用于放置破坏性单元的空白空间时,允许空白空间的的宽度小于单元的宽度并定义容许最大运动阈值mm、容许宽度阈值fmin和宽度因子f;对于每个破坏性单元ci,至少找到五个可以包含矩形(hi,wi×f)且满足最大运动阈值mm的空白空间;若不能找到五个,减少f并增加mm的值重新搜索空白空间;定义CDT是类型T的破坏性单元集合,SDT是可用于放置CDT中单元的空白空间,将找到的每个空白空间划分为一组只能容纳一个单元的子空白空间,并构建一个所有边的容量为1的网络流,将单元ci∈CDT分配给子空白空间ss∈SSDT的代价定义为其中是单元ci到子空白空间ss的曼哈顿距离,nss是与该子空白空间的左边界或右边界相邻的单元个数;最后运用最大流最小割算法获得每个破坏性单元的位置使总的代价最小。
5.根据权利要求1所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(4)的实现方法为:在获得了更好的单元分配之后,根据单元的左侧x坐标按非递减顺序进行排序,然后逐个检查所有单元,看是否可以通过水平翻转单元来减少单元边缘间距问题;一旦一个单元被检查过,它将不会再次进行水平翻转;对于每个单元ci,设N(i)为行中与ci相邻的单元集合,当对单元ci进行水平翻转后满足条件以下两个条件时,对ci进行水平翻转:1)N(i)中任一单元与ci之间所需的最小间距不增加;2)存在cj∈N(i)使得ci与cj之间所需的最小间距减小。
6.根据权利要求5所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(5)中,通过修改MMSIM处理前面步骤中可能出现的单元重叠并从全局角度完全消除边缘间距冲突,然后进一步将单元与placement sites对齐,并对与固定宏重叠或超出右边界的非法单元进行修复,解决引脚短路和引脚接入问题;首先根据当前单元位置定义单元的最大允许移动距离amm;然后,将单元按左侧x坐标非递减顺序排序,并将单元一一放置在placement sites上;对于每个单元,首先找到与该单元所在行中最近的无违章空间,如果该单元与其最近的无违章空间的距离小于amm,则将该单元放置在该空间;否则将该单元标记为非法单元。
7.根据权利要求1所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(6)中,对剩余的非法单元进行处理,即对于每个非法单元ci,首先根据单元的位置和单元的高度搜索空白空间;然后,在一定范围内遍历所有空白空间,通过将单元向左或向右推动找出可以包含单元ci的候选区间cand;如果候选区间cand非空,则将该非法单元移动至位移最少的候选空间,使放置合法;否则扩大搜索范围,并忽略垂直预布线所引起的引脚短路及接入问题,直到找到可行解。
8.根据权利要求1所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(7)中,使用单元交换的方法对合法化结果进行优化,在优化期间,始终保持放置的合法性,并且不增加违反技术约束的次数;
首先对最大位移进行优化,选择移动量最大的单元ci在矩形区域中搜索候选单元,其中(xi′,yi′)为全局放置位置,(xi,yi)为当前位置,mi=|xi-xi′|+|yi-yi′|是单元当前位移量;候选单元需满足以下条件:1)与ci交换位置后,放置位置仍然合法;2)与ci交换位置后,违反技术约束的次数没有增加;3)与ci交换位置后,最大移动量减少;最后,选择最大移动量减少最多的候选单元与ci交换位置;如果没有候选单元可与位移最大的单元交换位置,则单元交换过程停止;
然后对总位移进行优化,首先将放置区域矩形划分为M×N个bin;然后对每个bin进行二部匹配,以减少每个bin中相同类型单元的总移动量;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328496.0A CN111539166A (zh) | 2020-04-23 | 2020-04-23 | 考虑先进制程约束的混合行高标准单元电路合法化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328496.0A CN111539166A (zh) | 2020-04-23 | 2020-04-23 | 考虑先进制程约束的混合行高标准单元电路合法化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111539166A true CN111539166A (zh) | 2020-08-14 |
Family
ID=71979026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328496.0A Pending CN111539166A (zh) | 2020-04-23 | 2020-04-23 | 考虑先进制程约束的混合行高标准单元电路合法化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111539166A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199920A (zh) * | 2020-12-04 | 2021-01-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种布局方法、电子设备及计算机可读存储介质 |
CN112214964A (zh) * | 2020-12-10 | 2021-01-12 | 南京集成电路设计服务产业创新中心有限公司 | 一种动态改变布局方法、电子设备及计算机可读存储介质 |
CN113343632A (zh) * | 2021-05-31 | 2021-09-03 | 上海立芯软件科技有限公司 | 一种考虑进位链和位置约束的异质型布局合法化方法 |
WO2023185917A1 (zh) * | 2022-03-30 | 2023-10-05 | 华为技术有限公司 | 一种芯片的模块排布方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090031269A1 (en) * | 2007-07-27 | 2009-01-29 | Springsoft, Inc. | Analytical global placement for an integrated circuit |
CN106971042A (zh) * | 2017-03-31 | 2017-07-21 | 福州大学 | 一种用于混合高度标准单元电路设计的合法化方法 |
CN108804793A (zh) * | 2018-05-30 | 2018-11-13 | 福州大学 | 最小化平均和最大移动的混合高度单元合法化方法 |
CN108846169A (zh) * | 2018-05-25 | 2018-11-20 | 福州大学 | 基于最小植入区域约束的混合高度单元布局设计方法 |
-
2020
- 2020-04-23 CN CN202010328496.0A patent/CN111539166A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090031269A1 (en) * | 2007-07-27 | 2009-01-29 | Springsoft, Inc. | Analytical global placement for an integrated circuit |
CN106971042A (zh) * | 2017-03-31 | 2017-07-21 | 福州大学 | 一种用于混合高度标准单元电路设计的合法化方法 |
CN108846169A (zh) * | 2018-05-25 | 2018-11-20 | 福州大学 | 基于最小植入区域约束的混合高度单元布局设计方法 |
CN108804793A (zh) * | 2018-05-30 | 2018-11-13 | 福州大学 | 最小化平均和最大移动的混合高度单元合法化方法 |
Non-Patent Citations (1)
Title |
---|
ZHU, Z 等: "Mixed-cell-height legalization considering technology and region constraints(Conference Paper)", 《IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN, DIGEST OF TECHNICAL PAPERS, ICCAD》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199920A (zh) * | 2020-12-04 | 2021-01-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种布局方法、电子设备及计算机可读存储介质 |
CN112199920B (zh) * | 2020-12-04 | 2021-03-09 | 南京集成电路设计服务产业创新中心有限公司 | 一种布局方法、电子设备及计算机可读存储介质 |
CN112214964A (zh) * | 2020-12-10 | 2021-01-12 | 南京集成电路设计服务产业创新中心有限公司 | 一种动态改变布局方法、电子设备及计算机可读存储介质 |
CN113343632A (zh) * | 2021-05-31 | 2021-09-03 | 上海立芯软件科技有限公司 | 一种考虑进位链和位置约束的异质型布局合法化方法 |
WO2023185917A1 (zh) * | 2022-03-30 | 2023-10-05 | 华为技术有限公司 | 一种芯片的模块排布方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539166A (zh) | 考虑先进制程约束的混合行高标准单元电路合法化方法 | |
US6370673B1 (en) | Method and system for high speed detailed placement of cells within an integrated circuit design | |
US9165106B2 (en) | Layout design for electron-beam high volume manufacturing | |
US8276109B2 (en) | Mixed-height high speed reduced area cell library | |
US7917871B2 (en) | Method and program for pattern data generation using a modification guide | |
US5682321A (en) | Cell placement method for microelectronic integrated circuit combining clustering, cluster placement and de-clustering | |
CN108846169B (zh) | 基于最小植入区域约束的混合高度单元布局设计方法 | |
US8028264B2 (en) | Semiconductor device and semiconductor device layout designing method | |
US6385761B1 (en) | Flexible width cell layout architecture | |
US20090039520A1 (en) | Semiconductor circuit device, wiring method for semiconductor circuit device and data processing system | |
US20020087939A1 (en) | Method for designing large standard-cell based integrated circuits | |
CN109684745B (zh) | 基于最小宽度约束的6t&6tppnn单元布局方法 | |
US7308667B2 (en) | LSI physical designing method, program, and apparatus | |
CN111553125A (zh) | 一种考虑先进技术的超大规模集成电路详细布线方法 | |
WO2022119778A1 (en) | Adaptive row patterns for custom-tiled placement fabrics for mixed height cell libraries | |
US20050151258A1 (en) | Method for reducing wiring congestion in a VLSI chip design | |
US20230385514A1 (en) | Using machine trained network during routing to modify locations of vias in an ic design | |
CN112861466A (zh) | 一种布线轨道分配方法、电子设备及计算机可读存储介质 | |
Shi et al. | Improving detailed routability and pin access with 3D monolithic standard cells | |
Tabrizi et al. | A detailed routing-aware detailed placement technique | |
JP5380969B2 (ja) | レイアウト設計方法、及び装置 | |
US20110126166A1 (en) | Apparatus for Preventing Congestive Placement and Associated Method | |
JP5900540B2 (ja) | レイアウト設計方法及びレイアウト設計支援プログラム | |
KR101044295B1 (ko) | 자동화된 칩 면적 최적화를 위한 블록 패킹방법 및 표준 셀 패킹 방법 | |
US6584605B1 (en) | Method for forming a relative placement of components of an integrated circuit using a structural similarity group |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200814 |