首页> 中国专利> 利用统计定时对多图案变化性建模

利用统计定时对多图案变化性建模

摘要

本发明描述了用于在IC制造期间利用统计定时分析对多图案变化性建模的系统的方法。提供了在将计算机可执行代码有形地包含在计算机可读存储介质上的计算机基础结构中实现的方法,所述计算机可执行代码具有编程指令,所述编程指令可操作用来定义集成电路设计中的变化的至少一个来源。所述编程指令还可操作用来:将所述集成电路设计的至少一个级别中的至少两个图案的变化的至少一个来源分别建模为变化性的至少两个来源。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-05

    专利权的转移 IPC(主分类):G06F17/50 登记生效日:20171116 变更前: 变更后: 申请日:20131031

    专利申请权、专利权的转移

  • 2017-08-29

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20131031

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及用于集成电路(“IC”)制造和优化的系统和方法,并且,更具体地,涉及用于在IC制造期间利用统计定时对多图案变化性(multi-patterning variability)建模的系统和方法。

背景技术

IC是包括诸如晶体管、电阻器、二极管等的很多电子部件的装置(例如,半导体装置)或电子系统。这些部件经常被互连,以形成多个电路部件,如门、电池、存储单元、算数单元、控制器、解码器等。IC包括将其电子和电路部件互连的多层布线。

设计工程师通过将IC的部件的逻辑或电路描述变换为被称为设计布局的几何描述,来设计IC。IC设计布局典型包括具有引脚的电路模块(例如,电子或电路IC部件的几何表示)、以及连接电路模块的引脚的互连线(例如,布线的几何表示)。典型地,将网(net)定义为需要连接的引脚的集合。这样,设计布局经常描述IC的行为、架构、功能和结构上的属性。为创建设计布局,典型地,设计工程师使用电子设计自动化(“EDA”)应用。这些应用提供基于计算机的工具集,用于创建、编辑、分析和验证设计布局。

使用光刻工艺,基于设计布局来制造IC。光刻是光学印刷和制造工艺,通过其,光刻掩模(即,光掩模)上的图案被成像和限定到涂覆基板的感光层。为制造IC,使用IC设计布局作为模板来创建光掩模。光掩模包含IC设计布局的各种几何图形(例如,特征)在光掩模上包含的各种几何图形对应于构成诸如晶体管、互连布线、过孔焊盘(via pad)的功能电路部件的各种基本物理IC元件、以及不是功能电路元件但被用来促进、加强或跟踪各种制造工艺的其他元件。通过在IC制造工艺中与给定IC相对应的各种光掩模的顺序使用,可构造具有各种传导和绝缘特性的各种形状和厚度的大量材料层,以在IC设计布局内形成全体IC和电路。

随着电路复杂度不断增加、且晶体管设计变得更加先进且尺寸更小(即,制程微缩(die shrink)),更经常地使用多图案光刻技术或工艺来制造IC。具体地,多图案是用于制造IC以增强特征密度的光刻技术或工艺分类。多图案的最简单情况是双图案,其中,增强传统的光刻工艺来产生加倍期望数目的特征。多图案光刻技术或工艺典型地需要使用多个不同光掩模来形成IC设计布局内的电子或电路IC部件的几何表示。典型地,不同的光掩模具有不同的变化和不对齐,使得利用不同光掩模制造的电子或电路IC部件(例如,晶体管和布线)的参数可能不同地变化(例如,对于每个掩模的多峰(multimodal)变化性或变化性的分布)。

定时分析(例如,统计静态定时分析(SSTA))需要以有效且高效的方式,对由多图案技术或工艺引起的电子或电路IC部件的参数的这个变化建模。大多数SSTA解决方案使用基于敏感度的方法来对定时上的变化的效果建模。这涉及建立特定的装置或互连参数的改变如何影响集成电路的期望特性。对于参数的这种敏感度、连同其概率分布(平均和标准偏差)提供了统计模型,其描述参数将具有对装置或互连特性的特定效果的概率。

然而,多峰变化性难以使用传统的依赖于单高斯分布的SSTA解决方案来建模。例如,先前的解决方案已包括了将变化性建模为单分布或双峰(bimodal)分布。典型地,单分布解决方案将宽度/间隔建模为单分布,其匹配平均和方差、但导致悲观的(pessimistic)定时结果。双峰分布不能对设备变化性和来自不同光掩模集的变化性建模,由此导致非常长的模型运行时间和不准确的结果。

