[发明专利]大规模集成电路分布计算的布局合法化方法及其系统在审
申请号: | 201410321730.1 | 申请日: | 2014-07-08 |
公开(公告)号: | CN104063559A | 公开(公告)日: | 2014-09-24 |
发明(设计)人: | 陈刚;王似飞 | 申请(专利权)人: | 领佰思自动化科技(上海)有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 刘懿 |
地址: | 200000 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大规模集成电路 分布 计算 布局 合法化 方法 及其 系统 | ||
1.大规模集成电路分布计算的布局合法化方法,其特征在于:首先枚举出所有可能相邻摆放的单元模块的组合方式,并将每组单元模块的组合方式作为一个Master对子任务,放入任务池中;其次获取任务池中的Master对子任务,计算出不同旋转方向上且不产生违反设计规则区域的最小间距,将其存储到基于位存储的哈希查找表中;再次将整个布局区域划分为若干布局行,每个布局行作为一个布局子任务,放入任务池中;最后计算每个布局子任务中相邻单元模块间的间距是否满足哈希查找表中存储的值,如果不满足对其进行旋转或者移动,消除所有因为布局的不合理产生违反设计规则的区域;该方法具体包括以下步骤:
步骤1)版图文件和工艺信息文件的读入;
步骤2)生成计算单元模块间最小间距的master对子任务;
步骤3)生成单元模块间最小间距哈希查找表;
步骤4)生成单元模块间距离检测及修复的布局子任务;
步骤5)单元模块间距离检测及修复;
步骤6)布局合法化的结果输出。
2.用于实现上述权利要求1所述的大规模集成电路分布计算的布局合法化方法的系统,其特征在于,包括以下模块:输入输出模块(1)、多线程并行模块(2)、单元模块间最小间距求解模块(3)、布局设计规则检查模块(4)和布局设计规则修复模块(5);
所述输入输出模块(1)包括文件读取模块和文件写出模块;所述输入输出模块(1)基于OpenAcess数据平台,使用内置的lef2oa和def2oa命令将输入的LEF/DEF 文件转换为OpenAcess 内部数据结构,转换为OpenAcess内部数据结构之后,对于包括标准单元、单元实例、布线层及布线资源的静态数据,直接使用OpenAcess的数据接口;对于包括单元模块位置、互连线和通孔的需要修改更新的动态数据,则存放于所述的构造好的OpenAcess内部数据结构中,以便进行后续的操作;布局合法化结束使用内置的oa2def命令将修改了的OpenAcess数据库反标到DEF文件中;所述LEF/DEF文件是工业界标准的版图信息和工艺信息描述格式;
在所述多线程并行模块(2)中按照不同的模块,划分子任务的方式不同;所述单元模块间最小间距求解模块(3)中先计算出所有可能相邻摆放的单元模块的master的组合方式,每种组合作为一个子任务;所述布局设计规则检查模块(4)和所述布局设计规则修复模块(5)将布局区域划分成若干布局行,每一布局行作为一个布局子任务分别交给不同的线程处理;
在所述单元模块间最小间距求解模块(3)中采用位存储方式的哈希查找表对最小间距大于0的单元模块对进行存储,其具体计算方式及存储结构分别如下;
a.单元模块间的最小距离的计算;首先从任务池中取出一对单元模块,根据LEF文件中对芯片的工艺要求,给每个单元模块的Pin创建pin access,即合法的通孔,用于相邻层的走线连接;检测pin fig与pin fig之间的距离是否满足设计约束,且,检测pin fig与pin access及pin access与pin access之间的距离是否满足距离约束,如不满足距离约束,将两个单元模块的间距增加一个Site的大小,进一步检测,直至其完全满足距离约束停止,如果满足设计规则时的距离大于0,要将其存储到哈希查找表中;
b.单元模块间的最小距离的存储;单元模块最小间距的存储结构是基于位存储的哈希查找表,哈希查找表的键值对用96位比特存储,哈希查找表的Key值用64位长的长整形进行存储,其中六位用于存储两个master的旋转方向值,两位用于存储是否为Pin access,其余位用于存储两个master的id,哈希查找表的Value值用32位的整形存储,其中两位用于存储这个距离是否与pin access相关;
在所述布局设计规则检查模块(4)中每一个所述布局行作为一个线程的布局子任务,将每个布局行所有单元模块的位置按照其坐标由小到大的顺序进行排序,将两个相邻单元模块为一组,从左到右的顺序逐步计算这两个单元模块之间的间距,并将这个距离与哈希查找表中存储的两单元模块对应旋转方向上的最小距离进行对比,如果其大于哈希查找表中存储的值,则将其标记为违反设计规则的区域,供下一步所述布局设计规则修复模块(5)进行处理;
在所述布局设计规则修复模块(5)中根据所述布局设计规则检查模块(4)检测出违反设计规则的区域,通过对检测出的这两个相邻单元模块进行旋转或者移动进行修复,消除掉所有违反设计规则的区域,修复的过程是个循环迭代的过程,当消除掉一个违反设计规则的区域,又在一个新的位置产生一个新的违反设计规则的区域,进一步修复新产生的违反设计规则的区域,直至所有的违反设计规则的区域都消除掉。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于领佰思自动化科技(上海)有限公司,未经领佰思自动化科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410321730.1/1.html,转载请声明来源钻瓜专利网。