知识中心
导航
知识中心

功能验证

功能验证是用来确定设计、或设计单位,符合其规范。
受欢迎程度

描述

创建一个新设计的成本非常大。有可能在芯片设计的早期第一次就做对,设计规模和复杂性很快发展到一定阶段,很可能一个工程师会犯一些错误。找到这些错误,我们必须练习的设计,看看它是否以正确的方式进行响应。这个过程是一种验证。当发现一个问题,我们进入调试阶段去了解是什么导致了这个问题,并决定如何修复设计。然后我们回到验证,直到我们获得足够的信心,没有更多的错误的设计。今天,系统的复杂性,不可能运动设计的各个方面,因此我们必须非常选择性执行的验证。今天是非常典型的更多的时间,和费用用于验证的人比实际的设计本身,甚至与这个大支出,大部分设计首先用几个bug仍然在他们制作的。运气好的话这些bug并不能完全阻止设计工作和工作区,这样可以找到产品的第一个版本是可能的。

在早期的验证非常非正式的事情。它通常涉及运动模型,观察产生的波形。设计师将决定是否对还是错,如果右移到下一个实验。这不再是有可能的,因为测试的数量,也很难重新运行实验,看看什么发生了改变。今天,验证已经成为更多的结构化。

从根本上说,验证两个模型的比较。这种观点认为,如果这两个模型派生的独立于彼此,他们的功能匹配,很有可能,他们都是对的。独立是什么意思呢?我们假设两个不同的人读一个规范,写他们的模型没有直接相互讨论。两人一般的设计团队和验证团队。

为什么要写的模型没有“直接讨论”?如果有问题specification-an模棱两可,它定义了你想让这个问题变得明显在验证过程中。你不希望他们每个人写模型影响的讨论,除非它澄清规范的直接结果。规范,如果他们发现一个问题讨论和正确规范的模糊性。这是好的。事实上,本身就是一种验证。这是一个非正式的规范的审查。

有两个主要的方法模型相比,这些通常被称为静态和动态验证方法。

动态验证是最常见的和使用模拟器,模拟器或原型。这些方法运动模型通过发送样本数据到模型和检查输出的模型。如果我们发送足够的输入数据,那么信心增长模型总是做正确的事。输入数据stream-usually称为是不可建造的,它将模型分成不同部分的代码,我们可以比较两个模型的输出数据通常称为response-between。当一个区别是发现,它意味着设计模型是不正确的,验证模型是不正确的,或者我们已经暗示,是一个规范的问题。每组数据发送到模型被称为测试。两个模型之间的比较是通过检查。刺激可以构造带的设计为一个特定区域的功能,通常称为直接测试,或可以基于随机数据流。现在我们不发送任何随机联系不太可能完全运动模型。相反,它是随机化,通常称为伪随机控制,约束随机或定向随机测试。

通常静态验证,或称为正式的验证,是一个数学证明,这两个模型在所有条件下都是相同的。没有刺激和所有可能的刺激被认为是必要的。第二个模型(验证模型)通常是建立在一个不同的方式使用所谓的属性。属性定义了一个行为,必须表现出的设计。或者它可以定义必须永远不会发生。

验证方法,所需的额外的描述,是一组约束限制验证一组合法的州,输入或活动。

验证是为了最大化的质量设计以最有效的方式,和这样做的方式将为每个公司不同,有时为每个单独的产品。例如,廉价的儿童玩具的质量水平较低而植入式医疗设备。这意味着没有一个正确的方式去做验证,和许多人称之为一门艺术而不是一门科学。


多媒体

异构计算验证

多媒体

规划验证

多媒体

技术讨论:改善验证

多媒体

技术讨论:更快的模拟

多媒体

技术说:验证

多媒体

技术讨论:eFPGA验证

多媒体

技术讨论:SoC协议调试

多媒体

技术讨论:电力仿真


相关技术

Baidu