中文 英语

定义足够的覆盖率

专家在餐桌上,第2部分:小组成员试图定义如何包含复杂性发现在系统层面和技术被用于验证能源安排优先级。

受欢迎程度

半导体工程坐下来讨论的定义充分覆盖的一部分验证关闭与哈里·福斯特首席科学家导师图形;威拉德,嵌段营销主管手臂;当时拉里Vivolo,圆桌会议,产品营销高级总监Atrenta;产品和市场营销的副总裁西蒙•Blake-Wilson密码学研究部门Rambus;和Pranav莎,首席技术官真正的意图。在第一部分小组成员讨论定义覆盖的变化。下面摘录,谈话。

Picture1


SE:在过去,覆盖也包含在这讨论功能块级别的。今天,它包括系统级,但汽车等新市场正在重新定义范围意味着什么。我们如何让我们的手的问题定义当你可以带芯片?

:我们有讨论如何缩小问题的范围,它必须发生在多个维度——应用程序的角度来看,实现的角度来看,这意味着可能发生的故障类型的上下文SoC,我们可以分析解决。在较低的水平断言这些提供一个指导的事情,报道指标。在系统层面上,你必须有一些系统的描述,它可以作为基准多少覆盖你的测试实现。断言在系统级的模拟是一个抽象的行为描述的功能,这可能是一个协议或一个端到端的系统功能。然后你可以测量RTL模拟反对这一点。

福斯特:你是定义一个分解你关注的问题“诱导多能性”但不调整,下一个级别。无论我用来说服自己,低风险水平,正式的或其他技术,已经有了相当的了解。从这一点上开始变得模糊。

Vivolo:你提高的水平抽象当你上链。为了解决可伸缩性问题你关注覆盖在较低的水平——如何我测试了一个特别的设计。当你向上移动,每个人都想衡量测试覆盖率,但接近它的一种方式是问,“我之前看到任何我不盖吗?你把外壳的设计说:这是我定义的状态空间测试。现在在SoC级别,我从来没见过一个案例,我走出的已知状态空间好吗?

福斯特:但这不是如何在SoC水平上进行验证。它是纯粹的用例驱动的,这就是你遇到的问题确定哪些用例失踪。这是所有软件驱动。重点是,这是做作为一个系统应该做什么?”

:你有抽象的东西,因为在应用程序级别有一个SoC的意图。应用程序的目的是什么?

Vivolo:没错。你怎么把无限的可能性和煮的东西很简单,因此当应用程序确实不应该做的事,你可以检测吗?

福斯特:你可以学习和数据挖掘的离群值,这是一个研究领域。有很多机会正在慢慢探索。

:在应用程序级别,有有限的刺激,甚至可以进来。所以,我不需要做SoC的每个场景。我可以限制输入进来的水平。

Vivolo:在SoC水平以上,如果你只是看接口,这将是非常困难的。今天,你已经缩小到单独的块。不可能每棵树锻炼。但如果你能检测有了一棵树,我没有见过,就知道是很重要的,因为你有你从未见过的。这将允许你集中你的注意力。

福斯特:它可以归结为成语,如果你还没有碰它,这可能是坏了。

:这是同样的问题,我们看到IP重用。你有一块已经silicon-proven三次,但现在被用于不同的方式,没有人测试。

福斯特:配置IP空间是巨大的。

Vivolo:这是另一个重大挑战。

:可以使用正式的技术帮助。形式分析可能并不完整,但它有能力给你带来部分…

:这是技术的结合。您可以使用动态仿真来清理约束,然后当你有一个狭窄的区域,正式的目标,那么可伸缩性问题…

:会发生什么是验证支架在很多情况下过度约束。会使你失去很多场景可能发生在实践中,和正式的分析有能力告诉你如果有over-constraint将提供一个空洞的分析。

Vivolo:房地产代通过动态模拟和正式一起工作得很好。您可以使用两个一起清理两端的约束。

:当你复杂的水平,我看三件事是重要的保持问题变得易于处理。一个是抽象的,所以你可以摆脱很多细节。第二,你应该能够完成很多验证在实现级别,以便您可以专注于系统级。第三是能够揭示可能的用例,可能已经错过了如果你以一种支离破碎的方式解决这个问题。

:当你提高抽象层次,增加安全问题的概率或者允许一个过去。在系统级,也许当你有恶意代码成千上万的寄存器中包含复杂的IP和你尝试和抽象。

福斯特:不一定。一些抽象的保证是安全的。这是关键,取决于类型的抽象。如果这是法律状态空间,并保证是安全的,然后我可以提供一个抽象。但也有不安全的抽象。

Blake-Wilson我习惯:一个概念是国防和深度。在这种背景下,这个问题来自很多不同的方向就是我想我听到的,但实际上它是有点不同。在传统测试的世界,它是有不同的工具,试图将它们应用于最好的应用。分而治之。

Vivolo:如果我们回到我之前的评论定义你已经测试什么和超越,作为一个潜在的问题,有人会说,你可以把它扩展到安全和说我见过这些行为,如果我看到软件试图做任何不同的可能是一个潜在的攻击。

:从一级客户的角度来看,传统上他们会要求测试覆盖率和他们会希望看到一个巨大的数字。你如何表达一个SoC今天好吗?这样做太复杂了。你不能涵盖一切,那么你怎么说服他们呢?

福斯特用例:我见过人们问。但如果你忘记了一个用例,用例之间的相互作用可能很复杂。他们提供了一个一维问题的观点。

:这不是一个新事物。在过去,曾经有一个术语叫功能交互。呼叫转移和呼叫阻塞是两个电话。他们可以没有预见的方式进行交互。你会发现用例没有考虑。

SE:如果我们知道在系统层面的东西都是不可能的,那么你如何区分,确保你已经考虑最重要的箱子吗?

福斯特:我见过的一个方法是,用例是由建筑团队或客户。然后我开始清单错误的用例模式或条件。真正缺少的是并发性方面。人类很难有关并发性的推理,这就是复杂错误。很容易想到角落病例,但很难推断的交互。

:这就是为什么单片机要容易得多。缺乏并发性,复杂性已经飙升。

复杂性:在那里,不是在芯片内。这使它更容易修复。

福斯特:但是你问人们如何做。我相信还有很多可以用机器学习和数据挖掘技术。我们需要开始寻找异常值,所以我们可以开始发现没人想到的事情。我们需要的解决方案。

Blake-Wilson:它是所有关于寻找刺激和锻炼有哪些可能的值。这是攻击者的肉和土豆。如果我们知道他们测试了这个范围,然后看看会发生什么当我们看不同的范围。

Vivolo:这是对测试用例没有人想到。

:在物联网和汽车的世界里,有一些期望事情会如何交互。也有很多人们没有想到的交互。RTL设计过程形式化的一些通过断言,但这些都不是断言中使用正式的分析工具。类似的预期行为的规范化和交互需要这些市场。这是起点,这可能导致更多的分析方法或至少一个更好的衡量。

福斯特:我发现断言的值不是你得到什么,但是他们的思维过程经历了上来。



留下一个回复


(注意:这个名字会显示公开)

Baidu