随机行走在电容抽取中单细粒度的并行处理方法和系统与流程

文档序号:28867906发布日期:2022-02-12 10:24阅读:112来源:国知局
随机行走在电容抽取中单细粒度的并行处理方法和系统与流程

1.本发明涉及集成电路计算机辅助设计技术领域,特别是涉及一种随机行走在电容抽取中单细粒度的并行处理方法和系统。


背景技术:

2.集成电路设计的流程一般先要进行软硬件划分,将设计基本分为两部分:芯片硬件设计和软件协同设计。其中,芯片硬件设计包括:1、功能设计阶段;2、设计描述和行为级验证;3、逻辑综合;4、物理设计验证;5、布局和布线。在物理设计验证中,一个重要的环节称为寄生参数提取。为了提高计算精度,需要对电感、电容等参数进行更加准确的提取计算,随机行走电容提取算法能够提供精准的提取计算,现有的随机行走并行处理的方法主要有两种:1.基于net的并行处理。主要的处理方法是不同net上的电容抽取分配的不同的计算核心上抽取,这样的问题是每个计算核心计算时长不平均的问题,尤其是对于电路中的大net,比如power net(电源电路)抽取特别慢,这样就导致整个抽取时间被大的net拖慢。
3.2.基于网格的并行处理。主要的处理方法是把整个电路版图切成大小相等的网格,不同的网格在不同的计算核心上进行抽取,这样的并行抽取方法基本上可以保证每个计算核心负载均衡,但在网格边界的精度无法保证,影响最终电容结果的准确性。


技术实现要素:

