模拟混合验证官 | 谈模拟混合信号设计验证?先从这个职位说起吧!
大家纷纷觉得金融最挣钱,互联网码农薪水高,IC设计已死…在这种舆论浪潮里面,我今天就要扒一扒IC,而且扒的是IC中的模拟IC,还是模拟 IC里面的验证(dv-design verification),当然为了显得高大上一些,我也把mix signal给拉了进来,我这也是做好了那个什么不怕开水烫的准备。
先上概念,什么是模拟/混合信号设计验证(analog/mix-signaldesign verification)?说的高大上点,就是在项目最开始阶段工程师就对spec负责,利用top-down的思路,建立模型,建立 testbench,尽可能的实现各种check自动化,来对芯片进行验证的一个工种。用人话解释,很多人能一耳朵听进去的,就是一个跑仿真的。有人会问,那和目前的analog/mix signal design有啥差别呢?
第一,目前很多analog都是bottom up的设计思路,dv呢,是top down,是对系统和应用负责的,里面可以是一个黑盒子,可以是自己预先建立的模型(听起来类似于test 哈?也对,test是拿到具体芯片来测试的,dv是流片之前来测试的);
第二,覆盖全/自动化,尽量将checker写的完善,尽量将test bench建立全面,然后打包起来,自动化起来,使得在大规模的pvt(工艺电压温度)变化的时候,能快速准确的拿到结果;使得在design在 update design的时候,能够快速准确的拿到结果。
什么自动化?工具不是天天在帮助人自动化么?Cadence的AE不是经常来support么?是啊,但是你老板乐意经常让Cadence看我们的database么?你自己乐意有个啥问题还得变着花样打包一下,再送出去给Cadence么?(哎呀呀,我真的没有收Cadence的广告费哈,我没有收任何一家EDA的广告费,我只是觉得它确实是用的多啊~~)如果不太乐意,就找dv哈。虽然兵乓球员中打羽毛球最好的,羽毛球员中打乒乓球最好的,这句话不好听,可是dv目前就是类似于这种工作,懂design但是不需要有design那么多,懂code懂工具但是没有EDA那么多,没事,交叉型人才嘛,才能更好的发挥作用。不管你是否听明白了,反正就是解释到这里了。
好了,马上有人提问了,看着这和design差别不是那么大哈,而且有技术含量么?回答:是啊,目前差别不大,但是这是以后分工越来越细的趋势。有技术含量么,我问layout 有技术含量不,test有技术含量不?你认为有的话,这个也有。你要是认为没有,也可以认为这个没有把。(我就是一个应试教育出身的人,可是我越发喜欢发 散性/自由性答案,呵呵…)
一个公司设立这个职位到底有没有必要?让我们先回顾一下历史:
先说有跨时代意义的事情吧,虽然和IC看着关联不大,但是这是全世界的福音:福特汽车流水生产线的发明。一开始的时候,福特汽车的生产效率极低, 后来进行了历史性的创新和改革--1913年发展了流水线,生产效率一下子提高很多。当时也遭到很多人的反对:有经验的人反对,因为这体现不出来他们经验的重要性了;没有经验的人也反对,因为他们觉得失去了机会,最重要的是生产线把人当成螺丝钉一样,一下子减少了很多发挥人类主动性的地方。事情后来怎么样呢?金钱虽然是万恶了,但是也绝对是驱动人类生产力提高的好东西:1914年给工人大规模增长工资,好了,o了,这就堵住了所有人的嘴巴。后来也一直沿用这种方式,所以现在汽车才可以大范围普及,走进千家万户,不再是有钱人显摆的物件儿。
拽回来,咱们再来看看高大上的计算机行业。以前计算机卖整机,后来变成了用户可以按照自己喜好组装各个零件(当然这也催生了中关村一些老手们高价骗人的事情);灵 活性提高了,但是还是不能满足一些人或一些应用场合的要求。现在活跃在国内好多厂商做不同芯片的整体方案,例如通信芯片,Audio,电源芯片等等,客户根据自己需要买点零件就能组装成小孩玩具,穿戴手环等(作为娃妈的我,花了158块大洋,买了一个火火兔,其实就是一个mp3,我感觉那火火兔真是暴利啊)。 那么芯片内部呢?以前一些IP/协议要自己开发代码,自己搭建模块,现在可以去Synopsys和Cadence 以及一些小企业(例如望京就开了一家,好吧,我承认这是我刚刚好撞上从而知道的公司)去买IP。为啥?快啊,省成本啊,术业有专攻,这就是类似于把不同的人定义在流水线的不同位置。以前数字设计,后来数字有了digital dv。以前模拟设计,现在一些公司有了模拟dv,混合信号呢?更需要dv。
自打我开始工作,就听到过黑人老外说他经常看到各个小的sub system工作的挺好的,结果流片回来,大的top动都不动。 很多公司说,啊?再养这样子一个人,公司没有预算……芯片流片回来,debug的时间和人力不是成本?再一次流片不是时间和成本?能够在流片前找dv专员测 试下看看有没有bug,不是件好事?好了,有些人说想让芯片没有bug很难,尤其是model不准确的模拟和射频。那也行,加了dv,至少能缩短研发周期,为什么呢?项目拿到spec之后,design的TB bottom up走,dv的TB top down走,底层设计好了,直接套top dv的TB,两者结合,并行工作,肯定比串行要快的。
还有一种情况,就是培养一个优秀的模拟工程师,需要很长时间,那么对于一些不太顶尖的模拟工程师,如果有dv专门给他的设计做check,也可以减少他们的不自信,和top应用时候的可信度。当然,dv工程师也需要培养,他们也可能会报出来的bug其实是TB搭的有问题,他们也可能需要在电路和coding的路上不断锤炼;但是感觉上门槛没有单纯的模拟工程师那么高。另外,还有一些工程师,确实非常牛,但是如果一个超大的项目接到手里,还是有时候会觉得有压力的,top架构,下面模块,外围应用环境和寄生,等等。如果这个时候,有专门一个dv的职位,就对spec负责,那么design lead的压力也会减小一些;模拟电路的规模也可以做的或许再大一些,就像数字越来越复杂。总之,思路缕顺了,长期投入产出比是可以看出来的。
好了,各位老板们是不是觉得心思动了、觉得也行哈?不动也没事,资本家永远追逐的是利益最大化嘛,好来设置这个岗位。哇塞,怎么很难招到人呢? 好的,让我来好人做到底。下面让我来说服像我一样的从设计转DV的小兵。
以前有layout职位么?我觉得最最最早模拟的时候,肯定design把layout的活给做了好吧,我研究生在实验室的时候,就是自己画的layout,为了赶流片,还搞了通宵,但是现在呢?几乎每个公司,都设置了专门的layout职位,曾有一段layout缺人,开的薪水比 design还高。为啥呢?因为人家专业画layout的人,手被训练的画的特别快了,熟能生巧绝对是管用的;而且他们干的多了知道哪些地方需要注意,有过什么陷阱,自然而然的绕过去之后,经验就十足了,layout也大牛辈出。
大家能接受layout,能接受test职位,为何设置一个design verification职位显得目前难以接受呢?数字后端很多时候就是在用工具,模拟layout现在component本身就集成很多,画起来轻松很多了。可能这就是一种情怀问题,抑或是新鲜事物出现总是需要一段接收和消化的过程。不少人觉得总是design是最最好的职位;曾经听说过有招聘layout,给的"大饼"就是以后有机会可以转design;而事情接下来发展的话,是确实有了机会可以转design,也转了design,但是其转折难度和跨度,已经不是一个三四十岁了,生活在北上广大城市,还的考虑一家老小的人所能够跨越的鸿沟了,最后也不了了之了。很简答:在layout职位积累了好多经验,也不少公司能够开出来足够吸引人的薪水,何苦要从design的小兵当起来呢?情怀的东西,可能是以前年代的"学好数理化,走遍天下都不怕",以至于一些学习不好数理化、走了文科路线的人,可能内心有一股隐隐约约的自卑,但是谁又能证明这句话是对的呢?那种学习好了语言,跑着全球谈生意,顾着一群数理化很好的人在呵呵笑;那些沟通能力强,得维护客户关系,很会销售技能的人也在呵呵笑。所以情怀和接受程度,可能某些时候代表了当下的观点,但是未来这种观点有多大的正确性还有待考究。