[go: up one dir, main page]

CN107153719A - Method and system for filling redundant metal - Google Patents

Method and system for filling redundant metal Download PDF

Info

Publication number
CN107153719A
CN107153719A CN201610118156.9A CN201610118156A CN107153719A CN 107153719 A CN107153719 A CN 107153719A CN 201610118156 A CN201610118156 A CN 201610118156A CN 107153719 A CN107153719 A CN 107153719A
Authority
CN
China
Prior art keywords
filled
array
grid
density
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610118156.9A
Other languages
Chinese (zh)
Other versions
CN107153719B (en
Inventor
曹鹤
陈岚
孙艳
张贺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201610118156.9A priority Critical patent/CN107153719B/en
Publication of CN107153719A publication Critical patent/CN107153719A/en
Application granted granted Critical
Publication of CN107153719B publication Critical patent/CN107153719B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种冗余金属填充方法的方法及系统,该方法包括:对待填充版图进行版图密度分析,确认各网格的待填充密度;根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;在各网格内待填充区域进行冗余金属填充。由于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,并对待填充阵列进行整合,得到待填充区域,使得本发明能在不漏填充的前提下快速完成冗余金属填充。

The present invention provides a redundant metal filling method and system, the method comprising: analyzing the layout density of the layout to be filled, confirming the density to be filled of each grid; setting the filling density according to the density to be filled of each grid The redundant metal side length and spacing of each grid; according to the set redundant metal side length and spacing, index array analysis is performed on each grid to confirm the array to be filled in each grid; the to-be-filled array in each grid is The array is integrated to obtain the area to be filled in each grid; redundant metal filling is performed in the area to be filled in each grid. Since the index array analysis is performed on each grid according to the set redundant metal side length and spacing, and the array to be filled is integrated to obtain the area to be filled, the present invention can quickly complete redundant metal filling without missing filling. .

Description

一种冗余金属填充方法的方法及系统Method and system for a redundant metal filling method

技术领域technical field

本发明涉及半导体制造领域,特别涉及一种冗余金属填充方法的方法及系统。The invention relates to the field of semiconductor manufacturing, in particular to a method and system of a redundant metal filling method.

背景技术Background technique

随着半导体技术的不断发展,半导体工艺结点在不断变小,化学机械平坦化(Chemical Mechanical Polishing,CMP)被用于全局化平坦,变得越来越重要。CMP工艺制造过程中,由于金属和氧化物等介质具有不同的材料特性,它们在CMP过程中材料去除速率并不相同,导致产生了蝶形缺陷(dishing)和侵蚀缺陷(erosion)。蝶形缺陷是空白区域的介质层和沟槽中金属的厚度差。侵蚀缺陷指在图形区域氧化物和金属被减薄,为抛光前后氧化层厚度差。现有技术主要通过冗余金属填充来消除蝶形缺陷和侵蚀缺陷。With the continuous development of semiconductor technology, semiconductor process nodes are becoming smaller and smaller, and chemical mechanical polishing (CMP) is used for global planarization, which becomes more and more important. During the manufacturing process of the CMP process, since metals and oxides and other media have different material properties, they have different material removal rates during the CMP process, resulting in dishing and erosion defects. A butterfly defect is the difference in thickness between the dielectric layer in the blank area and the metal in the trench. Erosion defects refer to the thinning of the oxide and metal in the pattern area, which is the difference in the thickness of the oxide layer before and after polishing. The prior art eliminates butterfly defects and erosion defects mainly through redundant metal filling.

冗余金属填充(Dummy Fill)技术的主要原理是通过向网格内填充与电路不连通的金属小块来改变该网格的金属图形密度,从而提高版图图形密度的均匀性,改善芯片的平整度和电性能。其核心技术主要有两个:1)版图密度和填充数量分析技术;2)余量分析技术。The main principle of redundant metal filling (Dummy Fill) technology is to change the metal pattern density of the grid by filling the grid with small metal blocks that are not connected to the circuit, thereby improving the uniformity of the pattern density of the layout and improving the flatness of the chip degree and electrical performance. There are two core technologies: 1) layout density and filling quantity analysis technology; 2) margin analysis technology.

目前,对于版图密度和填充数量分析技术的研究主要是基于版图网格密度分析来确定填充区域和填充密度。例如,Kahng等人通过提出的使密度变化最小的填充方法(min-variation)和Tian等人提出的最少填充(min-fill)线性规划模型。余量分析技术的研究主要有两种算法,阵列索引算法和扫描线算法。其中,阵列索引算法将网格划分为n*n的索引阵列,并对符合要求的阵列进行填充,其优点在于计算速度快,而缺点在于由于阵列大小严重依赖与冗余金属填充参数设置,当设置的填充参数不合适时会导致漏填现象,并且填充后为传统排列,寄生效应明显,可调性差;扫描线算法则通过扫描线将网格划分为若干区域,随后对这些区域进行冗余金属填充,这一方法的优点在于避免了阵列索引算法的部分漏填问题,填充方式多样,可以有效减小寄生效应,其缺点在于无法处理复杂几何结构的版图,计算速度远低于阵列索引算法。At present, the research on layout density and filling quantity analysis technology is mainly based on the layout grid density analysis to determine the filling area and filling density. For example, the min-variation proposed by Kahng et al. and the min-fill linear programming model proposed by Tian et al. There are two main algorithms in the research of margin analysis technology, array index algorithm and scan line algorithm. Among them, the array index algorithm divides the grid into n*n index arrays, and fills the arrays that meet the requirements. Its advantage is that the calculation speed is fast, but its disadvantage is that the size of the array depends heavily on the redundant metal filling parameter settings. When When the filling parameters set are inappropriate, it will lead to missing filling phenomenon, and the traditional arrangement after filling, the parasitic effect is obvious, and the adjustability is poor; the scan line algorithm divides the grid into several areas through the scan line, and then redundancies these areas Metal filling, the advantage of this method is that it avoids the partial missing filling problem of the array indexing algorithm. There are various filling methods, which can effectively reduce the parasitic effect. The disadvantage is that it cannot handle the layout of complex geometric structures, and the calculation speed is much lower than that of the array indexing algorithm. .

发明内容Contents of the invention

本发提供一种冗余金属填充方法的方法及系统,解决通过现有余量分析技术无法在不漏填充的前提下快速完成冗余金属填充的问题。The present invention provides a method and system of a redundant metal filling method, which solves the problem that the redundant metal filling cannot be quickly completed without missing filling through the existing margin analysis technology.

本发明提供了一种冗余金属填充方法的方法,包括步骤:The present invention provides a method for redundant metal filling method, comprising the steps of:

对待填充版图进行版图密度分析,确认各网格的待填充密度;Perform layout density analysis on the layout to be filled to confirm the density to be filled of each grid;

根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;Set the redundant metal side length and spacing for filling each grid according to the density to be filled of each grid;

根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;Perform index array analysis on each grid according to the set redundant metal side length and spacing, and confirm the array to be filled in each grid;

将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;Integrate the arrays to be filled in each grid to obtain the area to be filled in each grid;

在各网格内待填充区域进行冗余金属填充。Redundant metal filling is performed in the area to be filled in each grid.

优选地,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:Preferably, performing layout density analysis on the layout to be filled, and confirming the density to be filled of each grid includes:

步骤A1:利用化学机械平坦化CMP-可制造性型设计DFM工具获得各网格内的密度值Dij,所述网格大小为G×G;Step A1: Using chemical mechanical planarization CMP-design for manufacturability DFM tool to obtain the density value D ij in each grid, the grid size is G×G;

步骤A2:判断是否存在超出预设密度下限DI的待填充网格,若是,则获取待填充网格的待填充密度D1,以使待填充网格的密度被调整为预设密度下限DI;若否,则直接进入步骤A3;Step A2: Determine whether there is a grid to be filled that exceeds the preset density lower limit DI, and if so, obtain the density D1 of the grid to be filled, so that the density of the grid to be filled is adjusted to the preset density lower limit DI; if If not, go directly to step A3;

步骤A3:从一边到对边依序计算每个网格与其相邻网格的密度最大值DmaxStep A3: sequentially calculate the maximum density D max of each grid and its adjacent grids from one side to the opposite side;

步骤A4:判断是否存在与Dmax的差值大于预设允许密度波动△D的待填充网格,若是,则更新待填充网格的待填充密度D1,以使待填充网格的密度被调整为Dmax-△D;若否,则进入步骤A5;Step A4: Determine whether there is a grid to be filled whose difference from D max is greater than the preset allowable density fluctuation ΔD, and if so, update the density D1 of the grid to be filled so that the density of the grid to be filled is adjusted is D max -△D; if not, go to step A5;

步骤A5:从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。Step A5: Obtain the to-be-filled density of each grid sequentially from one side to the opposite side, and turn to the next row when the opposite side is reached.

