CN109657328A - 一种面向gpu硬件线光栅化边界算法的tlm微结构 - Google Patents
一种面向gpu硬件线光栅化边界算法的tlm微结构 Download PDFInfo
- Publication number
- CN109657328A CN109657328A CN201811530274.6A CN201811530274A CN109657328A CN 109657328 A CN109657328 A CN 109657328A CN 201811530274 A CN201811530274 A CN 201811530274A CN 109657328 A CN109657328 A CN 109657328A
- Authority
- CN
- China
- Prior art keywords
- straight line
- height
- difference
- boundary
- sent
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明涉及计算机硬件建模技术领域,提供一种面向GPU硬件线光栅化边界算法的TLM微结构,所述直线起点终点选择模块(1)将选择的起点和终点发送给直线方程计算模块(2)和直线高度差计算模块(3);所述直线方程计算模块(2)进行直线方程计算,并将直线方程发送给边界比较处理模块(4);所述直线高度差计算模块(3)计算直线最大的高度差,并将直线高度差发送给边界比较处理模块(4);所述边界比较处理模块(4)接收直线方程和直线高度差进行边界比较处理,当局部高度差大于直线最大高度差时,此片元的高度赋值为终点高度,否则高度保持。扫描完整的直线,计算直线上每个片元坐标。
Description
技术领域
本发明涉及计算机硬件建模技术领域,尤其涉及一种面向GPU硬件线光栅化边界算法的TLM微结构。
背景技术
在图形处理器芯片(下简称GPU)设计与开发中,算法的局部特征尤其是特殊情况的处理很容易被RTL设计人员忽略,并且RTL代码的验证debug代价通常又比较大。因此在RTL设计之前,尽可能早的对算法进行验证,对特殊情况的处理做到全面又准确,因此利用算法硬件TLM微结构对算法实现并验证,可以为RTL设计提供参考依据。
发明内容
基于背景技术中存在的问题,本发明提供的一种面向GPU硬件线光栅化边界算法的TLM微结构,能够解决rtl仿真GPU线光栅化边界算法的误差积累问题,对边界算法优化,能够提前对线光栅化边界算法的硬件微结构在TLM模型上进行功能验证。
本发明的技术解决方案是:
一种面向GPU硬件线光栅化边界算法的TLM微结构,包括直线起点终点选择模块1、直线方程计算模块2、直线高度差计算模块3、边界比较处理模块4;
所述直线起点终点选择模块1根据输入的直线两个端点坐标用于选择直线的起点和终点,同时也规定了直线从低点向高点的扫描方向,并将选择的起点和终点发送给直线方程计算模块2和直线高度差计算模块3。
所述直线方程计算模块2接收直线起点终点选择模块1发送的起点和终点,进行直线方程计算,并将直线方程发送给边界比较处理模块4;
所述直线高度差计算模块3接收直线起点终点选择模块1发送的起点和终点,计算直线最大的高度差,并将直线高度差发送给边界比较处理模块4;
所述边界比较处理模块4接收直线方程计算模块2发送的直线方程和直线高度差计算模块3发送的直线高度差进行边界比较处理,当局部高度差大于直线最大高度差时,此片元的高度赋值为终点高度,否则高度保持。扫描完整的直线,计算直线上每个片元坐标。
边界比较处理模块4包括了片元高度差子模块41和边界修正子模块42;
所述片元高度差子模块41接收直线起点终点选择模块1发送的直线起点和直线方程计算模块2发送的直线方程计算每个片元高度差。
所述边界修正子模块42接收直线起点终点选择模块1发送的直线终点、直线高度差计算模块3发送的直线高度差和片元高度差子模块41发送的每个片元高度差,做边界修正,计算每个片元坐标。
直线方程:y=kx+b,其中k是斜率,b是截距。
所述直线高度差计算模块3根据选择的终点和起点计算直线最大的高度差,此高度差就是直线高度差。
本发明的有益效果:
本发明实现了基于TLM模型的GPU线光栅化边界算法功能优化和实现结构以及功能验证,解决了因为误差累积导致的直线光栅化不准确问题,尤其最有可能出现两条直线交点不一致情况,有效的帮助RTL设计开发。
附图说明
图1为本发明线光栅化边界算法的硬件TLM微结构框图;
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
本发明目的是提供一种面向GPU硬件线光栅化边界算法的TLM微结构。
本发明的技术解决方案是:
一种面向GPU硬件线光栅化边界算法的TLM微结构,包括直线起点终点选择模块1、直线方程计算模块2、直线高度差计算模块3、边界比较处理模块4;
所述直线起点终点选择模块1根据输入的直线两个端点坐标用于选择直线的起点和终点,同时也规定了直线从低点向高点的扫描方向,并将选择的起点和终点发送给直线方程计算模块2和直线高度差计算模块3。
所述直线方程计算模块2接收直线起点终点选择模块1发送的起点和终点,进行直线方程计算,并将直线方程发送给边界比较处理模块4;
所述直线高度差计算模块3接收直线起点终点选择模块1发送的起点和终点,计算直线最大的高度差,并将直线高度差发送给边界比较处理模块4;
所述边界比较处理模块4接收直线方程计算模块2发送的直线方程和直线高度差计算模块3发送的直线高度差进行边界比较处理,当局部高度差大于直线最大高度差时,此片元的高度赋值为终点高度,否则高度保持。扫描完整的直线,计算直线上每个片元坐标。
边界比较处理模块4包括了片元高度差子模块41和边界修正子模块42;
所述片元高度差子模块41接收直线起点终点选择模块1发送的直线起点和直线方程计算模块2发送的直线方程计算每个片元高度差。
所述边界修正子模块42接收直线起点终点选择模块1发送的直线终点、直线高度差计算模块3发送的直线高度差和片元高度差子模块41发送的每个片元高度差,做边界修正,计算每个片元坐标。
工作流程:
1)直线的起点终点选择:
选择直线的起点和终点,同时也规定了直线的扫描方向,一般情况下选择从低点向高点扫描。
2)直线方程计算:
根据选择的终点和起点可以计算直线方程:y=kx+b,其中k是斜率,b是截距。
3)直线高度差计算:
计算直线起点和终点的高度差,此高度差也是整条直线最大的高度差。
4)边界比较处理:
4.1)计算每个片元的的高度:
扫描直线时根据直线方程计算每个片元的高度;
4.2)计算每个片元与起点的高度差:
将直线起点的高度保留,根据上一步得到的高度值计算当前片元与起点的高度差;
4.2)边界比较及处理:
将上一步计算的高度差与直线整体高度差做比较:当此高度差大于直线高度差时,此片元的高度赋值为终点高度,否则高度保持。
实施例:
下面结合附图对本发明做进一步详细描述,请参阅图1。
一种面向GPU硬件线光栅化边界算法的TLM微结构,包括以下步骤:
1)直线的起点终点选择:
根据输入的直线两个端点坐标用于选择直线的起点和终点,同时也规定了直线从低点向高点的扫描方向,当直线高度一致时,扫描方向选择从左到右。
2)直线方程计算:
根据选择的终点和起点可以计算直线方程:y=kx+b,其中k是斜率,b是截距。
3)直线高度差计算:
根据选择的终点和起点计算直线最大的高度差,此高度差就是直线高度差。
4)边界比较处理:
4.1)片元高度差:
根据直线方程计算每个片元的高度,并根据选择直线的起点计算每个片元高度差。
4.2)边界修正:
根据每个片元高度差和直线高度差做边界修正,当此片元高度差大于直线高度差时,此片元的高度为选择直线的终点高度,否则片元高度保持。扫描完整条直线,计算直线上每个片元坐标。
Claims (4)
1.一种面向GPU硬件线光栅化边界算法的TLM微结构,其特征在于:包括直线起点终点选择模块(1)、直线方程计算模块(2)、直线高度差计算模块(3)、边界比较处理模块(4);
所述直线起点终点选择模块(1)根据输入的直线两个端点坐标用于选择直线的起点和终点,同时也规定了直线从低点向高点的扫描方向,并将选择的起点和终点发送给直线方程计算模块(2)和直线高度差计算模块(3);
所述直线方程计算模块(2)接收直线起点终点选择模块(1)发送的起点和终点,进行直线方程计算,并将直线方程发送给边界比较处理模块(4);
所述直线高度差计算模块(3)接收直线起点终点选择模块(1)发送的起点和终点,计算直线最大的高度差,并将直线高度差发送给边界比较处理模块(4);
所述边界比较处理模块(4)接收直线方程计算模块(2)发送的直线方程和直线高度差计算模块(3)发送的直线高度差进行边界比较处理,当局部高度差大于直线最大高度差时,此片元的高度赋值为终点高度,否则高度保持。扫描完整的直线,计算直线上每个片元坐标。
2.根据权利要求1所述的一种面向GPU硬件线光栅化边界算法的TLM微结构,其特征在于:边界比较处理模块(4)包括了片元高度差子模块(41)和边界修正子模块(42);
所述片元高度差子模块(41)接收直线起点终点选择模块(1)发送的直线起点和直线方程计算模块(2)发送的直线方程计算每个片元高度差。
所述边界修正子模块(42)接收直线起点终点选择模块(1)发送的直线终点、直线高度差计算模块(3)发送的直线高度差和片元高度差子模块(41)发送的每个片元高度差,做边界修正,计算每个片元坐标。
3.根据权利要求1所述的一种面向GPU硬件线光栅化边界算法的TLM微结构,其特征在于:直线方程:y=kx+b,其中k是斜率,b是截距。
4.根据权利要求1所述的一种面向GPU硬件线光栅化边界算法的TLM微结构,其特征在于:所述直线高度差计算模块(3)根据选择的终点和起点计算直线最大的高度差,此高度差就是直线高度差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530274.6A CN109657328B (zh) | 2018-12-12 | 2018-12-12 | 一种面向gpu硬件线光栅化边界算法的tlm微结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530274.6A CN109657328B (zh) | 2018-12-12 | 2018-12-12 | 一种面向gpu硬件线光栅化边界算法的tlm微结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657328A true CN109657328A (zh) | 2019-04-19 |
CN109657328B CN109657328B (zh) | 2023-03-14 |
Family
ID=66114327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811530274.6A Active CN109657328B (zh) | 2018-12-12 | 2018-12-12 | 一种面向gpu硬件线光栅化边界算法的tlm微结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657328B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941939A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件像素复制算法的tlm微结构 |
CN111008515A (zh) * | 2019-11-18 | 2020-04-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件子纹理替换存储算法的tlm微结构 |
CN111047498A (zh) * | 2019-11-18 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03196379A (ja) * | 1989-12-26 | 1991-08-27 | Nippon Steel Corp | 描画演算処理装置 |
US5122884A (en) * | 1989-11-13 | 1992-06-16 | Lasermaster Corporation | Line rasterization technique for a non-gray scale anti-aliasing method for laser printers |
JPH05128272A (ja) * | 1991-10-30 | 1993-05-25 | Hitachi Telecom Technol Ltd | 直線描画処理における交点算出方法 |
US5657436A (en) * | 1995-06-08 | 1997-08-12 | Hewlett-Packard Company | Preprocessing apparatus and method for line scan conversion in a computer graphics system |
US20030076324A1 (en) * | 2001-10-18 | 2003-04-24 | Thrasher Thomas L. | Active region determination for line generation in regionalized rasterizer displays |
US20040263516A1 (en) * | 2003-06-30 | 2004-12-30 | Microsoft Corporation | Hardware-accelerated anti-aliased graphics |
US6982723B1 (en) * | 1998-08-30 | 2006-01-03 | Gmd-Forschungszentrum Informationstechnik Gmbh | Method and apparatus for eliminating unwanted steps at edges in graphic representations in the line raster |
-
2018
- 2018-12-12 CN CN201811530274.6A patent/CN109657328B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5122884A (en) * | 1989-11-13 | 1992-06-16 | Lasermaster Corporation | Line rasterization technique for a non-gray scale anti-aliasing method for laser printers |
JPH03196379A (ja) * | 1989-12-26 | 1991-08-27 | Nippon Steel Corp | 描画演算処理装置 |
JPH05128272A (ja) * | 1991-10-30 | 1993-05-25 | Hitachi Telecom Technol Ltd | 直線描画処理における交点算出方法 |
US5657436A (en) * | 1995-06-08 | 1997-08-12 | Hewlett-Packard Company | Preprocessing apparatus and method for line scan conversion in a computer graphics system |
US6982723B1 (en) * | 1998-08-30 | 2006-01-03 | Gmd-Forschungszentrum Informationstechnik Gmbh | Method and apparatus for eliminating unwanted steps at edges in graphic representations in the line raster |
US20030076324A1 (en) * | 2001-10-18 | 2003-04-24 | Thrasher Thomas L. | Active region determination for line generation in regionalized rasterizer displays |
US20040263516A1 (en) * | 2003-06-30 | 2004-12-30 | Microsoft Corporation | Hardware-accelerated anti-aliased graphics |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941939A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件像素复制算法的tlm微结构 |
CN111008515A (zh) * | 2019-11-18 | 2020-04-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件子纹理替换存储算法的tlm微结构 |
CN111047498A (zh) * | 2019-11-18 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 |
CN111047498B (zh) * | 2019-11-18 | 2022-12-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 |
CN110941939B (zh) * | 2019-11-18 | 2022-12-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件像素复制算法的tlm微结构 |
CN111008515B (zh) * | 2019-11-18 | 2023-06-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件子纹理替换存储算法的tlm微结构 |
Also Published As
Publication number | Publication date |
---|---|
CN109657328B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657328A (zh) | 一种面向gpu硬件线光栅化边界算法的tlm微结构 | |
KR20060128704A (ko) | 컴퓨터 지원 설계 프로그램 및 그 시스템 | |
US20120154435A1 (en) | Display control apparatus and display control method | |
GB2611691A (en) | Semiconductor circuit design and unit pin placement | |
US8249392B2 (en) | Method for aligning point clouds | |
CN109871743B (zh) | 文本数据的定位方法及装置、存储介质、终端 | |
CN109697743A (zh) | 一种面向GPU硬件LineStipple算法的TLM微结构 | |
CN114611452A (zh) | 基于电路原理图在版图中自动生成Sub Cell的方法 | |
CN104915053A (zh) | 一种界面控件的位置确定方法和装置 | |
US5471569A (en) | Retrieval space determination system for three-dimensionally shaped parts in a CAD system | |
CN117408069A (zh) | 一种钣金件分模线自动生成方法、存储介质和电子设备 | |
CN111091487A (zh) | 一种面向gpu硬件线图元光栅化扫描算法的tlm微结构 | |
US7865330B2 (en) | System and method for measuring a curve of an object | |
US8219948B2 (en) | Layout verification device, layout verification program, and layout verification method of layout pattern of semiconductor device | |
CN108734665A (zh) | 一种图像的校正方法、装置、设备及存储介质 | |
US8245181B2 (en) | Printed circuit board layout system and method thereof | |
CN102542089A (zh) | 布线距离检查***及方法 | |
CN110688704A (zh) | 家装设计方法、***及电子设备 | |
CN101937477B (zh) | 实现图档拟合的数据处理设备、***及方法 | |
CN114581292A (zh) | 一种二维图像的三维标注方法及装置 | |
CN114444185A (zh) | 原位标注的识别方法、装置及电子设备 | |
CN114119990A (zh) | 用于图像特征点匹配的方法、装置及计算机程序产品 | |
CN111047498A (zh) | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 | |
CN115659900B (zh) | 用于呈现集成电路版图的方法、设备和介质 | |
CN114090158B (zh) | 显示方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |