一种倾斜式扫描中数据移位的方法与流程

文档序号:12116359阅读:675来源:国知局
一种倾斜式扫描中数据移位的方法与流程

本发明涉及直写式光刻技术领域,具体涉及一种倾斜式扫描中数据移位的方法。



背景技术:

直写式光刻机设备是半导体器件生产过程中的关键设施,直写式光刻机设备是利用空间光调制器(SLM)作为图形发生器取代传统光刻机的掩模板,从而可以直接将计算机的图形数据曝光到晶圆上,节省掩模板的费用。

由于现代工业的发展对光刻机提出了更高的要求,不仅要求光刻的线宽更小,而且要求速度更快。传统的垂直扫描无法很好地满足工业生产的要求,而倾斜式扫描方式在增大光学倍率,提高扫描宽度的同时,还可以提高光学分辨率。倾斜式直写曝光机中,需要对图像数据进行必要的移位操作,以修正在倾斜式扫描中,输出图像方向与DMD移动方向不一致的问题。这种移位操作需要对每帧图像进行实时处理,计算量大,实时性要求极高,简化移位操作的方法,就可以大大提高移位操作的效率。

图像偏移是通过对bitmap格式的图像数据每一行进行相应的数据移位来实现的。数据移位即在行起始列之前补充相应个数的零。数据移位通常都是由现场可编程门阵列(FPGA)完成,但对于运算量大的数据,如需补零255个的时候,使用case语句将产生255个分支,FPGA处理复杂度将非常大。



技术实现要素:

本发明的目的就是针对现有数据移位算法的不足,提供一种倾斜式扫描中数据移位的方法,能够有效降低FPGA处理的复杂度,极大地提高移位操作的效率。

本发明的技术方案如下:

一种倾斜式扫描中数据移位的方法,所述数据移位通过现场可编程门阵列进行,包括如下步骤:

读取图形数据步骤,从存储模块中读取待曝光的图形数据;

获取待曝光图形数据的总行数步骤,计算所述待曝光的图形数据的总行数,并对待曝光的图形数据的各行按扫描顺序从1开始进行编号;

计算待曝光图形数据每一行需要补零的个数步骤,对待曝光的图形数据中的第m行,用m除以倾斜因子N,对结果m/N向下取整,取整结果记为,即为第m行需要补零的个数;

数据移位步骤,将转化为二进制数,将所述二进制数从低位到高位从0开始依次编号,对所述二进制数从低位开始判断,如果当前位次数字为1,则将所在行的数据在起始列前补个零,其中a是当前位的编号,如果当前位次数字为0则不补零,依次判断所有位次的数字并进行补零,完成数据移位。

优选地,所述存储模块是双倍速率同步动态随机存储器。

优选地,所述倾斜因子N为大于等于4且小于等于16的任意正整数。

优选地,所述二进制数为8比特二进制数。

优选地,所述为大于等于0且小于等于255的正整数。在0-255之间时,可以满足转化成二进制数后不超过8位。

本发明具有如下有益效果:

本发明涉及一种倾斜扫描中数据移位的方法,通过将移位次数转化为二进制数,然后逐位移位的方法实现数据移位。与现有的数据移位方法相比,本发明的移位方式简单并且易于实现。对于补零个数在0-255个之间的数据移位操作,传统技术则需要255个case语句,本发明的数据移位方法仅需要8个case语句即可实现,极大地降低了FPGA实现的难度。

附图说明

图1是倾斜式扫描中SLM与待曝光的图形数据之间的位置关系;

图2是本发明实施例1的倾斜扫描中数据移位的方法的流程图;

图3是本发明实施例2待移位数据的示意图;

图4是本发明实施例2补零后的原始数据示意图;

图5是本发明实施例2完成数据移位的示意图。

具体实施方式

下面将结合具体实施例和附图对本发明的技术方案进行清楚完整地描述。

附图1是倾斜式扫描中SLM与待曝光的图形数据之间的位置关系。可以看出SLM相对于扫描方向间存在夹角θ。

以下是本发明的具体实施例。

实施例1

如附图2所示,本实施例的倾斜式扫描中数据移位的方法通过FPGA进行数据移位,包括如下步骤:

读取图形数据步骤,从存储模块中读取待曝光的图形数据;

