今天是周六,本该休息的日子,冒着深圳的疫情,来到公司加班来了。这次加班是自己自愿的,因为是自己第一次能够参与到芯片点亮的工作中来,值得重视,值得铭记。
芯片刚从工厂流片制造出来,回来的第一步业内的术语叫“BringUp”,即“点亮”,这一步能否顺利进行完,决定了一颗芯片是不是成为了“石头”,是决定一整个团队辛辛苦苦一两年是否有最终成果的一步。“成败在此一举”,所以芯片点亮测试很是有一种紧张和激动感,很多业界的公司,譬如华为海思,点亮芯片的节奏都是按小时记的:几点过了海关,几点到了园区,几点上了测试版,几点几分时钟OK,几点几分BOOT成功,又是什么时间PCIE调通,DDR调通...一般都是做好milestone,甚至立个小黑板,上面画好表格,在每个milestone上画小红旗...真是有一种“争分夺秒”的感觉。
这次流片回片本来时间已经从原本的21号提前到了9号,前两天又说提前到5号,然后昨天本来说中午快递才到,结果今天早上负责人就在群里说,上午9点钟已经到了办公室。每每到了周五都会熬熬夜,昨晚其实一直没有怎么睡好。但是想到参与制作的公司第一款转码芯片今天就要回片调试,还是上午就定好闹钟,坚持爬起来。
芯片点亮是有一个团队的,就叫bringup团队吧,最近深圳疫情严重,整个公司都居家办公了,但是bringup团队跟领导申请了特批,到办公室现场办公,因为设备、仪器、芯片的测试板卡都是在办公室的。自己有幸也是这颗芯片的bringup团队成员中的一个,虽然负责的是比较不重要的小模块,但也还是想尽早参与到bringup的这个过程中来,本来按照排期自己是可以明天再去公司调试的,但是想想自己作为一个工作了很多年的工程师,这竟是自己第一次参与到bringup的工作中来,哪怕就是旁观下,其实也是好的,至少也是一次体验,能带来一种感觉,增长一点点技术上的见识。
自己去到公司时候,芯片已经上了板卡,时钟已经起来了。等自己到了办公室,那些骨干、leader等一众“大佬”早早的就已经来了。自己口罩也没摘,顶着只睡了几个小时的昏昏的脑袋,就凑了过去,也不敢乱动,也不和人乱搭话,就静静的看着我们的单板工程师Z哥在那里摆弄着板卡和示波器等。
后来自己也渐渐的“参与”到其中了:最开始是帮助Z哥开关电源,就是简单地开关下电源上的按钮... 这让自己想到了大厨做饭时“打下手”的传菜员..哈哈。
后来又看了一会,觉得也差不多了,又觉得因为缺觉很困,看了看时间快到中午了,早饭没吃饥肠辘辘,于是就跑去吃饭顺便做了个核酸,回来就睡觉了,直接睡到了下午两点多,这时候迷迷糊糊中的被另一个leader急促地叫起来,“赶紧起来看看,到你的模块了,数据对比出错了...”, 我一股脑起来,不过倒是很淡定,一边喊着,“来了,来了!”,就不紧不慢跑过去看看咋回事,察觉自己也没有想象中那么焦虑了。
当前调试的两个子模块是自己集成验证的,但是bringup的责任人是自己的小leader,现在最终数据对比错误,她也一时间搞不清楚哪里出错。另几个leader也挺紧张的。后来大家都想办法,把数据下载下来,和标准的golden数据对比,最终发现是字节序的问题,一下子紧张的心就又放松下来了。这中间自己感觉参与感也多了起来,在一众骨干和leader当中也不觉得有多“多余”,虽然今天是自己“主动请缨”要来现场加班观摩的,但是也和大家一样想办法、查手册,因为我是这个子模块的验证负责人,很多细节我是最熟悉的,也给他们提供了很多关键的信息,“参与感”一下子就提高了,并且感受到了“团队协作”,大家一块想办法解决问题的技术氛围,这也是挺好的一种体验了。
后来又有一个类似的另外的模块,一上板卡调试,也是失败了,数据完全乱了,这时候又一次发挥了自己对这个模块熟悉而产生的关键作用:自己知道读哪几个寄存器状态,并且做出重要判断,进一步缩小问题范围,明确进一步的探查方向。接着就开始查其他环节的问题,不得不说整个芯片是一个复杂的系统,任何一个步骤出错,无论是软件还是硬件还是流程,甚至仅仅是一块小小的其他芯片的接触不良问题,都会导致最终结果失败,业务跑不通。这个模块问题和上一个不同,我有自己的直觉判断,但是因为自己只负责了一个子系统范围的验证,整系统的验证不在自己这,所以其他环节细节不大清楚,也没法一下下定论。等到晚上下班时候,大家还在想办法,我也在详细的看相关的寄存器表单,也是深切的感受到,一个子系统,集成验证时候正常场景好弄,但是一旦出了BUG,如何DEBUG就是真的考验对这个子系统深入理解的时候了,这一点也是自己的不足,再次感受到很多事情只有真正体验了,才知道自己哪里缺什么,“实践出真知”。
自己的小leader还是很负责的,突然就感受到这些业务骨干们的敬业精神和对技术的热爱,小leader推动我去找还在家办公的整系统负责人,推动我去找供应商(我们这个子系统是买的外边的IP),结果最后就是,本来我今天是来“观摩学习打酱油的”,最后加班加点给供应商提单,然后微信群里催单,感觉好像十万火急的,结果快到了晚上9点钟,让供应商的接口人找到他们的研发,竟然拉了个线上会议...哈哈!突然就有一丝丝“甲方爸爸”的感觉了,当然了实际上还是对别人很礼貌的表示感谢的,毕竟是周末的时间。
这一天我挺开心的,感觉自己真正的参与到了这个bringup中,并且也发挥了关键的作用,确实因为自己对那两个子系统比较熟,发现即便是小leader,亦或是跑EMU的小兄弟,很多细节肯定是不如自己清楚的。所以当自己能够明确的就某些问题提出建议时,突然就感受到了某种笃定,这是之前很长时间自己所不曾有的,以前总觉得自己“啥也不知道”,总觉得自己不自觉的“依赖”别人,但实际上不是,实际上自己完全有能力解决很多问题。
今天来现场加班办公参与点亮芯片的有很多人,一些模块的调试速度也超出了预期,原本以为要3天干完的活,今天一天都基本干完了,发到群里面,也受到了其他伙伴的点赞。大家很多人也是第一次参加芯片点亮,挺好的体验,在这个过程中也感受到了大家一块相互协作、集思广益的团队协作精神,感受到了参与感,感受到了价值感,在疫情严重的这一阵“逆行”来到公司参与第一款转码芯片的BringUp,也是个值得铭记的事情。
希望这颗芯片后续子系统能明天顺利调试通过,达成整颗芯片完整“点亮”的目标!
点亮自己参与的“转码之芯”,也点亮越来越笃定的“技术之心”,继续加油!