因而,在现有技术中,存在克服上述缺陷和限制的需要。

发明内容

在本发明的第一方面,提供了在将计算机可执行代码有形地包含在计算机可读存储介质上的计算机基础结构中实现的方法,所述计算机可执行代码具有可操作用来定义集成电路设计中的变化(variation)的至少一个来源的编程指令。编程指令还可操作用来:将集成电路设计的至少一个级别(level)中的至少两个图案的变化的至少一个来源分别建模为变化性的至少两个来源。

在本发明的另一个方面,提供了用于优化集成电路的设计布局的方法。该方法包括:查询与集成电路设计的至少一个级别中的至少两个图案的变化的至少一个来源相关联的制造测量(measurement)。该方法还包括:从制造测量确定分布是否已基于当前应用的分布而偏移。该方法还包括:断言(assert)对随机变量的标准化(canonical)偏移和/或缩放,以对分布的差异建模。该方法还包括:基于分布的差异的模型,优化集成电路的设计布局。使用处理器来执行查询制造测量。

在本发明的另一个方面,提供了用于优化集成电路的设计布局的方法。该方法包括:查询与集成电路设计的至少一个级别中的至少两个图案的变化的至少一个来源相关联的制造测量。该方法还包括:基于制造测量,定义集成电路设计的至少一个级别的相关系数。该方法还包括:基于相关系数,对分布的差异建模。该方法还包括:基于分布的差异的模型,优化集成电路的设计布局。使用处理器来执行查询制造测量。

在本发明的另一个方面,提供了用于对多图案变化性建模的计算机系统。该系统包括CPU、计算机可读存储器、以及计算机可读存储介质。该系统还包括第一程序指令,用于定义集成电路设计中的变化的至少一个来源。该系统还包括第二程序指令,用于将集成电路设计的至少一个级别中的至少两个图案的变化的至少一个来源分别建模为变化性的至少两个来源。第一和第二程序指令被存储在计算机可读存储介质上,用于经由计算机可读存储器而由CPU执行。

附图说明

通过本发明的示例性实施例的非限制示例的方式,参照多个附图,在以下详细描述中描述本发明。

图1是用于实现根据本发明的方面的发明的说明性外部环境;

图2和3是用于实现根据本发明的方面的系统的说明性处理流程;以及

图4是在半导体设计、制造和/或测试中使用的设计处理的流程图。

具体实施方式

本发明涉及用于IC制造和优化的系统和方法,并且,更具体地,涉及用于在IC制造期间利用统计定时对多图案变化性建模的系统和方法。更具体地,本发明的实现提供了这样的系统和方法,其通过使用对于IC设计的每个级别而查询的制造测量、对于每个图案将图案变量建模为变化性的多个来源,来建模半导体图案的变化性。在实施例中,可对于IC设计的每个级别计算相关系数,以提供多图案变化性的更准确的建模。在附加实施例中,可与SSTA结合使用多图案的变化性的建模和相关系数,以执行IC设计的物理布局的优化。

有利地,在实施例中,本发明的系统和方法允许生成与统计定时分析兼容的简单模型。并且,有利地,在实施例中,本发明的系统和方法捕捉芯片内变化的双峰图案形状分布的效果,并且,可从查询的制造测量计算不同图案形状之间的相关。并且,有利地,本发明的技术提供了用于优化针对IC的物理设计布局的多图案布置的输入。

系统环境

所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。

可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“如“语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)域连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。

也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。

所述计算机程序指令也可被加载到计算机、其它可编程数据处理设备、或其它装置上,以使得在计算机、其它可编程设备、或其它装置上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图中的方框中指定的功能/动作的处理。

图1示出了用于管理根据本发明的处理的说明性环境10。在这一点上,环境10包括可执行这里描述的处理的服务器或其它计算系统12。具体地,服务器12包括计算装置14。计算装置14可驻留在第三方服务提供方的网络基础结构或计算装置上(图1中一般性地表示了其中的任一个)。

计算装置14还包括处理器20、存储器22A、I/O接口24以及总线26。存储器22A可包括在实际执行程序代码期间采用的本地存储器、大容量存储装置、以及高速缓存,其提供至少某些程序代码的暂时存储,以便减少在执行期间必须从大容量存储装置检索代码的次数。另外,计算装置包括随机存取存储器(RAM)、只读存储器(ROM)以及操作系统(O/S)。

