最近看好多人在纠结做FPGA开发和是IC开发,个人根据了解总结了一下FPGA开发和IC开发在工作上的相同点和不同点:
1、相同点:
1)都要编写代码开发设计说明;
2)使用verilog(现在VHDL应该很少了)进行代码开发;
3)使用使用verilog/systemverilog仿真(对于开发来说用verilog仿真基本上就够了);
2、差异点:
1)FPGA开发对仿真验证的要求不是非常高(因为版本重做成本低),FPGA可能没有专门的仿真团队;而IC开发对仿真的要求较高(因为IC重新流片成本大),但是IC开发会有专门的仿真验证团队;
2)FPGA开发需要掌握各自厂家的开发工具,一般还需要负责版本维护;IC开发一般只负责开发就好,最多后期辅助进行芯片测试;
3)IC开发要充分考虑设计的灵活性和代码的维测需求;FPGA故障可以在线定位:如在线采数等,对维测和代码灵活性要求不很高。
FPGA开发和IC开发之间的相互转岗是相对容易的。
我们就从薪资待遇/需求、发展前景上讲一下FPGA开发和IC开发如何选:
首先在薪资待遇上,四年前IC开发还不是很火的时候FPGA开发的待遇是略高于IC开发的,但是近两年IC开发的薪资普遍略高于FPGA;
薪资待遇的变化肯定和需求的变化相关。近几年像图像处理行业、通信行业的FPGA的发展速度已经逐步跟不上行业本身的发展速率,有一部分大公司上量的产品都在转IC,所以大公司的IC需求在提高,FPGA需求在降低。同时近几年半导体国产化带动的国产CPU、GPU、ADDA等企业如雨后春笋般涌现也带来了大量的IC需求。
发展前景来看,职业发展初期:FPGA开发和IC开发没有太大的区别,都是接需求写代码自测,提交。中期:FPGA和IC开发能够根据各自器件的特性开发出优秀的代码,承接部分的设计方案。后期:FPGA构架师、IC构架师,都开始逐渐脱离代码开发的阶段,转到方案、构架上,应该就不算开发了。
总的来说,FPGA开发和IC开发就开发本身差别不是很大,相互转岗还是不难的,但是对IC独有的需求,如GPU、CPU开发项目一般对FPGA的需求不大,转岗可能不太容易。但是从薪资和需求上看,当前选IC开发工资跟高一点。