一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

集成电路的后仿真方法和装置与流程

2023-03-25 17:44:26 来源:中国专利 TAG:


1.本技术涉及半导体技术领域,具体涉及一种集成电路的后仿真方法和装置。


背景技术:

2.仿真可以分为前仿真和后仿真,在一个完整的电路设计中应该包括这两个过程。
3.前仿真是功能仿真,目标是分析电路的逻辑关系的正确性,可以根据需要观察电路输入输出端口和电路内部任一信号和寄存器的波形。前仿真是比较理想的仿真,并不包含任何物理信息(如寄生效应、互连延迟等),仿真速度快。
4.后仿真是将寄生参数、互连延迟反标到所提取的电路网表中进行仿真,对电路进行分析,确保电路符合设计要求。后仿真所使用的方法与前仿真并没有什么不同,只是加入寄生参数以及互连延迟。后仿真的速度相对于前仿真慢得多。
5.相关技术中,随着集成电路规模的不断增大,芯片上晶体管的数量不断增加,这导致寄生电阻和电容的数目急剧膨胀,电路后仿真中所需要的时间随之增加,电路验证时间越来越长,一定程度上影响了芯片的设计周期和产品交付时间。


技术实现要素:

6.为至少在一定程度上克服相关技术中存在的问题,本技术提供一种集成电路的后仿真方法和装置。
7.根据本技术实施例的第一方面,提供一种集成电路的后仿真方法,包括:
8.确定待仿真版图的电路结构;所述电路结构中包括至少一个电路单元;
9.将所述电路结构中不需要验证的所述电路单元列出,生成置空列表;
10.获取需要验证的所述电路单元的寄生网表;
11.根据所述置空列表生成各个不需要验证的所述电路单元的空网表;
12.根据所述寄生网表和所述空网表生成后仿网表;
13.根据所述后仿网表进行后仿真。
14.进一步地,所述获取需要验证的所述电路单元的寄生网表的步骤包括:
15.获取所述待仿真版图的寄生网表,在获取过程中根据所述置空列表跳过不需要验证的电路单元。
16.进一步地,所述获取待仿真版图的寄生网表的步骤包括:
17.导出所述电路结构的cdl网表;
18.根据所述待仿真版图导出gds文件;
19.抽取所述待仿真版图的寄生参数,在抽取过程中根据所述置空列表跳过不需要验证的电路单元;
20.根据所述置空列表、所述cdl网表、所述gds文件和所述寄生参数获得所述待仿真版图的寄生网表。
21.进一步地,所述获得所述待仿真版图的寄生网表的步骤包括:
22.将所述置空列表、所述cdl网表和所述gds文件输入到eda自动化工具中,以使eda自动化工具输出所述寄生网表。
23.进一步地,所有不需要验证的所述电路单元在所述空网表中的定义为空单元。
24.进一步地,所述根据寄生网表和所述空网表生成后仿网表的步骤包括:
25.将获取的寄生网表和生成的空网表包含到后仿网表中。
26.根据本技术实施例的第二方面,提供一种集成电路的后仿真装置,包括:
27.确定模块,用于确定待仿真版图的电路结构;所述电路结构中包括至少一个电路单元;
28.列表模块,用于将所述电路结构中不需要验证的所述电路单元列出,生成置空列表;
29.获取模块,用于获取需要验证的所述电路单元的寄生网表;
30.第一生成模块,用于根据所述置空列表生成各个不需要验证的所述电路单元的空网表;
31.第二生成模块,用于根据所述寄生网表和所述空网表生成后仿网表;
32.仿真模块,用于根据所述后仿网表进行后仿真。
33.进一步地,所述获取模块在获取需要验证的所述电路单元的寄生网表时,具体用于:
34.获取所述待仿真版图的寄生网表,在获取过程中根据所述置空列表跳过不需要验证的电路单元。
35.进一步地,所述获取模块在获取待仿真版图的寄生网表时,具体用于:
36.导出所述电路结构的cdl网表;
37.根据所述待仿真版图导出gds文件;
38.抽取所述待仿真版图的寄生参数,在抽取过程中根据所述置空列表跳过不需要验证的电路单元;
39.根据所述置空列表、所述cdl网表、所述gds文件和所述寄生参数获得所述待仿真版图的寄生网表。
40.进一步地,所述获取模块在获得所述待仿真版图的寄生网表时,具体用于:
41.将所述置空列表、所述cdl网表和所述gds文件输入到eda自动化工具中,以使eda自动化工具输出所述寄生网表。
42.进一步地,所述第一生成模块在生成空网表时,具体用于:
43.将所有不需要验证的所述电路单元在所述空网表中定义为空单元。
44.进一步地,所述第二生成模块在生成后仿网表时,具体用于:
45.将获取的寄生网表和生成的空网表包含到后仿网表中。
46.根据本技术实施例的第三方面,提供一种电子设备,包括:
47.存储器,用于存储计算机程序;
48.处理器,用于执行所述存储器中的计算机程序,以实现如上任意一种实施例所述方法的操作步骤。
49.根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任意一种实施例所述方法的操作步骤。
50.本技术的实施例提供的技术方案具备以下有益效果:
51.本技术的方案能够将寄生网表中某些不需要验证的电路单元过滤掉,将这些不需要验证的电路单元的寄生网表用空网表替代;后仿网表中仅包含需要验证的电路单元的寄生网表,这样就能够大大减少寄生参数的数量,从而缩短电路后仿真所需要的时间。
52.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
53.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
54.图1是本技术实施例中提供的一种集成电路的后仿真方法的流程示意图。
55.图2是传统的后仿真网表结构示意图。
56.图3是本技术实施例中提供的一种“挖空”后的网表结构示意图。
57.图4是本技术实施例中提供的一种“挖空法”实施流程图。
58.图5是本技术实施例中提供的一种集成电路的后仿真装置的程序模块示意图。
59.图6是本技术实施例中提供的一种电子设备的硬件结构示意图。
具体实施方式
60.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的方法和装置的例子。
61.为进一步详述本技术的技术方案,首先具体解释目前的传统后仿真技术存在的两个问题:
62.一方面,top层电路规模庞大,寄生参数多,然而实际上很多场景下一些子电路单元是不需要验证的,通常情况下又无法跳过这些单元,用户不得不对所有电路单元进行仿真,导致后仿真时间长;
63.另一方面,后仿真验证的前提是版图设计完成,能正常提取版图寄生参数。很多时候,子模块的版图设计大部分完成,但top层版图设计短时间内无法ready,导致后仿真迟迟不能进行。
64.本技术提出了一种新型的加速后仿真的方法,通过将top层寄生网表中某些不需要验证的单元模块过滤掉(简称为“挖空法”),从而减少寄生参数的数目,缩短电路后仿真的时间。本技术的方案通过解决以上技术问题,可以大大提高集成电路仿真的速度和验证效率。
65.图1是根据一示例性实施例示出的一种集成电路的后仿真方法的流程图。该方法可以包括以下步骤:
66.步骤s1:确定待仿真版图的电路结构;所述电路结构中包括至少一个电路单元;
67.步骤s2:将所述电路结构中不需要验证的所述电路单元列出,生成置空列表;
68.步骤s3:获取需要验证的所述电路单元的寄生网表;
69.步骤s4:根据所述置空列表生成各个不需要验证的所述电路单元的空网表;
70.步骤s5:根据所述寄生网表和所述空网表生成后仿网表;
71.步骤s6:根据所述后仿网表进行后仿真。
72.本技术的方案能够将寄生网表中某些不需要验证的电路单元过滤掉,将这些不需要验证的电路单元的寄生网表用空网表替代;后仿网表中仅包含需要验证的电路单元的寄生网表,这样就能够大大减少寄生参数的数量,从而缩短电路后仿真所需要的时间。
73.应当理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
74.下面结合具体的应用场景,对本技术的方案进行拓展说明。
75.如图2和图3所示,本技术的一些实施例采用“挖空法”加速后仿真。从图中可以看出,cell(电路单元)d2和g从top寄生网表中被挖空;抽取a的寄生参数时,d2/g被skip掉;需要将d2/g的电路网表定义为空。
76.图中,a为top cell,b/c/d/e/f/g均为unit cell,d1/d2均为cell d的子cell。需要说明的是,寄生网表实际上被扁平化,无层次结构,图中的单元层次仅仅为了描述其逻辑结构。
77.一些实施例中,所述获取需要验证的所述电路单元的寄生网表的步骤包括:
78.获取所述待仿真版图的寄生网表,在获取过程中根据所述置空列表跳过不需要验证的电路单元。
79.一些实施例中,所述获取待仿真版图的寄生网表的步骤包括:
80.导出所述电路结构的cdl网表;
81.根据所述待仿真版图导出gds文件;
82.抽取所述待仿真版图的寄生参数,在抽取过程中根据所述置空列表跳过不需要验证的电路单元;
83.根据所述置空列表、所述cdl网表、所述gds文件和所述寄生参数获得所述待仿真版图的寄生网表。
84.一些实施例中,所述获得所述待仿真版图的寄生网表的步骤包括:
85.将所述置空列表、所述cdl网表和所述gds文件输入到eda自动化工具中,以使eda自动化工具输出所述寄生网表。
86.一些实施例中,所有不需要验证的所述电路单元在所述空网表中的定义为空单元。
87.一些实施例中,所述根据寄生网表和所述空网表生成后仿网表的步骤包括:
88.将获取的寄生网表和生成的空网表包含到后仿网表中。
89.如图4所示,本技术实施例的“挖空法”的具体实施流程为:
90.1、导出top层电路cdl网表(a.cdl)。
91.2、导出top层版图gds文件(a.gds)。
92.3、列出所有需要skip的cell(skip.list)。
93.4、抽取top层版图寄生参数并在抽取寄生参数时skip上一步所列出的cell list。
94.在步骤4中,将前三个步骤获得的a.cdl、a.gds和skip.list三个文件输入到eda自动化工具中,以使其输出a.spf文件;需要说明的是,此处a.spf文件为挖空后的寄生网表,即不包含skip.list文件所列出的电路单元(d2、g)的寄生参数。作为对比说明,假设将a.cdl和a.gds文件输入eda工具,则输出完整的a.spf文件,其中包含所有电路单元的寄生参数。
95.5、将所有skip电路单元(d2、g)定义为空。
96.6、将top层电路寄生网表(挖空后的a.spf)和各个skip cell的空网表(d2.sp和g.sp)包含到仿真网表中。
97.7、进行仿真。
98.本技术的“挖空法”能够将top层寄生网表中某些不需要验证的电路单元过滤掉,从而减少寄生参数的数目,缩短电路后仿真的时间。本技术的方案通过以上技术方案,可以大大提高集成电路仿真的速度和验证效率。本技术的方案通过减少顶层寄生网表的单元数量来减小寄生参数的规模,从而缩短后仿真时间。此发明主要应用于大规模集成电路后仿真,芯片设计或验证者均可通过此方法加速后仿真。
99.图5是根据一示例性实施例示出的一种集成电路的后仿真装置的电路框图。该装置包括:
100.确定模块,用于确定待仿真版图的电路结构;所述电路结构中包括至少一个电路单元;
101.列表模块,用于将所述电路结构中不需要验证的所述电路单元列出,生成置空列表;
102.获取模块,用于获取需要验证的所述电路单元的寄生网表;
103.第一生成模块,用于根据所述置空列表生成各个不需要验证的所述电路单元的空网表;
104.第二生成模块,用于根据所述寄生网表和所述空网表生成后仿网表;
105.仿真模块,用于根据所述后仿网表进行后仿真。
106.一些实施例中,所述获取模块在获取需要验证的所述电路单元的寄生网表时,具体用于:
107.获取所述待仿真版图的寄生网表,在获取过程中根据所述置空列表跳过不需要验证的电路单元。
108.一些实施例中,所述获取模块在获取待仿真版图的寄生网表时,具体用于:
109.导出所述电路结构的cdl网表;
110.根据所述待仿真版图导出gds文件;
111.抽取所述待仿真版图的寄生参数,在抽取过程中根据所述置空列表跳过不需要验证的电路单元;
112.根据所述置空列表、所述cdl网表、所述gds文件和所述寄生参数获得所述待仿真版图的寄生网表。
113.一些实施例中,所述获取模块在获得所述待仿真版图的寄生网表时,具体用于:
114.将所述置空列表、所述cdl网表和所述gds文件输入到eda自动化工具中,以使eda自动化工具输出所述寄生网表。
115.一些实施例中,所述第一生成模块在生成空网表时,具体用于:
116.将所有不需要验证的所述电路单元在所述空网表中定义为空单元。
117.一些实施例中,所述第二生成模块在生成后仿网表时,具体用于:
118.将获取的寄生网表和生成的空网表包含到后仿网表中。
119.关于上述实施例中的装置,其中各个模块执行操作的具体步骤已经在有关该方法的实施例中进行了详细描述,此处不再详细阐述说明。上述集成电路的后仿真装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
120.为了更好的理解本技术实施例,参照图6,为本技术实施例提供的一种电子设备的硬件结构示意图。如图6所示,本实施例的电子设备包括存储器,用于存储计算机程序;
121.处理器,用于执行所述存储器中的计算机程序,以实现上述实施例中描述的集成电路后仿真方法中的各个步骤,具体可以参见前述方法实施例中的相关描述,本实施例不再赘述。
122.可选地,存储器既可以是独立的,也可以跟处理器集成在一起。当存储器独立设置时,该设备还包括总线,用于连接所述存储器和处理器。
123.基于上述实施例中所描述的内容,本技术实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,以实现如上述实施例中描述的集成电路后仿真方法中的各个步骤,具体可以参见前述方法实施例中的相关描述,本实施例不再赘述。
124.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
125.需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
126.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
127.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
128.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步
骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
129.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
130.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
131.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
132.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献