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

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

3天内不再提示

FPGA协处理的优势有哪些?如何去使用FPGA协处理?

FPGA设计论坛 2023-10-21 16:55 次阅读

传统的、基于通用DSP处理器并运行由C语言开发的算法的高性能DSP平台,正在朝着使用FPGA预处理器和/或协处理器的方向发展。这一最新发展能够为产品提供巨大的性能、功耗和成本优势。

尽管优势如此明显,但习惯于使用基于处理器的系统进行设计的团队,仍会避免使用FPGA,因为他们缺乏必要的硬件技能,来将FPGA用作协处理器(图1)。不熟悉像VHDL和Verilog这样传统的硬件设计方法,限制或阻止了FPGA的使用,这通常会导致设计成本过高,且功耗过大。ESL,一套全新推出的设计工具,能够解决这一设计难题。它在保留常规软硬件设计方式的同时,帮助基于处理器的设计者使用可编程逻辑加速自己的设计。

wKgaomUzkxOAam0tAAAv79a34W0086.png


借助FPGA协处理提升性能

设计人员能够利用由FPGA架构的并行性所带来的使用灵活的特点,大幅提升DSP系统的性能。通常的设计示例包括(并不局限于)FIR滤波、FFT、数字下变频和前向纠错(FEC)模块等。

Xilinx? VirtexTM-4和Virtex-5架构提供了多达512个并行乘法器,它们能够以超过500MHz的速度运行,提供256GMAC的DSP峰值性能。通过在FPGA上实现高速并行处理,而在DSP上实现高速串行处理,可以使整个DSP系统的性能得到优化,同时降低系统的功率需求。

借助FPGA嵌入式处理降低成本

带有FPGA协处理器的DSP硬件系统,为C算法范畴之内的运算(例如DSP处理器、FPGA可配置逻辑块(CLB)和FPGA嵌入式处理器之间的算法划分)提供了许多实现方法。Virtex-4器件提供了两种嵌入式处理器——通常被用作系统控制的MicroBlazeTM软核处理器和性能更高的PowerPCTM硬核处理器。由FPGA架构实现的并行操作,能够被直接用于DSP的数据路径,或被配置为一个嵌入式处理器的硬件加速器。

设计者所面对的挑战是如何在所提供的硬件资源之间划分DSP的系统操作,才能做到最为有效和最节省成本。使用FPGA嵌入式处理器的最大好处并不总是显而易见的,但这一硬件资源的确能够极大地降低系统的整体成本。FPGA嵌入式处理器提供了这样一个机会:将所有非关键性操作集中于嵌入式处理器上所运行的软件,从而最大限度降低系统所需硬件资源的总量。

C程序到系统门

在FPGA的应用中,术语“C程序到系统门”特指如下两种实现方法之一——在FPGA架构上直接实现一个DSP模块或为MicroBlaze或PowerPC 405嵌入式处理器创建一个硬件加速器(图2)。

当操作直接在DSP数据路径中进行时,将FPGA作为一个DSP模块来实现操作,能够获得最高的性能。这一方法先将C代码直接综合成RTL代码,然后在DSP的数据通路中对模块进行实体化。你可以使用传统的HDL设计方法,或通过像Xilinx System Generator for DSP这样的系统工具,来进行实体化。这种直接实体化方式,能够让开发人员以最小的开销达到最高的性能。

wKgaomUzkxOAEvnOAABI5k9bxBA459.png


主流的C综合工具可实现的性能,能够与手写RTL相媲美——但要做到这一点,需要对C综合工具的工作原理和代码风格有详尽的了解。为了达到所要求的性能,通常需要对代码进行修改,并且添加内联综合指令,以插入并行和流水线级。虽然要进行这些改进,但是设计效率还是能够大大提高。C系统模型仍然是驱动设计流程的主要因素。

作为一种替代方案,为Xilinx嵌入式处理器创建一个硬件加速器通常是一个更为简单的方法。在该方法中,仍然主要使用处理器来运行C程序,只是将对性能有重大影响的操作以硬件加速器的形式放置到FPGA逻辑中执行。这是一种更偏向于以软件为中心的设计方法。然而,这一方法会牺牲一些性能。与DSP模块的方法相似,C程序被综合成RTL代码,所不同的是顶层实体被接口逻辑包围,以便能与Xilinx嵌入式处理器的总线相连。这就创建了一个硬件加速器,它能够被调入到Xilinx EDK环境中,并且被软件友好的C程序调用。

对将C程序映射到硬件加速器的性能要求,通常不是那么苛刻。这里的目标是使性能比使用纯软件实现的方法得到提高,同时保持软件友好的设计流程。虽然仍有编码技术和内联综合指令,但通常可以不使用它们就达到所要求的性能提升。

设计方法——采用FPGA协处理的障碍

正确划分和实现一个复杂DSP系统,需要花费大量时间和精力掌握所需的技能。Forward Concepts市场调查公司为了确定在DSP设计中选用FPGA最重要的标准,开展了一项调查。调查的结果表明开发工具是最重要的选择标准,如图3所示。
调查结果显示,使用FPGA协处理器实现DSP硬件系统的优势,已经得到用户的充分认可,但对于传统的DSP设计者来说,开发工具现有的状况,成为他们采用这一设计方法的障碍。

wKgaomUzkxSACMRmAAA6xdfjpOY844.png

