两个都做过,最近刚刚从dv转至de,说一下看法吧。
首先一切脱离研究方向谈论岗位本身都属于耍流氓(这里只讨论数字逻辑为主体的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。设计主要精通于时序和链路管理的实现,这方面在公司内部是具有不可代替性的,验证主要确保链路的正确性和与上游模块的交互性,如果要扎根高速总线,那么做设计和验证并没有太大区别。
国内目前对于验证重要性的认识仅仅停留在第一个层级,即只认识到了验证质量对于保证tapeout成功的重要性,然而验证现在主要的问题是从业者的水平层次不齐(因为需求巨大,所以降低了门槛),项目管理能力的滞后,对于验证flow和环境的规范化管理远远落后于设计,从长期来看又拉长了未来的项目周期,总之一个恶性循环,导致验证的工作强度远远高于设计,这也是影响dv从业者可持续发展的一个因素。
知乎Asic Engineer
https://www.zhihu.com/question/302613079/answer/1729667475?utm_psn=1772522664328048640
作者:Asic Engineer
来源:数字芯片实验室
推荐阅读
更多数字IC设计技术干货等请关注数字芯片实验室专栏。添加极术小姐姐(微信:aijishu20)微信可申请加入IC设计交流群。