一种电子设计自动化eda仿真方法及装置

文档序号:533460 发布日期:2021-06-01 浏览:13次 >En<

阅读说明:本技术 一种电子设计自动化eda仿真方法及装置 (Electronic design automation EDA simulation method and device ) 是由 孙艳 陈岚 曹鹤 陈容 于 2021-03-25 设计创作,主要内容包括:本申请实施例提供了一种电子设计自动化EDA仿真方法及装置,通过根据第一图形的顶点数量与每个线程的运算速度为每个线程分配初始分配网格,其中,初始分配网格的数目与目标版图中包括的第一图形的顶点数量有关,即本申请实施例是根据目标版图中包括的图形特征进行确定为每个线程分配的初始网格数目,相较于现有技术中不考虑目标版图的图形特征,为每个线程处理所有图形特征不同的目标版图时,都分配固定数量网格的方案而言,根据不同版图的图形特征为每个线程分配与其运算速度相匹配的网格个数,能够整体提升EDA工具仿真的速度,降低整体仿真的时间。(The embodiment of the application provides an electronic design automation EDA simulation method and device, initial distribution grids are distributed to each thread according to the vertex quantity of a first graph and the operation speed of each thread, wherein the number of the initial distribution grids is related to the vertex quantity of the first graph in a target layout, namely the initial grid quantity distributed to each thread is determined according to the graph characteristics in the target layout.)

一种电子设计自动化EDA仿真方法及装置

技术领域

本发明涉及电子设计自动化EDA仿真领域,特别涉及一种电子设计自动化EDA仿真方法及装置。

背景技术

芯片产业随着技术发展,已经进入纳米级别,为了更好的进行芯片制造,提高产品良率,在芯片制造之前,会利用电子设计自动化(Electronic Design Automation,EDA)工具进行芯片制造流程的仿真,以便根据仿真结果预测制造过程中的可能出现的问题和结果。在制造芯片的过程中,为了使得芯片轻薄,通常会采用化学机械研磨的方式对芯片进行抛光处理,但是在化学机械研磨后可能会引起晶圆表面的不平坦,影响芯片的可靠性,因此会在晶圆表面填充冗余金属,改善晶圆表面的平整度。

在利用EDA工具进行冗余金属填充的仿真过程中,为了保证仿真的可靠性,可能要处理大量的数据,并且还要尽可能快的进行仿真得到结果,以便尽快进行芯片制造,因此,存在提高EDA工具仿真的速度的需求。

发明内容

有鉴于此,本申请的目的在于提供一种整体提高EDA工具仿真的速度的一种电子设计自动化EDA仿真方法。

为实现上述目的,本申请有如下技术方案:

一种电子设计自动化EDA仿真方法,所述方法包括:

获取目标版图,所述目标版图包括第一图形和第二图形,所述第一图形对应金属材料,所述第二图形对应介质材料;

将所述目标版图均等分为多个待分配网格;

根据所述第一图形的顶点数量,以及所述多个线程中每个线程的运算速度,为每个线程分配初始分配网格,以便所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理,所述每个线程的运算速度与初始分配网格的个数匹配。

可选的,所述根据所述第一图形的顶点数量,以及所述多个线程中每个线程的运算速度,为每个线程分配初始分配网格包括:

根据所述第一图形的顶点数量和所述待分配网格的数量,确定平均每个网格包括的顶点个数;

将每个线程在单位时间内处理的最大的顶点个数和所述平均每个网格包括的顶点个数之比,确定为每个线程处理的最大网格个数;

将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数。

可选的,所述将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数包括:

若所述每个线程处理的最大网格个数小于预先设定的每个线程处理最小网格个数,则将所述初始分配网格的个数设定为所述预先设定的每个线程处理最小网格个数。

可选的,所述将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数包括:

若所述每个线程处理的最大网格个数小于每个线程平均处理的网格个数,则将所述初始分配网格的个数设定为每个线程平均处理的网格个数,其中,所述每个线程平均处理的网格个数是根据待分配网格的数量与多个线程的个数确定的。

可选的,所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理包括:

所述多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作,得到多个第一图形的图形信息。

可选的,若每个网格内包括多个第一图形,所述多个第一图形相互重叠,则所述多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作之后,所述方法还包括:

