用于芯片设计的物理验证方法、系统、设备以及存储介质与流程

文档序号:23719867发布日期:2021-01-24 07:27阅读:74来源:国知局
用于芯片设计的物理验证方法、系统、设备以及存储介质与流程

[0001]
本公开的实施例涉及一种用于芯片设计的物理验证方法、系统、设备以及存储介质。


背景技术:

[0002]
在集成电路的设计流程中,版图设计完成之后,并不能直接交付工厂生产,还需要确定版图设计是否满足加工制造的可靠性要求,以发现将电路转换为版图时可能发生错误,上述过程通过物理验证完成。所以,物理验证时保证所设计的芯片能够被正确制造成产品的重要一步。


技术实现要素:

[0003]
本公开的实施例提供一种用于芯片设计的物理验证方法、系统、设备以及存储介质。用于芯片设计的物理验证方法可以加快芯片的物理验证速度,进而缩短芯片开发周期。
[0004]
本公开至少一个实施例提供了一种用于芯片设计的物理验证方法,该物理验证方法包括:根据芯片版图设计的设计规则,确定芯片设计的版图数据中的需要检查的数据结构,其中,所述版图数据包括多个第一物理模块和第二物理模块,所述多个第一物理模块和所述第二物理模块位于所述版图数据的不同层且重叠,且所述第二物理模块与所述多个第一物理模块交互;根据所述多个第一物理模块的数据结构与所述第二物理模块的数据结构的连接关系,抽取所述版图数据中所述多个第一物理模块的需要检查的数据结构;将所述多个第一物理模块的所述需要检查的数据结构进行拼接,拼接之后的多个第一物理模块和所述第二物理模块集成,以得到所述版图数据的抽象数据结构。
[0005]
例如,本公开至少一实施例提供的物理验证方法还包括:利用物理验证工具,对所述抽象数据结构进行物理验证,以对所述第二物理模块与所述多个第一物理模块在交互处进行设计规则检查。
[0006]
例如,在本公开至少一实施例提供的物理验证方法中,对所述抽象数据结构进行物理验证包括:检查所述抽象数据结构中所述多个第一物理模块之间的模块连接结构以及所述多个第一物理模块和所述第二物理模块在交互处是否存在天线效应。
[0007]
例如,在本公开至少一实施例提供的物理验证方法中,所述抽象数据结构的第二物理模块包括多个第一连接线,所述抽象数据结构的多个第一物理模块的周边图形间隔设置在所述第二物理模块的周边图形内,并且所述多个第一物理模块每个的端口通过所述多条第一连接线一一对应地与周边第一物理模块的端口连接。
[0008]
例如,在本公开至少一实施例提供的物理验证方法中,当对所述抽象数据结构进行物理验证时,并行地分别对抽取所述需要检查的数据结构之前的所述多个第一物理模块进行物理验证,以对每个所述第一物理模块进行设计规则检查。
[0009]
例如,在本公开至少一实施例提供的物理验证方法中,被抽取的所述数据结构至少包括:所述多个第一物理模块的与所述第二物理模块连接的端口、所述多个第一物理模
块的与所述第二物理模块的端口直接连接的第一级数据结构、所述多个第一物理模块的周边图形、所述第二物理模块中的多个第一连接线、衬底单元以及周边图形。
[0010]
例如,在本公开至少一实施例提供的物理验证方法中,所述第一级数据结构包括第二连接线、功能单元其中的至少之一。
[0011]
例如,在本公开至少一实施例提供的物理验证方法中,将所述多个第一物理模块的所述需要检查的所述数据结构进行拼接,包括:在所述芯片设计的版图数据中,查找被抽取所述数据结构之前的多个第一物理模块的数据结构所在层,在所述第二物理模块的数据结构中对应的位置信息,根据所述多个第一物理模块的数据结构所在层在所述第二物理模块的数据结构中对应的位置信息,确定所述多个第一物理模块的所述需要检查的数据结构所在层与所述第二物理模块重叠位置处所对应的位置信息。
[0012]
例如,在本公开至少一实施例提供的物理验证方法中,将所述多个第一物理模块的所述需要检查的数据结构进行拼接,还包括:利用用于所述芯片设计的版图数据的合并工具,根据所述多个第一物理模块的需要检查的所述数据结构所在层与所述第二物理模块重叠位置处所对应的所述位置信息,将所述多个第一物理模块的所述需要检查的数据结构进行拼接。
[0013]
本公开至少一个实施例还提供了一种用于芯片设计的物理验证系统,包括:确定数据结构单元、抽取数据结构单元以及获得抽象数据结构单元。确定数据结构单元配置为根据芯片版图设计的设计规则,确定芯片设计的版图数据中的需要检查的数据结构,其中,所述版图数据包括多个第一物理模块和第二物理模块,所述多个第一物理模块和所述第二物理模块位于所述版图数据的不同层且重叠,且所述第二物理模块与所述多个第一物理模块交互;抽取数据结构单元配置为根据所述多个第一物理模块的数据结构与所述第二物理模块的数据结构的连接关系,抽取所述版图数据中所述多个第一物理模块的需要检查的数据结构;获得抽象数据结构单元配置为将所述多个第一物理模块的所述需要检查的数据结构进行拼接,拼接之后的多个第一物理模块和所述第二物理模块集成,以得到所述版图数据的抽象数据结构。
[0014]
本公开至少一个实施例还提供了一种用于芯片设计的物理验证设备,所述设备包括存储器和处理器,其中所述存储器中存有可执行代码,当利用所述处理器执行所述可执行代码时,使得所述处理器执行如前任一所述的用于芯片设计的物理验证方法。
[0015]
本公开至少一个实施例还提供了一种计算机可读存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使得所述处理器执行如前任一所述的用于芯片设计的物理验证方法。
[0016]
本公开至少一实施例提供的一种用于芯片设计的物理验证方法、系统、设备以及存储介质,通过根据多个第一物理模块的数据结构与第二物理模块的数据结构的连接关系,抽取版图数据中多个第一物理模块的需要检查的数据结构,将该数据结构拼接和与第二物理模块集成后,得到版图数据的抽象数据结构,以提前发现多个第一物理模块与第二物理模块在交互处的设计规则违例问题,加快芯片物理验证的速度,进而缩短芯片开发周期。
附图说明
[0017]
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0018]
图1为本公开至少一实施例提供的一种用于芯片设计的物理验证方法的流程示意图;
[0019]
图2为本公开至少另一实施例提供的一种用于芯片设计的物理验证方法的流程示意图;
[0020]
图3为本公开至少一实施例提供的一种版图数据的物理模块被抽取数据结构之后的示意图;
[0021]
图4为本公开至少一实施例提供的一种用于拼接多个第一物理模块的数据结构的示意图;
[0022]
图5为本公开至少一实施例提供的一种抽象数据结构的示意图;
[0023]
图6为本公开至少一实施例提供的一种用于芯片设计的物理验证系统的示意图;
[0024]
图7为本公开至少一实施例提供的一种用于芯片设计的物理验证设备的结构示意图;以及
[0025]
图8为本公开至少一实施例提供的一种存储介质的示意图。
具体实施方式
[0026]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0027]
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
[0028]
芯片的物理验证通常包括设计规则检查(drc,design rule check)、版图电路图一致性检查(lvs,layout versus schematic)和电学规则检测(erc,electrical rule check)等。其中drc用来检查版图设计是否满足工艺线能够加工的最小线宽、最小图形间距、金属宽度、栅和有源区交叠的最小长度等。如果版图设计违反设计规则,那么极有可能导致芯片在加工过程中成为废品;lvs则用来保证版图设计与其电路设计的匹配,保证它们的一致性。如果不一致,就需要修改版图设计。目前,常借助于calibre软件,或者ic-validator(icv)软件来对版图做物理验证。
[0029]
随着集成电路设计,例如图形处理器(graphics processing unit,cpu)和中央处理器(central processing unit,cpu)设计的规模越来越大,制备工艺不断演进,物理验证的设计规则检查也越来越复杂。所以,版图的设计规则检查对整个芯片的物理验证的收敛、运行时间以及迭代周期等方面的挑战越来越大。特别是高新能cpu/gpu物理设计中存在大
量的底层模块拼接、大量底层模块和底层模块之间的绕线、顶层模块和底层模块以及底层模块之间的物理设计规则违例问题非常多。并且,为了加快设计规则检查的进程,底层模块和顶层模块的设计规则检查通常是多人协助并行完成,互相看不到底层模块和顶层模块在交互处的设计规则违例问题。
[0030]
此外,需要等顶层模块和底层模块的绕线结束的完整数据,顶层模块和底层模块才能集成在一起。顶层模块和底层模块集成后的全芯片的物理验证需要的时间更长。并且,在全芯片的物理验证的过程中,顶层模块和底层模块集成之后的全芯片的物理验证结果混淆在一起,很难区分底层模块间或底层模块与顶层模块间的违例是底层模块自身的违例还是底层模块与顶层模块交互处的违例。
[0031]
基于上述提及的在全芯片的物理验证过程中的出现的问题,需要提高物理验证的设计规则检查的方法的效率以及更有针对性的发现顶层模块和底层模块交互处的问题,以缩短芯片开发周期。
[0032]
本公开至少一实施例提供一种用于芯片设计的物理验证方法。该物理验证方法包括:根据芯片版图设计的设计规则,确定芯片设计的版图数据中的需要检查的数据结构,其中,版图数据包括多个第一物理模块和第二物理模块,多个第一物理模块和第二物理模块位于所述版图数据的不同层且重叠,且第二物理模块与多个第一物理模块交互;根据多个第一物理模块的数据结构与第二物理模块的数据结构的连接关系,抽取版图数据中多个第一物理模块的需要检查的数据结构;将多个第一物理模块的需要检查的数据结构进行拼接,拼接之后的多个第一物理模块和第二物理模块集成,以得到版图数据的抽象数据结构。
[0033]
在本公开上述实施例提供的用于芯片设计的物理验证方法中,通过根据多个第一物理模块的数据结构与第二物理模块的数据结构的连接关系,抽取版图数据中多个第一物理模块的需要检查的数据结构,将该数据结构拼接并与第二物理模块集成后,得到版图数据的抽象数据结构,以提前发现多个第一物理模块与第二物理模块在交互处的设计规则违例问题,加快芯片物理验证的速度,进而缩短芯片开发周期。
[0034]
下面结合附图对本公开的实施例及其示例进行详细说明。
[0035]
图1为本公开至少一实施例提供的一种用于芯片设计的物理验证方法的流程示意图。图2为本公开至少另一实施例提供的一种用于芯片设计的物理验证方法的流程示意图。
[0036]
图1所示本公开实施例提供的用于芯片设计的物理验证方法包括步骤s110-s130。图2所示本公开实施例提供的用于芯片设计的物理验证方法包括步骤s210-s270。
[0037]
步骤s110:根据芯片版图设计的设计规则,确定芯片设计的版图数据中的需要检查的数据结构。例如,芯片版图设计的设计规则通常包括工艺线能够加工的最小线宽、最小图形间距、金属宽度、栅和有源区交叠的最小长度以及天线效应等。
[0038]
例如,在一些实施例中,芯片版图设计为交付工厂对芯片进行加工的文件,芯片版图设计例如包括gds(通常也称为gds ii,graphic data system ii)文件或oasis(open artwork system interchange standard)文件。芯片设计包括多级物理模块,例如顶层物理模块、多个底层物理模块等。例如,芯片设计的版图数据包括多个第一物理模块和第二物理模块,第一物理模块为底层物理模块,第二物理模块为顶层物理模块。
[0039]
图5为本公开至少一实施例提供的一种版图数据的物理模块被抽取数据结构之后的示意图。
[0040]
例如,在芯片版图设计的版图数据中,多个第一物理模块和第二物理模块位于版图数据的不同层且重叠,多个第一物理模块之间间隔设置在第二物理模块中,以与第二物理模块集成。例如,如图5所示,多个第一物理模块100a-100d位于第二物理模块200中,并且多个第一物理模块100a-100d与第二物理模块200位于芯片版图设计的层叠结构的不同层上且重叠。
[0041]
例如,第二物理模块与多个第一物理模块交互。例如,第二物理模块含有多个第一物理模块之间的连接关系的信息(例如,连接线),也就是说从第二物理模块可以看出多个第一物理模块中的信号是如何连接的。而多个第二物理模块则包含了总体功能的具体实现方法,也就是说将总体物理模块功能解体,分在各个物理模块中实现。
[0042]
例如,如图2所示,步骤s210:定义抽象数据结构。例如,步骤s210对应于步骤s310,根据芯片版图设计的设计规则,例如,根据设计规则中的某一项,来确定芯片设计的版图数据中的需要检查的数据结构。即,需要检查的数据结构的原则是基于对应的需要检查的设计规则来确定。例如,天线效应检查,涉及直接与第二物理模块连接的连接线,需要检查的数据结构包括直接与第二物理模块连接的连接线、与该连接线直接连接的功能单元等。由此,设计规则不需要检查的版图数据的部分会被删除,加快该项设计规则的物理验证的速度。
[0043]
步骤s120:根据多个第一物理模块的数据结构与第二物理模块的数据结构的连接关系,抽取版图数据中多个第一物理模块的需要检查的数据结构。
[0044]
例如,在一些实施例中,如图2所示,步骤s220:产生抽象数据结构。根据步骤s110中确定的需要检查的数据结构,抽取多个第一物理模块的需要检查的数据结构。例如,以天线效应检查为例,介绍抽取的第一物理模块的需要检查的数据结构。
[0045]
例如,在一些实施例中,第一物理模块的被抽取的数据结构至少包括:多个第一物理模块的与第二物理模块连接的端口、多个第一物理模块的与第二物理模块的端口直接连接的第一级数据结构、多个第一物理模块的周边图形。
[0046]
图3为本公开至少一实施例提供的一种版图数据的物理模块被抽取数据结构之后的示意图。
[0047]
例如,在一些实施例中,如图3所示,第一物理模块100包括周边图形101(例如外框)。根据第一物理模块100与第二物理模块的数据结构的连接关系(例如,如图5所示的,第一物理模块100a、第一物理模块100b、第一物理模块100c以及第一物理模块100d通过第二物理模块200的第一连接线203连接),确定第一物理模块100的需要检查的数据结构。例如,第一物理模块100的需要检查的数据结构包括第一物理模块100的端口102、第一物理模块100的与端口102直接连接的第一级数据结构110以及第一物理模块100的周边图形101。例如,端口102为第一物理模块100的与第二物理模块200(例如第一连接线203)连接的端口。例如,第一级数据结构110包括第二连接线105和功能单元106。第二连接线105连接端口203和功能单元106。功能单元106例如为直接与端口203连接的放大器或逻辑电路等。
[0048]
需要说明的是,本公开实施例中,第一级数据结构包括以第一物理模块的周边图形为边界,第二物理模块连接到第一物理模块的端口进入到第一物理模块的第一个连接线和第一个连接线连接的第一个功能单元。
[0049]
需要说明的是,第一物理模块的周边图形为根据其内部的结构设定的边界。
[0050]
例如,在一些实施例中,如图3所示,第一物理模块100的需要检查的数据结构还可以包括衬底单元103。例如,版图数据中的多个物理模块100中的其中一个的被检查的数据结构包括衬底单元103即可,或第一物理模块100的数据结构中没有抽取衬底单元,而保留第二物理模块的衬底单元。也就是说,抽象数据结构中包括衬底单元103即可。
[0051]
需要说明的是,图3中所示出的第一物理模块100的周边图形为矩形,也可以为其它图形,本公开不限于此。图3中的第一物理模块100的抽取的数据结构为一个示例,其中的功能单元等并不代表芯片的实际设计结构。
[0052]
例如,在一些实施例中,利用eda(electronics design automation)tool(icc2)的命令组合形成一个脚本可以处理芯片设计的版图,得图3所示的抽象数据。下面示出了用于执行抽取需要检查的数据结构的脚本的示例。
[0053]
remove_cell{collection of non-required cells}
[0054]
remove net_shape{collection of non-required shped}
[0055]
在上述脚本中将芯片设计的版图中对设计规则检查没有影响的数据结构删除,保留需要检查的数据结构。
[0056]
例如,图3所示的第一物理模块100的数据结构是物理验证的设计规则(例如天线效应)检测必须保留的结构,其它功能单元等对设计规则检查没有影响的结构删除,以加快物理验证的速度。
[0057]
步骤s130:将多个第一物理模块的需要检查的数据结构进行拼接,拼接之后的多个第一物理模块和第二物理模块集成,以得到版图数据的抽象数据结构。例如,如图2所示,步骤s230:集成多个第二物理模块的抽象数据结构。
[0058]
图4为本公开至少一实施例提供的一种用于拼接多个第一物理模块的数据结构的示意图。图4所示的用于拼接多个第一物理模块的数据结构包括步骤s310和步骤s330。
[0059]
例如,在一些实施例中,如图4所示,步骤s310:在芯片设计的版图数据中,查找被抽取数据结构之前的多个第一物理模块的数据结构,在第二物理模块的数据结构所在层中对应的位置信息。例如,位置信息包括被抽取数据结构之前的每个第一物理模块在第二物理模块中例化的坐标原点信息,也就是第一物理模块在第二物理模块中对应的位置。这些数据在gds文件/oasis文件中可以查找到。
[0060]
步骤s320:根据多个第一物理模块的数据结构所在层在第二物理模块的数据结构中对应的位置信息,确定多个第一物理模块的需要检查的数据结构所在层与第二物理模块重叠位置处所对应的位置信息。例如,抽取第一物理模块的需要检查的数据结构之后,也就是删除部分数据结构之后的第一物理模块(如图3所示),与第二物理模块的位置信息是不变的。即,将第一物理模块抽取数据结构之后,再放回原位。多个第一物理模块的需要检查的数据结构所在层与第二物理模块重叠位置处所对应的位置信息,对应于多个第一物理模块的数据结构所在层在第二物理模块的数据结构中对应的位置信息。从而,才能在删除部分数据结构之后,复原芯片设计的版图数据的部分结构,再进行物理验证,以保证检查结果的准确可靠。
[0061]
步骤s330:利用用于所述芯片设计的版图数据的合并工具,根据多个第一物理模块的需要检查的数据结构所在层与第二物理模块重叠位置处所对应的位置信息,将多个第一物理模块的需要检查的数据结构进行拼接。例如,使用gds/oasis合并工具把第一物理模
块的数据结构合并到一起,从而多个第一物理模块之间的间隔、对应关系、连接关系等都不发生改变。
[0062]
例如,拼接之后的多个第一物理模块和第二物理模块集成,以得到版图数据的抽象数据结构。例如,拼接之后的多个第一物理模块,根据在第二物理模块中对应的位置信息再集成到第二物理模块中形成用于物理验证的包括抽象数据结构的gds/oasis文件。对上述抽象数据结构进行物理验证,例如天线效应验证,可以前发现多个第一物理模块与第二物理模块在交互处的设计规则违例问题,加快芯片物理验证的速度,进而缩短芯片开发周期。
[0063]
例如,在一些实施例中,如图2所示,步骤s240:基于集成多个第二物理模块的抽象数据结构的全芯片做物理验证。
[0064]
步骤s250:利用物理验证工具,对抽象数据结构进行物理验证,以对第二物理模块与多个第一物理模块在交互处进行设计规则检查。例如,物理验证工具包括calibre或者ic-validator(icv)软件。
[0065]
需要说明的是,本公开实施例中以物理验证中的天线效应检查为例进行解释说明,本公开实施例不以此为限。本公开实施例提供的物理验证方法可以适用于任何一种设计规则检查,但是,对于不同设计规则检查得到的抽象数据结构有所不同。
[0066]
例如,如图5所示,抽象数据结构包括第一物理模块100a、第一物理模块100b、第一物理模块100c、第一物理模块100d、第二物理模块200。第一物理模块100a、第一物理模块100b、第一物理模块100c以及第一物理模块100d相互间隔地与第二物理模块200位于芯片版图设计的层叠结构的不同层上且重叠(即多个第一物理模块位于第二物理模块200中)。例如,抽象数据结构还包括第二物理模块200中的多个第一连接线203、衬底单元202以及周边图形201。
[0067]
例如,在一些实施例中,如图5所示,抽象数据结构的第二物理模块200包括多个第一连接线203。抽象数据结构的多个第一物理模块100a/100b/100c/100d的周边图形1010间隔设置在第二物理模块200的周边图形201内,并且多个第一物理模块100a/100b/100c/100d每个的端口1021/1022/1023/1024通过多第一连接线203一一对应地与周边第一物理模块的端口连接。例如,第一物理模块100a包括三个端口1021,图中靠近第一物理模块100b的端口1021与第一物理模块100b的端口1022通过第一连接线203连接。第一物理模块100a的靠近第一物理模块100c的端口1021与第一物理模块100c的端口1023通过第一连接线203连接。第一物理模块100a的靠近第一物理模块100d的端口1021与第一物理模块100d的端口1024通过第一连接线203连接。多个第一物理模块100a/100b/100c/100d的端口分别通过第一连接线203与相邻第一物理模块的端口连接,从第二物理模块200可以看出多个第一物理模块100a/100b/100c/100d中的信号是如何连接的。
[0068]
如图5所示,第一物理模块100a包括直接与端口1021连接的第一级数据结构1100。第一级数据结构1100包括直接与端口1021连接的第二连接线1051和与端口1021通过第二连接线1051直接连接的功能单元1061。例如,第一物理模块100b包括直接与端口1022连接的第一级数据结构1100。第一级数据结构1100包括直接与端口1022连接的第二连接线1052和与端口1022通过第二连接线1052直接连接的功能单元1062。例如,第一物理模块100c的第一级数据结构1100包括直接与端口1023连接的第二连接线1053和与端口1023通过第二
连接线1053直接连接的功能单元1063。例如,第一物理模块100d的第一级数据结构1100包括直接与端口1024连接的第二连接线1054和与端口1024通过第二连接线1054直接连接的功能单元1064。
[0069]
需要说明的是,图5中的抽象数据结构为介绍本公开实施例的物理验证方法的一个示例,其中的具体结构等并不代表芯片的实际设计结构。
[0070]
例如,在一些实施例中,如图2所示,步骤s260:检查抽象数据结构中多个第一物理模块之间的模块连接结构以及多个第一物理模块和第二物理模块在交互处是否存在天线效应。例如,如图5所示,对图中所述的抽象数据结构进行天线效应检查,即检查芯片中金属线(例如第一连接线203或第一物理模块中的第二连接线)等导体中是否有游离的电荷,当有电荷存在时会发生放电,是芯片设计中需要避免的。例如,如图5所示的抽象数据结构进行天线效应检查,可以提前检查模块之间以及第二物理模块和第一物理模块之间交互处的设计规则违例。
[0071]
例如,在一些实施例中,如图2所示,步骤s270:当对抽象数据结构进行物理验证时,并行地分别对抽取需要检查的数据结构之前的多个第一物理模块进行物理验证,以对每个第一物理模块进行设计规则检查。例如,步骤s270用于并行地对第一物理模块的物理验证用于发现第一物理模块内部的设计违例问题。由此,抽象数据结构与第一物理模块的物理验证做到同步并行收敛,大大节省运行时间,降低纠错难度,加快芯片物理验证收敛时间,进而有利于缩短芯片流片周期。
[0072]
例如,本公开至少一实施例还提供一种用于芯片设计的物理验证系统。图6为本公开至少一实施例提供的一种用于芯片设计的物理验证系统的示意图。
[0073]
例如,在一些实施例中,如图6所示,物理验证系统包括:确定数据结构310、抽取数据结构320以及获得抽象数据结构单元330。
[0074]
例如,确定数据结构310配置为根据芯片版图设计的设计规则,确定芯片设计的版图数据中的需要检查的数据结构。例如,芯片版图设计的设计规则通常包括工艺线能够加工的最小线宽、最小图形间距、金属宽度、栅和有源区交叠的最小长度以及天线效应等。例如,版图数据包括多个第一物理模块和第二物理模块,多个第一物理模块和第二物理模块位于版图数据的不同层且重叠,且第二物理模块与多个第一物理模块交互。例如,根据设计规则中的某一项,来确定芯片设计的版图数据中的需要检查的数据结构。即,需要检查的数据结构的原则是基于对应的需要检查的设计规则来确定。例如,天线效应检查,涉及直接与第二物理模块连接的连接线,需要检查的数据结构包括直接与第二物理模块连接的连接线、与该连接线直接连接的功能单元等。由此,设计规则不需要检查的版图数据中的部分会被删除,加快该项设计规则的物理验证的速度。
[0075]
例如,抽取数据结构320配置为根据多个第一物理模块的数据结构与第二物理模块的数据结构的连接关系,抽取版图数据中多个第一物理模块的需要检查的数据结构。例如,在一些实施例中,被抽取的所述数据结构至少包括:多个第一物理模块的与第二物理模块连接的端口、多个第一物理模块的与第二物理模块的端口直接连接的第一级数据结构、所述多个第一物理模块的周边图形、所述第二物理模块中的多个第一连接线、衬底单元以及周边图形。例如,第一物理模块的需要检查的数据结构是物理验证的设计规则(例如天线效应)检测必须保留的结构,其它功能单元等对设计规则检查没有影响的结构删除,以加快
物理验证的速度。
[0076]
例如,获得抽象数据结构单元330配置为将多个第一物理模块的需要检查的数据结构进行拼接,拼接之后的多个第一物理模块和第二物理模块集成,以得到版图数据的抽象数据结构。例如,利用物理验证工具,对抽象数据结构进行物理验证,以对第二物理模块与多个第一物理模块在交互处进行设计规则检查。例如,物理验证工具包括calibre或者ic-validator(icv)软件。例如,通过物理验证工具,检查抽象数据结构中多个第一物理模块之间的模块连接结构以及多个第一物理模块和第二物理模块在交互处是否存在天线效应,可以提前检查模块之间以及第二物理模块和第一物理模块之间交互处的设计规则违例。
[0077]
例如,在一些实施例中,当对抽象数据结构进行物理验证时,并行地分别对抽取需要检查的数据结构之前的多个第一物理模块进行物理验证,以对每个第一物理模块进行设计规则检查。对第一物理模块的物理验证用于发现第一物理模块内部的设计违例问题。由此,抽象数据结构与第一物理模块的物理验证做到同步并行收敛,大大节省运行时间,降低纠错难度,加快芯片物理验证收敛时间,进而有利于缩短芯片开发周期。
[0078]
图7为本公开至少一实施例提供的一种用于芯片设计的物理验证设备的结构示意图。
[0079]
图7为本公开至少一实施例提供的又一种用于芯片设计的物理验证设备的结构示意图。该用于芯片设计的物理验证设备400例如适于用来实施本公开实施例提供的用于芯片设计的物理验证方法。用于芯片设计的物理验证设备400可以是个人电脑、笔记本电脑、平板电脑、移动电话等终端设备也可以是工作站、服务器、云服务等。需要注意的是,图7示出的用于芯片设计的物理验证设备400仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
[0080]
如图7所示,用于芯片设计的物理验证设备400可以包括处理装置(例如中央处理器、图形处理器等)410,其可以根据存储在只读存储器(rom)420中的程序或者从存储装置480加载到随机访问存储器(ram)430中的程序而执行各种适当的动作和处理。在ram 430中,还存储有用于芯片设计的物理验证设备400操作所需的各种程序和数据。处理装置410、rom 420以及ram 430通过总线440彼此相连。输入/输出(i/o)接口450也连接至总线440。
[0081]
通常,以下装置可以连接至i/o接口450:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置460;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置470;包括例如磁带、硬盘等的存储装置480;以及通信装置490。通信装置490可以允许用于芯片设计的物理验证设备400与其他电子设备进行无线或有线通信以交换数据。虽然图7示出了包括各种装置的用于芯片设计的物理验证设备400,但应理解的是,并不要求实施或具备所有示出的装置,用于芯片设计的物理验证设备400可以替代地实施或具备更多或更少的装置。
[0082]
例如,根据本公开的实施例,上述用于芯片设计的物理验证方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述用于芯片设计的物理验证方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置490从网络上被下载和安装,或者从存储装置480安装,或者从rom420安装。在该计算机程序被处理装置410执行
时,可以执行本公开实施例提供的用于芯片设计的物理验证方法中限定的功能。
[0083]
本公开至少一个实施例还提供一种存储介质,用于存储非暂时性计算机程序可执行代码(例如计算机可执行指令),当该非暂时性计算机程序可执行代码由计算机执行时可以实现本公开任一实施例所述的用于芯片设计的物理验证方法;或者,当该非暂时性计算机程序可执行代码由计算机执行时可以实现本公开任一实施例所述的用于芯片设计的物理验证方法。
[0084]
图8为本公开至少一实施例提供的一种存储介质的示意图。如图8所示,存储介质500非暂时性地存储有计算机程序可执行代码501。例如,当计算机程序可执行代码501由计算机执行时可以执行根据上文所述的用于芯片设计的物理验证方法中的一个或多个步骤。
[0085]
例如,该存储介质500可以应用于上述用于芯片设计的物理验证设备400中。例如,存储介质500可以为图8所示的用于芯片设计的物理验证设备400中的存储器420。例如,关于存储介质500的相关说明可以参考图8所示的用于芯片设计的物理验证设备400中的存储器420的相应描述,此处不再赘述。
[0086]
有以下几点需要说明:
[0087]
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
[0088]
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
[0089]
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1