下冰雹 · 2023年09月04日

Top PR工程师的成长之路

感谢剑来接受采访,与剑来认识5年多,剑来在工作中很认真,也是一位非常优秀的工程师。本次采访主要聊了下剑来从刚毕业,到做Block,PR/Sub-Top PR/IP集成/Top PR/项目经理的心路历程。

“每到一地,重温那一段段峥嵘岁月,回顾一路走过的艰难历程,灵魂都受到一次震撼,精神都受到一次洗礼。”

1.问:能简单的讲一下你做过的事情吗?比如Blcok PR做了多久?IP 集成做了多久?TOP PR做了多久?

剑来:刚毕业(16年)做沙盘训练Block,做了三个月。做完之后正式做模块,刚开始项目只有新员工进入,项目模块比较少,两个人做一个模块,做了一个比较简单的数字Block。另外在一个老员工的指导下做Mem Compiler,开始用TSMC的库,后面换了ARM的库,对比PPA。接下来由于项目变动,帮另外一家公司做后端(外包),比较幸运做了Sub-top(处理器核),做到17年底,在做Sub-top的同时还做了后端项目环境的维护,知道了Sub-top的时序收敛问题和多次例化长Tree怎么长等一些做Block 不会遇到的问题。

18年由于暂时没项目,自己一直想做Top,就自己研究UG,拿已经做完的项目开始Try Top Flow,开始接触Boundary Scan,Mpimux,IO排布等Sub-block 不会遇到的问题,写Cts Spec,用了大半年,基本把PR Flow做完,不过别人已经把脚本做好,遇到的问题较少,算是对Top PR Flow有了整体的认识。到18年后半年做完。这这中间还做过一个项目的小Block。

18年底由于做IP集成的员工离职,机会来了自己也和领导申请了一下,于是开始做Toponly IP 集成,接触ESD方案,阅读IP集成文档,怎么放PLL ,多个PLL的情况下为了减少Bump消耗怎么做Group划分 ,不同Group的电源在Die合并还是Package合并还是PCB合并,等等。刚开始接触很多都不懂,做的比较慢,做了半年左右才基本固化下来,当时脚本能力比较弱,顶层改动自己也要跟着改动。当IP集成做完后,就帮顶层PR Fix PA和PV的问题,因为当时我们的顶层PR负责人主要精力放在了STA 收敛上,那个是项目的最长路径,我就得思考怎么合入TOP PR,对STA影响最小,每天编写各种PV PA Fix 脚本,学习了不少DRC PA Fix的小技巧。这个过程中也和封装团队对接,学习IO 排布,Bump Assign,RDL 绕线等等,也和当时Top 负责人学习Top PR的常见问题,最大收获就是使用Multisource 长Tree,之前在做Sub-block时候是完全没有接触过的,这个项目做到19年底结束。

接下来就自己真正Top PR了,一开始是比较胆怯的,给领导申请时候说的是自己在Top PR这块也有一些想法,如果有机会的话希望能有人带着做个项目,自己打打辅助锻炼锻炼。没想到直接就让我上了,不是打辅助的角色。新工艺7nm,而且面积比较大,20年开始正式做,21年底做完。第一次做Top,是成长最快的一年,也是压力最大的一年。记得当时用大Buffer做Multi-sources H Tree,长Tree的时候,挂不上Sink点,找了多少AE 以及Top 大佬,就是解决不了,每次开会看到Block进展都十分顺利,但是自己Top在最关键的时钟树这块还没搞定,Top 搞不定,各个Signoff 方向工作就没法开展,会不会项目最后因为我Top 问题做不下去了,大家的辛苦白费了,那段时间一度怀疑自己不是做Top Pr的料,每天最轻松的时候就吃早饭,园区溜一圈,因为一进办公室就会感觉压力、问题扑面而来。每天中午晚上睡觉的时候脑子里面想的都是长Tree,周六周天去哪都拿上电脑,问别人别人也没遇到过,只能自己去尝试,还好后面用了一个完全不合逻辑的方法解决了。项目中期一直不能给PV比较好的数据LVS风险比较大。这个项目由于Top 做的太坎坷了,迟迟出不了满足Signoff验证入口数据,导致各Flatten Signoff的风险迟迟没法排除,还好团队给予了足够的耐心,领导对我也给予了足够的支持,最后项目顺利甚至提前TO 了。这个项目做到20年底结束,一直在做忙着项目,只想把事情做成,思考的时间比较少,没有花太多时间想着怎么能做的更好。

