首先问个问题?什么是IC验证工程师?验证是什么意思? 有的同学清楚,有的可能不太清楚。

验证工程师就是根据芯片的需求规格(spec),采用相应的验证语言、验证工具、验证方法,设计并实现验证环境,在芯片生产之前对芯片的功能(RTL实现)进行仿真验证,确定设计的功能是否实现了spec中描述的功能,设计的功能是否正确,是否已经完全释放了风险。

“验证”简而言之就是根据芯片的需求规格对设计的芯片“找茬”。

对于芯片设计全流程不清楚的同学,可以先了解下芯片设计流程。
大家都知道芯片设计中流片是非常昂贵的,我们不能等着流片完了再发现问题,那钱就打了水漂,有一些小公司可能就是因为一次流片失败而破产,所以我们要在流片前把各种BUG问题都排除了,这就是验证的价值,因此验证工程师也是IC设计企业中最多的岗位。

一般验证和前端设计的比例是 3:1.验证工程师也是招聘需求最大的岗位,需求量非常大。

IC验证岗位相对于IC设计前端设计、后端设计而言,相对门槛还是低一些的,本科生经过系统的培训和学习,也是可以找到名企工作的,对于转行的同学来说,验证是非常好的选择。而且验证工程师的薪资也是非常高的。

通过几个招聘信息来看一下验证岗位都会干什么?需要什么技能?薪资待遇如何?
我们现在打开BOSS直聘,看一下关于IC验证的招聘信息,我们来看一下,大部分的薪酬都是20~40万,还是非常吸引人的。

当然,这是北京的,在不同的城市,不同的公司区别还是挺大的,一般上海北京深圳广州等一线城市基本25万到40万左右,西安南京等二线城市一般15万~30万之间,具体还要看大家的学历和项目经验,还有自己面试的如何。以前大部分企业都是招聘研究生,现在由于招不到人,有一些公司也开始尝试招聘本科生。这种情况后面会更加的普遍,因为这个行业非常缺人。

另外IC设计企业的员工福利都是非常的好,双休、六险一金,年假、旅游、运动休闲这些都是标配,还有的企业自己有运动场馆,自己的食堂,总之你能想到的福利基本上IC设计企业都有。

我们打开几个具体看一下他们的招聘需求以及岗位职责。

据行业某人才培训公司透露:今年毕业学员一般都是20K以上,有一些优秀的能达到30多万,有去华为海思的的,有去OPPO。就业基本都没困难,且薪资待遇很不错,有985/211的,也有普通本科的,只要大家愿意花时间,付出努力认真学,一定没有问题。

职业发展:
讲了这么多,我想大家对于验证工程师一定有了一些了解,我再给大家讲讲验证工程师的职业发展。

刚开始进入公司的我们作为“小白”,都是从最基础的助理工程师或者初级工程师做起,经过两到三年的历练在成为高级工程师之后,一般会领导会根据大家在项目中的表现以及个人的意愿确定每个人的发展方向,主要分为技术方向和管理方向,在不同的发展方向也会逐级的晋升,达到各领域的专家,最终进入管理层或者合伙创业。

当然随着大家沿着各自发展方向的进步,薪资水平也会相应的增加。但所有的一切都取决于大家在项目中的表现以及贡献。

芯片设计是如何验证的?
在芯片的研制过程大致分为两部分,一部分是前段(也叫逻辑设计),一部分是后端(物理实现),而验证环节贯穿需求定义到最后的物理实现,以及到芯片流片后的测试都有需要验证人员的参与,也就是说验证贯穿了整个芯片研制的全过程。

而在这个过程中,验证主要进行两方面的工作,一部分是前仿真(基于RTL代码的仿真)和后仿真(基于门级网表的仿真)。并且大部分的设计问题都会在前仿真阶段暴露出来,所以在前仿真阶段需要尽可能的覆盖所有功能点,毕竟越到研制流程的后续阶段发现问题,将会导致针对问题的修改成本会越来越高。

