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

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

3天内不再提示

FPGA需要跑多快?影响FPGA计算性能的几大因素

FPGA设计论坛 来源:未知 2022-12-07 13:10 次阅读

FPGAvs. ASIC

专用芯片ASIC的开发流程是:设计、验证、流片、封装、测试;

而FPGA已经是做好的芯片,所以不需要流片、封装、测试。这样,可以至少节省四个月的时间。

另外ASIC还有可能多次流片才能成功,同步的软件开发也需要芯片做好才能完成大部分功能,这些也是时间成本。

在量小的时候,FPGA的成本低,量大了之后,ASIC的成本低。

FPGA的功耗比ASIC高,因为有很多多余的逻辑,不过比CPU省电,毕竟CPU的多余逻辑更多。

相比ASIC,FPGA的调试比较方便,可以直接烧到FPGA执行,也可以用调试工具抓取芯片里面的信号查看状态。

FPGA需要跑多快?

Intel CPU相比,FPGA的主频差一个数量级,一般FPGA芯片时钟频率300MHz左右,而Intel CPU可以到3GHz,就是说CPU 1秒能做30亿次计算,而FPGA只能做3亿次,差了10倍。

另外FPGA用作可重构计算是来加速CPU的,如果和CPU跑一样快就没意思了,所以一般要比CPU快5倍才行。

FPGA的开发周期是比较久的,1年甚至2年很正常,在这个过程中,CPU上的软件算法还在不断升级,所以有可能FPGA算法设计的比CPU快,等开发完,却发现CPU上的软件算法快速迭代,已经超过FPGA算法了。这种事还是比较常见的,不只是软件算法升级,CPU自己也会升级,这些都有可能让FPGA加速器做了无用功。比如用FPGA做一个数据压缩卡,可是CPU可能就自己带了一个数据压缩功能,成本还比FPGA卡低,开发FPGA的人白干一场。

所以,正常来说,FPGA算法加速性能设计的时候要比CPU快5-10倍才能保证最终做出来的产品是可以实现硬件加速的目标。

影响FPGA计算性能的几大因素

1. 数据并行性

对FPGA计算来说,同时处理大量的数据,同时数据之间没有相互依赖是最好的。这样,可以有几百上千个并行计算单元独立处理几百上千个数据,如果数据之间有依赖,比如有很多的if else,就并发不起来,A必须要等B完成才能执行。就跟步骑兵混合军团出征,如果将军下令大家要同步进军,步兵要和骑兵一起冲,骑兵不能跑太快,要等步兵一起走,那这个仗就没法打了,只能被敌人包饺子。

2. 数据大小和计算复杂度

FPGA并行计算是很多个计算并行执行,如果每个计算单元要处理的数据太多,同时计算逻辑太复杂,那么占用的FPGA计算资源就变多了,这样总的并行单元数量相应减少,性能下降。而且,老司机都知道,计算逻辑太复杂,在电路上消耗的时间变多,还会导致每个模块的延迟变长,这样时钟频率也会下降,也会影响到性能。

3. 流水线

计算复杂的时候,延迟会变长,如果要求计算任务在一个时钟周期里完成,那么时钟周期就变长了,相应的频率降低,性能下降。所以为了提高时钟频率,FPGA会采用流水线技术,把复杂的计算分解成几段,放到几个时钟周期里完成。这样做的后果就是,计算需要的时间变长了,但是总的性能却提高了

4. 静态控制逻辑

我们写软件程序的时候,习惯了给函数很多参数作为条件,根据参数内容执行函数的操作。FPGA做计算就不希望靠参数内容确定怎么计算,而是希望一开始就定好。比如在软件里面,算个位数的平方和二位数的平方差不多,可是到FPGA里面,个位数需要的计算资源少,二位数占用的多,一个计算单元要同时支持个位数和二位数平方计算就会很占资源,最好是一开始就确定好算哪一种,不要动态确定。

归根结底,我们只要明白FPGA计算快的两大优点就是并行和流水线,但是必须时刻有并行计算的思想,尽量压缩算法占用的资源,这样才能用有限的FPGA计算资源实现最强大的并行计算能力。






精彩推荐



至芯科技12年不忘初心、再度起航11月12日北京中心FPGA工程师就业班开课、线上线下多维教学、欢迎咨询!
浅谈Xillinx 和 altera的区别
FPGA学习-边沿检测技术
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看





原文标题:FPGA需要跑多快?影响FPGA计算性能的几大因素

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

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

    关注

    1625

    文章

    21664

    浏览量

    601682

原文标题:FPGA需要跑多快?影响FPGA计算性能的几大因素

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

