学FPGA的可以投数字IC的岗位吗?

学FPGA的可以投数字IC的岗位吗?

(观前提醒,仅为参考,如有不实,欢迎来喷)

曾经我以为我可以成为一名FPGA工程师,后来却阴差阳错成为了一名ASIC设计工程师,当时的我,不熟练Linux基本命令,没用过DC、NC、Verdi等,却趁着某某事件后的IC就业潮进入了IC行业。当时IC行业着实是火了一把,就连我们村头乘凉的大妈,都问我这芯片为啥怎么难做,咱们国家怎么就造不出来。

那么做FPGA的可以转行投数字IC的岗位吗?其实FPGA工程师做ASIC前端设计,都谈不上转行,因为只是工具使用的不同了而已。

岗位对比

据我了解,涉及FPGA逻辑开发和ASIC相关的岗位主要有下面几个,

FPGA相关岗位主要有

  • FPGA算法工程师
  • 逻辑开发工程师
  • FPGA验证工程师

ASIC相关岗位

  • ASIC算法工程师
  • 数字前端工程师
  • IC验证工程师

img

据说牛逼的FPGA工程师都是全栈开发工程师,做ASIC想把整个流程跑下来,基本不可能。

不过,做ASIC的可以说是“码上谈兵”,运筹帷帐中,决胜千里外。比如疫情期间,ASIC设计工程师们,挂个VPN就直接可以在家办公,甚至说,如果在可以保证效率的情况下,我觉得我可以一直在家办公。而FPGA工程师需要进行现场调试,需要各种调试仪器和开发板,在家的条件不一定都能满足,而且开发板一般都价格不菲。,,

FPGA算法工程师 VS ASIC算法工程师

算法工程师主要工作职责有:协议学习、文献调研、系统整体框架和接口确定、算法仿真、计算过程定点与数据对比、FPGA验证。算法工程师要求对基础知识的掌握能力,如通信、信号处理、图像相关知识的运用,对于算法RTL实现和FPGA验证这是都需要具备的能力,对于这个岗位,做FPGA或者是ASIC,没有实质上的区别。匹配度高达100%。

逻辑开发工程师 VS 数字前端工程师

数字前端工程师分为做IP的和做集成的,主要技能是RTL的设计,数字电路的基础以及使用处理器IP和总线的能力。这些同样是逻辑开发工程师具备的技能。FPGA厂商工具中有众多自己的IP,提供应用开发速度。ASIC设计中也会用到众多IP,来缩短产品开发周期。

IC设计工具几乎所有工具都在Linux下,Linux的基本操作,各个工具的使用。逻辑工程师的开发工具Windows平台和Linux都有,所以更多只是工具不同而已,逻辑开发工程师可以完全转型为数字前端工程师。

img

FPGA验证工程师 VS IC验证工程师

这两个职位差别还是很大的,FPGA验证工程师也是属于IC行业,主要工作内容是将前端设计好的RTL代码,进行分割成子模块或子系统放在FPGA上进行验证,提高验证速度。进行分割的原因是系统过大,普通的FPGA片子单片装不下。

IC验证工程师主要是基于一套叫UVM的方法学,主要使用语言是SV进行验证测试用例的开发,与RTL的实现进行对比测试,收集覆盖率。前面说到的ASIC工程师可以完全“码上谈兵“就可以把芯片做出来,也归功于验证方法的充分。

所以这一点与做FPGA验证有本质的区别。当然做FPGA验证是进行实际的测试,芯片在流片前会尽量做FPGA验证,因为这是实际的验证效果,验证的越充分,我们送去流片的信心就越足。

现在由于电路的集成度越来越高,IC验证工程师也越加重要,需求也更多,但是IC验证有自己专有的方法学和知识体系,所以要想转成IC验证工程师还是需要系统的进行学习。这两种岗位无法互换。

img

选择FPGA还是IC行业

当然芯片的设计是个庞大而且复杂的工程,上文所说的还都是些皮毛。对于学生而言,在学校利用课余时间将书本上的知识运用到实践中,偶尔参加个竞赛升华下,跟着导师做做项目。其实学到的还是皮毛,达到了入行的标准。在学校能有流片机会的学生并不多,多数情况都是在仿真阶段或者是用FPGA验证验证。

很多非微电子相关专业的学生也都开始玩起了FPGA,准确来说,这类学生应该归到硬件工程师的类别。用FPGA做应用开发,还需要具备的调试开发板、各类测试仪器的使用等能力。用FPGA做应用我们都清楚,是针对于低成本,需求量小,更新快的应用。涉及到大规模的量产,单片的成本还是做成ASIC更划算。

选择FPGA还是IC还是看个人选择,我还挺喜欢玩FPGA,选择IC一是当时这方面很热,二是想去参与设计一款芯片,感觉应该会比较有意思,三是其实IC的公司和岗位还是非常多,甚多于FPGA方向岗位,而数字IC前端,我们玩FPGA的也是完全可以胜任的。所以就大胆匍匐的去干吧。

FPGAer如何面试ICer

实不相瞒,我投简历的时候,没有啥顾虑,直接疯狂海投,看到岗位要求里有Verilog这个字眼,就直接上。然后是笔试关,ASIC前端的题目还是有一定的倾向性,我们平时只玩FPGA,只注重了实现功能性,笔试题这块刚开始可能会吃亏。

提前多找些相关的题目做做练习,现在网络上基本能找到很多ASIC/FPGA的笔面试题,常考的就那么多。

面试环节,基本上都是以简历上的项目(题目)为主,简述自己做过的项目,面试官会根据要点提出一些问题,如果是自己做过的我觉得应该不会被问倒。也有面试官现场出题目,不过基本都是很基础的数电、数集了。总的来说,要实事求是,做一份清晰明了的简历,熟练掌握简历上的内容,面试真诚表现自己就好。

最后

无论是FPGA还是ASIC,能实现个人价值最大化,做自己热爱的事情,就够了。做人么,最重要的是开心。祝大家都能找到自己理想的工作。

注:参考文献

《胡说IC—菜鸟工程师完美进阶》——胡运旺

NingHeChuan wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!