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

面向集成电路互连电容提取的高斯面建立方法

2022-06-05 06:24:32 来源:中国专利 TAG:


1.本技术涉及vlsi(very large scale integrated circuits,超大规模集成电路)物理设计与验证领域,特别涉及一种面向集成电路互连电容提取的高斯面建立方法。


背景技术:

2.集成电路的设计流程中首先要提出功能描述,然后经过逻辑设计、版图设计得到描述半导体工艺尺寸、结构的版图,最后进行版图验证,即通过计算机软件模拟来验证上述设计是否满足要求。若满足要求,则进行下一步的生产制造。否则,则返回逻辑设计、版图设计进行必要的修正。在版图验证中,一个重要的环节是“互连寄生参数提取”。
3.随着集成电路制造技术的发展,电路规模不断增大、特征尺寸不断缩小,当今很多芯片已含有上亿个器件。然而,集成电路中互连线的寄生效应造成互连线对电路延时的影响已超过了器件对电路延时的影响。因此,需要对互连线的电容、电阻等参数进行准确的计算,以保证电路模拟与验证的正确有效性。为了提高计算精度,互连线之间的电容参数提取需要使用三维提取方法,即利用三维场求解器进行求解。场求解器的计算往往耗时较多,对其算法的优化与加速研究意义很大。
4.在集成电路电容参数提取的场求解器方法中,随机行走电容提取算法是一种比较流行的方法。该方法不同于常规的有限差分法、有限元法和边界元法,它无需要求解线性方程组,计算中的主要步骤是在空间中随机取点(其得到一系列点的过程被形象地称为“随机行走”)。如图1所示,每次随机行走都从围绕某个事先指定导体(称为主导体)的高斯面上开始,然后以当前点为中心构造一个最大、不与导体重叠的立方体(称为“转移立方体”),下一次取点则随机地落在转移立方体的表面(如图1中的s
(1)
和s
(2)
)。这个过程重复进行,直到随机取点的位置达到导体表面,此时结束一次随机行走。要计算某一导体(例如图1中的导体i)与其他所有导体之间的电容值,需要进行至少上万次的随机行走。
5.申请人2013年在国际期刊ieee transactions on computer-aided design of integrated circuits and systems上发表的论文“rwcap:a floating random walk solver for 3-d capacitance extraction of vlsi interconnects”(第3期)和“efficient space management techniques for large-scale interconnect capacitance extraction with floating random walks”(第10期)中,公开了一种基于方差约减的快速随机行走方法和一种空间管理技术。前者通过重要性采样(importance sampling)和分层采样(stratified sampling)技术改变在高斯面及转移立方体表面进行随机采样所需的概率分布,从而减少计算电容值所用的权值序列的方差,使得在相同准确度要求下随机行走的次数较少数倍,达到提高计算速度的目的。后者包括根据所计算三维结构中导体块的几何信息(位置与尺寸)建立的空间管理数据结构,使用它可以在随机行走电容提取过程中快速地判断距离当前行走位置最近的导体,从而加快转移立方体的构造以及整体计算速度。
6.虽然已有的工作能加快随机行走电容提取算法的计算速度,但它们都只能计算单
个分离导体块(三维空间的单个长方体)与其他导体之间的电容。在实际的集成电路互连线结构中,多块导体相连接形成一条信号通路(一般称为“线网”),需要计算整条线网与其他导体或线网之间的电容,然后才能分析信号在该线网上传递时的延迟时间。图2显示了集成电路电容提取问题中考虑的一个三维互连结构,其中包括单个的三维导体块,也包括多块导体依次连接形成的线网。
7.因此,在集成电路互连电容提取时,需要首先建立一个仅包围指定线网(即主线网)、且不与其他线网或导体相交的高斯面,并在它上面进行随机取点。
8.在申请人于2014年提交的一项发明专利“面向集成电路互连电容提取的线网高斯面采样方法与系统”,申请号:201410016439.3,公开了一种虚拟高斯面采样技术。它先对组成主导体线网的各个导体块建立高斯面,然后在它们的合集上进行随机采样,通过适当的拒绝采样(rejection sampling)达到直接在对整个线网建立的高斯面上采样的效果。然而,实际集成电路中互连线分布非常稠密、导体块数量庞大,一条线网往往就包括数十、乃至上千个导体块,如何高效率地对主线网中的每个导体块建立高斯面是一个难题。


技术实现要素:

