专栏首页摸鱼范式【验证那些事儿】验证的重要性||如何减少人为因素

【验证那些事儿】验证的重要性||如何减少人为因素

根据《Writing Testbenches》整理

验证的重要性

很多讲verilog的书把重点放在怎么写可综合的RTL代码,编写验证功能性的测试平台这一方面却讲的比较少,会导致很多人认为设计比验证更加重要,但是实际上这和现实并不相符。

  • 验证的工作量占据了项目的70%

现在的芯片规模越来越大,所使用的ip越来越多,验证的复杂度也是急剧提高的,理想状态下,验证人员数量应该是设计的两倍,但是现实很骨感,很多公司连一比一都做不到。

  • 验证是必不可少的

很多时候项目的进度并不会完全按照标准流程来,甚至设计完成了才开始考虑验证的事情。设计进度一旦受到影响,就会产生很多问题。所以,验证技术的目标就是要让设计与验证能够并行化进行,并且在更高层次去实现。

  • 并行化可以缩短验证时间
  • 抽象可以缩短验证所需时间
  • 抽象可以减少对底层细节的控制

验证工作可以在更加高的层次进行,例如事务级、总线周期级甚至更高级别,而非在最底层的0,1

  • 自动化可以缩短所需时间
  • 随机化是一个非常重要的自动化工具

恢复模型

这个概念是用来精确解释验证的对象是什么的

  • 了解你到底在验证什么东西

这是最重要的问题,搞清楚你的任务

  • 所谓验证,就是要用各种方法确认spec和设计的输出一致性

从spec到RTL,RTL的迭代都是一种变换,而验证就是要证明变换的正确性

人为因素

所有的工程师都需要对spec有自己的理解

  • 根据自己的理解而不是设计规范去验证设计文件

如果按照这种方式去验证,就会出现下面的恢复路径。最后验证的目标变成了设计是否符合设计人员对于spec的理解,没有办法检查出设计人员对于spec的错误理解。

只要有人介入,就可能导致不确定性和不可重复性,我们需要通过自动化、放差错技术或者冗余技术去减少错误发生的可能性

自动化

自动化从根源上消除了一部分人为因素,但是自动化并不是普适的,例如没有明确定义、要求人智能创造的过程。

防差错技术

将人的参与,简化为简单、安全的步骤,人的介入只是为了获取预期输所需要的特定序列或者步骤。这在全面质量管理中被称为“防差错技术”(Poka-Yoke)。

冗余

  • 让两个人检查对方的工作

这一种提高可靠性最简单的方法,但是也是代价最高的方法。冗余会要求对于每次变换都需要一个独立的人去验证,尽管费时费力,但是,在芯片设计中,没有什么是比缺陷更加严重的代价。

  • 应该由不同的人负责验证

下图是使用了冗余方法来避免模棱两可的spec导致的错误时的恢复路径。芯片设计中所谓的变换经是根据spec产生RTL,所以应该由另一个人去负责验证。

END

