一种OpenGL新建显示列表电路制造技术

技术编号:17797131 阅读:46 留言:0更新日期:2018-04-25 20:39
本发明专利技术属于计算机图形领域,涉及一种OpenGL新建显示列表电路,包括:预译码写接口1,对预译码单元5发送的新建列表使能信号进行检测,当检测到新建列表使能信号有效时,设置新建列表状态有效;从预译码单元5获取新建列表在DDR6中的列表数据以及字使能信息发送给写数据拼接2;写数据拼接2,将接收到的列表数据以及字使能信息组装为264b的FIFO写数据,当264b数据组装完毕或者预译码单元5译码到结束列表的命令,则将组装的数据写入到写缓冲FIFO3;写缓冲FIFO3,在新建列表状态有效时,若pfull指示信号有效或者预译码单元5译码到结束列表的命令,则将写缓冲FIFO3中的缓冲数据发送给AXI逻辑接口4;AXI逻辑接口4,将来自写缓冲FIFO3的缓冲数据按照AXI标准接口写入到DDR6中。

A new OpenGL display list circuit

The invention belongs to the field of computer graphics, which involves a new OpenGL display list circuit, including a pre code writing interface 1, a new list of pre decoding unit 5 to detect the energy signal, and when the new list is detected to make the energy signal valid, the new list state is set to be valid; a new column is obtained from the predecoding unit 5. Table data in DDR6 and word enable information are sent to write data stitching 2; write data splicing 2, write the received list data and words to write FIFO data assembled into 264b, and write the assembled data to write buffer FIFO when the 264b data is assembled or the predecoding unit 5 is deciphered to the end list. 3; write buffer FIFO3, when the new list state is valid, if pfull indicates that the signal is valid or the predecoding unit 5 decode to the end list command, the buffer data in the write buffer FIFO3 is sent to the AXI logical interface 4; the AXI logical interface 4, the buffer number of the future self write buffer FIFO3 is written to DDR6 in accordance with the AXI standard interface.

