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
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601656
  • Xilinx
    +关注

    关注

    71

    文章

    2163

    浏览量

    120970
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109970
  • C语言
    +关注

    关注

    180

    文章

    7597

    浏览量

    136115
  • vhdl
    +关注

    关注

    30

    文章

    816

    浏览量

    128073

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

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

收藏 人收藏

    评论

    相关推荐

    FPGA处理器的优势

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

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

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

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

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

    举例说明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处理哪些优势
    发表于 05-08 08:29

    简述处理器发展历程及前景展望

    简述了处理器的概念、任务、发展历程和现状,探讨了处理器之所以引起人们重视和再重视的原因及其优势,简单介绍和展望了如何用
    发表于 01-02 11:23 18次下载

    利用串行RapidIO实现FPGA处理

    利用串行RapidIO实现FPGA处理 为了支持“三重播放”应用,人们对高速通信和超快速计算的需求日益增大,这向系统开发师、算法开发师和硬件工程师等人员提出了新
    发表于 02-25 17:06 1356次阅读
    利用串行RapidIO实现<b class='flag-5'>FPGA</b><b class='flag-5'>协</b><b class='flag-5'>处理</b>

    利用串行RapidIO实现FPGA处理

    利用串行RapidIO实现FPGA处理   为了支持“三重播放”应用,人们对高速通信和超快速计算的需求日益增大,这向系统开发师
    发表于 03-25 14:48 1483次阅读
    利用串行RapidIO实现<b class='flag-5'>FPGA</b><b class='flag-5'>协</b><b class='flag-5'>处理</b>

    FPGA处理技术介绍及进展

    FPGA处理技术介绍及进展 FPGA的架构使得许多算法得以实现,较之采用四核CPU或通用图形处理器(GPGPU),这些算法的持续性能更接
    发表于 04-26 18:15 859次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>协</b><b class='flag-5'>处理</b>技术介绍及进展

    采用FPGA处理的无线子系统

    子系统划分选择方案         FPGA可与DSP处理器一起使用,作为独立的预处理器(有时是后处理器)器件,或者作为
    发表于 08-11 10:03 604次阅读
    采用<b class='flag-5'>FPGA</b><b class='flag-5'>协</b><b class='flag-5'>处理</b>的无线子系统

    基于FPGA处理器的汽车信息娱乐系统设计

    集成了数据通信、本地服务和视频娱乐功能的高端汽车信息娱乐系统需要高性能的可编程处理技术支持,将FPGA处理器整合进主流汽车信息通讯系统架构是最理想的解决方案。本文提出了汽车娱乐系统的
    发表于 12-07 05:25 1116次阅读

    手机上的处理什么作用_苹果处理器是干什么的

    本文首先介绍了处理器概念,其次介绍了处理器内部结构与手机处理器的作用,最后介绍了苹果的M8
    的头像 发表于 04-24 09:27 2.2w次阅读