因此,一款没有经过验证或者验证不完备的芯片,其本身的功能是不能得到保证的,一旦芯片带着问题流片,带来的损失将是不可估量的。目前芯片研制流片费用相当高昂,基本上都在百万元以上,在芯片的设计过程中存在于设计中的bug,在没有解决的情况下流片后,流片出的芯片很有可能就是“石头”一块,从而会导致产片需要重新设计,而对于更新速度非常快的芯片市场来说,由于芯片的延期而错过最佳投放市场的时间,那么这就是一个“烧钱”的故事。

例如,芯片巨头英特尔是世界上最大且最具影响力的处理器芯片制造商,在20世纪90年代,英特尔也曾因为浮点故障而损失数十亿美元,而本可避免的“烧钱”对于以盈利为目的公司所带来的损失是不可接受的。

因此,面对高昂的芯片设计成本,在流片之前通过验证活动发现所有的bug是非常重要的,验证工程师的核心工作就是对芯片进行充分验证,并且不断迭代的给设计提出验证过程中发现的各种可能存在的问题。

IC验证的流程:
具体的验证过程中,验证工程师一般需要进行两方面的工作,一部分是前仿真(基于RTL代码)和后仿真(基于门级网表)。

进行前仿真时,一般步骤如下:

1.需要熟悉设计规格要求,明确设计要求和待测试的功能

2.制定验证方法和方案,明确怎么验

3.提取测试点,明确验什么

4.验证环境的搭建

5.用例执行,随机测试、定向测试,发现问题

6.验证效果评估,对覆盖率进行统计分析,查漏补缺

进行后仿真,一般是基于后端提供的网表和SDF文件进行时序仿真,仿真的测试用例一般需要覆盖到时序的关键路径,并且在后仿真过程中发现的问题需要反馈给设计人员和后端工程师进行确认。

验证是一件非常有技术含量的事情,我们当然希望把所有的功能,性能,可能发生的问题,都做验证,测试有没有问题,但是时间和成本是有限的,我们必须有方法有策略的来进行验证工作,所以就有了验证方法学。

一般验证方法学通常具有以下原则:

1、受约束随机激励,定向测试

2、功能覆盖

3、事务级分层测试平台

4、可重用测试平台

验证过程中,一般采用的激励策略为受约束的随机测试和定向测试,受约束的随机激励对于设计验证至关重要,可以通过随机测试发现设计中一些验证人员未预料到的一些问题,而定向测试可以找到设计中预期的一些bug。采用不同的激励策略对待测设计进行验证过程中,使用功能覆盖率和代码覆盖率来衡量验证进度。

为了进一步提高验证环境的复用性,目前基于主流的验证方法学构建的验证平台都是分层验证平台,分层测试平台可以将问题分解为更小更易管理的部分,从而帮助控制验证平台的复杂性,通过适当的规划,可以构建一个可以由所有测试用例重用的测试平台架构,而不需要对测试平台进行频繁的修改。

但是构建构建这种测试平台比传统的定向测试平台花费更长的时间,特别是验证环境开发阶段。虽然验证环境开发会花费很长时间,但回报却很高。所有的测试用例都可以重用这个通用的测试平台。 当随机测试的bug发现率开始下降时,可以创建新的随机测试探索设计的新领域。最后几个bug可能只能通过定向测试找到,但绝大多数的bug都可以在随机测试中找到。

目前业界主要用的验证方法学是UVM,相较于其他验证方法学的发展过程如下图:

可见UVM是集百家之长的结晶。UVM是一种基于Systemverilog的验证方法学,其特征是提供用于基本验证结构和可调用的基础类库,可让验证工程师快速搭建可靠的验证框架。UVM自定义的框架构建类和测试类能够帮助验证工程师减轻环境构建的负担,将更多的精力集中于制定验证计划和创建测试场景。

