第一学期有如下这么几门课。
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老师讲解的。这是个印度裔的老师,英文有一些口音。有些同学可能需要适应一下。不过俺认为他课讲的还是很好的,思路很清楚。
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%。