【技术实现步骤摘要】
一种OpenGL新建显示列表电路
本专利技术属于计算机图形领域,涉及一种对OpenGL的新建显示列表命令数据存储电路的实现。
技术介绍
在计算机图形领域中,显示列表是为了解决不必要的重复渲染问题,从命令缓冲区中取出一块预先计算好的数据,它们负责执行一些重复性的任务,例如绘制圆环面,这块数据以后可以随时复制回命令缓冲区,从而节省创建这块数据所需的大量函数调用和编译开销。在新建显示列表时,因为预译码单元处理图形命令是顺序执行,只能一条一条进行,为了避免对DDR总线进行频繁的读访问,在预译码和DDR访问仲裁之间增加了这个新建显示列表电路。
技术实现思路
本专利技术的目的是:本专利技术提供一种OpenGL新建显示列表电路,用于将列表命令数据写入到DDR中的电路,从而实现新建列表这一操作过程。本专利技术的技术解决方案是:一种OpenGL新建显示列表电路,包括:预译码写接口1、写数据拼接2、写缓冲FIFO3、AXI逻辑接口4;预译码写接口1,对于预译码单元5发送的新建列表使能信号进行检测,当检测到新建列表使能信号有效时,设置OpenGL新建显示列表电路中新建列表状态有效;从预译码单元5获取新建列表在DDR6中的列表数据以及字使能信息,将列表数据以及字使能信息发送给写数据拼接2;写数据拼接2,将接收到的列表数据以及字使能信息组装为264b的FIFO写数据,当264b数据组装完毕或者预译码单元5译码到结束列表的命令,则将组装的数据写入到写缓冲FIFO3;写缓冲FIFO3,在新建列表状态有效时,若pfull指示信号有效或者预译码单元5译码到结束列表的命令,则将写缓冲FIFO3中的缓冲数据发送给AXI逻辑接口4;AXI逻辑接口4,将来自写缓冲FIFO3的缓冲数据按照AXI标准接口写入到DDR6中。写缓冲FIFO3的FIFO深度为32b,数据宽度为264b,pfull的大小设置为16;数据的高8b作为低256b的字使能。AXI逻辑接口4将组装的数据写入DDR6中的过程包括:首先AXI逻辑接口向DDR6发送1b的写地址有效信号、4b的写通道ID、30b的写地址信息、4b的写burst长度,等待收到DDR6回复的1b写通道就绪信号响应后,即可发起一个burst长度的数据传输,将1b的写有效信号、8b的写数据字使能、256b的列表数据以及1b的写末尾信号发送给DDR6,DDR6接收后回复1b的写就绪信号,完成一次传输。写地址信息产生的方法如下:首个读地址由“基地址”+“预译码单元发送的地址偏移”产生,其后的地址根据上一次写入DDR6的burst长度进行更新。写burst长度的产生方式如下:如果是pfull发起的写DDR请求,则burst长度为4'b1111;如果发送到显示列表的末尾,则burst长度为写缓冲FIFO3中余下的数据个数。将接收到的128b数据以及对应的4b字使能组装为264b的FIFO写数据的方法如下:当收到的nlist_wr_wden有效时,将其依次放在wr_data_tmp的空字段上,并同时设置相应的wr_data_wden为1;当8个字的使能全为1,或者当前命令为列表中的最后一条命令时,将字使能和数据一同写入写缓冲FIFO3。本专利技术的优点是:本专利技术提供了一种用于DDR写数据及缓冲的电路实现,用于实现预译码单元快速高效的将显示列表数据写入到DDR中。附图说明图1为本专利技术的方法模块图。图2为本专利技术写数据拼接的示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实例,对本专利技术作进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本专利技术,并不用于限定本专利技术。一种OpenGL新建显示列表电路,包括:预译码写接口1、写数据拼接2、写缓冲FIFO3、AXI逻辑接口4;预译码写接口1,对于预译码单元5发送的新建列表使能信号进行检测,当检测到新建列表使能信号有效时,设置OpenGL新建显示列表电路中新建列表状态有效;从预译码单元5获取新建列表在DDR6中的列表数据以及字使能信息,将列表数据以及字使能信息发送给写数据拼接2;写数据拼接2,将接收到的列表数据以及字使能信息组装为264b的FIFO写数据,当264b数据组装完毕或者预译码单元5译码到结束列表的命令,则将组装的数据写入到写缓冲FIFO3;写缓冲FIFO3,在新建列表状态有效时,若pfull指示信号有效或者预译码单元5译码到结束列表的命令,则将写缓冲FIFO3中的缓冲数据发送给AXI逻辑接口4;AXI逻辑接口4,将来自写缓冲FIFO3的缓冲数据按照AXI标准接口写入到DDR6中。写缓冲FIFO3的FIFO深度为32b,数据宽度为264b,pfull的大小设置为16;数据的高8b作为低256b的字使能。AXI逻辑接口4将组装的数据写入DDR6中的过程包括:首先AXI逻辑接口向DDR6发送1b的写地址有效信号、4b的写通道ID、30b的写地址信息、4b的写burst长度,等待收到DDR6回复的1b写通道就绪信号响应后,即可发起一个burst长度的数据传输,将1b的写有效信号、8b的写数据字使能、256b的列表数据以及1b的写末尾信号发送给DDR6,DDR6接收后回复1b的写就绪信号,完成一次传输。写地址信息产生的方法如下:首个读地址由“基地址”+“预译码单元发送的地址偏移”产生,其后的地址根据上一次写入DDR6的burst长度进行更新。写burst长度的产生方式如下:如果是pfull发起的写DDR请求,则burst长度为4'b1111;如果发送到显示列表的末尾,则burst长度为写缓冲FIFO3中余下的数据个数。将接收到的128b数据以及对应的4b字使能组装为264b的FIFO写数据的方法如下:当收到的nlist_wr_wden有效时,将其依次放在wr_data_tmp的空字段上,并同时设置相应的wr_data_wden为1;当8个字的使能全为1,或者当前命令为列表中的最后一条命令时,将字使能和数据一同写入写缓冲FIFO3。实施例如图1所示,一种用于新建显示列表命令写入DDR6中的电路实现,拥有预译码写接口1、写数据拼接2、写缓冲FIFO3、AXI逻辑接口4等部分组成。a)预译码写接口1:检测到预译码单元的新建列表使能时,设置写列表状态指示信号有效,并在数据有效指示data_valid为0时,将写列表数据更新到nlist_data;b)写数据拼接2:因为预译码中处理的数据位宽是128b,而AXI总线DDR写接口数据位宽为256b,所以要将位宽匹配需要增加一个数据拼接的过程,不仅可以将128b数据拼接成256b,同时还可以去除无效的字段。数据拼接按照紧密排列的原则依次进行,拼接完成后即写入到写缓冲FIFO;c)写缓冲FIFO3:写列表状态指示信号有效时,若pfull有效,则向DDR6发起写操作,或者写列表状态无效且写缓冲FIFO3非空,也需发起写操作将写缓冲FIFO3中数据写入到DDR6中;d)AXI逻辑接口4:发起的写请求获得DDR6响应后,即可发起一个burst长度的数据传输,将写缓冲FIFO3中数据以256b的data和8b的strb形式存入到DDR6。写地址产生的方法如下:首个读地址由“基地址”+“预译码单元发送的地址偏移”产生,其后的地址根据每本文档来自技高网...
一种OpenGL新建显示列表电路

