CN111028133B - 一种基于SystemVerilog的图形命令预译码装置 - Google Patents
一种基于SystemVerilog的图形命令预译码装置 Download PDFInfo
- Publication number
- CN111028133B CN111028133B CN201911147511.5A CN201911147511A CN111028133B CN 111028133 B CN111028133 B CN 111028133B CN 201911147511 A CN201911147511 A CN 201911147511A CN 111028133 B CN111028133 B CN 111028133B
- Authority
- CN
- China
- Prior art keywords
- task block
- command
- display list
- array
- task
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Image Generation (AREA)
Abstract
本发明属于计算机图形领域,具体涉及一种基于SystemVerilog动态数组和任务的图形命令预译码装置,该装置包括:准备任务块、命令解析任务块、绘制类命令处理任务块、参数配置类命令处理任务块、显示列表命令处理任务块、显示列表写任务块和显示列表读任务块。装置工作过程中,操作的数据及输出结果均为SystemVerilog的动态数组,准备任务和显示列表的读、写任务还实现了与文件的交互,便于验证过程中进行数据比较检查。处理过程中不包含时序,各类命令的处理任务将结果存入相应的动态数组中,过程清晰,便于维护,并且极大地提升了仿真速度。
Description
技术领域
本发明属于计算机图形领域,具体涉及一种基于SystemVerilog动态数组和任务的图形命令预译码装置。
背景技术
在计算机图形领域中,OpenGL图形命令种类繁多,由软件人员编写的OpenGL程序,在进入GPU的处理流程之前,需根据定义的命令格式对其进行预处理,预译码单元正是进行预处理操作的关键电路。由于预译码单元至少包括了两个数据来源,以及多条处理下发通路,在对其验证时,首先就遇到了验证正确性的问题,这就要求有一个用于对设计输出进行对照比较的模型,而现有技术还没有针对此模型的具体搭建方案。
发明内容
本发明针对背景技术中存在的问题,现提出一种基于SystemVerilog动态数组和任务的图形命令预译码装置,实现了一种图形命令预译码的模型,简便了预译码电路验证平台的搭建。
本发明的技术具体技术方案是:
一种基于SystemVerilog动态数组和任务的图形命令预译码装置,该装置包括:准备任务块、命令解析任务块、绘制类命令处理任务块、参数配置类命令处理任务块、显示列表命令处理任务块、显示列表写任务块和显示列表读任务块。
进一步的,所述命令解析任务块用于对准备任务块中命令数组中的数据进行解析,区分出命令数据的处理通路,并调用相应的处理任务块进行处理。
进一步的,所述准备任务块用于根据图形命令文件的长度,新建一个命令数组,并读取文件中的图形命令存入命令数组中。
进一步的,所述绘制类命令处理任务块用于在其被命令解析任务块调用时,将准备任务块中的命令数组的相应数据按照规定的格式进行组装,并存储到绘制命令数组中。
进一步的,所述参数配置类命令处理任务块,用于在其被命令解析任务块调用时,将准备任务块中的命令数组的相应数据按照规定的格式截取所需的部分,存储到参数配置数组中。
进一步的,所述显示列表命令处理任务块,用于在其被命令解析任务块调用时,将准备任务块中的命令数组的相应数据存储到显示列表数组中。
进一步的,所述显示列表写任务块,用于在其被显示列表命令处理任务块调用时,将准备任务块中的命令数组的相应数据写入到显示列表文件的相应位置,位置由命令解析任务块解析出的写列表地址确定。
进一步的,所述显示列表读任务,用于在其被显示列表命令处理任务块调用时,根据解析出的地址将显示列表文件的相应位置存储的数据读取到列表数据数组中,并调用命令解析任务块。
本发明的优点是:本发明提供了一种基于SystemVerilog的图形命令预译码装置,很大地方便了预译码单元验证平台的搭建;本发明采用SystemVerilog动态数组作为数据源及处理后的输出,设计了多条平行的任务处理通路来模拟预译码单元电路的工作过程,并在数据输入上进行了采集优化,使得每一条输入到装置的命令数据均有法可查,其处理结果均可一一进行检查比较,方便了验证工作的进行。
附图说明
图1为本发明的方法模块图。
其中:1、准备任务块;2、命令解析任务块;3、绘制类命令处理任务块;4、参数配置类命令处理任务块;5、显示列表命令处理任务块;6、显示列表写任务块;7、显示列表读任务块;8、显示列表文件。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实例,对本发明作进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限定本发明。
下面结合说明书附图和具体实施例对本发明的技术方案做进一步详细描述。
在本发明的一个实施例中,提出一种基于SystemVerilog动态数组和任务的图形命令预译码装置,其特征在于,该装置包括:准备任务块1、命令解析任务块2、绘制类命令处理任务块3、参数配置类命令处理任务块4、显示列表命令处理任务块5、显示列表写任务块6和显示列表读任务块7。
在一个实施例中,所述命令解析任务块2用于对准备任务块1中命令数组中的数据进行解析,区分出命令数据的处理通路,并调用相应的处理任务块进行处理。
在一个实施例中,所述准备任务块1用于根据图形命令文件的长度,新建一个命令数组,并读取文件中的图形命令存入命令数组中。
在一个实施例中,所述绘制类命令处理任务块3用于在其被命令解析任务块2调用时,将准备任务块1中的命令数组的相应数据按照规定的格式进行组装,并存储到绘制命令数组中。
在一个实施例中,所述参数配置类命令处理任务块4,用于在其被命令解析任务块2调用时,将准备任务块1中的命令数组的相应数据按照规定的格式截取所需的部分,存储到参数配置数组中。
在一个实施例中,所述显示列表命令处理任务块5,用于在其被命令解析任务块2调用时,将准备任务块1中的命令数组的相应数据存储到显示列表数组中。
在一个实施例中,所述显示列表写任务块6,用于在其被显示列表命令处理任务块5调用时,将准备任务块1中的命令数组的相应数据写入到显示列表文件8的相应位置,位置由命令解析任务块2解析出的写列表地址确定。
在一个实施例中,所述显示列表读任务,用于在其被显示列表命令处理任务块5调用时,根据解析出的地址将显示列表文件8的相应位置存储的数据读取到列表数据数组中,并调用命令解析任务块2。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (1)
1.一种基于SystemVerilog动态数组和任务的图形命令预译码装置,其特征在于,该装置包括:准备任务块(1)、命令解析任务块(2)、绘制类命令处理任务块(3)、参数配置类命令处理任务块(4)、显示列表命令处理任务块(5)、显示列表写任务块(6)和显示列表读任务块(7);
所述命令解析任务块(2)用于对准备任务块(1)中命令数组中的数据进行解析,区分出命令数据的处理通路,并调用相应的处理任务块进行处理;
所述准备任务块(1)用于根据图形命令文件的长度,新建一个命令数组,并读取文件中的图形命令存入命令数组中;
所述绘制类命令处理任务块(3)用于在其被命令解析任务块(2)调用时,将准备任务块(1)中的命令数组的相应数据按照规定的格式进行组装,并存储到绘制命令数组中;
所述参数配置类命令处理任务块(4),用于在其被命令解析任务块(2)调用时,将准备任务块(1)中的命令数组的相应数据按照规定的格式截取所需的部分,存储到参数配置数组中;
所述显示列表命令处理任务块(5),用于在其被命令解析任务块(2)调用时,将准备任务块(1)中的命令数组的相应数据存储到显示列表数组中;
所述显示列表写任务块(6),用于在其被显示列表命令处理任务块(5)调用时,将准备任务块(1)中的命令数组的相应数据写入到显示列表文件(8)的相应位置,位置由命令解析任务块(2)解析出的写列表地址确定;
所述显示列表读任务,用于在其被显示列表命令处理任务块(5)调用时,根据解析出的地址将显示列表文件(8)的相应位置存储的数据读取到列表数据数组中,并调用命令解析任务块(2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147511.5A CN111028133B (zh) | 2019-11-21 | 2019-11-21 | 一种基于SystemVerilog的图形命令预译码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147511.5A CN111028133B (zh) | 2019-11-21 | 2019-11-21 | 一种基于SystemVerilog的图形命令预译码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111028133A CN111028133A (zh) | 2020-04-17 |
CN111028133B true CN111028133B (zh) | 2023-06-13 |
Family
ID=70201791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147511.5A Active CN111028133B (zh) | 2019-11-21 | 2019-11-21 | 一种基于SystemVerilog的图形命令预译码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111028133B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068364A (zh) * | 2006-06-16 | 2007-11-07 | 威盛电子股份有限公司 | 视频编码器与图形处理单元 |
CN103971391A (zh) * | 2013-02-01 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 一种动画生成方法及装置 |
CN105260223A (zh) * | 2015-10-27 | 2016-01-20 | 中国电子科技集团公司第四十一研究所 | 一种scpi命令定义、解析、执行和测试的方法 |
CN105843590A (zh) * | 2016-04-08 | 2016-08-10 | 深圳航天科技创新研究院 | 一种并行指令集预译码方法及*** |
CN106708472A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非阻塞图形命令处理方法 |
CN107958438A (zh) * | 2017-12-06 | 2018-04-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种OpenGL新建显示列表电路 |
CN108230222A (zh) * | 2017-12-06 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种OpenGL显示列表调用电路 |
CN108520489A (zh) * | 2018-04-12 | 2018-09-11 | 长沙景美集成电路设计有限公司 | Gpu中一种实现命令解析和顶点获取并行的装置和方法 |
-
2019
- 2019-11-21 CN CN201911147511.5A patent/CN111028133B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068364A (zh) * | 2006-06-16 | 2007-11-07 | 威盛电子股份有限公司 | 视频编码器与图形处理单元 |
CN103971391A (zh) * | 2013-02-01 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 一种动画生成方法及装置 |
CN105260223A (zh) * | 2015-10-27 | 2016-01-20 | 中国电子科技集团公司第四十一研究所 | 一种scpi命令定义、解析、执行和测试的方法 |
CN105843590A (zh) * | 2016-04-08 | 2016-08-10 | 深圳航天科技创新研究院 | 一种并行指令集预译码方法及*** |
CN106708472A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非阻塞图形命令处理方法 |
CN107958438A (zh) * | 2017-12-06 | 2018-04-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种OpenGL新建显示列表电路 |
CN108230222A (zh) * | 2017-12-06 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种OpenGL显示列表调用电路 |
CN108520489A (zh) * | 2018-04-12 | 2018-09-11 | 长沙景美集成电路设计有限公司 | Gpu中一种实现命令解析和顶点获取并行的装置和方法 |
Non-Patent Citations (3)
Title |
---|
田泽;张淑;张骏;许宏杰;黎小玉;郭蒙.图形处理器片段处理单元的设计与实现.计算机应用.2014,(S2),全文. * |
陈质冉;张晓林.高速SRAM编译器的设计.电子测量技术.2007,(01),全文. * |
韩可;邓中亮;施乐宁.(2,1,7)卷积码Viterbi译码器FPGA实现方案.现代电子技术.2007,(15),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111028133A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8578216B2 (en) | Execution history tracing method | |
US6975325B2 (en) | Method and apparatus for graphics processing using state and shader management | |
US8898642B2 (en) | Profiling and sequencing operators executable in an emulated computing system | |
US20080288923A1 (en) | Source Program Analysis Device And Method | |
US8225286B2 (en) | Debugging interpreted input | |
CN110825731A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN105488232A (zh) | 一种电子装备故障维修图形化显示方法 | |
CN112732567A (zh) | 基于ip的mock数据测试方法、装置、电子设备及存储介质 | |
CN104375940A (zh) | 一种对javaScript文件的调试方法 | |
US9292296B2 (en) | Code optimization based on information of readably converted executed instruction groups represented in address file | |
CN115391322A (zh) | 数据检核方法、装置、设备、存储介质及程序产品 | |
CN104049947A (zh) | 基于动态重命名的矢量寄存器堆的寄存器重新配置 | |
CN111028133B (zh) | 一种基于SystemVerilog的图形命令预译码装置 | |
CN104298671B (zh) | 数据统计分析方法及装置 | |
CN107886309A (zh) | 文档自动审查工具 | |
CN104317723A (zh) | 一种驱动程序运行信息的跟踪方法及*** | |
CN105843661B (zh) | 一种面向主机***的代码重定位方法及其*** | |
CN102467444A (zh) | 特殊功能寄存器的仿真调试*** | |
JP5702265B2 (ja) | プログラム自動生成装置およびプログラム自動生成方法 | |
CN117406973B (zh) | 一种交互式数据分析的方法及装置 | |
CN110619012A (zh) | 一种导弹火控***在线数据处理方法 | |
CN113641572B (zh) | 一种基于sql的海量大数据计算开发的调试方法 | |
CN111294350B (zh) | 一种快速适应协议变化的数据处理*** | |
KR102523329B1 (ko) | 전력 개선을 위해 소프트웨어 소스 코드 변경하고 성능 개선 요소를 시각적으로 가시화하여 표시하는 방법 | |
CN108132780B (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 |