初入IC行业后端学习建议
How to learn more in Big Company : http://qfshare.com/archives/418
很多同学毕业以后,能进到一个不错的公司,有大公司,有小公司,各有各的好,各有各的弊端。在小公司,可能事事亲历亲为,学习的东西比较多,但也有个问题,缺乏流程化管理,小公司带来的问题正是大公司不担心的;大公司每个人好比一个螺丝钉,在各自的岗位上做着自己的事情,公司的流程规范一大推,这样的好处在于规范,专业,而坏处在于局限,知识面狭窄。
那么怎样才能在一个大公司里,尤其是一个比较开放的大公司里扩展自己的知识面呢?我这里说的只是扩展自己的知识面,对于经验,大公司里很难让你多方面去尝试,毕竟公司追求的是利益,而不像学校还有育人的职责。
言归正传,当你进入一个大公司的时候,很可能由于你的知识局限性,公司人员配置安排,将你安排在一个业界并不很热的领域,但又是不可缺少的,这里我提出的建议都是针对IC Backend的,只是我自己身在其中,也是个过来人,其他专业可以触类旁通。
首先是我们怎么看待被安排的职位,怨天尤人不行,好不容易找到的工作,老板还要看performance的,唯有好好将本职工作做好,本着行行出状元的想法,本着专家的名头苦干。当你逐渐融入你自己的工作中,对自己的工作有一定的心得,得心应手以后,这个时候你应该觉得工作无法如此:非也非也,很大程度上是完善的项目管理和完备的流程在帮你的忙,想想看,在一个大公司,那么多人,那么多螺丝钉,大公司的管理就是要缺了谁都可以,利用完善的流程和管理模式来应对高质量的品控和频繁的人员流动。所以你自认为的得心应手完全是站在了巨人的肩膀上。下面一步该怎么办呢?脱离公司流程,了解工作本质,深入本职工作,对本职工作创新。对本职工作的创新这一点公司应该是欢迎的,当你在这一方面有所建树之后,那你可以关注我下面将会讲的对本职工作上游和下游的涉足。
本职工作的上游可能是更高level的建模,而下游可能是更具体的生产方面,软件方面的事情,所以就算是同在IC行业,只是不同的的分工也隔一做山。要爬山就要先准备工具,找向导,向导就是找到一个好的mentor,好的导师可以少走很多弯路。IC行业工具的重要性毋庸置疑,没有工具的进步,“大规模”集成电路也发展不起来,工欲善其事必先利其器,这句话到了这里特别的窝心。准备工作做好了,接下来呢?
熟悉工具的过程是比较痛苦的,很多公司有on-job training,这个成长的过程没有错,但是如果你不是专做比如STA的,而是偶尔做一下,简单的做一下,你的程度最多也就是个知晓(known),可能连熟悉(familiar)也谈不上,更不要说精通(specialize)了。在没有on-job training的机会的情况下,怎么权衡呢?这就要发回mentor的作用了,将mentor做过的比较复杂的东西拿过来做, 不是纯粹的跑flow,run起来第二天看结果OK就没事了,将自己的flow去run一遍,和mentor的结果做对比,不足之处先找flow的不同,在找mentor看结果差异到底是什么导致的。这样不仅熟悉了工具,也熟悉了本公司的design,为将来做更多的事情打好基础。其次对资源的利用也很重要,有些间接经验可以在论坛,公司内部的wiki,小组内部的讨论组等地方获得,包括工具的manual和公司methodology文档。
当你碰过一两个相关的项目之后,你本职工作肯定会与相关你想学习的领域的人有共事,当有交叉的时候,你就有学习的机会了,特别是跨界的学习,首先是你的工作怎样才能给你的上下游更多的反馈与便利,其次你的上下游怎样能给你更多的反馈与便利,这个是你创新的一个很好的点。火花都是在交叉学科碰出来的比较多。
在公司内部打造自己的品牌,不要太突出,也不要太静默,有自己的专长,不在技术方面孤立自己,这样就会使得一方面你的工作不可替代,另外一方面使得不能替代而职业发展原地停滞。大公司的技术,流程希望是可复制的,所以你的创新必须要可复制,跟上公司流程,方便品控,方便后来人接手。
到此为止,你的精力如果够用的话,还可以往下发展,补习一些上游的上游,下游的下游,做一个更宏观的思考。或者可以跨出当前的职位,谋求一个更高的职位,除了技术,再发展管理,当前没有管理职位,可能当前的部门限制了你的发展,需要你去寻求新的机会了。
下面,我对自己从学校出来后到PR的4年的一个小小的总结,可能对一些不在从事PR工作,而想对PR有所了解的人做个参考。
PR是什么?Place and Route,其实如果身在PR的职位上,经历几个项目就对PR有所了解了,入门以后就是练功的过程了。那么先讲怎样入门,和很多学习一样,如果公司有现成的流程,不管怎样,一路run到底,将中间结果以及最终结果保存好,可以之后回头看。比较自动化的过程是Place,Route,比较考分析的是FP和CTS,其他的比如PostCTS或者PostRoute都是优化的过程。我以Q&A的形式对学习过程中比较关心和重要的问题逐一展开。
Q1. 读入数据这一步重要吗?
A1:很多人会忽略这一步,觉得就是读进网标,读入sdc,upf之类的,这一步也很重要,不同的design team给的数据是比较不同的,有些很顺利,后面不会有坑,有些不叫dirty,一开始没什么问题,后来一顿坑。所以要有一个意识,你拿到的东西将设是dirty的,为了我后面flow的顺利,需要做一个QoR的check,保证一些可能出问题的地方,在初始时就修正掉了。
Q2:PR除了Place,CTS,Routing还要关注什么?
A2:还要关注Physical Work,很多时候这些事情繁琐而不能避免,如果你是做PV的,肯定会意识到这些Physical Work的重要性,因为sign off还是要有很多DRC的check。这些还涉及很多方面,Power,Floorplan等,环环相扣。
Q3:怎么看report,应该看那些report?
A3:report分很多种,比如你关注timing,那么timing report在你眼里是最重要的,如果你关注cell的placement,那么legaize的report是你需要的,如果你关注power,ICG和VT的相关report是你需要的,所以说report没有重要与否,只有关注与否。比如你是做physical work的,给top画PG和custom routing,Timing report对你来说一点都没有用,你可能要更关心DRC report等。
Q4:flow有问题怎么办?
A4:flow是人写的,经过验证适合大部分project,但不表示flow适合所有project。而且flow的学习需要拆开看里面的东西,你才能学到真材实料。除此之外,求助EDA的在线答疑系统比如synopsys的solvnet.synopsys.com,cadence的support.cadence.com等等。当然向mentor请教是最直接的方法。
Q5:怎么发挥自己的主观能动性?
A5:多参加Manager或者Top owner等剧集的会议,了解项目进度,顺利也好,阻滞也好,想想如果换做你会怎么解决,不要想自己一个项目经验都没有就不需要考虑这些问题。多参加Review等,这些是实实在在的间接经验。可以自己在某些已有的project上实验问题和思考解决方案。
其他很detail的问题比如,怎样才能做好CTS,估计可以开个Seminar了,可以找mentor细细聊聊相关经验。这里只是对没有做PR人而想学习PR的一些同志的简单建议,如果有问题,大家可以提出,我会将它加入到文中分享给大家。
非常感谢楼上分享宝贵的经验。请教一个问题,有什么方法来评价自己处在在什么样阶段,如初级,中级等等。如处在中级,大概需要掌握哪些知识?
感谢小编一片热心,授人以鱼不若授人以渔
如果没有比较也就没有区分,初级,中级也不好定义,我个人认为,在IC行业里,级别还是和产出,项目来比较,比如你能很熟练地在team里起主导地位地完成一个较复杂的项目(比如运用了各种low power技术,timing和density都很有讨战),那么你可以算高级了,而比如你能很顺利地配合“高级”完成相应工作,那么你可以算中级了,如果你刚入门,对一些简单项目可以上手,而复杂一点就出错概率很大,或者需要很多学习成本才能完成任务,可能还处于初级。做为中级的化,多总结,防止犯错,多涉及项目上的统筹,对做SOC的top累计顺利地经验,也许你已经做过top,那么要更加合理控制schedule,合理取得更高quality等等。
多谢小编分享宝贵的经验!
后端没什么太多技巧, 只是“熟能生巧”罢了 ,只要不断tapeout,终究会成为一代大牛,
难度方面不是太难,后面成了熟练工人,
感谢LZ的感悟
还没接触过数字后端,现在想学习,但是不知道如何下手,学习哪方面的知识?
数字后端的化,主要是布局布线,弄明白code怎么到mask,中间的细节技巧纯属和工具打交道,累计经验而已。
写的不错,小编几年PR经验了?
跌跌撞撞快5年了!后端都是一天当一天半用的,尤其是TO的时候。
多谢小编分享经验
现在只要是难在工具和流程,项目经验也不是一时半刻能够积累的!
感谢小编分享个人经历!
小弟刚学习,请问有什么入门的资料比较合适,usrguide只是介绍了工具的菜单。实在无法形成有效地概念。流程也是简单介绍,很多实际的细节无法知晓。
个人觉得,EDA 软件始终是个工具,关键要掌握其中的方法,就是methodology,打个比方做CTS的时候,两个人拿到同样一份func和scan下的sdc,clock tree做出来的质量很有差别:极端一点,一个人可能是拿ICC的clock_opt来让工具做完了了事,一个人可能是去仔细研究clock结构,和FE商讨timing关系最后做出来的结果。
所以说流程方面,65,40,28差别不大,具有的一些物理效应也类似,20,16加上FINFET可能略有不同,所以流程方面经历一两个项目就能完全熟悉,需要去琢磨的是细节,细节不是不可琢磨的,具体细节的琢磨可能和团队氛围,流片要求都有关系,如果自己琢磨的化可能进步会慢点。
对要了解的细节东西就去了解透,专家不敢讲,至少不能被专家忽悠。最好的材料是以往的一些项目经验,有时候间接经验的提升也很快,时间短内容充沛,再和具体做项目的人探讨。书籍的化如果看得懂(指的是技术,不是英语)可以看些国外的专门材料和一些IEEE的文章。
听君一席话,胜读十年书;非常感谢;
小编你好!小弟马上要毕业找工作了,研究生期间做的就是数字后端,但主要做的是晶体管级(几十个管子)从schematic到layout寄生参数提取的仿真验证,用到的工具主要是Cadence、Calibre和HSPICE;感觉什么都没有学到,为了找工作,自学了encounter和DC,但只是GUI界面下的简单入门操作,在公司里面应该用的是TCL吧?马上面临10月份开始找工作了,心里惶惶的又有些迷茫,不知道该学些什么对工作有用的,该怎么学习,导师不可能指导,师兄师姐都不做我这一块。求小编给小弟些建议,非常感谢!
你看看后端第一书红皮书还有陈小编的每日一题也相当赞
求链接,多谢!
又到一年毕业季。找工作面试更多的看的是潜质,公司里的活和学校里的活差别还是很大的,基本概念可以从书中获得,或者陈小编的一些帖子上也可以查漏补缺。这里有几个找工作的经验:
1. 重视简历的书写
2. 明确找工作的方向,如果不是一个方向,就要明确到底几个方向
3. 温习做过项目的阐述和延生知识
4. 基本概念清晰
5. 自信不自大
网上有卖,电子版也有人扫描过了。http://bbs.eetop.cn/thread-344693-1-1.html
非常感谢小编分享的宝贵经验。
两个月前看的,现在看还是觉得很有启发。
太棒啦
赞,受益匪浅
看着这帖子不错哦
写的不错
希望坛子里像坛主小编这样有无私奉献精神的牛人越来越多。
这么棒的帖子,说什么我都要留下脚印!
顶上去