IC验证工程师高效战斗手册--如何制定高效的验证方案

路科验证 2021-06-23 12:04

来都来了

不关注一下吗


 来源| 杰瑞IC验证(ID:Jerry_IC) 
 |原创作者| Jerry

在《IC验证工程师高效战斗手册》专辑前面的文章中,我们一起探讨了“提问之道”、“接到验证任务后的高效行动”、“前期如何高效学习”、“如何高效提取测试点”等等话题。很多新入行的粉丝表示这些话题对他们的工作很有帮助,也有向Jerry催更的,今天我们就接着这个主题继续展开讨论。

当我们完成了前期的充分学习,对验证对象有所理解、有了初步验证思路、提取出了验证feature,就到了制定完善具体的验证方案了,验证方案如同作战方案,是行动高效的保证,从作战意识到作战策略,都很重要。

如何才能制定出高效的验证方案呢?


1

意识上具备验证项目“高效”的全局观


先强调一点,我们谈到“高效”,千万不要片面的理解为“快”,一定是又“好”又“快”。如果不“好”,“快”有何用?

“好”是第一位的,在“好”的基础上,从流程上或从工作细节出发,减少弯路,节省不必要的时间浪费,才能做到“快”。

又说回来了,“好”指的验证工作质量好,这点比较容易理解。那“快”指的到底是什么快呢?

搭建平台快?case造的快?平台跑的快?

想来想去,这个问题的本质其实是一个验证格局和视角的问题。

“不谋全局者,不足谋一域。”,Jerry建议大家要尽可能站在更全局的视角思考验证方案,多考虑验证的整体进度和项目的整体进度。

A.心中装着最理想的时间节点来制定验证计划


正如ESL(Electronic System Level,电子系统级)设计流程所展示的思想,从算法、设计、验证人员工作的协同方式和并行度层面考虑,以求减少整体研发时间。

想象一下,等设计同事的RTL代码已经完成了,然后验证人员才介入学习、提取feature、搭建平台等等,这样的配合,即使这个验证人员动作再快,也是和设计“串行”的。

与之相反,验证人员和RTL设计人员同时开始学习,设计人员出文档写代码的同时验证人员也出文档写代码,等设计人员RTL写完,验证平台就准备好直接“趁热”冒烟调试。这样即使这个验证人员再慢,也是和设计“并行”的。这就是前面说的格局视角问题后者验证人员也许做具体的事情都比前者更“慢”,但是总体验证进度和项目进度,可能更快。
现实情况可能更加复杂,你可能多任务并行、可能你接到任务的时间点就已经很晚了、或者相反你收到的时间点很“宽松”。但是不管怎样,希望初入行的朋友至少心里清楚:在你所在公司的流程之下,什么时间节点做什么事情是最理想最高效的?并且可以努力尝试按照自己的“理想”时间节点推进,可能会有不同的收获和感触。

B.整体快才是真的快


我们接着上条再举例一种场景,当验证人员无精力精确定位bug的情况下,交给设计同事精确定位和解决。这个bug藏的很深或数据量大很难分析,设计同事对这个问题的调试苦不堪言,按这个势头评估修改完这个bug可能会花3天时间,这个时候设计同事提出需求:构造一个特殊的checker来作为监控器,有了这个checker设计同事就可以10分钟之内迅速定位解决。验证人员手头很忙,设计提出的这个特殊checker并不会影响验证平台的完备性,不是非加不可的,而且加这个cheker可能还需要一定的时间。

如果你是验证人员你会加吗?

Jerry建议这种情况应该尽快帮忙加上,还是如上的全局观,虽然验证人员放下本来的工作,“慢”了一下,但是要清楚:设计定位和修改bug的时间本质也是属于验证时间,假如这个bug阻碍后续测试和回归是直接拖慢整体进度。退一步,即使这个bug不阻碍测试和回归,释放出设计人员的人力最终也会作用回质量的提升和验证效率的提高。整体快才是真的快,制定验证方案时候需要考虑到类似提高debug速度和设计修改bug速度的策略。



2

验证方案紧紧把握“完备性”与“实战性”


完备性是最重要和最基础的,验证环境要能覆盖住所有验证测试点。简单说就是验证环境可以发出各种测试点和场景下的激励、同时可以检查和报出各种RTL不符合预期的错误。这个完备性就是上一节中说的“好”的重要体现之一,如果验证方案不能完备,其中的难点问题没有想清楚,便有可能导致在执行过程中出现问题,突增工作量或一定程度上的返工、甚至可能使bug逃逸造成更大的后续时间浪费。所以从这里也可以看出:其实“好”本身就是一种“快”!

完备性是验证方案的基础,但是对于完整的验证方案来说,这可能只是“入场券”,因为更重要的是需要与“实战性”结合。

对于实战性的考虑我们简单抛出几个不同角度的思考案例:

首先,验证方案大的前提条件在实际中是否成立?

比如你的验证方案是需要有一个时钟精确的参考模型来和RTL做对比,但是恰好没有这个参考模型,而且时间人力上也不允许你从零编写这样的参考模型。

再例如,你的验证方案中对某些单元规划为使用形式验证工具保证,但是你们的形式验证经验不是很充足、人员紧缺,无法很好支持。

这些时候相当于你的验证方案前提就被否决了,这种情况,你再完备的方案,也是站不住脚的,你必须接受现实寻找其他的可实现解决方案。

其次,平台是否需要“递进式生长”?

例如,你设计出来了一个完备的验证平台总共有20个不同的checker,但是综合考虑项目进度,急需验证平台出来先测着。

这种情况下,20个checker因时间限制不可能一次性加上。此时可能需要“递进生长式”的完善验证平台,这20个checker,先加哪些后加哪些,什么时候加,为什么这个顺序加?都需要在方案阶段想清楚。

然后,是否考虑了项目的移植性和case的继承性?

如果你的项目是升级项目,要考虑是重新搭建平台还是可以部分继承之前的平台,同时case是否可以一部分继承?这是工作量和风险的权衡。

即使是从零开始的项目,也可以考虑是否有别的项目的公共验证组件或VIP可以移植和复用。

接着,验证前期中期后期和不同验证层次侧重点是否有规划?

我们在之前提取验证feature讨论的时候提到标出feature的优先级以及不同测试点更适合的测试层次。在验证方案阶段需要进一步的思考一下,因为这个feature和你验证平台的结构紧密相关,一方面,如同前面的“递进式生长”,什么时候增加什么激励的组件以及增加checker。另一方面,考虑了不同时期的规划,可能你的方案中就需要更多的灵活性,如增加可配置选项,便于平台不同状态切换。

再次,是否有值得参考的历史验证记录或bug单可以了解一下?

出于实战性考虑,如果是升级项目,老版本的RTL一定被验证过。如果是新的项目,可能有类似设计结构的RTL验证过。他们一定都有验证记录或者bug单,如果你可以搜集到相关信息,建议学习了解一轮,看看哪里容易出bug,你的验证方案能否抓住类似的bug,或者哪些地方加强随机或检查。

此外,验证平台仿真速度的思考、精力时间分配等等都是基于“实战性”的思考范畴。



3

制定方案要多碰撞


这里说的“碰撞”本质上指的是方案或观点的利弊权衡或讨论,因为这个过程可能是纠结的、激烈的、直接的、甚至有冲突的,所以称作“碰撞”。

首先是与自己碰撞。

每个关键点尽量强迫自己提出至少2种方案(来源可以是看到的文献中的,可以是实际经验得出的,可以是自我创新的等),有了多种选择便需要抉择,抉择的过程就会产生更优质的方案和更深刻的理解。

更重要的是和其他同事“碰撞”

正如杰瑞IC验证一直倡导的“开放”思想,和同事“碰撞”就是开放的重要体现。
组织会议积极充分暴露出自己方案,让大家一起来拍砖和打磨,或单独寻找前辈和同事碰撞想法,获取建议以完善方案。

乔布斯说过,“我特别喜欢和聪明人一起工作,因为最大的好处是不用考虑他们的自尊。”,这可能就是把“开放”“方案碰撞”做到极致的感觉了,我们一般碰不到乔布斯这么彪悍的讨论者,自己也没必要那么“刚硬”,但是可以持有这样的认知,用你自己的处事方式,以开放的心态,碰撞出一个近乎完美的验证方案。


结语


今天我们一起探讨了如何制定高效的验证方案:从意识层面到方案思考层面,再到方案完善的方法。

篇幅有限,欢迎大家共同探讨交流!

验证高效之道,乃细节之道,杰瑞IC验证与你同在,加油!!!


——The  End——
你点的每个在看,对我们都是鼓励
路科验证 专注于数字芯片验证的系统思想和前沿工程领域。路桑是Intel资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 156浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 119浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 84浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 43浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 47浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 89浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 33浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 50浏览
  • 在物联网(IoT)短距无线通信生态系统中,低功耗蓝牙(BLE)数据透传是一种无需任何网络或基础设施即可完成双向通信的技术。其主要通过简单操作串口的方式进行无线数据传输,最高能满足2Mbps的数据传输速率,可轻松实现设备之间的快速数据同步和实时交互,例如传输传感器数据、低采样率音频/图像与控制指令等。低功耗蓝牙(BLE)数据透传解决方案组网图具体而言,BLE透传技术是一种采用蓝牙通信协议在设备之间实现数据透明传输的技术,设备在通信时会互相验证身份和安全密钥,具有较高的安全性。在不对MCU传输数据进
    华普微HOPERF 2025-01-21 14:20 34浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 125浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