本科毕业直接入行IC,投FPGA岗,阴差阳错入行DV验证岗。
此后的一年多时间,从RTL的功能验证,性能验证(pv),后仿验证,到Tapeout后的硅后调试(support ATE测试)都有参与。
其中和design team,dft team,fpga team,firmware team都有交互,support soc dv(提供对应模块的初始化激励),算是经历了一次完整的16nm芯片的项目周期。
一、从研究方向的角度来谈
首先一切脱离研究方向谈论岗位本身都属于耍流氓(这里只讨论数字逻辑为主体的ASIC,模拟或者混合电路暂不讨论)。
1、soc方向
单纯的soc互联,这种情况下只要flow完备,验证和设计都不会特别难做,验证的要求略高,主要是各种应用场景的构建,当然场景也不需要太复杂,复杂场景在IP层面都已经全部cover了。
此外,验证需要给fireware team提供初始化激励,主要的瓶颈在于server的速度(case跑不完...)。
2、数据通路方向
为了提高片上多核系统的传输效率,现在会有各种noc(即network on chip,有些公司也将其称为fabric),借鉴了大量计算机网络互联的思想。
不过大多数公司都是购买的arm套件(第三方IP),对于设计本身的要求并不是很高,但对于验证而言基本的功能点都需要cover,这种情况下做验证可以对整个系统性能有一个整体了解。
如果是自研的noc,那强烈推荐做设计,里面还会涉及到许多一致性的内容,非常有意思。
3、low power方向
现在大部分公司都不会引入UPF功耗仿真,dv更多的只是在功能层面验证,所以如果是low power,设计更好,而且现在low power专家非常抢手,钱途不可限量(消费级芯片中,power 尤为重要)。
4、算法方向
一般都是硬件加速,设计和验证都不推荐,下一题。
5、cpu方向
如果是cpu core(不管是arm 还是risc-v还是x86)的话,还是做design吧,这方向的dv真的是一言难尽了......
6、gpu方向
这个方向的验证只推荐性能验证和指令调度的模块,这是个专业领域了,只会一两个模块是没太多意义的,总体上来说还是推荐设计......
7、各种总线
具体问题具体分析,总得来说这个方向设计和验证各有千秋,当然pcie和ddr的phy(最复杂的那部分了,涉及到了许多analog的内容)大部分公司也都是购买第三方IP。
设计主要精通于时序和链路管理的实现,这方面在公司内部是具有不可代替性的,验证主要确保链路的正确性和与上游模块的交互性,如果要扎根高速总线,那么做设计和验证并没有太大区别。
二、从职业前景的角度
要说天花板(记住,是天花板),那肯定是设计高。
第一,设计能出架构师和项目经理的概率比验证要大很多(从比例上来说),虽然我也见过做pv出身的arch,但真心不多。
第二,虽然验证也会关心设计,但我们更关心的是功能点和性能,设计的同事除了function和performance 以外,还要关心,面积,功耗,时序路径,温度反转,等等等等,这些东西都是可以换成钱的,而dv做的那些在别人看来更多的是本职工作,验到了大老板会认为是应该的,验不到很容易就成了背锅侠。
第三,在大外企中(比如AMD),能做到senior MTS的,设计和验证平分秋色,然后到principal MTS的,大概率都是设计出身,验证出身的同事比例就少的可怜了。
我见过几个已经具备arch能力的dv前辈,奈何就是缺少这样的一个机会。同样的de有能做到p9 p10的,然而同档位的dv最多只能到p8。
但是,同学,我说的这些都是天花板。
我们大部分从业者,这辈子连dv的天花板都很难够到,所以说的意义只是理想态的职业规划。
反正,我目前没有想过要当arch,要当principal MTS,也没有想过要当project manager。
大部分纠结天花板的同学,大概率连验证的天花板都摸不到,就不要去纠结设计的天花板了。
而且,如果教育背景不好看的话,是进不了好的设计公司做设计的,也就是说设计的入门门槛天然高于验证(A类公司做de的门槛明显高于dv, 但是薪资的差别非常小,去A类以下设计公司的当我什么都没说),然而验证目前尚有进入名企业的窗口期,我们在考虑天花板的同时,也得考虑一下现实中的性价比和可实现性。
同时,验证相比设计更关心上层的数据流动,意味着dv更容易培养系统视角,啥意思?意味着你不会被具体的模块被绑定死(de这方面比我们严重一些)。
你做了五年pcie设计,大概率以后一辈子都是做pcie的了,但是作为dv而言,情况稍微好点(我承认,dv对于模块的绑定性是高于dft和pd的),只要做过了一种分层协议(pCIe Ethernet mipi),就能触类旁通。
因为我们并不关心时序细节,debug底层时序本就不是我们的活,可以更快速的切入周围模块的学习,可以在更短的时间内做到对系统结构的认识,这难道不是进步吗?
我毕业两年多的时间,做了ddr验证(controller那一部分并非全部),risc-v cpu验证,soc验证,之前开启了×86 cpu的学习和data fabric的验证,现在转行到de上。
至少对于绝大部分的从业者来说,从事de或者dv并不会对生活质量造成本质性的差距。
但如果对于想要入行的同学来说,验证(或者后端)都是比设计更好的选择,真的对设计有执念的话,之后工作几年再转de也未尝不可。
没有实际上手,其实还是会摸不准自己更适合设计还是验证,但现在IC修真院的全流程项目课程,涵盖了设计、验证、后端等岗位知识。现在还有超大力度的双十一活动!欢迎需要的同学扫码了解