wKgaomUzkxSAYs2QAABUDzdOepM659.png


Xilinx ESL计划

ESL设计工具将数字设计的抽象度在RTL的基础上又提高了一步。其中部分工具专门用来将由C/C++开发的系统模型映射到包含FPGA和DSP处理器的DSP系统中。此举的目的是使硬件平台对软件设计者变得透明(图4)。

今年,为了全面解决上述障碍,Xilinx公司和主要的ESL工具厂商携手启动了一个被称为ESL计划的合作项目。这一合作计划的主要目标是赋予设计者软件编程的能力,使他们能够在可编程硬件中轻松地实现自己的想法,而无需学习传统的硬件设计技巧。该计划融合了ESL成员机构的创新,能够加速产品开发进程,推动设计人员采用世界上最先进的设计方法。

结论

将Xilinx ESL合作伙伴的工具结合在一起,能够提供广泛的互补性解决方案,这些解决方案已针对一系列产品、平台和最终用户进行了优化。Xilinx公司也在集中力量研究互补技术。例如,AccelDSP综合为在浮点MATLAB中开发的算法提供了硬件实现的方法,而Xilinx System Generator for DSP使得用ESL设计开发的模块,能够轻松地与Xilinx IP和嵌入式处理器结合起来。借助多个极富创新精神的合作伙伴的工作,是实现程序员期望的FPGA设计流程最快捷的途径。

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

    关注

    1602

    文章

    21320

    浏览量

    593194
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119373
  • Verilog
    +关注

    关注

    28

    文章

    1326

    浏览量

    109302
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128599
  • vhdl
    +关注

    关注

    30

    文章

    815

    浏览量

    127684

原文标题:FPGA协处理的优势有哪些?如何去使用FPGA协处理?

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA处理器的优势

      传统的、基于通用DSP处理器并运行由C语言开发的算法的高性能DSP平台,正在朝着使用FPGA处理器和/或处理器的方向发展。这一最新发
    发表于 09-29 16:28

    Altera的DSP_Builder现支持FPGA处理

    本帖最后由 qzq378271387 于 2012-8-15 16:56 编辑 Altera的DSP_Builder现支持FPGA处理
    发表于 08-15 16:37

    FPGA干货分享六】基于FPGA处理器的算法加速的实现

    数据均衡决策的过程。该设计使用了在一个平台FPGA中实现的一个嵌入式PowerPC。处理器的意义处理器是一个
    发表于 02-02 14:18

    采用FPGA处理器来简化ASIC仿真

    在紧迫的时间要求和一次成功的巨大压力下,ASIC仿真已成为设计流程中一个关键的环节。但一直以来,设计人员在ASIC仿真方面的优选并不多。现在,许多设计人员开始转而选用一种新工具——基于FPGA
    发表于 07-23 06:24

    如何利用串行RapidIO实现FPGA处理器?

    要跟上日益提高的性能需求,还得注意保持成本低廉有效利用基于串行RapidIO的FPGA作为DSP处理器就能达到这些目的。那么,我们该怎么做呢?
    发表于 08-07 06:47

    FPGA处理器实现代码加速的方法哪些?

    当今的设计工程师受到面积、功率和成本的约束,不能采用GHz级的计算机实现嵌入式设计。在嵌入式系统中,通常是由相对数量较少的算法决定最大的运算需求。使用设计自动化工具可以将这些算法快速转换到硬件处理器中。然后,
    发表于 09-03 06:26

    如何设计基于FPGA处理的无线子系统?

    您可以显著提高无线系统中信号处理功能的性能。怎样提高呢?有效方法是利用FPGA结构的灵活性和目前受益于并行处理FPGA架构中的嵌入式DSP模块。
    发表于 10-23 07:04

    举例说明FPGA作为处理器在实时系统中有哪些应用?

    举例说明FPGA作为处理器在实时系统中有哪些应用?FPGA用于处理
    发表于 04-08 06:48

    为什么FPGA处理器可以实现算法加速?

    代码加速和代码转换到硬件处理器的方法如何采用FPGA处理器实现算法加速?
    发表于 04-13 06:39

    FPGA处理优势哪些?如何使用FPGA处理

    有谁来阐述一下FPGA处理优势哪些?如何使用FPGA
    发表于 04-14 06:07

    如何利用串行RapidIO实现FPGA处理

    运算平台之间是如何连接的?SRIO系统的应用实例哪些?如何利用串行RapidIO实现FPGA处理
    发表于 04-29 06:17

    如何采用FPGA处理器优化汽车信息娱乐和信息通信系统

    本文讲述汽车娱乐系统的需求,讨论主流系统构架,以及FPGA处理器是如何集成到软硬件体系中,以满足高性能处理、灵活性和降低成本的要求。
    发表于 04-30 07:21

    请问FPGA处理哪些优势

    请问FPGA处理哪些优势
    发表于 05-08 08:29

    什么方法可以增强DSP处理能力吗?

    什么方法可以增强DSP处理能力吗?
    发表于 05-28 06:52

    小白求助怎样使用ARM处理器呢

    16个,其大小不限于32位,可以是任何合理的位数。处理器使用Load/Store体系结构,对内部寄存器操作的命令,从寄存器读取数据装入寄存器和将寄存器数据存入存储器的指令,以及与
    发表于 04-24 09:36