[发明专利]基于线性规划的大规模集成电路通道布线方法在审
申请号: | 201410321710.4 | 申请日: | 2014-07-08 |
公开(公告)号: | CN104063558A | 公开(公告)日: | 2014-09-24 |
发明(设计)人: | 陈刚;李卓远;李佐渭 | 申请(专利权)人: | 领佰思自动化科技(上海)有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 刘懿 |
地址: | 200000 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 线性规划 大规模集成电路 通道 布线 方法 | ||
1.基于线性规划的大规模集成电路通道布线方法,其特征在于:将不同层上的通道布线问题划分成每个布线单元行内的通道布线子问题,并分别建模成线性规划问题进行求解;每个布线单元行内部的所有走线统一建模,并且将线长优化、设计规则检查以及时延优化问题分别描述为该线性规划问题的约束条件,最后求解该线性规划问题,在满足费用最小化的情况下得到各个布线的最佳放置通道。
2.根据权利要求1所述的基于线性规划的大规模集成电路通道布线方法,其特征在于,具体方法如下:
将总体布线之后的全局布线结果按照每一金属层的走向划分成一系列水平和垂直的布线单元行;然后通过区域查找得到每个布线单元行内部的布线段集合;所述的线性规划问题处理的对象就是所述每个布线单元行内部的布线段,同时将布线资源、标准单元、布线障碍、预布线信息从OpenAccess数据库中读取并转换为OpenAccess内部数据结构;
对于每一个布线单元行内从布线到布线通道的分配问题,待分配的对象为布线单元行内部的走线,分配的容器为不同的布线通道,每段走线只能放置在一个布线通道内部,同一个布线通道可以放置多个走线;每段走线都包含一系列comp表示它的连接关系,每个comp都记录了一段合理的通道范围表明走线在该comp上的理想区域;
Comp有3种类型:kCompFromBelow表示该走线在这个comp上与下一层布线层上的走线有连接关系;kCompFromAbove表示该走线在这个comp上与上一层布线层上的走线有连接关系;kCompFromPin表示该走线在这个comp上与芯片的引脚或者芯片内部某个实例单元上的引脚有连接关系;对于第i个布线段和第j个布线通道,其分配费用Cij由以下方法确定:
a. 初始化分配费用为0,遍历第i个布线段上所有的comp,若当前comp的类型为kCompFromPin,则分配费用加上第j个布线通道与comp记录的通道范围的距离的8倍,当前comp的类型为kCompFromBelow或kCompFromAbove,则分配费用加上第j个布线通道与comp记录的通道范围的距离;
b. 若所述第j个布线通道上存在布线障碍,则所述第j个布线通道的分配费用将加上相应的惩罚权重kMaxCost;
c. 若所述第j个布线通道上存在与所述第i个布线段不同线网的预布线且它们之间有重叠长度为overlap_length并且大于0,则所述第j 个布线通道的分配费用将加上相应的惩罚权重kShortCost + overlap_length;
d. 若所述第j个布线通道上存在其他线网的引脚且布线i经过的引脚数目为Npin并且Npin大于0,则所述第j个布线通道的分配费用将加上相应的惩罚权重Npin乘以kAccessCost;
e. 若与线网i有连接关系的下一层布线层的走线所在的通道上放置了其他线网的布线且该布线与第j个通道相交,则所述第j个布线通道的分配费用将加上相应的惩罚权重kShortLowerCost;
基于上述分配费用,所述的线性规划问题的基本目标函数描述为:
Minimize(1)
其中取值1或者0,分别表示布线i是否放在通道j上;
所述的线性规划问题的约束条件有以下几个:
a. 同一个布线只能放在一个通道上;对于布线i,有
(2)
其中T为通道数目;
b. 同一个通道上放置重叠长度最少的布线组合;每次取得一个互相重叠的布线最大团CLIQUE;对于该CLIQUE和布线通道j,有
(3)
其中y为松弛变量,取值为整数,其反应在目标函数中的惩罚系数为kOverlapCost;
c. 以每段布线经过的连续子单元为基本单位,考虑每个布线单元行内上一层的走线分布情况,若上一层的所有走线需要的通道数目大于实际的通道数目,那么记录当前层在该单布线元行内的布线拓扑结构:
若走线i和上一层的走线有连接关系且上一层的走线以该单元为起始单元,将走线i加入集合OUT_ROUTES;若走线i和上一层的走线有连接关系且上一层的走线以该布线单元行为结束单元, 将走线i加入集合IN_ROUTES;若走线i和上一层的走线有连接关系且上一层的走线以该布线单元行为起始单元和结束单元, 将走线i加入集合VIA_ROUTES;
上述3个集合对应了3种约束:IN_ROUTES中的布线所放置的通道下标要小于VIA_ROUTES中的布线所放置的通道下标;VIA_ROUTES中的布线所放置的通道下标要小于OUT_ROUTES中的布线所放置的通道下标;IN_ROUTES中的布线所放置的通道下标要小于OUT_ROUTES中的布线所放置的通道下标;约束模型化为:
(4)
其中s和t分别表示IN_ROUTES和VIA_ROUTES或者VIA_ROUTES和IN_ROUTES或者IN_ROUTES和OUT_ROUTES中的布线, y为松弛变量,取值为整数,其反应在目标函数中的惩罚系数为T乘以kOrderCost;
d. 对于一些特殊的走线,比如时延优化中的关键路径上的走线或者用户自定义规则的走线,它们的相邻的通道上不允许放其他走线,对于特殊布线i,和它有重叠的所有其他走线集合记为OVLP_NETS, 约束模型化为:
(5)
其中y为松弛变量,取值为整数,其反应在目标函数中的惩罚系数为T*kSpaceCost;
基于上述约束条件,所述的线性规划问题的目标函数为所述基本目标函数(1)加上所有惩罚系数乘以惩罚变量;然后在所述线性规划问题求解模块中利用已知的求解器lpsolve求解得到最终的布线道分配方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于领佰思自动化科技(上海)有限公司,未经领佰思自动化科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410321710.4/1.html,转载请声明来源钻瓜专利网。