信号检测员待遇怎么样,ic验证工程师是个坑


众所周知IC行业是个投入非常大的行业,做一颗芯片开模的费用就达到了百万级,在芯片设计的过程中光BUG就可以达到上千个。如果这些BUG没有被发现的话,就可以遭受巨大的损失。


因此验证就是保证芯片功能正确非常重要的一环。据相关数据统计,目前IC验证和设计岗位的需求已经达到了3:1。这个岗位不仅需求大,而且年薪可达30W+。

信号检测员待遇怎么样,ic验证工程师是个坑NI%3D” img_ img_ inline=”0″ alt=”年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚” onerror=”javascript:errorimg.call(this);”>


什么是IC验证工程师?

就是验证设计实现是否与设计意图相符,发现设计人员的错误;还要保证芯片实现符合规格说明书的过程。


随便一搜索网上都有,但是对于转行的小白来说验证工程师到底是干嘛的?依然云里雾里。


其实简单来说,验证工程师的工作目标就是“发现所有BUG”!不过说起来这么简单,做起来可就繁杂并且循环往复了。

岗位技能

要想做好验证,保证无漏验、零漏测,以下要素是必须要具备的:验证工具的掌握、算法/协议的理解。


1)验证工具的掌握


验证工具包括vmm/uvm等验证方法学、sv/sc等验证语言、vcs等验证仿真工具、perl/python等脚本语言,这些东西是做验证要掌握的基本技能。不论你做什么样的芯片,都需要这些东西来支撑你的验证工作。


这些验证工具可以帮助你解决“我们该怎么验”这个问题,当你很好的掌握这些验证工具后,你可以有很多种方法途径去达成你的验证目标。


说实在话,验证工具的东西很多,要想在短时间内全部掌握也不可能,而且很多工具可能在你的验证过程中不会用到。


**对验证工具的感悟:**不要贪求全部掌握,你可以先看书学习实践,把这些东西都学习一遍;在学习的过程中你肯定会发现一些好东西。


对于那些暂时不知道怎么应用到实践中的东西,你也不要认为它们是没用的,其实只是你不知道用在哪儿而已,在你以后的验证中也许就会发现它的应用场景。当你需要它的时候,也许你已经忘记怎么用了,这个没关系,你可以再回去查阅资料,很快就能解决。


这样做的好处是,当你碰到可以用到它的时候,你至少能想起曾经看到某个东西可以来实现它。如果你从未学习过,那么你根本就不会想起有这个方法可以解决它,这才是可怕的,我都不知道这个问题是可以被解决的。


2)算法/协议的理解


芯片要实现什么,不外乎是xx算法、某某协议,算法/协议才是芯片的魂。验证其实也就是验的算法/协议实现是否正确。就跟批改作文一样,只有批改者有一定的文学功底,才能更好的评判作文水平。


因此,验证人员对算法/协议理解越深刻越好,要理解算法的原理以及算法的实现结构,只有这样才能找出其中的corner点。

信号检测员待遇怎么样,ic验证工程师是个坑NjRsxpN9mhkiOkKeCc%3D” img_ img_ inline=”0″ alt=”年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚” onerror=”javascript:errorimg.call(this);”>


验证平台

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)制定验证策略和验证计划;根据验证模块复杂度,功能,做前期的规划。为了避免后面工作中的很多弯路,要详细具体的规划。流程如下:

年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚



2)创建验证平台,运行和调试;


3)覆盖率分析和回归测试。功能覆盖需要编辑代码。复杂的项目中,都需要做功能覆盖。

IC验证工程师需要敲代码吗?

要的,但不是一天天的狂敲代码。作为一个IC验证工程师,你是半个程序员。你需要会Linux的基本命令,Verilog,systemVerilog,C语言,汇编语言,以及各种各样的脚本语言,比如python,Perl,makefile等。测试用例都是用代码写的,所以敲代码避免不了。但是,我觉得IC验证工程师重要的不是敲代码,而是对芯片功能的理解,验证方案的设计,其次才是代码实现,而实现起来也很简单。

IC验证工程师工资高吗?

不分地域不分公司谈薪资高低,那是耍流氓。对于知乎验证工程师人均30W的现象,一定要理性看待。但是,普遍一线城市,IC验证的工资在20K往上,如果你能受得了一线城市的快节奏,房价,这个钱,你可以挣。

IC验证工程师加班吗?

付出与收获成正比,你创造的价值,决定你的工资高低。加班频率的高低每个公司都不一样,不要在该奋斗的年纪选择安逸,不然生活会给你一记响亮的耳光。


验证在整个芯片设计流程中是至关重要的,这个岗位对于学历和专业的要求也并没有其他岗位高,很多人转行也会考虑这个岗位。但入行IC之后,不断的学习还是必须的。虽然这个岗位这个吃香,但经过去年大量的人员已经看到了机遇转行IC,所以门槛不会像是之前那么低了,但目前岗位需求依旧很大,感兴趣的朋友一定要抓住风口,不然以后就会越来越卷。

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。