0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA器件在游戏控制台设计中的应用

电子设计 来源:郭婷 作者:电子设计 2019-01-10 09:51 次阅读

FPGA的简介:

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

游戏控制台设计者必须在实现系统的多功能、可靠性和低成本之间寻找平衡。市场压力经常迫使最初的控制台价格低于可盈利的水平。不过,要在商业上获得成功,游戏控制台就必须能够提供多种功能,如高清晰度图像、网络连接、运动传感控制器以及基于IP的视频内容,并且所有这些都要在用户能承受的价格内。

为保持低成本特性,通常采用基于平台的方法来设计游戏控制台。目标是尽可能地使每个控制台相似,同时还能满足特殊区域的要求。单个平台设计通常是不现实的,经济效益上也不可行,但FPGA所提供的硬件灵活性使得游戏系统能够很容易地针对不同区域、模型、组件和升级版进行重新设计。

一个典型的游戏控制台包括CPU、图形处理器、存储器件、通信单元、I/O和用户接口。游戏控制台的核心通常是几个大规模ASIC(Application Specific Integrated Circuit的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路)或ASSP(ASSP Application Specific Standard Parts(专用标准产品)是为在特殊应用中使用而设计的集成电路)。例如,iSuppli的报告指出,Sony PS3就包含一个7个核定制基于cell的CPU(ASIC)、一个NVIDIA图形芯片组(ASSP)、XDR存储器和一个flexIO处理器接口。

由于FPGA在许多应用中取代了ASIC,或许现在是时候将它用于下一代游戏控制台设计中了。FPGA和PLD相对较低的成本正在推动其在消费电子产品中的使用,尤其是在LCD和等离子电视中。根据Gartner Group的报告(如图1所示),在未来的4年中,用于消费电子产品的PLD和FPGA器件的全球市场年均复合增长率(CAGR)预计将达9.5%,超过了年均复合增长率为4.0%的ASIC器件。

FPGA器件在游戏控制台设计中的应用

图1:用于消费电子设备的ASIC和FPGA的年收益变化。

基于平台的游戏控制台设计考虑因素

FPGA可以帮助系统设计者尽可能地节约成本并提供最大的灵活性,这是由基于平台方法通过提供以下设计方针来实现的。

需求和模型可随着区域而变化:针对多个标准和格式提供可编程支持能加快产品上市时间;低成本和可靠的设计:集成全部的系统I/O接口、控制逻辑和调试功能,以支持连接至HDD和内部存储器的ASIC/ASSP芯片组的桥接功能,定制的用户接口逻辑可降低在新产品中的风险;在最终测试期间和现场的安全编程能够实现对多种标准的支持、协处理算法的增量升级以及易于对新功能进行测试。

带有嵌入式DSP解决方案的FPGA

在选择面向平台的可编程器件时,通常需考虑三种电路要求:面向协处理功能的嵌入式DSP的功能和性能、查找表(LUT)以及RAM块(EBR),这种协处理功能利用并行方法,针对具体应用以最优成本对功能和性能进行裁剪。低电压差分信号(LVDS)和串行解串器(SERDES)可支持高速芯片至芯片接口,如HyperTransport、PCI Express或串行RapidIO。能够安全地保护知识产权。

图2显示了一个满足这些要求的FPGA解决方案。FPGA被连接到主CPU、图像处理芯片、用户接口和诸如无线以太网的其它关键ASSP。FPGA模块执行协处理功能和硬件加速,并具有实现未来功能所必需的定制逻辑,这些功能是针对用户接口或控制台的其它部分。

DSP协处理和硬件加速

尽管低成本FPGA通常工作在小于300MHz的系统时钟频率下,但通过并行地执行串行功能仍然可实现很高的DSP吞吐量(63,000MMAC)。例如,某个应用要求具有100MS/s采样率的32抽头FIR滤波器,那么需要带有4个乘法器的通用DSP处理器以800MHz计算乘累加。具有32个乘法器的FPGA能够在100MHz实现相同的滤波器。

与乘法器一样,能够灵活地利用FPGA的并行特性有益于存储器访问。片上分布式存储器可用来构建小容量高性能临时存储器,而片上嵌入式存储块可用来构建大容量高性能存储器。DDR DRAM等片外存储器则可以提供大容量、高性能存储器

高速的芯片至芯片互连

FPGA通过高速的芯片至芯片互连技术与GPU和CPU连接,这些技术包括HyperTransport、PCI Express或串行RapidIO。串行RapidIO和PCI Express是串行而非并行技术,即串行地发送数据,并通过LVDS以数据包的形式恢复数据,而不是一次恢复一位。从并行到串行接口的转换系统可用较少的线路达到同样的高速数据速率。