计算装置14与外部I/O装置/资源28和存储系统22B通信。例如,I/O装置28可包括使个人能够与计算装置14交互的任何装置(例如,用户接口)、或使计算装置14能够使用任何类型的通信链路与一个或多个其它计算装置通信的任何装置。例如,外部I/O装置/资源28可为手持装置、PDA、手机、键盘等。

通常,处理器20执行计算机程序代码(例如,程序控制44),其可被存储在存储器22A和/或存储系统22B中。此外,根据本发明的方面,程序控制44控制计算工具100,例如,EDA应用的至少一部分,其执行这里描述的处理。可将计算工具100实现为在存储器22A中存储为分立或组合模块的程序控制44中的一个或多个程序代码。另外,计算工具100可被实现为分立的专用处理器、或单个或几个处理器,以提供这些工具的功能。

在实施例中,计算工具100可被配置为定义集成电路设计中的变化的至少一个来源,并将集成电路设计的至少一个级别中的至少两个图案的变化的至少一个来源分别建模为变化性的至少两个来源。在附加实施例中,计算工具100还可被配置为查询与集成电路设计的至少一个级别中的至少两个图案的变化的至少一个来源相关联的制造测量,从制造测量确定分布是否已基于当前应用的分布而偏移,断言对随机变量的标准化偏移和/或缩放,以对分布的差异建模,并且,基于分布的差异的模型,优化集成电路的设计布局。

在执行计算机程序代码时,处理器20可从/向存储器22A、存储系统22B和/或I/O接口24读取和/或写入数据。程序代码执行本发明的处理。总线26提供计算装置14中的每个部件之间的通信链路。

计算装置14可包括任意通用计算制品(例如,个人计算机、服务器等),其能够执行在其上安装的计算机程序代码。然而,应理解,计算装置14仅为可执行这里描述的处理的各种可能的等价计算装置的代表。在这一点上,在实施例中,可由包括通用和/或专用硬件和/或计算机程序代码的任意组合的计算制品实现计算装置14提供的功能。在每个实施例中,可分别使用标准编程和工程化技术来创建程序代码和硬件。

类似地,计算基础结构12仅为用于实现本发明的各类计算机基础结构的示意。例如,在实施例中,服务器12包括两个或更多计算装置(例如,服务器集群),其在诸如网络、共享存储器等的任意类型的通信链路上通信,以执行这里描述的处理。此外,在执行这里描述的处理时,服务器12上的一个或多个计算装置可使用任意类型的通信链路,与服务器12外部的一个或多个其它计算装置通信。通信链路可包括:有线和/或无线链路的任意组合;一个或多个类型的网络(例如,因特网、广域网、局域网、虚拟专用网络等)的任意组合;和/或利用传输技术和协议的任意组合。

流程图

图2和3示出了用于执行本发明的方面的示例性流程。例如,可在图1的环境中实现图2和3的步骤。

图中的流程图和框图示意了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这一点上,流程图或框图中的每个方框可代表模块、片段、或代码部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。应注意,在一些替代实现中,在方框中标注的功能可以不同于图中标注的次序出现。例如,相继示出的两个方框事实上可以基本同时执行,或者,有时,取决于涉及的功能,可以逆序来执行这些方框。还应注意,框图和/或流程图图示中的每个方框、以及框图和/或流程图图示中的方框的组合可由执行指定功能或动作的专用基于硬件的系统、或专用硬件和计算机指令的组合来实现。

此外,本发明可采用可从计算机可用或计算机可读介质访问的计算机程序产品的形式,其提供用于由计算机或任意指令执行系统使用或结合使用的程序代码。可在图1的环境中实现软件和/或计算机程序产品。为了此描述的目的,计算机可用或计算机可读介质可为可包含、存储、传递、传播或传输用于由指令执行系统、设备或装置使用或结合使用的程序的任意设备。介质可为电、磁、光、电磁、红外线、或半导体的系统(或装置或器件)、或传播介质。计算机可读存储介质的例子包括:半导体或固态存储器、磁带、可移除计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前例子包括紧凑盘-只读存储器(CD-ROM)、紧凑盘-读/写(CD-R/W)和DVD。

在实施例中,如图2所示,提供了用于对多图案变化性建模的处理200。在步骤210,可将用于IC或IC的指定测试区域的设计和定时模型加载到计算装置中。例如,可将用于IC或IC的指定区域的至少一个电路路径的设计布局和定时模型加载到计算工具100(如参照图1所述)中。用于IC的设计和定时模型可由IC的设计者找到或提供。

