论文部分内容阅读
借助于半导体工艺技术的进步,基于片上系统(SoC)的嵌入式电子设备在现代社会中得到了广泛的普及。消费市场对于这些设备的交互能力,尤其是图形表现力,提出了越来越高的要求。与三维图形相比,二维矢量图形在嵌入式设备中的应用要更为普遍。作为二维矢量图形的标准,OpenVG得到了工业界众多软硬件厂商的支持。因此,为基于SoC的解决方案配备OpenVG的图形渲染能力对扩大其应用范围很有帮助。而在SoC中使用硬件加速器来处理OpenVG的绘图任务不但可以大大减轻CPU在矢量图形计算上的负担,加速图形的绘制过程,而且可以针对图形处理任务的特点优化访存结构,从而使系统在处理OpenVG的绘图任务时,其性能与功耗方面的表现都能得到很大的提升。本文对基于硬件加速器的OpenVG图形系统的软硬件架构进行了研究,根据OpenVG图形系统的特性,对其做软硬件功能划分,并且以聚芯SoC作为实际的研究平台,探讨在构建基于硬件加速器的OpenVG图形系统时,硬件模块结构、软件层结构以及软硬件交互机制的设计与实现。主要研究内容包括:
(1)设计并实现了一个OpenVG图形系统的软硬件框架。根据OpenVG图形系统的特性,对其做软硬件功能划分,在此基础上设计并实现了包括硬件加速器、驱动程序、MiniEGL库和OpenVG图形库在内的软硬件框架。这个框架由于使用了绘图命令的驱动机制,具有很好的可扩展性。它能够为进一步探索加速器硬件中使用的各种图形算法以及设计方案提供很好的研究平台。
(2)实现了一个按不同模式组合数据通路的位块传输部件。将位块传输部件所执行的各种功能细分为多个执行段,不同功能中的同样或相近的执行段使用同一个硬件模块实现。在不同的模式下,各种模块组合成不同的数据通路来完成相应的位块传输功能。这样的设计方式有利于提高硬件资源的利用率,减少加速器所消耗的逻辑门数。实验数据表明,在FPGA平台上,位块传输部件的最高加速比可超过30。
(3)提出了一种实现曲线分解与光栅化操作并行处理的曲线多边形光栅化方法。将使用三角形叠加的复杂多边形光栅化算法引入到OpenVG的图形渲染结构中,使得曲线多边形的分解和对多边形的光栅化操作能够实现并行。并且,由于对多边形的光栅化被转化为对三角形的光栅化,使得OpenVG加速器的渲染结构与三维图形加速器的比较接近,这为将来研究中实现两者的融合奠定了基础。