0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片验证心理学

数字芯片实验室 来源:数字芯片实验室 2023-09-04 15:58 次阅读

芯片验证是一项技术任务,但也涉及一些重要的经济学和心理学因素。

在理想的世界里,我们希望验证芯片的每一种可能的排列组合。但在大多数情况下,这根本不可能。即使是一个看似简单的模块,也可能有成百上千种可能的输入和输出组合,为所有这些可能性创建验证用例是不切实际的。

对一个复杂的模块进行全面验证需要花费太长的时间和太多的人力资源,在经济上是不可行的。

此外,软件验证员需要有正确的态度,才能成功地验证芯片模块。在某些情况下,验证人员的态度可能比实际验证过程本身更重要。

验证心理学

造成芯片遗漏bug的主要原因之一,是大多数芯片验证工程师一开始就对这个术语(芯片验证)下了错误的定义。他们可能会说:

''芯片验证是证明不存在bug的过程。''

''验证的目的是证明芯片能执行其预期的功能。"

''验证是建立信心的过程,让人相信芯片能做它应该做的事情。"

这些定义都是不对的。

当你验证一个芯片时,你希望给它增加一些价值。通过验证增加价值意味着提高芯片的质量或可靠性。提高芯片的可靠性意味着发现并消除bug。

因此,不要为了证明芯片没有bug而对其进行验证;相反,首先假设芯片包含错误(这几乎对任何芯片都是一个有效的假设),然后验证芯片,找出尽可能多的bug。

因此,更恰当的定义是这样的:

验证是以发现bug为目的的过程。

虽然这听起来像是一个微妙的语义游戏,但这确实有着一个重要的区别。了解芯片验证的真正定义会对你的工作成功与否产生深远的影响。

人类倾向于以目标为导向,确立适当的目标会产生重要的心理影响。

如果我们的目标是证明芯片没有错误,那么我们就会下意识地朝着这个目标前进;也就是说,我们倾向于选择导致芯片失败概率较低的验证数据。另一方面,如果我们的目标是证明芯片有bug,那么我们的验证数据发现bug的概率会更高。与前者相比,后者能为芯片本身带来更多价值。

“验证是以发现bug为目的的过程。”这一定义暗示验证是一个破坏性的,甚至是虐待狂的过程,这就解释了为什么大多数人觉得验证是困难的。这可能与我们的本性相悖;

我们大多数人的人生观都是建设性的,而不是破坏性的。大多数人倾向于制造物品,而不是将其撕碎。所以很多应届生更乐于从事设计开发,而不是验证验证。哈哈~

加强验证正确定义的另一种方法是分析 "成功 "和 "不成功 "这两个词的使用--特别是项目经理在对验证用例的结果进行分类时的使用。大多数项目经理把没有发现bug的验证用例称为 "成功运行验证",而发现新错误的验证通常称为 "不成功"。

这又是颠倒了。不成功 "指的是不理想或令人失望"。在我们的思维方式中,一个结构合理、已执行的软件验证在发现bug时就是成功的。

当然,同样的验证, 如果最终确定不再发现bug,也是成功的。

唯一不成功的验证是没有正确检查芯片功能的验证;在大多数情况下,没有发现任何bug的验证用例很可能被认为是不成功的。

发现新bug的验证用例很难被认为是不成功的,相反,它已被证明是一项有价值的投资。不成功的验证用例是指芯片产生了错误的结果 ,但验证用例却没有发现。

打个比方,一个人因为身体不舒服而去看医生。如果医生做了一些化验,但没有找到问题所在,我们就不称这些化验为 "成功的化验";这些化验是不成功的化验,因为病人的净资产因昂贵的化验费而减少,病人仍然生病,而且病人可能会质疑医生的诊断能力 。

然而,如果化验确定病人患有消化性溃疡,那么化验就是成功的 ,因为医生现在可以开始适当的治疗了。因此,医学界似乎在正确的意义上使用这些词语。

当我们开始验证程序时 ,我们应该把它看作是生病的病人。

"验证是证明bug不存在的过程 "等定义的第二个问题是几乎所有芯片,甚至是微不足道的芯片,都不可能实现这样的目标。

同样,心理学研究告诉我们,当人们着手完成一项明知不可行或不可能完成的任务时,他们的表现就会很差。例如,如果有人要求你在 15 分钟内解决填字游戏,你可能在10分钟后就不会有什么进展,因为如果你和大多数人一样,你会认为这项任务似乎是不可能完成的。然而,如果要求你在四小时内给出解决方案,我们有理由期待在最初的十分钟内看到更多的进展。

将芯片验证定义为发现芯片中bug的过程,使其成为一项可行的任务,从而克服了这一心理问题。

"验证是证明bug不存在的过程"等定义的第三个问题是,做了应该做的事情的芯片仍然可能包含错误。也就是说,如果芯片没有做它应该做的事情,那么bug显然是存在的;但如果芯片做了它不应该做的事情,那么bug也是存在的。

总之,芯片验证被视为试图找出芯片中bug的破坏性过程更为恰当。当然,你最终还是希望通过芯片验证来建立某种程度的信心,即芯片做了它应该做的事,而没有做它不应该做的事。

假设有人向你声称"'我的芯片是完美的'"(即没有bug)。要对这种说法建立一定的信心,最好的办法就是尝试反驳它,也就是说,尝试找出不完美的地方,而不仅仅是确认芯片对某组输入数据的运行是正确的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50816

    浏览量

    423672
  • 模块
    +关注

    关注

    7

    文章

    2707

    浏览量

    47476
  • BUG
    BUG
    +关注

    关注

    0

    文章

    155

    浏览量

    15670