下一个项目继续做Top,思考了一下之前的很多流程可以优化,比如Partition迭代Flow,7nm的一些Rule在PR 阶段怎么规避,长Tree,写Spec,Pipeline提取规划等问题其实有更好的办法,但是在上个项目由于时间问题没有做的很精细,做到项目中期人事变动自己同时做Top Pr和后端经理,当时TO冲刺阶段又赶上疫情封城,要管团队/给领导汇报/又要做Top,白天做核酸,开会找不到人,大家不在一起,沟通效率很低,电话一个接一个。每天早上拉上所有位置负责人对目标,看今天要完成的任务,晚上在对齐状态,白天处理团队的事情,晚上修Top,给领导汇报,压力非常大,脑子也很兴奋,忙完一天躺倒床上半天睡不着,最后在Signoff 标准没有任何打折情况下项目顺利做完(当时我们的团队非常年轻,再没有请外援的情况下按期保质完成),现在想起来依然觉得十分激情。这么难搞的事情都都搞定了,后面面对很多问题就比较淡定坦然了,没有过不去的坎,心态上的变化是做这个项目最大的收获。

之后的项目就做纯技术管理了(后端项目经理),项目前期需要做:和上下游去沟通,综合,DFT,封装,测试,项目进度把控,IP到位时间,技术上的风险,去部门协调资源。在大公司想留住人比较难,主要是薪资不高,那就用技术成长留有潜力的人。给新人机会,Blcok负责人不一定是某一方面比较厉害的人,但是需要能把大家团结起来,愿意为团队付出。挨个问大家想做什么,尽量满足大家的要求,就算满足不了,后面有机会也要给大家。这个项目按计划推进,中期由于公司业务安排不做了,但是每个阶段要完成的任务都做完了。22年底,开始做车规项目,后面再聊这个。

“不积跬步,无以至千里;不积小流,无以成江海。”

2.问:上面把从做Block PR,到IP集成,到TOP PR,到项目经理已经讲的很仔细了,你觉得每一步之间技术上有什么联系吗? 

剑来:后端工程师基本都会从Block PR做起,PA PV STA 等等完成过程中找准自己的兴趣点。我当时感觉做PR灵活性比较高,有图形,有各种脚本,比较有意思,给自己定的目标就是做Top PR。做过Sub-top之后,发现很多和做Block不一样的知识点;做了IP集成,又学习了很多电源合并方案Perc方面的知识,有了这些知识在做TOP 时候对于IP摆放,Block 布局,以及芯片尺寸规划等就带来很多便利。对于大芯片来说Top Only 一般都是项目的关键路径,所以STA PV PA各个方面都得有所积累,不一定有Signoff 负责人那样专业深入,但是要知道哪些地方做的好会给后续Signoff带来便利,哪些点做的不好,后面会花大力气进行找补,影响项目Signoff进度。