优选地,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:Preferably, the index array analysis is performed on each grid according to the set redundant metal side length and spacing, and it is confirmed that the array to be filled in each grid includes:

将步骤A2和步骤A4确定的待填充网格以L1为边长划分为各阵列,其中,W和S分别为初始设定的冗余金属边长和间距;The grid to be filled determined by step A2 and step A4 is divided into arrays with L1 as the side length, wherein, W and S are the initially set redundant metal side length and spacing;

判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。It is judged whether each array overlaps with the metal line, if yes, the array is marked as an array not to be filled; if not, the array is marked as an array to be filled.

优选地,所述方法还包括:Preferably, the method also includes:

判断各阵列是否与金属线存在重叠部分之前,通过CMP工艺模拟产生缺陷的临界尺寸L0;Before judging whether each array overlaps with the metal line, the critical size L0 of the defect is simulated through the CMP process;

将各网格内的金属线外扩L0/2;Expand the metal lines in each grid by L0/2;

所述判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列包括:Described judging whether each array overlaps with the metal line, if so, then marking the array as an array not to be filled; if not, marking the array as an array to be filled includes:

判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。It is judged whether each array overlaps with the expanded metal line, if yes, the array is marked as an array not to be filled; if not, the array is marked as an array to be filled.

优选地,所述待填充区域为矩形或方形,所述将每个网格内的待填充阵列进行整合,得到各网格内待填充区域包括:Preferably, the area to be filled is rectangular or square, and the arrays to be filled in each grid are integrated to obtain the area to be filled in each grid including:

步骤C1:从网格一个顶角处阵列开始遍历,如果当前阵列Ni,j为非待填充阵列则跳过,否则进入步骤C2,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;Step C1: start traversing from the array at one corner of the grid, skip if the current array N i, j is not an array to be filled, otherwise enter step C2, the traversal includes: advancing from one side to the other side, and advancing to Turn to the next row or column when opposite sides;

步骤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为正整数;Step C2: From one side of the grid, when the current array N i, j is an array to be filled, judge whether N i+1, j or N i, j+1 is an array to be filled, and if so, set N i, j , N i+1, j , or N i, j , N i, j+1 are merged into (i, j) area M i, j to be filled, and continue to judge the array N i+2, j or N i, j+ 2 Whether it is an array to be filled, and so on, until N i+k, j or N i, j+k is not an array to be filled or the opposite side of the grid, where i is the number of columns, j is the number of rows, and k is positive integer;

步骤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为正整数;Step C3: Judging whether there are arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k that are not to be filled, if not, the array N i, j+1 to N i+k, j+1 or the array N i+1, j to N i+1, j+k are merged into (i, j) area M i, j to be filled, and continue to judge Whether the arrays N i, j+2 to N i+k, j+2 or the arrays N i+2, j to N i+2, j+k are merged into (i, j) area M i, j to be filled, so that By analogy, when arrays N i, j+p to N i+k, j+p or arrays N i+p, j to N i+p, there are non-to-be-filled arrays in j+k , if so, do not adjust ( i, j) area to be filled M i, j ; wherein p is a positive integer;

步骤C4:重复步骤C1至步骤C3直至遍历当前网格内全部阵列,得到网格内各待填充区域;Step C4: Repeat steps C1 to C3 until traversing all the arrays in the current grid to obtain each area to be filled in the grid;

步骤C5:重复步骤C1至步骤C4直至得到各网格内待填充区域。Step C5: Repeat steps C1 to C4 until the area to be filled in each grid is obtained.

优选地,所述在各网格内待填充区域进行冗余金属填充包括:Preferably, the redundant metal filling in the regions to be filled in each grid includes:

确定待填充区域各顶点的几何坐标;Determine the geometric coordinates of each vertex of the area to be filled;

根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;Calculate the actual filling coordinates of redundant metal according to the geometric coordinates of each vertex in the area to be filled;

将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。Output the actual filling coordinates of the redundant metal to the layout file to complete the redundant metal filling.

一种冗余金属填充方法的系统,包括:A system of redundant metal filling methods comprising:

密度确认模块,用于对待填充版图进行版图密度分析,确认各网格的待填充密度;The density confirmation module is used to analyze the layout density of the layout to be filled, and confirm the density to be filled of each grid;

冗余金属设定模块,用于根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;A redundant metal setting module is used to set the redundant metal side length and spacing for filling each grid according to the density to be filled of each grid;

阵列确认模块,用于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;The array confirmation module is used to analyze the index array of each grid according to the set redundant metal side length and spacing, and confirm the array to be filled in each grid;

区域获取模块,用于将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;An area acquisition module, configured to integrate the arrays to be filled in each grid to obtain the area to be filled in each grid;

填充模块,用于在各网格内待填充区域进行冗余金属填充。The filling module is used for redundant metal filling in the area to be filled in each grid.

优选地,所述密度确认模块包括:Preferably, the density confirmation module includes:

密度值获取单元,用于利用CMP-DFM工具获得各网格内的密度值Dij,所述网格大小为G×G;A density value acquisition unit, configured to use the CMP-DFM tool to obtain the density value D ij in each grid, where the grid size is G×G;

第一判断单元,用于判断是否存在超出预设密度下限DI的待填充网格,若是,则获取待填充网格的待填充密度D1,以使待填充网格的密度被调整为预设密度下限DI;若否,则执行计算单元;The first judging unit is used to judge whether there is a grid to be filled exceeding the preset density lower limit DI, and if so, obtain the density D1 of the grid to be filled, so that the density of the grid to be filled is adjusted to the preset density Lower limit DI; if not, execute calculation unit;

计算单元,用于从一边到对边依序计算每个网格与其相邻网格的密度最大值DmaxA calculation unit is used to sequentially calculate the maximum density D max of each grid and its adjacent grids from one side to the opposite side;

第二判断单元,用于判断是否存在与Dmax的差值大于预设允许密度波动△D的待填充网格,若是,则更新待填充网格的待填充密度D1,以使待填充网格的密度被调整为Dmax-△D;若否,则执行获取单元;The second judging unit is used to judge whether there is a grid to be filled whose difference with D max is greater than the preset allowable density fluctuation ΔD, if so, update the density D1 of the grid to be filled, so that the grid to be filled The density of is adjusted to D max -△D; if not, the acquisition unit is executed;

获取单元,用于从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。The acquisition unit is used to obtain the density to be filled of each grid sequentially from one side to the opposite side, and transfer to the next line when the opposite side is reached.

优选地,所述阵列确认模块包括:Preferably, the array confirmation module includes:

阵列划分单元,用于将步骤A2和步骤A4确定的待填充网格以L1为边长划分为各阵列,其中,W和S分别为初始设定的冗余金属边长和间距;The array division unit is used to divide the grid to be filled determined by step A2 and step A4 into arrays with L1 as the side length, wherein, W and S are the initially set redundant metal side length and spacing;

阵列标记单元,用于判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。The array marking unit is used for judging whether each array overlaps with the metal line, and if so, marks the array as an array not to be filled; if not, marks the array as an array to be filled.

优选地,所述系统还包括:Preferably, the system also includes:

临界尺寸获取模块,用于判断各阵列是否与金属线存在重叠部分之前,通过CMP工艺模拟产生缺陷的临界尺寸L0;The critical dimension acquisition module is used to simulate the critical dimension L0 of defects generated by the CMP process before judging whether each array overlaps with the metal line;

与阵列确认模块相连的金属线外扩模块,用于将各网格内的金属线外扩L0/2;The metal wire expansion module connected with the array confirmation module is used to expand the metal wires in each grid to L0/2;

所述阵列标记单元具体用于判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。The array marking unit is specifically used for judging whether each array overlaps with the expanded metal line, and if so, marks the array as an array not to be filled; if not, marks the array as an array to be filled.

优选地,所述区域获取模块包括:Preferably, the area acquisition module includes:

遍历单元,用于从网格一个顶角处阵列开始遍历,如果当前阵列为非待填充阵列则跳过,否则执行区域合并单元,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;The traversal unit is used to start traversing from the array at a vertex of the grid, skip if the current array is not an array to be filled, otherwise execute the area merging unit, the traversal includes: advancing from one side to the opposite side, advancing to the opposite side Go to the next row or column when the side is turned;

区域合并单元,用于自网格的一边起,当前阵列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为正整数;The area merging unit is used to determine whether N i+1, j or N i, j+1 is an array to be filled from one side of the grid, and if the current array N i, j is an array to be filled, if so, N ij , N i+1, j , or N ij , N i, j+1 are merged into (i, j) area M i, j to be filled, and continue to judge the array N i+2, j or N i, j+2 Whether it is an array to be filled, and so on, until N i+k, j or N i, j+k is not an array to be filled or the opposite side of the grid, where i is the number of columns, j is the number of rows, and k is positive integer;