验证工作当然离不开工具的支持,我们看一下验证工程师常用的EDA工具:

验证工程师常用的EDA工具:

验证工程师是什么,干什么?已经给大家讲清楚了!

如何成为一名验证工程师?
1.首先是本科以上学历,最好是研究生,理工科,最好是有电子信息、计算机类背景;

2.需要有较好的逻辑思维能力,这个能力一般理工科背景的工程师们都不差;

3.验证意识,对任何东西都要有质疑的态度,对问题要刨根问底;

4.具有积极主动的自主学习能力;

5.具有良好的团队沟通能力;

学习的方式:

学习入行的方式有2种,一种是自学,另一种是选择一个培训机构。如果想成为一名验证工程师,那么需要掌握下面必须的技能:

1.常用的EDA工具,一般这些工具对于硬件资源要求较高;

2.设计验证语言,Verilog、SystemVerilog、SVA等;

3.验证方法学,UVM等;

4.常用的脚本语言,pythonn、perl等;

5.常用的标准协议;

6.工程化标准化的验证流程,能够制定验证计划搭建验证平台等;

对于验证工程师需要具备的以上技能,如果采用自学的方式,时间成本将是非常高的,并且缺少实践,对于知识本身的掌握也是不牢固的,为此可以推荐选择专业的、有项目实践的培训班,即可系统学习,还有工程化的工作环境以及大量的实践项目,巩固所学,有效的提升验证技能。

IC设计这个行业是非常重视项目经验的,很多IC设计企业在招聘时很看重这些,所以我们想要找到好的工作,就必须积累一定的项目经验,这是非常重要的。

书本和互联网上的资料很多,但是工程类的工作,如果不上手操作基本上很难留下深刻的印象。可能有人认为可以做一些习题,但是习题往往不具有工程实践。就像大家学书本的英语,如果不去开口跟老外交流,这样的英语是不会被记住的。因此,工程类的技术一定要在具体的项目实践中应用。

求职就业技巧:
最后再给大家分享一些关于求职就业的一些技巧。

一般企业都会进行多轮面试,不过技术面是必不可少的,并且在技术面试对于项目经验会问的比较详细,会涉及到如何完成项目、遇到的问题等等。

一般的面试流程如下:

1.自我介绍

2.验证项目情况,怎么实现的,遇到了什么问题,如何解决等等

3.Verilog、SystemVerilog、UVM经常用到的内容

4.笔试(一般大公司都会有笔试)会涉及专业知识

5.问什么说什么,没有问的不要抢答,任何问题三思而后答

6.情绪保持平淡,沉着理智,不要表现的很亢奋或者很紧张

好了,本次就分享就到这里,最后给大家一点建议,这个行业真的是一次人生机会,如果你觉得自己努力一下就可以抓住,那就不要犹豫,很多时候选择大于努力。祝愿大家能成功进入到这个行业,有一个美好的前程。

