紧急通知:
近期,发现有部分其它网站和淘宝商户盗取本课程的视频资源并收费谋利。在此特地提醒各位同学,本课程是由电子科技大学制作并授权中国大学MooC发布的免费课程。中国大学MooC为本课程唯一发行渠道。学习本课程只需要按中国大学MooC规定的流程注册、登陆、选课即可。除按规定收取的制作纸质合格证书收费外,本课程的学习观看不收取费用。请各位同学提高警惕,避免受骗上当。也欢迎各位同学向课程组或中国大学MooC网举报盗版行为。
随着电子系统的微型化与集成化,数字集成电路成为了整个电子系统的核心部件,同时也成为了数字系统的主要实现形式。从消费电子、智能手机到无线通信设备、电子测量仪器的各类电子产品的发展都呈现出“单片化”、“大集成”的趋势。因此数字集成电路与系统设计已从一个专门的领域发展为电子信息类工程师需要熟悉和掌握的一项基本技能。因而目前国内各工科院校的电子信息工程、微电子科学与工程、集成电路设计与集成系统、通信工程、自动化等专业都陆续开设了类似的课程。随着我国对集成电路人才培养的日益重视以及经济结构的升级转型带来的旺盛人才需求,开设此类课程的高校与学习相关知识的学生人数也日益增加。
课程负责人电子科技大学李广军教授是国内最早开始开设相关课程的老师之一。经过近20年的发展与沿革,本课程先后了多次改革与升级。2007年本课程入选四川省精品课程,2009年本课程入选国家精品课程。
本课程的学习目的在于使学生熟悉数字集成电路与系统的概念,初步掌握数字集成电路与系统的设计方法和设计流程。课程内容涉及规格书确定、架构设计、RTL编码、验证方法、电路综合等数字集成电路与系统设计的多个重要知识点,以veilog HDL语言为基础,针对IC系统前端设计的重要内容和工程设计技术进行了全面深入的讨论。希望各位同学通过本课程的学习,为今后从事集成电路设计相关的工作奠定基础。
学习本门课程的同学请先学习/复习数字逻辑设计及应用(数字电路)、高级语言程序设计(C语言程序设计)这两门课程。学习计算机组成原理、微机原理与嵌入式系统、数字信号处理、单片机技术等课程对于学习本课程也很有帮助。
特别提醒:经两个课程组协商,本课程将晚于由我校(电子科技大学)开设的《数字逻辑设计及应用》一个月开课。建议所有愿意参加本课程学习的同学首先学习《数字逻辑设计及应用》的课程内容以学习/复习本门课程所需基础知识。对于完全没有数字电路/数字逻辑设计相关知识背景的同学建议学习《数字逻辑设计及应用》的课程前五章内容之后再开始学习本门课程。
本门课程主要介绍从系统架构定义到寄存器传输级设计的相关知识,属于数字集成电路前端设计相关的知识。如果对数字集成电路电气特性、物理设计等相关知识有兴趣的同学,可以在学习本门课程的同时学习由东南大学单伟伟等老师开设的《VLSI设计基础》一课。
完成全部的课程学习,单元测试占60%,期末考试成绩占40%。由任课教师签发课程结业证书,其中60≤成绩获得合格证书。
主要参考书籍:
1、数字集成电路与系统设计,李广军等著,电子工业出版社,ISBN:9787121270932;
2、数字集成电路——电路、系统与设计(第二版),(美)拉贝尔等著,周润德等译,电子工业出版社,ISBN:9787121119828;
3、Verilog HDL高级数字设计(第二版), Michael D.Ciletti 等著,李广军等译,电子工业出版社,ISBN:9787121221934;
4、《数字逻辑基础与Verilog设计》(原书第2版),Stephen Brown等著,夏宇闻等译,机械工业出版社, ISBN:7111203569;
主要参考网站:
1、bbs.eetop.cn
问题1:我是大一新生,电子科学与技术专业,刚刚学C语言,我能跟上进度吗?
答:建议先学习我校(电子科技大学)开设的另外一门MooC:数字逻辑设计与应用。在这门课程学习完成或至少学习一半以后,再来学习本课程。
问题2:请问老师后面课程中,以哪家为例讲解,这三家FPGA中前两家遇到的见到的多。后面一家在现在实现中没有见到过。请问这前两家fpga有什么不同,从设计和应用上看。除应用设计工具不同外,还有什么不同。谢谢!
答:其实不同公司的FPGA不同的方面很多,但本门课程不会纠结于这些细节。对于我们这门课程的学习只要是讲共性基础,不会涉及到不同。
问题3:当从就业普遍待遇上看,感觉芯片被软件完全碾压啊!水木上跟知乎上到处都是劝EE转CS的言论~~~
答:欢迎大家就这个问题继续展开讨论。
中国芯片的黄金时代是否来临和芯片设计工程师的收入是不是比软件工程师高,工作性质有没有软件好是两个不同的问题。中国芯片的黄金时代是不是来了是和历史上做时间上的纵向比较,而收入有没有软件工程师高是在现在这个时间节点上做横向比较。其实在2000年互联网泡沫破灭之后、传统软件行业陷入低迷之时恰逢中国的芯片行业刚刚起步、大批初创公司出来大把烧钱的时候,芯片设计工程师的收入是完爆软件工程师的。而那时候中国的芯片行业只不过是刚刚起步,从行业状态来说远不如现在的发展状态良好。但在哪个时间节点上面横向比价收入的话就是比软件高。
所以对于行业发展的评价和个人收入的评价以及个人前途的评价要分开看,不要混为一谈。
问题4:这门课程怎样与单片机技术,自动控制技术相互配合学习,包括实验,理论,这些课程有和相似之处?
答:请认真理解视频第一课“课程介绍”。
问题5:老师,请问一下我现在要用Verilog在一个工程文件中实现四位二进制数的加减乘除四种运算,在顶层模块中用一个两位二进制数对不同的运算方式进行选择并调用相关的模块。if-else语句在always语句中,但是always中又不能进行子模块的调用。请问有什么方法可以实现这一功能?
答:这位同学是典型的以软件编程思想来使用硬件描述语言。其实硬件描述语言并没有所谓的层次化、调用这些概念。层次只是我们人为的把一个复杂系统划分成若干个子系统抽象而来的。硬件描述语言是用文字的方式描述一个电路的行为和功能。因此我们从逻辑电路的角度上理解,整个数字系统都是由门和触发器这样基本的元件构成的。整个系统也可以用一个完全是基于门和触发器的二位平面电路图来表示。
而我们划分模块的目的,只是由于这样的电路图会过于复杂,因此我们会把电路划分为若干抽象的“模块”。所以顶层模块和底层模块之间不是什么“调用”关系,而是一个层次化的抽象关系。如果还想不清楚这一点,可以想想74LS系列中规模集成电路的框图符号表示和他们内部包含的门电路之间的关系。
在想清楚了这些问题之后,就应该明白写硬件描述语言之前首先需要有一个逻辑电路设计的“蓝图”,这就是所谓的“架构设计”。这几者之间的关系在课程中已经交代得非常明确了,请学习的时候注意理解,切不可急功近利的直奔写代码而去。
最后具体到这个同学的问题,一种最直观的实现方法就是搞4个运算单元,分别算出4个数加减乘除的结果。然后根据当前的输入来选择输出那种结果。这样就是实现了2个4位2进制数的四则运算。当然,这个方法显然不是最优的,同学们可以下来思考一下有没有更为合理的架构设计方案。