区域调整单元,用于判断阵列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为正整数;The area adjustment unit is used to determine whether there are arrays not to be filled in arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k , if not, Then merge arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k into (i, j) area M i, j to be filled, And continue to judge whether the arrays N i, j+2 to N i+k, j+2 or the arrays N i+2, j to N i+2, j+k are merged into (i, j) area M i to be filled, j , and so on, when arrays N i, j+p to N i+k, j+p or arrays N i+p, j to N i+p, j+k have arrays not to be filled, if so, then Do not adjust (i, j) area M i, j to be filled; where p is a positive integer;

第三判断单元,用于判断是否遍历当前网格内全部阵列,若是则执行第四判断单元,若否则执行遍历单元;The third judging unit is used to judge whether to traverse all the arrays in the current grid, if so, execute the fourth judging unit, otherwise execute the traversing unit;

第四判断单元,用于判断是否遍历所有网格,若是则结束,若否则执行遍历单元。The fourth judging unit is used for judging whether to traverse all grids, if so, end, if not, execute the traversing unit.

优选地,所述填充模块包括:Preferably, the filling module includes:

区域坐标确定单元,用于确定待填充区域各顶点的几何坐标;The area coordinate determination unit is used to determine the geometric coordinates of each vertex of the area to be filled;

填充坐标技术单元,用于根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;The filling coordinate technical unit is used to calculate the actual filling coordinates of the redundant metal according to the geometric coordinates of each vertex in the area to be filled;

填充单元,用于将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。The filling unit is used to output the actual filling coordinates of the redundant metal to the layout file to complete the redundant metal filling.

本发明提供的一种冗余金属填充方法的方法及系统,该方法通过版图密度分析确认各网格的待填充密度,并根据待填充密度设定冗余金属边长和间距,接着根据设定的冗余金属边长和间距对各网格进行索引阵列分析,获取各网格内待填充阵列,然后对每个网格内的待填充阵列进行整合,得到待填充区域,最终在各网格内待填充区域进行冗余金属填充。由于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,能避免现有阵列索引算法当设置的填充参数不合适时会导致漏填的现象;此外,将每个网格内的待填充阵列进行整合,得到各网格内待填充区域,有效地提高了处理速度,使得本发明能在不漏填充的前提下快速完成冗余金属填充。The method and system of a redundant metal filling method provided by the present invention, the method confirms the to-be-filled density of each grid through layout density analysis, and sets the redundant metal side length and spacing according to the to-be-filled density, and then according to the set The redundant metal side length and spacing are analyzed by index array for each grid to obtain the array to be filled in each grid, and then the array to be filled in each grid is integrated to obtain the area to be filled, and finally in each grid The inner area to be filled is filled with redundant metal. Since the index array analysis is performed on each grid according to the set redundant metal side length and spacing, and the array to be filled in each grid is confirmed, it can avoid the missing filling caused by the existing array index algorithm when the set filling parameters are inappropriate. In addition, the arrays to be filled in each grid are integrated to obtain the area to be filled in each grid, which effectively improves the processing speed and enables the present invention to quickly complete redundant metal filling without missing filling .

进一步地,所述待填充区域为矩形或方形,并提供了形成矩形或方形的待填充区域的步骤,使得本发明可以通过获取待填充区域的顶角坐标来获取冗余金属填充的实际填充坐标,进一步提高了冗余金属填充速度。Further, the area to be filled is rectangular or square, and a step of forming a rectangular or square area to be filled is provided, so that the present invention can obtain the actual filling coordinates of redundant metal filling by obtaining the coordinates of the vertex corners of the area to be filled , further increasing the redundant metal filling speed.

进一步地,将各网格内的金属线外扩L0/2,其中L0为CMP工艺模拟产生缺陷的临界尺寸,使得本发明提供的方法考虑了CMP工艺产生缺陷的临界尺寸,能扩大后续半导体制备的工艺窗口,并且由于进一步确定了不需要进行冗余金属填充区域,使得待填充区域减小,能提高冗余金属填充速度。Further, the metal lines in each grid are expanded by L0/2, where L0 is the critical size of defects generated by CMP process simulation, so that the method provided by the present invention takes into account the critical size of defects generated by CMP process, and can expand the subsequent semiconductor preparation. The process window, and since it is further determined that the redundant metal filling area is not required, the area to be filled is reduced, and the redundant metal filling speed can be increased.

附图说明Description of drawings

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings that are required in the embodiments. Obviously, the accompanying drawings in the following description are only described in the present invention For some embodiments of the present invention, those skilled in the art can also obtain other drawings according to these drawings.

图1为根据本发明提供的一种冗余金属填充方法的流程图;Fig. 1 is the flowchart of a kind of redundant metal filling method provided according to the present invention;

图2为根据本发明提供的一种对待填充版图进行版图密度分析的逻辑图;FIG. 2 is a logic diagram of a layout density analysis of a layout to be filled according to the present invention;

图3为根据本发明提供的一种进行网格余量分析技术的逻辑图;Fig. 3 is a logic diagram of a grid margin analysis technique provided according to the present invention;

图4为根据本发明提供的进行阵列划分和合并的示意图;FIG. 4 is a schematic diagram of array division and merging provided according to the present invention;

图5为根据本发明提供的冗余金属填充的示意图;5 is a schematic diagram of redundant metal filling provided according to the present invention;

图6为根据本发明提供的一种冗余金属填充系统的结构示意图。Fig. 6 is a schematic structural diagram of a redundant metal filling system according to the present invention.

具体实施方式detailed description

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。Embodiments of the present invention are described in detail below, examples of which are shown in the drawings, wherein the same or similar reference numerals designate the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the figures are exemplary only for explaining the present invention and should not be construed as limiting the present invention. Furthermore, the present invention may repeat reference numerals and/or letters in different instances. This repetition is for the purpose of simplicity and clarity and does not in itself indicate a relationship between the various embodiments and/or arrangements discussed.

现有冗余金属填充方法的余量分析技术主要有两种算法,阵列索引算法和扫描线算法。其中,阵列索引算法计算速度快,但是由于阵列大小严重依赖于冗余金属填充参数设置,当设置的填充参数不合适时会导致漏填现象,且可调性差;扫描线算法能解决上述问题,但是无法处理复杂几何结构的版图,且计算速度远低于阵列索引算法。There are mainly two algorithms for margin analysis techniques of existing redundant metal filling methods, array index algorithm and scan line algorithm. Among them, the array index algorithm has a fast calculation speed, but because the array size is heavily dependent on the redundant metal filling parameter settings, when the set filling parameters are inappropriate, it will lead to missing filling and poor adjustability; the scan line algorithm can solve the above problems, However, it cannot handle the layout of complex geometric structures, and the calculation speed is much lower than that of the array index algorithm.

本发明提供的一种冗余金属填充方法的方法及系统,由于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,能避免由于设置的填充参数不合适导致漏填的现象,并且对待填充阵列进行整合,得到各网格内待填充区域,有效地提高了处理速度,使得本发明能在不漏填充的前提下快速完成冗余金属填充。The method and system of a redundant metal filling method provided by the present invention, because the index array analysis is performed on each grid according to the set redundant metal side length and spacing, and the array to be filled in each grid is confirmed, it can avoid the Inappropriate filling parameters lead to missing filling, and the array to be filled is integrated to obtain the area to be filled in each grid, which effectively improves the processing speed, so that the present invention can quickly complete the redundant metal without missing filling. filling.

为了更好的理解本发明的技术方案和技术效果,以下将结合流程图和具体的实施例进行详细的描述,流程图如图1所示。In order to better understand the technical solutions and technical effects of the present invention, a detailed description will be made below in conjunction with a flow chart and specific embodiments. The flow chart is shown in FIG. 1 .

步骤S01,对待填充版图进行版图密度分析,确认各网格的待填充密度,参考图2所示。Step S01 , perform layout density analysis on the layout to be filled, and confirm the density to be filled of each grid, as shown in FIG. 2 .

在本实施中,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:步骤A1:利用CMP-DFM工具获得各网格内的密度值Dij,所述网格大小为G×G;步骤A2:判断是否存在超出预设密度下限DI的待填充网格,若是,则获取待填充网格的待填充密度D1,以使待填充网格的密度被调整为预设密度下限DI;若否,则直接进入步骤A3;步骤A3:从一边到对边依序计算每个网格与其相邻网格的密度最大值Dmax;步骤A4:判断是否存在与Dmax的差值大于预设允许密度波动△D的待填充网格,若是,则更新待填充网格的待填充密度D1,以使待填充网格的密度被调整为Dmax-△D;若否,则进入步骤A5;步骤A5:从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。其中,预设密度下限DI、预设允许密度波动△D可以根据经验或实际使用效果而定,还可以通过仿真模拟获得;从一边到对边可以为从左边到右边、从右边到左边、从上边到下边或从下边到上边,在本实施例中,以从左边到右边为例进行说明。In this implementation, the layout density analysis of the layout to be filled, and confirming the density of each grid to be filled includes: Step A1: Using the CMP-DFM tool to obtain the density value D ij in each grid, the grid size is G×G; Step A2: Determine whether there is a grid to be filled that exceeds the preset density lower limit DI, and if so, obtain the density D1 of the grid to be filled, so that the density of the grid to be filled is adjusted to the preset density Lower limit DI; if not, go directly to step A3; step A3: calculate the maximum density D max of each grid and its adjacent grid sequentially from one side to the opposite side; step A4: judge whether there is a difference with D max The grid to be filled whose value is greater than the preset allowable density fluctuation ΔD, if so, update the density D1 of the grid to be filled so that the density of the grid to be filled is adjusted to D max - ΔD; if not, then Go to Step A5; Step A5: Obtain the filling density of each grid sequentially from one side to the opposite side, and turn to the next line when reaching the opposite side. Among them, the preset density lower limit DI and the preset allowable density fluctuation △D can be determined according to experience or actual use effects, and can also be obtained through simulation; from one side to the opposite side can be from left to right, from right to left, from From top to bottom or from bottom to top, in this embodiment, take from left to right as an example for illustration.

在一个具体实施例中,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:In a specific embodiment, performing layout density analysis on the layout to be filled, and confirming the density to be filled of each grid includes:

步骤A1:设定密度下限DI以及允许密度波动ΔD;Step A1: Set the lower density limit DI and the allowable density fluctuation ΔD;

步骤A2:利用CMP-DFM工具获得各网格内的密度值,此时版图被划分为若干个大小为G×G的网格;Step A2: Use the CMP-DFM tool to obtain the density value in each grid. At this time, the layout is divided into several grids with a size of G×G;

步骤A3:判断是否存在超出密度下限的网格,如果有,通过加入冗余金属使此网格密度达到DI,获取待调整密度D1,如D1=DI-Dij,反之,直接进入步骤A4;需要说明的是,DI也可以为一个范围,即D1处于DI的设定范围时即可;Step A3: Determine whether there is a grid exceeding the lower limit of density, if so, add redundant metal to make the grid density reach DI, and obtain the density D1 to be adjusted, such as D1=DI-D ij , otherwise, directly enter step A4; It should be noted that DI can also be a range, that is, when D1 is within the setting range of DI;

步骤A4:从左到右进行遍历,计算每个网格与其相邻网格的密度最大值DmaxStep A4: traverse from left to right, and calculate the maximum density D max of each grid and its adjacent grids;

步骤A5:判断最大值Dmax与当前网格密度的差值是否大于ΔD,若大于则将当前网格密度大小调整为Dmax-ΔD,更新待调整密度D1=Dmax-ΔD-Dij,进入步骤A6,若小于或者等于则不做调整;Step A5: Determine whether the difference between the maximum value D max and the current grid density is greater than ΔD, if it is greater, adjust the current grid density to D max - ΔD, and update the density to be adjusted D1 = D max - ΔD - D ij , Go to step A6, if less than or equal to, no adjustment will be made;

步骤A6:以自左向右的方式推进网格计算,在最右端时转入下一行。Step A6: Advance the grid calculation from left to right, and turn to the next row when it reaches the rightmost end.

上述获取待填充密度仅仅是示例性的,现有技术中获取待填充密度的方法都适用,在此不做限定。The foregoing acquisition of the density to be filled is merely exemplary, and methods for obtaining the density to be filled in the prior art are all applicable, and are not limited here.

步骤S02,根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距。Step S02, setting redundant metal side lengths and spacings for filling each grid according to the density to be filled of each grid.

在本实施例中,冗余金属边长和间距可以是根据待填充密度及版图的几何约束等即时计算出来的,还可以是提前构建好的冗余金属模板,例如从填充模板的模板库中选择金属密度与待填充密度最相近的模板,该模板的输入可以为待填充密度等,输出为冗余金属边长和间距等,在此不做限定。In this embodiment, the redundant metal side length and spacing can be calculated in real time according to the density to be filled and the geometric constraints of the layout, etc., or it can be a redundant metal template constructed in advance, for example, from the template library of the filled template Select the template whose metal density is closest to the density to be filled. The input of the template can be the density to be filled, etc., and the output is the redundant metal side length and spacing, etc., which are not limited here.

在一个具体实施例中,冗余金属的边长和间距分别为W、S,其金属密度为W2/(W+S)2In a specific embodiment, the side length and spacing of the redundant metal are W and S respectively, and the metal density thereof is W 2 /(W+S) 2 .

步骤S03,根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,参考图3至图4。Step S03, perform index array analysis on each grid according to the set redundant metal side length and spacing, and confirm the array to be filled in each grid, refer to Fig. 3 to Fig. 4 .

在本实施例中,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:将步骤A2和步骤A4确定的待填充网格以L1为边长划分为各阵列,其中,判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。In this embodiment, the index array analysis is performed on each grid according to the set redundant metal side length and spacing, and it is confirmed that the array to be filled in each grid includes: the grid to be filled determined in step A2 and step A4 Divide into arrays with L1 as the side length, where, It is judged whether each array overlaps with the metal line, if yes, the array is marked as an array not to be filled; if not, the array is marked as an array to be filled.

进一步地,为了扩大后续半导体制备的工艺窗口,并减小待填充区域,以提高冗余金属填充速度,所述方法还包括:判断各阵列是否与金属线存在重叠部分之前,通过CMP工艺模拟产生缺陷的临界尺寸L0;将各网格内的金属线外扩L0/2;所述判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列包括:判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。Further, in order to expand the process window of the subsequent semiconductor preparation and reduce the area to be filled, so as to increase the filling speed of redundant metal, the method further includes: before judging whether each array overlaps with the metal line, it is generated by CMP process simulation The critical size L0 of the defect; expand the metal lines in each grid by L0/2; determine whether each array overlaps with the metal lines, if so, mark the array as an array not to be filled; if not, then Marking the array as an array to be filled includes: judging whether each array overlaps with the expanded metal line, if so, marking the array as a non-filling array; if not, marking the array as an array to be filled .

在一个具体实施例中,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:In a specific embodiment, the index array analysis is performed on each grid according to the set redundant metal side length and spacing, and it is confirmed that the array to be filled in each grid includes:

步骤B1:CMP模拟确定产生缺陷的临界尺寸L0;Step B1: CMP simulation to determine the critical size L0 of defects;

步骤B2:将网格内的金属线外扩L0/2;Step B2: expand the metal lines in the grid by L0/2;

步骤B3:将步骤A3和步骤A5确定的待填充网格以L1为边长划分阵列,其中,表示向下取整符号;Step B3: divide the grid to be filled determined in step A3 and step A5 into an array with L1 as the side length, wherein, Represents the rounding down symbol;

步骤B4:判断阵列是否与虚拟金属线相交,若是则将其标记为非待填充阵列,反之则将其标记为待填充阵列。Step B4: Determine whether the array intersects with the virtual metal line, if so, mark it as not an array to be filled, otherwise, mark it as an array to be filled.

步骤S04,将每个网格内的待填充阵列进行整合,得到各网格内待填充区域,参考图4、图5所示。Step S04, integrate the arrays to be filled in each grid to obtain the area to be filled in each grid, as shown in FIG. 4 and FIG. 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直至得到各网格内待填充区域。本实施例以从左上角处阵列开始遍历为例进行说明。In this implementation, the area to be filled is rectangular or square, and the integration of the arrays to be filled in each grid to obtain the area to be filled in each grid includes: Step C1: from a corner of the grid The array starts to traverse, if the current array is not an array to be filled, it is skipped, otherwise it enters step C2, and the traverse includes: advancing from one side to the opposite side, and turning to the next row or column when advancing to the opposite side; step C2: From one side of the grid, when the array N i, j is the array to be filled, judge whether N i+1, j or N i, j+1 is the array to be filled, and if so, set N ij , N i+1, j , or N ij , N i, j+1 are merged into (i, j) area to be filled M i, j , and continue to judge whether the array N i+2, j or N i, j+2 is an array to be filled, By analogy, until N i+k, j or N i, j+k is the non-to-be-filled array or the opposite side of the grid, where i is the number of columns, j is the number of rows, and k is a positive integer; step C3: judge Arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k, whether there is an array not to be filled, if not, the array N i, j +1 to N i+k, j+1 or the array N i+1, j to N i+1, j+k are merged into (i, j) area M i, j to be filled, and continue to judge the array N i, Whether j+2 to N i+k, j+2 or the array N i+2, j to N i+2, j+k are merged into (i, j) area M i, j to be filled, and so on, when Arrays N i, j+p to N i+k, j+p or arrays N i+p, j to N i+p, j+k have arrays not to be filled, if so, do not adjust (i, j) Area to be filled M i, j ; where p is a positive integer; Step C4: Repeat Step C1 to Step C3 until traversing all arrays in the current grid to obtain each area to be filled in the grid; Step C5: Repeat Step C1 to Step C4 Until the area to be filled in each grid is obtained. In this embodiment, the traversal starts from the upper left corner of the array as an example for illustration.