原文标题:芯片验证心理学

文章出处:【微信号:数字芯片实验室,微信公众号:数字芯片实验室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英诺达发布全新静态验证产品,提升芯片设计效率

    英诺达(成都)电子科技有限公司近日正式推出了两款全新的静态验证EDA工具——EnAltius®CDC跨域检查工具和Lint RTL代码检查工具。这两款产品的发布,标志着英诺达在芯片设计工具领域迈出
    的头像 发表于 12-24 16:53 330次阅读

    NVIDIA AI助力初创企业为心理治疗师提供AI工具

    NVIDIA AI 助力初创企业为心理治疗师提供 AI 工具,以此来优化和提升心理健康服务水平,为人们的心理健康保驾护航。
    的头像 发表于 11-19 16:03 222次阅读

    数字芯片设计验证经验分享文章 实际案例说明用基于FPGA的原型来测试、验证和确认IP——如何做到鱼与熊掌兼

    本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用硅知识产权(IP)内核来开发ASIC原型项目时,必须认真考虑的一些问题。
    的头像 发表于 10-28 14:53 329次阅读
    数字<b class='flag-5'>芯片</b>设计<b class='flag-5'>验证</b>经验分享文章 实际案例说明用基于FPGA的原型来测试、<b class='flag-5'>验证</b>和确认IP——如何做到鱼与熊掌兼

    快速部署原型验证:从子卡到调试的全方位优化

    引言原型验证是一种在FPGA平台上验证芯片设计的过程,通过在FPGA上实现芯片的设计原型,使得开发人员可以在硬件完成之前提前开始软件开发和系统验证
    的头像 发表于 09-30 08:04 634次阅读
    快速部署原型<b class='flag-5'>验证</b>:从子卡到调试的全方位优化

    英特尔联手伙伴共同推动AI在心理健康中的应用

    现代社会快速发展,人们的生活节奏日益加快,心理健康作为健康的重要组成部分,其重要性日益凸显。随着科技的飞速进步,社会各界也在广泛关注并积极探索通过科技助力大众心理健康水平提升的方式。
    的头像 发表于 08-16 15:41 464次阅读

    芯片设计流片、验证、成本的那些事

    前言我们聊聊芯片设计、流片、验证、制造、成本的那些事;流片对于芯片设计来说就是参加一次大考。流片的重要性就在于能够检验芯片设计是否成功,是芯片
    的头像 发表于 08-09 08:11 1975次阅读
    <b class='flag-5'>芯片</b>设计流片、<b class='flag-5'>验证</b>、成本的那些事

    nlp神经语言和NLP自然语言的区别和联系

    神经语言(Neuro-Linguistic Programming,NLP) 神经语言是一种心理学方法,它研究人类思维、语言和行为之间的关系。NLP的核心理念是,我们可以通过改变我们的思维方式和语言
    的头像 发表于 07-09 10:35 779次阅读

    大规模 SoC 原型验证面临哪些技术挑战?

    引言随着电子设计自动化(EDA)验证工具的重要性日益增加,开发者们开始寻求减少流片成本和缩短开发周期的方法。其中,使用可编程逻辑芯片(FPGA)来构建有效的验证流程成为一种流行的解决方案,这种
    的头像 发表于 06-06 08:23 1164次阅读
    大规模 SoC 原型<b class='flag-5'>验证</b>面临哪些技术挑战?

    芯片测试和芯片验证的区别

    这是芯片在设计过程中的一个环节,主要通过EDA(电子设计自动化)工具进行仿真检验。它的主要目的是在芯片生产之前,验证芯片设计是否符合预定的需求规格,是否已经消除了所有的风险,发现并更正
    的头像 发表于 05-08 16:52 2133次阅读

    fpga原型验证平台与硬件仿真器的区别

    FPGA原型验证平台与硬件仿真器在芯片设计和验证过程中各自发挥着独特的作用,它们之间存在明显的区别。
    的头像 发表于 03-15 15:07 1116次阅读

    fpga验证和测试的区别

    FPGA验证和测试在芯片设计和开发过程中都扮演着重要的角色,但它们各自有着不同的侧重点和应用场景。
    的头像 发表于 03-15 15:03 1228次阅读

    fpga验证和uvm验证的区别

    FPGA验证和UVM验证芯片设计和验证过程中都扮演着重要的角色,但它们之间存在明显的区别。
    的头像 发表于 03-15 15:00 1617次阅读

    是德科技成功完成Autotalks 5G新空口车联网系统级芯片验证

    是德科技(Keysight Technologies, Inc.)全力支持Autotalks,通过其PathWave V2X解决方案对TEKTON3车联网(V2X)系统级芯片(SoC)进行验证。此次
    的头像 发表于 03-08 10:33 943次阅读

    回望中国第一代人工智能研究历程:人工智能研究期待摆脱旧范式的束缚

    二是纵观全局,眼观六路。虽然国际上将人工智能看成计算机学科的一个分支,但人工智能涉及哲学、数学、计算机、自动控制、心理学等诸多学科。特别是在中国,早期许多人工智能学者并非出自计算机领域。
    的头像 发表于 01-09 17:06 748次阅读

    面向系统级芯片验证的硬件平台介绍

    当设计的规模动辄几十亿门,系统验证时间不断的增加,硬件验证系统几乎是验证工程师不可或缺的利器,因此对高性能硬件验证系统提出了更多的需求。
    的头像 发表于 01-05 10:06 855次阅读