【技术保护点】
一种OpenGL新建显示列表电路,其特征在于,包括:预译码写接口(1)、写数据拼接(2)、写缓冲FIFO(3)、AXI逻辑接口(4);预译码写接口(1),对于预译码单元(5)发送的新建列表使能信号进行检测,当检测到新建列表使能信号有效时,设置OpenGL新建显示列表电路中新建列表状态有效;从预译码单元(5)获取新建列表在DDR(6)中的列表数据以及字使能信息,将列表数据以及字使能信息发送给写数据拼接(2);写数据拼接(2),将接收到的列表数据以及字使能信息组装为264b的FIFO写数据,当264b数据组装完毕或者预译码单元(5)译码到结束列表的命令,则将组装的数据写入到写缓冲FIFO(3);写缓冲FIFO(3),在新建列表状态有效时,若pfull指示信号有效或者预译码单元(5)译码到结束列表的命令,则将写缓冲FIFO(3)中的缓冲数据发送给AXI逻辑接口(4);AXI逻辑接口(4),将来自写缓冲FIFO(3)的缓冲数据按照AXI标准接口写入到DDR(6)中。

【技术特征摘要】
1.一种OpenGL新建显示列表电路,其特征在于,包括:预译码写接口(1)、写数据拼接(2)、写缓冲FIFO(3)、AXI逻辑接口(4);预译码写接口(1),对于预译码单元(5)发送的新建列表使能信号进行检测,当检测到新建列表使能信号有效时,设置OpenGL新建显示列表电路中新建列表状态有效;从预译码单元(5)获取新建列表在DDR(6)中的列表数据以及字使能信息,将列表数据以及字使能信息发送给写数据拼接(2);写数据拼接(2),将接收到的列表数据以及字使能信息组装为264b的FIFO写数据,当264b数据组装完毕或者预译码单元(5)译码到结束列表的命令,则将组装的数据写入到写缓冲FIFO(3);写缓冲FIFO(3),在新建列表状态有效时,若pfull指示信号有效或者预译码单元(5)译码到结束列表的命令,则将写缓冲FIFO(3)中的缓冲数据发送给AXI逻辑接口(4);AXI逻辑接口(4),将来自写缓冲FIFO(3)的缓冲数据按照AXI标准接口写入到DDR(6)中。2.如权利要求1所述的一种OpenGL新建显示列表电路,其特征在于,写缓冲FIFO(3)的FIFO深度为32b,数据宽度为264b,pfull的大小设置为16;数据的高8b作为低256b的字使能。3.如权利要求1所述的一种OpenGL新建显示列表电路,其特征在于,AXI逻辑接口(4)将组装的数据写入DDR(6)中的过程包括:首先AX...

【专利技术属性】
技术研发人员:郝冲牛少平邓艺魏艳艳韩一鹏
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1