偶然发现了一门不错的课程,UCSD的ECE111。这门课最后开设是在2019的Winter学期,距今也没有太长时间。课程讲授的内容非常适合EE/CS专业的学生入门芯片设计。该课程主要介绍了基于SV的数字芯片设计,这门课还有几个Project作业,主要围绕Bitcoin相关展开。
本人打算开个新坑,将这门课的slides进行讲解,并附上自己工作学习过程中的一些设计思路和经验。同时会补充相关的Project练习。通过学习这门课程,预计可以达到找一份数字IC设计实习的水平,所以麻烦各位多多支持。(本人之前的牛客网刷题系列太监了,不是我偷懒,主要是波形和代码检查不太一致,做的难受)。
接下来回到这门课,该课程的网站为
这门课的课程目标是学会基于Verilog的数字芯片设计。实际上这门课主要使用的是SystemVerilog(后面简称SV),SV可以看作是Verilog的超集(实际上用作设计的话,SV相较于Verilog增加的东西并不算多)。SV文件以.sv结尾,区别于Verilog的.v结尾。
然后大致花了四五页的时间介绍了为什么要学习SV(目前主流的数字芯片设计都是基于Verilog或SV,数字芯片工程师吃饭必备的东西)。
然后介绍了一下本节课最终要实现的Project。个人觉得这份Project难度低于很多大作业布置的四/五级流水线CPU设计,对新手比较友好,在后续文章中我将讲解如何一步一步设计该Project。
接下来介绍了一下使用的开发工具,该课程官方使用的是Questasim。本人在后续将会使用vcs和Verdi工具,还会附带着讲解一些常用的脚本如bash/Makefile使用(大部分公司都是这套开发工具)。
然后介绍了一下推荐书籍,这里推荐Harris老师的Digitial Design and Computer Architecture,神书。
现在让我们开始进入干货!!!