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

使用设计引导偏移的掩模合成的制作方法

2022-02-20 12:59:34 来源:中国专利 TAG:


1.本公开涉及来自集成电路的设计的掩模合成,并且更具体地,涉及使用设计引导偏移的掩模合成。


背景技术:

2.近年来随着掩模复杂性的增加,与传统的直线掩模形状相反,合成和制造曲线掩模的能力有所提高。这些曲线掩模形状对掩模合成流程内的几何处理算法提出了新的要求,因为掩模优化步骤需要更复杂的形状的进化。


技术实现要素:

3.本公开的一些方面涉及用于电路设计的方法。该方法整体包括:基于集成电路的设计,使用掩模在待制造的图像表面上获得目标形状;生成从相应的锚点发出的射线,该锚点位于目标形状的边界上或掩模的掩模形状的边界上;针对射线中的每条射线,定义相应的射线与目标形状的边界的第一交叉点和相应的射线与掩模形状的边界的第二交叉点之间的距离;由一个或多个处理器基于目标形状和由掩模形状造成的被模拟在图像表面上的结果形状之间的误差来修改距离;以及基于经修改的距离,生成用于掩模的掩模设计,该掩模要被用来在图像表面上制造目标形状。
4.本公开的一些方面涉及用于电路设计的装置。该装置整体包括存储器和耦合到该存储器的一个或多个处理器。该存储器和一个或多个处理器被配置为:基于集成电路的设计,使用掩模在待制造的图像表面上获得目标形状;生成从相应的锚点发出的射线,该锚点位于目标形状的边界或掩模的掩模形状的边界上;针对射线中的每条射线,定义相应的射线与目标形状的边界的第一交叉点和相应的射线与掩模形状的边界的第二交叉点之间的距离;以及由一个或多个处理器执行分析,该分析被配置为基于目标形状和由掩模形状造成的被模拟在图像表面上的结果形状之间的误差来修改距离。
5.本公开的一些方面涉及包括可执行指令的非暂时性计算机可读介质,可执行指令在由装置的一个或多个处理器执行时使装置:基于集成电路的设计,使用掩模在待制造的图像表面上获得目标形状;生成从相应的锚点发出的射线,该锚点位于目标形状的边界或掩模的掩模形状的边界上;针对射线中的每条射线,定义相应的射线与目标形状的边界的第一交叉点和相应的射线与掩模形状的边界的第二交叉点之间的距离;以及由一个或多个处理器执行分析,该分析被配置为基于目标形状和由掩模形状造成的被模拟在图像表面上的结果形状之间的误差来修改距离。
6.其它方面提供:装置,该装置是可操作的、被配置或以其它方式适用于执行上述方法以及本文中别处所描述的方法;具有指令的非暂时性计算机可读介质,指令在由装置的一个或多个处理器执行时使装置执行上述方法以及本文中别处所描述的方法;体现在包括代码的计算机可读存储介质上的计算机程序产品,用于执行上述方法以及本文中别处所描述的方法;以及装置,该装置具有用于执行上述方法以及本文中别处所描述的方法的组件。
举例来说,装置可以包括:处理系统、具有处理系统的设备、或在一个或多个网络之上协作的处理系统。
7.为了说明的目的,以下描述和附图阐述了某些特征。
附图说明
8.从下面给出的详细描述以及从本文中所描述的示例的附图将更全面地理解本公开。附图被用来提供对本文中所描述的示例的知识和理解,并且不将本公开的范围限制于这些特定示例。此外,附图不一定按比例绘制。
9.图1是根据本公开的一些示例的用于使用设计引导偏移的掩模合成的方法的流程图。
10.图2描绘了根据本公开的一些示例的用于图示图1的掩模合成的方法的方面的布局。
11.图3示出了根据本公开的一些示例的定制的自有的区域边界。
12.图4示出了根据本公开的一些示例的从掩模上的锚点发出的射线。
13.图5描绘了根据本公开的一些示例的用于图示针对射线的负距离的布局。
14.图6描绘了根据本公开的一些示例的用于图示在图5的退化部分被移除之后形成的掩模形状的布局。
15.图7描绘了根据本公开的一些示例的用于图示获得具有曼哈顿边缘和/或直线边缘的掩模形状的方面的布局。
16.图8示出了在设计目标和另一其它设计目标之间的空间中形成的自有的区域边界。
17.图9描绘了根据本公开的一些示例的在集成电路的设计和制造期间使用的各种过程的流程图。
18.图10描绘了示例计算机系统的图,本公开的示例可以在该示例计算机系统中操作。
具体实施方式
19.本文中所描述的方面涉及使用设计引导偏移的掩模合成。本公开描述了跟踪掩模演变的方式,该方式概括了更典型的光学邻近校正(opc)技术,该技术从给定的晶片设计目标/目的偏移分段。光学邻近校正(opc)是一种被用来补偿由于衍射或工艺效应引起的图像误差的光刻增强技术。在一些方面中,使用从锚点(例如,设计目标的边缘和拐角)发出的射线的数据结构,并且针对每条射线,跟踪射线与掩模形状的边界的交叉点和射线与设计目标的边界的交叉点之间的距离。引入了使用这些距离的方法,该方法具有设计目标和掩模位置之间的对应益处,而无需使用掩模和设计边缘的相同边缘取向,因此允许曲线解决方案,该曲线解决方案可以获得更好结果的光刻质量(qor)。
20.用于曲线掩模演变的各种方法可能涉及使用基于像素的方法(诸如,水平集等)。这些方法比本公开的方面在计算上更加密集并且可能遭受与移位方差相关的不一致性。其它方法可能包括用于多边形边缘上的点的自由形式点跟踪方法。这些方法在计算上困难,具有创建非法或定义不明确的形状的点交叉的困难,并且可能失去掩模和设计边缘之间的
连接性,该连接性是典型的opc操作所需的特征。
21.用于典型的opc掩模形状跟踪的方法被使用跨多个掩模合成应用,该应用包括但不限于基于规则的opc、基于模型的opc、基于规则的重定向和基于模型的蚀刻重定向校正。这些应用的曲线版本可以使用本公开中所描述的方法来实现。
22.针对基于规则的opc,该方法要构建一系列几何规则,该几何规则可以确定导致掩模的设计的修改。例如,可以测量几何数量,诸如图案密度、多边形边长、边缘的子部分到角顶点的距离等。构建的规则表或函数可以将这些各种几何数量作为输入,并且可以输出设计应该被局部修改的量。可以通过在多边形边界的法线方向上规定边缘或子边缘扰动或其它几何操纵来指定修改。各个方面可以被用作进行多边形操作以创建基于规则的曲线掩模多边形的算法。
23.针对基于模型的opc,掩模创建与基于规则的opc情况类似,除了用于决定多边形操纵量由模型模拟反馈(诸如,晶圆定位错误或其它晶圆级图像签名)来确定的方法。各个方面可以被用作算法以操纵给定的输入多边形来创建校正的掩模多边形。通常,基于模型的opc将具有迭代过程,该迭代过程可以在考虑到来自多边形移动的先前迭代的进一步的基于模型的反馈的情况下重新校正相同的多边形。
24.基于规则的重定向方法类似于基于规则的opc,除了输出多边形形状被用作用于随后的光刻校正算法的输入晶片目标,例如opc或逆光刻技术(ilt)。因此,规则表或函数的内容可以具有不同的目的,但是确定几何测量、将几何改变分配给设计的各个部分以及修改设计的过程类似于基于规则的opc。
25.同样,蚀刻模型通常被用来修改设计目标,以产生用于光刻校正算法(例如,opc或ilt)的晶片目标。各种实施例可以被用作算法以操纵输入设计目标来产生晶片目标。
26.以下参考附图来描述各种特征。应注意,这些附图可以按比例绘制也可以不按比例绘制,并且在整个附图中,类似的结构或功能的元件由相同的附图标记表示。应注意,附图仅是旨在便于对特征的描述。它们并非旨在作为所要求保护的主题的详尽描述或作为对所要求保护的主题的范围的限制。此外,所图示的示例不需要具有所示的所有方面或优势。结合特定示例而描述的方面或优势不一定限于该示例并且可以在任何其它示例中被实践,即使没有如此说明或没有如此明确地描述。另外,可以以特定的操作顺序来描述本文中所描述的方法,但是可以以具有更多操作或更少操作的各种其它顺序(例如,包括各种操作的不同串行性能或并行性能)来实现根据其它示例的其它方法。
27.此外,本文使用了如本领域中所使用的各种术语。例如,如本领域中所使用的以及如本领域普通技术人员所理解的,“优化(optimization)”、“使最优化(optimize)”、“优化(optimizing)”是指问题的数学公式,以在所实现的算法的结构内选择一些经识别的特性的一些改进(如果改进可用),并且不暗示特性的绝对或全局最优(在该术语被更通俗地使用时)改进。例如,在优化可以确定最小值的一些情况下,最小值可能是局部最小值而不是全局最小值。
28.图1是根据一些示例的用于使用设计引导偏移的掩模合成的方法100的流程图。方法100下面在各个附图(特别是图2)的上下文中被描述以图示方面。这些附图仅作为示例被提供,并且本领域普通技术人员将容易地理解方法100在其它示例中的应用。各个附图(特别是图2)可以示出在相应的附图内被图示的某些类型的组件的部分或少于全部的组件。这
是为了避免模糊所图示的各个方面。本领域普通技术人员将容易地理解如何应用在整个实现中所图示和描述的内容。
29.如下文进一步详细描述的,可以通过存储在非暂时性计算机可读介质上的一个或多个指令的集合来体现方法100,该一个或多个指令的集合可以是一个或多个软件模块。计算机系统的一个或多个处理器可以被配置为读取和执行一个或多个指令的集合,这使一个或多个处理器执行方法100的各种操作或步骤。下面提供进一步的细节。在一些示例中,方法100的一些操作或步骤可以被体现为作为一个或多个软件模块的一个或多个指令的集合,并且方法100的其它操作或步骤可以被体现为作为一个或多个其它软件模块的一个或多个指令的其它集合。在一些示例中,不同的软件模块可以被分布并且存储在不同的计算机系统上的不同的非暂时性计算机可读介质上,用于不同计算机系统的相应的一个或多个处理器的执行。
30.参考图1,在102处,获得集成电路的设计的电子表示。例如,电子表示可以是.gds文件等。集成电路的设计可以包括或指示设计目标特征(或设计目标),在半导体管芯上的集成电路的制造期间(例如,在晶片的部分的制造期间),该设计目标特征将通过光刻工艺被图案化在光敏材料(例如,光致抗蚀剂)中。设计目标可以被用来形成在光刻工艺期间所使用的掩模。图2描绘了作为示例的设计目标202(例如,要被印刷在光敏材料中的特征)的多边形。
31.参考图1,在104处,与掩模相对应的每个设计目标的边缘被分割。参考图2,分段204沿着设计目标202的边缘并且表示设计的分割。一个或多个设计目标的分割可以是针对opc解决方案的第一步骤,其中指定了晶片上的光刻目标点的间隔尺寸以及掩模粗糙度。为简洁起见,示出了三个分段204,并且许多类似的分段遍及设计目标202的边缘。用于针对opc沿多边形边缘确定分段204的方法是使用基于规则或模型的函数,该方法分别收集了几何测量或光刻模拟反馈,并且确定沿设计多边形边缘分段端点应被放置的地方,以便将设计边缘分成一系列的端到端分段。到该函数的输入类似于上述关于基于规则和基于模型的opc方法的输入。
32.返回参考图1,在106处,生成从相应的锚点发出的射线。锚点可以根据实现而变化。在实现掩模演变的示例中,锚点可以沿着设计目标202的边缘和拐角。在实现重定向的示例中,锚点可以沿着边缘,并且如果存在的话,可以沿着对应于设计目标的掩模形状的拐角。在该重定向实现中,例如,通过横向向外一定量地扰动设计目标的边缘,掩模形状可以对应于设计目标来初始化。
33.图2在锚点沿着设计目标202的边缘和拐角的上下文中被描述。可以修改本文中所描述的概念以应用于重定向实现。在图2中图示了射线206。图2中的每条射线206从由设计目标202的边缘形成的边缘或外凸角上的锚点发出。在图2的示例中,一条或多条射线可以从多边形的内侧的设计目标202的多边形的凹角上的锚点(例如,锚点290)发出。从边缘上的锚点(例如,锚点292)发出的射线206在垂直于设计目标202的相应的边缘上的方向上发出。在一些示例汇总,沿设计目标202的边缘的每个分段204具有从相应的分段204上的相应的锚点发出的一条或多条射线206。
34.在一些示例中,设计目标202的多边形的每个拐角(无论是凸角还是凹角),可以是锚点并且可以具有从其发出的一条或多条射线206。在图2中图示了示例拐角208,并且在本
文中描述该拐角208的方面用于说明。针对拐角208而提供的描述也适用于其它拐角,无论是凸角还是凹角。角跨度210在拐角208处并且被形成在从拐角208延伸并且垂直于相遇形成拐角208的两个分段的相应的方向212、214之间。从拐角208上的锚点发出的射线206以在从拐角208发出的每对相邻射线206之间形成相等角度216的相应方向发出。在相应的法线方向212、214和从拐角208发出的对应的最接近的射线206之间形成角度218。在一些示例中,角度218中的每个角度可以是角度216的一半或者可以等于角度216。
35.可以选择多边形取向(诸如,围绕设计目标202的多边形的外部的逆时针方向上的点顺序),从而可以通过检查在拐角处相遇的边缘的法线方向来决定设计目标202的特定拐角是否应该具有在多边形的外侧上(在凸角处)延伸的射线或在多边形的内侧上(在凹角处)延伸的射线。选择有限数目的角度来创建在角跨度之上扇开的射线。
36.参考图1,在108处,生成自有的区域边界。在设计目标202中形成自有的区域边界。在一些方面中,如本文中关于图8所更详细地描述的,一个或多个其它自有的区域边界被形成在设计目标和另一一个或多个设计目标之间的空间中。每个自有的区域边界可以是设计目标的中轴变换(mat)或针对其生成自有的区域边界的设计目标之间的空间。
37.参考图2,在设计目标20中形成自有的区域边界220。自有的区域边界220(和任何其它自有的区域边界)被用来指示射线206被允许到达哪些区域,例如自有的区域边界220(和任何其它自有的区域边界)可以作为对射线206延伸的位置的约束。在所图示的示例中,从分段204上的锚点发出的射线206延伸到设计目标202的多边形的外部和内部,并且从分段204发出的延伸到多边形的内部的射线206不能跨过自有的区域边界220。在一些示例中,如图8所示,相邻特征之间的空间也可以具有射线206不能跨过的自有的区域边界。
38.在一些示例中,针对设计目标202的每个拐角,接触相应的拐角的设计目标的自有的区域边界的轴被用来确定当相应的拐角是凸角时在设计目标的外侧延伸的广义射线的方向,或者当相应的拐角是凹角时在设计目标的内侧延伸的广义射线的方向。广义射线沿着接触拐角的自有的区域边界的轴从拐角发出。针对相应的拐角的广义射线可以被用作针对从相应的拐角发出的射线中的每条射线的对应的射线,该相应的拐角在与那些射线相反的广义方向上延伸。如下所述,当从拐角发出的任何射线退化时,可以使用该广义射线。参考图2,作为针对凸角的示例,自有的区域边界220的轴221接触拐角208,并且广义射线(未明确示出)从拐角208内部延伸到设计目标202并且沿着轴221。该广义射线可以被用作针对在角跨度210内示出的每条射线206的对应的广义射线。为了后续描述的目的,尽管在通常相反的方向上延伸,但是广义射线可以被认为是从相应的拐角发出的每条射线的部分。
39.自有的区域边界可以是用户定义和定制的。在一些示例中,也可以从由(随后描述的)缝合过程生成的当前掩模形状的mat在opc迭代之间生成自有的区域边界。作为示例,图3示出了偏离设计目标202的多边形的中心的中心的定制的自有的区域边界302。该自有的区域边界302允许掩模移动超出设计多边形的中心。保持定制的自由的区域边界302的拓扑连通性能够有助于保证来自多个分段和拐角的射线不相交。拓扑连通性通常是指具有在相应的节点处相遇的一个边缘、三个边缘或更多个边缘的非2阶节点之间的图连通性。应注意,输入设计可以是先前校正过的掩模,在这种情况下,原始设计的拓扑连通性可以有助于构建定制的所有权区域。
40.返回参考图1,在110处,针对每条射线,距离被定义在射线的相应的锚点和沿射线
的分析点之间。分析点可以基于实现而相异。在一些实现中,诸如在锚点在设计目标的边缘上的掩模演变中,分析点可以是掩模的边界与射线的交叉点。在一些实现中,诸如锚点在掩模的边界上的重定向中,分析点可以是设计目标的边缘与射线的交叉点。在这些示例中,距离被定义在(i)掩模的边界与射线的交叉点和(ii)设计目标的边缘与射线的交叉点之间。在任何实现中,例如通过横向向外一定量地扰动设计目标的边缘,掩模形状可以对应于设计目标来初始化。
41.继续图2中所图示的实现,交叉点222表示掩模形状230与射线206的相应的交叉点。针对来自设计目标202的边缘或拐角的每条射线206生成可以为正或负的距离(针对随后的描述被标记为d_i),相应的射线206从设计目标202的边缘或拐角发出到相应的射线206上的交叉点222,其中正距离位于设计目标202的外侧并且负距离位于设计目标202的内侧。图示了示例正距离224和示例负距离226。针对从凸角发出的射线,射线的负距离d_i指示射线退化,并且负距离d_i在设计目标的内部并且沿着对应的广义射线被测量。针对从凹角发出的射线,射线的正距离d_i指示射线退化,并且正距离d_i在设计目标的外部并且沿着对应的广义射线被测量。本领域普通技术人员将容易地理解针对其它射线206的距离。
42.返回参考图2,通过相邻射线206的交叉点222之间的连接形成掩模形状230。这被称为缝合掩模(stitched mask)形状。掩模形状可以被初始化为如上所述的一些形状,并且本文中所描述的分析的各种迭代可以修改掩模形状。
43.尽管图2图示了从设计目标的边缘和拐角上的锚点发出的射线,但是如所描述的,射线可以从掩模上的锚点发出。图4图示了(例如,对应于图2中所示的掩模230的)缝合掩模406和初始掩模410。如图4所示,射线404从初始掩模410上的锚点(例如,锚点408)发出。交叉点402表示缝合掩模406与射线404的相应的交叉点。缝合掩模406通过相邻射线404的交叉点402之间的连接形成。
44.参考图1,在112处,执行分析,其中分析被配置为基于距离和对应的误差来扰动(例如,修改)掩模形状。在一些示例中,分析(例如,掩模演变)可以包含使用迭代算法来计算交叉点222的移动或针对沿着每条射线206的每个距离d_i的调整。该分析可以使用掩模扰动或光刻成本函数梯度来执行,这可以获得针对任何距离d_i的量来改变以提高光刻qor。在一些方面中,基于经修改的距离,掩模设计针对掩模而生成,该掩模要被用来在图像表面上制造目标形状。
45.分析可以包括基于掩模形状获得图像轮廓。可以通过模拟光刻工艺获得图像轮廓,其中图像轮廓是使用光刻工艺中的掩模形状在光敏材料中图案化的特征的形状。针对每条射线,获得误差(针对随后的描述被标记为e_i),该误差是在与射线相关联的目标点和射线与晶片图像轮廓的交叉点之间的距离。每个目标点可以与射线相关联,并且可以独立于射线被构建。可以放置目标点来表示满足对应的制造工艺的规范的理想晶片轮廓的边界。每条射线可以与一个目标点或许多目标点相关联,和/或每个目标点可以与一条射线或许多条射线相关联。针对射线,对距离d_i的改变的灵敏度(针对随后的描述被标记为s_i)可以被确定,其中灵敏度s_i是误差e_i中的改变与距离d_i的改变的比率。然后,可以使用该灵敏度s_i来修改距离d_i。修改距离d_i扰动掩模形状。
46.图2还示出了可以在opc优化算法中使用的图像轮廓250和目标点252。如所示出的,目标252中的一些目标在目标形状202上,并且目标点中的一些目标点从目标形状202偏
移。例如,靠近目标形状202的拐角的一些目标点可以被偏移,因为形成具有锐角的特征可能是不可能的(或至少是困难的)。图像轮廓250是使用掩模形状230被模拟以在光敏材料中形成的结果特征或图像。图2示出了被构建的目标点252,并且通常每个目标点252与最靠近目标点252的射线206和/或入射在目标点252上的射线206相关联。图像轮廓250和与相应的射线206相关联的相应的目标点252之间的距离(例如,示例距离254被图示)是针对每个目标点的误差e_i(例如,带符号的误差)。如果距离在设计目标202内部,则误差为负,并且如果距离在设计目标202外部,则误差为正。灵敏度s_i可以基于掩模影响对轮廓图像或其它数值微分技术的先前迭代反馈来分配,或者基于用户知识或启发法来设置。针对示例的伪代码(其中每条射线具有一个相关联的目标点)如下。
47.for each ray of index i
48.d_i=distance for ray of index i
49.e_i=error for target point of ray of index i
50.s_i=δe_i/δd_i=sensitivity of e_i to change in d_i
51.d_i =e_i/s_i
52.还存在使用几何启发法(诸如,局部宽度、间距、多边形密度等)来偏移设计边缘的基于规则的技术,以获得非基于仿真的掩模合成方法。
53.在一些情况下,可以存在具有负距离d_i的一条或多条射线206,该负距离d_i的幅度大于从设计特征202的边缘到自有的区域边界220的对应的距离。在这种情况下,连接的掩模形状可以被构建为与针对那些射线的自有的区域边界220重合。图5示出了这样的示例,其中射线206中的一些射线(例如,射线206’)具有负距离d_i(例如,距离502),使得距离d_i的幅度大于或等于沿射线206从设计目标202的边缘到自有的区域边界220的距离。如图5所示,掩模504可以具有与自有的区域边界220的部分重合的边缘506。图6示出了在沿自有的区域边界220的退化部分(例如,与自有的区域边界220重合的边缘506)被移除之后的掩模形状602、604。例如,掩模设计可以通过修改掩模形状来生成,使得掩模形状被形成为多个不重叠的掩模形状(例如掩模形状602、604)或使得一个掩模形状与另一掩模形状合并(例如,掩模形状602与掩模形状604合并)。
54.类似地,在一些情况下,如果一条或多条射线206的距离d_i等于或大于沿对应的射线206从设计目标202的相应的边缘到不同设计目标之间的空间自有的区域边界的距离,则两个掩模形状可以合并为一个掩模形状。
55.在一些示例中,交叉点222之间的连接是曼哈顿和/或直线或具有其它几何方向约束。如图7所示,可以构建曼哈顿掩模702(示出了部分)。针对从设计目标202的边缘发出的射线206,平行于设计目标202的相应的边缘的直线分段704被用于形成掩模702。分段704被放置在射线206的对应的交叉点222处,并且具有与射线206从其发出的设计目标202的边缘分段204的长度相对应的长度。
56.针对从设计目标202的拐角发出的射线206,用于射线206的分段704平行于设计目标202的边缘,该边缘被连接以形成拐角(射线206从该拐角发出)并且与相应的射线206形成最小的角度。针对作为角跨度210的中轴的射线206,分段704可以平行于被连接以形成拐角的设计目标202的任一边缘。分段704被放置在射线206的对应的交叉点222处,并且具有由射线206的距离d_i确定的长度。例如,分段704的长度可以与距离d_i成比例。距离d_i越
大,则定位在相应的射线206附近的掩模边缘可以越大。
57.在相邻的分段704平行的情况下,相邻的分段704通过垂直于相邻的分段704的缝合分段706被连接到相邻的分段704的相邻端处。在相邻的分段704(例如,在拐角处)是垂直的情况下,相邻的分段704被延伸直到相邻的分段704相交。当与传统的opc掩模创建方法相比时,这种基于射线的方法的优势可以包括:当仍然保持自由度(射线)和设计目标之间的直线链接时,显著增加可以创建的掩模形状的范围。
58.本领域普通技术人员将容易理解可以在上述过程中实现的各种数据结构。例如,可以针对掩模图案的多边形和/或多边形的边缘定义掩模对象的分类。可以针对分段204定义分段的分类。可以针对射线206定义射线的分类。射线的分类可以包括锚点、交叉点222和对应的距离d_i(例如,距离224、226)、目标点242和对应的误差e_i(例如,距离254)等。上述方法和/或算法可以对该分类的实例进行操作和/或利用该分类的实例进行操作。在不同的示例中可以使用不同的数据结构和/或经修改的数据结构。
59.图8图示了在设计目标和另一一个或多个设计目标之间的空间中形成的一个或多个自有的区域边界。例如,如所示处的,在设计目标802、804、806之间形成自有的区域808。射线810从设计目标802、804、806发出并且在自有的区域808处停止。换言之,自有的区域808提供了设计目标802、804、806之间的边界,从那些设计目标发出的射线810在该边界处停止。
60.本领域普通技术人员将容易理解对本文中所描述的示例的逻辑和/或数学表达式的各种修改。其它示例考虑了该修改。
61.图9图示了在半导体管芯上的集成电路的设计、验证和制造期间使用的过程的集合900的示例以转换和验证表示集成电路的设计数据和指令。这些过程中的每个过程可以作为多个模块或操作被构造和实现。术语“eda”表示电子设计自动化。这些过程在框910处开始,其中利用由设计者提供的信息创建产品创意,在框912处,信息被转换以创建使用eda过程的集合的集成电路。当设计完成时,设计在框934处被下线,此时针对集成电路的原图(例如,几何图案)被发送到制造设施以制造掩模集合,然后掩模集合被用来制造集成电路。在下线之后,在框936处,集成电路被制造在半导体管芯上,并且在框938处,封装和组装工艺被执行以在框940处生产完成的集成电路(通常,也被称为“芯片”或“集成电路芯片”)。
62.用于电路或电子结构的规范可以从低级晶体管材料布局到高级描述语言。高级的表示可以被用来使用硬件描述语言(hdl)(诸如,vhdl、verilog、systemverilog、systemc、myhdl或openvera)设计电路和系统。hdl描述可以被转换为逻辑电平寄存器传输级(rtl)描述、逻辑门级描述、布局级描述或掩模级描述。作为更详细描述的每个更低表示级将更多有用的细节添加到设计描述中,诸如,例如,针对包括描述的模块的更多细节。作为更详细描述的更低级别的表示可以由计算机生成、从设计库派生或由另一设计自动化过程创建。用于指定更详细描述的更低级别的详细语言处的规范语言的示例是spice,spice被用于具有许多模拟组件的电路的详细描述。细节的每个级别处的描述能够由该层的对应工具(例如,形式验证工具)使用。设计过程可以使用图9中所描绘的序列。ead产品(或工具)可以启用所描述的过程。
63.在系统设计期间,在框914处,指定要制造的集成电路的功能性。设计可以被优化以用于所需的特性(诸如,功耗、性能、区(物理的和/或代码行))并且降低成本等。在此阶段
可以将设计划分为不同类型的模块或组件。
64.在逻辑设计和功能验证期间,在框916处,以一种或多种描述语言指定电路中的模块或组件,并且检查规范用于功能准确性。例如,可以验证电路的组件以生成与正在设计的电路或系统的规范要求相匹配的输出。功能验证可以使用模拟器和其它程序,诸如测试平台生成器、静态hdl检查器和形式验证器。在一些示例中,被称为仿真器或原型系统的组件的特定系统被用来加速功能验证。
65.在用于测试的合成和设计期间,在框918处,hdl代码被转换为网表。在一些示例中,网表可以是图结构,其中图结构的边缘表示电路的组件,并且其中图结构的节点表示组件如何互连。hdl代码和网表两者都是分层制造产品,eda产品可以使用该分层制造产品来验证集成电路在被制造时根据指定的设计执行。网表可以针对目标半导体制造技术被优化。附加地,可以测试完成的集成电路以验证集成电路满足规范的要求。
66.在网表验证期间,在框920处,针对时序约束的符合并且针对与hdl代码的对应,网表被检查。在设计规划期间,在框922处,针对时序和顶级布线,集成电路的总体平面图被构建和分析。
67.在布局或物理实现期间,在框924处,物理放置(电路组件(诸如,晶体管或电容器)的定位)和布线(通过多个导体的电路组件的连接)发生,并且可以执行从库中选择单元以使能特定逻辑功能。如本文中所使用的,术语“单元”可以指定提供布尔逻辑功能(例如,and、or、not、xor)或存储功能(诸如,触发器或锁存器)的晶体管、其他组件和互连的集合。如本文中所使用的,电路“框”可以指两个或多个单元。单元和电路框两者都可以被称为模块或组件,并且既可以作为物理结构也可以在模拟中启用。针对选定的单元,(基于标准单元)参数被指定(诸如,大小)并且可在数据库中访问以供eda产品使用。
68.在分析和提取期间,在框926处,电路功能在布局级处被验证,这允许布局设计的细化。在物理验证期间,在框928处,检查布局设计以确保制造约束是正确的,诸如设计规则检查(drc)约束、电约束、光刻约束以及与hdl设计规范相匹配的电路系统功能。在分辨率增强期间,在框930处,布局的几何被转换以改进电路设计如何被制造。例如,可以在框930中执行图1的方法100。
69.在下线期间,(在适当情况下施加光刻增强之后)创建数据以用于生产光刻掩模。在掩模数据准备期间,在框932处,下线数据被用来产生光刻掩模,该光刻掩模被用来生产完成的集成电路。
70.计算机系统(诸如,图10的计算机系统1000)的存储子系统可以被用来存储程序和数据结构,该程序和数据结构由本文中所描述的eda产品的一些eda产品或全部eda产品使用,并且由用于库的单元的开发和用于使用库的物理设计和逻辑设计的产品使用。
71.图10图示了计算机系统1000的示例,在该计算机系统1000内可以执行指令的集合,用于使计算机系统执行本文中所讨论的方法中的任一或多个方法。在一些实现中,计算机系统可以被连接(例如,联网)到局域网(lan)、内联网、外联网和/或互联网中的其它机器或计算机系统。计算机系统可以作为在客户端-服务器网络环境中的服务器或客户端计算机系统操作、在点对点(或分布式)网络环境中作为对等计算机系统操作、或者在云计算基础设施或环境中作为服务器或客户端计算机系统操作。
72.计算机系统可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、
蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器、或能够(顺序地或以其它方式)执行指令的集合的任何机器,该指令集合指定该计算机系统要采取的动作。另外,尽管图示了单个计算机系统,但是术语计算机系统也应该被视为包括单独地或联合地执行指令的集合(或多个集合)以执行本文讨论的任何一个或多个方法的计算机系统的任何集合。
73.示例计算机系统1000包括处理设备1002、主存储器1004(例如,只读存储器(rom)、闪速存储器、动态随机存取存储器(dram)(诸如同步dram(sdram))、静态存储器1006(例如,闪存、静态随机存取存储器(sram))等)、以及数据存储设备1018,这些器件经由总线1030彼此通信。主存储器1004包括非暂时性计算机可读介质或者是非暂时性计算机可读介质。主存储器1004(例如,非暂时性可读介质)可以存储指令1026的一个或多个集合,指令1026的一个或多个集合在由处理设备1002执行时,使处理设备1002执行本文中所描述的操作、步骤、方法和过程中的一些操作、步骤、方法和过程或全部操作、步骤、方法和过程。
74.处理设备1002表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地,处理设备1002可以是或者包括复杂指令集合计算(cisc)微处理器、精简指令集合计算(risc)微处理器、超长指令字(vliw)微处理器、实现其它指令集合的处理器、或实现指令集合的组合的(多个)处理器。处理设备1002还可以是一个或多个专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理设备1002可以被配置为执行用于执行本文中所描述的操作、步骤、方法和过程中的一些操作、步骤、方法和过程或全部操作、步骤、方法和过程的指令1026。
75.计算机系统1000可以还包括网络接口设备1008,以通过网络1020进行通信。计算机系统1000还可以包括视频显示单元1010(例如,液晶显示器(lcd)或阴极射线管(crt))、字母数字输入设备1012(例如,键盘)、光标控制设备1014(例如,鼠标)、图形处理单元1022、信号生成设备1016(例如,扬声器)、图形处理单元1022、视频处理单元1028、以及音频处理单元1032。
76.数据存储设备1018可以包括机器可读存储介质1024(例如,非暂时性计算机可读介质),在机器可读存储介质1024上存储体现本文中所描述的方法或功能中的任何一个或多个方法或功能的软件或指令1026的一个或多个集合。指令1026还可以在由计算机系统1000执行该指令1026期间完全地或至少部分地驻留在主存储器1004内和/或处理设备1002内,主存储器1004和处理设备1002还包括机器可读存储介质。
77.在一些实现中,指令1026包括用于实现上述功能的指令。尽管机器可读存储介质1024在示例实现中被示出为单个介质,但是术语“机器可读存储介质”应当被视为包括存储指令的一个或多个集合的单个介质或多个介质(例如,集中式数据库或分布式数据库、和/或相关联的高速缓存和服务器)。术语“机器可读存储介质”还应被理解为包括能够存储或编码用于由计算机系统执行的指令的集合并且使计算机系统和处理设备1002执行上述方法中的任何一个或多个方法的任何介质。因此,术语“机器可读存储介质”应被理解为包括但不限于固态存储器、光学介质和磁性介质。
78.已经根据对计算机存储器内的数据位的操作的算法和符号表示来呈现前述详细描述的一些部分。这些算法描述和表示是数据处理邻域的技术人员用来最有效地向本领域的其它技术人员传达他们工作的实质的方式。算法可以是导致期望的结果的一系列操作。这些操作是那些需要对物理量进行物理操作的操作。这些量可以采用能够被存储、组合、比
较和以其它方式操纵的电信号或磁信号的形式。这种信号可以被称为位、值、元素、符号、字符、术语、数字等。
79.然而,应该记住,所有这些术语和类似的术语都与适当的物理量相关联,并且只是施加到这些量的实用的标签。除非从本公开内容中清楚地另有说明,否则应理解,在整个描述中,某些术语指的是计算机系统或类似的电子计算设备的动作和过程,它们将在计算机系统的寄存器和存储器内表示为物理(电子)量的数据处理和转换为在计算机系统存储器或寄存器或其它这种信息存储设备中类似地表示为物理量的其它数据。
80.本公开还涉及一种用于执行本文的操作的装置。该装置可以为预期目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这种计算机程序可以被存储在计算机可读存储介质中,诸如但不限于,任何类型的磁盘,包括软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、或适合存储电子指令的任何类型的介质,每个存储介质都耦合到计算机系统总线。
81.本文提出的算法和显示与任何特定的计算机或其它装置没有本质的关系。各种其它系统可以与根据本文教导的程序一起使用,或者可以证明构造更专门的装置来执行该方法是方便的。此外,本公开没有参照任何特定的编程语言进行描述。应当理解,可以使用多种编程语言来实现如本文描述的本公开的教导。
82.本公开可以被提供作为计算机程序产品或软件,该计算机程序产品可以包括具有在其上存储有指令的机器可读介质,该指令可以被用于对计算机系统(或其它电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光学存储介质、闪存设备等。
83.在上述公开中,已经参考本公开的具体示例实现描述了本公开的实现。很明显,在不脱离如以下权利要求中阐述的本公开的实现的更广泛的精神和范围的情况下,可以对其进行各种修改。在本公开以单数时态指代一些元件的情况下,可以在图中描绘一个以上的元件并且相似的元件利用相似的数字标记。因此,本公开和附图被认为是说明性的而不是限制性的。
再多了解一些

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

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

相关文献