IC验证学习顺序与知识点
近几年,随着贸易战等一系列因素,国家对集成电路也加大了支持,IC行业的工资普遍在30W以上,因此越来越多的应届生选择自学IC,如果你本科或研究生就是信通/电子信息/微电子/电子科学与技术等相关专业,那么在应聘时就是企业眼里的对口专业,上述专业都学过数电模电,数集模集等基本专业课,会稍微占有优势。如果你本科是非相关专业,额外需要自己多补充一些IC类的相关专业课。但二者相同的是必须要有IC的项目去支撑,自学也好,报班也好,去网上找资料也好,或者有人导师就是干IC的等等,总之,简历上一定要有一个你熟稔于心的项目。接下来详细的说一下IC验证整体的学习流程。
一:数字电子技术基础 闫石主编 首先整本书都要看一下,个人觉得B站清华大学王红老师讲的很清楚,然后就是verilog,书籍的话随意选一本,b站上西电蔡觉平老师讲的很好。这两门课程是基础,学习需要花费半个月-一个月左右的时间。
面试和笔试中的常问知识点有:手撕分频器代码;阻塞非阻塞及其应用;reg/wire的区别;用任意语言找出1到100中的质数;加法器怎么验证;触发器与锁存器的区别;异步电路和同步电路的概念;组合逻辑和时序逻辑的概念;跨时钟域;手撕状态机代码;建立时间与保持时间的概念;建立时间与保持时间违例了怎么办;ASIC开发基本流程;低功耗设计和方法;时钟抖动和时钟扭斜的区别。秋招中还是有部分公司面试时会手撕代码的,比如华为,高拓讯达,嘉楠科技,哲库,联发科等,还有很多公司是笔试题中让你写代码。
二:systemverilog/UVM这两部分是IC验证的重点,必须要认真学习,SV对应的书籍是克里斯·斯皮尔著的,一本绿色的书,UVM是白色的UVM实战卷I 张强译。这两本书在第一遍看过之后,肯定不是很懂,这是正常现象,至少要看2遍,至于UVM我觉得可以看3/4遍,每一次都会有不同的收获,可以从网上搜集一些视频,单独看书可能过于晦涩难懂,现看SV再看UVM。
由于我们应聘的岗位就是IC验证,这一部分在面试中的考点,肯定要高于上一部分,常问的知识有:phase机制的特点;OOP的特性;callback机制是什么;线程之间通信的方法;fork join/fork join none/fork join any的区别;等待线程和终止线程的语句是什么;什么是factory机制;SV中的virtual interface中virtual在什么地方;动态数组和联合数组的区别;什么是队列,push back和pop front的区别;UVM的优势,为何选择UVM;ref的类型有哪些;virtual sequencer和sequencer的区别;代码覆盖率、功能覆盖率和断言覆盖率的区别;数据怎么在sequence sequencer和driver中通信;选择验证行业的原因是什么,就业时为什么不选择研究生/本科的专业;IC设计流程,从前端一直到后端;断言的概念是什么,有时候会让你现场写一个断言;形式验证的概念是什么;你是如何保证你验证的完备性的;如何启动sequence;面向对象编程的优势;事件触发 wait和@的区别;约束的几种形式;既然有了componment为何又要object,验证过程中哪些是componment哪些是object呢;task和functon的区别;简单介绍TLM事务级通信;简单介绍寄存器模型,前门访问以及后门访问概念;AHB总线和APB总线的关键信号,以及传输的时序关系。具体的问题请看其他文章,里面介绍的更加详细,不懂的问题可以私信我,一起讨论。
三:验证项目。项目是面试中最加分的一点,在应届生中,如果你去实习过,或者导师就是做IC验证的,有真实的项目经验,就会在面试中脱颖而出。但是对于大部分来应届生来说,还有没有上述机会的,这就需要我们去自学项目,可以从网上搜集项目视频,或者报班等,总之,一定要从设计手册开始,详细的了解整个项目进程,下载虚拟机,亲自搭建验证环境,亲自跑一跑,收集代码与功能覆盖率。
尽管大家的项目不一样,但是面试问的问题都差不多:首先是解释一下你所验证东西主要是用来实现什么功能的,即待测设计的功能和结构;根据DUT的功能及结构你是如何搭建的验证平台,为什么要这么搭建,需要会画出验证框图;验证平台中各个组件之间的通信与连接,又是如何跟DUT相连的;验证计划中写了哪些功能点,对于这些功能点你是怎么验证的,具体的testcase又是怎么书写的;你是如何确保你的testcase通过了呢,从哪里看出来这个功能点被验证到了;最终收集的代码和功能覆盖率为多少,你是如何收集的,是在哪里写的代码,又是在哪里看的结果?总之,对于项目的问题,都时贴近实际,只要真正的自己从头到尾跑一遍,才能回答上来。IC验证热度越来越高,因此竞争也越来越大,项目这里一定要认真准备!
四:制作简历,做历年笔试题与面试题。其实SV/UVM的知识点都是固定的,常问的也就那么多,多背背多理解就没有问题,去网上进行搜集然后大量刷题,将零碎的知识系统化。
五:投递简历。秋招的速度往往比较慢,周期比较长,有的公司从接收到简历到最终录用你可能跨度一个多月。我们需要大规模投递简历,再疯狂接收到offer的时候,要考虑公司背景规模,薪资待遇,加班情况,所在城市等硬性要求。