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

    文章

    5343

    浏览量

    120385
  • soc
    soc
    +关注

    关注

    38

    文章

    4166

    浏览量

    218280
  • 仿真器
    +关注

    关注

    14

    文章

    1018

    浏览量

    83752
收藏 人收藏

    评论

    相关推荐

    单片机Debug与仿真区别

    单片机的开发是一个复杂的过程,涉及到硬件设计、软件开发和测试等多个环节。为了确保单片机能够按照预期工作,开发者需要使用Debug和仿真技术来检测和修正代码中的错误。 Debug(调试) Debug
    的头像 发表于 12-19 09:47 175次阅读

    自动控制系统的调试方法 自动控制系统与传统控制系统的比较

    自动控制系统的调试方法 自动控制系统的调试是一个复杂的过程,涉及到对系统性能的测试和优化。以下是一些基本的调试方法: 理论分析与
    的头像 发表于 12-18 09:50 261次阅读

    如何进行硬件调试

    硬件调试硬件系统设计、开发和制造过程中不可或缺的一环,旨在对可能出现的问题进行分析和解决。以下是进行硬件调试的一般步骤和
    的头像 发表于 11-10 10:17 662次阅读
    如何进行<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>?

    无线网桥的连接与调试方法

    无线网桥的连接与调试方法主要涉及设备的配置、网络参数的设定以及通信质量的优化。以下是详细的步骤和注意事项:
    的头像 发表于 10-01 15:23 684次阅读

    FPD link系统概念与诊断调试方法

    电子发烧友网站提供《FPD link系统概念与诊断调试方法.pdf》资料免费下载
    发表于 09-27 11:11 0次下载
    FPD link系统概念与诊断<b class='flag-5'>调试</b><b class='flag-5'>方法</b>

    用OPA340仿真出来的效果和硬件调试基本相符,二倍时150K增益开始下降,为什么?

    用OPA340仿真出来的效果和硬件调试基本相符,二倍时150K增益开始下降,100倍时50K左右。但是项目要求100倍时带宽200K,所以后来又选用了OPA350。但是350回来以后进行硬件
    发表于 09-23 06:35

    【干货分享】硬件在环仿真(HiL)测试

    一、HiL是什么?硬件在环仿真(Hardware-in-the-Loop,简称HIL)是真的控制器连接假的被控对象,以一种高效低成本的方式对控制器进行全面测试。它是一种用于复杂设备控制器的开发与测试
    的头像 发表于 09-19 17:15 941次阅读
    【干货分享】<b class='flag-5'>硬件</b>在环<b class='flag-5'>仿真</b>(HiL)测试

    上海 10月25日-26日《硬件威廉希尔官方网站 设计、调试与工程案例分析》公开课即将开始!

    课程名称:《硬件威廉希尔官方网站 设计、调试与工程案例分析》讲师:王老师时间地点:上海10月25-26日(两天)主办单位:赛盛技术课程特色1)课程内容围绕威廉希尔官方网站 设计和调试所涉及的主要环节;2)针对设计和调试
    的头像 发表于 09-19 08:03 365次阅读
    上海 10月25日-26日《<b class='flag-5'>硬件</b>威廉希尔官方网站
设计、<b class='flag-5'>调试</b>与工程案例分析》公开课即将开始!

    仿真器的使用方法有哪些

    仿真器是一种用于模拟和测试电子系统、软件或硬件的工具。它可以帮助工程师在实际硬件或软件部署之前,对设计进行验证和调试仿真器的基本概念
    的头像 发表于 08-22 09:16 872次阅读

    多级放大威廉希尔官方网站 耦合方式的特点是什么

    多级放大威廉希尔官方网站 是一种由多个放大器级联组成的威廉希尔官方网站 ,每个放大器都对信号进行放大,以实现更高的放大倍数。耦合方式是连接各个放大器的方法,对威廉希尔官方网站 的性能和稳定性有重要影响。本文将介绍多级放大威廉希尔官方网站 耦合方式的特点
    的头像 发表于 08-07 09:55 759次阅读

    说说硬件调试中发现的那些低级错误

    硬件调试中会经常遇到各种意想不到的问题,有些调试花了几个月,各种能想到的办法都尝试了,最后发现却是一个非常低级的错误,有多低级?请看今天的内文介绍。
    的头像 发表于 07-03 12:00 342次阅读
    说说<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>中发现的那些低级错误

    深度学习的模型优化与调试方法

    深度学习模型在训练过程中,往往会遇到各种问题和挑战,如过拟合、欠拟合、梯度消失或爆炸等。因此,对深度学习模型进行优化与调试是确保其性能优越的关键步骤。本文将从数据预处理、模型设计、超参数调整、正则化、模型集成以及调试与验证等方面,详细介绍深度学习的模型优化与
    的头像 发表于 07-01 11:41 825次阅读

    TLT507-GDB程序调试方法说明

    TLT507-GDB程序调试方法说明
    的头像 发表于 01-26 10:11 988次阅读
    TLT507-GDB程序<b class='flag-5'>调试</b><b class='flag-5'>方法</b>说明

    RK3568-GDB程序调试方法说明

    RK3568-GDB程序调试方法说明
    的头像 发表于 01-19 16:16 1851次阅读
    RK3568-GDB程序<b class='flag-5'>调试</b><b class='flag-5'>方法</b>说明

    5g滤波器调试方法

    调试方法、如何快速准确地识别滤波器性能问题等。本文将详细介绍5G滤波器调试方法,包括设计、制造和验证。 一、滤波器调试前的设计准备 在进
    的头像 发表于 01-09 15:01 1496次阅读