[发明专利]基于云计算平台的大规模集成电路布线的方法及其系统有效
| 申请号: | 201210037921.6 | 申请日: | 2012-02-20 |
| 公开(公告)号: | CN102637217A | 公开(公告)日: | 2012-08-15 |
| 发明(设计)人: | 李卓远;陈刚 | 申请(专利权)人: | 苏州领佰思自动化科技有限公司 |
| 主分类号: | G06F17/50 | 分类号: | G06F17/50 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 215123 江苏省*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 计算 平台 大规模集成电路 布线 方法 及其 系统 | ||
1.基于云计算平台的大规模集成电路布线的方法,其特征在于:在详细布线和设计规则检查修正过程中按照区域将布线问题划若干分成局部的子问题,再所述的些子问题分布到云端的计算机群中进行求解;将布线数据划分成全局共享的静态数据和需要局部更新的动态数据,对于所述静态数据,在所指定若干的计算机上创建相应的数据存储;对于所述动态数据,唯一的主计算机将创建相应的数据存储并跟底层数据库进行交互更新,同时与从计算机之间进行待处理的布局区域内的动态数据的交互更新。
2.根据权利要求1所述的基于云计算平台的大规模集成电路布线的方法的方法,其特征在于,具体包括以下步骤:
步骤1)版图文件和工艺信息文件的读入;
步骤2)主计算机数据初始化和数据转换;
步骤3)从计算机数据初始化;
步骤4)任务处理前所述主计算机与所述从计算机数据交互;
步骤5)详细布线;
步骤6)设计规则检查修正;
步骤7)任务处理后所述主计算机与所述从计算机数据交互;
步骤8)所述主计算机数据更新和输出。
3.用于实现权利要求1或2所述的基于云计算平台的大规模集成电路布线的方法的系统,其特征在于,包括以下模块:文件读取模块(1)、数据转换模块(2)、数据查询模块(3)、云框架模块(4)、详细布线模块(5)和设计规则检查修正模块(6);
所述文件读取模块(1)基于OpenAccess数据平台,使用内置的lef2oa和def2oa命令将输入的LEF/DEF文件转换为OpenAccess文件系统,所述所述文件读取模块(1)运行在OpenAccess数据平台上,开始布线之前,主计算机初始化OpenAccess数据库,等待工作命令;所述LEF/DEF是工业界标准的版图信息和工艺信息描述格式;
在数据转换模块(2)中在OpenAccess平台之上建立数据模型,将布图数据划分为静态数据和动态数据;所述静态数据为在布线过程中保持不变的数据,包括标准单元库、布线网表、布线资源、单元实例、设计规则和时延参数表,通过调用OpenAccess数据接口从数据库中进行访问;所述动态数据为布线模块在布线过程中进行创建,修改和删除的数据,包括金属布线、通孔和违反设计规则标记;在布线之前,从OpenAccess数据库中读取这些数据,并在内存中建立相应的拷贝;在布线过程中,所述详细布线模块(5)会动态的访问修改拷贝中的内容;在某一布线子过程结束之后,将这些数据写回到OpenAccess数据库进行同步更新;
在数据查询模块(3)中提供了对于某一布线区域内所需要的静态和动态数据快速查找的功能;在读取并转换布图数据之后,为所述静态数据和所述动态数据分别建立基于RangeTree的查找树形结构,所述RangTree的查找树形结构将布图区域划分成宽度相同的Slice结构,在每一个Slice结构之内,分别为相应的布图数据建立IntervalTree查找树;对所述于静态数据,建立的查找树包括标准单元实例查找树,布线障碍查找树,电源/地预布线和引脚查找树;对于所述动态数据,在每一布线层上建立金属线查找树,通孔查找树,违反设计规则标记查找树;同时布线子过程也根据需要在工作区域内部建立临时的局部查找树;
在所述云框架模块(4)中包括初始化子模块,任务处理子模块和数据交互子模块。
a.所述初始化子模块:在从OpenAccess数据库中读取并转换布线数据之后,所述主计算机在内存中建立静态和动态数据查找树;然后根据用户的要求,在云端获取相应的计算资源;在确定可使用的从计算机之后,所述主计算机一次性的将布图需要的静态数据发往各个从计算机;所述从计算机接收静态数据并在内存中建立存放这些数据的OpenAccess数据库,并在此之上建立静态数据查找树。
b.所述任务处理子模块:对于用户输入的布线命令,所述主计算机根据规则对布线网表和布线区域进行划分;对于详细布线中产生走线的子过程,按照区域面积进行划分;对于设计规则检查修正子过程,不同线网线间距的检查按照区域中包含的几何图形数量划分,同一线网形状大小检查按照线网划分。划分成同一集合的线网或某一区域形成一个独立的工作任务,送往所述从计算机进行任务执行。
c.所述数据交互子模块:对于某一工作任务,所述主计算机通过所述动态数据查找树,从内存中读取当前线网集合或者布线区域内部的动态数据,然后将这些数据发往相应的从计算机;所述从计算机首先从本地的静态数据查找树中读取工作任务需要的静态数据,在接受到从所述主计算机发过来的动态数据之后,为这些数据建立临时的局部线网/区域的数据查找树;布线子过程通过局部查找树获取相应的数据;在布线子过程完成之后,所述从计算机将新产生的动态数据发回到所述主计算机,所述主计算机将接收到的动态数据写回到内存中并更新动态数据查找树;在某一命令全部执行完毕之后,所述主计算机将内存中的动态数据写回到本地的OpenAccess数据库中;
在所述详细布线模块(5)中对某一布线区域,根据总体布线的结果,确定每个线网跟该区域相交的边界点,这些边界点和区域内部的单元引脚作为详细布线需要连接的端点;根据布线层和布线资源的信息,将布线区域抽象成一个三维的网格结构,所述网格结构上的每两个相邻网格点之间的连接对应于一段金属走线或一个金属通孔;在详细布线开始之前,通过布线障碍,预布线等信息对网格点进行0/1标注,表示该网格点是否可以走线;然后依次处理每条线网按照走线长度费用最小的目标进行初始布线,在前一条线网布线完成之后,根据其走线拓扑对网格点重新标注下一条线网可用的布线资源;
在所有的线网初始布线完成之后,调用所述设计规则检查修正模块(6)进行设计规则检查,标注违反设计规则的走线和线网,按照违反设计规则的面积和数量对线网进行排序,按照先后顺序拆分重布线网;重复该过程直到满足所有的设计规则或是找不到更优的结果;
如果当前区域中仍有存在违反设计规则的线网,调用所述设计规则检查修正模块(6)进行线网拓扑的修正,直到满足设计规则或找不到合理的修正方案;
如果上述步骤完成之后,仍然有违反设计规则的区域,所述从计算机发送请求给所述主计算机,调整布线区域大小,重新发送动态数据到所述从计算机,进行新一轮的布线;
在所述设计规则检查修正模块(6)中对某一布线区域中的布线结果,首先将属于同一线网的金属走线和通孔在每一布线层上合并成多边形的数据表示;然后根据每一条设计规则,在每一布线层上检查该多边形图形是否满足设计规则的要求;
对于不满足要求的线网,首先根据设计规则,构造满足设计规则要求的几何形状,该几何形状可以是当前几何形状增加或者删除一部分走线得到,然后根据该几何形状产生属于该线网的新的走线集合;如果上述操作无法解决所有的设计规则冲突,则在违反设计规则的区域产生禁止走线区域标识,调用详细布线模块在该区域中进行线网拆分重布过程,直到设计规则满足或是找不到满足要求的布线结果为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州领佰思自动化科技有限公司,未经苏州领佰思自动化科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210037921.6/1.html,转载请声明来源钻瓜专利网。