在步骤215,从用于IC的设计和定时模型查询IC的每层或级别的制造测量。在实施例中,所查询的制造测量可被分为用来制造IC的每层或级别的每个图案或光掩模的分立集合。例如,将用来制造第一层的第一图案的宽度分为与也用来制造第一层的第二图案的宽度的集合分开的集合。

在步骤220,将IC设计中的变化的至少一个来源定义为参数。在实施例中,用于对多图案变化性建模的计算可通过为每个图案定义分立的参数,考虑由于多图案造成的变化的多个来源。根据本发明的方面,也可为参数向量(例如,形成向量的参数集)的为每个图案或光掩模定义的参数(例如,以某种方式控制的、预先提供的、或在IC设计内保持恒定的值)可包括宽度、配准(registration)、旋转等。例如,图案的宽度可被定义为IC设计中的变化的来源。

在附加实施例中,可合并和收缩(collapse)参数。例如:(i)可将配准和旋转合并为位移参数;(ii)可对于本地路径收缩参数;(iii)在长路径的顶部的配准可被定义为不同参数;和/或(iv)可将旋转(例如,可提供最多包括四个自由度的旋转)和旋转中心定义为参数。

此外,取决于布线层是否与其它图案紧邻,可将布线层的电容(capacitance)表示为用于第一图案的第一参数和用于第二图案的第二参数的函数。与IC设计之外的布线层相比,IC设计的中间的布线层可具有对指定图案较小的影响。另外,可将参数定义为具有更高级的敏感度,例如,电容与指定图案周围的其它图案可以不是线性相关的。

另外,可为了参数减少而定义相对空间关系。例如,可基于相对于第二图案的第一图案偏移、而不是相对于某个固定点的第一和第二图案偏移,来定义参数。在实施例中,可收缩某些参数(例如,可将用于双图案的两个配准参数收缩为一个)。然而,通常,具体地,当存在多于两个图案时,不应当收缩参数。

在步骤225,可对于IC设计的至少一个级别中的至少两个图案,将变化的至少一个来源分别建模为变化性的至少两个来源。例如,可将用于IC设计的第一级别的第一图案的宽度建模为变化的第一来源,并将用于IC设计的第一级别的第二图案的宽度建模为变化的第二来源。在实施例中,该建模可包括:使用下面的方程(1)和(2),将用于第一级别的第一图案和第二图案的对应宽度建模为变化的两个来源。

WR=WR,0+ΔWR,Glob+ΔWR,Spat+ΔWR,Rand      (1)

WG=WG,0+ΔWG,Glob+ΔWG,Spat+ΔWG,Rand      (2)

WR是对于第一层的第一图案计算的宽度参数,其中,WR,0是对于第一图案的宽度的平均分布,ΔWR,Glob是对第一图案的宽度的全局分布的敏感度,ΔWR,Spat是对第一图案的宽度的空间分布的敏感度,并且,ΔWR,Rand是对第一图案的宽度的随机分布的敏感度。WG是对于第一层的第二图案计算的宽度参数,其中,WG,0是对于第二图案的宽度的平均分布,ΔWG,Glob是对第二图案的宽度的全局分布的敏感度,ΔWG,Spat是对第二图案的宽度的空间分布的敏感度,并且,ΔWG,Rand是对第二图案的宽度的随机分布的敏感度。

在实施例中,可通过传统技术来提取变化性的随机和空间项,或者,由于典型地,同一级别的多个图案具有相同量的随机和空间变化性,所以,可将这些项假定为等于0。可通过传统技术来提取变化性的全局项。通过传统技术,从所查询的制造测量提取图案变化性的平均值。如本领域的普通技术人员应当理解的,可结合平均分布来使用敏感度,以提供每个参数的完整分布。取决于装置参数,敏感度可为线性的或非线性的。有利地,所计算的参数捕捉每个图案的多峰变化性的效果、或变化性的分布。

可选地,在步骤230,可基于所查询的制造测量来定义或计算IC设计的至少一个级别的相关系数。随后,可使用相关系数来更准确地对IC设计的至少一个级别的图案的变化的来源建模。例如,IC设计的一个级别中的图案的参数可不相关,但是,如果所述参数相关,则其可被用于定义或计算该相关,以改善建模精度。

具体地,如果IC设计的一个级别中的图案在制造期间具有某个相关,使得在图案之间存在跟踪(tracking),则可通过取得每个图案的中断(disruption)样本、并针对图案之间的相关来计算标准偏差、协方差、以及相关系数,测量所述跟踪。