在不同的项目做相同的事情,时间长了会没有进步,作为技术管理人员,要给每个人打绩效,更应该知道每个人做的价值在哪里,难度有多少。假如没做过Top PR,就不知道做Top PR要付出什么努力,没有做过PA,PV,但是跟别人一起迭代过,知道别人工作难点和价值在哪,耗时多长,需要什么样的帮助,了解这些之后可以客观的评价每个人的工作量,管理者的目标有两个,对外把交付做好,对内要把团队稳定住(每个Signoff方向都要积累多年才能做好,很不容易,稳定团队至关重要)。Top PR做过一遍之后基本就把项目每个阶段要做什么摸清了,心里就有了一把尺,起点在哪终点在哪,我们离终点还有多远。比如项目一般都有三个阶段,第一个阶段就是初期问题爆发阶段,上下游磨合,交付,团队内部流程搭建,人员配合等等基础问题,这个阶段代码比较原始,能发现的问题有限,时间规划可以相对短一点,第二阶段就是问题集中爆发收敛阶段和收敛阶段,这个阶段是最重要的阶段,目标理应定的和TO 一样,看到所有问题并都有解决方案,这个阶段时间规划需要长一点,第三个阶段就是全面收敛阶段。每个阶段都有每个阶段的目标,不能把项目前期要解决的问题放到最后,这样项目就不受控了。做技术管理更多要思考这些。还要思考就这么多米,这么多面,还要把事情做成,不能对领导只讲困难,要告诉领导需要什么样的资源能把事情做完。比如我们遇到某个关键位置的人技术、经验比较弱,但他是这个方向的负责人,有干好这件事的品质,那管理者要做的就是给他协调资源,帮他积累经验带他成长,最好的结果就是相互成就。团队大了,什么样的人都有,管理就是要解决这些问题,要是负责项目技术方向的人都很强,那要技术管理的人就没有意义了。

“智者创造机会,强者把握机会,弱者等待机会。”

问很多工程师工作7-8年也没做过top pr,能做TOP pr是不是机遇很重要?

剑来:机遇很重要,但是比机遇更重要的是你要积累自己,随时准备好,才能再有机遇的时候紧紧抓住它;机遇来了你才开始准备,大概率是抓不住的。虽然自己Block做的时间比较短,但是当时除了自己的工作之外,也思考也写了一些脚本,帮助团队其他人(比如记得当时遇到一个Reg控制好多Gating,工具不能把Reg放到Gating中间,Reg到Gating的Timing有问题,把Gating抓出来算平均位置,把Reg放到中间,精确控制,现在的EDA 做的很好已经不用人处理了,但是在那个还叫SOCE的年代,很多Feature是不完善的),类似的有能力也是需要自己展示出来的,自我认知和领导对你的认知天然是存在偏差的,展示自己的能力缩小这种偏差,领导知道你有这个能力之后,可能暂时没有机会,但当有机会的时候,他会想到有这么个人在,然后机会就给你了。在做一些事情的时候,能帮助他人,就要分享出来,也能展示自己,要总结写技巧。不管Block工作还是Signoff工作,不会说敲个回车,时序就收敛了,Signoff就完成了,肯定有各种各样的问题,项目完成了你可能觉得这个不是问题,但是只要你遇过,别人就可能遇到,都是有总结分享的价值的,下个项目新人做的时候遇到这个问题,看到你的分享,问题就解决了。对于刚毕业或者刚入行的同学来说,如果生活琐事没有那么多,还是需要多花时间精力来学习,厚积薄发。在有学习时间且有学习能力的阶段多学习,不能等机会来了,没准备好,那这个时候机会就错过了。大公司项目多机会比较多,体系完善试错成本低,就会给新人很多比较好的机会,允许你犯错给你时间成长,小公司就难一些,试错成本太高,机会一定会给那些有实力的人,有时候没有这样的人也会去市场上招一个回来的,因为没有时间没有体系去从内部培养一个出来。客观没条件,主观如果也不努力,那就完全就……

“长tree与打拍的艺术。”

3.问:做Top PR你觉得最关键的技术是啥?

剑来:最重要的是长Tree。时钟树就像大动脉,要把血液输送到各个地方。有时做完place时序是干净的,因为树是理想的。做完时钟树后,发现还有很多违例。Cts释放风险才能在很大程度上真正释放风险。       

