23 届秋招数字 IC 验证岗薪资高达 50w?非科班求职也能拿高薪?
作者:admin | 分类:招聘求职 | 浏览:74 | 时间:2024-06-27 09:06:23如果不想错过我的推送,记得查看右上角公众号并设为星星,挑一颗星星送给我吧
大家好,我是23期秋招大军中的一员,求职方向是数字IC验证,最后拿到了蔚来、兆易创新、芯动、全志、星芯、海康威视、飞腾、国芯、小米、诺瓦、易思威、中兴等公司的Offer,其中一线城市最高薪资在50万左右,二线城市也到了40万,总体结果还不错。
2022 年比以往任何时候都更加困难
与去年求职的火爆不同,今年的就业形势急转直下,相信很多同学都有同感。就我而言,虽然我的专业是电子,但研究生期间做过的设备不是我的专业,所以这几个月在求职过程中也遇到了不少困难。
这一路走来,有很多感受想说出来,曾经在某网站零零碎碎的讲过,收到无数的回复,这次受达文邀请,趁这个机会把自己的经验教训整理总结一下,希望对大家有些帮助和启发。
IC快速学习路径
→ → 紫外线
首先介绍一下我的基本情况:学历方面,我有一个非985本科,一个985硕士,都是电子科学与技术专业。本科期间其实也修过不少集成电路相关的课程,但是实际项目做的并不多,所以基础很一般。
我研究生期间所在的课题组方向不错,大部分人都在做电路、FPGA,但我被分配到一个器件项目,日常接触的东西基本和IC没啥关系(所以确认我不是专业出身hhh)。
因为我的研究方向主要是数值模拟算法,涉及到编程,所以最初打算找一份 IT 方面的工作,但经过深思熟虑,觉得跟软件或者计算机专业的人竞争,自己没什么优势,就果断放弃了这条路。后来了解到,这两年由于政策的支持,芯片市场很好,前几年的学长们也在 IC 领域找到了相当不错的工作,于是就坚定地走上了 IC 学习的道路。下面我整理一下自己早期学习的整个过程:
为什么选择验证
整个芯片设计流程分为很细的部分,如果从宏观来看,在确定了芯片的具体指标(性能、功耗、工艺)之后,可以分为前端和后端两大阶段。前端是逻辑设计:RTL→门级网表,后端是物理实现:门级网表→物理版图。前端岗位更多涉及到数字逻辑知识,后端使用EDA工具较多。由于我对数字电路和语言有一些基础知识,所以我比较喜欢前端。前端岗位分为设计和验证,考虑到验证需求较大,岗位较多,所以我选择了验证作为求职方向。
按照今年的情况来看,设计这块的大佬太强了,基本上每家都有4-5个项目,而且都是经过制造和流片培训的,所以竞争真的很激烈;做验证的人也很多,而且验证的门槛比设计低,所以转行的基本上都去报考验证;后端这块,有些公司就不招人了。不知道明年情况怎么样,大家最好根据自己的实际情况来选择。
如何学习验证
其实对于一个合格的验证工程师来说,是必须要懂一些设计才行的。如果连自己验证的是什么都不知道,后面的工作就无从谈起。所以如果时间充裕的话,最好从最基础的数字电路知识开始学习,然后按照这个顺序→→UVM。下面我就以自己为例,说说验证的学习过程。
(1): 作为最主流的硬件描述语言,无论是设计还是验证都应该掌握。因为它的语法不复杂,而且我是本科的时候学的,看完B站的一个视频就开始动手写和使用了。在这个过程中,大家要多思考多总结。一开始太急于上手,导致对一些部分理解的不全面,比如阻塞赋值、非阻塞赋值等。所以要仔细思考每一个点,形成一定的编码风格和硬件思维,对后面会很有帮助。
对了,推荐一下牛客网的在线编程,题库里题目挺多的,而且不断更新道路工程师简历模板,有除法器、状态机、序列检测、同步异步FIFO等常见题,可以练练手,提高能力。缺点就是看波形比较麻烦,不知道现在有没有改进。
(2):SV是验证必学的语言,可以进行面向对象编程,为验证提供了一些独特的功能。大部分同学在学习SV的时候应该都看过经典的绿皮书《验证:编写测试台指南》。我在学习这本书的时候,经常会遇到一些小问题,采取的方法是自己写代码道路工程师简历模板,然后根据仿真来验证自己的想法是否正确。
比如在《绿皮书》第二章中,我对结构体数组的排序一直没有完全理解,想了很久,决定不妨在实践中写出来。果然,一看模拟结果,我立刻就明白了排序机制:当只关注红色时,数组c按照红色像素值的大小依次排列;如果同时考虑绿色和蓝色,则先按照绿色的大小排列,如果相同,再按照蓝色排列。
除了书上各种例子,还可以自己搭建一些简单的验证平台,不要只局限于书籍、课件或者视频课程。比如下面这个小平台(部分代码)是我做完一道题后心血来潮搭建的,测试的功能是程序能否在256个时钟内实时输出出现频率最高的数字。类似这样的练习对于提升能力也很有帮助,因为从理解别人的东西到独立实现还是有一定差距的。
(3)UVM方法论:对于UVM来说,了解它的思想非常重要,我觉得UVM验证环境相较于SV最大的优势在于可重用性和易用性。
可重用性是指UVM中每个模块单元都是自包含的,可以不依赖其他并行组件完成独立的行为,而SV中则不存在这样的问题,比如实例化时需要借助其他组件的帮助。另外UVM工厂机制中的覆盖率和机制在不改变原有测试环境结构的情况下,大大提高了代码的可重用性。
易用性,UVM 自定义的框架构建类和测试类可以帮助我们减轻环境搭建的负担,进而更加专注于如何制定验证计划和创建测试场景。例如借助 UVM 自带的 Phase 机制,在顶层协调各个子环境时,无需考虑子环境之间因实例化顺序而产生的 问题。
在学习UVM的过程中,我推荐大家安装虚拟机和Linux系统,在Linux下安装VCS、Verdi、UVM库。网上有很多教程,配置好整个环境之后,可以结合白皮书《UVM in 》边学边做。把这本书的源码下载到虚拟机里,尝试运行里面所有的例子,编译的时候可以自己写一些。另外要推荐一本书,叫《UVM in 》,里面的代码可以在网上下载,如果有同学需要的话我这里有。这本书比较短,很多概念也没讲,主要讲解循序渐进的学习,很适合新手。
其实验证工程师需要掌握的技能很多,除了SV、UVM;还有脚本语言Perl、Shell;因为有时候需要自己开发参考模型,所以需要懂C语言;还要掌握EDA仿真工具、AMBA总线协议、编辑器等。也许不能一下子全部吸收,但最好在前期的学习过程中有适当的接触。
IC求职前的准备
项目经验 - 制作简历 - 获取信息
前期的学习完了,接下来就是准备找工作了,我想从三个方面来讲:如何找项目,如何做简历,如何获取资料。
如何找到项目
众所周知,项目是求职过程中不可或缺的一部分,甚至可以说是核心。不过,大部分在校学生应该很难接触到验证项目,所以找到合适的项目肯定是加分项。除了利用教研室的项目,这里我能想到的还有三种方式。
(1)培训课程:由于去年IC行业很火爆,培训机构也多了很多,网上经常能看到各种促销。培训课程比较系统,难度也比较大,有专人一步步教你。不过缺点就是重复率可能有点高。之前有个笑话说MCDF的面试官对学生的了解比对学生的了解还要多,连问题都不想问。不过这种类型的项目作为学习材料还是很不错的。
(2)网上开源项目:开源项目是个不错的选择,在 、eetop 上都可以找到一些。为了避免重复,这里我就不给出具体的开源项目名字了,大家花点时间在网上仔细找找,还是有收获的。如果找不到合适的,欢迎在知乎上向我咨询。不过开源项目可能不全,或者缺少一些辅助资料。所以可以和身边的一两个同学一起合作,遇到问题可以多交流,一起解决。
(3)竞赛项目:参加竞赛也是提升能力、拿项目的一个好方法,如果获奖了,也可以写在简历上。今年富威杯有几个很不错的题目,其中 Track 2要求设计人员基于RNS提供一个可配置参数的多项式乘法的硬件实现,并用UVM方法论搭建得到覆盖率和验证报告。这个题目如果能顺利完成,可以作为一个很好的验证项目。另外,可以多关注一下极创赛、烟点赛,以及一些公司举办的杯赛。
如何写简历
完成项目准备之后,就到了制作简历的时候了。千万不要小看简历的作用,它会陪伴你整个秋招过程,所以一定要花更多的时间和精力在上面,细心打磨。我认为一份优秀的简历应该具备以下三个特质。
(1)总结个人亮点、项目亮点:简历是你个人经历的高度浓缩版,应该只展现最精华的内容。如果有实习、比赛获奖等亮点,一定要放在非常显眼的位置。因为像今年的情况,每家公司都会收到几千份简历,HR在筛选简历的时候不会仔细看,所以一定要让HR一眼就看出你简历中的亮点;同时,一定要用简洁、精准的语言,把项目的重点、难点描述清楚,让面试官一眼就能看懂。当然,你必须对简历上写的所有项目内容非常熟悉、完全理解。
(2)内容要与公司业务相匹配:其实去年这方面的要求可能还没有那么高,比如设计,只要有 FPGA 项目,哪怕方向不是很一致,也没有投简历的必要。但今年竞争压力太大,各家公司都提高了筛选简历的标准,希望招到跟自己业务相关的人。所以大家在简历中尽量突出自己和公司业务的匹配度,投不同的公司可以做一些有针对性的调整,不要用同一份简历去投所有公司,比如投 AI 芯片公司,可以适当突出自己对深度学习的理解,这样可以大大提高简历的竞争力。
(3)版式美观整洁:最后一点就是格式。找一个干净简洁的模板,按照教育背景、项目经验、个人技能等整齐排列。还有一点要注意,简历一页就够了,除非内容特别丰富,否则不要做成两页。
如何获取招聘信息
项目和简历准备好之后,就到了求职准备的最后一步:及时获取招聘信息。求职除了比拼能力,其实也是一场信息战。这里我给大家总结了两个最常用的信息渠道。
(1)公众号及招聘群:IC求职有很多优质公众号,比如大学小霸、艳粉网等,上面更新的招聘信息很及时,汇总的也很详细,基本覆盖了大部分公司。达文网每周二还有笔试题解析。当然,你也可以关注各公司官方招聘公众号,获取第一手信息。
(2)校园大使:校园大使是公司在学校的代言人,他们的工作是帮助公司宣传自己,通过各种方式发布招聘信息,需要经常和HR沟通,多了解HR总是好的。所以,有足够时间和精力的同学可以考虑成为目标公司的校园大使,可以比别人获得更多的信息,也有机会推荐给别人。
面试经历
接下来主要讲一下秋招的重头戏——面试。
在此之前,我想提醒大家两点:
第一,投简历要早、要勤,基本上看到招聘信息就马上投,不要拖延,今年的情况是,早投简历已经满了,晚投的就没机会了。
第二,需要认真对待考核和笔试,这些环节很可能会挂科,海康威视非常重视考核,如果挂科了就很麻烦,还可能影响最后的评分。大家可以总结一下出题规律,一般来说只要认真对待,就不会出什么大问题。完成前面几个环节后,就进入面试阶段了。下面说说面试感受吧。
今年的面试经历
今年我面试了大概20家公司,基本完成了面试流程(也有两三家公司第一轮和第二轮面试失败)。总结起来,印象最深的几点是:
(1)深入挖掘项目:相比去年,今年公司对项目的要求普遍更高。面试官想知道这个项目是不是你亲自做的,所以会深入挖掘。就像我们前面提到的,你必须透彻理解项目涉及的所有要点,这样才能应对面试中遇到的各种问题。
经常被问到的一些问题有:验证平台是怎么搭建的,各个组件是怎么连接的,每个刺激是怎么发送的,参考模型是怎么写的,数据对比是怎么触发的,对比的粒度是怎样的,覆盖率的收集是怎么做的。这些问题看上去不难,但是面试官会立刻抓住你回答中的不完善之处,从某个点开始问问题,不断深入挖掘一些细节,最后挖到最底层。如果这个过程中有比较大的漏洞,面试官可能会认为这个项目不是你做的,所以你一定对这个项目非常熟悉!
(2)基础知识考核不再只是问套路题:基础知识考核一直是面试的必考环节,随着近两年大家水平的不断提升,很多面试已经不再是靠死记硬背套路题来应付了,下面是我今年遇到的几道题,供大家参考。
a.如何修改变量?
这道题其实包含了两个知识点,第一个是机制,通过get获取路径的时候可以看到,所以第二个点其实就是设置。
b.如何接受不同模块的数据?有哪些方法?
我当时有两个答案,第一是在 中声明两个 imp 端口和两个 write 方法,用 UVM 宏定义的方法给 `l_() 添加不同的后缀来表示不同的 imp 端口,根据后缀定义两个新的 imp 类,再用后缀定义两个不同的 write 函数;第二是使用 FIFO 进行通信,在 agent 和 之间加一个 o。
c. 除了以上三种之外,SV 还有其他线程同步方法吗?
Event、、应该是我们最熟悉的三个了。当问到除了这些之外的方法时,我有点迷茫了。想了想,最终答案是控制等待其他线程结束。也可以用一个全局变量来计数线程,来等待多个线程。
除了上面说的这些,面试官还可能会给你一个场景让你去分析,比如握手机制(req,ack)中如何考虑边界值,如何实现不同优先级的发送等。这些都是为了考察你对知识点的理解,所以我们在日常生活中要多去思考,不要只局限于死记硬背。
(3)注重综合能力:虽然我所在部门面试的大多是验证岗位,但很多面试官都会问IC设计、IC后端,甚至软件方面的问题,有时候还会要求你手写C语言或者脚本代码,总之,了解的越多,综合能力越强越好。
对明年参加面试的学生的建议
公司选择
我相信经过前面几步的努力,同学们一定会拿到不少的offer的!然后挑选这些公司的offer就是最后一步了。
我给大家的建议是,先挑选几家自己想去的公司,然后咨询已经在那儿工作的前辈,因为他们对行业的理解肯定比我们深刻。对于你特别感兴趣的公司,你可以通过脉脉APP联系内部员工,了解你关心的事情。
在两三家候选公司之间做最终决定的时候,你有时会很迷茫,很多时候高薪、大平台、好方向、离家近是无法同时兼得的,你需要想清楚自己最看重什么,追求什么样的生活。我的建议是做一个表格,把你所有在意的点都列出来,然后赋予不同的权重,比如你更在意钱和距离,就赋予它更高的权重。综合考虑了所有因素后,Excel会告诉你该做出怎样的选择(这是我师姐教我的方法,答案瞬间就出来了)。
另外说一下今年给我印象比较深刻的几家公司,供大家参考:
新东:最人性化,不会逼你签字,而且发offer后给你一个月时间考虑(多数公司只给你两三天时间);
蔚来、星辰半导体、地平线:面试难度最高,这些公司每轮面试时间都在一个多小时,题目很系统,从数字电子基础开始,设计、验证都要掌握,而且对项目要求很深。
小米:手写代码最多,需要实现斐波那契数列,还要写SV断言,C语言冒泡排序,脚本。
:流程是最快的,HR面试完当天下午就变成offer了,不过听说正式批次也开始泡池了。
最后我想说,没有一家公司是绝对完美的,你做出选择之后,一定要相信你的选择是最好的,人生的路还很长,只有坚持努力,才能走得更远!
感谢给我这个机会,以上就是我的分享了,里面有很多很有价值的信息,希望对大家有帮助,如果有不妥的地方,还请指正,祝大家都能拿到自己想要的offer,前途一片光明!!!
如果还有其他问题或者需要资料也可以直接来知乎找我,有时间我会回复的^_^