如何成为IC验证工程师?相关推荐

  1. (241)IC验证工程师技能树

    (241)IC验证工程师技能树 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)IC验证工程师技能树 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1) ...

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

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

  3. IC验证工程师高效战斗手册---提问之道(上篇)

    1.为什么先谈这个主题? 如果有人问:"你觉得什么技能是工程师最重要的技能?" 杰瑞IC验证认为,不是你的代码能力或某项具体的技术,而是"提问"的能力. < ...

  4. 入行IC验证工程师需要提前学习哪些内容?

    近几年,因为IC行业的薪资待遇高,很多人入行转IC验证工程师,这里面有不少人处于一个迷茫的状态.其实,大多数行业具有周期性,想在行业内长久发展的话,建议要好好学习.那么入行IC验证工程师需要提前学习哪 ...

  5. 上海广策信息 招聘FPGA开发工程师/IC验证工程师

    今天给各位大侠带来优质企业的招聘资源,有需要的可以往下瞧一瞧看一看,感觉符合自己的,可以试一试,自行投递简历. 广策信息 公司简介 上海广策信息技术有限公司(TacFintech)成立于2017年2月 ...

  6. 数字IC验证工程师加班吗?工资高吗?一天是怎么样的呢?

    现阶段的IC行业,数字IC验证工程师非常紧缺,尤其是在这个行业中干了很多年的工程师那更是奇货可居.但是最近和一些在校学生和刚入行的朋友们交流的时候,发现大多数人对数字IC验证工程师的具体工作不了解,甚 ...

  7. 如何入门数字IC验证工程师,需要具备哪些知识和能力?培训班速成是否可行?

    说说数字验证工程师需要掌握和学习的技能有哪些? 1.现阶段由于数字验证的平台有很多种,主要的平台有: 纯verilog平台.SystemC.纯C/C++(CPU验证).纯UVM平台.UVM+C/C++ ...

  8. 一位IC验证工程师工作多年后的感悟

    (本文摘自追梦人_小山的新浪博客) 在学校时就对IC有着浓烈的兴趣,毕业后也如愿做了IC验证工作.经过2年的学习和实践,对验证的理解零零散散也有不少,但总没法形成一个比较完整全面的经验谈.这里把我对验 ...

  9. IC验证工程师高效战斗手册--高效验证平台搭建和冒烟测试要注意什么?

    前面我们一起探讨了"如何制定高效的验证方案",方案和战略有了,便到了具体执行.执行的第一步,即是验证平台的搭建和冒烟测试,本篇我们就一起聊聊,高效的搭建验证平台和冒烟过程中需要注意 ...

最新文章

  1. es任务 如何kill_kill进程的方法
  2. 在linux中如何高效的使用帮助
  3. HTML data属性简介以及低版本浏览器兼容算法
  4. Linux 系统应用编程——网络编程(利用TCP/IP 模型分析数据传输过程)
  5. CocoaPods学习系列5——错误集锦
  6. Wireshark实战分析之IP协议(四)
  7. 自媒体采集爆文工具,批量采集自媒体爆文
  8. c语言资产管理系统设计报告,(C)固定资产管理系统论文
  9. 百度竞价排名曝光_百度竞价排名和自然排名都是什么?
  10. Maven插件 [WARNING] 'parent.relativePath' of POM 类似警告处理
  11. 使用esp8266前的网络基础
  12. ios系统访问ftp服务器,ios系统访问ftp服务器
  13. 搭建一个专属于两个人的爱情网站,记录生活中的点点滴滴
  14. CAD怎么切换角度标注对象?CAD切换角标操作技巧
  15. 技术型公司与非技术型公司区别
  16. 【机器学习】【隐马尔可夫模型-3】后向算法:算法详解+示例讲解+Python实现
  17. (NeurIPS 2019) Learning Object Bounding Boxes for 3D Instance Segmentation on Point Clouds
  18. 肝完这篇 TCP/IP ,我就去面试去。
  19. 网页搭建入门---轮播图特效实现
  20. 就自拍这回事(文/@最牛傻蛋)

热门文章

  1. 导出的 EXCEL 用 office2016 打不开
  2. 解决时间机器无法识别硬盘问题
  3. Ubuntu20.04更换软件源之后apt-get update报错
  4. 微信 8.0 「裂开」「炸弹」的特效代码来了
  5. HTML5学习之路(电影影评网)
  6. 【小罗的hdlbits刷题笔记4】从lemming4中的有限状态机debug过程中的一些感悟
  7. 贵州计算机教师资格证报名条件,贵州教师资格证报名条件
  8. linux下分析webmail代码,Atmail Webmail Client多个HTML代码注入漏洞
  9. 堡垒前线7月30日服务器维护,堡垒前线7月24日停服维护公告 全新功能初心岛正式上线...
  10. be服务器未正常运行2.6.43,绝地求生be服务器未正常运行2.6.43怎么解决?