您好,欢迎访问叩持(西安)电子信息技术有限公司

029-81122100

全国咨询热线(9:00——18:00)

您现在所在位置:主页 > 资讯中心 >

数字IC设计or数字验证,选哪个好?

更新时间:2021-03-31

  一、从研究方向的角度来谈
 
  首先一切脱离研究方向谈论岗位本身都属于耍流氓(这里只讨论数字逻辑为主体的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。
 
  设计主要精通于时序和链路管理的实现,这方面在公司内部是具有不可代替性的,验证主要确保链路的正确性和与上游模块的交互性,如果要扎根高速总线,那么做设计和验证并没有太大区别。
 
IC设计培训
 
  二、从职业前景的角度
 
  要说天花板(记住,是天花板),那肯定是设计高。
 
  第一,设计能出架构师和项目经理的概率比验证要大很多(从比例上来说),虽然我也见过做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也未尝不可。