CN104268855B - 一种在fpga中实现梯形图切割的方法 - Google Patents
一种在fpga中实现梯形图切割的方法 Download PDFInfo
- Publication number
- CN104268855B CN104268855B CN201410467804.2A CN201410467804A CN104268855B CN 104268855 B CN104268855 B CN 104268855B CN 201410467804 A CN201410467804 A CN 201410467804A CN 104268855 B CN104268855 B CN 104268855B
- Authority
- CN
- China
- Prior art keywords
- cutting
- trapezoidal
- new
- coordinate
- coordinate points
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electron Beam Exposure (AREA)
Abstract
本发明公开了一种在FPGA中实现梯形图切割的方法,首先在FPGA中解析出梯形的四个顶点坐标值,同时给出切割区域进行切割,将切割后的坐标点值存储至寄存器Point Vector,最后整理寄存器Point Vector中坐标点,按照顺时针的规则对坐标点进行比较和排序,坐标点相同的只保留一个,整理后的图形坐标点可构建成一个或两个梯形图,并将新构建的梯形图的顶点坐标值存储至寄存器Temp Vector。本发明依据FPGA的可编程特性,利用其内部的IP核和数字逻辑电路实现了梯形图的切割,以此来分担计算机的部分数据处理工作,提高了计算机的数据处理速度,提高了直写式光刻机产能。
Description
技术领域
本发明涉及一种梯形图切割的方法,具体是一种在FPGA中实现梯形图切割的方法,属于直写式光刻机图形数据处理领域。
背景技术
目前,在半导体生产过程中,直写式光刻机作为一个关键设备,又被称为影像直接转移设备,是利用图形发生器取代传统光刻机的掩模板,可以直接将计算机的图形数据曝光到晶圆或PCB板上,节省了制板时间和制作掩模板的费用,其自身也可用做掩模板的制作。而对计算机图形数据的处理是指将计算机上的各种图形数据处理成图形发生器可接受的数据,通过将该数据传送给图形发生器,从而实现将计算机图形数据曝光到晶圆或PCB板上的目的,梯形图切割作为数据处理中的重要一步,可以减轻计算机处理图形数据的压力,与直写式光刻机的产能紧密相关。
发明内容
针对上述现有技术存在的问题,本发明提供一种在FPGA中实现梯形图切割的方法,可以实现梯形图的切割,能够分担计算机的部分数据处理工作,提高计算机的数据处理速度,进而提高直写式光刻机的产能。
为了实现上述目的,本发明一种在FPGA中实现梯形图切割的方法,其梯形图切割的步骤如下:
(1)首先在FPGA中解析出梯形的四个顶点坐标值,同时给出切割区域;
(2)将步骤(1)得到的四个顶点坐标值所组成的四条边在切割区域内依次进行切割,每条边切割过后可得到0、1或2个新的坐标点,将这些新的坐标点值依次存储至PointVector寄存器;其中,对每条边的切割均采用相似三角形对应边成比例的方法来计算切割边界与每条边的交点坐标,并采用FPGA的乘除法IP核来进行乘除法运算;
(3)最后,根据步骤(2)得到的新的坐标点构建新的梯形图,具体是:整理PointVector寄存器中的坐标点,按照顺时针的规则对坐标点进行比较和排序,坐标点相同的只保留一个;根据整理后的坐标点按顺时针取点的规则重新构建新的梯形,并将新构建的梯形存储至Temp Vector寄存器,当坐标点的数量小于或等于四个时,则构建一个新的梯形,当坐标点的数量大于四个时,则构建两个新的梯形。
优选地,所述梯形图的切割和构建新梯形是同时进行,即对一个梯形进行切割时,同时对上一个梯形切割后产生的坐标点进行整理和构建新的梯形,且整个梯形切割的过程是并行的。
与现有技术相比,本发明在FPGA中解析出梯形的四个顶点坐标值,同时给出切割区域,然后利用相似三角形对应边成比例法则,计算出梯形图每条边与给定的切割区域的交点坐标,并将所有得到的交点坐标值存储至Point Vector寄存器,再按照顺时针的规则对Point Vector寄存器中的坐标点进行比较和排序整理,坐标点相同的只保留一个;最后,根据整理后的坐标点按顺时针取点的规则每四个坐标点重新整理成一个新的梯形,并存储至寄存器Temp Vector,实现了梯形图的切割和新梯形的构建。本发明采用具有高速性能和内部逻辑资源丰富的现场可编程逻辑门阵列FPGA芯片,利用其集成度高,处理速度快,电路结构简单的优点,使用FPGA的数字逻辑电路和其内部的乘除法IP核进行梯形图的切割,可实现对切割进行流水线操作,从而分担了计算机的部分数据处理工作,提高了计算机的数据处理速度;故将其应用在直写式光刻机处理领域,可明显减轻计算机对图形数据处理能力严重不足的压力,提高直写式光刻机的产能。此外,在FPGA内部与后期对梯形的其它处理过程为流水线方式,从而不会增加额外的处理时间。
附图说明
图1为本发明梯形图切割示意图;
图2为待切割图形切割后只输出一个点的示意图;
图3为待切割图形切割后只输出两个点的示意图;
图4为待切割图形切割后只输出三个点的示意图;
图5为待切割图形切割后只输出四个点的示意图;
图6为待切割图形切割后只输出五个点的示意图;
图7为待切割图形切割后只输出六个点的示意图;
图8为待切割图形切割后只输出七个点的示意图;
图9为PingPang操作示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如图1所示,以图中给定的梯形图ABCD为例,在FPGA中对包含梯形图ABCD坐标信息的数据包进行解析,可获得梯形图ABCD的四个顶点坐标值,以AB边为起始点,A、B的坐标值分别为(x0,y0)、(x1,y1);同时限定切割区域为Xstart、Xend,采用相似三角形对应边成比例的方法来计算切割边界与AB边的两个交点坐标(x′0,y′0)、(x′1,y′1),并采用FPGA的乘除法IP核来进行乘除法运算;其中,x′0和x′1的值分别为Xstart和Xend,y′0的值可通过下面三个公式计算获得:
y′0=y0+Δy0 (3),
同理,也可计算出y′1的值,这样就计算出AB边在切割区域进行切割后获得的两个切割点的坐标值(x′0,y′0)和(x′1,y′1)。然后,可根据相同的原理,分别计算出四边形ABCD的其余三条边BC、CD、DA与切割区域的交点坐标,并将这些新的坐标值依次存储至PointVector寄存器。最后,按照顺时针的规则对Point Vector寄存器内存储的坐标点进行比较和排序整理,坐标点相同的只保留一个;根据整理后的坐标点按顺时针取点的规则每四个坐标点重新构建一个新的梯形,并将新构建的梯形存储至Temp Vector寄存器,当坐标点的数量小于或等于四个时,则构建一个新的梯形,当坐标点的数量大于四个时,则构建两个新的梯形。
如图2所示,待切割图形X0X1X2X3只有一个点在切割区域上,此时,切割后仅仅会获得一个点A,点A被存储至Point Vector寄存器,然后被整理成一个梯形AAAA输出至TempVector寄存器。
如图3所示,待切割图形X0X1X2X3恰巧一条边在切割区域上,此时,切割、整理后仅会获得A、B两个点,点A、B被存储至Point Vector寄存器,然后被整理成一个梯形ABBA输出至Temp Vector寄存器。
如图4所示,待切割图形X0X1X2X3与切割区域有两个交点,按照切割规则,边X0X1切割后会有A、B两点输出,边X2X3切割后会有B、C两点输出,边X3X0不在切割范围,A、B、B、C被存储至Point Vector寄存器,接着被整理成点A、B、C,然后被整理成一个梯形ABCA输出至TempVector寄存器。
如图5所示,待切割图形X0X1X2X3与切割区域有两个交点,按照切割规则,边X0X1切割后会有A、B两点输出,边X1X2切割后会有B、C两点输出,边X2X3切割后会有C、D两点输出,边X3X0不在切割范围,A、B、B、C、C、D被存储至Point Vector寄存器,接着被整理成点A、B、C、D,然后被整理成一个梯形ABCD输出至Temp Vector寄存器。
如图6所示,待切割图形X0X1X2X3与切割区域有四个交点,按照切割规则,边X0X1切割后会有A、B两点输出,边X1X2不在切割区域内,边X2X3切割后会有C、D两点输出,边X3X0切割后会有D、E两点输出,A、B、C、D、D、E被存储至Point Vector寄存器,接着被整理成点A、B、C、D、E,然后被整理成两个梯形ABCD和DEAD输出至Temp Vector寄存器。
如图7所示,待切割图形X0X1X2X3与切割区域有四个交点,按照切割规则,边X0X1切割后会有A、B两点输出,边X1X2切割后会有C、D两点输出,边X2X3切割后会有D、E两点输出,边X3X0切割后会有E、F两点输出,A、B、C、D、D、E、E、F被存储至Point Vector寄存器,接着被整理成点A、B、C、D、E、F,然后会被整理成两个梯形ABCD和DEFA输出至Temp Vector寄存器。
如图8所示,待切割图形X0X1X2X3与切割区域有四个交点,按照切割规则,边X0X1切割后会有A、B两点输出,边X1X2切割后会有C、D两点输出,边X2X3切割后会有D、E两点输出,边X3X0切割后会有F、A两点输出,A、B、C、D、D、E、F、A被存储至Point Vector寄存器,接着被整理成点A、B、C、D、E、F、A,然后会被整理成两个梯形ABCD和DEFA输出至Temp Vector寄存器。
优选地,所述梯形图的切割和构建新梯形是同时进行,即对一个梯形进行切割时,同时对上一个梯形切割后产生的坐标点进行整理和构建新的梯形,且整个梯形切割的过程是并行的。如图9所示的PingPang操作示意图,为了解决在切割一个梯形的同时,整理上一个已经切割好的图形坐标点的问题,在操作过程中插入PingPang时序。在PingPang0时序中,对此刻梯形进行切割,将切割产生的新的坐标点存入Point Vector A寄存器;同时整理Point VectorB中的坐标点,将其构建成新的梯形并存入Temp Vector B中;并将TempVector A中已整理好的坐标点值写入FIFO。在PingPang1时序中,对此刻梯形进行切割,坐标点存入Point Vector B寄存器;同时整理Point Vector A中的坐标点,将其构建成新的梯形并存入Temp Vector A中;并将Temp Vector B中已整理好的坐标点值写入FIFO。
综上所述,本发明在FPGA中解析出梯形的四个顶点坐标值,同时给出切割区域,然后利用相似三角形对应边成比例法则,计算出梯形图每条边与给定的切割区域的交点坐标,并将所有得到的交点坐标值存储至Point Vector寄存器,再按照顺时针的规则对PointVector寄存器中的坐标点进行比较和排序整理,坐标点相同的只保留一个;最后,根据整理后的坐标点按顺时针取点的规则每四个坐标点重新整理成一个新的梯形,并存储至寄存器Temp Vector,实现了梯形图的切割和新梯形的构建,利用FPGA的特性,使用FPGA的数字逻辑电路和其内部的乘除法IP核进行梯形图的切割,可实现对切割进行流水线操作,从而分担了计算机的部分数据处理工作,提高了计算机的数据处理速度;故将其应用在直写式光刻机处理领域,可明显减轻计算机对图形数据处理能力严重不足的压力,提高直写式光刻机的产能。此外,在FPGA内部与后期对梯形的其它处理过程为流水线方式,从而不会增加额外的处理时间。
Claims (2)
1.一种在FPGA中实现梯形图切割的方法,其特征在于,梯形图切割的步骤如下:
(1)首先在FPGA中解析出梯形的四个顶点坐标值,同时给出切割区域;
(2)将步骤(1)得到的四个顶点坐标值所组成的四条边在切割区域内依次进行切割,每条边切割过后可得到0、1或2个新的坐标点,将这些新的坐标点值依次存储至Point Vector寄存器;其中,对每条边的切割均采用相似三角形对应边成比例的方法来计算切割边界与每条边的交点坐标,并采用FPGA的乘除法IP核来进行乘除法运算;
(3)最后,根据步骤(2)得到的新的坐标点构建新的梯形图,具体是:整理Point Vector寄存器中的坐标点,按照顺时针的规则对坐标点进行比较和排序,坐标点相同的只保留一个;根据整理后的坐标点按顺时针取点的规则重新构建新的梯形,并将新构建的梯形存储至Temp Vector寄存器,当整理后坐标点的数量小于或等于四个时,则构建一个新的梯形,当整理后坐标点的数量大于四个时,则构建两个新的梯形。
2.根据权利要求1所述的一种在FPGA中实现梯形图切割的方法,其特征在于,所述梯形的切割和构建新梯形是同时进行,即对一个梯形进行切割时,同时对上一个梯形切割后产生的坐标点进行整理和构建新的梯形,且整个梯形切割的过程是并行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410467804.2A CN104268855B (zh) | 2014-09-15 | 2014-09-15 | 一种在fpga中实现梯形图切割的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410467804.2A CN104268855B (zh) | 2014-09-15 | 2014-09-15 | 一种在fpga中实现梯形图切割的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268855A CN104268855A (zh) | 2015-01-07 |
CN104268855B true CN104268855B (zh) | 2017-07-07 |
Family
ID=52160374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410467804.2A Active CN104268855B (zh) | 2014-09-15 | 2014-09-15 | 一种在fpga中实现梯形图切割的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268855B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184515A (zh) * | 2011-04-13 | 2011-09-14 | 合肥芯硕半导体有限公司 | 一种在fpga中实现梯形图填充的方法 |
CN102566312A (zh) * | 2012-01-13 | 2012-07-11 | 合肥芯硕半导体有限公司 | 无掩膜直写式光刻机系统中图形数据灰度值的计算方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3485055B2 (ja) * | 2000-01-05 | 2004-01-13 | 松下電器産業株式会社 | 台形描画方法および台形描画装置 |
-
2014
- 2014-09-15 CN CN201410467804.2A patent/CN104268855B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184515A (zh) * | 2011-04-13 | 2011-09-14 | 合肥芯硕半导体有限公司 | 一种在fpga中实现梯形图填充的方法 |
CN102566312A (zh) * | 2012-01-13 | 2012-07-11 | 合肥芯硕半导体有限公司 | 无掩膜直写式光刻机系统中图形数据灰度值的计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104268855A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2391011A3 (en) | A programmable logic device having complex logic blocks with improved logic cell functionality | |
CN204615806U (zh) | 一种基于反相逻辑的三模冗余表决电路 | |
CN102176673A (zh) | 4输入查找表、fpga逻辑单元和fpga逻辑块 | |
CN203206212U (zh) | 一种时钟分频电路、时钟生成网络及芯片 | |
CN104268855B (zh) | 一种在fpga中实现梯形图切割的方法 | |
CN106843436A (zh) | 一种复位控制模块及复位方法 | |
CN105573855A (zh) | 一种用于故障树决策图分析的模块化事件排序方法 | |
CN104182208B (zh) | 利用破解规则破解密码的方法及系统 | |
CN103886118B (zh) | 一种针对集成电路异质型逻辑单元的重综合方法 | |
CN102707923A (zh) | 一种伪随机数生成电路及伪随机数产生方法 | |
CN108734179B (zh) | 基于硬件实现优化的sift关键点描述的方法 | |
CN105741337B (zh) | 一种用于光刻机矢量数据栅格化的三角形填充方法 | |
CN105656474B (zh) | 一种基于信号概率的fpga用户电路逻辑反转优化方法 | |
WO2023173690A1 (zh) | 一种解决掩模版着色边界冲突的方法、装置和计算机设备 | |
CN101826123A (zh) | 一种增加标准单元通孔提升芯片成品率的方法 | |
CN102339329A (zh) | 一种物理版图分割的方法 | |
Xu et al. | Design and implementation of an efficient CNN accelerator for low-cost FPGAs | |
CN108984470A (zh) | 一种fpga矿机算力的提升系统及方法 | |
CN101751384A (zh) | 一种排版方法及系统 | |
CN103869598A (zh) | 离子注入层的光学临近效应修正方法 | |
WO2022119778A1 (en) | Adaptive row patterns for custom-tiled placement fabrics for mixed height cell libraries | |
CN104133655B (zh) | 基于星载mimo检测的抗辐射乘法器的设计方法 | |
CN103677731B (zh) | 一种二进制数的双向移位方法及装置 | |
CN106527058A (zh) | 一种倾斜式扫描中数据移位的方法 | |
CN106873941A (zh) | 一种快速模乘和模平方电路及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 221000 west side of Hengshan Road, Pizhou City, Xuzhou City, Jiangsu Province Patentee after: Jiangsu Yingsu integrated circuit equipment Co., Ltd Address before: 221399 Huashan Road, Pizhou Economic Development Zone, Xuzhou, Jiangsu Patentee before: JIANGSU YINGSU PHOTOELECTRIC TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |