一种基于分代求解的导向自组装芯片通孔设计分组与拆分方法技术

技术编号:34767616 阅读:25 留言:0更新日期:2022-08-31 19:21
一种基于分代求解的导向自组装芯片通孔设计分组与拆分方法,通过应用分代求解和图论算法,针对未进行处理的芯片通孔设计进行处理,将设计中的通孔进行分组拆分;形成一种可平衡染色数与分组数的快速处理方法。本发明专利技术可以形成一种可平衡染色数与分组数的快速处理方法,能够在短时间内对大规模版图进行分组与拆分。拆分。拆分。

【技术实现步骤摘要】
Conference(ASP

DAC).IEEE,2016,75

82)等。在先技术1利用数学建模以及线性规划的方式进行求解,求解复杂度很高,不适用于大规模版图;在先技术3通过遍历所有可能的分组组成的解的集合寻找最优解,复杂度很高,不适用于大规模版图;在先技术4首先穷举出所有相容边的组合,对每一个相容边集合调用奇数度顶点求解器,最后选择成本最低的解作为最终解,由于相容边的数量随版图规模指数增长,该方法同样也不适用于大规模版图。在先技术5是对顶点数不大于7的所有可能子图建立一个最优解库,对于冲突子图中在库里的部分,通过查表解决,不在库里的部分采用启发式方法解决,但对于大于7的所有可能子图建库复杂度太高,该方法同样不适用于大规模版图。
[0006]在先技术2首先计算最大基数匹配,然后去除结果中的边(边表示相连的两点冲突,无法分配于同一模板),再利用已有的掩模分配方法对所有点进行掩模分配,若两个通孔被分配在同一掩模版且可以被划分到同一分组,则将这两个通孔划分到同一分组。该方法复杂度不高,适用于大规模版图,但是会导致很多冲突无法解决,无法得到高质量的结果。

技术实现思路

[0007]本专利技术的目的在于提供一种基于分代求解的导向自组装芯片通孔设计分组与拆分方法,提出基于分代求解的分组算法、拆分算法,形成一种可平衡分层数与分组数的快速处理技术。
[0008]本专利技术的技术解决方案如下:
[0009]一种基于分代求解的导向自组装芯片通孔设计分组与拆分方法,包括如下步骤:
[0010]步骤1.读取GDS芯片文件,将芯片上所有通孔由1至n排序,并以各通孔的几何中心点位置作为各通孔的位置;设定光刻分辨率Litho_distance、双孔分组的距离区间TwoVias_distance;
[0011]通过引导模板染色表示引导模板被拆分到不同掩模的过程,即被染同种颜色的引导模板表示被分配在同一掩模,染色数表示需要的掩模数;设定最大染色数n、染色互不影响的最小距离为Color_distance;
[0012]步骤2.构建邻接距离矩阵decomp_result_matrix:以通孔的序号作为矩阵的行数和列数,矩阵中第n行第m列元素值为第n个通孔的位置与第m个通孔的位置之间的欧式距离,且当n=m时,元素值为0;
[0013]步骤3.构建邻接矩阵cluster_result_matrix:将邻接距离矩阵decomp_result_matrix中元素值小于等于光刻分辨率Litho_distance的值置为”1”,大于光刻分辨率Litho_distance的值置为”0”;
[0014]步骤4.通过Kosaraju算法得到邻接矩阵cluster_result_matrix的最大连通图,并记录每个连通图中的点;每个连通图中的点构成一个数列cluster
i
,所有的数列cluster
i
构成数列集clusters;
[0015]步骤5.遍历数列集clusters中的所有数列cluster
i
,并对每个数列cluster进行分组拆分染色,具体包括:
[0016]步骤5.1随机选取随机数量的通孔,将单个通孔或在距离区间TwoVias_distance内的两通孔作为一个分组,记作match,枚举出含有选中通孔的分组match
i
,并存入列表
matchs;
[0017]步骤5.2从列表matchs中随机选取随机数量的分组match
j
,并存入列表Generation;
[0018]步骤5.3将列表Generation中每个分组match
j
的所有相邻通孔,合并形成边界图形;
[0019]步骤5.4从边界图形中随机选取随机数量的通孔,枚举出含有选取通孔的分组match
k
,并存入列表match_candidate;
[0020]步骤5.5从列表match_candidate中随机选取随机数量的与列表Generation中分组match
j
不重叠的分组matchg,且g∈k,将分组match
g
存入列表Generation;
[0021]步骤5.6将新加入列表Generation的每个分组match
g
的相邻通孔加入边界图形,更新边界图形;
[0022]步骤5.7重复步骤5.4

