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

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

3天内不再提示

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

jf_5P3RKFtu 来源:芯播客 2023-03-28 14:11 次阅读

当一个SoC芯片项目将要切入到FPGA原型验证阶段时,FPGA原型验证团队如何评估是否可以进入原型验证阶段进行新一个阶段的验证工作呢?

1. SoC代码是否成熟?

我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。然而,假如过早地开始FPGA原型验证工作,由于RTL代码在Simulation阶段验证不成熟或不充分,那么将会浪费大量的时间(因为FPGA原型验证过程中debug的难度数倍与Simulation)而只发现简单的RTL的bug,如果使用Simulation仿真,其实容易发现这些简单bug,这样原型验证的时间、技能和设备都没有得到有效利用。

所有SoC芯片项目组将在项目的各个阶段制定一份SoC验证设计。该计划的目标始终是100%验证SoC并自我确认已实现。一般包含Simulation验证计划,FPGA原型验证计划,Emulation验证计划等。一些验证团队采用高效且通用的Simulation验证方法,如UVM,主要用于System Verilog中编写的复杂测试环境,此验证计划记录了验证工程师对于相关功能测试点进行的验证,以及每个测试的当前设计状态,相关的工程师会采用收集覆盖率的方法保证基本的bug在Simulation阶段都已经验证完备了。此时整个RTL的成熟度可以认为是90%了,剩下的10%要通过FPGA原型验证或者Emulation才能保证验证完备。此时,恭喜你,可以进行ASIC代码到FPGA代码的移植工作了!

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

在早期规划阶段,我们需要确认进行FPGA原型验证的范围。当然,通常而言,团队决策者是贪心的,一般都想将整个SoC的功能都进行验证,所以有团队甚至一上来就规划几十片FPGA甚至上百片FPGA原型验证的计划,其实都不算很合理。我们需要从SoC的架构以及能实现FPGA原型验证的规模通篇考虑,因为成功搭建几十上百片FPGA的原型验证系统实属不易。

在考虑分多片FPGA原型验证系统之前,我们需要权衡哪些一定功能点相关设计一定要放在FPGA原型验证系统中,哪些功能点可以放在其他片外或者Emulation阶段去保证,也就是在项目中通常所说的“阉割”版本的FPGA原型验证系统,不管是规模还是功能,都建议从小到大,由简到难的顺序去做相关的移植工作,当然这样的版本不宜太多。简单来讲:哪些可以进入FPGA原型验证来做,哪些不能进入FPGA原型验证来做。

9ca04fa2-cd2d-11ed-bfe3-dac502259ad0.png

对于给定的平台,较小的设计通常以更快的时钟速率运行,并且比较大的设计花费更少的时间来处理。因此,我们应该谨慎地将更多的SoC设计纳入到原型中。我们可以通过哪些方式减少原型的规模,而不会过度降低其有用性或准确性?

为了减小设计尺寸并缓解容量限制,可以考虑以下选项:

永久性逻辑移除:当SoC设计中的块具有可添加到FPGA平台的硬件等效物(物理SoC、评估平台等)时,它是从将映射到FPGA的逻辑中移除的好候选。除了节省空间外,这些块可以以比FPGA平台中可达到的速度更快的速度运行。此类块的典型示例是第三方IP,例如处理器或专用控制器

临时逻辑“阉割”:当逻辑量超过FPGA平台中的可行空间时,可以考虑临时移除一些块。当SoC的一部分可以被原型化时,这可以起作用。例如,如果一个SoC有多个可能的内存接口,但实际应用中只使用一个,那么一次一个地对它们进行原型化,而其他的则被移除,这将单独验证每一个。

整体功能缩放:当SoC中的块大小将超过整个FPGA平台中的可用可行空间时,可以考虑缩小它们。例如,SoC存储器块可按比例缩小以在任何给定时间运行代码的子集,或者可替代地,多通道设计的一个通道可能足以代表用于原型化通道驱动器软件的足够功能。

3. 评估配合FPGA完成相关功能的外接设备卡

虽然FPGA原型验证平台中,主要起作用的一定是这个系统中最主要的FPGA,但是,现代SoC中的功能非常丰富,单纯的FPGA资源一般不能完全满足SoC的验证需求,所以要考虑外接设备卡进行整系统的验证。

一般情况下,出于评估目的,SoC芯片的IP供应商通常提供在在FPGA上可实现的IP,以供客户进行FPGA原型验证。在其他情况下,项目组的FPGA原型团队可以设计或者构建功能上等同于未映射到FPGA的IP块的电路板,当然现今的FPGA原型验证供应商会提供各种类型的功能子卡。为了适应这些外部硬件选项,我们需要验证/执行以下操作:

