CN109753280A - 一种基于SystemC的图形处理器TLM模型图像输出方法 - Google Patents
一种基于SystemC的图形处理器TLM模型图像输出方法 Download PDFInfo
- Publication number
- CN109753280A CN109753280A CN201811515496.0A CN201811515496A CN109753280A CN 109753280 A CN109753280 A CN 109753280A CN 201811515496 A CN201811515496 A CN 201811515496A CN 109753280 A CN109753280 A CN 109753280A
- Authority
- CN
- China
- Prior art keywords
- gpu
- color
- data
- color buffer
- image output
- 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
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及计算机硬件建模技术领域,尤其涉及一种基于SystemC的图形处理器事务级TLM模型图像输出方法。该图形处理器TLM模型图像输出方法包括颜色缓冲区类型判断,读取相应的颜色缓冲区,转换像素排列方式,转换像素颜色分量排列方式,新建图像文件并将转换后的颜色数据写入该文件和输出图像对比等步骤。解决了通过图片显示快速验证GPU硬件模型正确性的问题,有效地帮助了GPU模型设计开发与验证,并给RTL设计开发与验证提供了有力的支持。
Description
技术领域
本发明涉及计算机硬件建模技术领域,尤其涉及一种基于SystemC的图形处理器TLM模型图像输出方法。
背景技术
目前我国正在自主研制国产的图形处理器芯片(Graphic Processing Unit,GPU),但是由于在此之前国内一直采用的是国外进口的商用或军用GPU芯片,在GPU自主研制方面缺乏设计经验,属于对核心技术的探索研制阶段,与此同时,GPU芯片硬件逻辑的规模巨大,从系统架构文档编写到rtl设计实现,这将是一个漫长的工程,而且即使rtl设计完成后功能性能等的验证也将需要大量的时间,因此,为了提高自主研发图形处理器项目的进度及可靠性,迫切的需要一种高校的方法能够缩短整个设计周期并辅助图形处理器的设计过程,这种方法就是(TransactionLevelModeling,TLM)事务级建模。TLM(事物级建模方法)是一种高级的数字系统模型化方法,能够在项目的早期阶段快速的构建系统模型,它将模型间的通信细节与函数单元或通信架构的细节分离开来。通信机制(如总线或FIFO)被建模成信道,并且以SystemC接口类的形式向模块呈现。事物请求一般在调用这些信道模型的接口函数时发生,而接口函数封装了信息交换的底层细节。在事物层面上,TLM更强调数据传输的功能本身--数据的内容和传输的起止点,并尽可能少涉及具体实现。
发明内容
基于背景技术中存在的问题,本发明提供的一种基于SystemC的GPU图像输出TLM模型,解决了通过图片显示快速验证GPU硬件模型正确性的问题,有效地帮助了GPU模型设计开发与验证,并给RTL设计开发与验证提供了有力的支持。
本发明实施例提供了一种基于SystemC的图形处理器事务级TLM模型图像输出方法,包括:
步骤1:由glFinish命令的调用触发GPU模型图像输出;
步骤2:判断颜色缓冲区类型,并读取所述颜色缓冲区类型的数据;
步骤3:所述颜色缓冲区数据进行像素排列格式转换;
步骤4:将所述颜色缓冲区类型的数据写入所述GPU模型图像;
步骤5:将所述GPU模型图像与GPU硬件平台输出图像进行对比。
可选的,所述由glFinish命令的调用触发GPU模型图像输出,具体包括:
在进行图形处理器TLM建模时,以所述glFinish命令的调用结束当前帧的绘图,并触发所述GPU模型图像输出。
可选的,所述判断颜色缓冲区类型,并读取所述颜色缓冲区类型的数据,具体包括:
通过判断驻留在GPU模型的DARW_BFFER寄存器来判断当前的颜色缓冲区类型;
若当前的颜色缓冲区类型为前-左缓冲区、前-右缓冲区、后-左缓冲区、后-右缓冲区、辅助缓冲区1和辅助缓冲区2中的一种,则读取当前的颜色缓冲区数据到已申请好的动态缓冲区,其中,所述颜色缓冲区数据存储在DDR模型中,读取的数据大小是绘图窗口宽乘以绘图窗口高。
可选的,所述颜色缓冲区数据进行像素排列格式转换,具体包括:像素排列转换和像素颜色分量排列格式转换,其中:
所述像素排列格式转换,是将以Tile排列形式存储在颜色缓冲区的像素数据,转换为行排列形式;
所述像素颜色分量排列格式转换,是将以RGB排列形式的像素颜色转换为BGR颜色分量排列形式。
可选的,所述将所述颜色缓冲区类型的数据写入所述GPU模型图像,具体包括:
根据当前输出分辨率设置创建BMP格式的图像输出文件;
填充BMP格式的图像输出文件的文件头,并将所述像素排列格式转换后的像素颜色数据写入BMP格式的图像输出文件。
可选的,所述将GPU模型图像与GPU硬件平台输出图像进行对比,具体包括:
将GPU模型输出图像与硬件平台和的图形输出结果进行对比,以判断GPU模型功能的正确性,如果输出图像不正确应更改GPU模型设计。
本发明提供的一种基于SystemC的GPUTLM模型图像输出方法,包括颜色缓冲区类型判断,读取相应的颜色缓冲区,转换像素排列方式,转换像素颜色分量排列方式,新建图像文件并将转换后的颜色数据写入该文件和输出图像对比等步骤。解决了通过图片显示快速验证GPU硬件模型正确性的问题,有效地帮助了GPU模型设计开发与验证,并给RTL设计开发与验证提供了有力的支持,大大的缩减了GPU的设计周期。。
附图说明
图1是本发明提出的一种基于SystemC的图形处理器TLM模型图像输出方法流程示意图;
具体实施方式
一种基于SystemC的图形处理器事务级TLM模型图像输出方法,如图1所示,该方法包括如下步骤,
步骤1:由glFinish命令的调用触发GPU模型图像输出;
步骤2:判断颜色缓冲区类型,并读取所述颜色缓冲区类型的数据;
步骤3:所述颜色缓冲区数据进行像素排列格式转换;
步骤4:将所述颜色缓冲区类型的数据写入所述GPU模型图像;
步骤5:将所述GPU模型图像与GPU硬件平台输出图像进行对比。
可选的,所述由glFinish命令的调用触发GPU模型图像输出,具体包括:
在进行图形处理器TLM建模时,以所述glFinish命令的调用结束当前帧的绘图,并触发所述GPU模型图像输出。
可选的,所述判断颜色缓冲区类型,并读取所述颜色缓冲区类型的数据,具体包括:
通过判断驻留在GPU模型的DARW_BFFER寄存器来判断当前的颜色缓冲区类型;
若当前的颜色缓冲区类型为前-左缓冲区、前-右缓冲区、后-左缓冲区、后-右缓冲区、辅助缓冲区1和辅助缓冲区2中的一种,则读取当前的颜色缓冲区数据到已申请好的动态缓冲区,其中,所述颜色缓冲区数据存储在DDR模型中,读取的数据大小是绘图窗口宽乘以绘图窗口高。
可选的,所述颜色缓冲区数据进行像素排列格式转换,具体包括:像素排列转换和像素颜色分量排列格式转换,其中:
所述像素排列格式转换,是将以Tile排列形式存储在颜色缓冲区的像素数据,转换为行排列形式;
所述像素颜色分量排列格式转换,是将以RGB排列形式的像素颜色转换为BGR颜色分量排列形式。
可选的,所述将所述颜色缓冲区类型的数据写入所述GPU模型图像,具体包括:
根据当前输出分辨率设置创建BMP格式的图像输出文件;
填充BMP格式的图像输出文件的文件头,并将所述像素排列格式转换后的像素颜色数据写入BMP格式的图像输出文件。
可选的,所述将GPU模型图像与GPU硬件平台输出图像进行对比,具体包括:
将GPU模型输出图像与硬件平台和的图形输出结果进行对比,以判断GPU模型功能的正确性,如果输出图像不正确应更改GPU模型设计。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于SystemC的图形处理器事务级TLM模型图像输出方法,其特征在于,
由glFinish命令的调用触发GPU模型图像输出;
判断颜色缓冲区类型,并读取所述颜色缓冲区类型的数据;
所述颜色缓冲区数据进行像素排列格式转换;
将所述颜色缓冲区类型的数据写入所述GPU模型图像;
将所述GPU模型图像与GPU硬件平台输出图像进行对比。
2.根据权利要求1所述的方法,其特征在于:所述由glFinish命令的调用触发GPU模型图像输出,具体包括:
在进行图形处理器TLM建模时,以所述glFinish命令的调用结束当前帧的绘图,并触发所述GPU模型图像输出。
3.根据权利要求1所述的方法,其特征在于:所述判断颜色缓冲区类型,并读取所述颜色缓冲区类型的数据,具体包括:
通过判断驻留在GPU模型的DARW_BFFER寄存器来判断当前的颜色缓冲区类型;
若当前的颜色缓冲区类型为前-左缓冲区、前-右缓冲区、后-左缓冲区、后-右缓冲区、辅助缓冲区1和辅助缓冲区2中的一种,则读取当前的颜色缓冲区数据到已申请好的动态缓冲区,其中,所述颜色缓冲区数据存储在DDR模型中,读取的数据大小是绘图窗口宽乘以绘图窗口高。
4.根据权利要求1所述的方法,其特征在于:所述颜色缓冲区数据进行像素排列格式转换,具体包括:像素排列转换和像素颜色分量排列格式转换,其中:
所述像素排列格式转换,是将以Tile排列形式存储在颜色缓冲区的像素数据,转换为行排列形式;
所述像素颜色分量排列格式转换,是将以RGB排列形式的像素颜色转换为BGR颜色分量排列形式。
5.根据权利要求1所述的方法,其特征在于:所述将所述颜色缓冲区类型的数据写入所述GPU模型图像,具体包括:
根据当前输出分辨率设置创建BMP格式的图像输出文件;
填充BMP格式的图像输出文件的文件头,并将所述像素排列格式转换后的像素颜色数据写入BMP格式的图像输出文件。
6.根据权利要求1所述的方法,其特征在于:所述将GPU模型图像与GPU硬件平台输出图像进行对比,具体包括:
将GPU模型输出图像与硬件平台和的图形输出结果进行对比,以判断GPU模型功能的正确性,如果输出图像不正确应更改GPU模型设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515496.0A CN109753280B (zh) | 2018-12-11 | 2018-12-11 | 一种基于SystemC的图形处理器TLM模型图像输出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515496.0A CN109753280B (zh) | 2018-12-11 | 2018-12-11 | 一种基于SystemC的图形处理器TLM模型图像输出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753280A true CN109753280A (zh) | 2019-05-14 |
CN109753280B CN109753280B (zh) | 2022-03-15 |
Family
ID=66403752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811515496.0A Active CN109753280B (zh) | 2018-12-11 | 2018-12-11 | 一种基于SystemC的图形处理器TLM模型图像输出方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753280B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765715A (zh) * | 2019-11-21 | 2020-02-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu芯片渲染输出单元性能仿真方法及平台 |
CN110941939A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件像素复制算法的tlm微结构 |
CN111008515A (zh) * | 2019-11-18 | 2020-04-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件子纹理替换存储算法的tlm微结构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132991A1 (en) * | 2007-11-16 | 2009-05-21 | Nec Laboratories America, Inc | Partial order reduction for scalable testing in system level design |
CN106683171A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种GPU多线程纹理映射SystemC建模结构 |
CN106683158A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种GPU纹理映射非阻塞存储Cache的建模结构 |
-
2018
- 2018-12-11 CN CN201811515496.0A patent/CN109753280B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132991A1 (en) * | 2007-11-16 | 2009-05-21 | Nec Laboratories America, Inc | Partial order reduction for scalable testing in system level design |
CN106683171A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种GPU多线程纹理映射SystemC建模结构 |
CN106683158A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种GPU纹理映射非阻塞存储Cache的建模结构 |
Non-Patent Citations (4)
Title |
---|
EMAD EBEID: "Generation of SystemC/TLM code from UML/MARTE sequence diagrams for verification", 《2012 IEEE 15TH INTERNATIONAL SYMPOSIUM ON DESIGN AND DIAGNOSTICS OF ELECTRONIC CIRCUITS & SYSTEMS (DDECS)》 * |
康国栋: "基于SystemC TLM模型的GPU图像处理单元验证", 《CNKI优秀硕士学位论文全文库》 * |
张舒: "基于SystemC TLM模型的纹理贴图单元体系结构量化研究", 《CNKI优秀硕士学位论文全文库》 * |
范婧 等: "一种基于SystemC 的仿真平台快速构建方法", 《计算机与现代化》 * |
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微结构 |
CN110941939B (zh) * | 2019-11-18 | 2022-12-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件像素复制算法的tlm微结构 |
CN111008515B (zh) * | 2019-11-18 | 2023-06-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件子纹理替换存储算法的tlm微结构 |
CN110765715A (zh) * | 2019-11-21 | 2020-02-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu芯片渲染输出单元性能仿真方法及平台 |
CN110765715B (zh) * | 2019-11-21 | 2023-06-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu芯片渲染输出单元性能仿真方法及平台 |
Also Published As
Publication number | Publication date |
---|---|
CN109753280B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753280A (zh) | 一种基于SystemC的图形处理器TLM模型图像输出方法 | |
CN100442293C (zh) | 合并硬件设计语言的原始档案与查验资料档案的方法 | |
CN109683877B (zh) | 一种基于SystemC的GPU软硬件交互TLM系统 | |
CN102480467B (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN106484415A (zh) | 一种寄存器配置代码自动生成方法及装置 | |
CN113835945A (zh) | 芯片的测试方法、装置、设备及系统 | |
CN102176213A (zh) | 基于fpga的avs解码芯片验证平台装置及方法 | |
CN105718420A (zh) | 数据处理装置及其操作方法 | |
US20220147676A1 (en) | Integrated circuit simulation and design method and system thereof | |
CN109840878B (zh) | 一种基于SystemC的面向GPU参数管理方法 | |
CN111080761B (zh) | 一种渲染任务的调度方法、装置及计算机存储介质 | |
JP2004054755A (ja) | システムレベル設計方法及びシステムレベル設計装置 | |
CN109710229B (zh) | 一种面向gpu芯片图形管线单元的架构验证方法及平台 | |
CN114817114A (zh) | 一种mipi接口、及其控制方法、装置及介质 | |
CN108563519A (zh) | 基于gpgpu中的2d桌面块拷贝填充操作的实现 | |
CN109614086B (zh) | 基于SystemC和TLM模型的GPU纹理缓冲区数据存储硬件及存储装置 | |
CN111080508B (zh) | 一种基于dma的gpu子图像处理方法 | |
CN106934187B (zh) | 一种提高芯片fpga原型验证效率的调试方法及系统 | |
CN111242832B (zh) | 基于SystemC的GPU纹理贴图周期精确联合仿真装置及方法 | |
US7930439B2 (en) | Command output control apparatus | |
CN113766216A (zh) | 一种视频模块的验证方法及验证系统 | |
CN105068908A (zh) | 一种用于kvm asic的功能验证平台的搭建方法 | |
CN109885850B (zh) | 一种局部寄存器的生成方法及生成系统 | |
CN105260545B (zh) | 一种可编程电路系统的验证方法 | |
CN205005137U (zh) | Fpga的实时图像采集和去噪处理的装置 |
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 |