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

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

3天内不再提示

如何建立适合团队的FPGA原型验证系统平台与技术?

jf_5P3RKFtu 来源:芯播客 2023-04-03 09:46 次阅读

FPGA原型验证在数字SoC系统项目当中已经非常普遍且非常重要,但对于一个SoC的项目而言,选择合适的FPGA原型验证系统显的格外重要,尤其对于首次使用基于FPGA的原型设计验证的工程师而言,从FPGA原型验证技术目标的细节理解到掌握如何使用它来构建芯片的原型,是一个质的飞跃,做到这一点,并非易事。下面我们来看一下如何Step by Step建立适合团队的FPGA原型验证系统平台与技术。

FPGA的规模到底有多大?

芯片设计领域通常讲到规模,我们第一反应一定是逻辑规模,当然对于芯片设计验证工程师而言,逻辑门数是规模的第一反应,但实际上FPGA是构建SoC原型系统的最佳选择,它不仅包含大量的组合逻辑和时序逻辑资源,还包含其他资源,比如各种类型的RAM存储资源和DSP算术资源,以及时钟资源、特殊的IO资源和高速互连接口与器件,这些都进一步扩大了FPGA技术用于芯片原型设计与验证的范围。

逻辑资源:FPGA在高度可配置的单元中实现逻辑,将查找表与可选输出FF、进位逻辑和其他特殊元素相结合,以有效映射逻辑。

存储资源:小容量内存可以用查找表配置,大容量的专用内存块会分布在整个设备中,可以用作单端口或双端口R/W同步内存块。这些存储器块可以连接在一起并形成更深或更宽的存储器块,并且可以使用附加的内置逻辑来实现专用存储器,例如单时钟或双时钟FIFO。这些通常是从供应商提供的专用内存IP库中配置的。

DSP资源:FPGA在整个设备中分布专用DSP资源(包括MAC等)也是常见的,(乘法/累加)块、移位、幅度比较器和模式检测等。此外,DSP块具有级联功能,允许它们连接在一起形成更广泛的数学函数,如DSP滤波器,而不使用逻辑FPGA资源。

IO接口资源:FPGA的IO可以多种方式配置,以符合各种标准、驱动强度、差分对等。

互连资源:FPGA中最重要的资源可能是各种块之间互连的手段。除了一些特殊缓冲区之外,这些资源通常不能由用户明确控制,而是由布局布线工具和一些高级综合工具隐含地使用,以便在FPGA上实现设计的连接(Chip2Chip)。

时钟资源:专用于实现设计的时钟。这些专用的可编程时钟发生器,包括PLL、全局和区域时钟缓冲器以及低偏斜分布网络

特殊用途的模块:一些设备具有实现特定功能的硬核模块,如以太网MAC、PCI Express接口、选定的CPU核心或高速串行收发器(例如SERDES)。这些特殊模块有助于实现行业标准的外围接口。

建议:鉴于专用资源的专用性,SoC逻辑可能不会透明地映射到这些资源中。为了使用专用资源,一些SoC设计块可能需要与FPGA等效功能的模块替换。当进行此类设计更改时,应理解新块的功能行为可能与原始块不同。

关于FPGA资源的估算

FPGA资源丰富,我们通常希望很快地将这些资源应用到SoC相关的功能设计中,但实际上能否快速的将SoC代码快速移植到FPGA,一方面取决于工程师的经验,另一方面真的取决于SoC的架构设计和代码质量,一般而言组合逻辑路径较短的设计更容易porting到FPGA原型验证,也就是说善于运用寄存器的设计更容易porting,另外合理的流水线设计也将更容易porting。通常需要很多步骤的从SoC代码移植到FPGA代码,才能顺利的porting完成。

在资源换算上,通常我们常说ASIC门数目,而实际上ASIC的门数和FPGA的门数换算并没有一个严格的计算公式,大多数都是不严谨的估算,作为一名严苛的工程师,很容易进入到公式计算的思维定式,但实际上,很难有严苛的公式,大多是只是经验之谈,比如一个LUT大概换算多少逻辑门,一个FF大概换算多少门,而在ASIC芯片设计中,所谓的门更是通过综合工具综合结果而来。另外,在FPGA综合工具中,即使代码量差不多,综合出来的结果也会千差万别,说白了,还是取决于代码质量。建议首先根据特殊资源确定设计是否适合FPGA原型设计与验证,一旦设计代码可综合,就通过综合工具运行相关设计代码,以获得准确的FPGA资源使用估计。如果设计是可综合的,建议使用快速综合评估,以表明预期的资源利用率。

一旦给定设计的FPGA资源利用水平可用,我们就需要为设计的成熟度建立利用水平目标。一般来说,FPGA利用率越高,处理设计(合成、放置和布线等)所需的时间就越长,而且由于布线延迟更大,系统时钟运行速度也会越慢。此外,在原型项目期间,设计可能会发生变化,未来可能会添加一些诊断逻辑,因此系统中FPGA的数量应保守考虑。

基于FPGA的原型设计的一个关键目标是降低SoC项目的整体风险,因此,将最后一点点的逻辑都要压缩到FPGA中可能不是风险最低的方法。除了不留任何扩展空间外,当设备太满时,FPGA布局布线结果也会降低,运行时间也会大大增加。指导方针可能是保持低于75%的利用率,这对于生产FPGA设计和原型项目来说是典型的,60%甚至50%都是合理的。这将缩短设计迭代时间,更容易达到目标性能。

代码设计:好的设计代码风格比其他设计更有效地映射到FPGA资源中,因为它们与FPGA架构和资源的匹配程度。如上所述,由于FPGA技术含大量触发器,具有较高FF与组合逻辑比的设计可能比具有较低比率的设计实现更高的有效门,简单来讲就是组合逻辑路径不要太长。

时钟资源:虽然有多个时钟域,但FPGA的PLL资源、时钟多路复用器资源和片上的布线资源都是有限的。对于多时钟设计,需要更仔细地查看所选FPGA中的可用时钟资源和时钟域限制。

布线资源:FPGA的可用逻辑可能受到布线资源可用性的限制,布线资源的可用性可能因设计而异。“高密度连接”设计可能会耗尽某些区域的FPGA布线资源,并限制对该区域FPGA资源的访问,从而可能导致这些资源无法使用。此外,与“轻度拥塞”设计相比,此类设计可能以较低的时钟速率运行。

IO资源:在现代SoC设计中,多FPGA分区设计中的FPGA在耗尽逻辑或内存之前耗尽引脚是非常常见的。平衡FPGA之间资源的分区可能仍然需要使用多路复用来路由FPGA之间的所有信号





审核编辑:刘清

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

    关注

    9

    文章

    425

    浏览量

    26273
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162000
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1322

    浏览量

    113706
  • SoC系统
    +关注

    关注

    0

    文章

    50

    浏览量

    10577

原文标题:如何给SoC项目评估FPGA原型验证系统?

文章出处:【微信号:于博士Jacky,微信公众号:于博士Jacky】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    验证中的FPGA原型验证 FPGA原型设计面临的挑战是什么?

    什么是FPGA原型?  FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPG
    发表于 07-19 16:27 1787次阅读

    怎么采用FPGA原型系统加速物联网设计?

    的设计和验证的复杂性需求。随着原型技术在设计分割以及多 FPGA 联 合调试领域的进步,基于FPGA
    发表于 08-07 09:41

    高频RFID芯片的FPGA原型验证平台设计及验证

    的RFID系统,用FPGA原型验证平台替代上述的电子标签芯片(Tag),使用上层的应用软件开发验证
    发表于 05-29 08:03

    高频RFID芯片的FPGA原型验证平台的设计及结果介绍

    。基于FPGA原型验证方法凭借其速度快、易修改、真实性的特点,已经成为ASIC芯片设计中重要的验证方法[2].本文主要描述高频RFID芯片的FPG
    发表于 06-18 07:43

    ASIC设计-FPGA原型验证

    ASIC设计-FPGA原型验证
    发表于 03-19 16:15

    FPGA原型验证技术进阶之路

    FPGA原型验证已是当前原型验证的主流且成熟的芯片验证方法——它通过将RTL移植到现场可编程门阵
    发表于 08-21 05:00

    基于FPGA原型的GPS基带验证系统设计与实现

    随着SoC设计复杂度的提高,验证已成为集成电路设计过程中的瓶颈,而FPGA技术的快速发展以及良好的可编程特性使基于FPGA原型
    发表于 11-11 16:00 35次下载

    FACE-VUP:大规模FPGA原型验证平台

    以及ZYNQ 7020模组。XCVU13P主器件具有极其丰富的FPGA可编程逻辑资源,提供了强悍的算法原型验证能力。同时平台板载的ZYNQ 7020器件可用于
    发表于 05-19 10:50 2561次阅读

    SoC的功能有多少可以通过FPGA原型验证平台验证

    我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。
    的头像 发表于 03-28 14:11 801次阅读

    多台FPGA原型验证平台可自由互连

    FPGA原型验证平台系统灵活性主要体现在其外部连接表现形式,由单片FPGA
    的头像 发表于 04-11 09:50 693次阅读

    多台FPGA原型验证平台系统如何实现自由互连

    FPGA原型验证平台系统灵活性主要体现在其外部连接表现形式,由单片FPGA
    发表于 04-11 09:50 466次阅读

    多片FPGA原型验证系统互连拓扑分析

    多片FPGA原型验证系统的性能和容量通常受到FPGA间连接的限制。FPGA中有大量的资源,但I
    发表于 05-23 17:12 1245次阅读
    多片<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b><b class='flag-5'>系统</b>互连拓扑分析

    从SoC仿真验证FPGA原型验证的时机

    我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。
    发表于 05-30 11:10 804次阅读
    从SoC仿真<b class='flag-5'>验证</b>到<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>的时机

    什么是FPGA原型验证FPGA原型设计的好处是什么?

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(AS
    发表于 01-12 16:13 383次阅读

    原型平台是做什么的?proFPGA验证环境介绍

    proFPGA是mentor的FPGA原型验证平台,当然mentor被西门子收购之后,现在叫西门子EDA。
    的头像 发表于 01-22 09:21 656次阅读
    <b class='flag-5'>原型</b><b class='flag-5'>平台</b>是做什么的?pro<b class='flag-5'>FPGA</b><b class='flag-5'>验证</b>环境介绍