在实施例中,用来确定在图案之间是否存在相关的计算、以及用来计算相关系数的计算可包括:使用方程(3)-(5)。

E(ΔwR,Glob-ΔwG,Glob)2=E(ΔwR,Glob)2+E(ΔwG,Glob)2-2E(ΔwR,GlobΔwG,Glob)      (3)

>ρ=σR2+σG2-σR-G22σRσG---(4)>

>ifσR=σG=σ,ρ=2σ2-σR-G22σ2=1-σR-G22σ2---(5)>

在协方差方程(3)中,第一图案ΔWR,Glob和第二图案ΔWG,Glob之间的差的期望(expectation)(E)等于第一图案ΔWR,Glob和第二图案ΔWG,Glob的两个平方的和的期望值(E)减去两个图案ΔWR,Glob和ΔWG,Glob之间的协方差的期望值(E)的两倍。如果所计算的第一图案ΔWR,Glob和第二图案ΔWG,Glob之间的差的期望(E)等于0,则两个图案不相关。然而,如果所计算的期望(E)等于0之外的某个值,则图案之间的相关存在,并且,可使用方程(4)和(5)来计算相关系数。

在方程(4)中,相关系数(ρ)被设置为等于图案(R)的标准偏差加上图案(G)的标准偏差减去两个图案(R和G)之间的协方差的标准偏差(σ)、再除以两个图案(R和G)的标准偏差的积的两倍。然而,如果图案(R)的标准偏差等于图案(G)的标准偏差,则相关系数(ρ)可被设置为等于1减去两个图案(R和G)之间的协方差的标准偏差(σ)除以标准偏差的两倍,如方程(5)所示。

在步骤235,确定是否已对于多图案变化性而评估了IC设计的全部级别。如果已评估了全部级别,则处理继续到步骤245。如果尚未评估全部级别,则处理返回到步骤215,并且,选择IC设计的下一个级别用于评估。

在步骤240,可将用于IC设计的寄生参数(parasitics)加载或提取到计算装置中。例如,可将用于IC设计的寄生技术文件加载到计算工具100(如参照图1所述)中。可生成寄生技术文件,使得该文件包括描述IC芯片的区域的电行为的所有工艺技术参数。在实施例中,可将寄生技术文件生成为颜色感知(color-aware)或图案感知(pattern-aware)的寄生文件,使得寄生技术文件可包括在寄生提取期间捕捉的、用于每个电阻解决方案和电容解决方案的变化的多个图案来源。例如,可通过执行基本的寄生提取、捕捉每个寄生值的每段的多图案来源、确定对用于寄生值的每个枚举的多图案来源的基础(underlying)变化参数的敏感度、并通过将每个基本寄生值的每段乘以对应的敏感度而生成最终的统计寄生参数,来生成寄生技术文件。

在步骤245,在用于IC设计的SSTA中断言包括用于IC设计的多图案的相关级别。例如,将生成的用于IC设计的每个级别的多图案的模型并入SSTA。在实施例中,可将模型并入SSTA,使得通过对多图案的参数的敏感度,来更新IC设计的标准化模型。例如,平均值的差WR,0-WG,0对两个图案宽度之间的恒定系统差异建模。随机项ΔWR,Rand和ΔWG,Rand对延迟和扭转(slew)的独立随机变化有贡献。空间项ΔWR,Spat和ΔWG,Spat对延迟和扭转的空间变化有贡献。全局变化ΔWR,Glob和ΔWG,Glob对两个图案宽度的芯片到芯片的变化性建模。

根据本发明的方面,贯穿IC设计的篇章(book)的延迟可被计算为DA。在实施例中,延迟(DA)可被加到IC设计的标准化模型。例如,可使用方程(6)来计算延迟(DA)。

DA=M0+SRΔSR+SGΔSG+…+SnΔSn      (6)

其中,M0是平均值,而SRΔSR+SGΔSG是IC设计的一个级别的延迟,其并入了两个图案(R和G)的敏感度(S)。有利地,用对多图案的参数的敏感度来更新IC设计的标准化模型允许IC设计处理期间的详细的消除、根和平方(root sum squaring(RSSing))、以及相关。

