您好,欢迎访问三七文档
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)说明什么是元件例化:将以前设计的实体当作本
本文标题:eda技术教案
链接地址:https://www.777doc.com/doc-2913127 .html