CN102063538B - 一种自动生成精确负载时序库的方法 - Google Patents
一种自动生成精确负载时序库的方法 Download PDFInfo
- Publication number
- CN102063538B CN102063538B CN 201010612342 CN201010612342A CN102063538B CN 102063538 B CN102063538 B CN 102063538B CN 201010612342 CN201010612342 CN 201010612342 CN 201010612342 A CN201010612342 A CN 201010612342A CN 102063538 B CN102063538 B CN 102063538B
- Authority
- CN
- China
- Prior art keywords
- module
- node
- execution
- read
- capacitance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种自动生成精确负载时序库的方法,包括以下步骤:A、对硬核模块已有的SPICE网表进行分析,生成该模块的电路网络各节点的电容特征文件;B、定义硬核模块需要抽取的输入引脚;从电容特征文件中抽取相应的电容作为时序模型中该输入引脚的负载,产生该硬核模块的模块时序模型;C、定义所需要产生时序模型的硬核列表,调用所产生各个硬核的时序模型,生成包含所有硬核的时序库。本发明从各个硬核模块已有的SPICE网表中提取出输入引脚的精确电容来描述其负载,生成该模块的精确的负载时序模型,并生成包含所有硬核模块时序模型的时序库;相对于现有人工评估的方法,本发明提供的方法可以自动提取时序库,并且精度大为提高。
Description
【技术领域】
本发明涉及超大规模集成电路设计、制造技术领域,特别涉及一种自动生成精确负载时序库的方法。
【背景技术】
在时序分析过程中,需要使用时序库来描述所有硬核模块的时序信息。一般情况下,需要定义模块中输入引脚上的负载,用输入引脚上的电容来表示负载。
在现有阶段,时序模型主要用来使数据完整,以便可以进行后端的时序流程,包括综合、自动布局布线和时序分析,通常采用简单的时序模型就可以满足要求。现有的做法是使用标准库中的单元来大致描述硬核模块的输入负载,比如使用标准库中X2的缓冲单元或者X12的缓冲单元来描述输入引脚的负载,请参阅图1所示,图1列出了一个典型标准库所有缓冲单元所能提供的负载电容列表。这种方式需要设计人员对整个电路的每一个硬核模块的每一个引脚的负载情况进行评估,然后从标准库中选择一个标准单元近似表示这个引脚的输入负载,这个过程复杂而且不够精确。
【发明内容】
本发明的目的是提供一种自动生成精确负载时序库的方法,其能够从已有的硬核模块的SPICE网表中快速提取精确时序库。
为了实现上述目的,本发明采用如下技术方案:
一种自动生成精确负载时序库的方法,包括以下步骤:
步骤S0、建立硬核模块列表和各个硬核模块的引脚列表,然后执行步骤S1;
S1、从模块列表中读取一个模块名,然后执行步骤S2;
S2、判断步骤S1所读取模块名是否为空,是则执行步骤S11,否则执行步骤S3;
S3、读取步骤S1所读取模块的SPICE网表,然后执行步骤S4;
S4、判断步骤3读取SPICE网表是否成功,是则执行步骤S5,否则执行步骤S10程序错误;
S5、提取步骤S3所读取SPICE网表中各节点的电容特征,生成步骤S1所读取模块的电路网络各节点的电容特征文件,然后执行步骤S6;步骤S5包括:S51、建立模块电路拓扑结构,获得模块的SPICE网表中的各个节点的列表;S52、对电路的每一个节点,抽取并进行计算获取该节点的线电容;S53、对电路的每一个节点,抽取并进行计算获取该节点的负载电容;S54、对电路的每一个节点,将S52和S53所获得的电容相加,计算获取该节点的总电容;S55、判断所述网络的各个节点的电容是否计算完毕:若是则结束此过程,同时生成模块电路网络各个节点的电容特征文件;如不是则继续执行S51;
S6、从步骤S1所读取的模块的引脚列表中读取一个引脚名,然后执行步骤S7;
S7、判断步骤S6读取引脚名是否为空,是则执行步骤S9,否则执行步骤S8;
S8、从步骤S5生成的该模块电路网络各节点的电容特征文件中提取步骤S6读取引脚的负载,然后返回执行步骤S6;
S9、步骤S7读取的引脚名为空时,生成该模块已经提取的引脚的时序模型,然后返回执行步骤S1;
S10、步骤S4读取失败时结束提取过程,程序错误;
S11、调用已经生成的各模块的时序模型,生成所有模块的时序库。
所述步骤S53具体包括:
S531、抽取并进行计算获取该节点的线电容(C_wire);
S532、抽取并进行计算获取该节点的自感电容(C_self);
S533、抽取并进行计算获取该节点的门电容(C_gate);
S534、抽取并进行计算获取该节点的节电容(C_diod);
S535、抽取并进行计算获取该节点的耦合电容(C_ovlp);
S536、将上述步骤S531、S532、S533、S534、S535中提取的各个电容相加,获得该节点的负载电容(C_load)。
所述步骤S11具体包括:
S111、生成一个空白的时序库;
S112、定义整个硬核电路需要产生时序模型的模块列表;
S113、从模块列表中读取一个模块,读取步骤S9生成的该模块的时序模型文件掺入时序库中;然后继续执行步骤S113读取另一模块;
S114、判断各个模块的时序模型是否插入完毕:若是则结束此过程,同时生成本发明的时序库;如不是则继续执行S113。
与现有技术相比,本发明具有以下优点:一种自动生成精确负载时序库的方法可以从硬核模块已有的SPICE网表中提取出该硬核模块中每个输入引脚的精确电容来描述对应输入引脚的负载,生成精确的负载时序库;相对于现有人工评估的方法,精度大为提高,能够满足大规模集成电路的小型化设计对时序库高精度的要求。
【附图说明】
图1是某典型标准库所有缓冲单元所能提供的负载电容列表;在这个标准库中,提供了单元从X1到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所示,本发明提供的一种自动生成精确负载时序库的方法,具体包括以下步骤:
步骤S0、建立硬核模块列表和各个硬核模块的引脚列表,然后执行步骤S1;
步骤S1、从模块列表中读取一个模块名,然后执行步骤S2;
步骤S2、判断步骤S1所读取模块名是否为空,是则执行步骤S11,否则执行步骤S3;
步骤S3、读取步骤S1所读取模块的SPICE网表,然后执行步骤S4;
步骤S4、判断步骤3读取SPICE网表是否成功,是则执行步骤S5,否则执行步骤S10程序错误;
步骤S5、提取步骤S3所读取SPICE网表中各节点的电容特征,生成步骤S1所读取模块的电路网络各节点的电容特征文件,然后执行步骤S6;
步骤S6、从步骤S1所读取的模块的引脚列表中读取一个引脚名,然后执行步骤S7;
步骤S7、判断步骤S6读取引脚名是否为空,是则执行步骤S9,否则执行步骤S8;
步骤S8、从步骤S5生成的该模块电路网络各节点的电容特征文件中提取步骤S6读取引脚的负载,然后返回执行步骤S6;
步骤S9、步骤S7读取的引脚名为空时,生成该模块已经提取的引脚的时序模型,然后返回执行步骤S1;
步骤S10、步骤S4读取失败时结束提取过程,程序错误;
步骤S11、调用已经生成的各模块的时序模型,生成所有模块的时序库。
其中步骤S5具体包括以下步骤:
S51、建立电路拓扑结构,获得SPICE网表中的各个节点的列表;
S52、对电路的每一个节点,抽取并进行计算获取该节点的线电容;
S53、对电路的每一个节点,抽取并进行计算获取该节点的负载电容;
S54、对电路的每一个节点,将S52和S53所获得的电容相加,计算获取该节点的总电容(C_tot);
S55、判断所述网络的各个节点的电容是否计算完毕:若是则结束此过程,同时生成该模块电路网络各个节点的电容特征文件;如不是则继续执行S51。
请参阅图4所示,为典型的反相器电路及其一个节点电路网络分析后的电容报告图来具体说明步骤S53。
步骤S53具体包括:
S531、抽取并进行计算获取该节点的线电容(C_wire);
S532、抽取并进行计算获取该节点的自感电容(C_self);
S533、抽取并进行计算获取该节点的门电容(C_gate);
S534、抽取并进行计算获取该节点的节电容(C_diod);
S535、抽取并进行计算获取该节点的耦合电容(C_ovlp);
S536、将上述步骤S531、S532、S533、S534、S535中提取的各个电容相加,获得该节点的负载电容(C_load)。
步骤S8具体步骤为:在所生成的该硬核电路网络各个节点的电容特征文件中,以该引脚名为关键字作为节点名,扫描该节点定义找到C_tot所对应的电容值,作为该引脚的电容特征;
步骤S11具体包括:
S111、生成一个空白的时序库;
S112、定义整个硬核电路需要产生时序模型的模块列表;
S113、从模块列表中读取一个模块,读取步骤S9生成的该模块的时序模型文件掺入时序库中;然后继续执行步骤S113读取另一模块;
S114、判断各个模块的时序模型是否插入完毕:若是则结束此过程,同时生成本发明的时序库;如不是则继续执行S113。
请参阅图5所示,相对于使用传统方法对输入引脚的负载评估后从图1标准库中选取近似的负载来描述输入引脚的负载,本发明方法提取真实负载描述输入引脚的负载,精度提高可达35%。
本发明从硬核模块已有的SPICE网表中提取出该硬核模块中每个输入引脚的精确电容来描述对应输入引脚的负载,生成精确负载的时序库;相对于现有人工评估的方法,本发明提供的方法可以自动提取时序库,并且精度大为提高,能够满足超大规模集成电路设计中快速建立高精度负载时序库的要求。
Claims (3)
1.一种自动生成精确负载时序库的方法,其特征在于,包括以下步骤:
步骤S0、建立硬核模块列表和各个硬核模块的引脚列表,然后执行步骤S1;
S1、从模块列表中读取一个模块名,然后执行步骤S2;
S2、判断步骤S1所读取模块名是否为空,是则执行步骤S11,否则执行步骤S3;
S3、读取步骤S1所读取模块的SPICE网表,然后执行步骤S4;
S4、判断步骤3读取SPICE网表是否成功,是则执行步骤S5,否则执行步骤S10程序错误;
S5、提取步骤S3所读取SPICE网表中各节点的电容特征,生成步骤S1所读取模块的电路网络各节点的电容特征文件,然后执行步骤S6;步骤S5包括:S51、建立模块电路拓扑结构,获得模块的SPICE网表中的各个节点的列表;S52、对电路的每一个节点,抽取并进行计算获取该节点的线电容;S53、对电路的每一个节点,抽取并进行计算获取该节点的负载电容;S54、对电路的每一个节点,将S52和S53所获得的电容相加,计算获取该节点的总电容;S55、判断所述网络的各个节点的电容是否计算完毕:若是则结束此过程,同时生成模块电路网络各个节点的电容特征文件;如不是则继续执行S51;
S6、从步骤S1所读取的模块的引脚列表中读取一个引脚名,然后执行步骤S7;
S7、判断步骤S6读取引脚名是否为空,是则执行步骤S9,否则执行步骤S8;
S8、从步骤S5生成的该模块电路网络各节点的电容特征文件中提取步骤S6读取引脚的负载,然后返回执行步骤S6;
S9、步骤S7读取的引脚名为空时,生成该模块已经提取的引脚的时序模型,然后返回执行步骤S1;
S10、步骤S4读取失败时结束提取过程,程序错误;
S11、调用已经生成的各模块的时序模型,生成所有模块的时序库。
2.如权利要求1所述一种自动生成精确负载时序库的方法,其特征在于,所述步骤S53具体包括:
S531、抽取并进行计算获取该节点的线电容(C_wire);
S532、抽取并进行计算获取该节点的自感电容(C_self);
S533、抽取并进行计算获取该节点的门电容(C_gate);
S534、抽取并进行计算获取该节点的节电容(C_diod);
S535、抽取并进行计算获取该节点的耦合电容(C_ovlp);
S536、将上述步骤S531、S532、S533、S534、S535中提取的各个电容相加,获得该节点的负载电容(C_load)。
3.如权利要求1所述一种自动生成精确负载时序库的方法,其特征在于,所述步骤S11具体包括:
S111、生成一个空白的时序库;
S112、定义整个硬核电路需要产生时序模型的模块列表;
S113、从模块列表中读取一个模块,读取步骤S9生成的该模块的时序模型文件掺入时序库中;然后继续执行步骤S113读取另一模块;
S114、判断各个模块的时序模型是否插入完毕:若是则结束此过程,同时生成本发明的时序库;如不是则继续执行S113。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010612342 CN102063538B (zh) | 2010-12-29 | 2010-12-29 | 一种自动生成精确负载时序库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010612342 CN102063538B (zh) | 2010-12-29 | 2010-12-29 | 一种自动生成精确负载时序库的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063538A CN102063538A (zh) | 2011-05-18 |
CN102063538B true CN102063538B (zh) | 2012-07-04 |
Family
ID=43998812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010612342 Active CN102063538B (zh) | 2010-12-29 | 2010-12-29 | 一种自动生成精确负载时序库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063538B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10586004B2 (en) * | 2015-06-22 | 2020-03-10 | Altera Corporation | Method and apparatus for utilizing estimations for register retiming in a design compilation flow |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100378737C (zh) * | 2005-11-29 | 2008-04-02 | 知亿科技股份有限公司 | 电路设计辅助方法 |
US7802209B2 (en) * | 2007-07-13 | 2010-09-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for reducing timing libraries for intra-die model in statistical static timing analysis |
CN101751496B (zh) * | 2009-12-16 | 2012-05-23 | 浙江大学 | 一种快速提取sram时序库的方法 |
-
2010
- 2010-12-29 CN CN 201010612342 patent/CN102063538B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102063538A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107256303B (zh) | 快速获取数字门级电路内部节点仿真状态的方法 | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
US8806413B2 (en) | Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models | |
Martins et al. | AIDA: Automated analog IC design flow from circuit level to layout | |
US8893066B2 (en) | Parasitic component library and method for efficient circuit design and simulation using the same | |
TW200837591A (en) | Circuit-design-modifying method executable in computer system | |
CN108170956A (zh) | 一种保持时间的时序签核方法及装置 | |
CN112069763B (zh) | 修正电路的方法 | |
CN103150440A (zh) | 一种模块级电路网表仿真方法 | |
CN103258067B (zh) | 一种可配置片上系统中保持架构、软件及硬件一致性的方法 | |
US7139991B2 (en) | Automatic method and system for instantiating built-in-test (BIST) modules in ASIC memory designs | |
CN103870617A (zh) | 低频芯片自动布局布线方法 | |
TW201528017A (zh) | 透過考量不同電路拓撲之輸入波形產生來特徵化元件 | |
CN102063538B (zh) | 一种自动生成精确负载时序库的方法 | |
US7925998B2 (en) | Delay calculating method in semiconductor integrated circuit | |
CN100474311C (zh) | 优化可制造性的集成电路设计 | |
US20090037860A1 (en) | Apparatus, system and method for simulating operation of circuit | |
CN100527138C (zh) | 集成电路元件的模拟实例产生方法与装置 | |
CN115270674B (zh) | 一种基于自动化的带时序裕量的lib提取方法和装置 | |
US20100131458A1 (en) | Generation of an extracted timing model file | |
US7200826B2 (en) | RRAM memory timing learning tool | |
JPWO2011074029A1 (ja) | 集積回路消費電力計算装置,処理方法およびプログラム | |
CN115859902B (zh) | 一种基于D-tree虚拟时钟结构的时钟树生长方法 | |
CN110991136B (zh) | 一种芯片的性能模拟验证方法及装置 | |
CN113688587B (zh) | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP03 | Change of name, title or address |
Address after: 710075 Shaanxi City, Xi'an province high tech Road No. 38, innovation center, A, block, floor 4 Patentee after: XI'AN UNIIC SEMICONDUCTORS Co.,Ltd. Patentee after: Shandong Sinochip Semiconductors Co., Ltd. Address before: 710055 Shaanxi City, Xi'an province high tech Road No. 38, innovation center, A, block, floor 4 Patentee before: Xi'an Sinochip Semiconductors Co., Ltd. Patentee before: Shandong Sinochip Semiconductors Co., Ltd. |