eda技术教案.docx
《eda技术教案.docx》由会员分享,可在线阅读,更多相关《eda技术教案.docx(13页珍藏版)》请在冰豆网上搜索。
![eda技术教案.docx](https://file1.bdocx.com/fileroot1/2023-1/28/5e91ce43-bd45-4bac-a26b-33159af087d4/5e91ce43-bd45-4bac-a26b-33159af087d41.gif)
eda技术教案
EDA技术教案
第一次课
内容:
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开发电子系统的基本流程。
在演示过程中重点提醒学生注意容易出错的几个地方,并给出一些初学者的小窍门。
第三次课
内容:
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语句的三种格式,说明它们的特点.在此基础上总结使用IF语句注意的要点。
最后通过设计串行输入并行输出的移位寄存器和并行输入串行输出的移位寄存器,加深学生对IF语句、IF语句嵌套的理解。
3)给出CASE语句的格式,说明CASE语句使用要点。
最后通过设计带使能端的2-4译码器,加深学生对IF语句、IF语句嵌套的理解。
4)介绍LOOP语句和空语句。
第六次课
内容:
层次化设计概念、在QuartusII中实现层次化设计
教学目的:
1)理解层次化设计的优点。
2)理解层次化设计的核心思想:
模块化、元件重用。
3)掌握在QuartusII中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。
教学重点、难点:
在QuartusII中实现层次化设计.
教学方法:
图解、举例、演示。
教学过程:
课堂教学实施过程共分三步。
1)说明层次化设计的优点。
图解说明层次化设计的核心思想:
模块化、元件重用。
加深对层次化设计的优点的理解。
2)图解说明在QuartusII中实现系统层次化设计的主要步骤:
首先按自顶向下的设计方法,设计系统,划分和定义系统子模块,形成系统层次化设计图。
其次用VHDL语言设计底层子模块,并生成相应的元件符号.最后调用下层元件,完成上层模块的设计,并生成相应的元件符号。
这样从底层元件开始,自底向上完成系统的设计。
3)通过实际演示时钟选择器的设计过程,说明如何在QuartusII中实现系统层次化设计,主要包括模块划分、元件设计文件的建立、元件符号的生成、元件调用、LPM宏模块的调用与参数配置、顶层电路原理图的建立.
第七次课
内容:
系统层次化设计进阶
教学目的:
理解元件例化、程序包和类属映射.
教学重点、难点:
略
教学方法:
图解、举例.
教学过程:
课堂教学实施过程共分四步.
1)回顾上节课的内容:
在QuartusII中实现层次化设计,并引出新问题:
如何用VHDL语言而不是元件符号来调用已设计的元件,实现系统层次化设计。
由此引出元件例化、程序包和类属映射这几个层次化设计中最重要的VHDL语句。
2)说明什么是元件例化:
将以前设计的实体当作本设计的一个元件(元件定义),然后再调用这个元件,即用VHDL语言将各元件之间的连接关系描述出来(元件映射)。
介绍元件例化中的元件定义和元件映射的语法格式,说明各项意义。
通过一个例子引用2分频电路,来说明如何使用元件例化。
3)通过图解说明元件例化语句的缺点:
如果在一个实体中用到多个元件,那么在其结构体中要用大量篇幅定义元件。
元件定义在结构体中,只有这个实体能调用该元件,如果有多个实体用到同一个元件,那么在这多个实体中都要对该元件进行定义。
通过对该问题的解决,引出程序包:
将数据类型、元件定义、子程序等收集到一个VHDL程序包中,只要在设计实体中用USE语句调用该程序包,就可以使用这些预定义的数据类型、元件定义、子程序.说明程序包的语法格式,通过举例说明如何在程序包中进行元件定义以及如何应用程序包。
提醒学生注意容易出错的地方:
程序包设计文件应保存为同名的VHDL文件并编译。
只有编译过的程序包才能被其它设计实体调用。
4)通过一个常见的实际问题:
设计一个带参数的电子系统,使其应用范围更广,引出类属映射语句。
通过设计带参数的分频器,说明如何用VHDL语言设计和调用带参数的元件。
第八次课
内容:
Moore状态机的VHDL描述、Mealy状态机的VHDL描述.
教学目的:
理解什么是Moore状态机和Mealy状态机,掌握Moore状态机和Mealy状态机的VHDL描述。
教学重点、难点:
Moore状态机和Mealy状态机的VHDL描述。
教学方法:
图解、举例、类比.
教学过程:
课堂教学实施过程共分三步.
1)说明组合逻辑和时序逻辑的区别.用老式按钮风扇类比组合逻辑,空调遥控器类比时序逻辑,形象的说明了组合电路的输出只与当前输入有关。
时序逻辑电路的输出不仅与当前输入有关,还与过去的一系列输入有关。
由此引出状态机:
输出由当前状态和当前输入决定,是一种广义的时序电路。
状态机分Moore与Mealy型。
说明这两种状态机的特点:
Moore型输出仅取决于其所处状态,Mealy型输出不仅与当前状态有关,也与当前输入有关,更常见.举例说明Moore型状态机,并画出其状态转移图,通过状态转移图加强Moore型输出仅取决于其所处状态的理解.举例说明Mealy型状态机,并画出其状态转移图,通过状态转移图说明Mealy型输出不仅与当前状态有关,也与当前输入有关的特点。
2)以Moore状态机的状态转换图说明如何用VHDL来描述Moore状态机,分为两个进程:
确定状态转移的进程Chang_State,决定输出值的进程Output_Process.状态转移进程:
Moore状态机状态转移与输出Dout无关。
当S0状态输入0时,仍然还在S0状态,没有进行状态转移,因此也与这种自环与状态转移无关。
状态转移进程由去掉输出和自环后的状态转移图决定。
根据化简后的状态图写出状态转移进程。
CASE语句嵌套IF语句,CASE语句表示当前状态,IF语句表示在当前状态下,根据当前输入决定状态转移.提醒学生注意:
一定要有状态机开始工作的条件,否则状态机永远不会工作。
输出进程:
在Moore状态机中输出只与当前状态相关,用一个CASE语句完成。
3)在上一步的基础上,对比Moore状态机的VHDL实现,说明Mealy状态机的实现,仍分为两个进程:
确定状态转移的进程Chang_State,决定输出值的进程Output_Process。
由于Mealy状态机与Moore状态机的区别只在输出Dout同时与当前状态Si和当前输入有关。
因此Chang_State进程的实现与Moore机相同.输出由当前状态和当前输入共同决定,因此输出进程Output_Process也是CASE嵌套IF的格式,与状态转移进程类似.
第九次课
内容:
用状态机实现交通灯控制器
教学目的:
掌握使用状态机实现数字系统设计的方法。
教学重点、难点:
在QuartusII中状态机的实现方法。
教学方法:
图解、举例、演示。
教学过程:
课堂教学实施过程共分四步。
1)说明任务与要求,进行系统分析设计,在此基础上画出系统框图,确定元件模块和元件接口与连接。
回顾在QuartusII中实现层次化设计过程,用VHDL语言实现底层模块:
计数器和控制器的设计。
2)重点介绍如何用状态机设计控制器,确定状态和状态转移条件,画出状态转移图,发现这是个Moore状态机。
回顾Moore状态机的VHDL实现,完成对控制器的设计。
3)完成计数器和控制器的设计后,生成相应的计数器和控制器元件符号。
按系统框图建立顶层电路图,编译工程.
第十次课
教学内容:
Protel2004项目文件的管理和编辑
(一)
教学目标:
1、学会在Protel2004软件中创建相应的各种文件
2、学会在Protel2004文件中创建相应的项目
3、学会在Protel2004文件中创建相应的设计工作区
教学重点:
对Protel2004软件中各种层级,各种种类繁多的文件的识别和创建
教学方法:
演示操作法
课时安排:
1课时
教学过程:
一、Protel2004包含了三级文件管理模式,分别是设计工作区,项目和文件,级别依次从高到低。
而文件有分为好多种类有原理图文件,PCB封装文件,库文件,脚本文件,混合信号仿真文件,又如项目文件中有包含不同项目对应得不同文件。
我们只是建立几个常用的文件
二、在Protel2004工作环境中创建原理图文件
1、打开文件/创建/原理图,创建一个原理图文件,并保存。
注意器保存位置和保存的文件名称,类型扩展名。
2、打开文件/创建/PCB文件,创建一个PCB文件,并保存。
注意器保存位置和保存的文件名称,类型扩展名。
三、在Protel2004工作环境中创建项目文件
打开文件/创建/项目/PCB项目,创建一个PCB项目文件,并保存。
注意器保存位置和保存的文件名称,类型扩展名.
四、在Protel2004工作环境中创建项目文件
打开文件/创建/设计工作区,创建一个设计工作区文件,并保存.注意器保存的方法、位置和保存的文件名称,类型扩展名。
以上在保存文件的,项目级工作区的时候有几种不同的方法:
1、在相应的文件上点击右键保存,或另存为
2、在菜单栏中文件中找出相应命令执行保存操作
五、打开工作面板projects。
查看他们的结构关系。
教学反思于总结:
在演示教学的同时要注意教学的节奏,应反复演示,是学生能看清楚每一个操作步骤。
要求学生对于常用的文件类型的扩展名,图形符号有所了解。
第十一次课
教学内容:
原理图的设计基础
教学目标:
1、掌握原理图的一般设计步骤
2、熟悉Protel2004原理图设计工具栏
3、熟练操作原理图的图样的放大于缩小
教学难点:
掌握原理图图样的放大于缩小的操作方法,牢记器快捷键操作。
教学方法:
讲授法和演示操作法
课时安排:
1课时
教学过程:
一、原理图的一般设计步骤(讲授法)
原理图的设计流程如下:
1、启动Protel2004原理图编辑器
新建一个原理图文件或打开一个原理图文件,都可以启动原理图编辑器,进入原理图设计工作。
这里我们打开Protel2004自带示例中的一个原理图文件。
2、设置原理图图样的大小及版面
3、在图样上放置元器件
4、对所放置元器件进行布局、布线
5、对布局、布线后的元器件进行调整
二、Protel2004原理图设计工具栏
这里我们打开Protel2004自带示例中的一个原理图文件。
Protel2004为设计者提供了方便快捷的原理图绘制工具,分类放置在不同的工具栏中.这些工具栏,可以通过执行选单命令“视图/工具栏"的下拉菜单进行打开和关闭。
三、图样的放大于缩小:
1、在视图菜单中有一系列的图样于缩小命令,分别执行这些命令,观察图样的变化,并记忆理解这些命令的含义和作用.熟练掌握这些命令的快捷键执行方式。
2、利用键盘实现图样的放大于缩小。
教学反思于总结:
关于原理图设计的一般步骤,学生只要有个大致的了解就可以了,这个过程会在以后的操作中逐渐的熟练起来。
儿本节课中第三部分是重点难点。
需要学生对于各个命令逐条的反复的操作,观察器变化,这个操作过程是枯燥的,应该尽可能的提高这节课的趣味性。
让学生更积极的投入进去。
第十二讲
教学内容:
连接线路
(一)
教学目标:
1、能够熟练的连接导线
2、学会放置线路节点
3、掌握设置网络标号
教学重点:
1、熟练的在电路中连接导线
2、理解网络标号的含义并能够正确而且熟练的放置网络标号
教学方法:
演示教学法,任务完成法
课时安排:
2课时
教学过程:
一、连接导线
当所有电路元器件、电源和其他对象放置完毕后,就可以进行原理图中个对象的连线。
连线的主要目的是按照电路设计的要求建立网络的实际连通性。
打开任一原理图电路,对所教授内容进行演示。
连线的方法:
执行“放置/导线命令”命令,或左键单击wring工具栏中的连接导线命令。
此时光标变为十字状,进入连线状态。
当光标到达电气引脚是,会自动出现一个红色的“×",单击鼠标左键,确定导线的起点,拖动鼠标到终点处,单击鼠标左键,一根导线结束。
再次单击开始画第二条导线,也可单击鼠标右键退出连线状态.
Protel2004为设计者提供了四种导线模式:
90度走线、45度走线、任意角度走线和自动布线.在画导线过程中,按下shift+space键,可以在各种走线模式间循环切换。
二、放置线路结点
所谓线路结点,是指当两条导线交叉时相连的状况。
如果没有结点存在,则认为该两条导线在电气上是不连通的。
反之,则连通。
Protel2004是设计者在绘制导线时,将在T字连线处自动产生结点,而在十字处不会自动产生结点,若设计者需要结点则必须由手工放置。
三、设置网络标号
网络标号是实际电气连接的导线的序号。
具有相同的网络标号的导线,不管图上是否连在一起,都被看做是同一条导线。
它多用于多层次电路或多重式电路的各个模块电路之间的连接,这个功能在绘制印制电路板时十分重要。
放置网络标签的方法:
执行“放置/网络标签"命令,光标变成十字状当网络标签于导线或引脚连接状态时,会出现红色的“×”标志,单击鼠标左键,完成放置。
同时对网络标签进行设置。
绘制下列电路图,完成对所学内容的练习
教学反思与总结:
本次课中,导线和网络标签的使用在绘制原理图的过程中是经常使用的,尤其是连接导线,需要反复的练习才能够熟练的掌握.有的学生在连接导线是的终点和下一段导线的起点操作不正确,将单击变为了双击,会造成元器件短路(如下图示例)。
还有就是网络标签的放置位置不正确,没有注意到红色小叉的标记,随让标签也是放置在了导线或者元件的附近,但是并未形成成功的连接。
第十三讲
教学内容:
原理图的绘制
教学目标:
1、通过实际的大量的练习熟悉并掌握原理图文件的设计步骤
2、通过实际的大量的练习
教学重点:
熟悉并掌握原理图的绘画技巧
教学方法:
任务式教学法
课时