所述多个线程中每个线程根据对所述每个网格内的第一图形进行并操作,去除所述多个第一图形重叠的区域,得到去除重叠区域的多个第一图形的面积占据所述多个第一图形所在的网格的面积的网格密度。

可选的,所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理包括:

所述多个线程中每个线程根据依次对分配的初始分配网格的每个网格内的第一图形进行减操作,得到所述第二图形位于所述每个网格内的位置。

一种电子设计自动化EDA仿真装置,所述装置包括:

获取单元,用于获取目标版图,所述目标版图包括第一图形和第二图形,所述第一图形对应金属材料,所述第二图形对应介质材料;

划分单元,用于将所述目标版图均等分为多个待分配网格;

分配单元,用于根据所述第一图形的顶点数量,以及所述多个线程中每个线程的运算速度,为每个线程分配初始分配网格,以便所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理,所述每个线程的运算速度与初始分配网格的个数匹配。

可选的,所述分配单元具体用于:

根据所述第一图形的顶点数量和所述待分配网格的数量,确定平均每个网格包括的顶点个数;

将每个线程在单位时间内处理的最大的顶点个数和所述平均每个网格包括的顶点个数之比,确定为每个线程处理的最大网格个数;

将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数。

可选的,所述分配单元将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数包括:

若所述每个线程处理的最大网格个数小于预先设定的每个线程处理最小网格个数,则所述分配单元将所述初始分配网格的个数设定为所述预先设定的每个线程处理最小网格个数。

可选的,所述分配单元将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数包括:

若所述每个线程处理的最大网格个数小于每个线程平均处理的网格个数,则所述分配单元将所述初始分配网格的个数设定为每个线程平均处理的网格个数,其中,所述每个线程平均处理的网格个数是根据待分配网格的数量与多个线程的个数确定的。

可选的,所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理包括:

所述多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作,得到多个第一图形的图形信息。

可选的,若每个网格内包括多个第一图形,所述多个第一图形相互重叠,则所述多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作之后,还包括:

所述多个线程中每个线程根据对所述每个网格内的第一图形进行并操作,去除所述多个第一图形重叠的区域,得到去除重叠区域的多个第一图形的面积占据所述多个第一图形所在的网格的面积的网格密度。

可选的,所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理包括:

所述多个线程中每个线程根据依次对分配的初始分配网格的每个网格内的第一图形进行减操作,得到所述第二图形位于所述每个网格内的位置。

本申请实施例提供了一种电子设计自动化EDA仿真方法,所述方法包括:获取目标版图,所述目标版图包括第一图形和第二图形,所述第一图形对应金属材料,所述第二图形对应介质材料;将所述目标版图均等分为多个待分配网格;根据所述第一图形的顶点数量,以及所述多个线程中每个线程的运算速度,为每个线程分配初始分配网格,以便所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理,所述每个线程的运算速度与初始分配网格的个数匹配。

本申请实施例提供的EDA仿真方法,通过根据第一图形的顶点数量与每个线程的运算速度为每个线程分配初始分配网格,其中,初始分配网格的数目与目标版图中包括的第一图形的顶点数量有关,即本申请实施例是根据目标版图中包括的图形特征进行确定为每个线程分配的初始网格数目,相较于现有技术中不考虑目标版图的图形特征,为每个线程处理所有图形特征不同的目标版图时,都分配固定数量网格的方案而言,根据不同版图的图形特征为每个线程分配与其运算速度相匹配的网格个数,能够整体提升EDA工具仿真的速度,降低整体仿真的时间。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出了现有技术一种版图中网格分配示意图;

图2示出了本申请实施例提供的一种电子设计自动化EDA仿真方法的流程图;

图3示出了根据本申请实施例提供的一种电子设计自动化EDA仿真装置的结构图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例的限制。

目前,芯片产业随着技术发展,已经进入纳米级别,为了更好的进行芯片制造,提高产品良率,在芯片制造之前,会利用电子设计自动化(Electronic Design Automation,EDA)工具进行芯片制造流程的仿真,以便根据仿真结果预测制造过程中的可能出现的问题和结果。在制造芯片的过程中,为了使得芯片轻薄,通常会采用化学机械研磨的方式对芯片进行抛光处理,但是在化学机械研磨后,可能会引起晶圆表面的不平坦,影响芯片的可靠性,因此会在晶圆表面填充冗余金属,改善晶圆表面的平整度。

