一种任意形状Map地图最小搜索区域扫描算法的制作方法

文档序号:37307301发布日期:2024-03-13 20:55阅读:15来源:国知局
一种任意形状Map地图最小搜索区域扫描算法的制作方法

本发明涉及芯片扫描,具体为一种任意形状map地图最小搜索区域扫描算法。


背景技术:

1、晶圆(wafer),是生产集成电路所用的载体,多指单晶硅圆片,单晶硅圆片由普通硅砂提炼,经过溶解、提纯、蒸馏一系列措施制得多晶硅,多晶硅再经熔融、单晶晶核提拉制成具有一定晶体学取向的单晶硅棒,单晶硅棒经过抛光、切片之后,就成为了晶圆,晶圆是最常用的半导体材料。

2、而半导体领域设备wafer芯片经常会出现不规划的形状,或者是规则形状但部分区域不存在芯片的情况,如整行整列缺失晶粒、孤岛的具体情况,目前的技术采用设定区域全盘扫描的方法来对其扫描,而这种方式在这种wafer芯片区域为不规则的形状或有较大区域的芯片缺失的情况下,其扫描空白区域会浪费较多时间,并且对芯片边界区域也无法准确判断,导致存在扫描次数多,扫描时间长,扫描效率低的问题。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本发明提供了一种任意形状map地图最小搜索区域扫描算法,具备准确识别芯片边界区域,以最少的扫描次数和扫描区域,完成所有芯片的扫描,通过减少扫描次数,实现提高扫描效率等优点,解决了传统设定区域全盘扫描的方法存在扫描次数多、扫描时间长和扫描效率低的问题。

3、(二)技术方案

4、为实现上述准确识别芯片边界区域,以最少的扫描次数和扫描区域,完成所有芯片的扫描,减少扫描次数,提高扫描效率目的,本发明提供如下技术方案:一种任意形状map地图最小搜索区域扫描算法,包括以下步骤:

5、1)初始化设置,扫描前设置主控系统、运控系统及视觉系统的初始值;

6、2)初始边界搜索方向切换及判断,通过初始搜索模块从扫描起始点出发,确定寻找芯片区域的首个边界的搜索方向;

7、3)芯片搜索,当所述初始搜索模块找到首个芯片及确定搜索方向后,通过芯片搜索模块沿此方向去搜索芯片区域的首条边界,找出首条芯片边界上的所有边界点,直至首条连续边界找完,在找完首条连续边界后,便会开始按行或按列进行芯片区域内芯片的扫描搜索,直至完成整个wafer的芯片的搜索;

8、4)目标位置超出运动范围处理模块,在所述芯片搜索模块搜索边界时,当按间距更新下一个目标位置时,而下一个目标位置可能会超出设定的运控系统的运动范围,此时需进行目标位置收缩处理,将目标位置拉回运动范围以内,防止撞机。

9、优选的,所述步骤1中的初始化设置还包括如下具体设定:

10、(1.1)设定所述运控系统的运动范围,运动范围一般为圆形或矩形,运动范围需覆盖整个wafer有芯片的区域;

11、(1.2)设置wafer有芯片的芯片区域,此区域一般设置为圆形或矩形;

12、(1.3)设定扫描起始点,扫描起点需设置在运动范围内,且在wafer有芯片的区域内,扫描起始点坐标作为当前目标位置的初始值,xy坐标值为(x0,y0),对应的拍照行列索引(i,j)为(0,0);

13、(1.4)设定扫描方向,扫描方向为从扫描起始点开始至找到首个边界过程中进行行/列搜索时的方向,可设置为左、右、上、下;

14、(1.5)设置相邻的所述视觉系统拍照位置间距,x方向间距设置为pitch_x,y方向的间距设置为pitch_y;

15、(1.6)所有运动区域内目标位置属性赋值为1。

16、优选的,所述步骤1中的主控系统负责运控软件和视觉软件的集成运算和控制,所述运控软件负责对运控硬件的控制和反馈,所述视觉软件负责对视觉硬件的控制和反馈,所述运控硬件包括驱动马达、伺服驱动、传动机构和执行机构,所述视觉硬件包括相机、镜头、棱镜、光源及光源控制器。