获取待曝光图形数据的总行数步骤,计算所述待曝光的图形数据的总行数,并对待曝光的图形数据的各行按扫描顺序从1开始进行编号,分别记为第1行、第2行、第3行、……、第m行、……第n行;

计算待曝光图形数据每一行需要补零的个数步骤,对待曝光的图形数据中的第m行,用m除以倾斜因子N,对结果m/N向下取整,取整结果记为,即为第m行需要补零的个数。倾斜因子N取大于等于4且小于等于16的任意正整数。

数据移位步骤,将转化为二进制数,将所述二进制数从低位到高位从0开始依次编号,分别记为p[0]、p[1]、p[2]、p[3]、……、直到p[n]。本发明的方法中一般是0-255之间的正整数,转化得到的二进制数为8比特二进制数,因此编号为从p[0]到p[7]。对该二进制数从低位开始判断,即从p[0]开始判断,如果p[0]=1,则将所在行的数据在起始列前补个零,即补1个0;如果p[0]=0则不补零。依次判断所有位次的数字并进行补零,完成数据移位。

以=10为例,转化为8比特二进制数为00001010,从p[0]开始判断:

p[0]=0,不补零;

p[1]=1,将所在行的数据在起始列前补个零,即补2个零;

p[2]=0,不补零;

p[3]=1,将所在行的数据在起始列前补个零,即补8个零;

p[4]=0,不补零;

p[5]=0,不补零;

p[6]=0,不补零;

p[7]=0,不补零。

完成补零,总共补了2+8=10个零,即进行了10次数据移动。

实施例2

本实施例给出了某一具体图形数据的数据移位示意图。

图3是本实施例待移位数据的示意图,本实施例待移位图形数据共有40行,从第一行开始编号,分别记为第1行、第2行、第3行……直至第40行。

取倾斜因子N=4,从第1行开始:

第1行,,转化为8比特二进制数为00000000,进行数据移位:

p[0]=0,不补零;

p[1]=0,不补零;

p[2]=0,不补零;

p[3]=0,不补零;

p[4]=0,不补零;

p[5]=0,不补零;

p[6]=0,不补零;

p[7]=0,不补零。

因此第1行不补零。

第2行,,同第1行,不补零;

第3行,,同第1行,不补零;

第4行,,转化为8比特二进制数为00000001,进行数据移位:

p[0]=1,将第4行的数据在起始列前补个零,即补1个零;

p[1]=0,不补零;

p[2]=0,不补零;

p[3]=0,不补零;

p[4]=0,不补零;

p[5]=0,不补零;

p[6]=0,不补零;

p[7]=0,不补零。

完成补零,总共补了1个零,即进行了1次数据移动。

第5行,,同第4行,将第5行的数据在起始列前补个零,即补1个零。

第6行,,同第4行,将第6行的数据在起始列前补个零,即补1个零。

第7行,,同第4行,将第7行的数据在起始列前补个零,即补1个零。

第8行,,转化为8比特二进制数为00000010,进行数据移位:

p[0]=0,不补零;

p[1]=1,将第4行的数据在起始列前补个零,即补2个零;

p[2]=0,不补零;

p[3]=0,不补零;

p[4]=0,不补零;

p[5]=0,不补零;

p[6]=0,不补零;

p[7]=0,不补零。

完成补零,总共补了2个零,即进行了2次数据移动。

按照上述步骤重复,对剩下的行完成补零操作,到第40行时,,转化为8比特二进制数为00001010,进行数据移位:

p[0]=0,不补零;

p[1]=1,将所在行的数据在起始列前补个零,即补2个零;

p[2]=0,不补零;

p[3]=1,将所在行的数据在起始列前补个零,即补8个零;

p[4]=0,不补零;

p[5]=0,不补零;

p[6]=0,不补零;

p[7]=0,不补零。

完成补零,总共补了2+8=10个零,即进行了10次数据移动。

图4是本发明实施例2补零后的原始数据示意图。对图4的数据按照DMD总列数删去多余部分,得到图5,即为本实施例完成数据移位的示意图。

以上应用具体实施例对本发明的技术方案进行了详细阐述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。同时,以上实施例的说明只是用于帮助理解本发明的核心思想,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。因此,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。综上所述,本说明书内容不应理解为对本发明的限制。

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