a. 在RTL中提供与FPGA外部模块的连接。

b. 确保FPGA和外部硬件模块之间的IO的信号级别彼此兼容。

c. 确保外部硬件的信号完整性可被FPGA和硬件模块接受。典型的FPGA 的IO有许多选项,如信号电平、速度以及驱动强度。我们应该熟悉这些选项,以及如何在特定的原型环境中最佳地使用它们。

d. 提供所需的时钟,考虑时钟延迟,能够计算FPGA系统和外部硬件之间的互连定时。

e. 固定硬件的启动时间可能比FPGA系统启动时间短得多,因为FPGA需要在开始工作之前加载。早期启动可能导致硬件模块和FPGA系统之间的同步问题。

f. 外部硬件模块如何物理连接到FPGA系统,以及如何供电。必须注意布线和与FPGA系统的重复连接,以保护FPGA和硬件模块。当需要将原型运送到远程实验室或客户时,一个好的机械计划将使其更容易。





审核编辑:刘清

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

    关注

    1625

    文章

    21665

    浏览量

    601781
  • asic
    +关注

    关注

    34

    文章

    1193

    浏览量

    120312
  • soc
    soc
    +关注

    关注

    38

    文章

    4118

    浏览量

    217920
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59696

原文标题:从SoC仿真验证到FPGA原型验证的时机

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

收藏 人收藏

    评论

    相关推荐

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

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

    大规模 SoC 原型验证面临哪些技术挑战?

    方法被称为原型验证原型验证在EDA流程中起到了至关重要的作用。一方面,它可以对芯片进行功能
    的头像 发表于 06-06 08:23 1096次阅读
    大规模 <b class='flag-5'>SoC</b> <b class='flag-5'>原型</b><b class='flag-5'>验证</b>面临哪些技术挑战?

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

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

    SoC验证平台FPGA综合怎么实现?

    先进的设计与仿真验证方法成为SoC设计成功的关键。一个简单可行的SoC验证平台可以加快
    发表于 10-11 07:07

    FPGA原型验证的技术进阶之路

    FPGA原型验证已是当前原型验证的主流且成熟的芯片验证方法——它
    发表于 08-21 05:00

    基于FPGA验证平台及有效的SoC验证过程和方法

    设计了一种基于FPGA验证平台及有效的SoC验证方法,介绍了此FPGA
    发表于 11-17 03:06 1.4w次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>验证</b><b class='flag-5'>平台</b>及有效的<b class='flag-5'>SoC</b><b class='flag-5'>验证</b>过程和方法

    关于无源高频电子标签芯片功能验证FPGA原型验证平台设计

    利用Xilinx的FPGA设计了一个FPGA原型验证平台,用于无源高频电子标签芯片的功能
    发表于 11-18 08:42 2141次阅读
    关于无源高频电子标签芯片<b class='flag-5'>功能</b><b class='flag-5'>验证</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b><b class='flag-5'>平台</b>设计

    为什么SoC验证一定需要FPGA原型验证呢??

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型
    的头像 发表于 03-28 09:33 1216次阅读

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

    FPGA原型验证在数字SoC系统项目当中已经非常普遍且非常重要,但对于一个SoC的项目而言,选择合适的F
    的头像 发表于 04-03 09:46 1257次阅读

    什么是FPGA原型验证?如何用FPGA对ASIC进行原型验证

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA验证专门应
    发表于 04-10 09:23 1458次阅读

    SoC设计的IO PAD怎么移植到FPGA原型验证

    FPGA原型验证系统要尽可能多的复用SoC相关的模块,这样才是复刻SoC原型的意义所在。
    的头像 发表于 04-19 09:08 1224次阅读

    正确认识原型验证多片FPGA自动分割工具

    SoC的规模在一片FPGA中装不下的时候,我们通常选择多片FPGA原型验证平台
    发表于 05-23 15:31 547次阅读

    SoC设计的IO PAD怎么移植到FPGA原型验证

    FPGA原型验证系统要尽可能多的复用SoC相关的模块,这样才是复刻SoC原型的意义所在。
    发表于 05-23 16:50 671次阅读
    <b class='flag-5'>SoC</b>设计的IO PAD怎么移植到<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>

    为什么SoC验证一定需要FPGA原型验证呢?

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型
    发表于 05-30 15:04 1376次阅读
    为什么<b class='flag-5'>SoC</b><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验证专门应
    发表于 01-12 16:13 1124次阅读