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

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

3天内不再提示

技术分析:Deterministic ICE 与基于软件测试的虚拟环境相结合

电子工程师 来源:网络整理 2018-02-01 01:27 次阅读

Deterministic ICE 中也许已完美地将电路内仿真 (ICE) 与基于软件测试的虚拟环境相结合。

笔者承认自己有所偏爱。举个例子,笔者特别喜欢吃意大利美食,也会偶尔品尝下日本生鱼片。同样,针对硬件加速仿真的部署模式,笔者也有所偏好。笔者不青睐电路内仿真 (ICE) 模式,这个观点已在笔者众多文章中表达过。

需要指出的是,ICE 模式曾经是硬件加速器的第一种部署方式。在这种模式中,硬件加速器需要插入物理目标系统上的插孔,以此代替待开发的芯片,从而利用实时数据支持运行和调试硬件加速器内部映射的被测设计 (DUT)。

与 ICE 模式相比,笔者更喜欢虚拟环境模式中的部署,且该模式拥有基于软件的测试环境。与寄存器传输级 (RTL) 相比,它是在更高抽象层次上进行编写的,以此代替物理目标系统。(参见下表)。

正如意大利的一句流行说法:“让凯撒得到他应得的”。或者如美国的一句流行语,“即使对不喜欢的事物也要公平对待”。显然,ICE 最大的好处就是可以通过真实流量来运行 DUT,进而减少耗时并且避免测试平台创建过程中可能出现的错误。赶紧在实际应用中全面施行这一流程吧。想必,要在模糊的设计区域里寻找令人厌烦的隐匿错误,实际应用会比任何基于软件的测试平台都更为有效。

ICE 的另一个独特性在于它能支持与目标系统连接的自定义和专有接口,而该目标系统基于的高度机密 IP 内容是硬件加速仿真的终端用户绝无法向外界披露的。将这种方法与创建和调试测试平台比较。如果出现错误,设计人员最后总是会问:“这是测试平台错误还是设计错误?”很显然,调试测试台会延长验证任务的总分配时间,而用于验证的时间从来都是不够的。

技术分析:改用 Deterministic ICE

ICE 验证方法伴随着众多问题,其中大部分问题源于该方式的硬件本质。这些问题包括缺乏灵活性、有限的复用性、存在潜在不可靠性以及各种影响部署的不便性。更别提,ICE 还会产生额外成本以及功耗,这些可通过虚拟方式降低或快速消除。

其中最突出的一个问题就是:当调试 DUT 时,它缺少确定性或者可重复性。

设计调试

设计调试是无法提前规划的一种探寻过程。这是因为,错误往往因为未知的原因,在未知的地方和时间,出其不意的出现。

如果将其应用于包含大量嵌入式软件的几亿门片上系统 (SoC) 设计时,调试过程需要较长序列。为了在硬件或者软件设计中找到隐藏于未知角落的错误,这些序列需要运行,即使不是几十亿次,也得是几百万次的验证周期。

在以上示例中,存在三个关键未知因素:地点、时间和事由。这三个因素足以延误整个测试计划的进度,即便该计划已经过深思熟虑。请谨记,在竞争如此激烈的市场中,若一项生命周期为 24 个月的新产品延期一个月上市,那么它将造成 相当于潜在总收益12%的损失。若产品生命周期为 12 个月,如现代智能手机,其潜在损失将大幅增加,约占总收益的 25% 或四分之一。

潜在的损失足以说明验证解决方案的价值所在。

硬件加速仿真就是此项任务的最佳选择。硬件加速器的性能极为快速,与硬件描述语言 (HDL) 软件仿真器相比,其执行和调试速度高出了几个数量级。事实上,它们的快速执行速度便是它们的设计初衷。对于疑似隐藏设计问题的区域,它们即便在运行了几十亿次周期之后,仍能快速缩放。

虽然相较于基于软件的验证解决方案,硬件仿真价格更高昂,但在从每个验证周期来看,它们却是最便宜的验证引擎。