在步骤250,可对于IC或IC的指定区域的至少一个电路路径的网表计算SSTA。根据本发明的方面,可计算SSTA,以对IC或IC的指定区域中的可能的多图案变化在至少一个电路路径的定时上的效果建模。如上所述,这可包括:建立特定的装置中的多图案变化(如图案宽度)如何影响IC的期望特性(如IC的扭转或电容)。有可能随后通过生成定义对这些参数的敏感度的上述多图案模型,将参数变化信息用于定时分析。对于IC或IC的指定区域,这些敏感度表示特定参数的改变如何影响延迟、扭转、设立、保持、电阻、电容等。

一旦定义了对这些参数的敏感度,则诸如计算工具100(如上面参照图1所述)的SSTA引擎可接着计算IC或IC的指定区域的节点的所有到达时间(AT)、所需到达时间(RAT)、以及裕量(slack)。

在步骤255,可生成报告。例如,计算工具100可生成报告,其包括用于从SSTA获得的设计结构的任意定时量,包括RAT、AT、裕量投影、以及过渡时间或扭转速率。

在实施例中,如图3所示,提供了处理300,用于对多图案变化性建模、并优化IC的设计布局。在步骤310,可将用于IC或IC的指定测试区域的设计和定时模型加载到计算装置中。例如,可将用于IC或IC的指定测试区域的至少一个电路路径的设计布局和定时模型加载到计算工具100(如参照图1所述)中。用于IC的设计和定时模型可由IC的设计者找到或提供。

在步骤315,从用于IC的设计和定时模型查询IC的每层或级别的制造测量。在实施例中,所查询的制造测量可被分为用来制造IC的每层或级别的每个图案或光掩模的分立集合。例如,将用来制造第一层的第一图案的宽度分为与也用来制造第一层的第二图案的宽度的集合分开的集合。

在步骤320,如上面参照图2详述的,将IC设计中的变化的至少一个来源定义为参数。在实施例中,用于对多图案变化性建模的计算可通过为每个图案定义分立的参数,考虑由于多图案造成的变化的多个来源。根据本发明的方面,也可为参数向量的为每个图案或光掩模定义的参数可包括宽度、配准、旋转等。例如,图案的宽度可被定义为IC设计中的变化的来源。

在步骤325,如上面参照图2详述的,可对于IC设计的至少一个级别中的至少两个图案,将变化的至少一个来源分别建模为变化性的至少两个来源。例如,可将用于IC设计的第一级别的第一图案的宽度建模为变化的第一来源,并将用于IC设计的第一级别的第二图案的宽度建模为变化的第二来源。

可选地,在步骤330,可基于所查询的制造测量来定义或计算IC设计的至少一个级别的相关系数。如上面参照图2详述的,随后可使用相关系数来更准确地对IC设计的至少一个级别的图案的变化的来源建模。例如,如果IC设计的一个级别中的图案在制造期间具有某个相关,使得在图案之间存在跟踪,则可通过取得每个图案的中断样本、并针对图案之间的相关来计算标准偏差、协方差、以及相关系数,测量所述跟踪。

在步骤335,可基于所查询的制造测量来定义修改用于IC设计的至少一个级别的变化的至少一个来源的偏移和缩放因子。例如,可使用所查询的制造测量来确定IC设计的每个级别的图案之间的分布是否已基于当前应用的分布而偏移或缩放。如果分布已偏移,则可将标准化偏移和缩放因子定义和断言为随机变量,以对IC设计的每个级别的图案之间的分布的差异建模。

在步骤340,确定是否已对于多图案变化性而评估了IC设计的全部级别。如果已评估了全部级别,则处理继续到步骤345。如果尚未评估全部级别,则处理返回到步骤315,并且,选择IC设计的下一个级别用于评估。

在步骤345,可基于分布的差异的模型来优化IC的设计布局。例如,可通过基于图案的特定随机变量而改变IC的物理设计布局、以便使随机变量敏感度最小,来优化IC的设计布局。在实施例中,所查询的制造测量数据可被用作优化处理期间的输入,以生成物理设计布局改变。

在步骤350,可将用于IC设计的寄生参数加载或提取到计算装置中。例如,可将用于IC设计的寄生技术文件加载到计算工具100(如参照图1所述)中。可生成寄生技术文件,使得该文件包括描述IC芯片的区域的电行为的所有工艺技术参数。如上所述,在实施例中,可将寄生技术文件生成为颜色感知(color-aware)或图案感知(pattern-aware)的寄生文件,使得寄生技术文件可包括在寄生提取期间捕捉的、用于每个电阻解决方案和电容解决方案的变化的多个图案来源。

