CN102184515B - 一种在fpga中实现梯形图填充的方法 - Google Patents

一种在fpga中实现梯形图填充的方法 Download PDF

Info

Publication number
CN102184515B
CN102184515B CN 201110091637 CN201110091637A CN102184515B CN 102184515 B CN102184515 B CN 102184515B CN 201110091637 CN201110091637 CN 201110091637 CN 201110091637 A CN201110091637 A CN 201110091637A CN 102184515 B CN102184515 B CN 102184515B
Authority
CN
China
Prior art keywords
row
coordinate
filling
register group
fill
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.)
Expired - Fee Related
Application number
CN 201110091637
Other languages
English (en)
Other versions
CN102184515A (zh
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.)
Zhongxia Xinji Shanghai Technology Co ltd
Original Assignee
HEFEI ADVANTOOLS SEMICONDUCTOR CO Ltd
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 HEFEI ADVANTOOLS SEMICONDUCTOR CO Ltd filed Critical HEFEI ADVANTOOLS SEMICONDUCTOR CO Ltd
Priority to CN 201110091637 priority Critical patent/CN102184515B/zh
Publication of CN102184515A publication Critical patent/CN102184515A/zh
Application granted granted Critical
Publication of CN102184515B publication Critical patent/CN102184515B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种在FPGA中实现梯形图填充的方法,首先画梯形的四个边,并在画边的同时以边上每个像素点的行坐标为索引将该点的列坐标存储到寄存器组A1,A2,每行只存储经过该行的最小列坐标和最大列坐标。建立一个存储器区域B。根据寄存器组A1,A2存储的列坐标按行以每次N(N为8、16、32、64、128中的一个数字)列的数据填充存储器B,按行填充与画边长是同时进行,且整个梯形填充的过程也是并行的。本发明方法与利用CPU进行的填充比较具有可并行处理的优点,从而可以使填充速度与使用相同频率的CPU填充的速度相比成倍增加。

Description

