|
本帖最后由 MSD_SOC 于 2011-9-20 16:12 编辑
南安微电子硕士一年学习攻略(MSD&SOC专业)
2011年9月19日,南安。
兄弟俺今天遇见两位刚刚从国内过来的下一学年的学弟,聊了两句,感觉他们对未来一年的专业学习完全无知。兄弟俺再过三天就要交论文了。这一年的学习积累了很多经验。兄弟俺打算写出来给需要看的人看看。俺是MSD专业的,主要以MSD专业的视角写,SOC在专业课上与MSD非常接近,许多课都在一起上,本攻略对你们也有用。论文成绩现在还没评,不算论文,俺目前的成绩够资格拿到Distinction。
这一个学年分成三个学期。前两个学期叫做Taught Module,是以上课为主的,第一个学期的课是必修课(compulsory module),第二个学期的课是选修课(optional module)。第三个学期是MSc Project,也就是毕业设计项目和论文。俺一个一个的说。
第一学期有如下这么几门课。
1)Digital System Design. ELEC6098
这门课前面的部分会主要讲解一些数字系统设计的基础知识,顺带会讲解HDL语言,这门课之前几年都是用VHDL语言作为范例讲解的,从俺这届的上一届开始用SystemVerilog语言的范例。这一门课的后半部分会讲测试,断言,验证,Design for Test(stuck at, BIST,SISO,)。教授强调过几次,这门课不是讲HDL语言的,是讲设计思想的。考试的题目俺认为体现了他说的这个话。讲这门课的老师是Prof.Mark Zwolinski。俺认为他课讲的很好。这门课的核心书就是他写的《Digital System Design with SystemVerilog》,目前学校图书馆还没有,这本书也很贵。Zwolinski老师会放一个draft版本的不能打印的电子版的在网上给大家参考。
2)Integrated Circuit Design ELEC3025
这门课分成两部分。前一部分讲解主要是layout相关的,mask相关的,偏向版图,偏向back-end(后端)。都是一些CMOS数字电路的基础知识。Pull up network,pulldown network, 棒图(stick diagram), 欧拉路径,Design Rule, layout, abstract view block, place & route, 1~3层金属routing。还会讲解一些特殊的设计结构。这部分是由Iain McNally老师讲的,这个Iain老师讲课是很清晰的。这个老师会给很多同学们留下很深印象的,后面还会再提到他。
这门课的后半部分是CMOS的基础物理知识,CMOS基础模拟部分的知识。CMOS的I-V特性曲线,各个工作区,Ids,Vgs,Vt,Vds之间的关系。低功耗设计(low power design),静态功耗的组成和原理,动态功耗的组成和原理,clock-gating,power-gating,整体电路的功耗计算。这后半部分是由Dr.Koushik老师讲解的。这是个印度裔的老师,英文有一些口音。有些同学可能需要适应一下。不过俺认为他课讲的还是很好的,思路很清楚。
3)Nanoelectronics Device ELEC6009
这门课基本是工程物理课。半导体物理器件。这门课分成两部分,前一部分讲Bipolar Transistor,后一部分讲MOSFET。这是让许多同学很抓狂的一门课。我上课基本就没听懂什么东西。如果之前没有好好学过相关的知识,这门课上课时要想听得懂是需要充分预习的。回想起来,这门课讲的东西也是很基础的器件的知识。微电子器件越来越小,器件的物理效应对设计的影响越来越大。这门课的知识相信会对以后还做微电子工作,特别是后端的工作的同学很有用。俺这门课学的不是很通,就不多介绍了。多说一句就是对这门课来说靠猛做PASS exam paper拿到高分还是可能的。讲MOSFET部分的老师是Prof.Michal Kraft,这个哥们儿是德国人,俺觉得除了这门课本身深奥难懂之外,他讲课的语调不够吸引人也是这门课不好学的一个原因。不过他私底下解答问题的时候还是非常清楚的。
4)Research Method
这门课20个学分,这门课还是非常重要的。它分成四个部分。四个老师各上一次课。每部分各写一个report.每个report占25%的分数,没有考试。
第一部分,Matlab。用matlab编写三个程序,然后写报告。这个报告的评分俺认为不是很公平。考察一个程序好还是不好的标准非常奇怪。一定要问清楚老师需要什么样的编程风格。俺就吃了只追求程序运行速度快,追求简洁的亏了。最好要求老师把他的评分标准拿出来看看。
第二部分,ring osillator design。设计一个震荡频率和你的学号后四位一样的环形振荡器。越精确越好。利用的是所有的CMOS的CELL都有DELAY的这个特性。用LT-SPICE设计,仿真,然后写报告。对报告的要求很高。讲这部分的老师跳槽去MIT了,不知道今年这部分还是不是这样的方式。
第三部分 multiplier design.设计一个CMOS的线性四象限乘法器,实现要求的参数。需要的知识包括Long pair tail, Gilbert cell。要找设计资料的话可以用 analog CMOS的资料,图书馆有。有一些IEEE的paper也是介绍这个的,可以参考。用某种spice软件做仿真,然后写报告。兄弟俺这个报告被负责这部分的老师Dr.Nick Harris留下了作为范本,大概今年有机会在这个报告的讲评课上在投影大屏幕上跟各位见面~
第四部分 opamp设计,butterworth filter设计。实现设计要求中的参数。用pspice做仿真。然后写报告。和第三部分的方式很类似。多查资料,多参考。
5)Digital Ic Design. ELEC6010
这门课是一门实际动手设计的课程,20个学分。老师是前面提到过的Iain老师,俺认为他有点儿偏执,但这不影响他很好的教给你他想要教你的东西,前提是如果你不跟他较劲愿意跟他学的话。事实是,如果你不听他内一套,不按照他的方式的话,你也很难拿到好的分数。俺上面说的关于Iain的话,各位在上了他的课之后会有所理解的。他会推荐一本书《CMOS VLSI DESIGN》,他推荐书的时候会说这句话,"如果你要干这个职业的话,this is your life",这本书是微电子设计的一本权威核心书,俺有一本,书的内容可以说和课程内容联系的没有那么紧密,但是可以从整体知识上全面提升你对微电子设计各个方面的认识和知识,是一本很好的书,各位可以斟酌是不是需要一本。
这门课里会做四个设计的作业,第一个是画一个NAND或者NOR门的LAYOUT,用的EDA工具是MAGIC(这个工具很不常用了,现在的IC设计公司基本不使用了)也可以选用L-edit来画。第二个作业是用SystemVerilog写一个随机的六面的色子。第三个作业是小组作业,5个人一组,设计一个cell library。选择分组很重要,这5个人也将是第二学期中很重要的项目微处理器设计的同一组的5个人。SOC和MSD的同学可以混合组队,俺这组是MSD俩人SOC仨人,兄弟俺组队时选的这几位都是认真靠谱儿的人,现在看来毕业去向也比较牛,在此按下不表。第四个作业是用作业三中的设计好的cell组成一个bitslice,实现要求的功能。作业三中的cell也将用在第二学期中的微处理器设计项目里,所以作业三非常重要,设计的质量一定要好。
第二学期
第二学期就是两门选修课+微处理器设计
1)先说说选课。第一学期结束时到第二学期开学前要选课。有两门课程是Prof.Willam Redman White老师开的。他是NXP的工程师,平常不在学校。他的课都是集中上的,复活节假期前上一周,复活节假期后上一周,早9点到晚上5点,俺认为听完这个课以后人的体力已经到极限了。他开的这两门课分别是RF和CMOS mixed signal design。俺只是想说,选这两门的话一定要慎重。有兴趣以后搞搞模拟IC或者射频的同学可以选他的课。俺很后悔选了他的一门课mixed signal,俺真不是模拟那块料,上这个课的功夫是真是瞎耽误了,也彻底断了俺自己有可能再搞搞模拟的念头。选这个课模拟基础一定要好。mixed signal有一个作业占25%,剩下75%是考试。
2)非常popular的一门课叫做Digital System Synthesis ELEC6016。开这个课的老师是ECS学院的大牛Prof.Hashimi。俺认为这门课和如今的IC业界的实际情况联系的很紧密,是很需要掌握的一部分知识,俺很推荐选这门课。这门课分成三个部分,第一部分是high level synthesis,讲加上各种constrain之后的综合的原理,timing,component,ALAP,ASAP methods. 第二部分讲SystemC语言,这部分是Hashimi的一个phd来讲。第三部分是low power design.包括multi-vdd,DVS,multi-vt,clock-gating,power-gating.这门课有两个作业,SystemC一个,clock-gating一个,各占25%,考试占50%。
3)第二学期的重头戏是微处理器设计项目 ELEC6027。在8周时间里从一张白纸开始设计一个16位的微处理器。从前端到后端,包含所有的IC设计的流程。这门课也是Iain老师的。在课程最后,所有十几个小组的CPU会被拿出来比,最好的一个CPU会被送去流片。评价标准大概有,area是不是够小,指令集是不是够powerful,寻址方式是不是够丰富,coding density是不是够低,运行阶乘程序需要的时钟周期是不是够少,是不是支持中断等等。从Iain那里得知俺们组输给了一组有设计经验的老外,屈居第二~总结一下的话,俺认为其实是输在设计经验上,指令集要powerful和寻址方式要丰富,是要在做initial design的时候就先考虑到的,这是很根本的问题。在initial design的时候就把问题考虑的非常全面,对于没有设计经验的同学基本是不可能的。没有设计经验的话,能做成俺们组这样就不容易了。俺的建议是,要不就找个有设计经验的在南安读过本科的老外抱个粗腿好办事。前面提到过,这个项目也是小组项目,分组就是上学期做cell library的分组。小组5个成员分工和合作必须要协调好,最好有一个人来牵头,俺在俺组岁数最大,俺揽了这个活儿。俺们组是这么分工的,两个人做verilog coding和simulation,两个人做datapath,floorplan,place & route,一个人负责乘法程序,阶乘程序,随机数程序和中断程序。所有大的步骤都要开会充分讨论,尽量让每个人都了解整体的项目而不只是自己这一块儿。微处理器支持中断是选做的,俺们组做了,俺的理解是,不做的话不可能拿到好成绩,做了做的不好的话也拿不到好成绩,各位可以斟酌是不是要做。这个项目中还有一个加分选做是汇编器,俺们组一个大牛同学现学了shell写了一个。这门课时间很紧张,一定要控制好时间,负责牵头协调的人一定要不断的PUSH大家,俺们组的各位都很刻苦,天天泡在实验室,效率也不错,总是最前几个达成milestone的组。这个项目有几个阶段性的deadline,俺组的经验是尽量提前交,提前交的设计Iain会给early feedback,俺们还可以根据这个early feedback进行修改和完善,如果卡着deadline交的话就不可能有这样的机会了。
第三个学期就是论文了。俺认为最理想的状态是你非常知道自己的论文要做什么想做什么,并且已经在前两个学期里就找过相关的老师聊过了想跟他做论文。如果不是以上状态的话,那就和大多数同学一起碰运气的随机分一个题目和导师做一做吧。这个部分个人的差异性很大,非常大,就不多说了,各位还是自己提前多想想吧。
最后说说总体感觉。这一年的学习是非常紧张的,有无数个deadline等着你,作业的,报告的。同时有几个deadline在等着你的情况也是会有的。赶早不赶晚说起来简单,但是大多数人还是要在deadline前才忙活起来,这是人性,这没办法,问题在于,你想成为成绩非常好的少数人么?你愿意为这个付出努力么?修改过完善过很多稿的报告和deadline前半个小时才刚刚完成的报告分数肯定是有差距的,学到的知识程度也不是同一等级。俺觉得在学习开始之前还是先问问自己,自己到底打算学成什么样。再说几句考试,Notes上老师讲的东西都要会都要弄明白,然后猛做前几年的pass exam paper,做通,做理解,做熟练,这样是可以拿到高分的。pass paper要提前就开始做,到考试之前才开始是来不及的。
再抒情一把,俺写了这个经验攻略多少也有点儿装B,把自己当颗葱了,好吧,就当俺是在装B之余分享了一些经验吧,这些经验如果对某些需要这些经验的人有用的话,那也不错了~ 如果一点用都没有,俺就当俺给自己这一年的学习做个总结。
PS:如果那位有问题想问俺可以在回复中留下你的QQ或者MSN,学妹俺会加你的~ 学弟嘛。。。拼人品~
|
评分
-
2
查看全部评分
-
|