<?xml version="1.0" encoding="gbk"?> <rss version="2.0"><channel> <title>定阅帖子更新</title> <link>http://www.broadkey.com.cn/XML.ASP</link><description>TEAM Board - 意得法电子</description> <copyright>TEAM 2.0.5 Release</copyright><generator>TEAM Board by TEAM5.Cn Studio</generator> <ttl>30</ttl><item><link>http://www.broadkey.com.cn/Thread.asp?tid=485 </link><title>FPGA协处理器的优势</title><author>冷夜</author><pubDate>2009-12-21 10:11:58</pubDate><description><![CDATA[传统的、基于通用DSP处理器并运行由C语言开发的算法的高性能DSP平台，正在朝着使用FPGA预处理器和/或<a href="http://www.eet-china.com/SEARCH/ART/%D0%AD%B4%A6%C0%ED%C6%F7.HTM"><span class="maintext">协处理器</span></a>的方向发展。这一最新发展能够为产品提供巨大的性能、<a title="新一代存储器编译器续写摩尔定律神话" href="http://www.eet-china.com/ART_8800399405_626963_TA_136ada18.HTM">功耗</a>和成本优势。
<p>&nbsp;</p>
<p>尽管优势如此明显，但习惯于使用基于处理器的系统进行设计的团队，仍会避免使用FPGA，因为他们缺乏必要的硬件技能，来将FPGA用作协处理器（图1）。不熟悉像VHDL和Verilog这样传统的硬件设计方法，限制或阻止了FPGA的使用，这通常会导致设计成本过高，且功耗过大。<a href="http://www.eet-china.com/SEARCH/ART/ESL.HTM"><span class="maintext">ESL</span></a>，一套全新推出的设计工具，能够解决这一设计难题。它在保留常规软硬件设计方式的同时，帮助基于处理器的设计者使用可编程逻辑加速自己的设计。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="left"><em><img border="0" alt="" src="/ARTICLES/2007JUN/2/EECOL_0606_TA1.JPG" /></em></p>
<p>图1 - DSP硬件平台</p>
<p>&nbsp;</p>
<p><strong>借助FPGA协处理提升性能</strong></p>
<p>&nbsp;</p>
<p>设计人员能够利用由FPGA架构的并行性所带来的使用灵活的特点，大幅提升DSP系统的性能。通常的设计示例包括（并不局限于）FIR滤波、FFT、数字下变频和前向纠错（FEC）模块等。</p>
<p>&nbsp;</p>
<p><a title="Xilinx携手TED推出面向数字显示器的可编程开发平台" href="http://www.eet-china.com/ART_8800404420_480701_NP_8d945836.HTM">Xilinx</a> VirtexTM-4和Virtex-5架构提供了多达512个并行乘法器，它们能够以超过500MHz的速度运行，提供256GMAC的DSP峰值性能。通过在FPGA上实现高速并行处理，而在DSP上实现高速串行处理，可以使整个DSP系统的性能得到优化，同时降低系统的功率需求。</p>
<p>&nbsp;</p>
<p><strong>借助FPGA嵌入式处理降低成本</strong></p>
<p>&nbsp;</p>
<p>带有FPGA协处理器的DSP硬件系统，为C算法范畴之内的运算（例如DSP处理器、FPGA可配置逻辑块（CLB）和FPGA嵌入式处理器之间的算法划分）提供了许多实现方法。Virtex-4器件提供了两种嵌入式处理器&mdash;&mdash;通常被用作系统控制的MicroBlaze软核处理器和性能更高的PowerPC硬核处理器。由FPGA架构实现的并行操作，能够被直接用于DSP的数据路径，或被配置为一个嵌入式处理器的硬件加速器。</p>
<p>&nbsp;</p>
<p>设计者所面对的挑战是如何在所提供的硬件资源之间划分DSP的系统操作，才能做到最为有效和最节省成本。使用FPGA嵌入式处理器的最大好处并不总是显而易见的，但这一硬件资源的确能够极大地降低系统的整体成本。FPGA嵌入式处理器提供了这样一个机会：将所有非关键性操作集中于嵌入式处理器上所运行的软件，从而最大限度降低系统所需硬件资源的总量。</p>
<p>&nbsp;</p>
<p><strong>C程序到系统门</strong></p>
<p>&nbsp;</p>
<p>在FPGA的应用中，术语&ldquo;C程序到系统门&rdquo;特指如下两种实现方法之一&mdash;&mdash;在FPGA架构上直接实现一个DSP模块或为MicroBlaze或PowerPC 405嵌入式处理器创建一个硬件加速器（图2）。</p>
<p>当操作直接在DSP数据路径中进行时，将FPGA作为一个DSP模块来实现操作，能够获得最高的性能。这一方法先将C代码直接综合成RTL代码，然后在DSP的数据通路中对模块进行实体化。你可以使用传统的HDL设计方法，或通过像Xilinx System Generator for DSP这样的系统工具，来进行实体化。这种直接实体化方式，能够让开发人员以最小的开销达到最高的性能。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="left"><em><img border="0" alt="" src="/ARTICLES/2007JUN/2/EECOL_0606_TA2.JPG" /></em></p>
<p>图2 - DSP硬件系统的C程序实现方法</p>
<p>&nbsp;</p>
<p>主流的C综合工具可实现的性能，能够与手写RTL相媲美&mdash;&mdash;但要做到这一点，需要对C综合工具的工作原理和代码风格有详尽的了解。为了达到所要求的性能，通常需要对代码进行修改，并且添加内联综合指令，以插入并行和流水线级。虽然要进行这些改进，但是设计效率还是能够大大提高。C系统模型仍然是驱动设计流程的主要因素。</p>
<p>&nbsp;</p>
<p>作为一种替代方案，为Xilinx嵌入式处理器创建一个硬件加速器通常是一个更为简单的方法。在该方法中，仍然主要使用处理器来运行C程序，只是将对性能有重大影响的操作以硬件加速器的形式放置到FPGA逻辑中执行。这是一种更偏向于以软件为中心的设计方法。然而，这一方法会牺牲一些性能。与DSP模块的方法相似，C程序被综合成RTL代码，所不同的是顶层实体被接口逻辑包围，以便能与Xilinx嵌入式处理器的总线相连。这就创建了一个硬件加速器，它能够被调入到Xilinx EDK环境中，并且被软件友好的C程序调用。</p>
<p>&nbsp;</p>
<p>对将C程序映射到硬件加速器的性能要求，通常不是那么苛刻。这里的目标是使性能比使用纯软件实现的方法得到提高，同时保持软件友好的设计流程。虽然仍有编码技术和内联综合指令，但通常可以不使用它们就达到所要求的性能提升。</p>
<p>&nbsp;</p>
<p><strong>设计方法&mdash;&mdash;采用FPGA协处理的障碍</strong></p>
<p>&nbsp;</p>
<p>正确划分和实现一个复杂DSP系统，需要花费大量时间和精力掌握所需的技能。2005年，Forward Concepts市场调查公司为了确定在DSP设计中选用FPGA最重要的标准，开展了一项调查。调查的结果表明开发工具是最重要的选择标准，如图3所示。</p>
<p>&nbsp;</p>
<p>调查结果显示，使用FPGA协处理器实现DSP硬件系统的优势，已经得到用户的充分认可，但对于传统的DSP设计者来说，开发工具现有的状况，成为他们采用这一设计方法的障碍。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="left"><em><img border="0" alt="" src="/ARTICLES/2007JUN/2/EECOL_0606_TA3.JPG" /></em></p>
<p>图3 - 2005年Forward Concepts公司的市场调查，&ldquo;DSP策略：嵌入式趋势方兴未艾&rdquo;</p>
<p>&nbsp;</p>
<p align="left"><em><img border="0" alt="" src="/ARTICLES/2007JUN/2/EECOL_0606_TA4.JPG" /></em></p>
<p>图4 ?C Xilinx ESL计划的设计流程。</p>
<p>&nbsp;</p>
<p><strong>Xilinx ESL计划</strong></p>
<p>&nbsp;</p>
<p>ESL设计工具将数字设计的抽象度在RTL的基础上又提高了一步。其中部分工具专门用来将由C/C++开发的系统模型映射到包含FPGA和DSP处理器的DSP系统中。此举的目的是使硬件平台对软件设计者变得透明（图4）。</p>
<p>&nbsp;</p>
<p>今年，为了全面解决上述障碍，Xilinx公司和主要的ESL工具厂商携手启动了一个被称为ESL计划的合作项目。这一合作计划的主要目标是赋予设计者软件编程的能力，使他们能够在可编程硬件中轻松地实现自己的想法，而无需学习传统的硬件设计技巧。该计划融合了ESL成员机构的创新，能够加速产品开发进程，推动设计人员采用世界上最先进的设计方法。</p>
<p>&nbsp;</p>
<p><strong>结论</strong></p>
<p>&nbsp;</p>
<p>将Xilinx ESL合作伙伴的工具结合在一起，能够提供广泛的互补性解决方案，这些解决方案已针对一系列产品、平台和最终用户进行了优化。Xilinx公司也在集中力量研究互补技术。例如，AccelDSP综合为在浮点MATLAB中开发的算法提供了硬件实现的方法，而Xilinx System Generator for DSP使得用ESL设计开发的模块，能够轻松地与Xilinx IP和嵌入式处理器结合起来。借助多个极富创新精神的合作伙伴的工作，是实现程序员期望的FPGA设计流程最快捷的途径。</p>
<p>&nbsp;</p>
<p>了解ESL计划方面的更多信息，敬请登录网站www.xilinx.com/cn/esl。</p>
<p>&nbsp;</p>
<p><em>作者：Tom Hill</em></p>
<p>&nbsp;</p>
<p>Xilinx公司市场经理</p>]]></description></item></channel></rss>