9.本技术提供一种面向集成电路互连电容提取的高斯面建立方法,可以实现对含大量导体块的大规模版图的高效率处理,并且该方法仍然遵循虚拟高斯面采样技术,但在建立各个导体块的高斯面(称为“块高斯面”)上有创新,能够高效率地处理含成千上万块导体的主线网,比原有方法快几百倍。
10.本技术实施例提供一种面向集成电路互连电容提取的高斯面建立方法,包括以下步骤:
11.获取建立主线网高斯面所需的空间数据信息,其中,所述空间数据信息为互连电容提取所基于的三维仿真区域进行网格划分的结果、以及每个网格中包含的导体块信息;
12.以第一预设长度控制所述主线网中每个导体块向外扩大,得到与所述每个导体块对应的查询长方体;
13.针对每个所述查询长方体,获取与其相交的所有空间格子中包含的导体块,形成候选导体列表;若所述候选列表为空,则获取该查询长方体对应导体块到与对应的查询长方体相交的所有空间格子外边界的最小距离,并以所述最小距离的二分之一控制该查询长方体对应导体块向外扩大,得到该查询长方体对应导体块对应的高斯面,否则,获取该查询长方体对应导体块与所述候选导体列表中导体块的最小距离,并以所述最小距离的二分之一控制该查询长方体对应导体块向外扩大,得到该查询长方体对应导体块对应的高斯面。
14.根据本技术的一个实施例,所述生成建立高斯面所需的空间数据信息,包括:
15.对待处理、且包含互连导体块的三维仿真区域均匀划分空间网格,得到所述多个空间格子;
16.记录每个空间格子中包含或相交的导体块,得到每个格子对应的导体列表。
17.根据本技术的一个实施例,两个导体块之间的距离计算公式如下:
18.dist(b1,b2)=max{d
x
,dy,dz};
19.其中,b1为第一导体块,b2为第二导体块,d
x
为所述第一导体块和所述第二导体块在x方向距离,dy,为所述第一导体块和所述第二导体块在y方向距离,dz,为所述第一导体块
和所述第二导体块在z方向距离。
20.根据本技术的一个实施例,所述第一导体块和所述第二导体块在x方向距离计算公式如下:
21.d
x
=max{x
min
(b1)-x
max
(b2),x
min
(b2)-x
max
(b1)}
22.其中x
min
(b1)和x
max
(b1)分别为所述第一导体块b1的最小x坐标和最大x坐标;
23.所述第一导体块和所述第二导体块在y方向距离计算公式如下:
24.dy=max{y
min
(b1)-y
max
(b2),y
min
(b2)-y
max
(b1)}
25.其中,y
min
(b1)和y
max
(b1)分别为所述第一导体块b1的最小y坐标和最大y坐标;
26.所述第一导体块和所述第二导体块在z方向距离计算公式如下:
27.dz=max{z
min
(b1)-z
max
(b2),z
min
(b2)-z
max
(b1)}
28.其中,z
min
(b1)和z
max
(b1)分别为所述第一导体块b1的最小z坐标和最大z坐标。
29.根据本技术实施例的面向集成电路互连电容提取的高斯面建立方法,获取主线网内高斯面中基于三维仿真区域进行网格划分的互连电容提取结果及其包含的导体块信息所在的空间数据信息,控制主线网中每个导体块向外扩大得到与之对应的查询长方体,对每个查询长方体获取与之相交的所有空间格子中包含的导体块得到候选导体列表,若候选导体列表为空,则以该查询长方体对应导体块到上述相交空间格子外边界最小距离的二分之一控制上述对应导体块向外扩大,得到对应的高斯面,否则,以该查询长方体对应导体块到候选导体列表中导体块最小距离的二分之一控制上述对应导体块向外扩大,得到对应的高斯面。由此,实现对含大量导体块的大规模版图的高效率处理,且仍然遵循虚拟高斯面采样技术,但在建立各个导体块的高斯面(称为“块高斯面”)上有创新,能够高效率地处理含成千上万块导体的主线网,比原有方法快几百倍。
30.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
31.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
32.图1为随机行走电容提取过程中的二维示意图;
33.图2为集中电路互连电容提取中考虑的三维导体块与线网示意图;
34.图3为根据本技术实施例提供的一种面向集成电路互连电容提取的高斯面建立方法的流程图;
35.图4为根据本技术一个实施例提供的仿真区域内均匀空间网格的二维示意图;
36.图5为根据本技术一个实施例提供的仿真区域内导体块向外扩大至查询长方体的示意图。
具体实施方式
37.下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
38.下面参考附图描述本技术实施例的面向集成电路互连电容提取的高斯面建立方法。针对上述背景技术中心提到的集成电路中互连线的寄生效应造成互连线对电路延时的影响过大造成对主线网中的每个导体块建立高斯面时效率低、电容和电阻计算精度低的问题,本技术提供了一种面向集成电路互连电容提取的高斯面建立方法,在该方法中,获取主线网内高斯面中基于三维仿真区域进行网格划分的互连电容提取结果及其包含的导体块信息所在的空间数据信息,控制主线网中每个导体块向外扩大得到与之对应的查询长方体,对每个查询长方体获取与之相交的所有空间格子中包含的导体块得到候选导体列表,若候选导体列表为空,则以该查询长方体对应导体块到上述相交空间格子外边界最小距离的二分之一控制上述对应导体块向外扩大,得到对应的高斯面,否则,以该查询长方体对应导体块到候选导体列表中导体块最小距离的二分之一控制上述对应导体块向外扩大,得到对应的高斯面。由此,实现对含大量导体块的大规模版图的高效率处理,且仍然遵循虚拟高斯面采样技术,但在建立各个导体块的高斯面(称为“块高斯面”)上有创新,能够高效率地处理含成千上万块导体的主线网,比原有方法快几百倍。
39.具体而言,图3为本技术实施例所提供的一种面向集成电路互连电容提取的高斯面建立方法的流程示意图。
40.如图3所示,该面向集成电路互连电容提取的高斯面建立方法包括以下步骤:
41.在步骤s301中,获取建立主线网高斯面所需的空间数据信息,其中,空间数据信息为互连电容提取所基于的三维仿真区域进行网格划分的结果、以及每个网格中包含的导体块信息。
42.进一步地,在一些实施例中,生成建立高斯面所需的空间数据信息,包括:对待处理、且包含互连导体块的三维仿真区域均匀划分空间网格,得到多个空间格子;记录每个空间格子中包含或相交的导体块,得到每个格子对应的导体列表。
43.具体地,根据实际情况,集成电路中的三维互连导体块可以认定均为长方体,且它的各个面均平行于三维直角坐标系的坐标平面。并且,在电容提取中,可以设置多个主线网。假设所考虑的主线网为a,它包括nb个导体块bi,(i=1,2,...,nb),a对应的三维形体是这些导体块的并集。对a的每个导体块bi,分别建立它的高斯面gi(称为块高斯面),gi包含bi,且不包含线网a以外的其他导体,也不与它们重叠或相贴。
44.进一步地,在建立高斯面时,本技术实施例可以先对主线网中要处理的、包含互连导体的三维仿真区域均匀划分空间网格,得到多个空间格子,然后对每个空间格子记录其包含、或相交的导体块,形成导体列表,如图4所示,空间格子g1的导体列表含导体块b1和b2,而空间格子g2的导体列表仅含导体块b2,从而得到高斯面建立所需要的空间数据信息,从而使得后续的高斯面建立过程计算量大幅度减少。
45.在步骤s302中,以第一预设长度控制主线网中每个导体块向外扩大,得到与每个导体块对应的查询长方体。
46.具体地,本技术实施例可以先设置候选列表l为空集,并设置一个扩展距离de,即为第一预设长度,它的取值可以是空间格子的最小边长。对于每一个主线网a中的每个导体块bi,设置候选列表l为空集,并将bi向外扩大de长度得到查询长方体q,如图5所示,导体块b1向外扩de得到查询长方体q,q相交的空间格子中仅包含导体块c2。
47.在步骤s303中,针对每个查询长方体,获取与其相交的所有空间格子中包含的导
体块,形成候选导体列表;若候选列表为空,则获取该查询长方体对应导体块到与对应的查询长方体相交的所有空间格子外边界的最小距离,并以最小距离的二分之一控制该查询长方体对应导体块向外扩大,得到该查询长方体对应导体块对应的高斯面,否则,获取该查询长方体对应导体块与候选导体列表中导体块的最小距离,并以最小距离的二分之一控制该查询长方体对应导体块向外扩大,得到该查询长方体对应导体块对应的高斯面。
48.具体地,本技术实施例可以获取与查询长方体q相交的所有空间格子,并将它们的导体列表中的导体一起放到候选列表l中。若候选列表l为空集,则获取每个导体块bi与对应的查询长方体q相交的所有空间格子外边界的多个距离中的最小值d1,并以d1/2控制每个导体块向外扩大,从而得到每个导体块对应的高斯面gi,否则,则获取每个导体块bi与对应的查询长方体q相交的所有空间格子外边界的多个距离中的最小值d2,并以d2/2控制每个导体块向外扩大,从而得到每个导体块对应的高斯面gi。
49.需要说明的是,计算两个长方体(即导体块)之间距离的计算公式可以如下:
50.dist(b1,b2)=max{d
x
,dy,dz};
51.其中,b1为第一导体块,b2为第二导体块,d
x
为第一导体块和第二导体块在x方向距离,dy,为第一导体块和第二导体块在y方向距离,dz,为第一导体块和第二导体块在z方向距离。
52.其中,第一导体块b1和第二导体块b2在x方向距离计算公式如下:d
x
=max{x
min
(b1)-x
max
(b2),x
min
(b2)-x
max
(b1)},(x
min
(b1)和x
max
(b1)分别为第一导体块b1的最小x坐标和最大x坐标);
53.第一导体块b1和第二导体块b2在y方向距离计算公式如下:
54.dy=max{y
min
(b1)-y
max
(b2),y
min
(b2)-y
max
(b1)},(y
min
(b1)和y
max
(b1)分别为第一导体块b1的最小y坐标和最大y坐标);
55.第一导体块b1和第二导体块b2在z方向距离计算公式如下:
56.dz=max{z
min
(b1)-z
max
(b2),z
min
(b2)-z
max
(b1)},(z
min
(b1)和z
max
(b1)分别为第一导体块b1的最小z坐标和最大z坐标)。
57.为便于本领域技术人员进一步了解本技术实施例的面向集成电路互连电容提取的高斯面建立方法,下面结合具体实施例进行详细阐述。
58.高斯面建立方法如下:
59.(1)对要处理的、包含互连导体的三维仿真区域均匀划分空间网格,然后对每个空间格子记录其包含、或相交的导体块,形成导体列表。
60.(2)设置一个扩展距离de,它的取值可以是空间格子的最小边长。
61.上述两个步骤执行一次,即可得到了高斯面建立所需要的空间数据信息。
62.对于每一个主线网a,建立其高斯面时执行如下步骤:
63.(a)for主线网a的每个导体块bi;
64.1)设置候选列表l为空集;
65.2)将bi向外扩大de长度得到查询长方体q;
66.3)对与q相交的所有空间格子,将它们的导体列表中的导体一起放到候选列表l中;
67.4)如果l为空集,则令d为bi到与q相交的所有空间格子外边界的最小距离,然后转
到第6步;
68.5)对l中的每个导体cj,计算它与bi的距离,这些距离的最小值记为d;
69.6)d=d/2;
70.7)将bi向外扩d的距离,得到它对应的块高斯面gi;
71.(b)结束。
72.由此,通过上述方法生成了高斯面建立所需要的空间数据信息,使得后续的高斯面建立过程计算量大幅度减少,例如,对于一个含一百多万块导体的集成电路互连结构,生成其中一个含6450块导体的线网的高斯面,算法运行时间由335秒减小为0.9秒,加速了三百多倍。
73.根据本技术实施例的面向集成电路互连电容提取的高斯面建立方法,获取主线网内高斯面中基于三维仿真区域进行网格划分的互连电容提取结果及其包含的导体块信息所在的空间数据信息,控制主线网中每个导体块向外扩大得到与之对应的查询长方体,对每个查询长方体获取与之相交的所有空间格子中包含的导体块得到候选导体列表,若候选导体列表为空,则以该查询长方体对应导体块到上述相交空间格子外边界最小距离的二分之一控制上述对应导体块向外扩大,得到对应的高斯面,否则,以该查询长方体对应导体块到候选导体列表中导体块最小距离的二分之一控制上述对应导体块向外扩大,得到对应的高斯面。由此,实现对含大量导体块的大规模版图的高效率处理,且仍然遵循虚拟高斯面采样技术,但在建立各个导体块的高斯面(称为“块高斯面”)上有创新,能够高效率地处理含成千上万块导体的主线网,比原有方法快几百倍。
74.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
75.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
76.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
77.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设
备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或n个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
78.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
79.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
80.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
81.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献