路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Verification和Validation傻傻分不清楚?面经重点!

已有 29665 次阅读| 2018-6-14 21:31 |个人分类:验证前沿资讯|系统分类:芯片设计

Verification:相比Validation,确认产品功能、服务或系统是否符合规则、要求、规范和强制条件,通常是还没有面向客户的内部过程,看有没有“把事情做对”

Validation:相比Verification,要确保产品功能、服务或系统能够满足客户或其他利益相关者的需求,通常测试对外部客户的接受度和适应度,即“做对的事情”


VerificationValidation为两兄弟,这么说靠不靠谱呢?Doug Amos试图来讲明白这个事情,但Brian Bailey认为他还做的不够。


在今年的DVCon上,Doug Amos代表Mentor做了相关话题的演讲。Doug Amos是一个非常罕见的人才,他知道如何在将幽默、教学和营销同时融入到一场演讲中,同时又能将三者剥离干净,让听者清楚地知道他们身处哪一个聆听模式中。遗憾的是这样一个人才却要退休了,以后江湖中只剩下传说。

 

Amos的演讲谈到了VerificationValidation的差异,也认为我们这一行以后会有非常多的工作会相当依赖Validation技术。不过对于能源、保密性和安全性这三个新兴领域,以及越来越多的软件出现,都使Validation变得更加复杂

 

演讲中,他介绍了各种有名的兄弟关系,比如尤文和皇室以及杰克逊兄弟。他很幽默地将两兄弟联系到各种需要在工具或是流程中发生的任务。举个例子,杰克逊兄弟就像是在和谐工作的多引擎,而哈利和威廉就像验证和形式验证两兄弟。

 

演讲透露出一个强烈的信息,Amos认为,真正会阻碍到我们的,其实是大量的软件内容。不过整合硬件和软件也很艰难,越来越多的软件进入了我们的系统,集成进去的硬件多会依赖软件。更烦人的是项目节点到来时营销人员都会发了疯地催你。 

 

Amos指出,目前几乎没有一些统一的标准来帮助解决软硬件协同的问题,每个公司都只能想办法按照自己的方式去解决。不过他们都是基于FPGA原型去设计的,因为这是唯一具有足够的速度和精读来运行大量软件的硬件平台

 

现在来看看Amos是如何定义验证的:



1.VerificationValidation对比

 

Amos这样来描述这张图片,当你买了一件衬衫,怎么样来看衬衫好不好呢?首先我们会看这件衬衣质量合格吗,是不是有两个相同长度的袖子,尺寸合适吗,颜色是我要的吗,纽扣有没有少一颗,这些都可以理解为你在去验证(Verify)这件衬衣。而Validation则更像是看这件衬衣是否合适自己,我喜欢它吗,有没有觉得自己变得更加帅气了,颜色跟我的眸色配吗,约会时会不会有加分。再比如说,考虑买一辆车,这辆车我开起来舒不舒服?现在有一个技术是在汽车模型中通过眼前的电视屏幕来模拟真实的驾驶体验,这些都是很重要的事情。

  

VerificationValidation已经不仅仅是普通两兄弟的关系这么简单了,Brian Bailey认为他们更像是童年时因为一些悲惨的遭遇而被迫分开的同卵双胞胎,而那次遭遇就是约束下的随机激励constrained random stimulus。因为约束下的随机化虽然使得Verification在许多方面变得自动化,并将定向测试的生成转换成为机器驱动machine-driven)的方法,但是在转向随机化遍历的同时,Verification也忽略了它有Validation这位兄弟,因此“衬衫最终合不合身”在Verification看来并不那么重要……


因为约束随机化的存在,Verification往往带来的是一个重复的过于关注琐碎细节的模型,甚至会带给人混乱。Verification如此关注于琐碎的细节,却不能够为我们带来一个完整的模型。所以呢,在Validation缺席的情况下,我们依然不会知道这件“检验合格”的衬衫能不能“合体”。不过谢天谢地,现在我们至少可以部分解决这个问题了。在演讲中,Amos提到了便携式激励Portable Stimulus),就像很多人去展示便携式激励一样,它将测试从一个平台移植到了另一个平台。这项技术已经做得非常不错了,但是仍然忽略了几个关键点:

 

第一,便携式激励是非常抽象的。它往往是定义一个硬件或是软件的抽象层,可以使验证环境能够以用户最省力的方式去与寄存器,驱动器或是软件堆栈的任何层次进行通信。然而听说这种方式不会成为第一版本的行业标准,这是非常遗憾的。



第二,便携式激励定义了一个产品真正应该做成什么样子。在衬衫的这个例子中,它将去定义“适合”的含义,因为这是系统级验证的主要目标。假设纽扣问题处于模块级验证中,并且整体的结构已经成功完成,这个时候我们就会去问,它是否适合于用途,这既是Verification也是Validation


第三,当涉及到计算机资源时,约束的随机必定是迄今为止定义的最低效的方法。随着系统变得越来越复杂,非常多的时间被花费在研究测试平台在做什么为什么要这样做。便携式激励修复了许多这些问题。因为它生成的每一个测试都是有用的,鉴于Validation任务的重要性,这是非常关键的。当我们需要确定系统是否能够在指定时间内同时执行任务A和B时,那些没有和系统内部相连接的随意的测试是我们不能承受的。


其实现在我们距离制定Validation的标准已经越来越近了,以及Verification和Validation如何在相互帮助中共同发挥作用。Verification和Validation可以说是两兄弟,或许有时一个比另一个作用更大一些,不过相比于去比较他们谁的作用更大,不如把重心放在让他们相互结合,紧密联系在一起


原文来自于Semiengineering“Verification and Validation Brothers

https://semiengineering.com/verification-and-validation-brothers/





点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 08:43 , Processed in 0.041759 second(s), 19 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部