在一个具体实施例中,首先,步骤C1:从网格左上角阵列开始遍历自左向右推进,在最右端时转入下一行,如果某阵列为不可填充阵列则直接跳过,反之进入步骤C2;In a specific embodiment, first, step C1: starting from the upper left corner of the grid, traversing from left to right, turning to the next line when it is at the rightmost end, skipping directly if an array is not fillable, otherwise, enter step C2;

步骤C2:阵列Ni,j为待填充阵列,判断Ni+1,j是否为待填充阵列,若是则将Nij和Ni+1,j合并为Mi,j,并继续判断阵列Ni+2,j,以此类推,直到Ni+k,j为不可填充阵列或网格最右端为止;Step C2: Array N i, j is the array to be filled, judge whether N i+1, j is the array to be filled, if so, merge N ij and N i+1, j into M i, j , and continue to judge the array N i+2, j , and so on, until N i+k, j is an unfillable array or the rightmost end of the grid;

步骤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进行调整;Step C3: Assuming that M i, j is a collection of grids between arrays N i, j to N i+k, j , then check whether the arrays N i, j+1 to N i+k, j+1 are all The array can be filled, if so, add it to the collection M i,j , and continue to check the arrays N i,j+2 to N i+k,j+2 , and so on, until N i,j+p to N i There is an unfillable array between +k, j+p , otherwise Mi , j will not be adjusted;

步骤C4:重复步骤C1到C3,直至遍历网格内全部阵列,图4中示例最终被合并为8个待填充区域;Step C4: Repeat steps C1 to C3 until all arrays in the grid are traversed, and the example in Figure 4 is finally merged into 8 areas to be filled;

通过上述步骤可以形成矩形或方形的待填充区域,便于后续根据待填充区域的顶角坐标进行金属冗余填充。Through the above steps, a rectangular or square area to be filled can be formed, which is convenient for subsequent metal redundant filling according to the corner coordinates of the area to be filled.

需要说明的是,以上对待填充阵列进行整合的方式仅仅是一种优选地方式,此外,也可以为现有技术中常用的待填充区域获取方式,并在后续步骤相应地选取金属冗余填充方式,在此不作限定。It should be noted that the above method of integrating the array to be filled is only a preferred method. In addition, it can also be the method of obtaining the area to be filled commonly used in the prior art, and select the metal redundant filling method accordingly in the subsequent steps. , is not limited here.

步骤S05,在各网格内待填充区域进行冗余金属填充,参考图5所示。Step S05 , perform redundant metal filling in the area to be filled in each grid, as shown in FIG. 5 .

在本实施中,所述在各网格内待填充区域进行冗余金属填充包括:确定待填充区域各顶点的几何坐标;根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。In this implementation, the filling of redundant metal in the area to be filled in each grid includes: determining the geometric coordinates of each vertex of the area to be filled; calculating the actual filling coordinates of the redundant metal according to the geometric coordinates of each vertex of the area to be filled; Output the actual filling coordinates of the redundant metal to the layout file to complete the redundant metal filling.

在一个具体实施例中,所述在各网格内待填充区域进行冗余金属填充包括:In a specific embodiment, the redundant metal filling in the regions to be filled in each grid includes:

步骤D1:待填充区域几何坐标的确定:在网格Gr,s内,假设待填充区域Mi,j为阵列集合则其四顶点坐标的计算公式如式(1)所示:Step D1: Determination of the geometric coordinates of the area to be filled: in the grid G r, s , assume that the area M i, j to be filled is an array set The formula for calculating the coordinates of its four vertices is shown in formula (1):

其中,r,s分别为横向网格序号和纵向网格序号;k,p分别为自阵列Ni,j起横向和纵向的阵列数(不包括阵列Ni,j);Among them, r, s are the serial number of the horizontal grid and the serial number of the vertical grid respectively; k, p are the number of horizontal and vertical arrays from the array N i, j respectively (excluding the array N i, j );

步骤D2:冗余金属的实际填充坐标计算:如图5所示,以传统排列方式为例,对实际填充坐标计算进行说明(其他排列方式可以采用相似的方法进行计算)。对于待填充区域Mi,j,冗余金属Rm,n四顶点坐标公式如式(2)所示:Step D2: Calculation of the actual filling coordinates of redundant metals: As shown in Figure 5, the traditional arrangement is taken as an example to illustrate the calculation of the actual filling coordinates (other arrangements can be calculated using a similar method). For the area M i, j to be filled, the coordinate formula of the four vertices of the redundant metal R m, n is shown in formula (2):

其中,BS为缓冲距离,即冗余金属阵列到金属线的距离;m为横向冗余金属序号;n为纵向冗余金属序号;Among them, BS is the buffer distance, that is, the distance from the redundant metal array to the metal line; m is the horizontal redundant metal serial number; n is the vertical redundant metal serial number;

步骤D3:将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属智能填充。Step D3: Output the actual filling coordinates of redundant metals to the layout file to complete the intelligent filling of redundant metals.

需要说明的是,上述冗余金属的填充方法仅为示例性的,也可以直接对待填充阵列进行冗余金属填充,在此不做限定。It should be noted that the above filling method of redundant metal is only exemplary, and the array to be filled may also be directly filled with redundant metal, which is not limited here.

在本发明实施例中,该方法对版图进行版图密度分析获取各网格的待填充密度,然后根据待填充密度设定冗余金属尺寸等,并根据设定的冗余金属尺寸对各网格进行索引阵列分析,获取待填充阵列,能避免现有阵列索引算法当设置的填充参数不合适时会导致漏填的现象,接着然后对每个网格内的待填充阵列进行整合,得到待填充区域,最终在各网格内待填充区域进行冗余金属填充,有效地提高后续处理速度,使得本发明能在不漏填充的前提下快速完成冗余金属填充。In the embodiment of the present invention, the method performs layout density analysis on the layout to obtain the density to be filled of each grid, and then sets the redundant metal size etc. according to the density to be filled, and calculates the Perform index array analysis to obtain the array to be filled, which can avoid the phenomenon of missing filling when the filling parameters set by the existing array index algorithm are inappropriate, and then integrate the arrays to be filled in each grid to obtain the array to be filled Finally, redundant metal filling is performed in the area to be filled in each grid, which effectively improves the subsequent processing speed, so that the present invention can quickly complete redundant metal filling without missing filling.

相应地,本发明还提供了一种冗余金属填充方法的系统,如图6所示,包括:Correspondingly, the present invention also provides a redundant metal filling method system, as shown in FIG. 6, including:

密度确认模块601,用于对待填充版图进行版图密度分析,确认各网格的待填充密度;A density confirmation module 601, configured to analyze the layout density of the layout to be filled, and confirm the density to be filled of each grid;

冗余金属设定模块602,用于根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;The redundant metal setting module 602 is used to set the redundant metal side length and spacing for filling each grid according to the density to be filled of each grid;

阵列确认模块603,用于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;The array confirmation module 603 is used to perform index array analysis on each grid according to the set redundant metal side length and spacing, and confirm the array to be filled in each grid;

区域获取模块604,用于将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;An area acquisition module 604, configured to integrate the arrays to be filled in each grid to obtain the area to be filled in each grid;

填充模块605,用于在各网格内待填充区域进行冗余金属填充。The filling module 605 is configured to perform redundant metal filling in the area to be filled in each grid.

在实际应用中,所述密度确认模块601可以包括:In practical applications, the density confirmation module 601 may include:

密度值获取单元,用于利用CMP-DFM工具获得各网格内的密度值Dij,所述网格大小为G×G;A density value acquisition unit, configured to use the CMP-DFM tool to obtain the density value D ij in each grid, where the grid size is G×G;

第一判断单元,用于判断是否存在超出预设密度下限DI的待填充网格,若是,则获取待填充网格的待填充密度D1,以使待填充网格的密度被调整为预设密度下限DI;若否,则执行计算单元;The first judging unit is used to judge whether there is a grid to be filled exceeding the preset density lower limit DI, and if so, obtain the density D1 of the grid to be filled, so that the density of the grid to be filled is adjusted to the preset density Lower limit DI; if not, execute calculation unit;

计算单元,用于从一边到对边依序计算每个网格与其相邻网格的密度最大值DmaxA calculation unit is used to sequentially calculate the maximum density D max of each grid and its adjacent grids from one side to the opposite side;

第二判断单元,用于判断是否存在与Dmax的差值大于预设允许密度波动△D的待填充网格,若是,则更新待填充网格的待填充密度D1,以使待填充网格的密度被调整为Dmax-△D;若否,则执行获取单元;The second judging unit is used to judge whether there is a grid to be filled whose difference with D max is greater than the preset allowable density fluctuation ΔD, if so, update the density D1 of the grid to be filled, so that the grid to be filled The density of is adjusted to D max -△D; if not, the acquisition unit is executed;

