中文 英语

验证和测试的合并

在设备的寿命中的可靠性问题在发生这些功能时驾驶基本变化。

受欢迎程度

虽然功能验证和测试的学科服务于不同的目的,但它们的历史曾经紧密地交织在一起。最近的安全和安全监控要求,加上嵌入到设备中的功能,使它们再次更加紧密,但它们能否成功地合作,为两者带来改进?要做到这一点可能很困难。

必须考虑系统寿命的三个阶段:

  • 功能验证,其中团队试图确定该设备能否按照规范执行;
  • 制造测试,确保设备放置在现场时正确运行,
  • 系统生命周期监测在那里,一个设备被监控,看它是否继续按预期工作。

前两个阶段已成为高度专业的学科,今天它们之间的接触量是最小的。如图1所示,更改的变化是系统监控的功能。更多应用程序需要继续检查系统是否正常运行,并且它们是最新的安全性。这需要能够更新现场设备,以及后芯的延续功能验证和验证 - 包括性能和功耗 - 当设备正在运行时。


图1:产品阶段的重叠。来源:半导体工程德赢娱乐网站【官方平台】。

“许多应用,如汽车或航空电子设备,寿命预期只有几十年,”瑞安·拉米雷斯(Ryan Ramirez)说西门子eda.。“随着那个时间来说,从空中更新中,从空中更新中有很多变化,从该时段增加了由于环境影响而增加了设备劣化的可能性。所有这些都改变了功能,因此我们需要继续监控这些变化发生的正确性。认为设计可以完全验证预先验证,这也是不合理的。设计不仅是越来越复杂的,而且由于您试图验证未知空间,因此不可能充分了解安全性和安全性的新要求。作为一个简单的例子,您可以验证当时的设计是否没有已知的安全威胁,但新漏洞不断被发现,并且您需要一种方法来保持这些方法。“

我们是怎么走到这一步的?
专业化已经创造了这种分离。“我认为人们真的在思考这个方面的思考,”CEO首席执行官Simon Davidmann说Imperas软件。“绝对重叠,每个人都有相同的目标,但他们已经进化了技术来解决不同类型的问题。这完全是质量。但是每个团队都有不同的质量要求,无论是如何获得规范,无论是对规范的设计,无论是对规范的制作,还是它实际上是该字段中设备的寿命。随着验证范围扩大的范围,包括验证漏洞,人们越来越乐于困惑。它实际上是碎片化的,因为一切都在某种程度上是专门的。“

当涉及到时间和抽象概念时,测试和验证是不同的。“在验证中,你可以将所有东西保持在一个更高的抽象级别上,”jergen Jaeger说,他是该公司的产品管理组主任节奏。“在测试中,您正在处理物理效果,您必须深入了解该电缆的特性或在点A和点B之间的这种轨迹。此外,在测试每毫秒计数时也是如此。测试必须在运行时间非常有效,它需要对覆盖范围的非常好的了解。你不想重新测试已经测试的东西,因为这是浪费时间,而且它成本钱。在验证中,我们似乎没有那么关注。优化测试台或测试套件并不视为重要。可能有很多机会提升这一点。“

当监视现场中的某些东西时,时间仍然很重要,但是没有测试人员在场帮助您。这一切都必须在内部完成。“ASIL规范说,你需要能够很快发现某些东西是否坏了,”Colin McKellar说,他是验证平台的副总裁想象力技术。“但是因为这些是真正复杂的筹码,人们在所需的时间范围内努力获得足够好的答案。自检需要很快运行,需要确保您的逻辑在功能上具有声音,并且没有损坏或有任何瞬态故障。这也是今天独立的测试团队完成的。“

