一种特征参数提取方法及装置与流程

文档序号:12963784阅读:343来源:国知局
一种特征参数提取方法及装置与流程

本发明涉及集成电路制造工艺和版图设计技术领域,更具体的说,是涉及一种特征参数提取方法及装置。



背景技术:

版图是集成电路(integratedcircuit,ic)芯片从设计走向制造的桥梁,它包含了集成电路尺寸、各层拓扑定义等器件相关的物理信息数据。为了提高ic芯片生产良率,降低生产成本,通常采用cmp(chemicalmechanicalpolishing,化学机械抛光)模型对cmp后的ic芯片表面形貌进行预测。通常,一个完整的预测过程包括版图划分、特征参数提取、cmp模拟及结果输出四个步骤。其中,版图划分是将待预测的ic芯片的版图划分为连续的网格,从而以每个网格为单位进行后续三个步骤;特征参数提取是提取每个网格中版图的等效线宽、等效密度等特征参数。在特征参数提取的过程中,与每个网格相交的多边形个数一般有上千个,每个网格都需要和这些多边形进行同构操作才能计算出当前网格的等效线宽、等效密度等特征参数,由于ic芯片的版图切分后有上万甚至几十万的网格,可见,需要相当大的计算量(即,大量的多边形同构操作)才能提取到整个ic芯片的版图的特征参数。

在传统的对cmp后的ic芯片表面形貌进行预测的过程中,特征参数的提取一般由单机使用串行算法对划分好的版图的每个网格依次提取特征参数。

但是,随着ic芯片规模的不断扩大,单位面积上的集成度越来越高,从而导致ic芯片的版图数据不断增大。因此,传统的由单机执行的特征参数提取的方法,会由于串行算法的运行时间过长而增加特征参数的提取时间。

因此,如何快速提取ic芯片的版图的特征参数,成为本领域亟待解决的一大技术问题。



技术实现要素:

有鉴于此,本发明提供了一种特征参数提取方法及装置,以克服现有技术中采用传统的由单机执行的特征参数提取的方法,会由于串行算法的运行时间过长而增加特征参数的提取时间的问题。

为实现上述目的,本发明提供如下技术方案:

一种特征参数提取方法,包括:

根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务;

接收所述多个子进程反馈的处理结果;

将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。

优选的,在接收所述多个子进程反馈的处理结果之前,所述方法还包括:

根据所述多个子进程的负载状况均衡所述多个子进程的负载。

优选的,所述根据所述多个子进程的负载状况均衡所述多个子进程的负载,具体包括:

接收第一子进程反馈的第一负载状况信息,所述第一负载状况信息中包含所述第一子进程当前剩余负载量;

接收第二子进程反馈的第二负载状况信息,所述第二负载状况信息中包含所述第二子进程当前剩余负载量;

当所述第一子进程当前剩余负载量为0,且所述第二子进程当前剩余负载量不为0时,启动负载均衡,控制所述第二子进程将所述第二子进程的剩余负载量中的n个负载迁移至所述第一子进程,其中所述n为大于或等于1的正整数。

优选的,所述接收所述多个子进程反馈的处理结果,包括:

当接收的所述多个子进程反馈的负载状况信息中,每个负载状况信息中包含当前剩余负载量均为0时,向所述多个子进程广播通知所述各个子进程反馈处理结果;

接收所述多个子进程在收到所述广播后反馈的处理结果。

优选的,所述根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,具体包括:

根据所述当前集成电路芯片的版图的长、宽以及单个网格大小,得到所述当前集成电路芯片的版图所包含的网格的总列数;

确定所述集群系统中的多个子进程的数量;

为编号最大的子进程分配第一列数的网格;为剩余子进程分配第二列数的网格,其中,所述第一列数为所述总列数与所述多个子进程的数量的商以及余数的和,所述第二列数为所述总列数与所述多个子进程的数量的商。

一种特征参数提取装置,包括:

任务分配单元,用于根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务;

接收单元,用于接收所述多个子进程反馈的处理结果;

整合单元,用于将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。

优选的,所述装置还包括:

负载均衡单元,用于在接收所述多个子进程反馈的处理结果之前,根据所述多个子进程的负载状况均衡所述多个子进程的负载。

优选的,所述负载均衡单元具体用于:

接收第一子进程反馈的第一负载状况信息,所述第一负载状况信息中包含所述第一子进程当前剩余负载量;

