[发明专利]一种用于Memory Compiler的netlist生成时进行连线的方法在审
| 申请号: | 201410758953.4 | 申请日: | 2014-12-12 |
| 公开(公告)号: | CN105740492A | 公开(公告)日: | 2016-07-06 |
| 发明(设计)人: | 虞宙;苏毅;方伟;张静;窦江华 | 申请(专利权)人: | 北京华大九天软件有限公司;中芯国际集成电路制造(北京)有限公司 |
| 主分类号: | G06F17/50 | 分类号: | G06F17/50;G06F9/44 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100102 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 memory compiler netlist 生成 进行 连线 方法 | ||
技术领域
本专利是一种在MemoryCompiler的netlist生成时通过读取配置文件来对指定层次路径上的指定端口进行连线的方法,属于微电子技术领域中的集成电路设计技术。
背景技术
在MemoryCompiler的网表生成模块中,通常采用netlistrule来定义对LeafCellCDL的拼接方法,而该rule文件通常是以每一类子电路(subckt)定义一个生成函数的方式实现的。
在实际设计rule文件时,经常会出现需要在已有的设计基础上增加连线的情况,原来的做法是直接去修改相关的生成函数,这样做的缺点是:涉及的生成函数会比较多,改动量大,而且修改的部分难以维护和管理。
本专利针对上面的情况,设计了一种通过配置文件来定义要添加的连线的方法,程序会在正常的拼接完成后,通过读取配置文件中的定义,在指定的层次路径上进行自动连线,并且可以对指定的子电路添加要连线的新端口。
发明内容
通常MemoryCompiler的网表生成模块的基本流程是:
1.读取netlistrule。
2.读取leafcellCDL。
3.根据netlistrule对leafcellCDL进行拼接,在内存中生成层次网表结构。
4.输出成CDL网表。
本方法是在上述第3,4步之间进行的操作(见图1),具体步骤如下:
1.读取配置文件,得到要连线的所有定义。
2.对上述每一条定义,检查其合法性,保留合法的定义,对于错误的定义进行报错。
3.对每条合法的定义,修改内存中相关子电路的链接关系以及端口列表,并将可能产生连接冲突的情况报警。
综上所述,本方法把进行层次连线的操作包装成了一个操作,使用者只需要定义好要连线的层次路径和端口即可,程序还会将定义中的错误和冲突报告出来以便使用者修改。
附图说明
下面结合附图和实施例对本方法进一步说明。
图1为使用了本方法的netlist生成的基本流程。其中虚线部分为本方法增加的部分。
图2为要进行连线的一个网表的引用层次。其中A调用B调用C。如果需要增加portTEST及连线,用原有方法,需要修改A,B,C三个拼接函数,在其函数中增加TESTport和连线。
图3为用新的方法完成连线和增加port要做的工作。不用修改rule文件中生成函数,只需在配置文件中定义指定的层次路径上要进行的连线,即虚线部分。
具体实施方式
发明内容中的几个主要步骤如下:
1.读取配置文件,假设其内容为:cells['A']=[['VSS','B;VSS','C;GND']],其含义就是要进行如图2的连线。
2.根据运行后的内存中的层次网表结构,检查A->B->C路径是否存在等合法性。
3.对要连线的路径上的子电路进行遍历,做相应的修改:
a)A中,在调用子单元B时,在最后一位增加连线VSS。
b)B中,在调用子单元C时,在其GND端口对应位置增加连线VSS;并且在B的端口列表的最后增加端口VSS。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华大九天软件有限公司;中芯国际集成电路制造(北京)有限公司,未经北京华大九天软件有限公司;中芯国际集成电路制造(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410758953.4/2.html,转载请声明来源钻瓜专利网。





