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 块独立
   15   16   17   18   19   20   21   22   23   24   25