FPGA器件在游戏控制台设计中的应用

源同步和时钟数据恢复接口

HyperTransport是一个源同步接口,而PCI Express和串行RapidIO采用时钟数据恢复(CDR)技术,如下表所示。对于源同步接口而言,传送方提供数据和差分时钟,这样就能较容易地在高达700Mbps的数据速率捕获数据。

源同步和时钟数据恢复接口。

当数据速率超过700Mbps时,数据通道之间的偏移成为数据有效窗的重要部分,特别是对宽数据通道而言。有些FPGA具有自动对齐功能,能够针对源同步接口管理数据偏移,从而有助于它们达到超过800Mbps的LVDS数据速率(有些情况下高达2Gbps)。

对于CDR接口而言,并没有提供额外的差分时钟。取而代之的是时钟包含在串行数据包中,必须从数据中恢复出来。因此,对于CDR来说时钟偏移不是一个问题,这与源同步不同。利用SERDES高速串行地发送数据包,CDR接收器将对数据本身锁定相位以取得时钟。

对于CDR而言,在高速情况下,SERDES抖动是主要问题。抖动是指期待数据传输的位置发生了变化,使得难以准确地接收到数据包。如图3所示的眼图,抖动使得围绕眼睛的黄色带的宽度发生变化,图中用红色表示。

FPGA器件在游戏控制台设计中的应用

图3:CDR眼图。

有些抖动是随机的,但大部分抖动是确定性的,是由于其它信号以及靠近数据信号的半导体元件的开关操作引起,或者是由数据模式的特性、传输的不平衡上升及下降时间所引起。

安全配置和现场升级

游戏控制台往往是电脑黑客攻击的目标,因此FPGA不应该在配置期间给系统引入额外的弱点。对于基于SRAM的FPGA而言,配置数据通常来自外部的非易失存储器。为保护该数据,一些FPGA加入了内置的128位AES加密引擎。面向AES的FPGA解密密钥采用一次性可编程(OTP)熔丝编程。OTP密钥是非易失的,且一旦密钥被编程就不能修改,从而可阻止黑客用逆向工程探寻FPGA内部的功能。

此外,FPGA能帮助设计者桥接ASSP功能与图像处理器或系统处理器。桥接的例子包括无线以太网(802.11)和用户接口控制逻辑。定制的用户接口逻辑有助于将游戏控制台与竞争产品区分。用FPGA解决方案可以桥接或控制这两种功能。

成功的策略

根据Booz Allen Hamilton公司今年三月发布的报告,Darden商业研究生院的Tim Laseter在2007年的一项研究认为,许多成功的公司并非是最先进入某个领域的先行者,而是能够发现更多资源的后来者。例如,在Xbox 360和PS3之后,任天堂公司发布了不具有高清晰图像的Wii游戏机。但是,采用Wii游戏控制台的人数在不断增加,因为这种游戏控制台具有运动敏感的控制器和受家庭喜爱的游戏主题。

研究得出的结论是,在各种不同的技术中,多个小实验能够产生对如何创造价值的更多认识。我们不可能在当前就准确地知道客户将来需要什么特性,或者硬件设计是否有小故障,或者主要的可靠性问题。由于“广泛的硬件故障”,微软公司花费了10亿多美元来修补Xbox 360控制台并将其纳入保修范围。

在游戏控制台设计中采用FPGA可对硬件功能进行一些小实验,从而有助于未来验证游戏控制台的设计。设计集成了一个可选的连接器用来连接至FPGA,并能够实现未来的特性,或者FPGA可以通过以太网进行连接,从互联网下载新的位流并实现新的功能。这些实验可能还包括对人工智能、DVD倍线功能、附加的家长控制功能和新型用户接口的测试。

市场要求所有设计游戏控制台的公司能够以尽可能低的制造实现更多的特性。如果设计出来的产品未加入重要的特性或灵活的接口,这些公司将会蒙受亿万美元的损失,更糟的是,产品可能根本没有市场需求。

现在很有机会将一些小型的技术革新加入游戏控制台系统,以支持未来将发生的变化,或者用硬件而不仅仅是固件来试验新的特性。构筑一个在游戏控制台中支持PCI Express、HyperTransport或串行RapidIO、LVDS和DSP的安全FPGA使得这些技术革新都有发展机会。

LatticeECP2M FPGA系列产品可支持许多这方面的要求,包括AES加密位流、PCI Express、LVDS、DSP以及可编程逻辑,以支持多种接口标准和定制功能。此外,由于支持多个DSP知识产权核和MATLAB Simulink,也使设计更加方便。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21665

    浏览量

    601803
  • 集成电路
    +关注

    关注

    5381

    文章

    11381

    浏览量

    360850
  • cpld
    +关注

    关注

    32

    文章

    1247

    浏览量

    169201
