CN111539166A - 考虑先进制程约束的混合行高标准单元电路合法化方法 - Google Patents

考虑先进制程约束的混合行高标准单元电路合法化方法 Download PDF

Info

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
Application number
CN202010328496.0A
Other languages
English (en)
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 Lixin Technology Co ltd
Original Assignee
Fuzhou Lixin Technology Co ltd
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 Lixin Technology Co ltd filed Critical Fuzhou Lixin Technology Co ltd
Priority to CN202010328496.0A priority Critical patent/CN111539166A/zh
Publication of CN111539166A publication Critical patent/CN111539166A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • 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

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′)更新为
Figure BDA0002464102150000021
如果所有单元都被分配到最近的正确行,则单元在垂直方向上的位移总量最小。
进一步地,所述步骤(2)中,对于VLSI中考虑先进制程约束的混合高度标准单元合法化问题,布局区域是矩形薄板,左下角坐标为(0,0),右上角坐标为(W,H),对于n个具有技术约束和围栏区域约束的标准单元的集合C={c1,...,cn},其中单元ci的高度和宽度分别是hi和wi,全局布局中单元ci左下角坐标为
Figure BDA0002464102150000022
在布局区域中,接电源线vdd和接地线vss在行间交错排列,每个单元上都有vdd和vss两种引脚,单元的vdd引脚和vss引脚必须与vdd及vss电源轨道正确对齐;
考虑先进制程约束的混合高度标准单元的合法化目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量和最大位移量最小,并且满足软约束和以下硬约束条件:1)单元之间必须没有任何重叠;2)单元必须放置在芯片区域内;3)单元必须位于行上的放置点placement sites;4)单元必须满足围栏区域约束;5)单元必须与正确的电源轨道对齐;
在将每个单元对齐到相应子芯片及其最近的正确行之后,将该合法化问题转化为如下二次规划问题:
Figure BDA0002464102150000031
其中,(xi′,yi′)是单元ci的初始位置,
Figure BDA0002464102150000032
是单元放置到最近的正确行时的位置,ei,j为单元ci的右边界到单元cj的左边界所需的最小距离;
所述二次规划问题的目标函数是单元运动距离平方的加权和,其中
Figure BDA0002464102150000033
是单元ci水平运动的权重;如果单元ci的垂直位移大于单元cj的垂直位移,即
Figure BDA0002464102150000034
则目标函数会使单元ci的水平运动小于单元cj的水平运动,以防止某个单元位移过大;此外xj-xi≥wi+ei,j约束保证了单元之间不存在重叠,并且所有边缘间距约束条件都得到满足
为了满足MMSIM求解的收敛性条件,引入多个变量来表示多倍行高单元;如果单元i是单倍行高的,引入变量xi1来表示该单元;否则,将多倍行高标准单元划分成多个单倍行高的子单元,并用变量xi1,xi2,…,xid来表示,其中d是子单元的个数,即
Figure BDA0002464102150000035
则问题(1)转化为:
Figure BDA0002464102150000036
其中,Q是一个对角线矩阵,其对角线元素
Figure BDA0002464102150000037
p的分量是
Figure BDA0002464102150000038
B是约束矩阵,每行只有-1和1两个非零元素,它的行数是约束条件的个数,列数是变量的个数;约束Ex=0确保每个多倍行高标准单元的子单元x坐标是相等的;Q是对称正定矩阵,B是行满秩矩阵,以保证MMSIM的收敛性。
进一步地,所述步骤(3)中,对每个子芯片分别进行如下操作:先将每行中的所有单元进行分组,同一组中的任何两个相邻单元之间都没有空间;对于每个组g引入三个变量gw、gxmin、gxmax分别表示g中单元的总宽度,单元的最小左侧x坐标和单元的最大右侧x坐标;如果gw-(gxmax-gxmin)>Rh,则将g视为局部密集组,并根据代价函数
Figure BDA0002464102150000041
计算局部密集组中每个单元的代价,标记代价最大的单元并将该单元移出组g;
对于每种类型的破坏性单元,搜索一些空白空间,然后构造这些单元与空白空间对应的网络流,最后,采用最大流最小割算法找到每个破坏性单元的最佳位置;在搜索用于放置破坏性单元的空白空间时,允许空白空间的的宽度小于单元的宽度并定义容许最大运动阈值mm、容许宽度阈值fmin和宽度因子f;对于每个破坏性单元ci,至少找到五个可以包含矩形(hi,wi×f)且满足最大运动阈值mm的空白空间;若不能找到五个,减少f并增加mm的值重新搜索空白空间;定义CDT是类型T的破坏性单元集合,SDT是可用于放置CDT中单元的空白空间,将找到的每个空白空间划分为一组只能容纳一个单元的子空白空间,并构建一个所有边的容量为1的网络流,将单元ci∈CDT分配给子空白空间ss∈SSDT的代价定义为
Figure BDA0002464102150000042
其中
Figure BDA0002464102150000043
是单元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在矩形区域
Figure BDA0002464102150000051
中搜索候选单元,其中(xi′,yi′)为全局放置位置,(xi,yi)为当前位置,mi=|xi-xi′|+|yi-yi′|是单元当前位移量;候选单元需满足以下条件:1)与ci交换位置后,放置位置仍然合法;2)与ci交换位置后,违反技术约束的次数没有增加;3)与ci交换位置后,最大移动量减少;最后,选择最大移动量减少最多的候选单元与ci交换位置;如果没有候选单元可与位移最大的单元交换位置,则单元交换过程停止;
然后对总位移进行优化,首先将放置区域矩形划分为M×N个bin;然后对每个bin进行二部匹配,以减少每个bin中相同类型单元的总移动量;
Figure BDA0002464102150000052
为一个bin中相同类型单元的集合,PT为CT中单元当前的位置的集合,mm为CT中单元的最大移动量;然后构造二部图G=(CT,PT,E),边(ci,pj)∈E当且仅当单元ci的全局布局的位置与位置pj的距离不大于mm;通过Kuhn-Munkers算法得到该二部图的一个完美匹配
Figure BDA0002464102150000061
使得总代价
Figure BDA0002464102150000062
最小。
相较于现有技术,本发明具有以下有益效果:(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′)更新为
Figure BDA0002464102150000071
如果所有单元都被分配到最近的正确行,则单元在垂直方向上的位移总量最小。
所述步骤(2),即图1中“问题表述和解决”部分具体实现方法如下:
对于VLSI中考虑先进制程约束的混合高度标准单元合法化问题,布局区域是矩形薄板,左下角坐标为(0,0),右上角坐标为(W,H),对于n个具有技术约束和围栏区域约束的标准单元的集合C={c1,...,cn},其中单元ci的高度和宽度分别是hi和wi,全局布局中单元ci左下角坐标为
Figure BDA0002464102150000072
在布局区域中,接电源线vdd和接地线vss在行间交错排列,每个单元上都有vdd和vss两种引脚,单元的vdd引脚和vss引脚必须与vdd/vss电源轨道正确对齐。
考虑先进制程约束的混合高度标准单元的合法化目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量和最大位移量最小,并且满足软约束(如技术约束)和以下硬约束条件:1)单元之间必须没有任何重叠。2)单元必须放置在芯片区域内。3)单元必须位于行上的放置点placement sites。4)单元必须满足围栏区域约束。5)单元必须与正确的电源轨道对齐。
在将每个单元对齐到相应子芯片及其最近的正确行之后,将该合法化问题转化为如下二次规划问题:
Figure BDA0002464102150000081
其中,(xi′,yi′)是单元ci的初始位置,
Figure BDA0002464102150000082
是单元放置到最近的正确行时的位置,ei,j为单元ci的右边界到单元cj的左边界所需的最小距离。
所述二次规划问题的目标函数是单元运动距离平方的加权和,其中
Figure BDA0002464102150000083
是单元ci水平运动的权重。如果单元ci的垂直位移大于单元cj的垂直位移,即
Figure BDA0002464102150000084
则目标函数会使单元ci的水平运动小于单元cj的水平运动,以防止某个单元位移过大。此外xj-xi≥wi+ei,j约束保证了单元之间不存在重叠,并且所有边缘间距约束条件都得到满足
为了满足MMSIM求解的收敛性条件,引入多个变量来表示多倍行高单元。如果单元i是单倍行高的,引入变量xi1来表示该单元。否则,将多倍行高标准单元划分成多个单倍行高的子单元,并用变量xi1,xi2,…,xid来表示,其中d是子单元的个数,即
Figure BDA0002464102150000085
则问题(1)转化为:
Figure BDA0002464102150000086
其中,Q是一个对角线矩阵,其对角线元素
Figure BDA0002464102150000087
p的分量是
Figure BDA0002464102150000088
B是约束矩阵,每行只有-1和1两个非零元素,它的行数是约束条件的个数,列数是变量的个数。约束Ex=0确保每个多倍行高标准单元的子单元x坐标是相等的。Q是对称正定矩阵,B是行满秩矩阵,因此可以保证MMSIM的收敛性。
图1中“识别破坏性单元”部分具体实现方法如下:
对每个子芯片分别进行如下操作:先将每行中的所有单元进行分组,同一组中的任何两个相邻单元之间都没有空间。对于每个组g引入三个变量gw、gxmin、gxmax分别表示g中单元的总宽度,单元的最小左侧x坐标和单元的最大右侧x坐标。如果gw-(gxmax-gxmin)>Rh,则将g视为局部密集组,并根据代价函数
Figure BDA0002464102150000091
计算局部密集组中每个单元的代价,标记代价最大的单元并将该单元移出组g。本实施例中,识别破坏性单元算法如图2所示。
图1中“重新分配破坏性单元”部分具体实现方法如下:
对于每种类型的破坏性单元,搜索一些可能的空白空间,然后构造这些单元与空白空间对应的网络流,最后,采用最大流最小割算法找到每个破坏性单元的最佳位置。为了防止单元的过度移动,尤其是防止最大单元位移量过大,在搜索用于放置破坏性单元的空白空间时,允许空白空间的的宽度小于单元的宽度并定义容许最大运动阈值mm、容许宽度阈值fmin和宽度因子f。对于每个破坏性单元ci,至少找到五个可以包含矩形(hi,wi×f)且满足最大运动阈值mm的空白空间。若不能找到五个,减少f并增加mm的值重新搜索空白空间。定义CDT是类型T的破坏性单元集合,SDT是可用于放置CDT中单元的空白空间,将找到的每个空白空间划分为一组只能容纳一个单元的子空白空间,并构建一个所有边的容量为1的网络流,将单元ci∈CDT分配给子空白空间ss∈SSDT的代价定义为
Figure BDA0002464102150000092
其中
Figure BDA0002464102150000093
是单元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在矩形区域
Figure BDA0002464102150000111
中搜索候选单元,其中(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中相同类型单元的总移动量。
Figure BDA0002464102150000112
为一个bin中相同类型单元的集合,PT为CT中单元当前的位置的集合,mm为CT中单元的最大移动量。然后构造二部图G=(CT,PT,E),边(ci,pj)∈E当且仅当单元ci的全局布局的位置与位置pj的距离不大于mm。通过Kuhn-Munkers算法得到该二部图的一个完美匹配
Figure BDA0002464102150000113
使得总代价
Figure BDA0002464102150000114
最小。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (8)

1.一种考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,包括如下步骤:
(1)对围栏区域进行处理,统一围栏区域和默认区域,并将单元对齐到相应子芯片及其最近的正确行;
(2)将合法化问题转化为一个二次规划问题,通过基于模数的矩阵分裂迭代法MMSIM解决所述二次规划问题;
(3)搜索可能导致过度移动的破坏性单元,并将所述破坏性单元重新分配到可能的最佳行中;
(4)检查所有单元,通过部分单元的水平翻转减少边缘间距;
(5)处理存在的单元重叠和违反技术约束单元;
(6)处理剩余的非法单元;
(7)在不违反技术约束的前提下优化最大位移和总位移。
2.根据权利要求1所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(1)的实现方法为:将芯片划分为若干个子芯片,每个子芯片对应一个区域,并将其他区域视为障碍物;划分之后的每个子芯片都有对应的单元和障碍物,以独立地处理每个子芯片上的合法化问题;当对需要被放置在围栏区域内的单元进行合法化时,将默认区域,即除围栏区域之外的空白区域视为障碍物;否则,将围栏区域视为障碍物;
将每个单元对齐到相应子芯片及其最近的正确行,其中,正确行需要满足以下条件:1)单元应放置在相应的子芯片内,且不能与固定宏或障碍物重叠,以满足围栏区域约束;2)单元应满足电源轨道对齐约束;3)金属层k上除vdd及vss引脚外的所有引脚不应与金属层k或金属层k+1上的水平预布线重叠,以免导致因水平预布线引起的引脚短路及接入问题;然后,将每个单元的位置从(xi′,yi′)更新为
Figure FDA0002464102140000011
如果所有单元都被分配到最近的正确行,则单元在垂直方向上的位移总量最小。
3.根据权利要求2所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(2)中,对于VLSI中考虑先进制程约束的混合高度标准单元合法化问题,布局区域是矩形薄板,左下角坐标为(0,0),右上角坐标为(W,H),对于n个具有技术约束和围栏区域约束的标准单元的集合C={c1,...,cn},其中单元ci的高度和宽度分别是hi和wi,全局布局中单元ci左下角坐标为
Figure FDA0002464102140000021
在布局区域中,接电源线vdd和接地线vss在行间交错排列,每个单元上都有vdd和vss两种引脚,单元的vdd引脚和vss引脚必须与vdd及vss电源轨道正确对齐;
考虑先进制程约束的混合高度标准单元的合法化目标是将每个单元ci放置到坐标(xi,yi)上,使得单元总位移量和最大位移量最小,并且满足软约束和以下硬约束条件:1)单元之间必须没有任何重叠;2)单元必须放置在芯片区域内;3)单元必须位于行上的放置点placement sites;4)单元必须满足围栏区域约束;5)单元必须与正确的电源轨道对齐;
在将每个单元对齐到相应子芯片及其最近的正确行之后,将该合法化问题转化为如下二次规划问题:
Figure FDA0002464102140000022
其中,(xi′,yi′)是单元ci的初始位置,
Figure FDA0002464102140000023
是单元放置到最近的正确行时的位置,ei,j为单元ci的右边界到单元cj的左边界所需的最小距离;
所述二次规划问题的目标函数是单元运动距离平方的加权和,其中
Figure FDA0002464102140000024
是单元ci水平运动的权重;如果单元ci的垂直位移大于单元cj的垂直位移,即
Figure FDA0002464102140000025
则目标函数会使单元ci的水平运动小于单元cj的水平运动,以防止某个单元位移过大;此外xj-xi≥wi+ei,j约束保证了单元之间不存在重叠,并且所有边缘间距约束条件都得到满足
为了满足MMSIM求解的收敛性条件,引入多个变量来表示多倍行高单元;如果单元i是单倍行高的,引入变量xi1来表示该单元;否则,将多倍行高标准单元划分成多个单倍行高的子单元,并用变量xi1,xi2,…,xid来表示,其中d是子单元的个数,即
Figure FDA0002464102140000026
则问题(1)转化为:
Figure FDA0002464102140000031
其中,Q是一个对角线矩阵,其对角线元素
Figure FDA0002464102140000032
p的分量是
Figure FDA0002464102140000033
B是约束矩阵,每行只有-1和1两个非零元素,它的行数是约束条件的个数,列数是变量的个数;约束Ex=0确保每个多倍行高标准单元的子单元x坐标是相等的;Q是对称正定矩阵,B是行满秩矩阵,以保证MMSIM的收敛性。
4.根据权利要求3所述的考虑先进制程约束的混合行高标准单元电路合法化方法,其特征在于,所述步骤(3)中,对每个子芯片分别进行如下操作:先将每行中的所有单元进行分组,同一组中的任何两个相邻单元之间都没有空间;对于每个组g引入三个变量gw、gxmin、gxmax分别表示g中单元的总宽度,单元的最小左侧x坐标和单元的最大右侧x坐标;如果gw-(gxmax-gxmin)>Rh,则将g视为局部密集组,并根据代价函数
Figure FDA0002464102140000034
计算局部密集组中每个单元的代价,标记代价最大的单元并将该单元移出组g;
对于每种类型的破坏性单元,搜索一些空白空间,然后构造这些单元与空白空间对应的网络流,最后,采用最大流最小割算法找到每个破坏性单元的最佳位置;在搜索用于放置破坏性单元的空白空间时,允许空白空间的的宽度小于单元的宽度并定义容许最大运动阈值mm、容许宽度阈值fmin和宽度因子f;对于每个破坏性单元ci,至少找到五个可以包含矩形(hi,wi×f)且满足最大运动阈值mm的空白空间;若不能找到五个,减少f并增加mm的值重新搜索空白空间;定义CDT是类型T的破坏性单元集合,SDT是可用于放置CDT中单元的空白空间,将找到的每个空白空间划分为一组只能容纳一个单元的子空白空间,并构建一个所有边的容量为1的网络流,将单元ci∈CDT分配给子空白空间ss∈SSDT的代价定义为
Figure FDA0002464102140000035
其中
Figure FDA0002464102140000036
是单元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在矩形区域
Figure FDA0002464102140000051
中搜索候选单元,其中(xi′,yi′)为全局放置位置,(xi,yi)为当前位置,mi=|xi-xi′|+|yi-yi′|是单元当前位移量;候选单元需满足以下条件:1)与ci交换位置后,放置位置仍然合法;2)与ci交换位置后,违反技术约束的次数没有增加;3)与ci交换位置后,最大移动量减少;最后,选择最大移动量减少最多的候选单元与ci交换位置;如果没有候选单元可与位移最大的单元交换位置,则单元交换过程停止;
然后对总位移进行优化,首先将放置区域矩形划分为M×N个bin;然后对每个bin进行二部匹配,以减少每个bin中相同类型单元的总移动量;
Figure FDA0002464102140000052
为一个bin中相同类型单元的集合,PT为CT中单元当前的位置的集合,mm为CT中单元的最大移动量;然后构造二部图G=(CT,PT,E),边(ci,pj)∈E当且仅当单元ci的全局布局的位置与位置pj的距离不大于mm;通过Kuhn-Munkers算法得到该二部图的一个完美匹配
Figure FDA0002464102140000053
使得总代价
Figure FDA0002464102140000054
最小。
CN202010328496.0A 2020-04-23 2020-04-23 考虑先进制程约束的混合行高标准单元电路合法化方法 Pending CN111539166A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 福州大学 基于最小植入区域约束的混合高度单元布局设计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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