目前整个 IC行业发展的非常迅速,但是最近网上也出现了一些唱衰的声音,认为IC行业已经开始内卷了。
那是不是内卷呢?这就要看市场的供求关系。
据我所知,不管是大企业还是小企业,都投入大量的人力物力去招聘,一边招聘门槛越来越低,原来只招聘985/211这样的学生,现在普通高校的也招,原来只招硕士,现在本科也可以,门槛越降越低,同时薪酬越涨越高,即使这样依旧招不够人。在这种供不应求的情况下,很难说是内卷。
另一方面企业不是慈善机构,作为工程师解决问题的能力,公司交给我的任务是不是能按时按量的完成,工程师之间的竞争肯定是存在的。
所以在这种情况下,与其为整个行业做“杞人忧天”,不如想想如何在这个风口让自己飞的更高?
那么,怎么成为一个合格的IC前端设计工程师?
前端设计工作就是从spec文档开始,把它设计成RTL代码(把spec文档开设计成RTL代码),也就是Verilog或者VHDL代码,包括编写代码、仿真、功能验证、网表综合 、时序约束,这是前端设计的工作。
日常工作看起来像程序员,就是对着屏幕敲代码,跟软件工程师差不多,跟软件工程师不同的是,代码背后对应的是电路。所以我们写代码时脑子里应该想的是代码后面会变成什么样的电路,而后端设计就是具体把RTL代码变成电路版图的工作。(要明白代码背后的电路)
IC前端设计工程师一般需要掌握哪些技能?
第一个需要会读文档
要能看懂spec文档,才能知道设计要求是什么,要看懂EDA工具文档才会使用各种EDA工具,要看懂IP文档,才知道把怎样把IP放进自己的芯片。
前端设计工程师近一半时间都在读各种文档。大量的文档是英文写的,英语不好就寸步难行。另外要有一定技术背景支持,比如说计算机工作原理,数字、模拟电路。要不然它还是一堆英文字母,还是不明白它在说什么。
第二个需要会用Linux操作系统
芯片设计大多是在Linux环境里开发的,很少使用Windows。要熟悉怎么编辑、如何管理存储代码文件,如何调用EDA工具,如何编写脚本,如何用脚本去自动处理复杂一些的工作。
第三个是要会读会写RTL代码
现在用最多的就是Verilog。你得能看的懂这段Verilog描述的硬件行为是什么,对应的电路是什么,这是我们芯片设计工程师和软件程序员最大的区别,最后是要落实到电路上来。
这三方面的能力是前端设计工程师最重要的能力。
IC前端设计一般都会使用到哪些EDA工具?
EDA工具有很多,前端设计用的不是最多的,可是也不少。
刚才咱们谈到了Linux下如何编译代码 ,大家常用的Gvim,Emacs;
有很多代码大家都在写,要进行版本管理,版本管理的工具Clearcase,Git;
写完了代码要进行仿真, 仿真EDA工具,常用的有VCS,Questasim;
完了还要完善功能验证 会用到UVM,PropCheck;
验证完了得变成电路,进行综合, 综合工具,比如DesignCompiler,如果是做FPGA 也会用Synplify ;
在综合的时候你还要给它加上时序约束,时序检查工具Primetime等等;这些是前端设计主要的工具,当然还有各种各样五花八门新出的工具。
薪资待遇,发展前景?
芯片设计工程师的工资在一直是比较高的,这是因为供不应求的局面决定的。
这种情况在今年的就业市场上尤为明显,工资越涨越高、越涨越快。
年初以为25W+已经算SP了,到了年中30W遍地跑,再到秋招40W都是白菜价,大半年里的薪资涨幅,赶得上某些行业五到十年了。
芯片设计职业道路很长,工资很高,同时这条路也很宽,有些工程师比较擅长与人交流,做着做着变成了管理团队的,设计团队的经理,而另外一些,擅长事物管理,做着坐着成了项目经理,还有一些工程师热衷于技术,在某个技术领域做到了行业里、甚是是世界上这个领域的技术大牛,所以发展的路很宽。
IC前端设计工程师最核心的竞争力是什么?
肯定是学习能力,不只是入门就足够了,更不是守着自己那部分工作内容就行,不想当架构师的前端设计不是好的IC工程师。
况且产品在不断更迭,我们看看去年的电子产品和今年的电子产品差异就很大,每年都会推出许多新的技术,我们作为设计工程师,每天都会面对新的技术、新的工具、新的方法,要不停的学习,不学习就会落后。所以学习能力是我们芯片设计工程师最重要的能力。
关于求职面试的分享
面试是一个双向选择,一方面企业在挑选适合自己的目标,另一方面个人也在挑选适合自己发展的企业。
同学们要清楚面试官他喜欢什么样的选手,他喜欢这个选手头脑很清晰,知道自己想要什么、知道自己要往哪里去,因为这样的人更容易培养,大家只需要寻找共同的部分,这样就能实现他个人发展。
令人遗憾的场面是什么呢?就是他不知道想要什么,前辈给他安排什么他就干什么,团队和个人都付出了很大的努力,而后个人突然发现这不是他想要的,这样大家的付出就白费了。
所以更重要的是要知道自己的目标和方向,比如说我今年20多岁,我的人生的顶峰40多岁,我希望自己要成为什么样的人,我希望自己的职业生涯发展到什么地步。
有了这个目标,在发展过程中,比较容易看到自己一步一步的靠近这个目标,这也能够成为发展的动力,每一次都有进步,成就感来驱动我们进步。
对于想要进入IC行业同学们的建议?
我建议同学,首先是在兴趣、爱好的驱动之下,系统的、循序渐进的去学习。
因为芯片设计技术点非常的多,汪洋大海,要不停的学习,而不停的学习如果没有兴趣爱好在背后驱动是很难做到的,刚学会又要学新的,这很难的,没有兴趣爱好你是很难坚持下去的,另外一方面要有一统全局的概念,当我在学习这一点的时候,我很清楚这一步在整个流程中处于什么位置,我为什么要做这个。了解了这些之后,在学它的时候效率才高。
同时我建议大家尽量去参加实习,实习是加分项,没有实习的也要主动寻找项目,同时也要多参加比赛,如果没有这样的机会也可以参加培训,积累和学习经验,这些经验对自己的成长是很有好处的。