收藏 人收藏

    评论

    相关推荐

    FPGA门数的计算方法

    我们在比较FPGA的芯片参数时经常说某一款FPGA是多少万门的,也有的说其有多少个LE,那么二者之间有何关系呢? FPGA等效门数的计算方法有两种,一是把
    的头像 发表于 11-11 09:45 132次阅读
    <b class='flag-5'>FPGA</b>门数的<b class='flag-5'>计算</b>方法

    如何优化FPGA设计的性能

    优化FPGA(现场可编程门阵列)设计的性能是一个复杂而多维的任务,涉及多个方面和步骤。以下是一些关键的优化策略: 一、明确性能指标 确定需求 :首先,需要明确
    的头像 发表于 10-25 09:23 167次阅读

    FPGA做深度学习能走多远?

    优化难度:虽然 FPGA 具有并行计算的优势,但要充分发挥其性能潜力,需要进行精细的性能优化。这包括对硬件资源的合理分配、数据传输和存储的优
    发表于 09-27 20:53

    谈一谈FPGA设计中的功率计算

    随着工艺技术的越来越前沿化, FPGA器件拥有更多的逻辑、存储器和特殊功能,如存储器接口、 DSP块和多种高速SERDES信道,这些发展不断地对系统功率要求提出挑战。 功率计算的关键是两方面:静态
    发表于 07-31 22:37

    FPGA与MCU的应用场景

    处理能力 FPGA能够同时处理多个输入信号,这使其在需要高并行处理能力的应用中表现出色。例如,在图像处理、数字信号处理(DSP)和高性能计算(HPC)中,
    发表于 07-29 15:45

    FPGA的sata接口设计时需要注意哪些问题

    FPGA的SATA接口设计时,需要注意以下几个方面的问题,以确保设计的稳定性和性能: 接口版本和速度 : SATA有三代标准,分别为SATA I(1.5 Gb/s)、SATA II(3.0 Gb
    发表于 05-27 16:20

    FPGA的PCIE接口应用需要注意哪些问题

    FPGA上的PCIe接口应用是一个复杂的任务,需要考虑多个方面的问题以确保系统的稳定性和性能。以下是在FPGA的PCIe接口应用中需要注意的
    发表于 05-27 16:17

    FPGA基础知识学习

    、开发成本、维护成本等。不同型号的FPGA芯片成本差异很大,需要综合考虑成本和性能因素。 考虑开发工具和技术支持 :选择强大且易于使用的开发工具,以及具有良好支持记录的供应商,可以极
    发表于 04-29 23:26

    中高端FPGA如何选择

    in Speedcore 不仅如此,Achronix的FPGA中还专门引入了浮点计算单元,解决了传统FPGA的浮点计算消耗资源太多,频率
    发表于 04-24 15:09

    fpga学习需要具备哪些课程

    FPGA(Field Programmable Gate Array)学习需要具备一系列的课程知识和实践技能
    的头像 发表于 03-14 15:51 1116次阅读

    什么是FPGA?带你初步揭开它的面纱

    ?首先,随着人工智能、大数据等web服务的规模指数级增长,通用处理器(CPU)的性能提升遇到了瓶颈。而FPGA的可编程属性使其成为加速常见计算任务的理想选择。例如,在云计算数据中心中,
    发表于 02-21 16:10

    FPGA图书分享系列-2024.01.31

    Accelerators for Financial Applications》这本书面向金融领域,它探讨了FPGA(现场可编程门阵列)加速器的最新方法和成果。 以下是这本书的一些亮点和值得学习的地方: 高性能计算
    发表于 01-31 21:14

    FPGA管教分配需要考虑因素

    时候就更需要考虑各方面的因素。 综合起来主要考虑以下的几个方面:1、 FPGA所承载逻辑的信号流向。IC 验证中所选用的 FPGA一般逻辑容量都非常大,外部的管脚数量也相当的丰富,这个
    发表于 01-10 22:40

    如何能够实现通用FPGA问题?

    FPGA 是一种伪通用计算加速器,与 GPGPU(通用 GPU)类似,FPGA 可以很好地卸载特定类型的计算。从编程角度上讲,FPGA
    发表于 12-29 10:29 418次阅读

    FPGA在高性能计算中的优势及其用例都有哪些?

    近年来,现场可 编程 门阵列 ( FPGA ) 因其可定制性、并行处理和低延迟而成为高性能计算 (HPC) 的可行技术。 高性能计算 (HP
    的头像 发表于 12-09 12:15 1006次阅读
    <b class='flag-5'>FPGA</b>在高<b class='flag-5'>性能</b><b class='flag-5'>计算</b>中的优势及其用例都有哪些?