17、优选的,所述步骤2中的初始边界搜索方向切换及判断还包括在初始化设置后,通过所述初始搜索模块从设定的扫描起始点开始,按指定了的行、列扫描方向,沿边界初始搜索方向开始搜索wafer芯片的起始边界,边界初始搜索方向可选择为左上、左下、右上、右下,一般选择左上方向开始搜索初始边界,搜索方向矢量与坐标轴夹角一般为45度;

18、当从扫描起始点沿边界起始搜索方向一直搜索到运动范围之外时,仍未扫描到正常芯片,则切换到边界第二搜索方向,如右上方向,直至扫描到初始边界;

19、当从扫描起始点沿边界第二搜索方向一直搜索到运动范围之外时,仍未扫描到正常芯片,则切换到边界第三搜索方向,如右下方向,直至扫描到初始边界;

20、当从扫描起始点沿边界第三搜索方向一直搜索到运动范围之外时,仍未扫描到正常芯片,则切换到边界第四搜索方向,如左下方向,直至扫描到初始边界。

21、优选的,所述步骤2中初始边界搜索方向切换及判断的具体操作步骤:

22、(2.1)判断目标位置是否在设定的运动范围内,若目标位置在设定运动范围内,则跳转至(2.2),否则直接跳转至(2.18)结束流程;

23、(2.2)运动到目标索引对应的机械位置;

24、(2.3)所述视觉系统拍照,等待拍照结果,同时将此位置赋值给当前位置;

25、(2.4)判断视野内是否有芯片,或有芯片,跳转至下一步;若无芯片,当前拍照位置属性赋值0,跳转至(2.6);

26、(2.5)判断视野内是否有正常芯片,若有正常芯片,跳转至所述芯片搜索模块,所述初始搜索模块流程结束;若无正常芯片,当前拍照位置属性赋值3,跳转至(2.6);

27、(2.6)行列索引更新,行i--,列j++;

28、(2.7)更新目标位置为(x0+i*pitch_x,y0+j*pitch_y);

29、(2.8)判断目标位置是否在工作区域内,若是,则跳转至(2.1);若否,则跳转至(2.9);

30、(2.9)行列索引更新,行i++,列j++;

31、(2.10)更新目标位置为(x0+i*pitch_x,y0+j*pitch_y);

32、(2.11)判断目标位置是否在工作区域内,若是,则跳转至(2.1);若否,则跳转至(2.12);

33、(2.12)行列索引更新,行i++,列j--;

34、(2.13)更新目标位置为(x0+i*pitch_x,y0+j*pitch_y);

35、(2.14)判断目标位置是否在工作区域内,若是,则跳转至(2.1);若否,则跳转至(2.15);

36、(2.15)行列索引更新,行i--,列j--;

37、(2.16)更新目标位置为(x0+i*pitch_x,y0+j*pitch_y);

38、(2.17)判断目标位置是否在工作区域内,若是,则跳转至(2.1);若否,则跳转至(2.18);

39、(2.18)结束初始边界搜索方向切换及判断。

40、优选的,所述步骤3中的芯片搜索还包括当wafer中芯片区域内,某一位置有芯片邻位若无芯片,此位置便是芯片的一个边界位置;当搜索起点无芯片,起点的下一个位置仍无芯片,则此起点和下一位置均不是边界点;其中边界分内部边界和外部边界2种情况,被所有的芯片紧密包裹的为内边界,非紧密包裹的为外边界;在指定了行、列的扫描方向、且由所述初始搜索模块确定边界搜索方向后,只要未搜索到任何的边界,将坚决的按指定的行、列扫描方向进行扫描;一旦搜索到一个边界的点位,列的扫描方向将进行切换,即当前列搜索方向不变,相邻的列扫描方向换向,依此类推。

41、优选的,所述步骤3中的芯片搜索具体操作步骤:

42、(3.1)当前拍照位置属性赋值为2,对当前拍照位置进行九宫格扩展;

43、(3.2)j由小到大,i由小到大进行目标位置搜索;

44、(3.3)判断所有目标位置是否全部循环搜索完毕,若为是,则跳转至(3.19)直接结束整个算法流程;若为否,则跳转至(3.4);