另外,新工艺也有很多新挑战,比如7nm,5nm对Site,Row宽度,高度都有要求,在PR阶段这些检查很不敏感(需要加Filler,带着Base Layer去验证),但是如果不知道这些Rule,PR也不注意这些Rule,到Route才发现,Fix就很难受。第一次做的时候不知道需要这么做.比如大Buffer做H Tree需要在Floorplan阶段完成而不是CTS阶段完成,做Floorplan需要做很多IP 集成相关的操作,还有比如Bounding Scan,Pin mux,Pipeline,Pipeline Guide Buffer等等。对Top来说(和Block不一样的),自由度特别大,比如两个Block之间打三拍,根据线的距离、代码风格(Block进来打一拍出去打一拍,算的时候要注意)算打拍数,但是工具可能把那些寄存器放到一起,离另外一个Block还是很远,想办法怎么能把寄存器控制起来。 

除了长Tree,另一个就是顶层数据交互,打拍之后,Tree需要怎么处理,需要让他两Skew足够小,时序才能收敛。时钟架构也很重要,比如Top和Block的occ不是一个occ(后来发现可以优化),同样一个时钟需要做两遍才能做成功,刚开始不知道可以改,就是直接做,刚开始做,只想着怎么能做成,不会想着合不合理,只有做不出来,才会想合不合理。有时候不合理也能做成,只是代价比较大。

“那些曾让你哭过的事,总有一天会笑着说出来。”

4.问:你在做IP集成或者Top PR碰到最棘手的问题是什么?最后是通过那种方式解决的?

剑来:长时钟,之前有项目做过大Buffer长Tree,但是Feedthrough方式做的。自己做得是Top Only打拍的设计,有同事在别的项目用普通得Buffer做Tap点能挂上Sink点,但是自己做的时候用大Buffer做挂不上Sink点(完全挂不上去),试了很多方法也不行,AE也没能解决。(和之前Sink点等价,Spec等价),后来把原来的线打断接一个小Buffer,让小Buffer也Create一个Skew Group,跟大Buffer Tap点等价,这样才长上,从原理上讲,想不通为啥,但是工具行为就是只有这样才能成功。

另一个问题是:发现Reg Slice握手打拍解决不了,PR阶段时序Clean,PT Flatten来看,Lib和Flatten时序不一致,如果加拍解决,动作会很大,后面解决办法是PR插的Buffer全删掉,留一根长线,做Add_repeater_by_rule,拿大驱动Buffer重新解DRV,降低级数,减少Data Delay,(飞线没办法计算距离,只有Trial_route才能算DRV插Buffer)。

“不谋万世者不足谋一时,不谋全局者不足谋一域。”

5.问:你觉得在做Top PR时,为了避免Timing 问题,IR问题,PV问题,需要注意什么?哪一个需要关注的最多?举一些例子说明?

剑来

PR:在做先进工艺的时候,项目前期不跑Base Layer Drc,看不到Latchup,TCIC,even_site,even_row,如果不注意这些Rule,给Block Partion的DEF可能会存在DRC,写脚本提前检查。

PV:熟读IO,IP,DRC Rule文档关键部分,比如IP Phy的Bump已经撑满,芯片四个角要加Dump Bump,所以出信号Bump不能放在角上;Block如果离IO 特别近,OD Inject检查Latchup,Welltap要加很密,Block内部不能加,Top留得地方不够,就会比较尴尬,TSMC文档会有规定多大距离加多少,根据这个做Floorplan布局等等这些都要有所了解.                                                                                  STA:S家 IP Lib Signoff,有一些是Spef+Netlist Signoff,对于Spef +Netlist Signoff 有Transition违例容易发现,对Lib Signoff完全依赖Lib得准确性,Lib不准,到后面PT修Transition修不掉。更好的做法是:不管准不准,在IP出来之前,在外面很近得地方插一些Buffer,让线最短,大芯片IP比较多出现可能性比较大(小芯片可能只是恰巧没有出现)。Innovus检查不出来Transition问题,Invs和Starc不一样,抽RC引擎不一样会有gap,另外PR工具对Transition不重视,只要时序满足,Trans大没关系,PR看到只是Transition,PT和xtop Fix不掉,PR工具只看Timing,比如之前最后Fix这种违例,手动在IP边上插了一圈Buffer,最好可以在PR阶段规避这种问题。

PA:不要留很窄得Mem Channel,Power Net放不进去。可能会出现Fix 90%得问题用10%得时间,但是Fix 10%得东西用90%得时间。              这种通盘考虑的问题,AI还是挺难取代人工。