收藏 人收藏

    评论

    相关推荐

    提升.NET控制台应用体验的方案解析

    .NET生态系统控制台程序的表现相对较差。通常来说,这种项目经常作为Demo演示使用。现在是时候让控制台应用程序得到其应有的尊重了。 终端技术的发展开启了增强用户体验的复兴。IT
    的头像 发表于 10-29 11:30 2082次阅读
    提升.NET<b class='flag-5'>控制台</b>应用体验的方案解析

    UART控制台出现问题

    。所以我现在选择了..我使用MPLAB和谐配置器。图片中,你可以看到USAT和控制台的设置。我的程序,我使用下面的代码:我是否初始化了一些错误?我只想把这个消息打印到我的
    发表于 08-29 12:36

    如何利用低成本FPGA设计下一代游戏控制台

    如何利用低成本FPGA设计下一代游戏控制台
    发表于 04-30 06:54

    设备配置工具控制台STM32CubeIDE无法打开的原因?怎么处理?

    设备配置工具控制台无法 STM32CubeIDE 打开。我点击了“打开控制台 -> 4 设备配置工具控制台”。但是
    发表于 12-29 12:59

    电脑灯控制台的使用

    电脑灯控制台的使用     不同电脑灯的厂商都有针对自己品牌电脑灯的电脑灯控,这些控很难控制其他品牌的电脑灯,
    发表于 12-12 10:12 1867次阅读

    YY游戏云平台控制台实践详解

    的前端框架。本文主要围绕AngularJS(1.x),介绍多玩YY开发控制台过程的点点滴滴。 为什么选择AngularJS 轻松构建单页面应用 可以说,这是我们最终选择AngularJS的重要原因,如果你希望构建一个结构清晰
    发表于 10-11 11:18 1次下载

    dmx512控制台是什么_dmx512控制台按键说明

    和由控制台的项引发的管理属性、服务及事件的视图。控制台是通过控制信号来控制灯光的,因此,控制
    发表于 11-07 11:20 2.7w次阅读

    采用低成本的FPGA器件和PLD进行游戏控制台的设计

    游戏控制台设计者必须在实现系统的多功能、可靠性和低成本之间寻找平衡。市场压力经常迫使最初的控制台价格低于可盈利的水平。不过,要在商业上获得成功,游戏
    的头像 发表于 05-16 08:02 1276次阅读
    采用低成本的<b class='flag-5'>FPGA</b><b class='flag-5'>器件</b>和PLD进行<b class='flag-5'>游戏</b><b class='flag-5'>控制台</b>的设计

    SU RUBy控制台如何使用?SU RUBy控制台的一个应用实例说明

    本文档的主要内容详细介绍的是SU RUBy控制台如何使用?SU RUBy控制台的一个应用实例说明。
    发表于 09-27 16:04 0次下载

    带有ESP32 FutureBoard的DIY乐高视频游戏无线控制台

    电子发烧友网站提供《带有ESP32 FutureBoard的DIY乐高视频游戏无线控制台.zip》资料免费下载
    发表于 11-08 10:41 0次下载
    带有ESP32 FutureBoard的DIY乐高视频<b class='flag-5'>游戏</b>无线<b class='flag-5'>控制台</b>

    通过C语言设计的贪吃蛇游戏(控制台终端)

    当前通过控制台终端实现一个贪吃蛇小游戏,实现游戏的绘制、更新、控制等功能。
    的头像 发表于 06-30 09:53 930次阅读
    通过C语言设计的贪吃蛇<b class='flag-5'>游戏</b>(<b class='flag-5'>控制台</b>终端)

    python获取控制台输出内容

    Python,获取控制台输出内容可以使用多种方法。无论是开发过程调试程序,还是分析程序
    的头像 发表于 11-22 14:08 2225次阅读

    实现控制台的输出有两个方法

    开始之前,我们先来了解一下什么是控制台控制台是计算机操作系统提供的一个纯文本界面,它可以用于输入和输出文本信息,以及运行命令。Windows操作系统
    的头像 发表于 11-26 11:16 2261次阅读

    js如何在控制台输入输出

    控制台进行输入和输出。 JavaScript,可以使用console对象来进行控制台的输入和输出操作。console对象是JavaScript的一个内置对象,提供了许多用于调试和
    的头像 发表于 11-26 11:17 2864次阅读

    控制台窗口主机是什么

    控制台窗口主机(conhost),通常指的是Windows操作系统中用于承载和控制控制台窗口(即命令行界面或CMD窗口)的进程。以下是对控制台
    的头像 发表于 10-08 18:12 1327次阅读