ICE 调试问题

然而,在 ICE 模式中调试芯片设计会显得过于繁琐而又令人沮丧。这是由于物理目标系统缺少确认性以及可预测的行为,从而妨碍了错误的发现并延长了发现时间。

使用硬件加速器追踪 DUT 的错误,就需要基于特定时间触发,全速地把每个设计寄存器的活动捕获到追踪存储器中。追踪存储器容量很有限,仅能容纳几百万次周期的波形深度,这相较于几十亿次全速运行的周期是非常少的。

技术分析:改用 Deterministic ICE

连续运行时,会在不同的时间/区域内显示相同的设计错误或者根本不显示任何设计错误。

因此,用户为了找到自己感兴趣的调试窗口和转储正确的波形最终需要进行多次——很可能是数百次的运行。由于 ICE 模式行为具有随机性,每次运行都可能会在不同的时间点内检测出相同的错误,甚至更糟糕的是,根本检测不出任何错误(参见上图)。它具有随机性。很显然,在 ICE 模式中复现错误是一项挑战,其对于快速找到错误根源至关重要。

来看下SoC大量使用第三方 IP 的例子。经常,一个能单独工作的IP核在内嵌于SoC时却无法工作。利用 ICE 模式对深埋于 DUT 的 IP 进行调试可能会导致验证团队没日没夜地加班。

Deterministic ICE

于是,问题变成了:是否可让 ICE 的调试环境具有确定性?很高兴,答案是肯定的。

如果设计人员在精确序列中的首次运行中,捕捉到激励和响应,然后移除物理目标系统(内在非确定性)并不断回放激励,那么调试环境将具有可重复性和确定性。这就称为 Deterministic ICE。

基本上,这种方法是将物理 ICE 环境转变为等效的虚拟环境,从而让设计人员获得虚拟环境的所有特征和功能优势。它们可以检查断言与覆盖率收敛、执行低功耗分析和功耗估计,并进行嵌入式软件调试。

结语

尽管笔者对虚拟模式有所偏爱,但必须意识到 ICE 模式确实有存在的价值。当需要专有接口时,ICE 模式是硬件加速仿真用户的唯一可行方案。值得庆幸的是,Deterministic ICE 能帮助设计人员避免众多问题,改善 ICE 模式不那么吸引人的形象。

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

    关注

    447

    文章

    47838

    浏览量

    409219
