Page 20 - 中国仿真学会
P. 20
的 256MB DDR3 芯片组成图像输出的帧缓存。
图 6 图像计算单元工作流程
图 4 图像计算单元层级结构 如图 6 所示,图像计算单元在接收到 OpenGL
了编码。 其中命令字的最高字节为命令码,其余 ES 指 令 后, DSP 会 将 指 令 解 析 后 交 由 FPGA 处
为参数码,当参数为空时以 0 补全。 理。 FPGA 则完成几何变换、光照、图元装配、裁
剪、背面剔除、投影、光栅化和片段处理功能。 其
对于复杂几何图形或顶点数据量大的模型, 中 FPGA 1 主要实现几何运算功能,包括图形平
如果每调用一个 OpenGL ES 命令,驱动程序都将 移、缩放、图元组装、消隐判断、矩阵运算等;FPGA
命令编译,把 OpenGL ES 的高层命令语言转换为 2 主要实现基本图元的绘制、光栅化、片元操作及
底层的硬件命令,执行开销很大,效率很低。 本系 纹理着色。
统采用了显示列表技术,通过预编译的方式存储
一组硬件命令集,并利用高速缓存实现命令快速 片段处理是实现图像生成的重要环节,集成
复制,从而使执行速度加快。 了纹理数据采样、像素后处理等重要功能[6] 。 片
段处理的流程如图 7 所示,可分为两大部分:第一
图 5 图像计算单元硬件框图 部分主要是利用纹理采样器获取图像纹理数据,
并将其与光栅化后的像素值进行混合;第二部分
首先会利用 Alpha 值检测当前的像素值是否影响
最终像素值,然后利用深度测试检测当前像素是
否被遮挡,接着完成目标 像 素 和 源 像 素 之 间 的
Alpha 混合,产生透明或半透明效果,最后对输出
像素的红外灰度值进行 Gamma 矫正并输出至双
缓存。
为了将 OpenGL ES 指令转化为二维图像,本 图 7 片段处理流程
系统的图形计算单元采用 DSP +双 FPGA 的组成
架构,其组成如图 5 所示。 其中,DSP 采用 TI 公 4 光纤传输模块
司的 TMS320C6678,主要负责系统通信及指令解
析;FPGA 选用性能强劲的 Stratix10,可完成图像 光纤传输模块组成如图 8 所示,利用 FPGA
生成功能。 Stratix10 采用 HyperFlex 内核架构,拥 实现光纤传输协议,模拟光纤传输芯片,从帧缓存
有 550 万个逻辑单元,集成 4096 个 18×18 位高性 中读取图像数据,通过高速收发器将并行信号转
能精度可调乘法器,浮点数字信号处理吞吐量为 为串行信号,经由光发射模块进行光电转换后,由
10TFLOP,支持双 FPGA 方案,芯片间数据速率高
达 30Gbps。 系统 配 置 了 2 块 8GB 大 容 量 DDR3 17
芯片组成 RAM1 和 RAM2,充分保证了图形生成
过程中充足的存储空间;同时还配置了 2 块独立