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

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

3天内不再提示

一文浅谈SoC功能验证中的软件仿真

思尔芯S2C 2023-01-12 17:11 次阅读

随着SOC/ASIC 设计规模不断增大,且结构愈加复杂,导致验证的复杂度呈指数级增长。为了缩短芯片的上市周期,在不同设计阶段工程师们往往选择不同的仿真验证工具,提高整个芯片开发效率。在一个芯片的设计开发流程中,软件仿真是其中重要的一个部分。这种基于软件的逻辑仿真可以说在整个功能验证中都需要用到。

什么是软件仿真?

软件仿真,简单说来,就是用软件和编程语言将所有的硬件特征虚拟出来。它先是通过计算机结合测试激励来模拟芯片在真实环境下的运行状况,帮助工程师通过各种调试手段来判断运行结果是否符合预期。由于它能够较快速地搭建一个仿真环境,十分简便;而且软件仿真对DUT的结果可视化较好(输出波形可直接观测),可以以用户友好的GUI模式来进行debug;工程师也可以随时暂停或者中断验证工具的运行,提高了整个debug的效率。此外,回归测试(regression test)是逻辑仿真不能忽略的一部分。对于芯片这种人类史上既宏大又细微的工程,任何一个改变就像多米诺骨牌一样,牵一发而动全身。因此,工程师会重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。这样的动作就是回归测试,也是软件仿真的主要功能之一。基于以上特性,在数字芯片的前端设计中,软件仿真是工程师们常规必备的验证工具,其重要性不言而喻。

软件仿真面临哪些挑战?

不过,这种通过运行软件的方式验证芯片的设计方案固然简单方便,但对于SOC/ASIC规模越来越大,设计越来越复杂的今天,仿真运行需要花费的时间也越来越长。从运行效率来看,软件仿真更适合一些小规模的设计,尤其是在一些模块级别的功能验证上,软件仿真的编译速度很快,这在一定程度上会加快整体项目的验证速度。此外,软件仿真会在具有不同物理抽象层次(级别)下进行,例如晶体管级、逻辑门级、RTL级和行为级。为了加速整个芯片开发周期,在外购IP越来越普遍的今天,芯片开发大多是自主设计部分和多个IP模块集成,形成复杂芯片的设计。如果交付的IP模块源代码并不是RTL代码,就没办法使用软件仿真进行验证。因此,基于以上两点,软件仿真在运行时,还需要支持连接第三方工具如数学建模,硬件仿真加速器,原型验证平台等共同完成功能仿真。虽然软件仿真技术对工程师来说非常有必要,但就现有的商业模式来说,提供的商用软件仿真服务会以软件许可证(software license)的形式收费。但在实际使用时,工程师们难以依赖经验进行有效算力与工具需求计算的匹配。因为项目开发中对于算力的需求是波动的。有时候已购买的license无法满足现实使用需求,有部分设计工程师获取不到就会造成抢占或拥堵。但如果超前部署,又会带来巨额的成本投入,有可能在闲置时造成资源的浪费。这就对芯片开发效率产生致命影响。对于企业来说怎么平衡生产和效益匹配的问题是当下急需解决的事情。

高性能、多语言混合的

商用数字软件仿真工具

PegaSim 芯神驰是思尔芯倾力打造的一款高性能、多语言混合的商用数字软件仿真工具,已得到多家海内外厂商验证。
其采用了创新的架构算法,实现了高性能的仿真和约束求解器引擎,对System Verilog语言、Verilog 语言、VHDL语言和UVM方法学等提供了广泛的支持,同时支持时序反标和门级后仿真,并可提供功能覆盖率、代码覆盖率分析等功能。同时创新的软件架构允许仿真器支持不同的处理器架构—— x86-64、RISC-VARM等。芯神驰可搭配思尔芯的芯神匠架构设计软件、芯神鼎硬件仿真系统,以及芯神瞳原型验证平台,可实现设计与验证工程师从IP、子系统及全系统等不同场景的验证需求,进而满足当今复杂SoC的验证需求。更重要的是,此款商用数字软件仿真工具采用创新的商业模式,可以很好地满足企业多样化的需求,帮助企业解决license使用紧张、算力不足、license被设计工程师长期占用等问题。真正为企业做到降本增效,加速芯片设计,确保整个芯片设计流程对需求规格的完整实现,以及项目按照预期的验证计划高效地推进。

//

关于思尔芯S2C

思尔芯(S2C)自2004年设立上海总部以来始终专注于集成电路EDA领域。作为业内知名的EDA解决方案专家,公司业务聚焦于数字芯片的前端验证,已覆盖验证云服务、架构设计、软件仿真、硬件仿真、原型验证等工具。已与超过500家国内外企业建立了良好的合作关系,服务于人工智能、超级计算、图像处理、数据存储、信号处理等数字电路设计功能的实现,广泛应用于物联网云计算5G通信、智慧医疗、汽车电子等终端领域。