在利用EDA工具进行冗余金属填充的仿真过程中,EDA工具会获取整个芯片仿真版图除金属互联线外的空白区域并对空白区域进行切割,然后将冗余金属填充到空白区域中,从而增加版图中金属图形的密度,提高版图图形的均匀性,达到改善芯片平整度的目的。

参考图1所示,为现有技术中版图中多个网格分配给多个线程的示意图。由图可以看出,版图中的多个网格被分配到6个线程中,每个线程负责处理的网格的数目都是固定的,也就是说,无论版图中的图形特征如何变化,每个线程负责处理的网格数目都不会变化,这样可能会导致,若版图图形特征很复杂的时候,由于每个线程处理的网格数目都是确定的,不同线程中有的线程可能处理速度较快,有的线程处理速度较慢,处理速度快的线程就会进入等待,最后EDA工具仿真的整体速度变慢,增加了仿真的时间。

在仿真过程中,为了保证仿真的可靠性,可能要处理大量的数据,并且还要尽可能快的进行仿真得到结果,以便尽快进行芯片制造,因此,存在提高EDA工具仿真的速度的需求。

基于以上技术问题,本申请实施例提供了一种电子设计自动化EDA仿真方法,通过根据第一图形的顶点数量与每个线程的运算速度为每个线程分配初始分配网格,其中,初始分配网格的数目与目标版图中包括的第一图形的顶点数量有关,即本申请实施例是根据目标版图中包括的图形特征进行确定为每个线程分配的初始网格数目,相较于现有技术中不考虑目标版图的图形特征,为每个线程处理所有图形特征不同的目标版图时,都分配固定数量网格的方案而言,根据不同版图的图形特征为每个线程分配与其运算速度相匹配的网格个数,能够整体提升EDA工具仿真的速度,降低整体仿真的时间。

为了更好地理解本申请的技术方案和技术效果,以下将结合附图对具体的实施例进行详细的描述。

参考图2所示,为本申请实施例提供的一种电子设计自动化EDA仿真方法的流程图,该方法包括以下步骤:

S201,获取目标版图,所述目标版图包括第一图形和第二图形,所述第一图形对应金属材料,所述第二图形对应介质材料。

在本申请的实施例中,可以通过EDA仿真工具获取目标版图,目标版图可以是待填充冗余金属的版图,即经过化学机械研磨后的芯片的版图。

在本申请的实施例中,目标版图为待填充冗余金属的版图,目标版图可以包括多个图形,第一图形和第二图形,网格减去第一图形就可以得到第二图形,其中,第一图形可以对应金属材料,例如金属互联线,第二图形可以对应介质材料。

S202,将所述目标版图均等分为多个待分配网格。

在本申请的实施例中,可以将目标版图均等分为多个待分配网格,以便将多个待分配网格分配给多个线程进行处理。具体的,待分配网格的大小可以由EDA仿真工具的使用者进行配置,优选的,待分配网格可以是正方形,面积为400平方微米。

S203,根据所述第一图形的顶点数量,以及所述多个线程中每个线程的运算速度,为每个线程分配初始分配网格,以便所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理,所述每个线程的运算速度与初始分配网格的个数匹配。

在本申请的实施例中,每个线程都具有自身的运算速度,运算速度可以是该线程的中央处理器CPU的利用率已经达到最大值时,单位时间内该线程处理的任务量。可选的,在同一设备中的多个线程的运算速度可以相同。

在实际应用中,利用EDA仿真工具进行填充冗余金属的仿真时,可以主要分为以下几个流程:版图数据读入,网格密度计算、多边形转换及外扩、空白区域获取、空白区域切分和空白区域填充。其中,网格密度计算是计算金属材料与每个网格的面积的比值,即第一图形占据每个网格的占比。网格密度计算和空白区域获取模块都是以网格为单元进行数据计算,多个线程进行网格处理主要是对目标版图中的多边形的处理,而多边形是由若干个顶点组成,因此每个线程的运算速度最终是与网格包含图形顶点数密切相关的。不同版图包含的图形数量与网格数量都不同,每个网格包含的图形数量也不同,网格包含的图形顶点数量越大,线程进行网格处理速度越慢。在本申请的实施例中,可以根据第一图形的顶点数量,以及多个线程中每个线程的运算速度,为每个线程分配初始分配网格,初始分配网格的个数与每个线程的运算速度相匹配。具体的,初始分配网格的个数是每个线程的CPU满负荷时的处理的网格的个数。第一图形的顶点数量可以表征目标版图中的图形特征,也就是说,本申请实施例可以根据目标版图的图形特征,得到为每个线程分配的初始分配网格的数目。对于不同目标版图来说,每个目标版图的图形特征都不相同,因此每个目标版图得到的初始分配网格的数目都不相同。