本文分享自微信公众号 - 摸鱼范式(icparadigm),作者:空白的贝塔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VR减肥、味觉减肥全是噱头!从神经和基因层面来看,真正的黑科技减肥方法是这两种!

    镁客网
  • 发生了这么多事的三星,正用VR来减轻他人的伤痛

    VRPinea
  • 综述文章:支持自闭症谱系障碍青少年灵活认知和行为的大脑机制

    认知灵活性使人们能够对不断变化的环境做出适当的反应,并与积极的生活结果有关。随着对向独立生活过渡的日益关注,青春期对自闭症谱系障碍(ASD)的青少年提出了特别的...

    悦影科技
  • 「一夜白头」有科学依据了,减压可返黑 | 哥伦比亚大学最新研究

    为了能有一个头发变白的可量化物理时间尺度,研究人员开发了一种方法,通过每个人的毛干(hair shafts,就是头发露出头发的可见部分)来描绘出头发色素沉着模式...

    量子位
  • 干货 | Qreact,去哪儿网的迷你react方案

    作者简介 钟钦成,网名司徒正美,著名的JavaScript专家,去哪儿网前端架构师。在GITHUB拥有复数个著名的轮子,著有《javascript框架设计》一书...

    携程技术
  • 每逢佳节胖三斤吗,那可能需要看这个研究

    是什么样的契机让这位基因组学及其蛋白质组学领域的泰斗开始致力于个体化医疗及其精准医疗领域的?

    生信技能树
  • 女生数理化不如男?Nature子刊一周连发两篇研究,我被相反的结果整懵了

    清华2019新生中,理工类专业男生也比女生多得多,电气、自动化能达到4:1左右,数理和计算机甚至能到7:1左右;

    量子位
  • 谷歌搜索揭示人性最黑暗的秘密

    人们在回家路上喝了多少酒上撒谎。他们在多经常去健身房上撒谎,在那些新鞋子买了多少钱上撒谎,在自己有没有读那本书上撒谎。他们谎称自己生病来请假。明明没打算再联系,...

    华章科技
  • BRAIN:遗传性言语障碍中的背侧语言通路异常

    言语障碍在某些学龄前儿童中普遍存在,但通常,相当一部分的言语障碍会随着儿童语言能力的发展得到解决。但是,最持久和最严重的语言失用症的神经生物学基础仍然难以得到理...

    用户1279583
  • 精神分裂症和双相情感障碍患者的年轻后代的脑网络在富人俱乐部和结构-功能耦合方面受到遗传影响

    当前生物精神病学的一个紧迫问题是阐明导致主要精神疾病表现的大脑发育模式,其中一个很有价值的范例是对精神分裂症和双向情感障碍风险增加的年轻人研究。精神分裂症和双向...

    用户1279583
  • eLIFE:脑电结合眼动研究:自闭症儿童社交脑网络的早期改变

    社交障碍是自闭症谱系障碍(ASD,Autism Spectrum Disorders)的标志,但是在ASD研究中缺乏针对社交性刺激引起早期社交脑网络改变的证据。...

    用户1279583
  • 第一次接触 Kaggle 入门经典项目泰坦尼克号就斩获前 1%,他做了什么?

    * Photo by Willian Justen de Vasconcellos on Unsplash

    AI研习社
  • 总结了28道数据分析经典面试题

    (1)任何一个样本的平均值将会约等于其所在总体的平均值。 (2)不管总体是什么分布,任意一个总体的样本平均值都会围绕在总体的平均值周围,并且呈正态分布。

    DataScience
  • How We Learn第八章 婴儿有元认知能力吗?(含认知案例)

    带两只小猫。给第一只套上项圈和皮带。把第二个放在⻢具上。最后,把它们连接到一个旋转木⻢上,确保两只小猫的动作紧密相连。这个想法是,这两只动物接受相同的视觉输入,...

    用户1908973
  • How We Learn第七章 注意力的How What When 及抑制和训练 (长文+案例)

    仅仅突触可塑性的存在不足以解释我们物种的非凡成功。事实上,这种可塑性在动物世界中无处不在:即使是家蝇、线虫和海蛞蝓也有可修改的突触。如果智人变成了智人,如果学习...

    用户1908973
  • 游戏开发中的 MDA 模型

    王兵
  • 生儿育女的算法应用

    有没有设想过,生活中突然多了个孩子会是什么体验? 如何更好Handle新身份,用科学的理论武装自己? 不妨看一下这篇不像攻略的攻略,探索新领域带来的乐趣。

    陈湘玲
  • CNV分析该如何选取对照样本

    分析CNV的技术越来越多,除了核型、FISH、aCGH、SNParray、CNVseq、BOBS、WES、WGS等,还有基于cell free ...

    用户7625144
  • 半天2k赞火爆推特!李飞飞高徒发布33条神经网络训练秘技

    AI大佬Andrej Karpathy (简称AK) ,刚刚发布了一篇长长长长博客,苦口婆心地列举了33条技巧和注意事项,全面避免大家踩坑,推特已有2,300多...

    量子位

扫码关注云+社区

领取腾讯云代金券