安全性可能是集成的驱动因素。西门子的拉米雷斯说:“一些标准化委员会正在进行工作,以确定如何在供应链中共享安全数据。”“在未来,你会看到在整个供应链中共享信息的更多标准方法,因为不同的利益相关者将在生命周期的不同时刻需要测试证明。为了实现需求和功能验证结果之间的可追溯性,已经部署了一些技术。如果你有一个开放的覆盖率数据库,并且可以接受任何类型的用户定义的测试数据,那么这些技术有时可以从其他测试方法中带来结果。”

在此,对共同性的需求开始。“与ASIL-D一起,人们挂断了这种随机觉得与光子的随机点翻转的想法,”Imeras'Davidmann说。“但这是关于你如何追溯缺陷。”

定义行为
行为联系功能验证和设备一起监控。“我认为这些融合的第一个地方是要求和可追溯到测试结果,”Ramirez说。“产品要求驱动测试要求,驱动测试计划。随着您的产品正在进行测试,结果应纳回测试计划,并最终与要求提供端到端可追溯性的要求。我们在功能验证级别看到自动化,我预计随着您转移到其他测试技术时会继续。功能验证是显而易见的起点,因为从回归测试生成的大量覆盖数据。这使得手动将验证结果手动链接到要求。“

形式验证在覆盖度量标准中强制验证功能验证更广泛。“高可靠性硬件需要功能验证技术的组合,”营销负责人Rob Van Blommestein说奥克森解决方案。“模拟是应用最广泛的方法,但仅靠模拟是无法完成工作的。形式由于其穷尽性,为彻底验证增加了第二种有效的方法。只有在了解了覆盖漏洞在哪里之后,才能实现彻底的验证。”

我们必须记住,目标是不同的。“如果您正在进行设计验证,那么您的起点是一个规范 - 某种文件说明这是它应该做的事情,”Cadence的Jaeger说。“作为验证工程师,您的目标是确保设计本身在规范的参数内函数。用于测试,设置功能。您必须在验证阶段更具创意,因为您必须提出各种场景。一旦您进行测试,就已经完成了该工作。在那一点,你知道它应该做什么。然后你想确保它在产品的生命周期中保持这样做。“

这导致不同的方法。“在人们如何尝试看看故障覆盖之类的事情方面存在相似之处,”想象力的麦克拉尔说。“但是,测试领域的大多数人似乎从统计分析的角度来看,而不是功能性的观点。从功能验证的角度来看,以功能安全为单位,达到制造失败利率,是具有挑战性的。因此,冗余发挥着大的作用。“

分析通常需要注入故障,然后找出是否可以检测到这些故障。大卫曼说:“这在测试领域和功能验证领域都是如此。”“考虑为……创建遵从性套件的挑战RISC-V。我们基本上注入故障,例如寄存器卡住值,运行合规套件,并写出签名。我们基本上进行突变测试。我们发现的是测试,其中输入变化不会传播到输出。突变测试看待测试的质量。它与设备无关。它显示了应该丢弃哪个功能覆盖,因为结果永远不会进入签名。所以很多测试都是浪费时间。“

共同点
故障分析创建一个共同点。“另一个相关领域是自动生成测试模式(生成),”Jaeger说。“如果您试图提出一个暴露潜在问题的测试模式,当涉及到功能测试时,这两者是紧密联系在一起的。在我看来,故障插入可能是最进步的领域,也是最标准化的领域。”

制造测试也有局限性。”测试设计(DFT),我们看到正在创建更多功能测试以获得零缺陷,因为ATPG本身就不够,“Ramirez说。“故障仿真执行以级为这些功能测试的有效性。覆盖结果正在跨ATPG和功能故障分级相结合,以便为其测试效果进行单一视图。“

功能验证也会延伸超出签名。“功能测试通常正在寻找类似于性能或延迟的东西,系统之间的集成,错误处理等”,“添加了Ramirez。“您需要的不仅仅是通过/未能帮助尝试,因此您可以在额外的跟踪信息中建立,以帮助理解为什么某些人失败以及如何在更高保真环境中重现它。然而,大部分这是非标准的,因此可能难以重复使用并与其他测试结果结合。功能测试的其他挑战是在正确的条件下进行真实的使用案例刺激。这是我们看到自动驾驶的数字双胞胎的东西,可以帮助创建用于在建造车辆或道路测试之前进行功能测试的真正用例场景。“