在实际应用中,可以根据与每个线程的运算速度匹配的图形的顶点数量,为每个线程分配初始分配网格。可选的,可以根据第一图形的顶点数量和待分配网格的数量,确定平均每个网格包括的顶点个数,之后将每个线程在单位时间内处理的最大的顶点个数和平均每个网格包括的顶点个数之比,确定为每个线程处理的最大网格个数,将每个线程处理的最大网格个数,确定为初始分配网格的个数。

作为一种示例,第一图形的顶点数量为1000,待分配网格数量为100,则平均每个网格包括1000/100=10个顶点,每个线程在单位时间内处理的最大的顶点个数为20,则每个线程处理的最大网格个数为每个线程在单位时间内处理的最大的顶点个数和平均每个网格包括的顶点个数之比,即20/10=2个,可以将每个线程处理的最大网格个数确定为初始分配网格的个数,即初始分配网格的个数为2个。

在实际应用中,若计算得到的每个线程处理的最大网格个数不符合要求,也可以不将每个线程处理的最大网格个数确定为初始分配网格的个数。

作为一种可能的实现方式,若每个线程处理的最大网格个数小于预先设定的每个线程处理最小网格个数,则将初始分配网格的个数设定为预先设定的每个线程处理最小网格个数。预先设定每个线程处理最小网格个数是为了防止出现每个线程处理的最大网格个数等于0的情况,每个线程处理的最大网格个数等于0的时候,说明每个网格包含的图形的顶点数超过了每个线程在单位时间内处理的最大的顶点个数,每个网格处理需要较长时间。可根据实际情况设定每个线程处理最小网格个数。

作为另一种可能的实现方式,若每个线程处理的最大网格个数小于每个线程平均处理的网格个数,则将初始分配网格的个数设定为每个线程平均处理的网格个数,其中,每个线程平均处理的网格个数是根据待分配网格的数量与多个线程的个数确定的。将待分配网格的数量除以多个线程的个数的值定义为每个线程平均处理的网格个数,若每个线程处理的最大网格个数如果小于此值,那说明有线程空闲,为了更好的利用线程,每个线程处理的最大网格个数重新设定为每个线程平均处理的网格个数。

在本申请的实施例中,可能为每个线程分配初始分配网格之后,还剩余一些待分配网格,可以在至少一个线程处理完毕初始分配网格之后,继续为至少一个线程分配与初始分配网格数目相匹配的后续分配网格进行处理,使得该线程继续进行工作,不会闲置。这样可以降低每个线程处理完毕当前分配的网格之后的等待时间,进一步降低EDA的仿真时间。

在本申请的实施例中,在每个线程对分配的初始分配网格进行处理时,主要是对网格内的第一图形或第二图形进行处理。每个线程在处理分配的网格的时候,都是按照顺序,一个接着一个进行处理,处理完当前的网格才会继续处理下一个。

在本申请的实施例中,EDA仿真工具进行填充冗余金属的仿真时,网格密度计算和空白区域获取是花费时间较长,并且需要对网格内包括的图形进行处理的流程。

在进行网格密度计算时,可以利用以下的步骤进行处理:

多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作,得到多个第一图形的图形信息。也就是说,每个线程依次对每个网格内的第一图形和当前网格进行交操作,得到相交后的多个第一图形。

若每个网格内包括多个第一图形,多个第一图形相互重叠,则多个线程中每个线程根据对每个网格内的第一图形进行并操作,去除多个第一图形重叠的区域,得到去除重叠区域的多个第一图形的面积占据多个第一图形所在的网格的面积的网格密度。也就是说,若一个网格内包括多个相互重叠的第一图形,则对多个第一图形进行交操作后,继续进行并操作,以便去除重叠的区域,计算去除重叠区域后的多个第一图形的面积占据该网格的面积比值,该比值为网格密度。

