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

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

3天内不再提示

多级调试方法的硬件仿真

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

扫码添加小助手

加入工程师交流群

芯片设计调试是一门困难的学科,而片上系统 (SoC) 设计则更是如此。这就像众所周知的大海捞针。对于 SoC 设计,它是两个大海捞针,一个用于软件,另一个用于硬件。软件开发团队经常将集体矛头指向硬件团队,声称这是一个硬件错误,而硬件团队则迅速回击,声称这是一个软件错误。如果没有有效的验证工具来查明问题,就很难知道谁是对的。这就是硬件仿真的用武之地。

硬件仿真对于调试硬件和测试 SoC 设计中硬件和软件的集成非常重要,远远早于第一个芯片。当工程组的两个不同部分(硬件设计师和软件开发人员)使用仿真时,他们能够共享相同的系统和设计表示。SoC 设计的组合软件和硬件视图使它们能够协同工作以调试硬件和软件交互。

作为大多数 SoC 验证流程的基础,硬件仿真允许工程团队更有策略地进行规划并实施基于多个抽象级别的调试方法。工程团队不必彼此独立地钻进两个干草堆。相反,他们可以跨嵌入式软件和底层硬件之间的边界跟踪错误,以确定问题出在软件还是硬件上。

实现基于多个抽象级别的调试方法从最高级别的嵌入式软件开始,然后在抽象级别向下移动以跟踪各个硬件元素的行为。事实上,从包含数十亿个时钟周期的数据库开始,软件调试器可以将问题定位到几百万个时钟周期内。在这个级别,软件开发人员可以识别软件代码中的源代码,或者他们的硬件设计同行可以使用软件感知硬件调试方法来专注于较低的抽象级别。该方法要求通过硬件事务器实现监视器、检查器和断言,以避免速度下降并帮助将问题缩小到几千个周期。

一旦审查了这两个级别收集的数据,硬件仿真允许工程组向下移动到信号级别。它可以通过所识别时间段的寄存器传输电平(RTL)波形分析信息,并追踪其可能的来源。要么发现了硬件错误,要么清除了硬件故障。如果是后者,它会迫使决定回到软件环境。

导航多个级别的调试抽象

在不同的抽象级别之间导航——从软件到硬件再到后面——避免了长时间的模拟运行和大量的详细数据(图 1)。

poYBAGKukNOAJ0WjAAJYn70M568353.png

【图1 | 硬件仿真为软件和硬件调试提供了一个生态系统。]

软件模拟器无法实现多级调试方法,因为它们太慢而无法有效执行嵌入式软件。实际上,它们将运行数月来处理数十亿个设计周期,这些设计的大小达到数亿个专用集成电路ASIC) 等效门。对于消费电子设备或任何其他电子设备的供应商来说,这是一个不可接受的时间限制。

虽然仍然被广泛使用,但在验证场景中推动其成功的原始仿真风格的在线仿真 (ICE) 模式现在在基于事务的验证中面临着可行的替代方案。从概念上讲,这个想法很简单。测试是在高级抽象上编写的,从高级命令到位级信号的转换从测试台转移到称为事务器的专用实体中。通过将事务处理器映射到硬件仿真器上,与基于仿真的验证相比,可以轻松实现 5 或 6 个数量级的加速。

工程组使用事务处理程序来构建虚拟测试环境,而不是 ICE 物理目标系统,方法是用一组等效的事务处理程序替换一组基于 I/O 协议的速度适配器(图 2)。

pYYBAGKukNuAc0UYAAK6HACnCmE557.png

【图2 | 一个完整的虚拟测试环境包括通过事务建模的所有 SoC 外围接口。]

基于事务的加速简化了设计调试。通过完全控制并非由硬件测试台提供的设计时钟,调试变得更加容易和高效。通过控制时钟频率,可以停止仿真的被测设计 (DUT) 模型、读取其内存内容、强制某些寄存器或转储波形。

传统上,在 ICE 环境中调试需要由来自目标系统的不可控时钟驱动的硬件逻辑分析仪。该设置导致了不确定的行为并损害了调试 DUT 的能力。硬件仿真供应商最近通过将其转换为确定性行为的方法解决了 ICE 外围设备的随机行为。

多层次的协同验证视角

一旦软件设计人员和硬件开发人员使用硬件仿真体验了基于事务的验证,他们的整个验证视角就会发生变化。无需繁琐的 ICE 硬件即可快速设置强大的测试环境的能力意味着更容易和更有效的调试。目标可能是相同的——在更短的时间内做出更好的设计——但现在的体验可能会变得不那么具有挑战性。

工程团队发现现代硬件仿真器是测试硬件和在 SoC 设计中集成硬件和软件的必要条件。它使他们能够更有策略地进行规划并成功实施硬件/软件联合验证。

