本发明涉及半导体制造领域,特别涉及一种冗余金属填充方法的方法及系统。
背景技术:
随着半导体技术的不断发展,半导体工艺结点在不断变小,化学机械平坦化(chemicalmechanicalpolishing,cmp)被用于全局化平坦,变得越来越重要。cmp工艺制造过程中,由于金属和氧化物等介质具有不同的材料特性,它们在cmp过程中材料去除速率并不相同,导致产生了蝶形缺陷(dishing)和侵蚀缺陷(erosion)。蝶形缺陷是空白区域的介质层和沟槽中金属的厚度差。侵蚀缺陷指在图形区域氧化物和金属被减薄,为抛光前后氧化层厚度差。现有技术主要通过冗余金属填充来消除蝶形缺陷和侵蚀缺陷。
冗余金属填充(dummyfill)技术的主要原理是通过向网格内填充与电路不连通的金属小块来改变该网格的金属图形密度,从而提高版图图形密度的均匀性,改善芯片的平整度和电性能。其核心技术主要有两个:1)版图密度和填充数量分析技术;2)余量分析技术。
目前,对于版图密度和填充数量分析技术的研究主要是基于版图网格密度分析来确定填充区域和填充密度。例如,kahng等人通过提出的使密度变化最小的填充方法(min-variation)和tian等人提出的最少填充(min-fill)线性规划模型。余量分析技术的研究主要有两种算法,阵列索引算法和扫描线算法。其中,阵列索引算法将网格划分为n*n的索引阵列,并对符合要求的阵列进行填充,其优点在于计算速度快,而缺点在于由于阵列大小严重依赖与冗余金属填充参数设置,当设置的填充参数不合适时会导致漏填现象,并且填充后为传统排列,寄生效应明显,可调性差;扫描线算法则通过扫描线将网格划分为若干区域,随后对这些区域进行冗余金属填充,这一方法的优点在于避免了阵列索引算法的部分漏填问题,填充方式多样,可以有效减小寄生效应,其缺点在于无法处理复杂几何结构的版图,计算速度远低于阵列索引算法。
技术实现要素:
本发提供一种冗余金属填充方法的方法及系统,解决通过现有余量分析技术无法在不漏填充的前提下快速完成冗余金属填充的问题。
本发明提供了一种冗余金属填充方法的方法,包括步骤:
对待填充版图进行版图密度分析,确认各网格的待填充密度;
根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;
根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;
将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;
在各网格内待填充区域进行冗余金属填充。
优选地,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:
步骤a1:利用化学机械平坦化cmp-可制造性型设计dfm工具获得各网格内的密度值dij,所述网格大小为g×g;
步骤a2:判断是否存在超出预设密度下限di的待填充网格,若是,则获取待填充网格的待填充密度d1,以使待填充网格的密度被调整为预设密度下限di;若否,则直接进入步骤a3;
步骤a3:从一边到对边依序计算每个网格与其相邻网格的密度最大值dmax;
步骤a4:判断是否存在与dmax的差值大于预设允许密度波动△d的待填充网格,若是,则更新待填充网格的待填充密度d1,以使待填充网格的密度被调整为dmax-△d;若否,则进入步骤a5;
步骤a5:从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。
优选地,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:
将步骤a2和步骤a4确定的待填充网格以l1为边长划分为各阵列,其中,
判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
优选地,所述方法还包括:
判断各阵列是否与金属线存在重叠部分之前,通过cmp工艺模拟产生缺陷的临界尺寸l0;
将各网格内的金属线外扩l0/2;
所述判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列包括:
判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
优选地,所述待填充区域为矩形或方形,所述将每个网格内的待填充阵列进行整合,得到各网格内待填充区域包括:
步骤c1:从网格一个顶角处阵列开始遍历,如果当前阵列ni,j为非待填充阵列则跳过,否则进入步骤c2,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;
步骤c2:自网格的一边起,当前阵列ni,j为待填充阵列时,判断ni+1,j或ni,j+1是否为待填充阵列,若是则将ni,j、ni+1,j,或ni,j、ni,j+1合并为(i,j)待填充区域mi,j,并继续判断阵列ni+2,j或ni,j+2是否为待填充阵列,以此类推,直到ni+k,j或ni,j+k为非待填充阵列或网格对边为止,其中i为列数,j为行数,k为正整数;
步骤c3:判断阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k是否存在非待填充阵列,若否,则将阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k合并入(i,j)待填充区域mi,j,并继续判断阵列ni,j+2至ni+k,j+2或阵列ni+2,j至ni+2,j+k是否合并入(i,j)待填充区域mi,j,以此类推,当阵列ni,j+p至ni+k,j+p或阵列ni+p,j至ni+p,j+k中存在非待填充阵列,若是,则不调整(i,j)待填充区域mi,j;其中p为正整数;
步骤c4:重复步骤c1至步骤c3直至遍历当前网格内全部阵列,得到网格内各待填充区域;
步骤c5:重复步骤c1至步骤c4直至得到各网格内待填充区域。
优选地,所述在各网格内待填充区域进行冗余金属填充包括:
确定待填充区域各顶点的几何坐标;
根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;
将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。
一种冗余金属填充方法的系统,包括:
密度确认模块,用于对待填充版图进行版图密度分析,确认各网格的待填充密度;
冗余金属设定模块,用于根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;
阵列确认模块,用于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;
区域获取模块,用于将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;
填充模块,用于在各网格内待填充区域进行冗余金属填充。
优选地,所述密度确认模块包括:
密度值获取单元,用于利用cmp-dfm工具获得各网格内的密度值dij,所述网格大小为g×g;
第一判断单元,用于判断是否存在超出预设密度下限di的待填充网格,若是,则获取待填充网格的待填充密度d1,以使待填充网格的密度被调整为预设密度下限di;若否,则执行计算单元;
计算单元,用于从一边到对边依序计算每个网格与其相邻网格的密度最大值dmax;
第二判断单元,用于判断是否存在与dmax的差值大于预设允许密度波动△d的待填充网格,若是,则更新待填充网格的待填充密度d1,以使待填充网格的密度被调整为dmax-△d;若否,则执行获取单元;
获取单元,用于从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。
优选地,所述阵列确认模块包括:
阵列划分单元,用于将步骤a2和步骤a4确定的待填充网格以l1为边长划分为各阵列,其中,
阵列标记单元,用于判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
优选地,所述系统还包括:
临界尺寸获取模块,用于判断各阵列是否与金属线存在重叠部分之前,通过cmp工艺模拟产生缺陷的临界尺寸l0;
与阵列确认模块相连的金属线外扩模块,用于将各网格内的金属线外扩l0/2;
所述阵列标记单元具体用于判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
优选地,所述区域获取模块包括:
遍历单元,用于从网格一个顶角处阵列开始遍历,如果当前阵列为非待填充阵列则跳过,否则执行区域合并单元,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;
区域合并单元,用于自网格的一边起,当前阵列ni,j为待填充阵列时,判断ni+1,j或ni,j+1是否为待填充阵列,若是则将nij、ni+1,j,或nij、ni,j+1合并为(i,j)待填充区域mi,j,并继续判断阵列ni+2,j或ni,j+2是否为待填充阵列,以此类推,直到ni+k,j或ni,j+k为非待填充阵列或网格对边为止,其中i为列数,j为行数,k为正整数;
区域调整单元,用于判断阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k是否存在非待填充阵列,若否,则将阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k合并入(i,j)待填充区域mi,j,并继续判断阵列ni,j+2至ni+k,j+2或阵列ni+2,j至ni+2,j+k是否合并入(i,j)待填充区域mi,j,以此类推,当阵列ni,j+p至ni+k,j+p或阵列ni+p,j至ni+p,j+k中存在非待填充阵列,若是,则不调整(i,j)待填充区域mi,j;其中p为正整数;
第三判断单元,用于判断是否遍历当前网格内全部阵列,若是则执行第四判断单元,若否则执行遍历单元;
第四判断单元,用于判断是否遍历所有网格,若是则结束,若否则执行遍历单元。
优选地,所述填充模块包括:
区域坐标确定单元,用于确定待填充区域各顶点的几何坐标;
填充坐标技术单元,用于根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;
填充单元,用于将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。
本发明提供的一种冗余金属填充方法的方法及系统,该方法通过版图密度分析确认各网格的待填充密度,并根据待填充密度设定冗余金属边长和间距,接着根据设定的冗余金属边长和间距对各网格进行索引阵列分析,获取各网格内待填充阵列,然后对每个网格内的待填充阵列进行整合,得到待填充区域,最终在各网格内待填充区域进行冗余金属填充。由于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,能避免现有阵列索引算法当设置的填充参数不合适时会导致漏填的现象;此外,将每个网格内的待填充阵列进行整合,得到各网格内待填充区域,有效地提高了处理速度,使得本发明能在不漏填充的前提下快速完成冗余金属填充。
进一步地,所述待填充区域为矩形或方形,并提供了形成矩形或方形的待填充区域的步骤,使得本发明可以通过获取待填充区域的顶角坐标来获取冗余金属填充的实际填充坐标,进一步提高了冗余金属填充速度。
进一步地,将各网格内的金属线外扩l0/2,其中l0为cmp工艺模拟产生缺陷的临界尺寸,使得本发明提供的方法考虑了cmp工艺产生缺陷的临界尺寸,能扩大后续半导体制备的工艺窗口,并且由于进一步确定了不需要进行冗余金属填充区域,使得待填充区域减小,能提高冗余金属填充速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本发明提供的一种冗余金属填充方法的流程图;
图2为根据本发明提供的一种对待填充版图进行版图密度分析的逻辑图;
图3为根据本发明提供的一种进行网格余量分析技术的逻辑图;
图4为根据本发明提供的进行阵列划分和合并的示意图;
图5为根据本发明提供的冗余金属填充的示意图;
图6为根据本发明提供的一种冗余金属填充系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
现有冗余金属填充方法的余量分析技术主要有两种算法,阵列索引算法和扫描线算法。其中,阵列索引算法计算速度快,但是由于阵列大小严重依赖于冗余金属填充参数设置,当设置的填充参数不合适时会导致漏填现象,且可调性差;扫描线算法能解决上述问题,但是无法处理复杂几何结构的版图,且计算速度远低于阵列索引算法。
本发明提供的一种冗余金属填充方法的方法及系统,由于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,能避免由于设置的填充参数不合适导致漏填的现象,并且对待填充阵列进行整合,得到各网格内待填充区域,有效地提高了处理速度,使得本发明能在不漏填充的前提下快速完成冗余金属填充。
为了更好的理解本发明的技术方案和技术效果,以下将结合流程图和具体的实施例进行详细的描述,流程图如图1所示。
步骤s01,对待填充版图进行版图密度分析,确认各网格的待填充密度,参考图2所示。
在本实施中,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:步骤a1:利用cmp-dfm工具获得各网格内的密度值dij,所述网格大小为g×g;步骤a2:判断是否存在超出预设密度下限di的待填充网格,若是,则获取待填充网格的待填充密度d1,以使待填充网格的密度被调整为预设密度下限di;若否,则直接进入步骤a3;步骤a3:从一边到对边依序计算每个网格与其相邻网格的密度最大值dmax;步骤a4:判断是否存在与dmax的差值大于预设允许密度波动△d的待填充网格,若是,则更新待填充网格的待填充密度d1,以使待填充网格的密度被调整为dmax-△d;若否,则进入步骤a5;步骤a5:从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。其中,预设密度下限di、预设允许密度波动△d可以根据经验或实际使用效果而定,还可以通过仿真模拟获得;从一边到对边可以为从左边到右边、从右边到左边、从上边到下边或从下边到上边,在本实施例中,以从左边到右边为例进行说明。
在一个具体实施例中,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:
步骤a1:设定密度下限di以及允许密度波动δd;
步骤a2:利用cmp-dfm工具获得各网格内的密度值,此时版图被划分为若干个大小为g×g的网格;
步骤a3:判断是否存在超出密度下限的网格,如果有,通过加入冗余金属使此网格密度达到di,获取待调整密度d1,如d1=di-dij,反之,直接进入步骤a4;需要说明的是,di也可以为一个范围,即d1处于di的设定范围时即可;
步骤a4:从左到右进行遍历,计算每个网格与其相邻网格的密度最大值dmax;
步骤a5:判断最大值dmax与当前网格密度的差值是否大于δd,若大于则将当前网格密度大小调整为dmax-δd,更新待调整密度d1=dmax-δd-dij,进入步骤a6,若小于或者等于则不做调整;
步骤a6:以自左向右的方式推进网格计算,在最右端时转入下一行。
上述获取待填充密度仅仅是示例性的,现有技术中获取待填充密度的方法都适用,在此不做限定。
步骤s02,根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距。
在本实施例中,冗余金属边长和间距可以是根据待填充密度及版图的几何约束等即时计算出来的,还可以是提前构建好的冗余金属模板,例如从填充模板的模板库中选择金属密度与待填充密度最相近的模板,该模板的输入可以为待填充密度等,输出为冗余金属边长和间距等,在此不做限定。
在一个具体实施例中,冗余金属的边长和间距分别为w、s,其金属密度为w2/(w+s)2。
步骤s03,根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,参考图3至图4。
在本实施例中,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:将步骤a2和步骤a4确定的待填充网格以l1为边长划分为各阵列,其中,
进一步地,为了扩大后续半导体制备的工艺窗口,并减小待填充区域,以提高冗余金属填充速度,所述方法还包括:判断各阵列是否与金属线存在重叠部分之前,通过cmp工艺模拟产生缺陷的临界尺寸l0;将各网格内的金属线外扩l0/2;所述判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列包括:判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
在一个具体实施例中,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:
步骤b1:cmp模拟确定产生缺陷的临界尺寸l0;
步骤b2:将网格内的金属线外扩l0/2;
步骤b3:将步骤a3和步骤a5确定的待填充网格以l1为边长划分阵列,其中,
步骤b4:判断阵列是否与虚拟金属线相交,若是则将其标记为非待填充阵列,反之则将其标记为待填充阵列。
步骤s04,将每个网格内的待填充阵列进行整合,得到各网格内待填充区域,参考图4、图5所示。
在本实施中,所述待填充区域为矩形或方形,所述将每个网格内的待填充阵列进行整合,得到各网格内待填充区域包括:步骤c1:从网格一个顶角处阵列开始遍历,如果当前阵列为非待填充阵列则跳过,否则进入步骤c2,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;步骤c2:自网格的一边起,当阵列ni,j为待填充阵列时,判断ni+1,j或ni,j+1是否为待填充阵列,若是则将nij、ni+1,j,或nij、ni,j+1合并为(i,j)待填充区域mi,j,并继续判断阵列ni+2,j或ni,j+2是否为待填充阵列,以此类推,直到ni+k,j或ni,j+k为非待填充阵列或网格对边为止,其中i为列数,j为行数,k为正整数;步骤c3:判断阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k是否存在非待填充阵列,若否,则将阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k合并入(i,j)待填充区域mi,j,并继续判断阵列ni,j+2至ni+k,j+2或阵列ni+2,j至ni+2,j+k是否合并入(i,j)待填充区域mi,j,以此类推,当阵列ni,j+p至ni+k,j+p或阵列ni+p,j至ni+p,j+k中存在非待填充阵列,若是,则不调整(i,j)待填充区域mi,j;其中p为正整数;步骤c4:重复步骤c1至步骤c3直至遍历当前网格内全部阵列,得到网格内各待填充区域;步骤c5:重复步骤c1至步骤c4直至得到各网格内待填充区域。本实施例以从左上角处阵列开始遍历为例进行说明。
在一个具体实施例中,首先,步骤c1:从网格左上角阵列开始遍历自左向右推进,在最右端时转入下一行,如果某阵列为不可填充阵列则直接跳过,反之进入步骤c2;
步骤c2:阵列ni,j为待填充阵列,判断ni+1,j是否为待填充阵列,若是则将nij和ni+1,j合并为mi,j,并继续判断阵列ni+2,j,以此类推,直到ni+k,j为不可填充阵列或网格最右端为止;
步骤c3:假设mi,j为阵列ni,j到ni+k,j之间网格的集合体,则检测阵列ni,j+1到ni+k,j+1是否均为可填充阵列,如是则将其加入集合体mi,j,并继续检查阵列ni,j+2到ni+k,j+2,以此类推,直到ni,j+p到ni+k,j+p之间存在不可填充阵列,反之则不对mi,j进行调整;
步骤c4:重复步骤c1到c3,直至遍历网格内全部阵列,图4中示例最终被合并为8个待填充区域;
通过上述步骤可以形成矩形或方形的待填充区域,便于后续根据待填充区域的顶角坐标进行金属冗余填充。
需要说明的是,以上对待填充阵列进行整合的方式仅仅是一种优选地方式,此外,也可以为现有技术中常用的待填充区域获取方式,并在后续步骤相应地选取金属冗余填充方式,在此不作限定。
步骤s05,在各网格内待填充区域进行冗余金属填充,参考图5所示。
在本实施中,所述在各网格内待填充区域进行冗余金属填充包括:确定待填充区域各顶点的几何坐标;根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。
在一个具体实施例中,所述在各网格内待填充区域进行冗余金属填充包括:
步骤d1:待填充区域几何坐标的确定:在网格gr,s内,假设待填充区域mi,j为阵列集合
其中,r,s分别为横向网格序号和纵向网格序号;k,p分别为自阵列ni,j起横向和纵向的阵列数(不包括阵列ni,j);
步骤d2:冗余金属的实际填充坐标计算:如图5所示,以传统排列方式为例,对实际填充坐标计算进行说明(其他排列方式可以采用相似的方法进行计算)。对于待填充区域mi,j,冗余金属rm,n四顶点坐标公式如式(2)所示:
其中,bs为缓冲距离,即冗余金属阵列到金属线的距离;m为横向冗余金属序号;n为纵向冗余金属序号;
步骤d3:将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属智能填充。
需要说明的是,上述冗余金属的填充方法仅为示例性的,也可以直接对待填充阵列进行冗余金属填充,在此不做限定。
在本发明实施例中,该方法对版图进行版图密度分析获取各网格的待填充密度,然后根据待填充密度设定冗余金属尺寸等,并根据设定的冗余金属尺寸对各网格进行索引阵列分析,获取待填充阵列,能避免现有阵列索引算法当设置的填充参数不合适时会导致漏填的现象,接着然后对每个网格内的待填充阵列进行整合,得到待填充区域,最终在各网格内待填充区域进行冗余金属填充,有效地提高后续处理速度,使得本发明能在不漏填充的前提下快速完成冗余金属填充。
相应地,本发明还提供了一种冗余金属填充方法的系统,如图6所示,包括:
密度确认模块601,用于对待填充版图进行版图密度分析,确认各网格的待填充密度;
冗余金属设定模块602,用于根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;
阵列确认模块603,用于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;
区域获取模块604,用于将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;
填充模块605,用于在各网格内待填充区域进行冗余金属填充。
在实际应用中,所述密度确认模块601可以包括:
密度值获取单元,用于利用cmp-dfm工具获得各网格内的密度值dij,所述网格大小为g×g;
第一判断单元,用于判断是否存在超出预设密度下限di的待填充网格,若是,则获取待填充网格的待填充密度d1,以使待填充网格的密度被调整为预设密度下限di;若否,则执行计算单元;
计算单元,用于从一边到对边依序计算每个网格与其相邻网格的密度最大值dmax;
第二判断单元,用于判断是否存在与dmax的差值大于预设允许密度波动△d的待填充网格,若是,则更新待填充网格的待填充密度d1,以使待填充网格的密度被调整为dmax-△d;若否,则执行获取单元;
获取单元,用于从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。
在本实施例中,本系统根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,所述阵列确认模块603包括:
阵列划分单元,用于将步骤a2和步骤a4确定的待填充网格以l1为边长划分为各阵列,其中,
阵列标记单元,用于判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
为了进一步提高冗余金属填充速度并扩大后续半导体制备的工艺窗口,所述系统还包括:
临界尺寸获取模块706,用于判断各阵列是否与金属线存在重叠部分之前,通过cmp工艺模拟产生缺陷的临界尺寸l0;
与阵列确认模块603相连的金属线外扩模块707,用于将各网格内的金属线外扩l0/2;
所述阵列标记单元具体用于判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。
此外,所述区域获取模块604包括:
遍历单元,用于从网格一个顶角处阵列开始遍历,如果当前阵列为非待填充阵列则跳过,否则执行区域合并单元,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;
区域合并单元,用于自网格的一边起,当阵列ni,j为待填充阵列时,判断ni+1,j或ni,j+1是否为待填充阵列,若是则将nij、ni+1,j,或nij、ni,j+1合并为(i,j)待填充区域mi,j,并继续判断阵列ni+2,j或ni,j+2是否为待填充阵列,以此类推,直到ni+k,j或ni,j+k为非待填充阵列或网格对边为止,其中i为列数,j为行数,k为正整数;
区域调整单元,用于判断阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k是否存在非待填充阵列,若否,则将阵列ni,j+1至ni+k,j+1或阵列ni+1,j至ni+1,j+k合并入(i,j)待填充区域mi,j,并继续判断阵列ni,j+2至ni+k,j+2或阵列ni+2,j至ni+2,j+k是否合并入(i,j)待填充区域mi,j,以此类推,当阵列ni,j+p至ni+k,j+p或阵列ni+p,j至ni+p,j+k中存在非待填充阵列,若是,则不调整(i,j)待填充区域mi,j;其中p为正整数;
第三判断单元,用于判断是否遍历当前网格内全部阵列,若是则执行第四判断单元,若否则执行遍历单元;
第四判断单元,用于判断是否遍历所有网格,若是则结束,若否则执行遍历单元。
在本实施例中,所述区域获取模块604可以形成矩形或方形待填充区域,为了提高冗余金属填充效率,所述填充模块605包括:
区域坐标确定单元,用于确定待填充区域各顶点的几何坐标;
填充坐标技术单元,用于根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;
填充单元,用于将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。
当然,该系统还可以进一步包括存储模块(未图示),可以用于保存索引阵列分析结果等,如待填充阵列及即待填充区域相关信息等。这样,以方便对待处理版图进行计算机自动处理,并存储冗余金属填充结果相关信息等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于系统部分而言,由于其是根据本发明提供的方法形成的系统,所以描述得比较简单,相关之处参见方法部分说明即可。以上所描述的实施例仅仅是示意性的,本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。