一种在FPGA中实现梯形图填充的方法
技术领域
本发明涉及直写式光刻机图形数据处理领域,具体为一种在FPGA中实现梯形图填充的方法。
背景技术
直写式光刻机设备是半导体生产过程中的必需设施,直写式光刻机设备是利用图形发生器取代传统光刻机的掩模板,从而可以直接将计算机的图形数据曝光到晶圆上,节省掩模板的费用,并且自身可用做掩模板的制作。对计算机图形数据的处理是指将计算机上的各种图形数据处理成图形发生器可接受的数据,梯形图填充是数据处理中的重要一步,该步骤的速度与直写式光刻机的产能紧密相关。
发明内容
本发明的目的是提供一种在FPGA中实现梯形图填充的方法,根据FPGA的可编程特性,利用数字逻辑电路实现了梯形图的填充,以实现提高填充速度,进而提高直写式光刻机产能。
为了达到上述目的,本发明所采用的技术方案为:
一种在FPGA中实现梯形图填充的方法,包括以下步骤:
(1)首先在FPGA中利用BRESENHAM算法画梯形的四个边。
(2)其次在步骤(1)画边的同时,将画边生成的像素点的行列坐标按规则存储到寄存器组A1,A2,其中存储到寄存器组A1,A2的规则是指:将画边生成的像素点行列坐标以行坐标为索引值并将列坐标存储到寄存器组A1,A2,并且只存储同一行坐标上的最小列坐标和最大列坐标,分别存储到寄存器组A1和A2,如果某行只有一个像素点也即只有一个列,则最小列坐标和最大列坐标均是这个列。
(3)最后根据步骤(2)得到的寄存器组A1,A2的内容按行填充梯形,建立一个与帧大小相等的存储器区域B用于存放填充出的图形数据,填充过程为:从最小行坐标开始逐行进行填充,根据寄存器组A1,A2存储的列编号按行以每次N列的数据填充存储器B,每行的填充规则是:N个像素点同时进行填充,如果落在该行最小列坐标和最大列坐标范围内则填充1,否则填充0;所表述的N是8、16、32、64、128中的一个数字。
选用FPGA进行梯形图的填充,使上述的按行填充与画边长是同时进行,即画一个梯形的边长时,同时进行着上一个梯形的按行填充,且整个梯形填充的过程也是并行的。
本发明方法利用BRESENHAM算法画梯形的四个边,并在画边的同时以边上每个像素点的行坐标为索引将该点的列坐标存储到寄存器组A1,A2,每行只存储经过该行的最小列坐标和最大列坐标。建立一个与帧大小相等的存储器区域B用于存放填充出的图形数据。根据寄存器组A1,A2存储的列坐标按行以每次N(N是指:8、16、32、64、128中的一个数字)列的数据填充存储器B,规则是:落在寄存器组A1,A2两个列坐标范围内的像素点全部填充1,,该行的其他像素点填充0。按行填充与画边长是同时进行的,即画一个梯形的边长时,同时进行着上一个梯形的按行填充。且整个梯形填充的过程也是并行的。
与现有技术相比,本发明的优点是:(1)采用了具有高速性能和内部逻辑资源丰富的现场可编程逻辑门阵列FPGA芯片,具有集成度高,电路结构简单的特点;(2)使用FPGA的数字逻辑电路实现梯形图的填充,从而使很多处理步骤在一个时钟周期内完成;(3)本发明应用在直写式光刻机处理领域可替代图形处理卡,实现与数据处理其他步骤的简单高效接口;(4)本发明可实现各步骤的并行处理,且具备可编程特性,(5)本发明方法与利用CPU进行的填充比较具有可并行处理的优点,从而可以使填充速度与使用相同频率的CPU填充的速度相比成倍增加。
附图说明
图1是梯形图填充示意图。
图2列坐标存储到A1,A2寄存器的流程图。
图3Bresenham模块的输出信号时序图。
图4存储器A1,A2和C的读取和写入时序图。
图5当C寄存器组中的元素值为0时的写入操作。
图6当C寄存器组中的元素值为1时的写入操作。
图7按行填充的示意图。
图8按行填充查找表。
图9并行处理的过程。
具体实施方式
如图1所示。图1是一个梯形图填充的例子,给定梯形图的四个顶点坐标,根据bresenham画四边,然后再进行填充。在画边的同时以边上每个像素点的行编号为索引将该点的列编号存储到寄存器组A1,A2,每行只存储经过该行的最小列编号和最大列编号,分别存储到寄存器组A1和A2。建立一个与帧大小相等的存储器区域B用于存放填充出的图形数据。根据寄存器组A1,A2存储的列编号按行以每次N(N=8、16、32、64、128)列的数据填充存储器B,规则是落在寄存器组A1和A2两个列编号范围内的像素点全部填充1,该行的其他像素点填充0。
如图2所示。图2是将列坐标存储到A1,A2寄存器的流程图,图中,A1为由N个元素组成的寄存器组,用于保存每行的第一个像素的列坐标,A2为由N个元素组成的寄存器组,用于保存每行的第二个像素的列坐标,C为由N个元素组成的寄存器组,用于保存A1是否已经保存,N是梯形图的最大列数,x、y为由画线模块生成的线上像素点坐标。图中列出了A1,A2和C寄存器的示意图,C寄存器用于存储是否已经写了第一个坐标到A1寄存器。流程图中表示了可能的各种情况下,写入A1,A2的坐标数据。
如图3所示。图3是bresenham模块的输出信号时序图。LineValid信号与输出的线上像素点坐标同步,每个LineValid信号有效的周期输出一个像素点坐标,直到该边长的所有线上像素点输出结束。
如图4所示。图4是存储器A1,A2和C的读取和写入时序图,这三个寄存器组都为双口访问RAM,写入和读出分两个独立的端口。每个时钟的上升沿写入数据,地址变化立即输出数据。
如图5所示。图5是当C寄存器组中的元素值为0(0为初始值,表示该行还没有写入第一个列坐标到A1寄存器)时的写入操作,有三种情况:1、C寄存器的y(行坐标)索引的值为0,但这是一个边画线的第一个周期。则往A1写入x。2、C寄存器的y(行坐标)索引的值为0,但上一个周期的y坐标与本次y一样,这是因为上一个周期写入C寄存器的值还没有完成,这个周期读出的值依然是0,因此不能直接往A1寄存器写x,此时应该往A2寄存器写入x。3、C寄存器的y(行坐标)索引的值为0,上一个周期的y坐标与本次y不一样,则往A1写入x。
如图6所示。图6是当C寄存器组中的元素值为1(表示A1中已经写入x坐标)时的写入操作,有七种情况:
1、A2寄存器当前y索引元素的值为空(用超过有效数字的一个数表示,初始值为空);则给出往A2寄存器写入列坐标x1的信号(到下个时钟上升沿后才会真正写入);
2、当前的y值与上一周期的y值相同;虽然上一时钟周期已经给出了往A2[y1]写x1的信号但是在此时钟沿时刻并没有实际写入,A2寄存器当前y索引元素的值仍然为空,此时应该以A2[y2]=A2[y1]中已经有了x1为条件。A1[y2]<x1,x1>x2>A1[y2];故不做任何写入操作;
3、以下以mDx表示当前周期的A1寄存器y索引的输出值,nDx表示当前周期的A1寄存器y索引的输出值mD3<=nD3,x3>nD3;因此A2[y3]=x3;
4、mD4<=nD4,x4<mD4;因此A1[y4]=x4;
5、mD5>nD5,x5>mD5;因此A2[y5]=x5;
6、mD6>nD6,x6<nD6;因此A1[y6]=x6;
7、mD7>nD7,mD7>x7>nD7;因此不操作;
如图7所示。图7所示是四个边全部画完后,按行填充的示意图。图中N的数值可能是:8,16,32,64,128,A为第一个点,B为最后一个点。N的数值大小代表了帧缓存的数据宽度(帧缓存用于存放填充结果),当某行的第一个点或第二个不是N的整数倍时,那么该点所在的N个点的数值通过查表得到。
如图8所示。其中第一个点的数值可以直接查表得到,第二个点的数值是通过查表得到的数值取反后得到。
如图9所示。图9示意了并行处理的过程,图中P表示寄存器组A1、A2,M表示帧缓存。有N(N>1)个梯形填充同步进行,当某个梯形填充结束后,将该模块的‘填充结束’信号置为有效。后端的取结果数据模块将根据顺序以及‘填充结束’信号依次读取梯形图填充后的帧缓存,此读取速度应该超过N个梯形填充的速度之和。在每个梯形填充内部实现乒乓操作,取到梯形图顶点坐标信息后,哪个画边模块空闲就利用哪个模块画边,填充模块判断哪个画边模块结束就读取该模块的寄存器组并填充梯形。

