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

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

3天内不再提示

硬件仿真在嵌入式软件和系统验证中的应用

星星科技指导员 来源:嵌入式计算设计 作者:Lauro Rizzatti 2022-07-05 09:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

任何学科的设计——电子、机械、航空航天等——都始于一个规范,该规范捕捉最终产品应该做什么,并从根本上推动整个开发周期。在开发的早期阶段,第一个任务使用规范来验证正在开发的设计是否正常工作并且没有错误。然后,当设计的所有部分都组装成一个完整的系统时,第二个任务使用规范来确定系统是否也按照预期的方式运行。

广告:

航空航天、机械

这两个任务称为设计验证(任务 1)和设计验证(任务 2)。有时,错误地,这两个术语可以互换使用。虽然相似,但这两项任务的目标却截然不同。

验证:我们构建的系统正确吗?

验证:我们是否在构建正确的系统?

在片上系统 (SoC) 设计过程中,使用基于软件的硬件描述语言 (HDL) 仿真方法进行设计验证。相反,设计验证是在实际使用环境中测试的整个系统的原型上进行的。

不幸的是,HDL 仿真执行速度并没有跟上设备的复杂性,尽管它具有所有优点:易用性、灵活性和快速的设计迭代时间。当今的许多设计,例如具有 1,024 个端口的互联网路由器或高清视频处理器,都需要大量的验证序列,即使在最快的 PC 上模拟也需要很多年。这些序列源于运行长的、连续的串行协议流或处理复杂的嵌入式软件以全面验证 SoC 或系统设计的需要。

此外,近年来,在硅可用之前开始软件验证已变得很重要。为了实现这一目标,引入了一种称为虚拟原型的新型方法。虽然其中一些工具已经实现了启动软件开发的目标,但它们只处理不需要准确表示底层硬件的应用程序。在测试嵌入式软件(例如固件、设备驱动程序、操作系统和诊断程序)的交互时,它们会出现不足。对于此测试,嵌入式软件开发人员依靠准确的硬件模型来验证他们的代码。

相比之下,硬件设计人员需要一套相当完整的软件来在系统验证期间全面测试他们的 SoC。古老的基于 FPGA 电路板的系统原型设计方法提供了设计的准确表示,但不太适合硬件调试。因此,只要设计适合少数 FPGA,FPGA 原型对软件开发团队的吸引力就更大。

最终,软件和硬件组需要在一个通用模型上走到一起,以验证完整的硬件和嵌入式软件。对于大多数使用传统开发周期的人来说,第一个完整的模型是实际的硅片(图 1)。

pYYBAGLDmryAOyoeAAEkefk1rws728.png

【图1 | 在传统的开发周期中,第一个完整的模型是硅。]

等待实际硅片的问题在于它在设计周期中为时已晚。由于嵌入式软件无法在完整、准确的系统模型的上下文中得到充分验证,直到硅片,所以在硅片中发现问题的可能性增加。它们可以在软件或软件和硬件中找到,通常会迫使额外的芯片重新设计和代码修订。重新设计和代码修订都具有成本和上市时间的影响。避免这些影响所需要的是一种提供统一解决方案的方法,以在第一块芯片之前实现硬件/软件验证和确认。

最新一代的硬件仿真器实现了这一点。它们提供几乎无限的容量,多达数十亿个门,并以 1 兆赫或更多兆赫的速度验证被测设计 (DUT),提供比 FPGA 原型系统更好的硬件调试。它们易于使用,可以更快地编译 DUT,并允许从世界任何地方进行 24/7 远程访问。在仿真器上运行的新软件应用程序使其能够支持多种类型的验证,从低功耗分析和验证到测试设计 (DFT) 逻辑验证。仿真器还为从网络到处理器/图形、存储等各种细分市场带来了独特的技术。

在设计周期的早期,仿真器用于与仿真器和 SystemVerilog 进行协同仿真,以在组装完整的 SoC 设计之前验证知识产权 (IP) 模块和子系统。在设计周期的后期,仿真器用于验证整个系统并执行嵌入式软件验证。

它们在相同的设计表示上为硬件和软件工程师提供完整的硬件和软件调试功能。这让硬件和软件开发团队能够以前所未有的方式协作并修复集成问题(图 2)。

poYBAGLDmsOANT8nAAFHAxOgUIg491.png

【图2 | 最新一代的硬件仿真器显着加快了开发周期。]

硬件仿真以前仅限于验证超大型设计,如今已成为所有设计验证和确认流程的基础。这种新发现的流行是日益增长的硅复杂性和嵌入式软件的广泛使用的结果。在设计中心,硬件仿真被使用,并且在未来它将在从硬件验证、硬件/软件集成到嵌入式软件和系统验证的整个开发周期中使用得更多。