在进行空白区域获取时,可以利用以下的步骤进行处理:

多个线程中每个线程根据依次对分配的初始分配网格的每个网格内的第一图形进行减操作,得到第二图形位于每个网格内的位置。也就是说,在进行空白区域获取时,可以根据网格密度计算步骤中得到的第一图形的信息,将网格和第一图形进行减操作,得到当前网格的第二图形的区域,即空白区域。

在本申请的实施例中,在进行网格密度计算和空白区域获取的两个步骤时,都需要将目标版图中的多个待分配网格分配给多个线程进行处理,两个步骤中为每个线程分配的网格的个数与初始分配网格个数相同。也就是说,无论是网格密度计算的步骤,还是空白区域获取的步骤,都为每个线程分配初始分配网格,两个步骤为每个线程分配的网格个数相同。

本申请实施例提供的EDA仿真方法,通过根据第一图形的顶点数量与每个线程的运算速度为每个线程分配初始分配网格,其中,初始分配网格的数目与目标版图中包括的第一图形的顶点数量有关,即本申请实施例是根据目标版图中包括的图形特征进行确定为每个线程分配的初始网格数目,相较于现有技术中不考虑目标版图的图形特征,为每个线程处理所有图形特征不同的目标版图时,都分配固定数量网格的方案而言,根据不同版图的图形特征为每个线程分配与其运算速度相匹配的网格个数,能够整体提升EDA工具仿真的速度,降低整体仿真的时间。

基于以上实施例提供的电子设计自动化EDA仿真方法,本申请实施例还提供了一种电子设计自动化EDA仿真装置,下面结合附图来详细说明其工作原理。

参见图3,该图为本申请实施例提供的一种电子设计自动化EDA仿真装置的结构框图。

本实施例提供的电子设计自动化EDA仿真装置300包括:

获取单元310,用于获取目标版图,所述目标版图包括第一图形和第二图形,所述第一图形对应金属材料,所述第二图形对应介质材料;

划分单元320,用于将所述目标版图均等分为多个待分配网格;

分配单元330,用于根据所述第一图形的顶点数量,以及所述多个线程中每个线程的运算速度,为每个线程分配初始分配网格,以便所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理,所述每个线程的运算速度与初始分配网格的个数匹配。

可选的,所述分配单元330具体用于:

根据所述第一图形的顶点数量和所述待分配网格的数量,确定平均每个网格包括的顶点个数;

将每个线程在单位时间内处理的最大的顶点个数和所述平均每个网格包括的顶点个数之比,确定为每个线程处理的最大网格个数;

将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数。

可选的,所述分配单元330将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数包括:

若所述每个线程处理的最大网格个数小于预先设定的每个线程处理最小网格个数,则所述分配单元将所述初始分配网格的个数设定为所述预先设定的每个线程处理最小网格个数。

可选的,所述分配单元330将所述每个线程处理的最大网格个数,确定为所述初始分配网格的个数包括:

若所述每个线程处理的最大网格个数小于每个线程平均处理的网格个数,则所述分配单元将所述初始分配网格的个数设定为每个线程平均处理的网格个数,其中,所述每个线程平均处理的网格个数是根据待分配网格的数量与多个线程的个数确定的。

可选的,所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理包括:

所述多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作,得到多个第一图形的图形信息。

可选的,若每个网格内包括多个第一图形,所述多个第一图形相互重叠,则所述多个线程中每个线程依次对分配的初始分配网格的每个网格内的第一图形进行交操作之后,还包括:

所述多个线程中每个线程根据对所述每个网格内的第一图形进行并操作,去除所述多个第一图形重叠的区域,得到去除重叠区域的多个第一图形的面积占据所述多个第一图形所在的网格的面积的网格密度。

可选的,所述多个线程中每个线程对分配的初始分配网格包括的第一图形或第二图形进行处理包括:

所述多个线程中每个线程根据依次对分配的初始分配网格的每个网格内的第一图形进行减操作,得到所述第二图形位于所述每个网格内的位置。

当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。

需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅是本申请的优选实施方式,虽然本申请已以较佳实施例披露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:集成电路的总体布线方法及设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类