接收第二子进程反馈的第二负载状况信息,所述第二负载状况信息中包含所述第二子进程当前剩余负载量;

当所述第一子进程当前剩余负载量为0,且所述第二子进程当前剩余负载量不为0时,启动负载均衡,控制所述第二子进程将所述第二子进程的剩余负载量中的n个负载迁移至所述第一子进程,其中所述n为大于或等于1的正整数。

优选的,所述接收单元具体用于:

当接收的所述多个子进程反馈的负载状况信息中,每个负载状况信息中包含当前剩余负载量均为0时,向所述多个子进程广播通知所述各个子进程反馈处理结果;

接收所述多个子进程在收到所述广播后反馈的处理结果。

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

根据所述当前集成电路芯片的版图的长、宽以及单个网格大小,得到所述当前集成电路芯片的版图所包含的网格的总列数;

确定所述集群系统中的多个子进程的数量;

为编号最大的子进程分配第一列数的网格;为剩余子进程分配第二列数的网格,其中,所述第一列数为所述总列数与所述多个子进程的数量的商以及余数的和,所述第二列数为所述总列数与所述多个子进程的数量的商。

经由上述的技术方案可知,与现有技术相比,本发明公开了一种特征参数提取方法,根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务;接收所述多个子进程反馈的处理结果;将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。通过上述方法,快速提取ic芯片的版图的特征参数。相应的,本发明还公开了一种特征参数提取装置。

附图说明

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

图1为本发明实施例公开的一种特征参数提取方法流程示意图;

图2为本发明实施例公开的另一种特征参数提取方法流程示意图;

图3为本发明实施例公开的根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程的流程示意图;

图4为本发明实施例公开的一种特征参数提取装置结构示意图;

图5为本发明实施例公开的另一种特征参数提取装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

由背景技术可知,现有技术中采用传统的由单机执行的特征参数提取的方法,会由于串行算法的运行时间过长而增加特征参数的提取时间。

为此,本发明公开了一种特征参数提取方法,根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务;接收所述多个子进程反馈的处理结果;将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。通过上述方法,快速提取ic芯片的版图的特征参数。相应的,本发明还公开了一种特征参数提取装置。

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

请参阅附图1,为本发明实施例公开的一种特征参数提取方法流程示意图,该方法包括如下步骤:

步骤s101、根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务。

需要说明的是,集群系统是由多台同构的计算机组成的。每台计算机上都配置相应的集群计算环境,比如,目前最为广泛应用消息传递并行程序设计模式(messagepassinginterface,mpi)。每台计算机上都包括至少一个进程。启动集群的计算机上的一个进程为主进程,集群系统中的剩余进程为子进程。在本实施例中,是由主进程根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程的。

在本实施例中,由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务,具体指的是由多个子进程并行处理版图特征参数提取流程中最耗时的网格特征参数提取。

步骤s102、接收所述多个子进程反馈的处理结果。

步骤s103、将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。

本实施例公开了一种特征参数提取方法,根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务;接收所述多个子进程反馈的处理结果;将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。通过上述方法,快速提取ic芯片的版图的特征参数。

在上述本发明公开的实施例的基础上,本发明还公开了另一种特征参数提取方法。

请参阅附图2,为本发明实施例公开的另一种特征参数提取方法流程示意图,该方法包括如下步骤:

步骤s201、根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务。

请参阅附图3,为本发明实施例公开的根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程的流程示意图,该过程具体包括:

步骤s301、根据所述当前集成电路芯片的版图的长、宽以及单个网格大小,得到所述当前集成电路芯片的版图所包含的网格的总列数;

考虑到并行计算对任务粒度和减少通信的要求,因此以列作为一个任务单位。

步骤s302、确定所述集群系统中的多个子进程的数量;

步骤s303、为编号最大的子进程分配第一列数的网格;为剩余子进程分配第二列数的网格,其中,所述第一列数为所述总列数与所述多个子进程的数量的商以及余数的和,所述第二列数为所述总列数与所述多个子进程的数量的商。

举例来说,假设所述当前集成电路芯片的版图所包含的网格的总列数为100,所述集群系统中的多个子进程的数量为3,则子进程1分到的任务块包含列0~列32,子进程2分到的任务块包含列33~列65,子进程3分到的任务块包含列66~列99。

步骤s202、根据所述多个子进程的负载状况均衡所述多个子进程的负载。