内置监控提供了新的机会。它允许您测量实际的系统性能或功耗,并且可以收集这些数据并将其传输回开发系统的公司。McKellar说:“功能验证在与软件连接方面做得并不好,但我们正在取得进展。”他说:“硬件的安全功能超过了内存周围的基本错误检查和纠正,还有一些功能是软件控制和特定硬件的结合。例如,您可能有一个校验和的范围来表明您是否优秀。该软件可以检测到这些,然后运行一个已知良好价值的帧作为参考。”

新的功能验证方法使用生成的软件在嵌入式处理器上运行,以锻炼设计并检查结果。这些通常使用促进验证的微内核,并且通常使用真实的驱动程序或特殊修改的测试驱动程序。

其中一个示例是由Valtrix系统产生的。“我们拥有裸机软件,专门设计用于设计IP / SoC实现的设计验证的平台,”Shubhodeep Roy Choudhury说:Shubhodeep Roy Choudhuryvaltrix系统。“软件堆栈由测试发生器,跳棋,设备驱动器和轻量级内核组成,可根据验证环境的需要配置为便携式程序。一致的执行环境和可靠的故障再现使得在硅工具中可以轻松地重新创建硅后部故障。此外,在工具中实现的调试钩子和机制允许快速失败调试和分辨率。“

由内而外的测试正在成为一种广泛的实践。Jaeger说:“有时您会加载一个专门的内核,它可能用于诊断。”“我们在模拟产品中附带了测试程序,并附带了运行时环境。用户可以在任何时候在系统上运行这些测试程序。他们会告诉你,这条电缆没有插好,或者这条电缆上的电线断了,但也会告诉你是否接触不良,或者你是否用错了电缆,当然,还有个别组件本身的缺陷。”

一些测试人员公司开始注意到。“有一些大型测试仪公司可以采用波形信息,或功能设计信息,并使用作为开发测试程序的起点,”Jaeger说。“It’s very opportunistic today, and there is no industry-wide effort put into it, but there are the beginnings of it — test programs, or developing tests using information that is already available, and was made available, or created, during the design verification of a chip or product.”

在功能验证空间中,已经完成了工作以从非常不同的工具中汇集覆盖数据。“用于功能覆盖范围的常见和开放覆盖数据库可用于收集任何类型的测试信息,然后用于帮助绘制测试的整体视图,”Ramirez说。“该信息正在集成到要求管理工具,以提供闭环可追溯性,以证明已经测试了每个要求。这对安全关键应用不仅重要的是,这是一个要求的,但是任何人都越来越多地使用芯片开发,因为它是一个很好的设计练习,可以帮助您更快地识别空白,最终降低成本。“

结论
我们以后还能有更多的合作吗?Jaeger说:“测试和验证是非常不同的领域。”“但每个领域都有机会从其他领域学习最佳实践。”

这支球队今天很长。“实际上有更多的专业化今天,”Davidmann说。“这些技术和目标都有重叠吗?目标是质量。虽然它们可能使用许多相同的技术,但最终使用模型以及工具演变地实现了不同目标的方式。“

但变化也可以是驱动力。Ramirez说:“实时监控以及它与数字技术的关系将带来变化。”“我认为,我们将看到动态监视器,它将感知威胁,或至少是不正常的东西,并将其发送回数字孪生兄弟执行一个完整的模拟,它可以预测即将到来的故障。这显然涉及到基础设施的重大改变,以过滤边缘设备的重要数据,并将其发送回云端,以便数字双胞胎能够利用这些数据。这将是我们如何进行测试的一场真正有趣的革命。”



发表评论


(注意:此名称将被公开显示)