|
发表于 2013-11-27 10:37:39
|
显示全部楼层
回复 16# 混乱三千年
摘自ttder,以下见全文:
最近在坛子上看见很多tx在谈论后端的职业规划,这个问题我之前也困惑了很久,因为自己也做了挺久这行。也一直在苦思这个问题。
直到不久之前,才觉得自己大概想明白了,在这里和大家分享和探讨一下。
我认为,后端大概会分三个层次:
1> 学习并了解整个设计流程,掌握了整个设计流程。知道怎么做,为什么这么做。
2> 在掌握了整体流程的基础上,改进并且能够通过自己思考。加速并且准确的完成整个设计。
3> 在完成了上述issue后,能够体会出当前设计流程的不足。改进并且可以完善整个设计流程,让设计与流程更加严谨。
当达到第三阶段以后,随着eda工具的不断发展和进步,应当不停地重复第二步和第三步,只不过整体的周期会越来越短。但是相应的,你的人的整体能力就会越来越高。同时,你可以不断的开始扩大自己的知识面,从综合,到功耗分析,到Package。
下面,我会大概的说一下我为什么这么觉得:
我记得以前自己刚入行的时候,学的是encounter. 做了2年以后,觉得自己基本上都会了。东西就那么一些,每步干什么也都知道了。面试的时候侃侃而谈,而且基本上也都能过。就感觉后端就是那样了。现在想起来,自己很幼稚因为用的很多的option都是encounter的default的,很多东西都是默认的。很多参数都没关注过。我举几个例子:
floorplan的时候就不说了,我就说Power plan,怎么样的power plan能够让routing资源利用率尽量高并且不会占用太多的布线资源。
你是如何考虑并且计算你的Power plan的以及strap的宽度的。 很多人都说是靠经验,但请大家想一想。人人都说是经验,有几个人能说出到底是为什么吗,恐怕想过这个问题的人很少。 set_max_transition和max_fanout应该如何设置,要如何搭配才会对我们的design比较好。
做时钟树时候一些transition,cap设置应该多少才会比较好。
很奇怪的是,当时我虽然觉得自己差不多都懂了,但是自己做起来,却很辛苦。
后来做的时间长了,慢慢地开始学习开始写脚本,提高效率。也开始慢慢的开始思考之前提过的类似的问题。我发现,随着我想的越多,越发发现自己不太明白,因为我没办法给出一个确定的答案。这说明,自己的经验还不够。问题还想得不明白。公司的老大比较好,会组织大家去做实验,来调研并且研究一些课题,有些地方我慢慢地开始明白了。这时候我开始意识到,后端还是挺麻烦的,比较有技术含量的。
现在做的时间长了,也开始试图开发一些小的流程,来加速和改进自己的工作方法与工作效率。我发现,要想做好这行真的挺难的。举个例子,很多人都知道加cap cell可以降低ir drop,那么如何加cap cell会最有效率,如何评估加cap cell以后对leakage power带来的影响。我是说pr方面。
我个人的感觉,很多东西都是相通和相联系的。当你Pr做到一定的时候的时候,一定会有很多问题需要从综合方面或者power analysis方面去思考了。而当你学了那些东西后,回过头来,你会发现你之前的某些观点或者想法可能是错的了。而且随着工艺的不断变化,我们的很多想法也需要不断的改变。举个例子,在power analysis时候,最差的corner,130以前,会发生在ff-40mc时候。但是55nm以后,却有可能发生在ff-25c。老眼光看新问题,就会出事。
所以我个人觉得,对我们后端工程师来说,我们可以从下面这几件事情去考虑:
1> 如果公司没有流程,时候自己可以有能力建立一套行之有效,并且完善的流程。如果公司有流程,自己是否已经掌握了这套流程,知其然,知其所以然。
2> 如果以后的发展是大公司的话,能够带一个团队,搞定一个完整的project. 如果进小公司的话,给你完整的资源(好比2000w),能否从综合到package全部搞定,并且不出问题,从成本,timing,功耗,package,esd,都不出问题。(不管是180nm还是40nm)
我认为,要想做到第二点。没有10-15年的认真积累,是很难做到的。所以后端不是没有技术含量的. 持之以恒,他一定会给你丰硕的回报 |
|