审核编辑:郭婷

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

    关注

    1664

    文章

    22504

    浏览量

    639304
  • 嵌入式
    +关注

    关注

    5209

    文章

    20664

    浏览量

    337124
  • 仿真器
    +关注

    关注

    14

    文章

    1052

    浏览量

    88198
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是嵌入式应用开发?

    概述 所谓的嵌入式应用开发就是嵌入式操作系统下进行开发、软硬件综合开发 ‌嵌入式应用开发‌是
    发表于 01-12 16:13

    Aumovio案例研究 | 软件即产品(SWaap)背景下的模型系统工程与闭环系统验证

    Aumovio案例研究客户背景Aumovio作为一家科技公司,致力于为当前及未来的移动出行挑战提供硬件软件与服务的最佳融合方案。挑战软件即产品(SoftwareasaProduct
    的头像 发表于 01-07 10:04 725次阅读
    Aumovio案例研究 | <b class='flag-5'>软件</b>即产品(SWaap)背景下的模型<b class='flag-5'>系统</b>工程与闭环<b class='flag-5'>系统验证</b>

    C语言单元测试嵌入式软件开发的作用及专业工具的应用

    方面: ‌早期缺陷发现****‌:单元测试可以开发早期发现代码的逻辑错误和边界条件问题,降低后期修复成本 ‌硬件交互验证****‌:嵌入式
    发表于 12-18 11:46

    系统嵌入式的学习路线

    ,供各位嵌入式初学者参考,希望对大家有所帮助。嵌入式工程师需要掌握的内容非常广泛,主要包括嵌入式软件嵌入式
    发表于 12-16 07:49

    CW32嵌入式软件开发的必备知识

    设计的原则和方法,能够设计出高效、可维护的软件系统。 了解嵌入式系统的实时性要求,能够设计出满足实时性要求的软件
    发表于 11-28 07:48

    C语言嵌入式开发的应用

    C 语言汽车电子控制系统开发的主导地位。 2、设备驱动程序 设备驱动程序是嵌入式系统
    发表于 11-21 08:09

    嵌入式与FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式
    发表于 11-20 07:12

    嵌入式和FPGA的区别

    嵌入式系统与FPGA的核心差异:软件定义功能VS硬件可重构。嵌入式适合通用计算,开发门槛低;FPGA凭借并行处理实现纳秒级响应,但成本高、开
    发表于 11-19 06:55

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的
    发表于 11-13 08:12

    嵌入式软件测试与专业测试工具的必要性深度解析

    嵌入式系统作为控制、监视或辅助装置运行的专用计算机系统,其软件测试面临着独特的挑战和严格的要求。专业测试工具
    发表于 09-28 17:42

    硬件工程师和嵌入式软件哪个更有前途?

    不少人琢磨硬件工程师和嵌入式软件到底哪个更有前途,其实从实际职场情况和成长路子看,差别还挺清楚的。先说说天花板这事,一般来讲,硬件工程师的职业天花板还真比
    的头像 发表于 09-10 10:43 1344次阅读

    是德示波器MSOX3052T嵌入式系统的应用

    现代电子系统设计嵌入式系统已成为智能设备与物联网的核心。面对日益复杂的硬件架构与
    的头像 发表于 08-27 17:38 804次阅读
    是德示波器MSOX3052T<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>的应用

    单元测试工具TESSY现已支持ABIX HiperSIM,助力MELEXIS MLX16 汽车嵌入式系统软件验证

    TESSY现已支持ABIX HiperSIM,为基于MELEXIS MLX16架构的汽车嵌入式系统提供高效、可靠的软件验证解决方案。自动化测试+高保真
    的头像 发表于 07-17 13:39 970次阅读
    单元测试工具TESSY现已支持ABIX HiperSIM,助力MELEXIS MLX16 汽车<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>的<b class='flag-5'>软件</b><b class='flag-5'>验证</b>

    嵌入式软件开发常用的软件有哪些?

    、编译和调试嵌入式系统软件。它提供了一个集成的开发环境(IDE),包括代码编辑器、编译器、调试器和仿真器等组件,这些组件可以方便地进行配置和管理,提供了高效的开发体验。Keil 5支持多种编程语言,包括
    发表于 07-03 17:06

    嵌入式单片机电机控制系统的应用

    长时间处于良好的工作状态,其稳定性也得到了显著的提升。嵌入式单片机电机控制系统的应用可以分为软件应用和
    发表于 06-11 15:07