李兴权,吴莉莉,朱文兴
(1. 闽南师范大学数学与统计学院,福建 漳州 363000; 2. 福州大学离散数学研究中心,福建 福州 350108)
随着特征之间的间距缩小和节点数量的增加,超大规模集成电路的版图制造越来越困难[1]. 目前学术界和工业界公认的最有前景的制造技术是嵌段共聚物定向自组装(directed-self-assembly,DSA)和极端紫外光刻[2]. 其中DSA最适合用于制造分布密集的通孔层[3]. 为了通过DSA对通孔层进行刻印制造,通常需要使用引导槽来辅助形成通孔[4]. 使用一些单孔的引导槽可以来制造稀疏结构的通孔. 但对密集结构,太近的单孔引导槽之间会产生冲突[5]. 为了减少冲突,本研究将一些短距离内的通孔放在某个多孔引导槽中组合制造[6],但是复杂且不规则形状的引导槽将会产生更大的重叠成本[7]. 因此,在引导槽分配时,应考虑引导槽的成本. 此外,对于非常密集的通孔层版图,由于一些冲突错误,通过单重图样光刻制造的电路版几乎是不合格的. 因此,本研究考虑多重图样光刻的DSA技术(triple patterning lithography with DSA,TPL-DSA)是一个可靠的选择. 同样地,对于TPL-DSA技术而言,其关键问题是掩模版和引导槽的分配[8-9]. 本研究总结了不同尺寸的竖直和水平引导槽成本的一般规则,并构建了加权冲突分组图,研究一个紧致的整数线性规划模型,接着引入一些有效的不等式剪枝掉一些不良的解进行加速求解.
为了用定向自组装技术制造通孔,通常需要先采用传统的光刻技术刻印出引导槽[3]. 对于稀疏结构,
通孔之间的间距足够大,通孔可以放在单孔引导槽中制造. 但对于密集的结构,通孔之间的间距太小而导致不能通过单孔引导槽制造,需要将相近的几个通孔放到某个多孔引导槽制造. 多孔引导槽的类型理论上可以是任何形状的[8]. 然而,复杂的引导槽可能会引入较大的重叠消除成本,并且预期的通孔可能无法正确制造[7]. 为了得到较好的通孔制造效果,本研究只考虑竖直和水平形状的引导槽. 对于竖直或水平引导槽,不同孔数的引导槽具有不同的成本[9]. 本研究总结了三个关于竖直和水平引导槽成本的规则.
规则1孔越多的引导槽,成本越高;
规则2k个孔被包含在一个引导槽中,或者k+1个孔被包含在几个引导槽中,前者的成本要小于后者的成本之和;
规则3k个孔被包含在一个引导槽中,或者k个孔被包含在几个引导槽中,前者的成本要大于后者的成本之和.
规则1是由于具有更多孔的引导槽更难以控制光刻变化; 规则2是由于后一种情况涉及更多的通孔,并可能产生更多的制造错误; 规则3是由于包含k个孔的一个引导槽比包含k个孔的其他几个引导槽更难控制光刻变化[8-10].
令dc min为最小冲突间距,dg min为最小分组间距,dg max为最大分组间距,对于上述表示法dg min 给定通孔层版图,垂直和水平引导槽集,三个掩模版M1,M2,M3,冲突数与引导槽成本之间的权重参数β=0.01. 将所有通孔分配给掩模版和可用的单孔、 多孔引导槽. 其中每个通孔只能分配给三个掩模版中的一个,并且仅分配给一个引导槽,此外一个引导槽中的几个通孔必须分配到同一掩模版. 该问题的目标是为了最小化|C|+β×T_cost,其中cij∈C表示通孔i和j之间的冲突,|C|是冲突的总数量,T_cost是使用的引导槽的总成本. 给定版图,对于靠太近的一些通孔,需要分配到不同的掩模版中或者组合在一个引导槽中制造. 如果两个通孔i和j的距离在dg min和dg max之间,并且i和j分布在垂直或水平线上,则组合在一起,并称其为二元组. 此外,本研究将所有通孔称为单元组,然后将所有二元组和单元组统称为多元组. 图1(a)显示单元组和二元组. 上面的多元组可以看作图中的顶点,而在这些顶点之间有一些边. 本研究定义如下冲突分组图. 定义1冲突分组图CGG1(V,Ec,Eg,Eo,Wv,Wv)是无向图,其中V是顶点集,v∈V是多元组,Ec是冲突边的集合,Eg是分组边的集合,Eo是重叠边的集合.Wv是顶点权重的集合,Wv是边权重的集合. 由分组边连接的多元组可以组合成引导槽,如图1(b)所示. 如果多元组i和j彼此重叠,则两者之间存在重叠边oeij∈Eo. 图1 多元组与由多元组组合而成的引导槽Fig.1 Comparison of the costs of different templates 在CGG1中,如果V中两个多元组i和j之间的距离小于dc min,则存在冲突边ceij∈Ec. 如果两个多元组i和j之间的距离(i和j至少有一个是二元组)在dg min和dg max之间,并且i和j在垂直或者水平线中,则在两者之间存在分组边geij∈Eg. 显然,Eg⊆Ec. 在CGG1中,wiv∈Wv是多元组i的权重,并且wije∈We是多元组i和j的边ceij∈Ec的权重.wiv和wije的权重规则分别见公式(1).wiv∈Wv和wije∈We的这些权重规则旨在拟合目标函数. (1) 图2给出了一个冲突分组图CGG1的示例. 图2(a)是具有五个通孔的版图,其CGG1如图2(b)所示,这里s1~s5是单元组,对应于通孔c1~c5;d1~d3是二元组,其中d1包括通孔c1和c2,d2包括通孔c2和c3,d3包括通孔c4和c5. 黑线是冲突边,绿线是分组边,红线是重叠边. 图2 冲突分组图Fig.2 Conflict grouping graph 图3 不同引导槽的成本比较Fig.3 Comparison of the costs of different templates 为了表示Eo中重叠边之间的约束,首先通过Eo中的重叠边获得推导出CGG1的子图EDG1(V′,Eo)的边. 图2(c)显示了图2(b)中CGG1的EDG1(V′,Eo). 然后将找到V′中每个顶点的所有可能的最大团Ct,设S是最大团Ct的集合. 如图2(c)所示,找到五个最大团C1,C2,…,C5. 必须注意的是,找到图的最大团是NP困难问题. 幸运的V′中点的数目和每个顶点的度数都不大. 令0~1变量xim表示V中被分配给掩模m(m=1,2,3)的顶点i,给出整数线性规划模型P1如下: (2) s.t.xim+xjm≤1+cij(∀eij∈Ec,m=1,2,3) (3) (4) 通过观察,存在四种类型的组合可以形成不可用的引导槽,如图4的第一、 三列的四个小图所示. 将这些组合类型称为不兼容结构(incompatibility structure,IS). IS通过对边进行分组,存在至少两个二元组i和j连接到单元组k,并且在i和j之间没有冲突边或分组边. 如果IS中的所有多元组分配给掩模版,则IS的权重总和不等于该IS中可用引导槽或冲突的最小总成本. 本研究通过举例来说明成本的这种差异. 在图4(a)中,IS的权重之和为0.03+0.02+0.02+0.03=0.10. 对图4(a)中的IS,最好的分配结果是将所有多元组组合成一个T5引导槽,然后分配给掩模版,这时候这个结构的成本等于T5引导槽的成本0.09. 那么IS的权重之和与其最小总成本之间的差距为0.01. 同样,图4(c),(e),(g)中的IS权重之和与其最低总成本之间同样存在差距. 图4 四种不兼容结构与三角边 Fig.4 Four types of incompatible structures and triangle edge 为了消除差距,本研究在这些IS中的多元组中插入三角边,其定义为: 定义2(三角边te) 如果存在两个二元组i和j通过分组边连接到单元组k,即eik∈Eg,ejk∈Eg,并且如果eij∉Ec,则将eij添加到图中并称为三角边. 设Et是三角边的集合. 在图4中,有四种类型的不兼容结构(IS): 1) “—”形,{eik,ejk}⊆Eg和{eij}⊆Et,并且eij的权重设置为wije=-0.01, 如图4(b)所示; 2) “L”形,{eik,ejk}⊆Eg和{eij}⊆Et,eij的权重设置为wije=0.98,如图4(d)所示; 3) “T”形,{eik,ejk,elk}⊆Eg和{eij,ejl,eil}⊆Et,eij和ejl的权重设置为0.98,eil的权重设置为-0.01,如图4(f)所示; 4) “+”形,{eik,ejk,elk,ehk}⊆Eg和{eij,ejl,elh,ehi,eil,ejh}⊆Et,eij,ejl,elh和ehi的权重设置为0.98,eil和ejh的权重设置为-0.01,如图4(h)所示. 三角边的权重设置的详细说明如下所示. 对于“—”形状结构,如果将三个多元组i,j和k分配给掩模版,则最佳分配是将该IS中的所有多元组s分配给T5引导槽,并且成本为0.09. IS中多元组的权重之和与IS的最小总成本之间的差距为0.01. 因此,eij的权重设置为-0.01(下同). 为了消除这种差距,对于“—”形状IS的多元组i,j和k,为P1添加了一个新的约束如下: xim+xkm+xjm≤2+cij(m=1,2,3) (5) 约束条件(5)用于限制,若多元组i,j和k分配给同一个掩模版,则三角边eij∈Et的冲突变量满足cij=1. “L”形结构中多元组i,j和k分配给同一个掩模版,最佳分配是该IS中的多元组s1和d1被分配给T3引导槽,并在s1和d2之间产生冲突,总成本为1.08. 因此,三角边eij的权重设置为0.98,新增约束: xim+xkm+xjm≤2+cij(m=1,2,3) (6) “T”形结构中通孔i,j,l和k分配给同一个掩模版,最佳分配是将该IS中的多元组d1,s1和d3分配给T5引导槽,并在s1和d2之间产生冲突,总成本是1.13. 因此,eij和ejl的权重设置为0.98,新增约束: xim+xkm+xjm≤2+cij+cjl(m=1,2,3);xjm+xkm+xlm≤2+cij+cjl(m=1,2,3) (7) 约束条件(7)用于限制,如果三个通孔i,j和k(或j,l和k)或四个通孔分配给同一个掩模版,则三角边eij和ejl中至少有一个冲突变量cij或cjl等于1. “+”形状结构中通孔i,j,l,h和k分配给同一个掩模版,最佳分配之一是该IS中的多元组d1,s1和d3被分配给T5引导槽和生成的两个冲突在s1和d2之间以及s1和d4之间,总成本是2.06. 新增约束: (8) 约束条件(8)用于限制,如果“L”形IS中的三个通孔或“T”形IS中的四个通孔分配给相同的掩模版,则至少有一个三角边的冲突变量等于1. 如果将“+”形IS中的五个通孔分配给同一个掩模版,则三角边eij,ejl,elh,ehi的冲突变量cij,cjl,clh,chi中至少有两个等于1. 接着将四种类型的IS的约束添加到P1中,那么IS中多元组权重之和与其最小总成本之间的差距的任何组合都为0. 通过求解图2(b)中CGG1上的整数线性规划P1,可以得到P1的最优解,如图2(d)所示. 这个结果没有产生冲突,只产生一个T2孔引导槽成本,该结果的目标函数值是: (9) 根据P1的结果可以得到最终的分配结果. 其中c1~c3由T1引导槽制造,c4~c5被分到同一个T2引导槽制造;c1,c3被分到掩模版M3中制造,c2被分到掩模版M2中制造,c4~c5被分到掩模版M1中制造. 用于解决TPL-DSA掩模版和引导槽分配的整数线性规划方法用C++编程,并在具有2.4 GHz CPU,4 GB内存和Linux操作系统的个人计算机上运行. 在文献[8]提供的基准测试中测试了本研究的方法. 通孔宽度和最小冲突间距缩放到10 nm,以反映先进技术节点的间距. 最小冲突间隔dc设置为50 nm,最小分组间距dg min和最大分组间距dg max分别设置为10 nm和40 nm,增加dc与缩小节点大小具有相同的效果. 本研究的整数线性规划模型采用商业优化求解器CPLEX[11]中的分枝定界方法求解. 但由于本研究的问题约束多,可以较快地得到剪枝条件,故而可以快速地终止计算; 另外整数规划模型是根据每个联通分支建立的,不同联通分支之间是独立求解的. 表1中列出了本研究方法和ASP-DAC16中方法在所有测试实例的实验比较结果. 列“#V”中的数据是每个测试例子中的通孔点数量. 列“|C|”是得到实验结果的冲突总数. 列“T2”是得到实验结果的T2引导槽的总数目. 列“T3”是得到实验结果的T3引导槽的总数目. 列“T_cost”是得到实验结果的引导槽的总成本. 列“cost”是得到实验结果的冲突和引导槽的总成本. 列“tCPU”是得到实验结果所花的运行时间. 从表1中的行“比例”可以看出 “ASP-DAC16”的冲突总数是本研究的方法的42倍,而且本研究的方法所得到的冲突基本是0,因为其整数规划方法得到的冲突数目是最优. 另外,这两个方法得到的引导槽的总成本基本相同. 最终的总成本“cost”,本研究的结果与“ASP-DAC16”相比,减少了78%. 运行时间上,整数规划方法是“ASP-DAC’16”的3倍. 这些比较说明整数规划方法可以得到更优的TPL-DSA掩模版和引导槽分配结果. 表1 实验结果比较 本研究考虑TPL-DSA的通孔层的掩模版和引导槽分配问题. 首先,给定通孔层版图构造带权冲突分组图. 然后,根据冲突分组图为该问题构建了一个整数线性规划问题. 为了获得更好的结果,在加权冲突分组图中引入了三角边,从而在离散松弛问题中引入了一些有效的不等式. 最后的实验结果表明,所得到的比当前最好的方法有较大的提高.2 TPL-DSA掩模版和引导槽分配的整数线性规划求解
2.1 构造冲突分组图
2.2 整数线性规划模型
3 实验结果与分析
4 结语