在本实施例中,所述根据所述多个子进程的负载状况均衡所述多个子进程的负载,具体包括:

接收第一子进程反馈的第一负载状况信息,所述第一负载状况信息中包含所述第一子进程当前剩余负载量;

接收第二子进程反馈的第二负载状况信息,所述第二负载状况信息中包含所述第二子进程当前剩余负载量;

当所述第一子进程当前剩余负载量为0,且所述第二子进程当前剩余负载量不为0时,启动负载均衡,控制所述第二子进程将所述第二子进程的剩余负载量中的n个负载迁移至所述第一子进程,其中所述n为大于或等于1的正整数。

步骤s203、接收所述多个子进程反馈的处理结果。

本实施例中,所述接收所述多个子进程反馈的处理结果,包括:

当接收的所述多个子进程反馈的负载状况信息中,每个负载状况信息中包含当前剩余负载量均为0时,向所述多个子进程广播通知所述各个子进程反馈处理结果;接收所述多个子进程在收到所述广播后反馈的处理结果。

另外,需要说明的是,本实施例中,主进程可以定义一个数组,用来接收所述多个子进程反馈的处理结果。

步骤s204、将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。

当所有子进程反馈的处理结果全部接收完毕之后,需要考虑周围网格之间的影响,整合得到所述当前集成电路芯片的版图的特征参数。

在本实施例中,设计了一个基于版图数据的任务迁移动态负载均衡算法,加快了版图特征参数提取的速度,并且每个子进程只需要读版图的一部分数据到内存,这也避免了今后随着版图数据量增大导致单机内存不足的问题。

上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种特征参数提取装置,下面给出具体的实施例进行详细说明。

请参阅附图4,为本发明实施例公开的一种特征参数提取装置结构示意图,该装置包括如下单元:

任务分配单元11,用于根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务。

接收单元12,用于接收所述多个子进程反馈的处理结果。

整合单元13,用于将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。

需要说明的是,上述各个单元的具体功能实现,已在方法实施例部分进行详细说明,本实施例不再赘述。

请参阅附图5,为本发明实施例公开的另一种特征参数提取装置结构示意图,该装置包括如下单元:

任务分配单元21,用于根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务。

所述分配单元具体用于:

根据所述当前集成电路芯片的版图的长、宽以及单个网格大小,得到所述当前集成电路芯片的版图所包含的网格的总列数;

确定所述集群系统中的多个子进程的数量;

为编号最大的子进程分配第一列数的网格;为剩余子进程分配第二列数的网格,其中,所述第一列数为所述总列数与所述多个子进程的数量的商以及余数的和,所述第二列数为所述总列数与所述多个子进程的数量的商。

负载均衡单元22,用于在接收所述多个子进程反馈的处理结果之前,根据所述多个子进程的负载状况均衡所述多个子进程的负载。

所述负载均衡单元具体用于:

接收第一子进程反馈的第一负载状况信息,所述第一负载状况信息中包含所述第一子进程当前剩余负载量;

接收第二子进程反馈的第二负载状况信息,所述第二负载状况信息中包含所述第二子进程当前剩余负载量;

当所述第一子进程当前剩余负载量为0,且所述第二子进程当前剩余负载量不为0时,启动负载均衡,控制所述第二子进程将所述第二子进程的剩余负载量中的n个负载迁移至所述第一子进程,其中所述n为大于或等于1的正整数。

接收单元23,用于接收所述多个子进程反馈的处理结果。

所述接收单元具体用于:

当接收的所述多个子进程反馈的负载状况信息中,每个负载状况信息中包含当前剩余负载量均为0时,向所述多个子进程广播通知所述各个子进程反馈处理结果;

接收所述多个子进程在收到所述广播后反馈的处理结果。

整合单元24,用于将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。

需要说明的是,上述各个单元的具体功能实现,已在方法实施例部分进行详细说明,本实施例不再赘述。

综上所述:

本发明公开了一种特征参数提取方法,根据预设的任务分配策略将当前集成电路芯片的版图测试任务分配给集群系统中的多个子进程,以由所述多个子进程并行处理所述当前集成电路芯片的版图测试任务;接收所述多个子进程反馈的处理结果;将所述多个子进程反馈的处理结果进行整合得到所述当前集成电路芯片的版图的特征参数。通过上述方法,快速提取ic芯片的版图的特征参数。相应的,本发明还公开了一种特征参数提取装置。

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

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1