CN110942478B - 一种基于SystemC的纹理完整性计算方法及计算单元 - Google Patents
一种基于SystemC的纹理完整性计算方法及计算单元 Download PDFInfo
- Publication number
- CN110942478B CN110942478B CN201911125601.4A CN201911125601A CN110942478B CN 110942478 B CN110942478 B CN 110942478B CN 201911125601 A CN201911125601 A CN 201911125601A CN 110942478 B CN110942478 B CN 110942478B
- Authority
- CN
- China
- Prior art keywords
- texture
- integrity
- command
- calculation
- systemc
- 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/40—Analysis of texture
- G06T7/41—Analysis of texture based on statistical description of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明涉及计算机硬件建模技术领域,尤其涉及一种基于SystemC的纹理完整性计算方法及计算单元。该方法包括:步骤1:监控命令处理器下发纹理处理命令;步骤2:执行纹理完整性判断;步骤3:执行纹理映射使能的计算。本发明实现了面向GPU纹理完整性计算单元计算方法及计算单元的设计,解决了GPU纹理完整性计算单元功能验证的问题,并且为RTL仿真提供了精确的数据对比,加快了仿真的速度。
Description
技术领域
本发明涉及计算机硬件建模技术领域,尤其涉及一种基于SystemC的纹理完整性计算方法及计算单元。
背景技术
随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。从1999年Nvidia发布第一款GPU产品至今,GPU技术的发展主要经历了固定功能流水线阶段、分离染色器架构阶段、统一染色器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
GPU芯片研制硬件逻辑规模巨大,复杂程度越来越高,需要在更高的抽象层次上对设计进行描述,以便能进行更高速度的仿真、软/硬件协同仿真和体系架构的探索。当设计被表达为系统级模型时,选用不同的算法对设计进行多次尝试是很容易做到的,换用不同的结构进行试验也能很快的完成;倘若使用寄存器传输级或门级模型来表达设计,规模通常相当大,若要试探不同的设计结构或者做一些改动,即使不是太困难,也相当费时费力。
SystemC作为一种语言推动其开发和标准化的关键因素是可以进行系统级设计,并且可以描述硬件的架构和软件的算法,支持验证和IP的交流。在系统级上使用SystemC作为软件和硬件的分割权衡比其他语言容易的多,并且进行仿真比使用多种语言进行仿真要快速的多。因此采用基于SystemC来设计和描述单元的微结构能够建立一个完全标准的仿真环境,在高抽象层次上直接建模。
图像处理功能被广泛应用于国防军事领域、工业领域和民用领域,它们都需要使用大量的图片构造场景并达到真是感的模拟,即3D纹理贴图。基于纹理的渲染技术是一种硬件加速技术,纹理映射是一种将由相机获取的二维图像应用到物体表面上以便三维物体具有纹理表明的技术,其中纹理指的是二维图像并且每个点元素在纹理中被称为与所显示部分的每个像素相关联的纹理元素。3D硬件加速中,它负责在主机的存储器和显屏之间对纹理数据进行传输,图形渲染效果依赖与数据传输的效率和稳定性。纹理映射在提高计算机生成图像真实性方面的有效性,使实时纹理映射成为图形流水线的关键部分。
如果纹理存储器访问请求访问了不具有完整性的纹理(例如,访问了不存在的纹理数据,或者访问了不符合预定要求的纹理数据),会导致无法预知的后果。因此,如果加载的纹理不具有完整性,则应当关闭纹理映射使能,以便从而保证GPU纹理贴图的正确性。
发明内容
基于背景技术中存在的问题,本发明提供的一种基于SystemC的纹理完整性计算方法,能够解决GPU纹理完整性计算单元功能验证的问题,并且为RTL仿真提供了精确的数据对比,加快了仿真的速度。
本发明的技术解决方案是:
本发明提供了一种基于SystemC的纹理完整性计算方法,
步骤1:监控命令处理器下发纹理处理命令;
步骤2:执行纹理完整性判断;
步骤3:执行纹理映射使能的计算。
进一步的,所述步骤1)中的纹理处理命令包括纹理加载命令或者纹理参数配置命令:
所述纹理加载命令为:下发glTexImage命令到图像处理单元,图像处理单元完成纹理的加载后,由命令处理器设置TexImageCompletionStart=1;
所述纹理参数配置命令为:下发glTexParameter命令到纹理完整性计算单元单元,完成相关纹理参数的配置后,由命令处理器设置TexParametersCompletionStart=1;
其中:TexImageCompletionStart表示纹理加载启动标记;
TexParametersCompletionStart表示纹理参数配置启动标记。
进一步的,所述步骤2)包括:
监控进程TexImage_TexParameters_Monitor_Thread()在监控到TexImageCompletionStart或TexParametersCompletionStart为1后,调用Integrality_Calculate()函数,执行当前第i幅纹理的完整性计算,将完整性计算的结果保存在数组texObjIntegrality[i]中;
调用完Integrality_Calculate()后,清除TexImageCompletionStart或TexParametersCompletionStart为0;
其中:TexImage_TexParameters_Monitor_Thread()为监控TexImageCompletionStart和TexImageCompletionStart变量并且启动纹理完整性计算的进程;
Integrality_Calculate()为执行完整性判断的算法的函数;
texObjIntegrality[i]为保存第i幅纹理的完整性计算结果的数组。
进一步的,所述步骤3)包括:
纹理完整性计算单元中的更新纹理映射使能进程Update_Tex_Map_Enable_Thread()实时计算第j重纹理的映射使能结果,将结果保存在数组texMapEnable[j]中;该数组texMapEnable[j]中的结果即为基于SystemC的纹理完整性计算结果;
其中,Update_Tex_Map_Enable_Thread()为更新纹理映射使能的进程;
texMapEnable[j]为保存第j重纹理的映射使能结果的数组。
所述的基于SystemC的纹理完整性计算方法,其特征在于:
所述数组texMapEnable[j]还连接有接口函数Query_Tex_Map_Enable_Status();
所述接口函数Query_Tex_Map_Enable_Status()查询第j重纹理映射使能的结果,该结果通过端口绑定的接口函数供任务调度单元、纹理贴图单元、统一染色单元、输出控制单元调用;
其中:Query_Tex_Map_Enable_Status()为查询纹理映射使能的函数。
本发明的另一目的,在于提供一种基于SystemC的纹理完整性计算单元,所述计算单元实施上述任一项所述的计算方法的计算单元。
进一步的,所述纹理完整性计算单元通过事物级接口,与命令处理器、图像处理单元、任务调度单元、纹理贴图单元、统一染色单元和输出控制单元相连接。
本发明的有益效果:
本发明基于SystemC软/硬件协同设计语言,提供了一种纹理完整性计算方法,解决了GPU纹理完整性计算单元功能验证的问题,并且为RTL仿真提供了精确的数据对比,加快了仿真的速度。
附图说明
图1基于SystemC的面向GPU纹理完整性计算方法的流程框图;
图2基于SystemC的面向GPU纹理完整性计算单元的结构框图。
具体实施方式
一种基于SystemC的纹理完整性计算方法,其特征在于:
步骤1:监控命令处理器下发纹理处理命令;
步骤2:执行纹理完整性判断;
步骤3:执行纹理映射使能的计算。
所述的基于SystemC的纹理完整性计算方法,其特征在于:
所述步骤1)中的纹理处理命令包括纹理加载命令或者纹理参数配置命令:
所述纹理加载命令为:下发glTexImage命令到图像处理单元,图像处理单元完成纹理的加载后,由命令处理器设置TexImageCompletionStart=1;
所述纹理参数配置命令为:下发glTexParameter命令到纹理完整性计算单元单元,完成相关纹理参数的配置后,由命令处理器设置TexParametersCompletionStart=1;
其中:TexImageCompletionStart表示纹理加载启动标记;
TexParametersCompletionStart表示纹理参数配置启动标记。
所述的基于SystemC的纹理完整性计算方法,其特征在于:所述步骤2)包括:
监控进程TexImage_TexParameters_Monitor_Thread()在监控到TexImageCompletionStart或TexParametersCompletionStart为1后,调用Integrality_Calculate()函数,执行当前第i幅纹理的完整性计算,将完整性计算的结果保存在数组texObjIntegrality[i]中;
调用完Integrality_Calculate()后,清除TexImageCompletionStart或TexParametersCompletionStart为0;
其中:TexImage_TexParameters_Monitor_Thread()为监控TexImageCompletionStart和TexImageCompletionStart变量并且启动纹理完整性计算的进程;
Integrality_Calculate()为执行完整性判断的算法的函数,具体执行判断纹理应用的纹理图像数组和纹理参数定义是否完整,若都是完整的,则认为纹理是完整的。
texObjIntegrality[i]为保存第i幅纹理的完整性计算结果的数组。
所述的基于SystemC的纹理完整性计算方法,其特征在于:所述步骤3)包括:
纹理完整性计算单元中的更新纹理映射使能进程Update_Tex_Map_Enable_Thread()实时计算第j重纹理的映射使能结果,具体执行:访问完整性计算结果数组texObjIntegrality[i],判断若第j重纹理使能且当前重纹理对应的第i幅纹理为完整,则纹理映射结果为使能,将结果保存在数组texMapEnable[j]中;该数组texMapEnable[j]中的结果即为基于SystemC的纹理完整性计算结果;
其中,Update_Tex_Map_Enable_Thread()为更新纹理映射使能的进程;
texMapEnable[j]为保存第j重纹理的映射使能结果的数组。
所述的基于SystemC的纹理完整性计算方法,其特征在于:
所述数组texMapEnable[j]还连接有接口函数Query_Tex_Map_Enable_Status();
所述接口函数Query_Tex_Map_Enable_Status()查询第j重纹理映射使能的结果,该结果通过端口绑定的接口函数供任务调度单元、纹理贴图单元、统一染色单元、输出控制单元调用;
其中:Query_Tex_Map_Enable_Status()为查询纹理映射使能的函数。
一种基于SystemC的纹理完整性计算单元,其特征在于,所述计算单元实施一种基于SystemC的纹理完整性计算方法所述的计算方法的计算单元。
所述的基于SystemC的纹理完整性计算单元,其特征在于:
所述纹理完整性计算单元通过事物级接口,与命令处理器、图像处理单元、任务调度单元、纹理贴图单元、统一染色单元和输出控制单元相连接。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于SystemC的纹理完整性计算方法,其特征在于:
步骤1:监控命令处理器下发纹理处理命令;
步骤2:执行纹理完整性判断;
步骤3:执行纹理映射使能的计算,
所述步骤2包括:
监控进程TexImage_TexParameters_Monitor_Thread()在监控到TexImageCompletionStart或TexParametersCompletionStart为1后,调用Integrality_Calculate()函数,执行当前第i幅纹理的完整性计算,将完整性计算的结果保存在数组texObjIntegrality[i]中;
调用完Integrality_Calculate()后,清除TexImageCompletionStart或TexParametersCompletionStart为0;
其中:TexImage_TexParameters_Monitor_Thread()为监控TexImageCompletionStart和TexImageCompletionStart变量并且启动纹理完整性计算的进程;
Integrality_Calculate() 为执行完整性判断的算法的函数;
texObjIntegrality[i] 为保存第i幅纹理的完整性计算结果的数组,
所述步骤1中的纹理处理命令包括纹理加载命令或者纹理参数配置命令,
所述纹理加载命令为:下发glTexImage命令到图像处理单元,图像处理单元完成纹理的加载后,由命令处理器设置TexImageCompletionStart=1;
所述纹理参数配置命令为:下发glTexParameter命令到纹理完整性计算单元单元,完成相关纹理参数的配置后,由命令处理器设置TexParametersCompletionStart=1;
其中:TexImageCompletionStart 表示纹理加载启动标记;
TexParametersCompletionStart表示纹理参数配置启动标记。
2.根据权利要求1所述的基于SystemC的纹理完整性计算方法,其特征在于:所述步骤3包括:
纹理完整性计算单元中的更新纹理映射使能进程Update_Tex_Map_Enable_Thread()实时计算第j重纹理的映射使能结果,将结果保存在数组texMapEnable[j]中;该数组texMapEnable[j]中的结果即为基于SystemC的纹理完整性计算结果;
其中,Update_Tex_Map_Enable_Thread() 为更新纹理映射使能的进程;
texMapEnable[j]为保存第j重纹理的映射使能结果的数组。
3.根据权利要求2所述的基于SystemC的纹理完整性计算方法,其特征在于:
所述数组texMapEnable[j]还连接有接口函数Query_Tex_Map_Enable_Status();
所述接口函数Query_Tex_Map_Enable_Status()查询第j重纹理映射使能的结果,该结果通过端口绑定的接口函数供任务调度单元、纹理贴图单元、统一染色单元、输出控制单元调用;
其中:Query_Tex_Map_Enable_Status()为查询纹理映射使能的函数。
4.一种基于SystemC的纹理完整性计算装置,其特征在于,所述计算装置为实施如权利要求1-3任一项所述的计算方法的计算装置。
5.根据权利要求4所述的基于SystemC的纹理完整性计算装置,其特征在于:
所述纹理完整性计算装置通过事物级接口,与命令处理器、图像处理单元、任务调度单元、纹理贴图单元、统一染色单元和输出控制单元相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125601.4A CN110942478B (zh) | 2019-11-18 | 2019-11-18 | 一种基于SystemC的纹理完整性计算方法及计算单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125601.4A CN110942478B (zh) | 2019-11-18 | 2019-11-18 | 一种基于SystemC的纹理完整性计算方法及计算单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110942478A CN110942478A (zh) | 2020-03-31 |
CN110942478B true CN110942478B (zh) | 2023-09-19 |
Family
ID=69906959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911125601.4A Active CN110942478B (zh) | 2019-11-18 | 2019-11-18 | 一种基于SystemC的纹理完整性计算方法及计算单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110942478B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7825936B1 (en) * | 2004-11-19 | 2010-11-02 | Nvidia Corporation | Method and system for texture instruction demotion optimization |
CN102306391A (zh) * | 2011-09-20 | 2012-01-04 | 深圳Tcl新技术有限公司 | 基于OpenGL的倒影显示处理装置及方法 |
CN104751494A (zh) * | 2015-04-27 | 2015-07-01 | 国家电网公司 | 一种OpenGL超大纹理的处理和绘制方法 |
US9384523B1 (en) * | 2013-07-30 | 2016-07-05 | Google Inc. | Method for reducing input latency on GPU accelerated devices and applications |
CN106683171A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种GPU多线程纹理映射SystemC建模结构 |
US10255655B1 (en) * | 2017-06-16 | 2019-04-09 | Apple Inc. | Serial pixel processing with storage for overlapping texel data |
CN109614086A (zh) * | 2018-11-14 | 2019-04-12 | 西安翔腾微电子科技有限公司 | 基于SystemC的面向GPU纹理缓冲区数据存储TLM模型及实现结构 |
CN109683877A (zh) * | 2018-12-11 | 2019-04-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemC的GPU软硬件交互TLM系统 |
-
2019
- 2019-11-18 CN CN201911125601.4A patent/CN110942478B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7825936B1 (en) * | 2004-11-19 | 2010-11-02 | Nvidia Corporation | Method and system for texture instruction demotion optimization |
CN102306391A (zh) * | 2011-09-20 | 2012-01-04 | 深圳Tcl新技术有限公司 | 基于OpenGL的倒影显示处理装置及方法 |
US9384523B1 (en) * | 2013-07-30 | 2016-07-05 | Google Inc. | Method for reducing input latency on GPU accelerated devices and applications |
CN104751494A (zh) * | 2015-04-27 | 2015-07-01 | 国家电网公司 | 一种OpenGL超大纹理的处理和绘制方法 |
CN106683171A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种GPU多线程纹理映射SystemC建模结构 |
US10255655B1 (en) * | 2017-06-16 | 2019-04-09 | Apple Inc. | Serial pixel processing with storage for overlapping texel data |
CN109614086A (zh) * | 2018-11-14 | 2019-04-12 | 西安翔腾微电子科技有限公司 | 基于SystemC的面向GPU纹理缓冲区数据存储TLM模型及实现结构 |
CN109683877A (zh) * | 2018-12-11 | 2019-04-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemC的GPU软硬件交互TLM系统 |
Non-Patent Citations (2)
Title |
---|
任向隆.面向OpenGL 2.0的图形处理器图像处理单元体系结构.《计算机辅助设计与图形学学报》.2019,第1858-1870页. * |
姬建伟.GPU中纹理映射的研究与设计.《中国优秀硕士学位论文全文数据库信息 科技辑》.2013,第22-26页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110942478A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | A massively parallel and scalable multi-GPU material point method | |
US7765500B2 (en) | Automated generation of theoretical performance analysis based upon workload and design configuration | |
US11188618B2 (en) | Sparse matrix multiplication acceleration mechanism | |
JP2009545067A (ja) | グラフィックスプロセッサ上の物理シミュレーション | |
US11315303B2 (en) | Graphics processing | |
CN110036375B (zh) | 无序高速缓存返回 | |
US20210026686A1 (en) | Chiplet-integrated machine learning accelerators | |
US20240053985A1 (en) | Sharing register file usage between fused processing resources | |
WO2023213178A1 (zh) | 一种高分辨率遥感图像的目标检测方法及装置 | |
GB2493438A (en) | Water simulation using velocity-dependent column heights | |
WO2021120577A1 (zh) | 神经网络模型中的数据计算方法、图像处理方法及装置 | |
US20190050514A1 (en) | Fault injection using hybrid simulation model | |
GB2607348A (en) | Graphics processing | |
US11010863B2 (en) | Bindpoint emulation | |
CN110942478B (zh) | 一种基于SystemC的纹理完整性计算方法及计算单元 | |
CN115129460A (zh) | 获取算子硬件时间的方法、装置、计算机设备和存储介质 | |
US20210374209A1 (en) | Matrix operation optimization mechanism | |
CN112861374A (zh) | 基于预控制器的多物理耦合仿真处理方法、装置和设备 | |
WO2020118547A1 (en) | Fpga-based acceleration using opencl on fcl in robot motion planning | |
US20090326888A1 (en) | Vectorized parallel collision detection pipeline | |
CN111242832B (zh) | 基于SystemC的GPU纹理贴图周期精确联合仿真装置及方法 | |
Juurlink et al. | GRAAL: A framework for low-power 3D graphics accelerators | |
CN116018620A (zh) | 调用深度剔除的着色器核心指令 | |
Cossell et al. | Parallel evaluation of a spatial traversability cost function on GPU for efficient path planning | |
Mihai et al. | Implementing high performance system simulators using modern graphics rendering devices: Implementing system control algorithms on graphics hardware |
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 |