Claims (1)

1.一种在FPGA中实现梯形图填充的方法,其特征在于:包括以下步骤:
(1)首先在FPGA中利用BRESENHAM算法画梯形的四个边;
(2)其次在步骤(1)画边的同时,将画边生成的像素点的行列坐标按规则存储到寄存器组A1,A2,其中存储到寄存器组A1,A2的规则是指:将画边生成的像素点行列坐标以行坐标为索引值并将列坐标存储到寄存器组A1,A2,并且只存储同一行坐标上的最小列坐标和最大列坐标,分别存储到寄存器组A1和A2,如果某行只有一个像素点也即只有一个列,则最小列坐标和最大列坐标均是这个列;
(3)最后根据步骤(2)得到的寄存器组A1,A2的内容按行填充梯形,建立一个与帧大小相等的存储器区域B用于存放填充出的图形数据,填充过程为:从最小行坐标开始逐行进行填充,根据寄存器组A1,A2存储的列编号按行以每次N列的数据填充存储器B,每行的填充规则是:N个像素点同时进行填充,如果落在该行最小列坐标和最大列坐标范围内则填充1,否则填充0;所表述的N是8、16、32、64、128中的一个数字;
选用FPGA进行梯形图的填充,使上述的按行填充与画边长是同时进行,即画一个梯形的边长时,同时进行着上一个梯形的按行填充,且整个梯形填充的过程也是并行的。
CN 201110091637 2011-04-13 2011-04-13 一种在fpga中实现梯形图填充的方法 Expired - Fee Related CN102184515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110091637 CN102184515B (zh) 2011-04-13 2011-04-13 一种在fpga中实现梯形图填充的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110091637 CN102184515B (zh) 2011-04-13 2011-04-13 一种在fpga中实现梯形图填充的方法

Publications (2)

Publication Number Publication Date
CN102184515A CN102184515A (zh) 2011-09-14
CN102184515B true CN102184515B (zh) 2013-02-06

Family

ID=44570685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110091637 Expired - Fee Related CN102184515B (zh) 2011-04-13 2011-04-13 一种在fpga中实现梯形图填充的方法

Country Status (1)

Country Link
CN (1) CN102184515B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268855B (zh) * 2014-09-15 2017-07-07 江苏影速光电技术有限公司 一种在fpga中实现梯形图切割的方法
CN105204298B (zh) * 2015-09-30 2017-06-30 合肥芯碁微电子装备有限公司 一种用于直写式光刻机图形发生器的凹四边形fpga硬件填充方法
CN105741337B (zh) * 2016-02-03 2019-02-05 合肥亚歌半导体科技合伙企业(有限合伙) 一种用于光刻机矢量数据栅格化的三角形填充方法
CN107369194B (zh) * 2016-05-11 2022-04-15 龙芯中科技术股份有限公司 填充图形的方法和装置
CN106780288B (zh) * 2016-12-08 2020-10-20 苏州长风航空电子有限公司 一种多边形填充的硬件加速电路

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0881598A2 (en) * 1997-05-27 1998-12-02 Mitsubishi Denki Kabushiki Kaisha Method for filling a polygon and image processing system
CN1777917A (zh) * 2003-04-24 2006-05-24 皇家飞利浦电子股份有限公司 用于填充平行四边形的方法和系统
CN1866131A (zh) * 2001-09-12 2006-11-22 麦克罗尼克激光系统公司 在具有边的区域内定义多边形的边的方法
JP2009271347A (ja) * 2008-05-08 2009-11-19 Seiko Epson Corp フォント描画装置および情報処理装置
CN101826213A (zh) * 2010-04-20 2010-09-08 杭州电子科技大学 一种基于链码描述的区域填充方法
CN101909130A (zh) * 2009-06-02 2010-12-08 佳能株式会社 图像形成装置及图像形成装置控制方法
CN101968888A (zh) * 2010-09-08 2011-02-09 东莞电子科技大学电子信息工程研究院 一种适用于移动终端的矢量图形填充方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0881598A2 (en) * 1997-05-27 1998-12-02 Mitsubishi Denki Kabushiki Kaisha Method for filling a polygon and image processing system
CN1866131A (zh) * 2001-09-12 2006-11-22 麦克罗尼克激光系统公司 在具有边的区域内定义多边形的边的方法
CN1777917A (zh) * 2003-04-24 2006-05-24 皇家飞利浦电子股份有限公司 用于填充平行四边形的方法和系统
JP2009271347A (ja) * 2008-05-08 2009-11-19 Seiko Epson Corp フォント描画装置および情報処理装置
CN101909130A (zh) * 2009-06-02 2010-12-08 佳能株式会社 图像形成装置及图像形成装置控制方法
CN101826213A (zh) * 2010-04-20 2010-09-08 杭州电子科技大学 一种基于链码描述的区域填充方法
CN101968888A (zh) * 2010-09-08 2011-02-09 东莞电子科技大学电子信息工程研究院 一种适用于移动终端的矢量图形填充方法

Also Published As

Publication number Publication date
CN102184515A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
CN102184515B (zh) 一种在fpga中实现梯形图填充的方法
CN109564638B (zh) 人工智能处理器及其所应用的处理方法
CN107392309A (zh) 一种基于fpga的通用定点数神经网络卷积加速器硬件结构
CN110390384A (zh) 一种可配置的通用卷积神经网络加速器
CN108805272A (zh) 一种基于fpga的通用卷积神经网络加速器
CN106683158A (zh) 一种GPU纹理映射非阻塞存储Cache的建模结构
CN106339258A (zh) 可编程逻辑器件与微处理器共享内存的管理方法及装置
CN102890427B (zh) 一种直写式光刻系统的fpga中倾斜数据准备的方法
CN105573711B (zh) 一种数据缓存方法及装置
CN106156968A (zh) 一种多仓盘点方法及系统
KR20210070369A (ko) 3d 이미지 처리 중의 데이터 읽기/쓰기 방법 및 시스템, 저장 매체 및 단말
CN101345604B (zh) 一种行列式分组交织器的并行实现方法
CN109447257A (zh) 一种通道自组织的深度神经网络加速芯片的运算装置
CN101782400B (zh) 基于路径的面状地图符号模型及基于该模型的共享方法
CN104461934A (zh) 一种适合ddr存储器的时域解卷积交织装置及方法
CN102411557B (zh) 多粒度并行fft计算装置
US11194490B1 (en) Data formatter for convolution
CN111667052A (zh) 专用神经网络加速器的标准与非标准卷积一致性变换方法
CN111047504A (zh) 一种基于SystemC的GPU子图像处理的TLM微结构
CN109800867A (zh) 一种基于fpga片外存储器的数据调用方法
CN102411491B (zh) 一种用于并行fft计算的数据存取方法及装置
US9627014B2 (en) Multiple port shared memory
US20160266847A1 (en) Write method and write apparatus for storage device
CN202758397U (zh) 图形处理装置及芯片
US9158731B2 (en) Multiprocessor arrangement having shared memory, and a method of communication between processors in a multiprocessor arrangement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20151124

Granted publication date: 20130206

RINS Preservation of patent right or utility model and its discharge
PD01 Discharge of preservation of patent

Date of cancellation: 20161124

Granted publication date: 20130206

PP01 Preservation of patent right

Effective date of registration: 20161117

Granted publication date: 20130206

RINS Preservation of patent right or utility model and its discharge
PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20171117

Granted publication date: 20130206

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20171117

Granted publication date: 20130206

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20180517

Granted publication date: 20130206

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190917

Address after: Room B30, 3rd floor, 151 Keyuan Road, China (Shanghai) Free Trade Pilot Area, 200120

Patentee after: Zhongxia Xinji (Shanghai) Technology Co.,Ltd.

Address before: 230601 No. 68 Jinxiu Avenue, Hefei economic and Technological Development Zone, Anhui, China

Patentee before: HEFEI ADVANTOOLS SEMICONDUCTOR Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130206

CF01 Termination of patent right due to non-payment of annual fee