欢迎大家来到IT世界,在知识的湖畔探索吧!
众所周知IC行业是个投入非常大的行业,做一颗芯片开模的费用就达到了百万级,在芯片设计的过程中光BUG就可以达到上千个。如果这些BUG没有被发现的话,就可以遭受巨大的损失。
因此验证就是保证芯片功能正确非常重要的一环。据相关数据统计,目前IC验证和设计岗位的需求已经达到了3:1。这个岗位不仅需求大,而且年薪可达30W+。
什么是IC验证工程师?
就是验证设计实现是否与设计意图相符,发现设计人员的错误;还要保证芯片实现符合规格说明书的过程。
随便一搜索网上都有,但是对于转行的小白来说验证工程师到底是干嘛的?依然云里雾里。
其实简单来说,验证工程师的工作目标就是“发现所有BUG”!不过说起来这么简单,做起来可就繁杂并且循环往复了。
岗位技能
要想做好验证,保证无漏验、零漏测,以下要素是必须要具备的:验证工具的掌握、算法/协议的理解。
1)验证工具的掌握
验证工具包括vmm/uvm等验证方法学、sv/sc等验证语言、vcs等验证仿真工具、perl/python等脚本语言,这些东西是做验证要掌握的基本技能。不论你做什么样的芯片,都需要这些东西来支撑你的验证工作。
这些验证工具可以帮助你解决“我们该怎么验”这个问题,当你很好的掌握这些验证工具后,你可以有很多种方法途径去达成你的验证目标。
说实在话,验证工具的东西很多,要想在短时间内全部掌握也不可能,而且很多工具可能在你的验证过程中不会用到。
对验证工具的感悟:不要贪求全部掌握,你可以先看书学习实践,把这些东西都学习一遍;在学习的过程中你肯定会发现一些好东西。
对于那些暂时不知道怎么应用到实践中的东西,你也不要认为它们是没用的,其实只是你不知道用在哪儿而已,在你以后的验证中也许就会发现它的应用场景。当你需要它的时候,也许你已经忘记怎么用了,这个没关系,你可以再回去查阅资料,很快就能解决。
这样做的好处是,当你碰到可以用到它的时候,你至少能想起曾经看到某个东西可以来实现它。如果你从未学习过,那么你根本就不会想起有这个方法可以解决它,这才是可怕的,我都不知道这个问题是可以被解决的。
2)算法/协议的理解
芯片要实现什么,不外乎是xx算法、某某协议,算法/协议才是芯片的魂。验证其实也就是验的算法/协议实现是否正确。就跟批改作文一样,只有批改者有一定的文学功底,才能更好的评判作文水平。
因此,验证人员对算法/协议理解越深刻越好,要理解算法的原理以及算法的实现结构,只有这样才能找出其中的corner点。
验证平台
1、验证平台的主要功能如下:
1)产生激励。
2)把激励应用到被测设计中。
3)检查结果和验证测试是否通过,也就是确保被测设计的输出和期望一致。
2、激励产生形式
1)用户直接输入,即直接测试(direct test)。比较原始的方式,用于小规模验证,现在基本上很少使用
2)种子随机生成,即随机测试(random test)。完全随机还是比较少的,所以这种方式用的也很少。
3)用户可控的随机输入,即约束随机测试(constraint random test) ,目前用的最广泛的一种形式。
3、激励的驱动
激励是一个抽象的东西,根据不同的抽象级别,定义不同的激励,比如信号级别,是最原始的,视线级别,往上层抽象。
激励由验证平台生成并且通过对应的接口发送到被测设计中。验证平台通常称之为BFM(Bus function model)或者driver模块。
4、结果检查
1)通过视图(波形)检查。
2)通过自动化的后处理比较。运用脚本工具进行比对。一般比数据。
3)做一个实时的监控器(monitor)比较。
实际项目中我们通常三者结合着去检查比对结果。
功能验证流程
验证过程可以被分解成三个主要阶段:
1)制定验证策略和验证计划;根据验证模块复杂度,功能,做前期的规划。为了避免后面工作中的很多弯路,要详细具体的规划。流程如下:
2)创建验证平台,运行和调试;
3)覆盖率分析和回归测试。功能覆盖需要编辑代码。复杂的项目中,都需要做功能覆盖。
IC验证工程师需要敲代码吗?
要的,但不是一天天的狂敲代码。作为一个IC验证工程师,你是半个程序员。你需要会Linux的基本命令,Verilog,systemVerilog,C语言,汇编语言,以及各种各样的脚本语言,比如python,Perl,makefile等。测试用例都是用代码写的,所以敲代码避免不了。但是,我觉得IC验证工程师重要的不是敲代码,而是对芯片功能的理解,验证方案的设计,其次才是代码实现,而实现起来也很简单。
IC验证工程师工资高吗?
不分地域不分公司谈薪资高低,那是耍流氓。对于知乎验证工程师人均30W的现象,一定要理性看待。但是,普遍一线城市,IC验证的工资在20K往上,如果你能受得了一线城市的快节奏,房价,这个钱,你可以挣。
IC验证工程师加班吗?
付出与收获成正比,你创造的价值,决定你的工资高低。加班频率的高低每个公司都不一样,不要在该奋斗的年纪选择安逸,不然生活会给你一记响亮的耳光。
验证在整个芯片设计流程中是至关重要的,这个岗位对于学历和专业的要求也并没有其他岗位高,很多人转行也会考虑这个岗位。但入行IC之后,不断的学习还是必须的。虽然这个岗位这个吃香,但经过去年大量的人员已经看到了机遇转行IC,所以门槛不会像是之前那么低了,但目前岗位需求依旧很大,感兴趣的朋友一定要抓住风口,不然以后就会越来越卷。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/94756.html