“管理就是沟通、沟通再沟通。”

6.问:做Top PR和其他部门一般都会有那些交互,设计、验证、综合、DFT、封装等?哪些需要重点关注?做项目经理后,你对项目的认识有什么不一样?或者说除了技术之外还有什么更重要?比如项目节点,不同部门的协调?

剑来:在做项目的过程中,项目各个团队成员会一起开会,保证项目保质保量完成。对于项目节点规划不合理要提出来,比如要求后端去降功耗,算法不改,后端能降得很有限,不能一直让后端努力去降。在下一个项目开始的时候,违例降功耗,要提算法,代码能不能改,大家都往前迈一步。          

后端作为Netlist到GDS的最后一环比较吃亏,前面人犯的错,会压缩后端时间(项目TO节点根据市场定的)。85%,95%,100%网表各需要完成什么,把自己需要完成什么列出来,把其他部门需要配合完成什么列出来。比如到了100% 会Re-Drop网表,项目客观条件设计、验证人不够就是要Re-Drop,要提出来风险:比如100%网表后一个月之内可以接受Re-Drop,超过一个月我们努力但是不能保证进度。提前提出风险,可以保护自己团队得利益。比如Run Time长时序风险小也可能会有问题,Run Time长的Block成为项目瓶颈。 需要做好Re-Drop窗口ECO窗口,波形交付窗口。有一种做法是:做时间轴倒退项目后期需要的时间:STA多久迭代一次,PA和PV可以跟着STA一起迭代,不要对领导一直说风险,拿数据说服别人。上下游沟通重要得是把各自的任务都明确了。     

PA方面:CPM,PLOC,CPA交互时间规划做好; STA方面:综合交付的网表经常发现问题,也可以提出让综合跑Hand-off Check,一些基本要求有问题就不要交付给后端了,为了让项目更加顺利,学会思考为了自己工作好做,需要别人多做点什么或者你帮别人多点什么; IP方面:有些IP是和项目并行开发的,要给项目经理提那些节点需要哪些数据,不至于让IP拖慢项目的进度。   

另外需要和大家维护好关系,对做好项目有帮助。

作为中间管理者,向上管理很重要,让领导知道项目难点在哪里,自己的团队付出多少努力,价值在哪里,领导才会知道怎么给你协调资源;向下管理,需要有能力识别团队中每个人得特点是什么,能担任什么样得工作,帮自己得下属完成任务,了解下属需求。要思考怎么做好向下管理和向上管理。在报告项目中存在的问题时做到客观,不能报喜不报忧,不能前面承诺的很好,到后期搞不定,让领导很难受或者要让领导去找他的领导才能解决,这样事情虽然最终也能做成,但是体验感会非常糟糕。要和领导建立信任感,这样后面就比较好做事情。

“每一种情况都有适合于它的一个特殊的战略。”

7.问:车规芯片和普通芯片相比?有什么不同?从后端的角度讲会对设计带来很大的难度吗?

剑来:车规芯片新的东西有:功能安全和可靠性。主要面对的问题在设计和DFT上,尤其是DFT,之前BIST只测RAM,车规这边在线测试要做Logic BIST,比如某个地方上次工作完坏了,下次工作的时候就会有问题,有可能在行车过程中会出事(比如刹车失灵),使用之前把缺陷或者潜在失效得片子筛选出来,要求覆盖率要提高,要更严谨得方法学保证测出来得没有问题。      

