很多IC企业在招聘的时候,验证的岗位需求都是远远高于其他岗位的,据统计,每招一名前端工程师,就会招聘两名验证工程师,可见这个岗位的需求量还是非常大的。所以对于想要转行验证岗位的同学,机会是很大。
1)验证概念
主要用来证明设计功能正确,并且符合设计功能描述的流程。
2)验证平台
激励发生器:对DUT创建测试序列,先易后难激励
检测器:观察DUT输入输出
比较器:对DUT输出与预期数据相比对
时钟/重置:提供时钟和复位信号
检查结果报告
3)验证工作内容
设计文件是否正确的按照功能描述文档去实施
硬件设计人员是否有漏掉的边界的情况(corner case)
检查设计是否能处理错误的情况(error response)
4)验证任务:
模块级(module level)
子系统级(sub-system level)
系统级(chip level)
5)验证目标:
按时,保质,保耗
按时:按照项目计划,考虑验证各个节点(milestone)
保质:流片前,尽可能发现所有的缺陷
性能,低耗:更短的时间,更少的人力完成工作
6)验证周期:
验证计划:针对设计的测试功能点,映射的覆盖率,验证环境结构,回归测试列表
验证环境:激励发生器,检测器,比较器
验证代码检查:遗漏的测试激励;不恰当的随机约束;代码结构缺陷,提升覆盖率
回归测试:将所有的测试序列都重复执行,随机测试可利用其来检查测试所覆盖的激励场景,提高覆盖率
流片前验证完备性检查:回归测试报告;覆盖率数据;验证流程检查清单
硅后测试:与测试人员一起测试流片,确认缺陷原因,补救方法
逃逸分析:总结错误和原因,经验积累
1)背景
2002年Accelera标准的组织牵头发展,是Verilog的扩展的硬件描述语言和验证语言。
2)核心特性
接口(interface)
面向对象特性(class & package)
随机约束(constrained random)
线程控制和通信(process control and communication)
外部语言编程接口(direct programming interface)
断言(assertion)
1)概念
基于SV的验证方法学库,是其抽象出来,构建验证环境的通用手段,并利用标准接口,使得验证环境更利于构建和复用,实用性广泛。
2)目的
提供一些可以重用的类,来减轻项目之间水平复用和垂直复用的工作量。
3)UVM的学习结构:
UVM的版图(类库),核心机制
核心的UVM组件和构建方法
UVM组件间的通信方式
UVM测试场景的构成
UVM的寄存器模型应用
4)验证平台:
SV
SV/C++/Verilog
C++/Verilog
5)验证工具:
Questa modelsim(mentor)
NC-sim(cadence)
VCS(synopsys)
6)验证工作:
灌激励
集响应
做比较(actual data & expected data(c++))
7)验证脚本
per/shell/python/makefile(用于设置环境变量)
这个岗位之所以非常受关注,是因为相比于数字前端设计、模拟IC设计岗位,数字验证岗位的门槛没有那么高,硕士研究生即可,不限行业,包括一些本科生也在企业考虑的范围之内,专业技能要求也不是特别高。另一方面数字IC验证岗位薪资待遇高,年薪可达20-30万,这让不少人心动。
IC验证岗位的门槛还是比较高的,但随着不断学习,技能增加,项目经验变多,薪资待遇也会水涨船高。IC行业的优势一是人才比较稀缺,二是相对于没有那么内卷。这是因为这个行业属于高科技行业,对专业性,技术性要求极高,基本越老越吃香。
想要成为IC验证工程师,学好各种课程是必不可少的,只有掌握了相应的基础知识之后,才可以成为一名合格的IC验证工程师。