现代电子系统设计 EDA教案.docx
《现代电子系统设计 EDA教案.docx》由会员分享,可在线阅读,更多相关《现代电子系统设计 EDA教案.docx(18页珍藏版)》请在冰豆网上搜索。
现代电子系统设计EDA教案
目录
“现代电子系统设计”课程教学大纲-1-
湖南农业大学课程教学周历-1-
“现代电子系统设计”教案-1-
第一次课-1-
第二次课-3-
第三次课-4-
第四次课-6-
第五次课-8-
第六次课-10-
第七次课-11-
第八次课-13-
第九次课-15-
“现代电子系统设计”课程教学大纲
课程编号:
31120B0(四号宋体)
学时:
40学分:
2
适用对象:
高等院校信息工程专业、通信专业、电子信息专业、计算机专业、自动化专业本科高年级学生。
先修课程:
数字电路、C语言
考核要求:
考核,理论成绩50%,实验成绩50%
使用教材及主要参考书:
谭会生主编,《EDA技术及应用》(第二版),西安电子科技大学出版社,2004
谭会生主编,《EDA技术综合应用实例与分析》,西安电子科技大学出版社,2004
黄任主编,《VHDL入门·解惑·经典实例·经验总结》,北京航空航天大学出版社,2005
西安唐都科教仪器开发有限责任公司主编,《TD-EDA实验系统SOPC技术实验教程》,2005
一、课程的性质和任务
本课程是电子信息和通信类专业的专业技术选修课程,要求学生通过该课程的学习,初步掌握基于EDA技术的电子线路设计方法、数字系统设计方法以及FPGA和CPLD的设计方法;了解常用硬件描述语言的使用特点、编程方法和仿真测试技术,掌握一种常用EDA工具软件QuartusⅡ和一种主流硬件描述语言:
VHDL,能使用QuartusⅡ和VHDL进行复杂数字系统的设计。
EDA技术与VHDL作为一门技术基础课和现代电子设计技术的先修课程,与许多的后继专业课有紧密的联系,如大规模集成电路设计、ASIC设计、单片系统(SOC)设计、IP核设计技术、微电机系统(MEMS)设计以及DNA生物芯片设计等。
对学生而言,不论今后是继续通讯类研究生学习,还是从事芯片设计工作,都是一门非常必要的课程。
二、教学目的与要求
教学目的:
使学生了解现代电子设计技术、可编程技术,培养运用硬件描述语言VHDL和EDA工具设计实现复杂数字系统的技能。
教学要求:
1.掌握主流硬件描述语言:
VHDL语言
2.掌握一种主流EDA工具软件:
QuartusII
3.掌握TD-EAD实验系统的使用
4.能独立完成基本电子系统的设计
三、学时分配
章节
课程内容
学时
实验内容
学时
1
绪论
2
2
QuartusⅡ与VHDL语言
10
门电路实验、译码器实验、
编码器实验、寄存器实验
12
3
系统层次化设计
4
时钟选择器实验
4
4
状态机在VHDL中的实现
4
交通灯控制器实验
4
四、教学中应注意的问题
本课程是实践性很强的课程,要特别注意理论与实践的结合,多进行上机实践,才能学好这么课程。
在教学中要注意抓住一个重点:
VHDL的编程;掌握两个工具:
QuartusII和TD-EAD实验系统;通过案例分析、应用设计和上机实践,实现理论与实践相结合,边学边用,边用边学,只有这样才能学好这门课程。
五、教学内容
第一章:
绪论
1.基本内容:
介绍EDA技术的涵义、发展历程和应用领域;介绍EDA技术的主要内容;说明EDA的工程设计流程。
说明本课程的特点与学习方法。
2.教学基本要求:
1)理解EDA技术的涵义。
2)了解EDA技术的发展背景,理解EDA技术的三个发展阶段以及各阶段的特点。
3)理解EDA技术进行电子系统设计的特点,在此基础上理解EDA的定义和EDA技术的主要内容。
4)了解常用的硬件描述语言:
VHDL和Verilog
5)了解两种常用的大规模可编程逻辑器件FPGA和CPLD以及它们各自的特点
6)了解主流EDA工具软件
7)了解本课程使用的西安唐都公司的TD-EAD实验系统
8)理解EDA的工程设计流程。
9)理解本课程的特点与学习方法。
3.教学重点难点:
EDA技术的三个发展阶段以及各阶段的特点,EDA的定义和EDA技术的主要内容,EDA的工程设计流程。
4.教学建议:
根据EDA技术发展的历程,指出各阶段解决了哪些问题,还存在哪些问题,这样学生能清楚的了解三个发展阶段特点。
在此基础上说明使用EDA技术进行电子系统设计的特点,学生就很容易理解了,对这些特点进行总结,就是EDA的定义和EDA技术的主要内容。
通过画流程图说明EDA的工程设计流程,同时在下一章讲解使用QuartusⅡ进行FPGA设计的基本流程时,进一步巩固该知识点,并通过实验加深学生的理解。
第二章:
QuartusⅡ与VHDL语言
1.基本内容:
主流EDA工具QuartusⅡ的安装和使用。
VHDL语言程序的基本结构、语言要素、VHDL并行信号赋值语句和进程语句、VHDL顺序语句。
使用VHDL语言完成基本数字电路的设计、编译、仿真和下载。
2.教学基本要求:
a)理解VHDL语言的特点。
b)了解主流EDA工具QuartusⅡ,掌握其安装方法。
c)掌握使用QuartusⅡ进行FPGA设计的基本流程。
d)掌握VHDL语言程序的基本结构,特别是实体和结构体。
e)掌握VHDL语言的语言要素,包括VHDL语言的基本数据类型、数据对象和VHDL运算符,理解信号和变量的区别。
f)掌握VHDL语言的并行信号赋值语句,特别是选择信号赋值语句和条件信号赋值语句,理解条件信号赋值语句的各赋值子句的优先级差别。
g)掌握进程语句,掌握进程的工作原理和特点,理解进程与时钟的关系。
h)掌握VHDL语言的顺序语句,特别是IF语句和CASE语句,理解IF、CASE语句和选择信号赋值语句、条件信号赋值语句的区别。
i)掌握VHDL程序设计方法,能在QuartusⅡ环境下,使用VHDL语言进行门电路、编码器和译码器、寄存器等常用数字电路的设计、编译、仿真和下载。
3.教学重点难点:
QuartusⅡ是进行FPGA/CPLD设计最常用的EDA工具,掌握使用QuartusⅡ进行FPGA/CPLD设计的流程是后面教学和实验的基础,是本章的重点。
另外进行FPGA/CPLD的设计涉及硬件,与学生熟悉的软件开发平台不同,特别是器件选择和配置、仿真和下载,这些是学生首次接触的,这也是本章的教学难点。
VHDL语言程序的基本结构、基本语言要素、基本语句是学习VHDL语言的基础,是本章重点。
特别时进程语句是最具VHDL语言特色的语句,它提供了一种用算法描述硬件行为的方法,是使用最多的VHDL语句之一。
掌握进程语句的特点,熟练运用进程语句和其它基本语句进行组合和时序逻辑电路设计是本章的重点,也是本章的难点。
学生此时是初次使用VHDL语言和EDA工具,而它们与学生熟悉的VC等程序语言和开发环境有很大不同,因此掌握VHDL程序设计方法,在QuartusⅡ环境下,使用VHDL进行数字电路的设计、编译和下载是本章的一个难点。
4.教学建议:
理论教学要紧密结合实验教学,通过在实验课上指导学生一步步完成一个简单的QuartusⅡ工程的建立、编译、仿真和下载,掌握使用QuartusⅡ进行FPGA/CPLD设计的流程,同时学习TD-EDA实验系统。
VHDL的基本语句,常用语句如选择信号赋值语句和条件信号赋值语句、进程语句、IF语句和CASE语句等都是通过实验课来加强学生对它们的理解,只有通过上机练习才能使学生尽快掌握VHDL语言。
如果条件允许,可以改为小班上课,在实验室中进行实例讲解部分的理论教学,由学生跟随老师的实例讲解在台下一步步完成一个个VHDL设计实例,从而加深印象,加强动手能力。
第三章:
系统层次化设计
1.基本内容:
层次化设计概念,在QuartusII中实现层次化设计,元件例化、程序包和类属映射。
2.教学基本要求:
1)理解层次化设计的优点。
2)理解层次化设计的核心思想:
模块化、元件重用。
3)掌握在QuartusII中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。
4)理解元件例化、程序包和类属映射。
3.教学重点难点:
在QuartusII中实现层次化设计
4.教学建议:
结合实验五时钟选择器实验来学习如何在QuartusII中实现层次化设计。
通过在实验课上指导学生完成模块划分、元件设计文件的建立、元件符号的生成、元件调用、LPM宏模块的调用与参数配置、顶层电路原理图的建立,最终在QuartusII完成一个复杂数字系统的层次化设计。
通过实验课,使学生掌握在QuartusII中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。
第四章:
状态机在VHDL中的实现
1.基本内容:
Moore状态机的VHDL描述,Mealy状态机的VHDL描述,用状态机实现交通灯控制器
2.教学基本要求:
1)掌握Moore状态机的VHDL描述。
2)掌握Mealy状态机的VHDL描述。
3)掌握使用状态机实现数字系统设计的方法。
3.教学重点难点:
状态机是一类很重要的时序电路,是许多数字电路的核心部件,同时有限状态机是一种复杂的数字系统,因此有限状态机的设计是本章的重点和难点。
4.教学建议:
结合实验六:
使用状态机实现交通灯控制实验,来加深对有限状态机设计的理解。
执笔人:
任峻
审核人:
分管教学院长:
2007年2月20日
湖南农业大学课程教学周历
2007-2007学年度第二学期计算机与信息工程院信息工程专业三年级60人
课程名称《现代电子系统设计》学时分配:
总学时44其中:
讲授24实验20实习
课堂讨论课程论文作业考试(考查)考查
周次
讲授
实验、作业或其他环节
章节和内容
学时
内容
学时
1
§1绪论
2
1
§2QuartusⅡ与VHDL语言
2.2安装QuartusⅡ
2.3VHDL与QuartusⅡ初体验
2
2
§2QuartusⅡ与VHDL语言
2.4VHDL程序基本结构
2.5VHDL基本数据类型
2.6VHDL数据对象
2
基本门电路实验
4
2
§2QuartusⅡ与VHDL语言
2.7VHDL运算符
2.8.1VHDL并行信号赋值语句
2
3
§2QuartusⅡ与VHDL语言
2.8.2进程语句
2.9VHDL顺序语句
2
译码器实验
编码器实验
4
3
§3系统层次化设计
3.1层次化设计概念
3.2在QuartusII中实现层次化设计
2
4
§3系统层次化设计
3.3系统层次化设计进阶
2
寄存器实验
4
4
§4状态机在VHDL中的实现
4.1Moore状态机的VHDL描述
4.2Mealy状态机的VHDL描述
2
5
§4状态机在VHDL中的实现
4.3用状态机实现交通灯控制器
2
时钟选择器实验
4
5
机动
2
交通灯控制器实验
4
主讲教师任峻实验课教师任峻辅导教师任峻
教研室主任张红燕院系负责人张林峰日期2007-3-10
注:
本表由主讲教师在开学后第一周内填写好一式三份,第二周分存于任课教师、系(教研室)、教务处(以院、系为单位)
“现代电子系统设计”教案
第一次课
内容:
1)介绍EDA技术的涵义、发展历程和应用领域;
2)介绍EDA技术的主要内容;
3)介绍EDA的工程设计流程;
4)说明本课程的特点与学习方法。
教学目的:
1)通过介绍EDA技术的涵义、发展历程和应用领域,使学生了解本课程的实际应用很大,调动学生学习这门课程的积极性
2)通过介绍EDA技术的主要内容,使学生了解这门课程要学习什么。
在此基础上说明本课程的特点与学习方法。
3)说明各种通信系统的组成,了解它们的优缺点,出现背景。
重点说明数字通信系统的特定和优点。
4)介绍EDA的工程设计流程,说明当前EDA设计的特点,用软件方式设计硬件,用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的,因此类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。
教学重点、难点:
1)EDA技术的三个发展阶段以及各阶段的特点;
2)EDA的定义和EDA技术的主要内容;
3)EDA的工程设计流程。
教学方法:
比较、举例、图解。
参考书目与资料:
略
教学过程:
(一)自我介绍,说明课时安排、成绩评定方法、课程定位、教学网站的进入。
(二)讲授新课
课堂教学实施过程共分六步。
1)介绍EDA技术的涵义。
2)说明EDA技术的发展背景,说明EDA技术的三个发展阶段,比较三个阶段的各解决了什么问题,在此基础上理解各阶段的特点。
3)在第二步理解EDA技术进行电子系统设计的特点的基础上引出并详细说明EDA的定义,加深对EDA技术的涵义的理解。
4)在第三步详细说明EDA的定义的基础上,引出EDA技术的4个主要内容:
硬件描述语言:
设计的主要表达手段;大规模可编程逻辑器件:
设计的载体;软件开发工具:
设计的工具;实验开发系统:
下载工具及硬件验证工具。
再分别介绍EDA技术的4个主要内容:
了解常用的硬件描述语言VHDL和Verilog;了解两种常用的大规模可编程逻辑器件FPGA和CPLD以及它们各自的特点;了解主流EDA工具软件;了解本课程使用的西安唐都公司的TD-EAD实验系统
5)说明课程要求:
通过学习这门课程要掌握运用EDA开发工具设计开发电子系统,引出这门课程的特点:
实践性强,说明我们的学习方法:
抓住一个重点:
VHDL的编程;掌握两个工具:
QuartusII和TD-EAD实验系统;运用三种手段:
通过案例分析、应用设计和上机实践,实现理论与实践相结合,边学边用,边用边学。
6)用设计一个简单电子系统为例,引出EDA的工程设计流程。
说明当前EDA技术发展的特点:
用软件方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
现代EDA设计类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。
同时这里又回顾复习了使用EDA技术进行电子系统设计的特点。
最后图解说明EDA的工程设计流程。
教学后记:
课程的第一堂课至关重要,一定要让学生对整门课的学习有个系统的了解。
学生需要了解为什么要上这门课,这门课到底要学什么,学了有什么用以及如何学习这门课。
学生要对这门课有整体的了解,掌握这门课的难度,使学生既有学习的动力,又不会产生畏难情绪。
特别是这门课比较难,因此学生容易产生畏难情绪,因此一定要提高他们的学习兴趣、克服他们的畏难情绪。
在第一次课不能讲太快,语速要适中,不要讲太深,特别是不能提太多的专业词汇(提了一定要解释)。
要多用图解,而不是文字说明,这使学生有更直观的印象。
通过课后交流,学生反映这堂课听得很轻松,他们欢迎这些方式。
第二次课
内容:
安装QuartusⅡ,VHDL与QuartusⅡ初体验
教学目的:
1)理解VHDL语言的特点。
2)了解主流EDA工具QuartusⅡ,掌握其安装方法。
3)掌握使用QuartusⅡ进行FPGA设计的基本流程。
教学重点、难点:
使用QuartusⅡ进行FPGA设计的基本流程。
教学方法:
举例、演示。
参考书目与资料:
略
教学过程:
课堂教学实施过程共分两步。
1)回顾上节课所讲的EDA的主要内容。
在此基础上引出VHDL语言的特点,并介绍主流EDA开发工具QuartusⅡ,说明它的不同版本的特点。
重点介绍PC破解版的安装步骤。
演示安装过程,在演示是重点提醒学生注意容易出错的几个地方。
2)回顾上节课所讲的当前EDA技术发展的特点,EDA的工程设计流程。
在此基础上说明使用QuartusⅡ进行FPGA设计的基本流程,并通过实际演示设计一个简单的电子系统:
与非门,说明使用QuartusⅡ和VHDL开发电子系统的基本流程。
在演示过程中重点提醒学生注意容易出错的几个地方,并给出一些初学者的小窍门。
教学后记:
掌握使用QuartusⅡ进行FPGA/CPLD设计的流程是EDA设计的基础,因此必须熟悉QuartusⅡ设计的流程,这是个实践性非常强问题,因此我们通过实际演示设计过程来说明,这样更容易掌握。
上午上理论课,下午的实验就进行安装QuartusⅡ和基本门电路实验,学生在实际操作中熟悉掌握了设计流程。
这里要注意理论课和实验课时间安排,不要相隔太久。
课后学生反映我们这种时间安排非常好,有效的加深了学生的印象。
第三次课
内容:
VHDL程序基本结构,VHDL基本数据类型,VHDL数据对象
教学目的:
1)掌握VHDL语言程序的基本结构,特别是实体和结构体。
2)掌握VHDL语言的语言要素,包括VHDL语言的基本数据类型、数据对象和VHDL运算符,理解信号和变量的区别。
教学重点、难点:
VHDL语言程序的基本结构,VHDL语言的语言要素。
教学方法:
举例、演示、归纳、比较。
参考书目与资料:
略
教学过程:
课堂教学实施过程共分三步。
1)VHDL程序基本结构
回顾上节课设计与非门的例子,引出设计与非门的设计思想:
先确定系统功能和接口,再进行内部电路设计,由此引出VHDL程序的基本结构:
实体:
对应系统接口,结构体:
对应系统内部电路。
从与非门的VHDL程序中可以直观的看到它的三部分:
库、程序包的调用,实体声明,结构体定义。
以与非门的VHDL程序为例说明库、程序包的调用的作用。
说明调用语法,介绍常用的三个库、程序包。
以与非门的VHDL程序为例说明实体声明的语法,各项的意义。
提醒学生注意初学者容易出错的地方,如:
实体名必须与文件名相同,否则编译会出错;最后一条端口声明语句不可加分号等。
并通过演示出错情况,加深学生的印象。
最后通过图解归纳实体声明的格式,容易出错的地方,并对初学者进行相应的建议:
使用范例,在Edit—>InsertTemplate中选择范例。
Quartus进行编译时,要求关联文件文件名相同,建议采用Quartus默认文件名,不要自己更改文件名。
以与非门的VHDL程序为例说明结构体的语法,各项的意义。
提醒学生注意初学者容易出错的地方。
并通过演示出错情况,加深学生的印象。
最后通过图解归纳结构体的格式,应注意的地方。
2)VHDL基本数据类型
回到与非门的VHDL程序的实体声明部分,引出VHDL的数据类型。
介绍各种数据类型,重点介绍最常用的标准逻辑位、标准逻辑位矢量。
提醒学生注意使用标准逻辑位矢量时必须注明数组中元素个数和排列方向,并举例说明。
最后比较VHDL和C语言中使用数据类型的异同点:
VHDL同C语言一样,必须先声明端口和信号,然后才能使用,在声明中必须定义它们的数据类型;与C语言不同,VHDL是强类型语言,只有相同数据类型的端口、信号和操作数才能相互作用。
3)VHDL数据对象
介绍VHDL的数据对象:
信号、变量和常量。
以与非门的VHDL程序为例,通过图解比较说明信号和端口的异同点。
说信号声明的格式和信号赋值语句的格式。
重点说明矢量赋值,通过举例说明在矢量赋值要特别注意两矢量之间的元素对应关系。
说明定义变量的语法格式、变量赋值的语法格式。
比较信号和变量的区别。
最后介绍定义常量的语法格式。
教学后记:
略。
第四次课
内容:
VHDL运算符、VHDL并行信号赋值语句。
教学目的:
1)掌握VHDL运算符。
2)掌握VHDL语言的并行信号赋值语句,特别是选择信号赋值语句和条件信号赋值语句,理解条件信号赋值语句的各赋值子句的优先级差别。
教学重点、难点:
并置运算符“&”、选择信号赋值语句、条件信号赋值语句。
教学方法:
举例、演示、图解。
参考书目与资料:
略
教学过程:
课堂教学实施过程共分四步。
1)分别介绍VHDL的四种运算符:
算术运算符、并置运算符、关系运算符、逻辑运算符。
对算术运算符重点说明能支持的数据类型和不能支持的数据类型。
并置运算符是本课程的一个难点,通过一个电路设计,举例说明并置运算符的应用。
关系运算符重点说明能支持的数据类型。
提醒学生注意:
“<=”在条件语句中出现为小于等于,其它情况为信号赋值。
逻辑运算符重点说明其优先级关系。
2)并行语句是硬件描述语言区别于一般软件程序语言的最显著的特点之一。
通过图解说明常用并行语句特点,从图中直观的看到:
并行语句之间是并行执行,但并行语句内部的执行可以是顺序的(进程语句),也可以是并行的(块语句)。
3)介绍并行信号赋值语句:
简单信号赋值语句、选择信号赋值语句、条件信号赋值语句。
给出选择信号赋值语句格式,并通过设计3-8线译码器,说明如何使用选择信号赋值语句。
提醒学生注意容易出错的几点:
“选择值”一定要覆盖所有可能情况,若不可能一一指定,则要借助others为其它情况找个“出口”。
因此强烈建议初学者使用with…select语句时,最后都带上when…others。
“选择值”必须互斥,不能出现条件重复或重叠的情况。
给元素赋常数值,用单引号;给矢量赋常数值,用双引号。
通过演示出错情况,加深学生的印象。
4)给出条件信号赋值语句格式,并通过设计8-3线优先编码器,说明如何使用条件信号赋值语句。
提醒学生注意容易:
在执行When…Else语句时,赋值条件按书写的先后顺序逐项测试,一旦发现某一赋值条件得到满足,即将相应表达式的值赋给目标信号,并不再测试下面的赋值条件。
即各赋值子句有优先级的差别,按书写的先后顺序从高到低排列。
通过观察仿真结果,直观的看到赋值优先级,加深学生的印象。
教学后记:
略。
第五次课
内容:
进程语句、VHDL语言的顺序语句。
教学目的:
1)掌握进程语句,掌握进程的工作原理和特点,理解进程与时钟的关系。
2)掌握VHDL语言的顺序语句,特别是IF语句和CASE语句,理解IF、CASE语句和选择信号赋值语句、条件信号赋值语句的区别。
教学重点、难点:
进程的工作原理和特点,进程与时钟的关系。
IF语句和CASE语句,IF语句和CASE语句的嵌套。
教学方法:
图解、举例、总结。
参考书目与资料:
略
教学过程:
课堂教学实施过程共分四步。
1)介绍进程语句的特点、格式,说明各项意义。
图解说明进程工作原理,通过该图直观的理解进程的特点:
进程本身是并行语句,单其内部是顺序语句;进程只有在特定的时刻(敏感信号发生变化)才会被激活。
在此基础上说明进程与时钟的关系。
通过图解说明时钟上升沿驱动进程语句,使学生较好的理解了进程的时钟和进程是一种隐形的循环。
给出时钟沿的VHDL描述,通过几个寄存器的设计,说明如何使用进程语句,通过观察波形仿真图,加深学生对进程与时钟的关系的理解。
最后总结进程的要点和容易出错的几个地方。
2)介绍顺序语句,提醒学生注意进程在激活的一瞬间就执行完进程中所有语句。
重点介绍IF语句和CASE语句。
给出IF语句的三种格式,说明它们的特点。
在此基础上总结