获取单元,用于从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。The acquisition unit is used to obtain the density to be filled of each grid sequentially from one side to the opposite side, and transfer to the next line when the opposite side is reached.

在本实施例中,本系统根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列,所述阵列确认模块603包括:In this embodiment, the system performs index array analysis on each grid according to the set redundant metal side length and spacing, and confirms the array to be filled in each grid. The array confirmation module 603 includes:

阵列划分单元,用于将步骤A2和步骤A4确定的待填充网格以L1为边长划分为各阵列,其中,W和S分别为初始设定的冗余金属边长和间距;The array division unit is used to divide the grid to be filled determined by step A2 and step A4 into arrays with L1 as the side length, wherein, W and S are the initially set redundant metal side length and spacing;

阵列标记单元,用于判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。The array marking unit is used for judging whether each array overlaps with the metal line, and if so, marks the array as an array not to be filled; if not, marks the array as an array to be filled.

为了进一步提高冗余金属填充速度并扩大后续半导体制备的工艺窗口,所述系统还包括:In order to further increase the redundant metal filling speed and expand the process window of subsequent semiconductor fabrication, the system further includes:

临界尺寸获取模块706,用于判断各阵列是否与金属线存在重叠部分之前,通过CMP工艺模拟产生缺陷的临界尺寸L0;The critical dimension acquisition module 706 is used to simulate the critical dimension L0 of defects generated by the CMP process before judging whether each array overlaps with the metal line;

与阵列确认模块603相连的金属线外扩模块707,用于将各网格内的金属线外扩L0/2;The metal line expansion module 707 connected to the array confirmation module 603 is used to expand the metal lines in each grid by L0/2;

所述阵列标记单元具体用于判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。The array marking unit is specifically used for judging whether each array overlaps with the expanded metal line, and if so, marks the array as an array not to be filled; if not, marks the array as an array to be filled.

此外,所述区域获取模块604包括:In addition, the area acquisition module 604 includes:

遍历单元,用于从网格一个顶角处阵列开始遍历,如果当前阵列为非待填充阵列则跳过,否则执行区域合并单元,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;The traversal unit is used to start traversing from the array at a vertex of the grid, skip if the current array is not an array to be filled, otherwise execute the area merging unit, the traversal includes: advancing from one side to the opposite side, advancing to the opposite side Go to the next row or column when the side is turned;

区域合并单元,用于自网格的一边起,当阵列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为正整数;The area merging unit is used to determine whether N i+1, j or N i, j+1 is an array to be filled from one side of the grid, when the array N i, j is an array to be filled, and if so, N ij , N i+1, j , or N ij , N i, j+1 are merged into (i, j) area M i, j to be filled, and continue to judge the array N i+2, j or N i, j+2 Whether it is an array to be filled, and so on, until N i+k, j or N i, j+k is not an array to be filled or the opposite side of the grid, where i is the number of columns, j is the number of rows, and k is positive integer;

区域调整单元,用于判断阵列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为正整数;The area adjustment unit is used to determine whether there are arrays not to be filled in arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k , if not, Then merge arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k into (i, j) area M i, j to be filled, And continue to judge whether the arrays N i, j+2 to N i+k, j+2 or the arrays N i+2, j to N i+2, j+k are merged into (i, j) area M i to be filled, j , and so on, when arrays N i, j+p to N i+k, j+p or arrays N i+p, j to N i+p, j+k have arrays not to be filled, if so, then Do not adjust (i, j) area M i, j to be filled; where p is a positive integer;

第三判断单元,用于判断是否遍历当前网格内全部阵列,若是则执行第四判断单元,若否则执行遍历单元;The third judging unit is used to judge whether to traverse all the arrays in the current grid, if so, execute the fourth judging unit, otherwise execute the traversing unit;

第四判断单元,用于判断是否遍历所有网格,若是则结束,若否则执行遍历单元。The fourth judging unit is used for judging whether to traverse all grids, if so, end, if not, execute the traversing unit.

在本实施例中,所述区域获取模块604可以形成矩形或方形待填充区域,为了提高冗余金属填充效率,所述填充模块605包括:In this embodiment, the area acquisition module 604 can form a rectangular or square area to be filled. In order to improve the efficiency of redundant metal filling, the filling module 605 includes:

区域坐标确定单元,用于确定待填充区域各顶点的几何坐标;The area coordinate determination unit is used to determine the geometric coordinates of each vertex of the area to be filled;

填充坐标技术单元,用于根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;The filling coordinate technical unit is used to calculate the actual filling coordinates of the redundant metal according to the geometric coordinates of each vertex in the area to be filled;

填充单元,用于将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。The filling unit is used to output the actual filling coordinates of the redundant metal to the layout file to complete the redundant metal filling.

当然,该系统还可以进一步包括存储模块(未图示),可以用于保存索引阵列分析结果等,如待填充阵列及即待填充区域相关信息等。这样,以方便对待处理版图进行计算机自动处理,并存储冗余金属填充结果相关信息等。Of course, the system may further include a storage module (not shown), which may be used to store the analysis results of the index array, etc., such as the array to be filled and related information on the area to be filled. In this way, it is convenient to automatically process the layout to be processed by computer, and store information related to redundant metal filling results and the like.

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于系统部分而言,由于其是根据本发明提供的方法形成的系统,所以描述得比较简单,相关之处参见方法部分说明即可。以上所描述的实施例仅仅是示意性的,本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。Each embodiment in this specification is described in a progressive manner, and the same and similar parts in each embodiment can be referred to each other. In particular, for the system part, since it is a system formed according to the method provided by the present invention, the description is relatively simple, and for the related parts, please refer to the description of the method part. The embodiments described above are only illustrative, and can be understood and implemented by those skilled in the art without creative efforts.

虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。Although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention. Any person familiar with the art, without departing from the scope of the technical solution of the present invention, can use the methods and technical content disclosed above to make many possible changes and modifications to the technical solution of the present invention, or modify it into an equivalent of equivalent change Example. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments according to the technical essence of the present invention, which do not deviate from the technical solution of the present invention, still fall within the protection scope of the technical solution of the present invention.

Claims (12)