5.6直至当前数列cluster中所有通孔都被分组;
[0023]步骤6.利用顶点染色法对所有分组进行染色:选定度数最小的顶点,对该点用第一种颜色进行染色,再找到不与其染色冲突的顶点并随机选择一个顶点采用同一种颜色进行染色,再找到与已染色的两个顶点染色不冲突的顶点,并对其中一个顶点用同种颜色进行染色,直到找不到可以用当前颜色染色的顶点为止;再找到未染色的度数最小的顶点,改变颜色,重复以上流程直到所有顶点都完成染色。
[0024]步骤7.重复步骤5

6直至芯片上所有通孔都被分组染色。
[0025]步骤8.将处理分组和染色结果写入GDS文件输出。
[0026]与在先技术相比,本专利技术具有以下优点:
[0027]与在先技术1,3,4,5相比,本专利技术通过基于图论,通过随机的边界生长,不采用数学建模或枚举解决方案的方法,降低了复杂度,适用于大规模版图高通孔数量下的求解。
[0028]与在先技术2相比,本专利技术采用分代的方式逐代产生分组,避免了冲突点的情况。能够快速的产生一个大规模版图的分组拆分结果。
附图说明
[0029]图1本专利技术的分组染色流程图
[0030]图2本专利技术邻接矩阵示例图
[0031]图3本专利技术的分代求解算法流程图
[0032]图4本专利技术的分代求解算法示例图,其中,图4.1表示椭圆框内的两个图形被分组到一起,方框表示图形,椭圆形框内表示一个分组;图4.2表示圈内中被选中的边界图形;图4.3表示椭圆框内被选中的分组;
[0033]图5本专利技术最后效果示例图
具体实施方式
[0034]下面结合实施例和附图对本专利技术作进一步说明,但不应以此实施实例限制本专利技术的保护范围。
[0035]本专利技术实施例的分组染色流程如图1所示。以图2所示的邻接矩阵进行分组染色,图2中的数值表示两通孔中心点之间的距离。实例中应用尺寸为16*16nm的矩形通孔,光学
分辨距离为120nm,染色距离为60nm,双孔分组距离区间为32~60nm。
[0036]实施例步骤如下:
[0037]步骤1.读取GDS芯片文件,将芯片上所有通孔由1至n排序,并以各通孔的几何中心点位置作为各通孔的位置;设定光刻分辨率Litho_distance=120、双孔分组的距离区间TwoVias_distance为[32,60];
[0038]通过引导模板染色表示引导模板被拆分到不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分代求解的导向自组装芯片通孔设计分组与拆分方法,其特征在于,包括如下步骤:步骤1.读取GDS芯片文件,将芯片上所有通孔由1至n排序,并以各通孔的几何中心点位置作为各通孔的位置;设定光刻分辨率Litho_distance、双孔分组的距离区间TwoVias_distance;通过引导模板染色表示引导模板被拆分到不同掩模的过程,即被染同种颜色的引导模板表示被分配在同一掩模,染色数表示需要的掩模数;设定最大染色数n、染色互不影响的最小距离为Color_distance;步骤2.构建邻接距离矩阵decomp_result_matrix:以通孔的序号作为矩阵的行数和列数,矩阵中第n行第m列元素值为第n个通孔的位置与第m个通孔的位置之间的欧式距离,且当n=m时,元素值为0;步骤3.构建邻接矩阵cluster_result_matrix:将邻接距离矩阵decomp_result_matrix中元素值小于等于光刻分辨率Litho_distance的值置为”1”,大于光刻分辨率Litho_distance的值置为”0”;步骤4.通过Kosaraju算法得到邻接矩阵cluster_result_matrix的最大连通图,并记录每个连通图中的点;每个连通图中的点构成一个数列cluster
i
,所有的数列cluster
i
构成数列集clusters;步骤5.遍历数列集clusters中的所有数列cluster
i
,并对每个数列cluster进行分组拆分染色,具体包括:步骤5.1随机选取随机数量的通孔,将单个通孔或在距离区间TwoVias_distance内的两通孔作为一个分组,记作match,枚举出含有选中通孔的分组match
i

【专利技术属性】
技术研发人员:张涛李思坤周恒宇王向朝
申请(专利权)人:中国科学院上海光学精密机械研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1