在步骤360,在用于IC设计的SSTA中断言包括用于IC设计的多图案的相关级别。例如,将生成的用于IC设计的每个级别的多图案的模型并入SSTA。如上面参照图2详述的,在实施例中,可将模型并入SSTA,使得通过对多图案的参数的敏感度,来更新IC设计的标准化模型。

在步骤365,可对于IC或IC的指定区域的至少一个电路路径的网表计算SSTA。根据本发明的方面,可计算SSTA,以对IC或IC的指定区域中的可能的多图案变化在至少一个电路路径的定时上的效果建模。如上所述,这可包括:建立特定的装置中的多图案变化(如图案宽度)如何影响IC的期望特性(如IC的扭转或电容)。有可能随后通过生成定义对这些参数的敏感度的上述多图案模型,将参数变化信息用于定时分析。对于IC或IC的指定区域,这些敏感度表示特定参数的改变如何影响延迟、扭转、设立、保持、电阻、电容等。

一旦定义了对这些参数的敏感度,则诸如计算工具100(如上面参照图1所述)的SSTA引擎可接着计算IC或IC的指定区域的节点的所有到达时间(AT)、所需到达时间(RAT)、以及裕量。

在步骤370,基于SSTA的结果来确定是否存在任何定时违反。如果没有定时违反,则处理结束。如果存在定时违反,则处理返回到步骤345,并且,根据传统的技术来优化IC的物理设计布局,以便改善IC设计,并实现IC设计的定时需求。

图4是在用于本发明的系统和方法的半导体设计、制造和/或测试中使用的设计过程的流程图。图4示出了例如在半导体IC逻辑设计、仿真、测试、布图和制造中使用的示例性设计流程900的方块图。设计流程900包括用于处理设计结构或器件以产生设计结构和/或器件的逻辑上或其他功能上等效表示的过程、机器和/或机制。由设计流程900处理和/或产生的设计结构可以在机器可读传输或存储介质上被编码以包括数据和/或指令,所述数据和/或指令在数据处理系统上执行或以其他方式处理时,产生硬件组件、电路、器件或系统的逻辑上、结构上、机械上或其他功能上的等效表示。机器包括但不限于用于IC设计过程(例如设计、制造或仿真电路、组件、器件或系统)的任何机器。例如,机器可以包括:用于产生掩模的光刻机、机器和/或设备(例如电子束直写仪)、用于仿真设计结构的计算机或设备、用于制造或测试过程的任何装置,或用于将所述设计结构的功能上的等效表示编程到任何介质中的任何机器(例如,用于对可编程门阵列进行编程的机器)。

设计流程900可随被设计的表示类型而不同。例如,用于构建专用IC(ASIC)的设计流程900可能不同于用于设计标准组件的设计流程900,或不同于用于将设计实例化到可编程阵列(例如,由Inc.或Inc.提供的可编程门阵列(PGA)或现场可编程门阵列(FPGA))中的设计流程900。

图4示出了多个此类设计结构,其中包括优选地由设计过程910处理的输入设计结构920。设计结构920可以是由设计过程910生成和处理以产生硬件器件的逻辑上等效的功能表示的逻辑仿真设计结构。设计结构920还可以或备选地包括数据和/或程序指令,所述数据和/或程序指令由设计过程910处理时,生成硬件器件的物理结构的功能表示。无论表示功能和/或结构设计特性,均可以使用例如由核心开发人员/设计人员实施的电子计算机辅助设计(ECAD)生成设计结构920。当编码在机器可读数据传输、门阵列或存储介质上时,设计结构920可以由设计过程910内的一个或多个硬件和/或软件模块访问和处理以仿真或以其他方式在功能上表示可以以本发明的方法和系统实现的电子组件、电路、电子或逻辑模块、装置、器件或系统。因此,设计结构920可以包括文件或其他数据结构,其中包括人类和/或机器可读源代码、编译结构和计算机可执行代码结构,当所述文件或其他数据结构由设计或仿真数据处理系统处理时,在功能上仿真或以其他方式表示电路或其他级别的硬件逻辑设计。此类数据结构可以包括硬件描述语言(HDL)设计实体或遵循和/或兼容低级HDL设计语言(例如Verilog和VHDL)和/或高级设计语言(例如C或C++)的其他数据结构。