4.针对现有技术中存在的缺陷,本发明的目的在于提供一种随机行走在电容抽取中单细粒度的并行处理方法和系统,解决了现有随机行走并行处理方法无法兼顾准确性和高效率的问题。
5.为了达到上述目的,本发明所采用的具体技术方案如下:一种随机行走在电容抽取中单细粒度的并行处理方法,具体包括以下步骤:步骤1,获取集成电路物理设计的互连线信息,配合工艺文件得到集成电路物理设计三维结构;步骤2,根据用户需求和处理器运算核心的数量配置若干个线程、收敛精度c;步骤3,多导体间电容抽取需找到导体电荷和电势之间的关系,根据高斯定理:通过任意闭合曲面的电通量等于该闭合曲面所包围的所有电荷量的代数和除以电介质的介电常数,电荷量关系式为:f(r)为介电常数,为在r点的电势,为高斯面在r点的法线方向;为得到电荷量,首先要为每一个导体构造一个封闭的、包裹的高斯面;步骤4,根据高斯面的面积计算出概率密度;对的积分采用随机采样的方式得到,随机采样根据高斯面的面积计算出概率密
度pdf,f(x) 为每个高斯面的概率密度;为每个高斯面的概率密度;为导体n个高斯面的总面积,a(x)为第x个高斯面的面积;步骤5,根据高斯面的概率密度从高斯面上选取若干点;步骤6,r点的电势采用以下关系式:步骤6,r点的电势采用以下关系式:称为格林函数,是未知的,采用随机行走的方式得到;每一个r点电势的计算都是独立的,对的积分进行并行处理;把选取的高斯面上的点作为单一运算单元放入运算队列;步骤7,每个线程依次从运算队列中提取高斯面上的点执行随机行走,若随机行走到导体表面或者随机行走到边界,完成一次随机行走并存储此随机行走结果r(t);步骤8,每个线程完成一次随机行走后继续步骤7,直到运算队列为空;步骤9,当运算队列为空时挂起所有线程,根据运算队列对应的随机行走结果是否满足收敛精度c(r) 《(r(t)-r(t-1))/r(t),如果达到收敛精度c,停止电容抽取,输出抽取结果;如果没有达到收敛精度c,执行步骤5。
6.优选的,步骤2中处理器为cpu或gpu或fpga。
7.优选的,还包括以下步骤:步骤10,记录随机行走的总次数和抽取结果准确度,通过增加或减少步骤5中选取点数,执行步骤6-9,并记载对应的随机行走的总次数和抽取结果准确度,循环本步骤,得到随机行走总次数、抽取结果准确度的数据库。
8.一种随机行走在电容抽取中单细粒度的并行处理系统,包括:数据获取模块,用于获取集成电路物理设计的互连线信息,配合工艺文件得到集成电路物理设计三维结构;参数配置模块,用于根据用户需求和处理器运算核心的数量配置若干个线程、收敛精度c;高斯处理模块,用于为每一个导体构造一个封闭的、包裹的高斯面,根据高斯面的面积计算出概率密度,根据高斯面的概率密度从高斯面上选取若干点;运算队列模块,用于获取高斯面上的点并作为单一运算单元并对其进行排序;线程计算模块,包括若干线程,每个线程依次从运算队列中提取高斯面上的点执行随机行走,若随机行走到导体表面或者随机行走到边界,完成一次随机行走并存储此随机行走结果r(t),直到运算队列为空,当运算队列为空时挂起所有线程,根据运算队列对应的随机行走结果是否满足收敛精度c(r) 《(r(t)-r(t-1))/r(t),如果达到收敛精度c,停止电容抽取,输出抽取结果。
9.优选的,所述线程计算模块采用cpu或gpu或fpga构成。
10.优选的,还包括:反馈模块,记录随机行走的总次数和抽取结果准确度,通过增加或减少选取点数
并记载对应的随机行走的总次数和抽取结果准确度,得到随机行走总次数、抽取结果准确度的数据库;所述高斯处理模块还可根据高斯面的概率密度和所需抽取结果准确度从高斯面上选取对应数量的点。
11.优选的,为每一个导体构造一个封闭的、包裹的高斯面,具体指的是:多导体间电容抽取需找到导体电荷和电势之间的关系,根据高斯定理:通过任意闭合曲面的电通量等于该闭合曲面所包围的所有电荷量的代数和除以电介质的介电常数,电荷量关系式为:f(r)为介电常数,为在r点的电势,为高斯面在r点的法线方向;为每一个导体构造一个封闭的、包裹的高斯面,以便得到电荷量。
12.优选的,对的积分采用随机采样的方式得到,随机采样根据高斯面的面积计算出概率密度pdf,f(x) 为每个高斯面的概率密度;为每个高斯面的概率密度;为导体n个高斯面的总面积,a(x)为第x个高斯面的面积。
13.优选的,把选取的高斯面上的点作为单一运算单元放入运算队列具体指的是:每一个r点电势的计算都是独立的,对的积分进行并行处理;r点的电势采用以下关系式:r点的电势采用以下关系式:称为格林函数,是未知的,采用随机行走的方式得到。
14.本发明的有益效果在于:1、并行性高:把单个随机行走作为单独的细粒度的运算单位,更好的充分利用运算核心的性能。相较于基于net的粗粒度的运算单位的并行处理,本发明更好的提高了并行性,从而更好的提高了抽取的速度。
15.2、精度高:相较于切割版图的并行处理方法,避免了切割边缘精度没办法保证的问题。保证了精度和单个运算核心的精度保持一致。
16.3、易扩展性强:细粒度的运算单位互相没有依赖关系,每一个随机行走偏向于纯计算。这种纯计算的方式更容易扩展,细粒度的运算单位互相没有依赖关系也可以支持异构的计算。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为随机行走电容提取示意图;图2是本发明一种随机行走在电容抽取中单细粒度的并行处理方法的流程图;图3是本发明一种随机行走在电容抽取中单细粒度的并行处理系统的结构示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的其他实施例,都属于本发明保护的范围。
20.在本发明的描述中,需要说明的是,术语“竖直”、“上”、“下”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
21.在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
22.如图1所示,其为随机行走电容提取示意图,其中图1中的标号1处代表dirichlet(狄利克雷边界条件),图1的标号2代表self walk(到自身的随机行走),图1中的标号3代表gaussian(高斯面)。要计算导体i到导体j的耦合电容,首先构造包围导体i的高斯面,然后从该面上发出若干随机行走路径,如图1所示,以随机行走当前点为中心找一个最大且不与导体相交的立方体(称为“转移立方体”),则随机行走的下一个落点为转移立方体表面的某个随机位置。重复构造转移立方体以及在其表面随机取点的过程,直到当前点到达某个导体表面,才完成一次随机行走路径。根据最终到达导体的不同,每次路径都返回一个相应导体耦合电容的估计值,所有随机行走路径对应电容估计值的均值是提取的电容值,若最终到达导体i,则输出抽取结果为自电容的估计值,若达到导体j,则输出抽取结果为导体i到导体j的耦合电容的估计值。
23.如图2所示,本发明提出了一种随机行走在电容抽取中单细粒度的并行处理方法,具体指的是集成电路设计流程中电容抽取,在随机行走的电容抽取过程中把每一次随机行走做为一个细粒度的并行处理单元进行处理,从而提高整个抽取过程的并行性。具体包括以下步骤:步骤1,获取集成电路物理设计的互连线信息,配合工艺文件得到集成电路物理设计三维结构;步骤2,根据用户需求和处理器运算核心的数量配置若干个线程、收敛精度c;步骤3,多导体间电容抽取需找到导体电荷和电势之间的关系,根据高斯定理:通过任意闭合曲面的电通量等于该闭合曲面所包围的所有电荷量的代数和除以电介质的介电常数,电荷量关系式为:
f(r)为介电常数,为在r点的电势,为高斯面在r点的法线方向;为得到电荷量,首先要为每一个导体构造一个封闭的、包裹的高斯面;步骤4,根据高斯面的面积计算出概率密度;对的积分采用随机采样的方式得到,随机采样根据高斯面的面积计算出概率密度pdf,f(x) 为每个高斯面的概率密度;为每个高斯面的概率密度;为导体n个高斯面的总面积,a(x)为第x个高斯面的面积;步骤5,根据高斯面的概率密度从高斯面上选取若干点;步骤6,r点的电势采用以下关系式:步骤6,r点的电势采用以下关系式:称为格林函数,是未知的,采用随机行走的方式得到;每一个r点电势的计算都是独立的,对的积分进行并行处理;把选取的高斯面上的点作为单一运算单元放入运算队列;步骤7,每个线程依次从运算队列中提取高斯面上的点执行随机行走,若随机行走到导体表面或者随机行走到边界,完成一次随机行走并存储此随机行走结果r(t);步骤8,每个线程完成一次随机行走后继续步骤7,直到运算队列为空;步骤9,当运算队列为空时挂起所有线程,根据运算队列对应的随机行走结果是否满足收敛精度c(r) 《(r(t)-r(t-1))/r(t),如果达到收敛精度c,停止电容抽取,输出抽取结果;如果没有达到收敛精度c,执行步骤5。
24.优选的,步骤2中处理器为cpu或gpu或fpga。
25.优选的,还包括以下步骤:步骤10,记录随机行走的总次数和抽取结果准确度,通过增加或减少步骤5中选取点数,执行步骤6-9,并记载对应的随机行走的总次数和抽取结果准确度,循环本步骤,得到随机行走总次数、抽取结果准确度的数据库。
26.如图3所示,本发明还提出了一种随机行走在电容抽取中单细粒度的并行处理系统,包括:数据获取模块,用于获取版图互连线信息,配合工艺文件得到版图三维结构;参数配置模块,用于根据用户需求和处理器运算核心的数量配置若干个线程、收敛精度c;高斯处理模块,用于为每一个导体构造一个封闭的、包裹的高斯面,根据高斯面的面积计算出概率密度,根据高斯面的概率密度从高斯面上选取若干点;运算队列模块,用于获取高斯面上的点并作为单一运算单元并对其进行排序;线程计算模块,包括若干线程,每个线程依次从运算队列中提取高斯面上的点执
行随机行走,若随机行走到导体表面或者随机行走到边界,完成一次随机行走并存储此随机行走结果r(t),直到运算队列为空,当运算队列为空时挂起所有线程,根据运算队列对应的随机行走结果是否满足收敛精度c(r) 《(r(t)-r(t-1))/r(t),如果达到收敛精度c,停止电容抽取,输出抽取结果。
27.优选的,所述线程计算模块采用cpu或gpu或fpga构成。
28.优选的,本发明所述的系统还包括:反馈模块,记录随机行走的总次数和抽取结果准确度,通过增加或减少选取点数并记载对应的随机行走的总次数和抽取结果准确度,得到随机行走总次数、抽取结果准确度的数据库;所述高斯处理模块还可根据高斯面的概率密度和所需抽取结果准确度从高斯面上选取对应数量的点。
29.为每一个导体构造一个封闭的、包裹的高斯面具体指的是:多导体间电容抽取需找到导体电荷和电势之间的关系,根据高斯定理:通过任意闭合曲面的电通量等于该闭合曲面所包围的所有电荷量的代数和除以电介质的介电常数,电荷量关系式为:f(r)为介电常数,为在r点的电势,为高斯面在r点的法线方向;为每一个导体构造一个封闭的、包裹的高斯面,以便得到电荷量。
30.优选的,对的积分采用随机采样的方式得到,随机采样根据高斯面的面积计算出概率密度pdf,f(x) 为每个高斯面的概率密度;为每个高斯面的概率密度;为导体n个高斯面的总面积,a(x)为第x个高斯面的面积。
31.优选的,把选取的高斯面上的点作为单一运算单元放入运算队列具体指的是:每一个r点电势的计算都是独立的,对的积分进行并行处理;r点的电势采用以下关系式:r点的电势采用以下关系式:称为格林函数,是未知的,采用随机行走的方式得到。
32.本发明的有益效果在于:1、并行性高:把单个随机行走作为单独的细粒度的运算单位,更好的充分利用运算核心的性能。相较于基于net的粗粒度的运算单位的并行处理,本发明更好的提高了并行性,从而更好的提高了抽取的速度。
33.2、精度高:相较于切割版图的并行处理方法,避免了切割边缘精度没办法保证的问题。保证了精度和单个运算核心的精度保持一致。
34.3、易扩展性强:细粒度的运算单位互相没有依赖关系,每一个随机行走偏向于纯计算。这种纯计算的方式更容易扩展。
35.以上述依据本发明的理想实施例为启示,通过上述的说明内容,本领域技术人员完全可以在不偏离本发明技术思想的范围内,进行多样的变更以及修改。本发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求书范围来确定其技术性范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1