1.一种冗余金属填充方法的方法,其特征在于,包括步骤:1. A method for redundant metal filling method, characterized in that, comprising steps: 对待填充版图进行版图密度分析,确认各网格的待填充密度;Perform layout density analysis on the layout to be filled to confirm the density to be filled of each grid; 根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;Set the redundant metal side length and spacing for filling each grid according to the density to be filled of each grid; 根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;Perform index array analysis on each grid according to the set redundant metal side length and spacing, and confirm the array to be filled in each grid; 将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;Integrate the arrays to be filled in each grid to obtain the area to be filled in each grid; 在各网格内待填充区域进行冗余金属填充。Redundant metal filling is performed in the area to be filled in each grid. 2.根据权利要求1所述的方法,其特征在于,所述对待填充版图进行版图密度分析,确认各网格的待填充密度包括:2. The method according to claim 1, characterized in that, performing layout density analysis on the layout to be filled, and confirming the density to be filled of each grid comprises: 步骤A1:利用化学机械平坦化CMP-可制造性型设计DFM工具获得各网格内的密度值Dij,所述网格大小为G×G;Step A1: Using chemical mechanical planarization CMP-design for manufacturability DFM tool to obtain the density value D ij in each grid, the grid size is G×G; 步骤A2:判断是否存在超出预设密度下限DI的待填充网格,若是,则获取待填充网格的待填充密度D1,以使待填充网格的密度被调整为预设密度下限DI;若否,则直接进入步骤A3;Step A2: Determine whether there is a grid to be filled that exceeds the preset density lower limit DI, and if so, obtain the density D1 of the grid to be filled, so that the density of the grid to be filled is adjusted to the preset density lower limit DI; if If not, go directly to step A3; 步骤A3:从一边到对边依序计算每个网格与其相邻网格的密度最大值DmaxStep A3: sequentially calculate the maximum density D max of each grid and its adjacent grids from one side to the opposite side; 步骤A4:判断是否存在与Dmax的差值大于预设允许密度波动△D的待填充网格,若是,则更新待填充网格的待填充密度D1,以使待填充网格的密度被调整为Dmax-△D;若否,则进入步骤A5;Step A4: Determine whether there is a grid to be filled whose difference from D max is greater than the preset allowable density fluctuation ΔD, and if so, update the density D1 of the grid to be filled so that the density of the grid to be filled is adjusted is D max -△D; if not, go to step A5; 步骤A5:从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。Step A5: Obtain the to-be-filled density of each grid sequentially from one side to the opposite side, and turn to the next row when the opposite side is reached. 3.根据权利要求2所述的方法,其特征在于,所述根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列包括:3. The method according to claim 2, wherein the index array analysis is carried out to each grid according to the set redundant metal side length and spacing, and it is confirmed that the array to be filled in each grid includes: 将步骤A2和步骤A4确定的待填充网格以L1为边长划分为各阵列,其中,W和S分别为初始设定的冗余金属边长和间距;The grid to be filled determined by step A2 and step A4 is divided into arrays with L1 as the side length, wherein, W and S are the initially set redundant metal side length and spacing; 判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。It is judged whether each array overlaps with the metal line, if yes, the array is marked as an array not to be filled; if not, the array is marked as an array to be filled. 4.根据权利要求3所述的方法,其特征在于,所述方法还包括:4. method according to claim 3, is characterized in that, described method also comprises: 判断各阵列是否与金属线存在重叠部分之前,通过CMP工艺模拟产生缺陷的临界尺寸L0;Before judging whether each array overlaps with the metal line, the critical size L0 of the defect is simulated through the CMP process; 将各网格内的金属线外扩L0/2;Expand the metal lines in each grid by L0/2; 所述判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列包括:Described judging whether each array overlaps with the metal line, if so, then marking the array as an array not to be filled; if not, marking the array as an array to be filled includes: 判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。It is judged whether each array overlaps with the expanded metal line, if yes, the array is marked as an array not to be filled; if not, the array is marked as an array to be filled. 5.根据权利要求3所述的方法,其特征在于,所述待填充区域为矩形或方形,所述将每个网格内的待填充阵列进行整合,得到各网格内待填充区域包括:5. The method according to claim 3, wherein the area to be filled is a rectangle or a square, and the arrays to be filled in each grid are integrated to obtain the area to be filled in each grid comprising: 步骤C1:从网格一个顶角处阵列开始遍历,如果当前阵列Ni,j为非待填充阵列则跳过,否则进入步骤C2,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;Step C1: start traversing from the array at one corner of the grid, skip if the current array N i, j is not an array to be filled, otherwise enter step C2, the traversal includes: advancing from one side to the other side, and advancing to Turn to the next row or column when opposite sides; 步骤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为正整数;Step C2: From one side of the grid, when the current array N i, j is an array to be filled, judge whether N i+1, j or N i, j+1 is an array to be filled, and if so, set N i, j , N i+1, j , or N i, j , N i, j+1 are merged into (i, j) area M i, j to be filled, and continue to judge the array N i+2, j or N i, j+ 2 Whether it is an array to be filled, and so on, until N i+k, j or N i, j+k is not an array to be filled or the opposite side of the grid, where i is the number of columns, j is the number of rows, and k is positive integer; 步骤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为正整数;Step C3: Judging whether there are arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k that are not to be filled, if not, the array N i, j+1 to N i+k, j+1 or the array N i+1, j to N i+1, j+k are merged into (i, j) area M i, j to be filled, and continue to judge Whether the arrays N i, j+2 to N i+k, j+2 or the arrays N i+2, j to N i+2, j+k are merged into (i, j) area M i, j to be filled, so that By analogy, when arrays N i, j+p to N i+k, j+p or arrays N i+p, j to N i+p, there are non-to-be-filled arrays in j+k , if so, do not adjust ( i, j) area to be filled M i, j ; wherein p is a positive integer; 步骤C4:重复步骤C1至步骤C3直至遍历当前网格内全部阵列,得到网格内各待填充区域;Step C4: Repeat steps C1 to C3 until traversing all the arrays in the current grid to obtain each area to be filled in the grid; 步骤C5:重复步骤C1至步骤C4直至得到各网格内待填充区域。Step C5: Repeat steps C1 to C4 until the area to be filled in each grid is obtained. 6.根据权利要求5所述的方法,其特征在于,所述在各网格内待填充区域进行冗余金属填充包括:6. The method according to claim 5, characterized in that, performing redundant metal filling in the regions to be filled in each grid comprises: 确定待填充区域各顶点的几何坐标;Determine the geometric coordinates of each vertex of the area to be filled; 根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;Calculate the actual filling coordinates of redundant metal according to the geometric coordinates of each vertex in the area to be filled; 将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。Output the actual filling coordinates of the redundant metal to the layout file to complete the redundant metal filling. 7.一种冗余金属填充方法的系统,其特征在于,包括:7. A system of redundant metal filling methods, comprising: 密度确认模块,用于对待填充版图进行版图密度分析,确认各网格的待填充密度;The density confirmation module is used to analyze the layout density of the layout to be filled, and confirm the density to be filled of each grid; 冗余金属设定模块,用于根据各网格的待填充密度设定用于填充各网格的冗余金属边长和间距;A redundant metal setting module is used to set the redundant metal side length and spacing for filling each grid according to the density to be filled of each grid; 阵列确认模块,用于根据设定的冗余金属边长和间距对各网格进行索引阵列分析,确认各网格内待填充阵列;The array confirmation module is used to analyze the index array of each grid according to the set redundant metal side length and spacing, and confirm the array to be filled in each grid; 区域获取模块,用于将每个网格内的待填充阵列进行整合,得到各网格内待填充区域;An area acquisition module, configured to integrate the arrays to be filled in each grid to obtain the area to be filled in each grid; 填充模块,用于在各网格内待填充区域进行冗余金属填充。The filling module is used for redundant metal filling in the area to be filled in each grid. 8.根据权利要求7所述的系统,其特征在于,所述密度确认模块包括:8. The system according to claim 7, wherein the density confirmation module comprises: 密度值获取单元,用于利用CMP-DFM工具获得各网格内的密度值Dij,所述网格大小为G×G;A density value acquisition unit, configured to use the CMP-DFM tool to obtain the density value D ij in each grid, where the grid size is G×G; 第一判断单元,用于判断是否存在超出预设密度下限DI的待填充网格,若是,则获取待填充网格的待填充密度D1,以使待填充网格的密度被调整为预设密度下限DI;若否,则执行计算单元;The first judging unit is used to judge whether there is a grid to be filled exceeding the preset density lower limit DI, and if so, obtain the density D1 of the grid to be filled, so that the density of the grid to be filled is adjusted to the preset density Lower limit DI; if not, execute calculation unit; 计算单元,用于从一边到对边依序计算每个网格与其相邻网格的密度最大值DmaxA calculation unit is used to sequentially calculate the maximum density D max of each grid and its adjacent grids from one side to the opposite side; 第二判断单元,用于判断是否存在与Dmax的差值大于预设允许密度波动△D的待填充网格,若是,则更新待填充网格的待填充密度D1,以使待填充网格的密度被调整为Dmax-△D;若否,则执行获取单元;The second judging unit is used to judge whether there is a grid to be filled whose difference with D max is greater than the preset allowable density fluctuation ΔD, if so, update the density D1 of the grid to be filled, so that the grid to be filled The density of is adjusted to D max -△D; if not, the acquisition unit is executed; 获取单元,用于从一边到对边依序获取每个网格的待填充密度,到对边时转入下一行。The acquisition unit is used to obtain the density to be filled of each grid sequentially from one side to the opposite side, and transfer to the next line when the opposite side is reached. 9.根据权利要求8所述的系统,其特征在于,所述阵列确认模块包括:9. The system according to claim 8, wherein the array confirmation module comprises: 阵列划分单元,用于将步骤A2和步骤A4确定的待填充网格以L1为边长划分为各阵列,其中,W和S分别为初始设定的冗余金属边长和间距;The array division unit is used to divide the grid to be filled determined by step A2 and step A4 into arrays with L1 as the side length, wherein, W and S are the initially set redundant metal side length and spacing; 阵列标记单元,用于判断各阵列是否与金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。The array marking unit is used for judging whether each array overlaps with the metal line, and if so, marks the array as an array not to be filled; if not, marks the array as an array to be filled. 10.根据权利要求8所述的系统,其特征在于,所述系统还包括:10. The system according to claim 8, further comprising: 临界尺寸获取模块,用于判断各阵列是否与金属线存在重叠部分之前,通过CMP工艺模拟产生缺陷的临界尺寸L0;The critical dimension acquisition module is used to simulate the critical dimension L0 of defects generated by the CMP process before judging whether each array overlaps with the metal line; 与阵列确认模块相连的金属线外扩模块,用于将各网格内的金属线外扩L0/2;The metal wire expansion module connected with the array confirmation module is used to expand the metal wires in each grid to L0/2; 所述阵列标记单元具体用于判断各阵列是否与外扩后的金属线存在重叠部分,若是,则将该阵列标记为非待填充阵列;若否,则将该阵列标记为待填充阵列。The array marking unit is specifically used for judging whether each array overlaps with the expanded metal line, and if so, marks the array as an array not to be filled; if not, marks the array as an array to be filled. 11.根据权利要求9所述的系统,其特征在于,所述区域获取模块包括:11. The system according to claim 9, wherein the area acquiring module comprises: 遍历单元,用于从网格一个顶角处阵列开始遍历,如果当前阵列为非待填充阵列则跳过,否则执行区域合并单元,所述遍历包括:自一边向对边推进,在推进至对边时转入下一行或下一列;The traversal unit is used to start traversing from the array at a vertex of the grid, skip if the current array is not an array to be filled, otherwise execute the area merging unit, the traversal includes: advancing from one side to the opposite side, advancing to the opposite side Go to the next row or column when the side is turned; 区域合并单元,用于自网格的一边起,当前阵列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为正整数;The area merging unit is used to determine whether N i+1, j or N i, j+1 is an array to be filled from one side of the grid, and if the current array N i, j is an array to be filled, if so, N ij , N i+1, j , or N ij , N i, j+1 are merged into (i, j) area M i, j to be filled, and continue to judge the array N i+2, j or N i, j+2 Whether it is an array to be filled, and so on, until N i+k, j or N i, j+k is not an array to be filled or the opposite side of the grid, where i is the number of columns, j is the number of rows, and k is positive integer; 区域调整单元,用于判断阵列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为正整数;The area adjustment unit is used to determine whether there are arrays not to be filled in arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k , if not, Then merge arrays N i, j+1 to N i+k, j+1 or arrays N i+1, j to N i+1, j+k into (i, j) area M i, j to be filled, And continue to judge whether the arrays N i, j+2 to N i+k, j+2 or the arrays N i+2, j to N i+2, j+k are merged into (i, j) area M i to be filled, j , and so on, when arrays N i, j+p to N i+k, j+p or arrays N i+p, j to N i+p, j+k have arrays not to be filled, if so, then Do not adjust (i, j) area M i, j to be filled; where p is a positive integer; 第三判断单元,用于判断是否遍历当前网格内全部阵列,若是则执行第四判断单元,若否则执行遍历单元;The third judging unit is used to judge whether to traverse all the arrays in the current grid, if so, execute the fourth judging unit, otherwise execute the traversing unit; 第四判断单元,用于判断是否遍历所有网格,若是则结束,若否则执行遍历单元。The fourth judging unit is used for judging whether to traverse all grids, if so, end, if not, execute the traversing unit. 12.根据权利要求11所述的系统,其特征在于,所述填充模块包括:12. The system of claim 11, wherein the filling module comprises: 区域坐标确定单元,用于确定待填充区域各顶点的几何坐标;The area coordinate determination unit is used to determine the geometric coordinates of each vertex of the area to be filled; 填充坐标技术单元,用于根据待填充区域各顶点的几何坐标计算冗余金属的实际填充坐标;The filling coordinate technical unit is used to calculate the actual filling coordinates of the redundant metal according to the geometric coordinates of each vertex in the area to be filled; 填充单元,用于将冗余金属的实际填充坐标输出到版图文件中,完成冗余金属填充。The filling unit is used to output the actual filling coordinates of the redundant metal to the layout file to complete the redundant metal filling.
CN201610118156.9A 2016-03-02 2016-03-02 Method and system for filling redundant metal Active CN107153719B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610118156.9A CN107153719B (en) 2016-03-02 2016-03-02 Method and system for filling redundant metal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610118156.9A CN107153719B (en) 2016-03-02 2016-03-02 Method and system for filling redundant metal