公司总部位于上海,并建立了全球化的技术研发与市场服务网络,在北京、深圳、西安、香港、东京、首尔及圣何塞等地均设有分支机构或办事处。

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

    关注

    38

    文章

    3750

    浏览量

    215711
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132166
收藏 人收藏

    评论

    相关推荐

    fpga时序仿真功能仿真的区别

    FPGA时序仿真功能仿真在芯片设计和验证过程中各自扮演着不可或缺的角色,它们之间存在明显的区别。
    的头像 发表于 03-15 15:28 422次阅读

    如何使用Verilog语言进行仿真验证

    仿真验证主要作用是搭建一个测试平台,测试和验证程序设计的正确性,验证设计是否实现了我们所预期的功能。其结构如下图所示。
    的头像 发表于 10-02 16:29 858次阅读
    如何使用Verilog语言进行<b class='flag-5'>仿真</b><b class='flag-5'>验证</b>

    时序仿真功能仿真的区别有哪些?

    时序仿真功能仿真的区别有哪些? 时序仿真功能仿真都是电子设计自动化(EDA)过程中的常见任务
    的头像 发表于 09-17 14:15 2916次阅读

    芯片设计中逻辑仿真和数字验证介绍

    芯片的设计规格和功能要求。根据这些要求,制定验证计划,并编写测试用例。 逻辑仿真:逻辑仿真是通过软件工具模拟芯片电路的行为,
    的头像 发表于 09-14 17:11 778次阅读

    SoC芯片设计验证详解

    汽车外,还有很多其他行业也能从电子器件的增加受益,当然保障功能安全是大的前提。本文讨论SOC芯片设计验证验证计划和策略以及验证方法。它定义
    的头像 发表于 07-31 23:45 886次阅读
    <b class='flag-5'>SoC</b>芯片设计<b class='flag-5'>验证</b>详解

    基于OmniArk芯神鼎硬件仿真系统和QEMU的混合验证平台

    软件仿真(Simulation),原型验证(Prototyping),以及硬件仿真(Emulation),是当前主要的三种有效的验证方法,在
    的头像 发表于 07-31 23:16 453次阅读
    基于OmniArk芯神鼎硬件<b class='flag-5'>仿真</b>系统和QEMU的混合<b class='flag-5'>验证</b>平台

    软件仿真、硬件仿真、原型验证是如何工作的?

    无法修正的硬件bug,降低后期的问题风险。随着芯片规模和功能的复杂度增加,验证的难度也随之上升,而如何在降低验证复杂度的同时保证其正确性和效率,正是验证的核心问题
    的头像 发表于 07-31 17:14 423次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>仿真</b>、硬件<b class='flag-5'>仿真</b>、原型<b class='flag-5'>验证</b>是如何工作的?

    基于OmniArk芯神鼎硬件仿真系统和QEMU的混合验证平台

    软件仿真(Simulation),原型验证(Prototyping),以及硬件仿真 (Emulation),是当前主要的三种有效的验证方法,
    的头像 发表于 07-27 09:57 377次阅读
    基于OmniArk芯神鼎硬件<b class='flag-5'>仿真</b>系统和QEMU的混合<b class='flag-5'>验证</b>平台

    fpga验证及其在soc验证中的作用有哪些

    很多其他行业也能从电子器件的增加受益,当然保障功能安全是大的前提。本文讨论SOC芯片设计验证验证计划和策略以及验证方法。它定义了
    的头像 发表于 07-20 09:05 656次阅读

    软件仿真、硬件仿真、原型验证是如何工作的?

    面对复杂的设计代码,我们如何确保其准确性?功能验证就是这场战斗的关键过程。工程师们通常使用的验证方法包括软件仿真、硬件
    的头像 发表于 06-11 14:24 535次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>仿真</b>、硬件<b class='flag-5'>仿真</b>、原型<b class='flag-5'>验证</b>是如何工作的?

    如何搭建硬件仿真加速环境

    手段有三个——逻辑仿真(Simulation)、硬件加速仿真(Emulation)验证和原型验证(Prototyping)。 逻辑仿真 是传
    的头像 发表于 06-02 15:18 1249次阅读
    如何搭建硬件<b class='flag-5'>仿真</b>加速环境

    FPGA初学者:分析FPGA仿真验证知识

    FPGA开发方面的能力,每个章节中都有针对性的代码书写以及代码的讲解,可作为读者参考。 第三章:仿真验证 模块功能是否正确,可以通过验证
    发表于 06-02 09:56

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

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型验证一词对你而言非常新鲜,但是FPGA上板验证应该是非常熟悉的场景了
    发表于 05-30 15:04 992次阅读
    为什么<b class='flag-5'>SoC</b><b class='flag-5'>验证</b>一定需要FPGA原型<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'>验证</b>到FPGA原型<b class='flag-5'>验证</b>的时机

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

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