中文 英语

定义足够的覆盖范围

专家会议,第3部分:小组成员解决的问题包括系统级覆盖、功能故障模型、冗余和接口。

受欢迎程度

半导体工程的首席科学家Harry Foster坐下来讨论作为验证结束的一部分的覆盖充分性的定义导师图形;威拉德屠,嵌入式细分市场总监手臂;Larry Vivolo是,在这个圆桌会议的时候,产品营销的高级总监Atrenta;的密码学研究部门的产品和营销副总裁Simon Blake-WilsonRambus;和普拉纳夫•阿沙尔(Pranav Ashar)真正的意图.在第一部分,小组成员讨论了覆盖率定义的变化。第二部分讨论了在系统级发现的复杂性,以及用于确定验证能量优先级的技术。以下是对话节选。

Picture1

SE:验证过程的一部分是以正交的方式思考和描述功能。做断言强迫这个正交性?

福斯特我总是告诉我的孩子,思考没有自动化。

:断言给你一种思考的方法。

Blake-Wilson:仅仅通过思考结构的过程就可以很好地找到你错过的东西。

Vivolo:这正是我们今天在区块层面所做的。结合静态而且动态分析是如何开始提取信号之间意想不到的关系。但我们如何将其提升到更高的层次呢?

福斯特:这是与正式化过程相关的价值。

:您需要一个框架来进行思考,并且在系统级别上需要类似的东西。这可以成为正确性的规范。

SE:在汽车行业是这样的ISO 26262到目前为止,该行业已经采取了复制CPU的简单方法。但这不是一个长期可行的选择。现在,我们必须开始考虑硬件中单个故障故障的覆盖率,以了解是否可以检测和纠正问题。这是覆盖的下一个问题吗?

在系统级别上做这件事是非常复杂的。汽车行业的人关心的是最高水平——系统是否正常运行?

不同之处在于SoC从层面上讲,失败是赋值作业左边某项值的变化。在系统级别上很难确定什么是故障。它可以有许多不同的形式。为了正式地捕捉到这一点,我们需要对失败进行分类,并在此基础上进行构建。

福斯特功能故障模型是学术界研究了很长时间的问题。它是巨大的。

目前采取的方法是应用面向应用的标准,并应用我们对芯片无法缩小问题的理解。我们需要超越这一点,但我们还没有做到。

福斯特:当我们可以尽量减少的互动知识产权S或系统中的组件,那么问题就可以处理了。一旦我们开始允许相互作用,那就变得更难了。

:以前故障在功能块内部,现在边界转移到接口,所以soc的故障在接口上。起点必须在这里。

福斯特大多数公司都明白他们必须采用渐进的方法验证.它们不能直接跳到系统级别。当基本的事情(如处理器与我的IP通信)没有经过验证时,证明用例是没有意义的。

Vivolo:即使故障发生在接口上,您也假定所有部件都在正常工作。你有验证层,根据你在哪里验证可能会改变,但你仍然必须确保埋在USB内核深处的状态机正在工作。

你必须试着避免乘法的复杂性,这需要一个循序渐进的过程。如果在系统级验证时仍然需要担心低级别的事情,那么它将永远无法处理。

福斯特我需要设计一个架构来最小化问题,这意味着要有明确的界限。有些时候你无法避免。

SE:这是否意味着我们应该限制设计以使验证更容易?

福斯特当我曾经在超级计算机上工作时,我从来不允许工程师从计算机中使用超过23个关键字Verilog语言。我限制了它们,限制了完成工作的自由度是合理的。

:作为EDA公司,我们必须从反面考虑问题。我们必须改进验证技术,这样就不需要那些类型的限制。想想芯片的复位方案。你可以有一个非常简单的方法,你可以发送一个异步重置到每个触发器。这样核查就很容易了X验证问题就解决了。但我听到一些公司说,他们永远无法让他们的设计师做到这一点。他们永远不会同意在布局中增加那样的开销。必须要有一个平衡。

福斯特:这个行业正在施加一些限制,因为我们不会都走出去重新发明芯片上的网络。这限制了我们设计的方式。

Blake-Wilson:细化工具的部分目标应该是更好地理解覆盖范围,以便决定在哪里有意义。有时冗余仍然是最好的解决方案。

:这可能是第一次最好的方法,但随着我们的发展,芯片已经被尝试和测试,然后你可以迭代地改进。

我想你是在描述ARM的成功故事。这是规模经济。你有足够多的设计使用相同的技术,随着时间的推移,它会变得越来越干净。我们试图避免的是错误的设计。他们(ISO 26262)确实在寻找内存中的软错误等东西,所以一个系统可能会受到损害,但如果你有一个糟糕的SoC设计,那么输出将总是糟糕的。软件开发人员一直在限制他们的软件,使其不使用某些类型的构造,并限制验证和测试中的问题。

福斯特:限制自由度会减少我必须考虑的空间。

:你只需要确保你没有剥夺你的创造力。

SE:为什么从一开始就很少有工具可以帮助防止bug的存在呢?

Blake-Wilson:愤世嫉俗的人可能会说,一个赚钱的好方法就是不断地修复漏洞。我认为你会看到越来越多的工具可用,但它们还只是触及表面。

:您将需要一种规范语言。一旦有了RTL,就可以使用静态验证,这样可以很早就发现错误。它还不在系统级别。

Vivolo:这是一个可伸缩性问题。这和为什么我们不限制设计风格的问题是一样的。你拥有的自由越多,出现错误的可能性就越大,但随着设计变得越来越大,进度越来越短,我们使用的技术也越来越激进,所以……

我们正在得到更多的工具。

福斯特:越来越多的工具出现了,但你也必须让人们使用它们。已经存在可以捕捉错误的工具,但仍然没有被使用。

Blake-Wilson市场往往奖励灵活性。

福斯特:特定的市场使用特定的风格,创造能够覆盖所有市场的工具并不容易。

教育也很重要。在DVCon小组讨论之后,我与一些甚至不知道某些类型的工具存在的人交谈。



留下回复


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

Baidu