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

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

3天内不再提示

FPGA设计的五个主要任务

于博士Jacky 来源:芯播客 2023-04-06 09:39 次阅读

FPGA设计的五个主要任务:逻辑综合、门级映射、整体功能逻辑布局、逻辑资源互连布线,最后生成FPGA的bit流,根据常用的FPGA工具流程,这些任务将可以由不同的工具执行,每个步骤的运行时间比例将有所不同,如下图所示。例如,传统的布局布线流任务都由FPGA供应商提供的软件执行,相对应的布局布线工具,因此运行时间主要在布局布线阶段。

c2d8c5ce-d40c-11ed-bfe3-dac502259ad0.png

随着SoC设计变得更大,需要的FPGA资源也越来越多,时间也会变得更长。例如,大型FPGA芯片如果达到90%利用率,可能需要24小时或更长时间才能完成整个流程;

四分之三的时间都花在布局布线阶段。在进行原型设计时,这种长运行时间可能是一个巨大的代价,EDA工具永远在Shift Left的道路上狂飙就是这个原理,可以帮助客户节省时间是EDA的宗旨。

言归正状,从长远来看,使用四个FPGA50%利用率的FPGA原型比使用两个75%利用率的FPGA平台要划算,因为节省的迭代时间是非常宝贵的。虽然不是很等价,但由于跨FPGA的资源浪费,所以4片50%利用率也仅仅是估算,读者不必认真推算。

期望FPGA设计迭代一轮的时间,也就是整个编译加运行时间为数小时而不是数天,这样我们就可以更加多次进行重大的bug的修复,并在一天内看到修复的结果在FPGA原型平台上呈现。事实上,笔者经历过的团队,都习惯于在白天进行bug的修复和RTL的更改,然后在下班后的夜间运行,并在第二天早上上班第一时间看到新的结果,人可以休息,机器绝对不可休息。因此,在这个过程中自动化脚本显得尤为重要。

项目执行过程中,只要我们认真执行,并在最后得到正常运行的FPGA状态,并且取得了进展,那么长运行时间是可以接受的。最不能忍受的是一些工程师由于粗心的错误,使我们的结果变得无用时,运行时间又特别长,这就非常恼火。
如果整个系统运行时间很长,不允许这样的迭代周期,那么建议采取一些步骤来取得更好的效果:


1. 添加更多高性能的工作站和FPGA相关软件License:这允许更大的并行处理和运行时任务的平衡。

2. 更低的FPGA资源利用率:将设计重新划分为更多的FPGA。分割可能需要一些时间,多的FPGA可能需要一些投资,但这是一项值得投资的投资。总运行时间可以根据设备的使用水平而变化很大,节省大量运行时间,从而更快的shift left。

3. 放松约束:在设计的不太关键的部分,可以降低时序目标,以减少工具运行时间。布局布线运行时间不仅取决于利用率,其他因素可能会产生更大的影响,包括时序约束、全局时钟数量以及驱动BRAM的时钟数量。基本上,布局布线任务越复杂,运行时间越长。

4. 使用增量编译:一般而言,FPGA综合布局布线都有内置的增量编译选项,执行过程中一定选上这个option,通过不重新处理设计中未更改的部分来减少运行时间。

5. 使用快速流程:一些工具可以选择关闭某些优化步骤,但代价是降低结果质量。






审核编辑:刘清

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

    关注

    9

    文章

    369

    浏览量

    26118
  • EDA工具
    +关注

    关注

    4

    文章

    210

    浏览量

    31125
  • SoC芯片
    +关注

    关注

    1

    文章

    332

    浏览量

    34188
  • RTL
    RTL
    +关注

    关注

    1

    文章

    303

    浏览量

    57968
收藏 人收藏

    评论

    相关推荐

    基于FPGA的光栅尺位置速度反馈模块设计

    FPGA作为一种可编程器件具有编程可控制性、可修改性等众多优点,得到了广泛的应用.在直线电机控制系统中,FPGA主要任务是:对光栅尺的脉冲信号进行采集、处理和分析,得到直线电机的位移、速度和运动方向信号,然后再将这些反应直线电机运行特性的信号传
    发表于 04-24 09:07

    请问uClinux Bootloader的主要任务有哪些?

    主要任务有哪些?
    发表于 04-26 06:26

    嵌入式系统设计的主要任务是什么

    主要任务是定义系统的功能 、 决定系统的架构,并将功能映射到系统实现架构上。这里,系统架构既包括软件系统架构也包括硬件系统架构。一种架构可以映射到各种不同的物理实现,每种实现表示
    发表于 11-09 08:27

    国内主要的MES厂商概况

    主要介绍了国内主要的MES厂商的概况。
    发表于 06-04 08:00 1次下载

    5G资料:单站验证的主要任务(NAS组网)资料下载

    主要任务(NAS组网)资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 03-29 16:51 9次下载
    5G资料:单站验证的<b>主要任务</b>(NAS组网)资料下载

    区块链是欧洲证券2018年的主要任务

    主要领域中,加密货币和区块链就是其中之一,区块链技术将持续高速发展,市场管理局的任务也是十分的紧迫,监管机构表明会对未来发展进行更加严格的审查。
    发表于 02-09 10:02 818次阅读

    fpga应用领域_fpga应用三主要方向

    fpga的优势及特点,其次介绍了fpga的应用领域,最后阐述了fpga应用的三主要方向。
    发表于 04-18 10:15 5.7w次阅读

    浅谈电子信息领域的主要任务点要求

    主要任务
    发表于 04-24 11:03 4002次阅读

    数据链路层的任务

    主要任务是使网络层无需了解物理层的特征而获得可靠的传输。数据链路层将通过链路层的数据进行打包和解包、差错检测和校正,并协调共享介质。
    的头像 发表于 02-27 15:08 5908次阅读

    氢能产业发展的基本判断和制约因素

    主要任务中,首次提出要制定国家氢能产业发展战略规划。
    发表于 07-15 14:48 3745次阅读

    FPGA职业生涯的层次

    FPGA职业生涯可以怎么划分? 是很多刚入门的FPGA新手们很陌生的一话题。 职业生涯这个概念是西方国家引进的,而我们对这些理论的理解还停留在按部就班的模式,西方国家对职业生涯的研究有很多现成
    的头像 发表于 11-12 16:50 557次阅读

    功率放大器的主要任务

    主要任务是将低功率的输入信号放大到足够大的功率,以驱动负载,输出与输入相似的信号,同时保持较高的功率效率和较低的失真。此外,功率放大器还需要具备一定的稳定性和可靠性,能够在不同负载情况下稳定输出,并能够保护自身和负载不受损害。
    发表于 02-27 16:39 165次阅读

    变配电的主要任务 变配电的防是什么

    发表于 04-04 14:32 790次阅读

    无人机系统的三大主要部分介绍

    主要分为三大部分:地面站、飞控以及无线通信链路。链路系统是无人机系统的重要组成部分,其主要任务是建立一空地双向数据传输通道,用于完成地面控制站对无人机的远距离遥控、遥测和任务信息传输。
    发表于 04-17 10:05 1450次阅读

    处理FPGA原型设计需要多长时间?

    FPGA设计的主要任务:逻辑综合、门级映射、整体功能逻辑布局、逻辑资源互连布线
    发表于 05-23 15:25 294次阅读
    处理<b>FPGA</b>原型设计需要多长时间?