对于后端:主要面对得是随机硬件失效里面的瞬态失效(瞬态失效和永久失效),永久失效靠工艺和筛片去保证得。DPPM为每百万缺陷机会中的不良缺陷点数,消费类芯片可以达到1000,车规要逼近0 DPPM,0 DPPM不是STA,PA,PV某一方面去保证的,而是需要大家一起合作去保证得。比如,PV方面:Fab 工艺要稳定,可靠性要足够高;设计方面要考虑:如果发生随机瞬态失效,比如寄存器被高能粒子轰击,出现误翻转,假如被关键信号捕捉到,就会有问题,车规芯片关键任务模块不允许有这种问题,所以设计上要做TMR DMR 或者 DCLS这种冗余。相对于消费类芯片,PERC,EM等都有专门得Rule(比如车规的EM Rule要求是3年125度 1dppm,这一点和Consumer Rule是完全不一样的), 除了Rule加严,有些节点Consumer和Auto的相同Device 的GDS也不一样:可靠性方面:要求15年之内性能不下降,STA 就得考虑老化;消费类芯片,要求5年内不坏,使用Foundry 给的Lib也就是T0的Lib Signoff就没啥问题,但是Auto芯片要保证长期工作稳定,就需要使用Aging LIB Signoff(根据产品的Mission Profile去Rechar),对后端工作来说这块是区别于消费类芯片最大的不同点。同样其他Foundation IP,还有Hard IP都需要Aging LIB + mismatch OCV Signoff。

“合抱之木,生于毫末;百丈之台,起于累土;千里之行,始于足下。”

8.问:你对新入行后端的人技术成长上有什么建议?

剑来:最近几年,行业变动比较大,薪资涨幅比较快,对新人不好。对于小公司,资源不够,任务重,干的东西可能比较有意义(比如可以做自己想做的),但没有精力看更多东西;   

对于大公司很多项目同时做,流片回来实测,可以反馈Signoff方法学的准确性;大公司同时看的项目多了,会看到各种各样得问题。做一个项目得时候,没机会发现那么多。大公司各个方向的培训小公司也没有。大公司经过多年积累,人员结构更合理,优秀的人也比较多。新人做一两个项目,感觉学到一些东西就可以去外面,这可能是不对的。每一代工艺跟每一代工艺都不一样,12nm和16nm,12nm和7nm,7nm和5nm,5nm和3nm都不一样,小公司很难有机会接触这么多,有个词比较好,“厚积薄发”。这个行业好的平台,经验比较重要,和互联网还有点不太一样,技术更新没那么快,但是有很多重要的经验是需要在一个稳定的平台上才能积累起来的。有好的机会还是建议新人去大的平台发展。

“人最宝贵的东西是生命.生命对人来说只有一次.因此,人的一生应当这样度过:当一个人回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧;这样,在他临死的时候,能够说,我把整个生命和全部精力都献给了人生最宝贵的事业——为人类的解放而奋斗。”

9.问:你觉得做后端的工作有意义吗?你准备再做多久?或者有没有别的想法,比如转做管理岗位?

剑来:做了7年多了,也有“七年之痒”之感,自己的职业生涯算没有走弯路,都有厌倦情绪了。感觉后端很重要,但是灵活性比较差,在Signoff的时候STA,PA都加了Margin,更想看到实测后的结果是什么样的。现在公司和做架构产品的一起开会,感觉他们的更有意思,也许他们感觉后端有意思,感觉跟“围城”一样。    

到小公司之后感觉自己的经验是非常重要的,有可能你的天花板就是公司的天花板,你的天花板不够高,产品就可能有问题,从这点看,后端工作是非常有意义的。举个例子如果做芯片只堆性能,压面积,但是功率密度超高,设计阶段不考虑散热,那很可能片子回来就会出问题,收敛时候的频率再高,带宽再大,可靠性一有问题,都白扯。某一方面不专业都会导致芯片失败,这样其他方面做的再专业再厉害,也都失去了意义,后端很吃流片经验,不管做哪一个方向都要又敬畏之心。做职能管理脱离平台可能就不行了,做技术管理在职场适应能力更强一些,有自己的立足点,对自己来说,更倾向于做技术管理。

“做事要有“底线思维”,对技术也要有“敬畏之心”。”

10.问:除了上面的问题,还有什么特别想说的吗?

剑来:干这一行需要厚积薄发,做事要有“底线思维”,对技术也要有“敬畏之心”,保持热爱,奔赴山海,大家共勉。

作者:小蔡
文章来源:处芯积律

推荐阅读

更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
20187
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息