CN109902318B - 生成标准延时格式文件的方法和装置 - Google Patents
生成标准延时格式文件的方法和装置 Download PDFInfo
- Publication number
- CN109902318B CN109902318B CN201711284392.9A CN201711284392A CN109902318B CN 109902318 B CN109902318 B CN 109902318B CN 201711284392 A CN201711284392 A CN 201711284392A CN 109902318 B CN109902318 B CN 109902318B
- Authority
- CN
- China
- Prior art keywords
- standard
- time sequence
- delay
- format file
- violation
- 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
本发明提供一种生成标准延时格式文件的方法和装置。所述方法包括:根据芯片所使用的标准单元库及输入文件,对芯片进行时序分析,确定时序违例的标准单元;使用时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换时序违例的标准单元,得到修复时序的tcl格式文件;根据tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件;将标准延时格式文件中用于替换时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。本发明能够在不改变网表的情况下,在后端时序收敛前期生成同时满足Setup/Hold时序要求的SDF文件。
Description
技术领域
本发明涉及芯片设计技术领域,尤其涉及一种生成标准延时格式文件的方法和装置。
背景技术
对于ASIC芯片设计来说,在芯片后端时序收敛的过程中需要输出标准延时格式(Standard Delay Format,SDF)文件,通过带SDF文件的后仿真能够发现芯片可能存在的约束错误或者设计错误。
SDF文件由后端时序收敛工具通过读入Netlist网表和SPEF寄生参数产生,SDF文件描述了设计中每一个单元cell/net的延迟和时序单元的Setup/Hold检查值,后仿真工具在读入该SDF文件反标之后,就能输出接近于真实的波形和工作环境,从而最终验证芯片是否能够正确工作。
但是在设计过程中,提供满足Setup/Hold时序要求的SDF文件的时间点一般比较晚,带SDF的后仿真发现问题后,进行修改的时间相应就会很短,因此在后端时序收敛前期如何生成同时满足Setup/Hold时序要求的SDF文件显得很有必要。
目前业界常用的方法是set_annotated_delay,通过增加额外annotated_delay只能满足Hold时序要求,不能满足Setup时序要求,对于Setup时序则需要后仿真通过降频来规避时序违例和完成仿真。而降频的问题也是显而易见,对于一些真实问题将可能因为降频而无法得到验证,因此现有方法具有很大的局限性。
发明内容
本发明提供的生成标准延时格式文件的方法和装置,能够在不改变网表的情况下,在后端时序收敛前期生成同时满足Setup/Hold时序要求的SDF文件。
第一方面,本发明提供一种生成标准延时格式文件的方法,包括:
根据芯片所使用的标准单元库及输入文件,对所述芯片进行时序分析,确定时序违例的标准单元;
通过size_cell的方法,使用所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换所述时序违例的标准单元,得到修复时序的tcl格式文件;
根据所述tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件;
将所述标准延时格式文件中用于替换所述时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。
可选地,所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元包括延时为delayX50、delayX10、delayX5、delayX0.1或者delayX0.01的虚拟单元,其中delay为所述时序违例的标准单元的延时。
可选地,所述输入文件包括:网表文件、标准寄生交换格式文件和延时约束文件。
第二方面,本发明提供一种生成标准延时格式文件的装置,包括:
确定模块,用于根据芯片所使用的标准单元库及输入文件,对所述芯片进行时序分析,确定时序违例的标准单元;
替换模块,用于通过size_cell的方法,使用所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换所述时序违例的标准单元,得到修复时序的tcl格式文件;
生成模块,用于根据所述tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件;
修改模块,用于将所述标准延时格式文件中用于替换所述时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。
可选地,所述替换模块所使用的时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元包括延时为delayX50、delayX10、delayX5、delayX0.1或者delayX0.01的虚拟单元,其中delay为所述时序违例的标准单元的延时。
可选地,所述输入文件包括:网表文件、标准寄生交换格式文件和延时约束文件。
本发明提供的生成标准延时格式文件的方法和装置,构造所有标准单元的不同延时的虚拟单元,并通过size_cell的方法去修复时序,最后将替换过来的虚拟单元名称重新修改为原来的标准单元名称,能够在不改变网表的情况下,在后端时序收敛前期生成同时满足Setup/Hold时序要求的SDF文件。利用该SDF文件进行后仿真不需要降频运行,仿真结果可信度大幅提高,后仿真时间也大幅提前。
附图说明
图1为本发明一实施例提供的生成标准延时格式文件的方法的流程图;
图2为本发明一实施例提供的生成标准延时格式文件的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种生成标准延时格式文件的方法,如图1所示,所述方法包括:
S11、根据芯片所使用的标准单元库及输入文件,对芯片进行时序分析,确定时序违例的标准单元。
芯片代工厂都会提供标准单元库,读入标准单元库,同时读入输入文件,包括网表文件netlist、标准寄生交换格式(standard parasitic exchange format,spef)文件和延时约束(synopsys delay constraint,sdc)文件,使用标准单元库,不设置PTSI(PTSI是基于PrimeTime的信号完整性分析),不设置AOCV(Advanced on chip variation,用于描述芯片制程过程中的正态分布),保留clock uncertainty(clock uncertainty用于描述芯片时钟的不确定性),输出当前工艺角corner不同工作模式mode的时序分析结果,根据时序分析结果确定时序违例的标准单元。
S12、通过size_cell的方法,使用时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换时序违例的标准单元,得到修复时序的tcl格式文件。
在size_cell之前,我们会根据芯片所使用的标准单元库构造出具有不同延时特性的库。具体地,以芯片所使用的标准单元库中所有的标准单元为基准,构造每个标准单元的具有不同延时的虚拟单元。假设标准单元的延时为delay,使用乘法算法构造标准单元的具有不同延时的虚拟单元,构造出的虚拟单元的延时分别为delayX50、delayX10、delayX5、delayX0.1及delayX0.01,其中delayX50表示delay的50倍,同理,delayX10表示delay的10倍,delayX5表示delay的5倍,delayX0.1表示delay的0.1倍,delayX0.01表示delay的0.01倍,各虚拟单元的名称以super作为前缀,如super_X0p01表示delay*0.01的虚拟单元。
size_cell时,以一个时序违例的标准单元为例,从该时序违例的标准单元的所有虚拟单元中选取一个时序能够满足Setup/Hold时序要求的虚拟单元,用这个虚拟单元去替换原来的标准单元,替换之后的时序满足要求,并生成一个修复时序的tcl格式文件,可以将该文件命名为ECO.tcl。
S13、根据tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件。
读入ECO.tcl,write_sdf输出当前工艺角的满足Setup/Hold时序要求的标准延时格式文件。
S14、将标准延时格式文件中用于替换时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。
在size_cell之前,我们会输出芯片所使用的标准单元库中所有的标准单元的列表,这个列表的格式是inst_name ref_name,其中,inst_name表示该标准单元在芯片中的层次名称,ref_name表示该标准单元的单元名称,可以将该列表命名为file.list。
得到标准延时格式文件之后,利用列表file.list,将用于替换时序违例的标准单元的那个虚拟单元的名称修改为被替换的时序违例的标准单元的名称,这样保证了最终的标准延时格式文件的单元名称和网表中的单元名称一致,虽然单元名称是一致的,但是该单元的延时已经发生改变,使用的是虚拟单元的延时,能够满足时序要求。
把最终的标准延时格式文件和网表文件netlist重新读入,同样不设置PTSI,不设置AOCV,移除clock uncertainty,验证最终的标准延时格式文件是否满足时序要求,当最终的标准延时格式文件满足时序要求时,输出最终的标准延时格式文件。
下面以一个具体的例子进行说明,芯片中有一个缓冲器,该缓冲器的时序不满足要求,它在file.list中的名称为
u_top/u_block1/u_cpu/u_core1/u1BUFFD1HVT,其中u_top/u_block1/u_cpu/u_core1/u1表示缓冲器在芯片中的层次名称,BUFFD1HVT表示缓冲器的名称,针对这个缓冲器,构造出时序更快的缓冲器和时序更慢的缓冲器,假设缓冲器的延迟为delay,分别构造出delayX50、delayX10、delayX5、delayX0.1及delayX0.01的虚拟缓冲器,并分别命名为BUFFD1HVTsuperX50,BUFFD1HVTsuperX10,BUFFD1HVTsuperX5,BUFFD1HVTsuperX0p1,BUFFD1HVTsuperX0p01,虚拟缓冲器的命名以super作为前缀,将上述所有的虚拟缓冲器读入PrimeTime,使用size_cell的方法去修复时序,即使用相同面积的相同功能的单元在芯片里自由替换,假设使用名称为BUFFD1HVTsuperX50的虚拟缓冲器去替换原来的缓冲器BUFFD1HVT,替换之后满足时序要求,时序修完后就会变成:
u_top/u_block1/u_cpu/u_core1/u1BUFFD1HVTsuperX50,此时生成的标准延时格式SDF文件就会是:
(CELL
(CELLTYPE“BUFFD1HVTsuperX50”)
(INSTANCE u_top/u_block1/u_cpu/u_core1/u1
…)
最后我们需要根据file.list,把发生改变的ref_name改回原来的ref_name,即把BUFFD1HVTsuperX50修改成BUFFD1HVT,SDF文件就会变成:
(CELL
(CELLTYPE“BUFFD1HVT”)
(INSTANCE u_top/u_block1/u_cpu/u_core1/u1
…)
这样,单元名称和网表保持一致,虽然单元名称还是BUFFD1HVT,但是延时其实是BUFFD1HVTsuperX50的。
通过上述方法,可以得到当前工艺角的SDF文件,对于不同的工艺角corner,都可以按照上面的方法得到该工艺角corner的SDF文件,针对每个工艺角corner出一套SDF文件,避免多个corner杂合引入的MAX/MIN互卡的问题。
本发明实施例提供的生成标准延时格式文件的方法,构造所有标准单元的不同延时的虚拟单元,并通过size_cell的方法去修复时序,最后将替换过来的虚拟单元名称重新修改为原来的标准单元名称,保持网表信息一致,与现有技术相比,本发明生成的SDF文件能够在当前工艺角的不同工作模式下都满足Setup/Hold时序要求,不需要降频运行,利用该SDF文件可以在后端时序收敛前期就进行后仿真,后仿真时间大幅提前,而且和最终的时序结果相似度高,从而仿真结果可信度高。
本发明实施例还提供一种生成标准延时格式文件的装置,如图2所示,所述装置包括:
确定模块21,用于根据芯片所使用的标准单元库及输入文件,对所述芯片进行时序分析,确定时序违例的标准单元;
替换模块22,用于通过size_cell的方法,使用所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换所述时序违例的标准单元,得到修复时序的tcl格式文件;
生成模块23,用于根据所述tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件;
修改模块24,用于将所述标准延时格式文件中用于替换所述时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。
进一步地,所述替换模块22所使用的时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元包括延时为delayX50、delayX10、delayX5、delayX0.1或者delayX0.01的虚拟单元,其中delay为所述时序违例的标准单元的延时。
进一步地,确定模块21用到的输入文件包括:网表文件、标准寄生交换格式文件和延时约束文件。
本发明实施例提供的生成标准延时格式文件的装置,构造所有标准单元的不同延时的虚拟单元,并通过size_cell的方法去修复时序,最后将替换过来的虚拟单元名称重新修改为原来的标准单元名称,保持网表信息一致,与现有技术相比,本发明生成的SDF文件能够在当前工艺角的不同工作模式下都满足Setup/Hold时序要求,不需要降频运行,利用该SDF文件可以在后端时序收敛前期就进行后仿真,后仿真时间大幅提前,而且和最终的时序结果相似度高,从而仿真结果可信度高。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种生成标准延时格式文件的方法,其特征在于,包括:
根据芯片所使用的标准单元库及输入文件,对所述芯片进行时序分析,确定时序违例的标准单元;
通过size_cell的方法,使用所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换所述时序违例的标准单元,得到修复时序的tcl格式文件;
根据所述tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件;
将所述标准延时格式文件中用于替换所述时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。
2.根据权利要求1所述的方法,其特征在于,所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元包括延时为delayX50、delayX10、delayX5、delayX0.1或者delayX0.01的虚拟单元,其中delay为所述时序违例的标准单元的延时。
3.根据权利要求1所述的方法,其特征在于,所述输入文件包括:网表文件、标准寄生交换格式文件和延时约束文件。
4.一种生成标准延时格式文件的装置,其特征在于,包括:
确定模块,用于根据芯片所使用的标准单元库及输入文件,对所述芯片进行时序分析,确定时序违例的标准单元;
替换模块,用于通过size_cell的方法,使用所述时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元替换所述时序违例的标准单元,得到修复时序的tcl格式文件;
生成模块,用于根据所述tcl格式文件,生成满足Setup/Hold时序要求的标准延时格式文件;
修改模块,用于将所述标准延时格式文件中用于替换所述时序违例的标准单元的虚拟单元的名称修改为被替换的时序违例的标准单元的名称,得到最终的标准延时格式文件。
5.根据权利要求4所述的装置,其特征在于,所述替换模块所使用的时序违例的标准单元的满足Setup/Hold时序要求的虚拟单元包括延时为delayX50、delayX10、delayX5、delayX0.1或者delayX0.01的虚拟单元,其中delay为所述时序违例的标准单元的延时。
6.根据权利要求4所述的装置,其特征在于,所述输入文件包括:网表文件、标准寄生交换格式文件和延时约束文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284392.9A CN109902318B (zh) | 2017-12-07 | 2017-12-07 | 生成标准延时格式文件的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284392.9A CN109902318B (zh) | 2017-12-07 | 2017-12-07 | 生成标准延时格式文件的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902318A CN109902318A (zh) | 2019-06-18 |
CN109902318B true CN109902318B (zh) | 2022-06-24 |
Family
ID=66939150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711284392.9A Active CN109902318B (zh) | 2017-12-07 | 2017-12-07 | 生成标准延时格式文件的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109902318B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619137B (zh) * | 2019-06-25 | 2022-12-02 | 眸芯科技(上海)有限公司 | 针对电压降的时序分析方法及应用 |
CN111881637B (zh) * | 2020-07-08 | 2021-05-04 | 广芯微电子(广州)股份有限公司 | 一种数字电路功耗优化的方法、***及存储介质 |
CN112287569B (zh) * | 2020-12-29 | 2021-03-23 | 芯华章科技股份有限公司 | 用于仿真逻辑***设计的方法、电子设备及存储介质 |
CN112800704B (zh) * | 2021-04-06 | 2021-06-25 | 深圳英集芯科技股份有限公司 | 基于功能buffer的芯片后端改版方法、装置及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147567A (zh) * | 2011-04-01 | 2011-08-10 | 中国科学院微电子研究所 | 一种基于Cell的层次化光学邻近效应校正方法 |
CN105488287A (zh) * | 2015-12-04 | 2016-04-13 | 上海兆芯集成电路有限公司 | 时序修正方法和电子装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102328044B1 (ko) * | 2014-10-21 | 2021-11-17 | 삼성전자주식회사 | 시뮬레이터의 작동 방법과 이를 수행할 수 있는 장치 |
JP2016177535A (ja) * | 2015-03-20 | 2016-10-06 | 株式会社リコー | データ送信装置、データ送信システムおよびプログラム |
-
2017
- 2017-12-07 CN CN201711284392.9A patent/CN109902318B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147567A (zh) * | 2011-04-01 | 2011-08-10 | 中国科学院微电子研究所 | 一种基于Cell的层次化光学邻近效应校正方法 |
CN105488287A (zh) * | 2015-12-04 | 2016-04-13 | 上海兆芯集成电路有限公司 | 时序修正方法和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109902318A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902318B (zh) | 生成标准延时格式文件的方法和装置 | |
US8365125B1 (en) | Method and system for power distribution analysis | |
US9703921B1 (en) | Naturally connecting mixed-signal power networks in mixed-signal simulations | |
US8239795B2 (en) | Timing analyzing system for clock delay | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
JP2005512237A (ja) | タイミングモデル抽出のためのアサーションハンドリング | |
US11468218B2 (en) | Information theoretic subgraph caching | |
US6567971B1 (en) | Circuit synthesis method using technology parameters extracting circuit | |
CN110941934A (zh) | 一种fpga原型验证开发板分割仿真***、方法、介质及终端 | |
US9436795B2 (en) | Layout verification method and verification apparatus | |
US10176283B2 (en) | Equivalence checking of analog models | |
US9529962B1 (en) | System and method for generating and using sibling nets model for shared delay calculation across multi-instantiated blocks in the circuit design | |
US8893068B1 (en) | Techniques to generate a more accurate simulation model | |
US9633159B1 (en) | Method and system for performing distributed timing signoff and optimization | |
US7571086B2 (en) | Incremental circuit re-simulation system | |
Kahng et al. | RosettaStone: connecting the past, present, and future of physical design research | |
JP2010170180A (ja) | 回路検証装置およびプログラム | |
US8510693B2 (en) | Changing abstraction level of portion of circuit design during verification | |
CN115983170B (zh) | 极大规模集成电路的超前后仿真方法、装置及设备 | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
CN112861455B (zh) | Fpga建模验证***及方法 | |
US20150135153A1 (en) | Method of validating timing issues in gate-level simulation | |
CN115204104A (zh) | 计算装置、其操作方法和计算机程序产品 | |
US11023646B2 (en) | Hierarchical clock tree construction based on constraints | |
US11068632B2 (en) | Simulation apparatus, description conversion method and simulation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |