搜索

芯片验证工作两年的总结

发表时间:2023-07-26 14:37

总述

步入IC验证岗位马上就要整整两年了,如果算上学习时间,也有两年半了(小黑子了属于是,嘿嘿)。从初入职的惶恐,到正式开始负责模块的艰难,再到熟悉环境与模块之后的得心应手,现在算是到了瓶颈期了。

虽然一直在扩展自己知识与技能能的广度与深度,但还是内心揣揣不安。因为我的认知中,SV/UVM/C/西加加/perl/python/makefile/vcs/verdi皆是术尔,ICer的核心竞争力是对于算法/协议的理解与掌握(CPU/GPU/NPU/DDR/PCIE/USB/Ethernet等等才是ICer的安身立命之依仗)。之前虽然发过一篇关于ddr的文章,不过不要误会,我现在的主业是ISP方向验证(掩面而逃,笑死)。这几天本来想写一下jpeg的验证小结,不过转念一想CSDN上的jpeg好文章挺多,就决定不献丑了。后面计划写一写SRIO的验证总结,防止遗忘。

这两年的学习提升并没有达到预期。工作第一年空闲时间少而且拿去做别的事情了(钱);工作第二年孩子出生了,空闲时间主要就是哄娃。哲库刚刚解散那会儿,早上要是六点多醒来就去学习,现在是醒了之后继续睡(哲库才解散俩月啊,你要勤快点)。

下一整年的目标是,重学一下数字电路/Verilog/计算机组成与设计,继续巩固并熟悉C++/perl/python/makefile/vcs/verdi,主要目标是熟悉一门大IP,拔高目标是入门ARM的架构。SV/UVM是自入职以来一直在看,自吹自擂一下也算是熟练掌握了。zebu与palladium只是闻其大名,估计未来几年也接触不到。听说RISC-V被追捧,不过也就是仰望仰望。列了一大堆东西,真是好高骛远了。总觉得自己的规划有问题,不晓得大佬们的成长路径是怎样的。不过做点什么总比什么不做强,增加知识与技能总归是没坏处。

问题与反思

这也想学那也想学,这个技能想掌握那个技能也想掌握,算是贪多嚼不烂的典型了。挖井的小故事老早就知道了,还嘲笑了一番并暗自警戒,没想到自己竟成了挖井人。到处挖坑,东学一点,西学一点,就跟黑瞎子掰棒子似的,边学边玩,学艺不精。

号称是学了makefile与vcs,其实也就是能看懂makefile而已,给uart之类的简单模块写个脚本就是极限了,真正的项目是写不出来的。学习perl也没甚动力,一是学完了在本司也没啥用处(脚本齐全,不需要我写),二是觉得不如学python。学python倒是煞有其事,python装了、pycharm也装了、v搜思丢丢也装了,不过水平也不咋滴,因为本司不用python。看看吧,不好好学还理由一大堆,this is me,nobody。

Verdi因为天天在用倒是还可以,回想当初一层一层往下找自己的模块、傻不啦叽的手动输入寻找信号,真是笨拙,现在都是“shift+s”一键到达目标模块,“/”一键搜索信号。

C++学的比较认真,我发现学习C++时,SV水平也提高了,SV不甚清晰的地方也慢慢懂了,算是意外之喜了。学习C++的主要目的时看懂cmodel,最终目标是自己能写一个简单的cmodel,不知道C++学到什么程度才够用,像多线程与异常处理估计cmodel用不上吧。

数电与Verilog水平一般,我认为这俩对于验证来说不可或缺,但是花费大量时间投入不值得。我认为验证还是要更多的向"软方向"以及协议算法投入时间。

SV/UVM是最拿手的了,累的时候、感到暴躁的时候、不知道干啥的时候就会翻翻白皮书与绿皮书放松放松。掌握比较差的地方是dpi与ral,因为dpi老早就集成到环境里了压根不用我写。而ral也是写好的,就是测试reg读写时的时候用一下,平时寄存器配置不用ral,另有写法。

曾经面试过算能,莫名其妙简历过了(压根就不符合人家的要求好吧)。问我懂不懂ARM架构,我说不会,然后就尬聊了几分钟结束,现在回想都非常尴尬(我一faber,哪里会懂这个)。这件事情快成为心魔了都,这个ARM必须拿下,一年不行就十年,十年不行等退休了也得拿下,必须得念头通达(李化元来咯)。写着写着就开始豪气冲天热血沸腾了,镇定镇定。搁这儿盲人摸象式儿的学习也不知道有啥用,不过准备准备总没错,指不定cpu就交给我了(此刻想到空想社会主义三大空想家,欧文、圣西门)。就算ARM是一座大山,每天爬一点点,总归会有爬上去的时候吧。

念头通达第一步,去csdn上先搜点资料看看,喔嚯,两眼一抹黑,啥也看不懂。什么指令集、什么汇编、什么嵌入式、什么异常等级、什么armv8/v9、Acorn???这个ARM内容好多,这是不周山吧。既然验证工程师也需要懂ARM,于是就去某华集成电路学院网站找到了一张本科课表。模电、信号与系统、数字信号处理、MEMS,验证貌似用不上或者暂时用不上;半导体物理、微电子工艺咱本来就懂;数电、Verilog也够用;就差计算机原理与设计了。学习了一下五级流水的MIPS处理器,明白什么叫做取址译码执行访存回写、Hazard,forward后,顿感处理器之博大精深。然后再去CSDN看ARM的文章,感觉稍微好了一点。借用屈原一句话“路漫漫其修远兮,吾将上下而求索”,慢慢学吧。

misc

先谈谈为什么从faber变成dv。fab的苦知乎上算是老生常谈了, 这些fab的共同的苦,基本都经历过,就不细说了。单独讲讲导火索。一次在fab里路过dry设备时感觉到有非常非常淡的味道,当时没在意。出来之后感觉嗓子不舒服,清清嗓子发现带有少量血丝。遂回忆过去,发现此种嗓子不舒服现象不止一次,只是过一阵子就好了,没在意。后来又几次专门路过dry设备,果然复现了。这还得了?然后就立即谋划跑路了。其实这种现象算是个例吧,问别的同事没这样的。

关于如何转到dv,如何学?不讳言,就是报的培训班。报培训班的目的就是为了给学习一个加速度。自学的话理论上是可以的,不过并不想把时间浪费在不必要的事情上。花个报名费的钱(当时是不眨眼就转过去了,现在回想起来感觉学费好贵),仿真环境、lab、老师上课、答疑、同学交流,无疑能省却好多功夫。而且课程进度犹如海啸般,裹挟着你前进,让你不得不全力以赴。周末出门坐个公交都必须带着绿皮书/白皮书,因为不勤快点真的跟不上。

培训班出来的到底行不行?说个数字你就明白了。培训班里中途放弃的人占80~95%(几期学员的数据,后面咋样不知道),我那一期学员每次课都可能会少一两个。我前面几期在校生居多,中途放弃的人更多了。(不晓得会不会影响培训班招生,嘿嘿) 最缺人的时候,学个半吊子就可以混入企业,公司自然就觉得培训班出来的就是垃圾。理论课程+lab+项目实训 差不多要8个月时间往上了。完成理论课程+lab之后,至少不会被编译问题难倒了,写makefile也许费劲,但是小改/大改环境是没什么问题了。

虽然哲库解散慌了一阵,但是关于行业未来,是看好的。简单说一说对未来的看法。先谈一谈未来的几个趋势,首先是人口老龄化的趋势,其次是教育水平提高的趋势,最后是新能源车与智能家居的趋势。老龄化带来的养老、医疗、劳动力短缺,教育水平的提高促使人们逐渐厌恶重复与体力劳动,新能源车更是吃芯片大户,智能家居虽然不甚高端但架不住量多。以上种种提及的以及未提及的皆是巨大无比的市场。期待未来的家用机器人与智能行驶的出现。

关于个人发展规划,希望领导能给分配一些高难度的模块。一般难度的模块,搞来搞去就挺无聊的,ISP的算法倒是比较难(算法由算法组负责,DV硬啃没性价比),而且不感兴趣。大家都有各自负责模块,人员不出现变动的情况下估计挺难出现无主模块的。最有可行性的方案是研究同事负责的模块,看看环境、run一下case、看看波形,发表的关于ddr的文章也算是成果之一吧。下一个整年的受害者IP还没想好,可能是PCIE/USB/Ethernet中的一个吧。CPU/GPU/NPU这些个主观感觉比较难,只能往后稍稍了。

作者:X先生的无聊人生
链接:https://zhuanlan.zhihu.com/p/644343194

声明:所有文件均来源于网络,如有侵权请联系客服删除,谢谢!
Contact Us
联系我们

联系电话:17788028798 联系地址:西安市碑林区文艺路街道友谊东路81号天伦盛世2栋2509室

扫扫码添加微信
姓名
*
手机
*
提交
关注公众号
首页            热门课程              实战课程             文章问答              
▇▇▇▇▇