首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 使用OCP总线接口的3D图形硬件IP
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
使用OCP总线接口的3D图形硬件IP
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2017-5-24 09:05
|
只看该作者
使用OCP总线接口的3D图形硬件IP
Xbox360
,
DirectX
,
嵌入式
,
接口
,
硬件
嵌入式系统中的图形处理技术(如用户界面和游戏)正在不断发展和改善,例如从基于2D的交互图形发展到基于3D的交互图形。便携式游戏站(PSP)这样的便携式设备就实现了PlayStation 2类3D图形质量。而在PC图形方面,可以让开发人员在顶点和片段层级配置功能的可编程着色方案已经成为DirectX和OpernGL API基础架构的主要方案,这类硬件在像Xbox360和PlayStation 3这样的游戏设备上已经形成了非常丰富的内容和经验。然而嵌入式系统中的图形处理存在着很多问题和挑战需要开发人员去解决,例如为了保持长电池寿命所需的低功耗,因为空间约束要使系统的器件数量最少,以及限制门的数量以降低成本。
Khronos Group公司正在定义针对嵌入式领域的各种媒体API,目前已经发布了一种图形API,即OpenGL ES。该OpenGL ES共有1.x和2.x两个版本,分别针对固定图形管线和可编程图形管线,这种方法与PC图形中用的方法是一样的。
DMP图形内核概述
DMP为嵌入式领域中的便携式设备、移动电话、汽车导航系统、娱乐游戏机和所有其它嵌入式图形设备提供了可扩展的高性能、低功耗3D图形内核。PICA200是最新的3D图形IP内核,涵盖了前面提到的所有应用领域。
该内核由多个组件组成,包括OpenGL ES标准功能以及我们自己最初的图形技术。这些组件是根据用户要求以及带有定制要素(如性能、存储器带宽和功耗)的目标系统构建的。在选择IP接口方案时,很难设定在这么宽的应用范围下用户的具体要求。在采用开放内核协议(OCP)作为我们组件的标准总线接口方面DMP一直做得非常成功。
Maestro技术
通过采用OpenGL ES 1.1和我们自己的、被称为Maestro的扩展图形API,图形内核已经取得了很好的高性能低功耗效果。这些Maestro功能包括了各种目标应用中频繁使用和实用的图形功能,包括各种光照和明暗处理模型,例如Phong、Cook-Torrance和BRDF、阴影效应、多边形细分以及过程纹理。
1:Maestro功能、光照、阴影和微粒效果
Maestro功能利用我们改进的最初算法以硬连线逻辑形式实现,从而解决了嵌入式系统设计中低功耗与高性能的矛盾。Maestro功能可以实现非常丰富的内容,比如PC和便携式设备上的控制台图形(图1)。
Maestro功能包括以下一些效果:
1. 光照Maestro-包括按照每个片断的高性能光照功能,并支持各种明暗处理模型,如Phong、同向/异向 BRD以及下表面散射;
2. 阴影Maestro-支持实时的硬阴影和软阴影处理;
3. 形状Maestro-通过用硬件(例如NURBS和多边形细分)产生精细的多边形来减少存储器带宽,因此可以使输入数据量实现最小化;
4. 映像Maestro-支持凹凸映像和过程纹理,并且过程纹理不需要任何存储器读取来生成纹理图像,因为图像是根据算术等式产生的;
5. 微粒Maestro-用硬件产生雾化、云和气体效果。
图1:由Futuremark和DMP合作开发的PICA200演示场景。
图2:只使用OpenGL ES的渲染结果(左边)以及用OpenGL ES 和我们的Maestro API后的渲染结果(右边)
图3:利用我们的阴影Maestro API实现的实时软阴影渲染。
图4:使用形状Maestro的多边形细分实例。左边的图形显示了来自主CPU的输入控制多边形,右边的图形显示了我们的图形硬件实时产生的多边形。
图5:映像Maestro实例(左边:针对每个片段光照的凹凸映像,右边:利用没有任何纹理存储器访问的过程纹理硬件实现的木纹图案)。
图6:微粒 Maestro可以产生雾化、云和气体效果。在我们的渲染算法中,清晰和模糊对象的组合没有任何的瑕疵。
2:硬件框图
这些Maestro技术通过算法优化以及多个研究机构的长期研究得以实现。目前我们正在向嵌入式系统引入PC级的图形和经验。
硬件框图
下面是图形内核的框图。
在图7中的所有红色箭头都指向了采用OCP的存储器总线接口。
图7:PICA200框图。
在开发PICA200内核的过程中解决了以下一些挑战:
1)为了涵盖所有嵌入式系统,IP内核必须支持各种运行光谱的设备,包括从带微型显示屏的移动电话到带很大显示器的娱乐设备。
2)3D图形硬件需要极大的带宽用于命令、纹理、色彩和z缓冲器读/写访问,而这种带宽将确定3D IP内核的性能,并且
3)IP内核应能很容易地集成到SoC系统环境中。
为解决所有这些问题,我们决定采用OCP作为我们构建模块方案的标准接口基础架构。结果是,我们可以提供下面的选项来满足用户的需求(表1)。
以移动电话系统为例,要求支持OpenGL ES功能和VGA显示器尺寸,功耗应该最小,因此在这种情况下,顶点处理器和纹理管线的数量需要分别优化为两个(当然这里的数量仅仅是一个例子)。Maestro功能的实现并不仅仅支持Open ES,因为在大量的蜂窝电话中不需要非标准的功能。纹理缓存参数也可以针对SoC总线特性进行优化,因为事实上这些参数是由OCP标准自动提供的。在像娱乐游戏机这样的应用中,所有Maestro功能都需要组件来支持更高质量和吸引人的内容以及高性能和大显示器尺寸。
我们还采用了利用OCP线程协议的预取机制。这对于避免渲染管线的停顿以保持很高的渲染性能来说是很重要的。表2给出了在该图形内核中线程ID分配的实例,在这个例子中,内核共有四个纹理模块。
OCP2.2支持标示哪个线程允许失序响应,但是这个特殊DMP内核并不支持失序处理,因为对色彩和深度缓冲器的访问需要使用基于读-修改-写锁定的访问,对其它的访问没有针对失序访问支持的逻辑和FIFO,以便生成小型IP内核及支持上述各种应用。为了在没有标示功能条件下获得较好的存储器访问性能,这种图形内核针对基于模块化的光栅化处理进行了优化,所有从三角函数产生的象素都要通过4X4这样的矩形块处理,以便通过长突发长度访问和数据访问跟上对齐地址而充分利用存储器访问,并为纹理和色彩缓冲器获得较高的缓存利用率。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议