设计过程910优选地采用和结合硬件和/或软件模块,所述模块用于合成、转换或以其他方式处理组件、电路、器件或逻辑结构的设计/仿真功能等价物以生成可以包含设计结(例如设计结构920)的网表980。网表980例如可以包括编译或以其他方式处理的数据结构,所述数据结构表示描述与集成电路设计中的其他元件和电路的连接的线缆、分离组件、逻辑门、控制电路、I/O设备、模型等的列表。网表980可以使用迭代过程合成,其中网表980被重新合成一次或多次,具体取决于器件的设计规范和参数。对于在此所述的其他设计结构类型,网表980可以记录在机器可读数据存储介质上或编程到可编程门阵列中。所述介质可以是非易失性存储介质,例如磁或光盘驱动器、可编程门阵列、压缩闪存或其他闪存。此外或备选地,所述介质可以是可在其上经由因特网或其他适合联网手段传输和中间存储数据分组的系统或高速缓冲存储器、缓冲器空间或导电或光导器件和材料。

设计过程910可以包括用于处理包括网表980在内的各种输入数据结构类型的硬件和软件模块。此类数据结构类型例如可以驻留在库元件930内并包括一组常用元件、电路和器件,其中包括给定制造技术(例如,不同的技术节点,32纳米、45纳米、90纳米等)的模型、布图和符号表示。所述数据结构类型还可包括设计规范940、特征数据950、检验数据960、设计规则970和测试数据文件985,它们可以包括输入测试模式、输出测试结果和其他测试信息。设计过程910还可例如包括标准机械设计过程,例如用于诸如铸造、成型和模压成形等操作的应力分析、热分析、机械事件仿真、过程仿真。机械设计领域的技术人员可以在不偏离本发明的范围和精神的情况下理解在设计过程910中使用的可能机械设计工具和应用的范围。设计过程910还可包括用于执行诸如定时分析、检验、设计规则检查、放置和路由操作之类的标准电路设计过程的模块。

设计过程910采用和结合逻辑和物理设计工具(例如HDL编译器)以及仿真建模工具以便与任何其他机械设计或数据(如果适用)一起处理设计结构920连同示出的部分或全部支持数据结构,从而生成第二设计结构990。

设计结构990以用于机械设备和结构的数据交换的数据格式(例如以IGES、DXF、Parasolid XT、JT、DRC或任何其他用于存储或呈现此类机械设计结构的适合格式)驻留在存储介质或可编程门阵列上。类似于设计结构920,设计结构990优选地包括一个或多个文件、数据结构或其他计算机编码的数据或指令,它们驻留在传输或数据存储介质上,并且由ECAD系统处理时生成一个或多个器件的逻辑上或以其他方式在功能上等效的形式。在一个实施例中,设计结构990可以包括在功能上仿真该器件的编译后的可执行HDL仿真模型。

设计结构990还可以采用用于集成电路的布图数据交换的数据格式和/或符号数据格式(例如以GDSII(GDS2)、GL1、OASIS、图文件或任何其他用于存储此类设计数据结构的适合格式存储的信息)。设计结构990可以包括信息,例如符号数据、图文件、测试数据文件、设计内容文件、制造数据、布图参数、线缆、金属级别、通孔、形状、用于在整个生产线中路由的数据,以及制造商或其他设计人员/开发人员制造器件或结构所需的任何其他数据。设计结构990然后可以继续到阶段995,例如,在阶段995,设计结构990:继续到流片(tape-out),被发布到制造公司、被发布到掩模室(mask house)、被发送到其他设计室,被发回给客户等。

上述方法用于集成电路芯片制造。制造者可以以原始晶片形式(即,作为具有多个未封装芯片的单晶片)、作为裸小片或以封装的形式分发所得到的集成电路芯片。在后者的情况中,以单芯片封装(例如,引线固定到母板的塑料载体或其他更高级别的载体)或多芯片封装(例如,具有一个或两个表面互连或掩埋互连的陶瓷载体)来安装芯片。在任何情况下,所述芯片然后都作为(a)中间产品(如母板)或(b)最终产品的一部分与其他芯片、分离电路元件和/或其他信号处理装置集成。最终产品可以是任何包括集成电路芯片的产品,范围从玩具和其他低端应用到具有显示器、键盘或其他输入设备及中央处理器的高级计算机产品。

出于示例目的给出了对本发明的各种实施例的描述,但所述描述并非旨在是穷举的或限于所公开的各实施例。在不偏离所描述的实施例的范围和精神的情况下,对于本领域的技术人员而言,许多修改和变化都将是显而易见的。在此使用的术语的选择是为了最佳地解释各实施例的原理、实际应用或对市场中存在的技术的技术改进,或者使本领域的其他技术人员能够理解在此公开的各实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号