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资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 78浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 51浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 93浏览
  • 在智能化技术快速发展当下,图像数据的采集与处理逐渐成为自动驾驶、工业等领域的一项关键技术。高质量的图像数据采集与算法集成测试都是确保系统性能和可靠性的关键。随着技术的不断进步,对于图像数据的采集、处理和分析的需求日益增长,这不仅要求我们拥有高性能的相机硬件,还要求我们能够高效地集成和测试各种算法。我们探索了一种多源相机数据采集与算法集成测试方案,能够满足不同应用场景下对图像采集和算法测试的多样化需求,确保数据的准确性和算法的有效性。一、相机组成相机一般由镜头(Lens),图像传感器(Image
    康谋 2024-12-12 09:45 33浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 96浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 53浏览
  • 首先在gitee上打个广告:ad5d2f3b647444a88b6f7f9555fd681f.mp4 · 丙丁先生/香河英茂工作室中国 - Gitee.com丙丁先生 (mr-bingding) - Gitee.com2024年对我来说是充满挑战和机遇的一年。在这一年里,我不仅进行了多个开发板的测评,还尝试了多种不同的项目和技术。今天,我想分享一下这一年的故事,希望能给大家带来一些启发和乐趣。 年初的时候,我开始对各种开发板进行测评。从STM32WBA55CG到瑞萨、平头哥和平海的开发板,我都
    丙丁先生 2024-12-11 20:14 37浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-10 16:13 110浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-11 17:58 48浏览
  • 铁氧体芯片是一种基于铁氧体磁性材料制成的芯片,在通信、传感器、储能等领域有着广泛的应用。铁氧体磁性材料能够通过外加磁场调控其导电性质和反射性质,因此在信号处理和传感器技术方面有着独特的优势。以下是对半导体划片机在铁氧体划切领域应用的详细阐述: 一、半导体划片机的工作原理与特点半导体划片机是一种使用刀片或通过激光等方式高精度切割被加工物的装置,是半导体后道封测中晶圆切割和WLP切割环节的关键设备。它结合了水气电、空气静压高速主轴、精密机械传动、传感器及自动化控制等先进技术,具有高精度、高
    博捷芯划片机 2024-12-12 09:16 43浏览
  • 全球知名半导体制造商ROHM Co., Ltd.(以下简称“罗姆”)宣布与Taiwan Semiconductor Manufacturing Company Limited(以下简称“台积公司”)就车载氮化镓功率器件的开发和量产事宜建立战略合作伙伴关系。通过该合作关系,双方将致力于将罗姆的氮化镓器件开发技术与台积公司业界先进的GaN-on-Silicon工艺技术优势结合起来,满足市场对高耐压和高频特性优异的功率元器件日益增长的需求。氮化镓功率器件目前主要被用于AC适配器和服务器电源等消费电子和
    电子资讯报 2024-12-10 17:09 91浏览
  • 我的一台很多年前人家不要了的九十年代SONY台式组合音响,接手时只有CD功能不行了,因为不需要,也就没修,只使用收音机、磁带机和外接信号功能就够了。最近五年在外地,就断电闲置,没使用了。今年9月回到家里,就一个劲儿地忙着收拾家当,忙了一个多月,太多事啦!修了电气,清理了闲置不用了的电器和电子,就是一个劲儿地扔扔扔!几十年的“工匠式”收留收藏,只能断舍离,拆解不过来的了。一天,忽然感觉室内有股臭味,用鼻子的嗅觉功能朝着臭味重的方向寻找,觉得应该就是这台组合音响?怎么会呢?这无机物的东西不会腐臭吧?
    自做自受 2024-12-10 16:34 146浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