45、(3.4)判断目标位置属性是否为1,若为1,则跳转至下一步;否则跳转至(3.17);

46、(3.5)判断目标位置索引是否在工作区域范围内,若是,则跳转至下一步;若否则跳转至(3.17);

47、(3.6)返回目标位置索引值;

48、(3.7)判断目标位置与当前位置的行列索引差值是否小于4,若是,跳转(3.9);若否,跳转至(3.8);

49、(3.8)等待当前位置图像结果,跳转至(3.12);

50、(3.9)获取目标位置索引对应的机械位置;

51、(3.10)判断机械位置是否位于运动范围内,若是则跳转至(3.12);若否则跳转至(3.11);

52、(3.11)目标位置超出运动范围处理模块,执行完后跳转至(3.10);

53、(3.12)移动到目标位置并对目标位置拍照,启动图像处理线程;

54、(3.13)判断当前位置视野是否有芯片,若有,则跳转至下一步,若无则当前拍照位置属性赋值为0,并跳转至(3.17);

55、(3.14)判断当前位置视野是否有正常芯片,若有,则跳转至下一步;若无,则当前拍照位置属性赋值为3,边界标志flag赋值为true,并跳转至(3.17);

56、(3.15)当前拍照位置属性赋值为2,对当前拍照位置进行九宫格扩展;

57、(3.16)将目标位置赋值给当前位置,并跳转至(3.17);

58、(3.17)判断边界标志flag是否等于true,若是,则跳转至下一步,若否,则跳转至(3.2);

59、(3.18)i由小到大,j奇偶换向进行目标位置搜索,首次出现无芯片位置所在的列的搜索方向为j由小到大方向扫描方向切换为相反方向;

60、(3.19)结束芯片搜索模块流程。

61、优选的,所述步骤3中的当起始边界的搜索方向确定后,便沿此方向搜索出第一个边界点,然后找出首条边界上的所有的边界点,之后按相邻列列扫描方向换向的原则,搜索完整个设定区域内的所有芯片。

62、优选的,所述步骤3中的芯片搜索还包括在对目标位置的机械位置进行更新时,需判断此位置是否在所述初始化设置的运动范围内,若在运动范围内,则直接下一步;若判断目标位置的机械位置不在运动范围内,则需进行目标位置超出运动范围处理模块算法处理。

63、优选的,所述步骤4中的目标位置超出运动范围处理模块具体操作步骤:(4.1)调用入口;

64、(4.2)获取当前拍照位置索引(i,j)对应的的机械坐标(x,y);

65、(4.3)判断设定工作区域是否均为圆形,若是,则跳转至下一步;若否,则跳转至(4.8);

66、(4.4)将工作圆半径减小一定数值,如50um;

67、(4.5)以当前坐标为中心以pitch/2为扩展出点1、2、3、4;

68、(4.6)判断直线12、13、24、34与内缩圆交点情况;

69、(4.7)根据交点情况更新索引(i,j)对应的的机械坐标(x,y),将目标机械位置拉至内缩圆内,然后跳转至(4.9);

70、(4.8)将索引(i,j)对应的的机械坐标(x,y)作水平线与垂直线,求与边界的交点并内缩一定距离,如10um;

71、(4.9)调用返回的出口。

72、(三)有益效果

73、与现有技术相比,本发明提供了一种任意形状map地图最小搜索区域扫描算法,具备以下有益效果:

74、该任意形状map地图最小搜索区域扫描算法,可以扫描在运动区域内任何形状的map图,能够灵活处理整行/整列缺失或存在孤岛等各种情况,并能准确找出map图所有的外边界和内边界,当目标位置超出运动范围时,也能将目标位置以最优的方式纠偏至运动范围以内,在最小化搜索区域最优路径下扫描到全部的芯片,实现准确识别芯片边界区域,以最少的扫描次数和扫描区域,完成所有芯片的扫描,通过减少扫描次数,来提高扫描效率的目的,同时有效解决矩形、圆形和椭圆形等任意形状map图形的扫描、扫描起始点无正常晶粒、整行整列缺失或孤岛和边界搜索路径优化等问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1