收藏 人收藏

    评论

    相关推荐

    虚拟现实技术应用在哪些方面

    虚拟现实(Virtual Reality,简称VR)技术是一种将用户置身于虚拟环境中的交互式数字技术。它通过模拟真实世界的感官体验,如视觉、听觉、触觉和运动等,使用户可以与
    的头像 发表于 01-15 09:31 704次阅读

    软件测试活动有哪些?

    和使用习惯。 二、报告类型又可分为以下五种: 1、鉴定测试报告(适用于政府项目申报、高新认证、项目结题和创新产品认定) 2、验收测试报告(适用于各类软件和硬件系统相结合的综合性集成项目
    发表于 01-08 11:11

    如何将AI技术与六西格玛的理念相结合

    相结合,进一步提升企业的运营效率和产品质量呢? 1、建立数据驱动的思维模式 六西格玛强调数据的重要性,而AI技术可以帮助企业更快速、更准确地收集和分析数据。因此,将AI技术与六西格玛
    的头像 发表于 12-20 09:35 153次阅读

    【Milk-V Duo 开发板免费体验】Milk-V Duo 开发板使用阿里云主机的python环境搭建

    配置: “ source /etc/profile “ 您现在可以在任何终端窗口中使用Python 3.6命令了。 5、设置Python虚拟环境(选项) Python虚拟环境是一种轻量级的解决方案
    发表于 08-18 00:49

    Multi ICE 2.2版用户指南

    本文档使用ARM软件开发工具包(SDT)或ARM开发套件(ADS)开发环境为Windows或Unix平台上的多ICE用户编写。 假设您是一名对ARM架构有一定经验的软件工程师,或者是一
    发表于 08-12 06:39

    LED虚拟拍摄显示屏:科技改变影视制作

    捕捉到画面中,与实际拍摄的演员和场景相结合,创造出极其逼真的虚拟环境。 一、优势 LED虚拟拍摄显示屏与传统实景拍摄相比,具有以下优势: 成本低:虚拟拍摄不需要大量的实地拍摄和布景,可
    的头像 发表于 08-10 17:39 388次阅读

    从 0 到 1 搭建机器人 | 利用 NVIDIA Isaac Sim 创建虚拟环境进行仿真开发与测试

    的第一步——生成合成数据然后进行训练。从 0 到 1 搭建机器人系列文章第二篇将带领大家继续学习如何创建虚拟环境,进行机器人的仿真开发与测试。本次要使用的工具是 NVIDIA Isaac Sim , 一款可扩展的机器人仿真应用程序和合成数据生成工具
    的头像 发表于 08-07 19:10 548次阅读
    从 0 到 1 搭建机器人 | 利用 NVIDIA Isaac Sim 创建<b class='flag-5'>虚拟环境</b>进行仿真开发与<b class='flag-5'>测试</b>

    虚拟现实技术的应用和特点 虚拟现实技术的发展现状及发展趋势

    虚拟现实技术是指通过计算机图形学、计算机视觉、骨骼动作跟踪和数据手套等技术,将使用者完全沉浸在计算机生成的虚拟环境中,创造出一种视觉、听觉和触觉的沉浸式体验。这是一种模拟现实的新型
    发表于 08-03 16:57 1846次阅读

    虚拟现实技术的三大特征 虚拟现实的概念性体系结构是什么?

    虚拟现实技术能够将用户完全沉浸到模拟的虚拟环境中。通过使用头戴式显示器、手柄、手套等设备,用户可以感受到身临其境的体验,仿佛置身于虚拟世界中。
    发表于 07-26 15:20 3973次阅读

    AR地铁拆解教学将虚拟模型与实际场景相结合,提高学生实践操作技能

    等问题,让学生在虚拟环境中进行拆解和维修操作,提高学生的实践能力和操作技能。 AR地铁拆解教学软件通常包括以下几个部分: 1.三维模型展示:通过AR技术,将地铁车辆的三维模型呈现在学生眼前,让学生更加直观地了解车辆的结
    的头像 发表于 07-20 14:35 356次阅读

    如何使用tox来实现Python中的标准化和自动化测试

    如何管理虚拟环境和自动化 Tox 测试
    的头像 发表于 07-05 16:30 756次阅读
    如何使用tox来实现Python中的标准化和自动化<b class='flag-5'>测试</b>

    基于AWS的物联网虚拟环境

    电子发烧友网站提供《基于AWS的物联网虚拟环境站.zip》资料免费下载
    发表于 07-05 11:03 0次下载
    基于AWS的物联网<b class='flag-5'>虚拟环境</b>站

    使用RIOT-OS的基于AWS的IoT虚拟环境

    电子发烧友网站提供《使用RIOT-OS的基于AWS的IoT虚拟环境站.zip》资料免费下载
    发表于 06-19 14:32 0次下载
    使用RIOT-OS的基于AWS的IoT<b class='flag-5'>虚拟环境</b>站

    让光学工程师在再现真实世界的虚拟环境测试前照灯设计及其控制

    AVxcelerate Headlamp通过在设计阶段早期验证控制规律⾏为和测试潜在的边缘场景,加速智能前照灯的开发。在虚拟驾驶环境中,通过实时光学仿真轻松评估创新和智能光束。提高您的最终产品质量,并大幅降低在开发过程后期发现问
    的头像 发表于 05-19 15:47 567次阅读

    什么是XR虚拟制作技术

    XR,扩展现实(Extended Reality),是指通过计算机将真实与虚拟相结合,打造一个可人机交互的虚拟环境,这也是虚拟现实技术(VR
    的头像 发表于 05-04 17:54 1018次阅读