一种自动生成精确负载时序库的方法技术

技术编号:5510647 阅读:185 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种自动生成精确负载时序库的方法,包括以下步骤:A、对硬核模块已有的SPICE网表进行分析,生成该模块的电路网络各节点的电容特征文件;B、定义硬核模块需要抽取的输入引脚;从电容特征文件中抽取相应的电容作为时序模型中该输入引脚的负载,产生该硬核模块的模块时序模型;C、定义所需要产生时序模型的硬核列表,调用所产生各个硬核的时序模型,生成包含所有硬核的时序库。本发明专利技术从各个硬核模块已有的SPICE网表中提取出输入引脚的精确电容来描述其负载,生成该模块的精确的负载时序模型,并生成包含所有硬核模块时序模型的时序库;相对于现有人工评估的方法,本发明专利技术提供的方法可以自动提取时序库,并且精度大为提高。

【技术实现步骤摘要】

本专利技术涉及超大规模集成电路设计、制造
,特别涉及一种自动生成精确 负载时序库的方法。
技术介绍
在时序分析过程中,需要使用时序库来描述所有硬核模块的时序信息。一般情况 下,需要定义模块中输入引脚上的负载,用输入引脚上的电容来表示负载。在现有阶段,时序模型主要用来使数据完整,以便可以进行后端的时序流程,包括 综合、自动布局布线和时序分析,通常采用简单的时序模型就可以满足要求。现有的做法是 使用标准库中的单元来大致描述硬核模块的输入负载,比如使用标准库中X2的缓冲单元 或者X12的缓冲单元来描述输入引脚的负载,请参阅图1所示,图1列出了一个典型标准库 所有缓冲单元所能提供的负载电容列表。这种方式需要设计人员对整个电路的每一个硬核 模块的每一个引脚的负载情况进行评估,然后从标准库中选择一个标准单元近似表示这个 引脚的输入负载,这个过程复杂而且不够精确。
技术实现思路
本专利技术的目的是提供,其能够从已有的硬核 模块的SPICE网表中快速提取精确时序库。为了实现上述目的,本专利技术采用如下技术方案,包括生成模块电路网络各节点的电容特征 文件的步骤S5,该步骤包括S51、建立模块电路拓扑结构,获得模块的SPICE网表中的各个节点的列表;S52、对电路的每一个节点,抽取并进行计算获取该节点的线电容;S53、对电路的每一个节点,抽取并进行计算获取该节点的负载电容;S54、对电路的每一个节点,将S52和S53所获得的电容相加,计算获取该节点的总 电容;S55、对各个节点的电容计算获取各个节点的负载电容和总电容;S56、判断所述网络的各个节点的电容是否计算完毕若是则结束此过程,同时生 成模块电路网络各个节点的电容特征文件;如不是则继续执行S51。所述步骤S53具体包括S531、抽取并进行计算获取该节点的线电容(C_wire);S532、抽取并进行计算获取该节点的自感电容(C_Self);S533、抽取并进行计算获取该节点的门电容(C_gate);S534、抽取并进行计算获取该节点的门电容(C_diod)3 ;S535、抽取并进行计算获取该节点的耦合电容(C_ovlp);S536、将上述步骤S531、S532、S533、S534、S535中提取的各个电容相加,获得该节点的负载电容(C_load)。所述自动生成精确负载时序库的方法还包括以下步骤步骤SO、建立硬核模块列表和各个硬核模块的引脚列表,然后执行步骤Sl ;Si、从模块列表中读取一个模块名,然后执行步骤S2 ;S2、判断步骤Sl所读取模块名是否为空,是则执行步骤S11,否则执行步骤S3 ;S3、读取步骤Sl所读取模块的SPICE网表,然后执行步骤S4 ;S4、判断步骤3读取SPICE网表是否成功,是则执行步骤S5,否则执行步骤SlO程 序错误;S6、从步骤Sl所读取的模块的引脚列表中读取一个引脚名,然后执行步骤S7 ;S7、判断步骤S6读取引脚名是否为空,是则执行步骤S9,否则执行步骤S8 ;S8、从步骤S5生成的该模块电路网络各节点的电容特征文件中提取步骤S6读取 引脚的负载,然后返回执行步骤S6 ;S9、步骤S7读取的引脚名为空时,生成该模块已经提取的引脚的时序模型,然后 返回执行步骤Si ;S10、步骤S4读取失败时结束提取过程,程序错误;S11、调用已经生成的各模块的时序模型,生成所有模块的时序库。所述步骤Sll具体包括S111、生成一个空白的时序库;S112、定义整个硬核电路需要产生时序模型的模块列表;S113、从模块列表中读取一个模块,读取步骤S9生成的该模块的时序模型文件掺 入时序库中;然后继续执行步骤S113读取另一模块;S114、判断各个模块的时序模型是否插入完毕若是则结束此过程,同时生成本发 明的时序库;如不是则继续执行S113。与现有技术相比,本专利技术具有以下优点可 以从硬核模块已有的SPICE网表中提取出该硬核模块中每个输入引脚的精确电容来描述 对应输入引脚的负载,生成精确的负载时序库;相对于现有人工评估的方法,精度大为提 高,能够满足大规模集成电路的小型化设计对时序库高精度的要求。附图说明图1是某典型标准库所有缓冲单元所能提供的负载电容列表;在这个标准库中, 提供了单元从Xl到X60的18种缓冲单元,他们分别提供了不同的电容,可以用来近似表示 硬核某一个输入引脚的电容。图2为本专利技术主体流程图;主体流程图主要由三部分完成电路网络各节点的电 容特征分析,电容参数提取和时序库产生。图3为本专利技术详细流程图。图4为一个典型的反相器电路及其一个节点电路网络分析后的电容报告图;其中 C_wire表示线上电容;C_self表示自感电容;C_gate表示门电容;C_diod表示节电容;C_ ovlp表示耦合电容;C_load表示负载电容;C_tot表示总电容。图5是使用本方法提取的电容相对于采用缓冲单元来近似表示电容精度提高的情况;可以看出,精度最大可以提高35 %。具体实施方式下面结合附图对本专利技术做进一步详细描述。请参阅图2所示,本专利技术包括以下主要步骤:A、给定硬核模块的电路网络分析对 硬核模块已有的SPICE网表进行分析,生成该硬核的电路网络各个节点的电容特征文件; B、给定硬核模块的电容参数提取定义硬核模块需要抽取的输入引脚;从电容特征文件中 抽取相应的电容作为时序模型中该输入引脚的负载,产生该硬核模块的模块时序模型;C、 包含所有硬核模块的时序库产生定义所需要产生时序模型的硬核列表,调用所产生各个 硬核的时序模型,生成包含所有硬核的时序库。请参阅图3所示,本专利技术提供的,具体包括 以下步骤步骤SO、建立硬核模块列表和各个硬核模块的引脚列表,然后执行步骤Sl ;步骤Si、从模块列表中读取一个模块名,然后执行步骤S2 ;步骤S2、判断步骤Sl所读取模块名是否为空,是则执行步骤S11,否则执行步骤 S3 ;步骤S3、读取步骤Sl所读取模块的SPICE网表,然后执行步骤S4 ;步骤S4、判断步骤3读取SPICE网表是否成功,是则执行步骤S5,否则执行步骤 SlO程序错误; 步骤S5、提取步骤S3所读取SPICE网表中各节点的电容特征,生成步骤Sl所读取 模块的电路网络各节点的电容特征文件,然后执行步骤S6 ;步骤S6、从步骤Sl所读取的模块的引脚列表中读取一个引脚名,然后执行步骤 S7 ;步骤S7、判断步骤S6读取引脚名是否为空,是则执行步骤S9,否则执行步骤S8 ;步骤S8、从步骤S5生成的该模块电路网络各节点的电容特征文件中提取步骤S6 读取引脚的负载,然后返回执行步骤S6 ;步骤S9、步骤S7读取的引脚名为空时,生成该模块已经提取的引脚的时序模型, 然后返回执行步骤Sl ;步骤S10、步骤S4读取失败时结束提取过程,程序错误;步骤S11、调用已经生成的各模块的时序模型,生成所有模块的时序库。其中步骤S5具体包括以下步骤S51、建立电路拓扑结构,获得SPICE网表中的各个节点的列表;S52、对电路的每一个节点,抽取并进行计算获取该节点的线电容;S53、对电路的每一个节点,抽取并进行计算获取该节点的负载电容;S54、对电路的每一个节点,将S52和S53所获得的电容相加,计算获取该节点的总 电容(C_tot);S55、对各个节点的电容计算获取各个节点的本文档来自技高网...

【技术保护点】
一种自动生成精确负载时序库的方法,其特征在于,包括生成模块电路网络各节点的电容特征文件的步骤S5,该步骤包括:S51、建立模块电路拓扑结构,获得模块的SPICE网表中的各个节点的列表;S52、对电路的每一个节点,抽取并进行计算获取该节点的线电容;S53、对电路的每一个节点,抽取并进行计算获取该节点的负载电容;S54、对电路的每一个节点,将S52和S53所获得的电容相加,计算获取该节点的总电容;S55、对各个节点的电容计算获取各个节点的负载电容和总电容;S56、判断所述网络的各个节点的电容是否计算完毕:若是则结束此过程,同时生成模块电路网络各个节点的电容特征文件;如不是则继续执行S51。

【技术特征摘要】

【专利技术属性】
技术研发人员:江喜平王斌
申请(专利权)人:西安华芯半导体有限公司山东华芯半导体有限公司
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1