Publications (2)

Publication Number Publication Date
CN107153719A true CN107153719A (en) 2017-09-12
CN107153719B CN107153719B (en) 2020-10-16

Family

ID=59791343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610118156.9A Active CN107153719B (en) 2016-03-02 2016-03-02 Method and system for filling redundant metal

Country Status (1)

Country Link
CN (1) CN107153719B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861785A (en) * 2017-10-30 2018-03-30 北方电子研究院安徽有限公司 It is a kind of to interact the online quick method for carrying out redundancy metal filling
CN110717309A (en) * 2019-10-10 2020-01-21 天津飞腾信息技术有限公司 Redundant metal filling method, device, equipment and computer readable storage medium
CN113378465A (en) * 2021-06-10 2021-09-10 青岛海洋科学与技术国家实验室发展中心 Artificial intelligence-based chip design redundancy filling method
WO2022141437A1 (en) * 2020-12-31 2022-07-07 华为技术有限公司 Digital-to-analog converter and electronic device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689214A (en) * 2007-09-28 2010-03-31 新思科技有限公司 Carry out the method and apparatus of dummy fill by using one group of dummy fill unit
CN102117348A (en) * 2009-12-31 2011-07-06 中国科学院微电子研究所 A preprocessing method for layout density homogenization by redundant metal filling
CN102495925A (en) * 2011-11-30 2012-06-13 中国科学院微电子研究所 Method and system for realizing redundant metal filling template
CN103559364A (en) * 2013-11-13 2014-02-05 中国科学院微电子研究所 Method for Extracting Layout Graphic Features of Chip Layout and CMP Simulation Method
CN103902789A (en) * 2014-04-22 2014-07-02 上海华力微电子有限公司 Filling method of redundant graphs
CN104376186A (en) * 2014-12-02 2015-02-25 中国科学院微电子研究所 Filling method and system for redundant metal

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689214A (en) * 2007-09-28 2010-03-31 新思科技有限公司 Carry out the method and apparatus of dummy fill by using one group of dummy fill unit
CN102117348A (en) * 2009-12-31 2011-07-06 中国科学院微电子研究所 A preprocessing method for layout density homogenization by redundant metal filling
CN102495925A (en) * 2011-11-30 2012-06-13 中国科学院微电子研究所 Method and system for realizing redundant metal filling template
CN103559364A (en) * 2013-11-13 2014-02-05 中国科学院微电子研究所 Method for Extracting Layout Graphic Features of Chip Layout and CMP Simulation Method
CN103902789A (en) * 2014-04-22 2014-07-02 上海华力微电子有限公司 Filling method of redundant graphs
CN104376186A (en) * 2014-12-02 2015-02-25 中国科学院微电子研究所 Filling method and system for redundant metal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
孙泽武 等: "考虑悬浮哑元的结构化随机行走电容提取算法", 《复旦学报(自然科学版)》 *
杨飞 等: "冗余金属对互连线电容特性的影响", 《合肥工业大学学报(自然科学版)》 *
武鹏: "铜互连哑元填充综合算法研究", 《中国博士学位论文全文数据库 信息科技辑(月刊)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861785A (en) * 2017-10-30 2018-03-30 北方电子研究院安徽有限公司 It is a kind of to interact the online quick method for carrying out redundancy metal filling
CN110717309A (en) * 2019-10-10 2020-01-21 天津飞腾信息技术有限公司 Redundant metal filling method, device, equipment and computer readable storage medium
CN110717309B (en) * 2019-10-10 2023-10-24 飞腾信息技术有限公司 Redundant metal filling method, device, equipment and computer readable storage medium
WO2022141437A1 (en) * 2020-12-31 2022-07-07 华为技术有限公司 Digital-to-analog converter and electronic device
CN113378465A (en) * 2021-06-10 2021-09-10 青岛海洋科学与技术国家实验室发展中心 Artificial intelligence-based chip design redundancy filling method
CN113378465B (en) * 2021-06-10 2022-06-21 青岛海洋科学与技术国家实验室发展中心 Artificial intelligence-based chip design redundancy filling method

Also Published As

Publication number Publication date
CN107153719B (en) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111368493B (en) Automatic layout wiring generation method based on sparse grid
US8621398B2 (en) Automatic layout conversion for FinFET device
CN109002566B (en) Method and system for filling redundant metal
CN107153719B (en) Method and system for filling redundant metal
US20110282478A1 (en) Finfet boundary optimization
CN108122267B (en) Method and device for filling redundant metal
US10083266B2 (en) Simulation method of CMP process
CN106997401B (en) Method for extracting chip layout features, CMP simulation method and system
CN105740526B (en) Processing method and system for redundant metal filling area layout
CN107291966B (en) Method and apparatus for chemical mechanical polishing simulation
TW202107329A (en) Method of inserting dummy boundary cells in ic
JP5332295B2 (en) Dummy metal insertion processing program, method and apparatus
CN114611452B (en) Method for automatically generating Sub Cell in layout based on circuit schematic diagram
US9881118B2 (en) IR-aware sneak routing
CN108959800B (en) Filling method of redundant metal
US8356269B2 (en) Dummy-metal-layout evaluating device and dummy-metal-layout evaluating method
CN107153720B (en) Method and system for filling redundant metal
JP5258824B2 (en) A program that causes a computer to execute a process simulation
CN104600066B (en) Oxide definition(OD)Semiconductor devices that gradient reduces and preparation method thereof
CN115048900B (en) Corner filling method and device for integrated circuit layout and computer equipment
CN103164546A (en) Generation method of schematic circuit diagram connecting line
CN105701269A (en) A method of reducing the layout area of an integrated circuit
TW201502827A (en) Floorplanning approach for mixed-size modules
JP2008244293A (en) Design method, manufacturing method and software for semiconductor device
TWI712904B (en) Electronic apparatus and layout method for integrated circuit

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant