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

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

3天内不再提示

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

jf_5P3RKFtu 来源:芯播客 2023-03-28 09:33 次阅读

在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型验证一词对你而言非常新鲜,但是FPGA上板验证应该是非常熟悉的场景了。通常有三种方式:第一种,自己制作FPGA电路板,用来验证自身SoC设计;第二种,购买FPGA原厂的开发板,用来搭建FPGA原型验证系统;第三种,对于大型的SoC芯片,一般会购买专业的FPGA原型验证平台,用来搭建其原型验证平台。

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

基于FPGA原型验证,可以提供更高的验证精度和验证性能;

基于FPGA原型验证,可以提供更加真实的现实世界接口模拟

基于FPGA原型验证,可以在实验室真实硬件环境测试与展示。

FPGA原型验证可以用来做什么?

由于其高精度和高性能,可以测试实时数据流,更早期地进行软硬件的协同,同步进行硬件与软件的早期开发与验证;

由于其真实世界的模拟,可以在SoC流片之前进行真实世界数据交互效果,可以测到在仿真环境中无法模拟的罕见的一些随机场景,并且可以进行人机交互的测试;

由于其真实硬件展示的特性,可以进行可行性评估与展示,以此给投资者信心。

虽然在Simulation阶段已经对RTL进行了大量的测试,但是原型验证可以结合软件进一步扩展RTL的验证与调试。

01

高性能和高精度

只有基于FPGA的原型设计才能提供正确测试设计的许多方面所需的速度和精度,这是团队进行原型设计的最可能的根本原因。整个团队的目标可能是验证SoC相关的嵌入式软件系统,看它如何在真实硬件上快速运行。

02

实时数据流

验证SoC很难的部分原因是,SoC的状态取决于许多变量,包括其先前的状态、输入序列和SoC输出的更广泛的系统影响。以实时速度运行SoC设计,将其连接到系统的其他部分,使我们能够看到实时条件、输入和系统反馈的即时影响。

239181bc-cce7-11ed-bfe3-dac502259ad0.png

一个高清媒体数据流通过一个处理器核心的原型被路由到一个高清显示器。当我们在原型中考虑IP使用时,在图的底部,有来自接收器音频和高清视频数据流通过原型实时传输到外部监视器的实时HDMI PHY连接。只有基于FPGA的原型设计才允许这种实时数据流,这不仅给这种多媒体应用带来了巨大的好处,也给许多其他需要对输入数据流进行实时响应的应用带来了极大的好处。

03

软硬件早期集成

在上面的例子中,有一个小的MicroBlaze原型中的CPU以及外围设备和存储器,因此SoC中所有熟悉的模块都存在。在这种设计中,CPU中运行的软件主要用于加载和控制AV处理,然而,在许多SoC设计中,它是需要大部分设计工作的软件。

鉴于软件已经成为SoC开发工作的主导,软件工作处于项目进度的关键路径上的情况越来越普遍。软件开发和验证决定了SoC能够有效达到批量生产的实际完成日期。在这种情况下,系统团队可以做什么来提高软件开发和验证的生产力?硬件系统尽早搭建完成可以及早的进行软硬件系统的协同验证,而FPGA原型验证,正是顺应了这种趋势。

04

软件开发的SoC建模

任何级别的SoC建模都需要我们表示硬件和堆栈,直到当前级别以下的层,以进行验证,并且最佳情况下,我们应该以足够的精度进行工作,以实现最大性能。

例如,堆栈顶部的应用程序开发人员可以在真实的SoC或模型上测试他们的代码。在这种情况下,模型只需要足够精确,以欺骗应用程序,使其认为它运行在真正的SoC上,即,它不需要硬件的周期精度或细粒度可见性。然而,速度很重要,因为在许多情况下,多个应用程序将同时运行并与真实世界数据交互。这种模型对软件层具有“刚刚足够的精度”的方法导致了SoC项目期间不同软件开发人员在不同时间使用的许多不同建模环境。

可以使用事务级模拟,以SystemC等语言建模,以创建以低精度运行但以足够高的速度运行许多应用程序的模拟器模型。如果实时、真实世界数据的处理并不重要,那么我们最好考虑采用这种虚拟原型方法。然而,当整个软件堆栈必须一起运行或必须处理真实数据时,基于FPGA的原型设计变得最有用。

总结

今天的SoC是许多不同专家的工作组合,从算法研究人员到硬件设计师,到软件工程师,再到芯片布局团队,随着项目的进展,每个SoC都有自己的需求。SoC项目的成功在很大程度上取决于上述专家使用的硬件验证、硬件-软件联合验证和软件验证方法。基于FPGA的原型设计为这些专家带来了不同的好处:

对于硬件团队来说,验证工具的速度对验证吞吐量起着重要作用。在大多数SoC开发中,随着项目的成熟,有必要进行多次模拟和重复回归测试。仿真器和模拟器是用于该类型RTL验证的最常用平台。然而,由于运行时间长,即使使用基于TLM的模拟和建模,RTL内或RTL与外部刺激之间的某些交互也无法在模拟或仿真中重新创建。。因此,一些团队使用基于FPGA的原型设计为此类硬件测试提供更高性能的平台。例如,我们可以相对实时地运行整个OS引导,从而节省几天的模拟时间来实现相同的目标。

对于软件团队来说,基于FPGA的原型设计为目标硅提供了一个独特的硅前模型,该模型足够快速和准确,能够在接近最终条件下调试软件。

对于整个团队来说,SoC项目的一个关键阶段是软件和硬件首次相互介绍。硬件将由最终软件以硬件验证计划未单独设想或预测的方式进行测试,从而暴露出新的硬件问题。这在多核系统或运行并发实时应用程序的系统中尤为普遍。如果这种硬件软件的引入是在第一次硅制造之后才发生的,那么温和地说,在那个时候发现新的bug是不理想的。

基于FPGA的原型允许尽早将软件引入硬件的周期准确和快速模型。SoC团队经常告诉我们,基于FPGA的原型设计的最大好处是,当第一块硅可用时,系统和软件一天就能启动并运行。






审核编辑:刘清

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

    关注

    1602

    文章

    21325

    浏览量

    593216
  • HDMI
    +关注

    关注

    32

    文章

    1489

    浏览量

    149745
  • soc
    soc
    +关注

    关注

    38

    文章

    3746

    浏览量

    215693
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59068

原文标题:为什么要做FPGA原型验证?

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

收藏 人收藏

    评论

    相关推荐

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

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

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

    原型验证环境概述套完整的RFID系统是由阅读器(Reader)、电子标签芯片(Tag)也就是所谓的应答器(Transponder)及应用软件三部分组成。电子标签芯片的FPGA
    发表于 05-29 08:03

    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次下载

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

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

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

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

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

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(ASSP)和片上系统(
    发表于 04-10 09:23 1003次阅读

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

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

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

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

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

    FPGA原型验证系统要尽可能多的复用SoC相关的模块,这样才是复刻SoC原型的意义所在。
    发表于 05-23 16:50 417次阅读
    <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原型验证的时机

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

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

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

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

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

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能性的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是
    的头像 发表于 03-15 15:05 378次阅读