审核编辑:郭婷

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

    关注

    31

    文章

    5620

    浏览量

    130444
  • soc
    soc
    +关注

    关注

    40

    文章

    4635

    浏览量

    230253
  • 仿真器
    +关注

    关注

    14

    文章

    1053

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    变频器调试时出现的问题分析及解决方法

    变频器调试涉及电气、机械、控制等多个系统,出现问题时,建议遵循“先外围、后内部,先参数、后硬件”的原则,逐步排查。这份指南梳理了调试中常见的问题,希望能帮助你快速定位和解决。
    的头像 发表于 04-17 16:13 273次阅读

    PC 端 LuatOS 模拟器使用教程:AirUI 免硬件调试

    硬件环境下完成相关操作。该模拟器支持在 PC 端直接运行 AirUI 程序,无需烧录,可快速查看运行效果。下文将给出 LuatOS 模拟器的快速上手指南,介绍基础使用方法与实操步骤。
    的头像 发表于 04-14 12:22 106次阅读
    PC 端 LuatOS 模拟器使用教程:AirUI 免<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>

    Renesas E1/E20 仿真器使用指南:从规格到调试全解析

    Renesas E1/E20 仿真器使用指南:从规格到调试全解析 在电子工程师的日常工作中,仿真器是调试和开发微控制器(MCU)不可或缺的工具。Renesas E1/E20
    的头像 发表于 03-31 15:30 191次阅读

    智能扫地机器人驱动板接口定义与调试方法-技术性篇(艾毕胜电子)

    驱动板作为智能扫地机器人运动控制的核心硬件,其接口设计直接决定与主控板、电机、传感器等模块的兼容性,而标准化的调试方法则是保障驱动板功能正常、性能达标的关键。本文系统梳理扫地机器人驱动板的核心接口
    的头像 发表于 03-18 16:58 442次阅读

    Renesas E1/E20 仿真器:设计与调试的全方位指南

    Renesas E1/E20 仿真器:设计与调试的全方位指南 在电子设计领域,仿真器是调试和验证微控制器(MCU)程序不可或缺的工具。Renesas 的 E1/E20
    的头像 发表于 02-28 15:45 325次阅读

    瑞萨E1/E20仿真器:设计、调试与使用全解析

    瑞萨E1/E20仿真器:设计、调试与使用全解析 在嵌入式系统开发中,仿真器是不可或缺的工具,它能帮助工程师高效地进行硬件调试和程序开发。瑞萨
    的头像 发表于 02-11 17:05 911次阅读

    Renesas E1/E20 仿真器:设计与调试全解析

    Renesas E1/E20 仿真器:设计与调试全解析 在嵌入式系统开发的广阔领域中,仿真器扮演着至关重要的角色,它是工程师们调试和优化代码的得力助手。Renesas E1/E20
    的头像 发表于 02-09 10:30 777次阅读

    CW32调试接口

    ,程序停止运行,调试器可通过 DAP 对 M0 的内核状态和片内的外设状态及存储单元进行查询;且内核和外设可以被复原,程序继续执行。当使用调试仿真工具通过 SWD 接口连接到 CW32F030,进入
    发表于 12-15 06:18

    电能质量在线监测装置的多级告警阈值功能是如何实现的?

    电能质量在线监测装置的多级告警阈值功能通过 “硬件采集 - 软件计算 - 阈值比对 - 智能触发 - 分级响应” 的全链路闭环实现,核心是为不同电能质量指标设置差异化阈值与响应策略,适配异常严重程度
    的头像 发表于 12-10 14:32 643次阅读
    电能质量在线监测装置的<b class='flag-5'>多级</b>告警阈值功能是如何实现的?

    单片机系统硬件调试方法

    单片机的系统硬件调试,通常有静态调试和动态调试两种不同,前者是通过目测、万能表测试、加电检查、联机检查的方法,在加电于样机之前.对样机的型号
    发表于 12-03 06:10

    利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真

    ,使用NucleiStudio IDE 和 vivado对蜂鸟E203+demo协处理器的软硬件协同仿真实验已经完成。根据以上步骤可以方便地对E203 SoC进行软硬件仿真
    发表于 11-05 13:56

    如何使用CMSIS DAP仿真调试,通过NucleiStudio调试蜂鸟SOC

    如标题所示,我们分享如何使用CMSIS DAP仿真调试,通过NucleiStudio调试蜂鸟SOC 我们先介绍一下CMSIS DAP仿真器: 他的功能如下: 可以看到,它支持JT
    发表于 10-21 12:05

    AMD Vivado ChipScope助力硬件调试

    许多硬件问题只有在整个集成系统实时运行的过程中才会显现出来。AMD Vivado ChipScope 提供了一套完整的调试流程,可在系统运行期间最大限度提升对可编程逻辑的观测能力,助力设计调试
    的头像 发表于 09-05 17:08 1310次阅读

    硬件调试:JLink 驱动配置与调试技巧

    摘要: 本文深入探讨了 JLink 调试器在嵌入式系统硬件调试中的应用,详细阐述了 JLink 驱动配置的方法以及硬件
    的头像 发表于 06-12 23:20 1916次阅读
    <b class='flag-5'>硬件</b><b class='flag-5'>调试</b>:JLink 驱动配置与<b class='flag-5'>调试</b>技巧

    如何解决Air780EPM开发中的调试难题?深度解析高效调试方法

    在Air780EPM项目开发中,调试效率往往直接影响进度。面对代码报错、逻辑漏洞等常见痛点,开发者亟需一套系统化的方法论。本文将揭秘实战中验证的调试技巧,助您快速定位问题并优化代码流程。
    的头像 发表于 05-17 10:46 898次阅读
    如何解决Air780EPM开发中的<b class='flag-5'>调试</b>难题?深度解析高效<b class='flag-5'>调试</b><b class='flag-5'>方法</b>