可编程逻辑器件的设计与测试教案_可编程逻辑器件教案

2020-02-29 教案模板 下载本文

可编程逻辑器件的设计与测试教案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“可编程逻辑器件教案”。

鄂州职业大学教学教案

《可编程逻辑器件的设计与测试》

院系:电子电气工程系 专业:11级电子信息工程技术 授课教师:涂贵军

“可编程逻辑器件的设计与测试”教案

第一周课

容:

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的编程;掌握两个工具: Quartus II 和 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—> Insert Template 中选择范例。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语句和空语句。

教学后记:进程语句是最具VHDL语言特色的语句,它提供了一种用算法描述硬件行为的方法,是使用最多的VHDL语句之一。掌握进程语句的特点,熟练运用进程语句和其它基本语句进行组合和时序逻辑电路设计是本章的重点和难点。在使用进程语句中最难理解的是时钟,我们通过图解说明进程的工作原理过程,使学生较好的理解了进程的时钟和进程是一种隐形的循环。课后学生反映较好。由于设计进程需要一定的数字电路知识,部分学生对进程和时钟仍较难理解,这还需要通过不断的上机实验、编程才能掌握。

第六周课

容:层次化设计概念、在Quartus II 中实现层次化设计

教学目的:

1)理解层次化设计的优点。

2)理解层次化设计的核心思想:模块化、元件重用。

3)掌握在 Quartus II 中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。

教学重点、难点:在Quartus II 中实现层次化设计。

教学方法:图解、举例、演示。

参考书目与资料:略

教学过程:

课堂教学实施过程共分三步。

1)说明层次化设计的优点。图解说明层次化设计的核心思想:模块化、元件重用。加深对层次化设计的优点的理解。

2)图解说明在 Quartus II 中实现系统层次化设计的主要步骤:首先按自顶向下的设计方法,设计系统,划分和定义系统子模块,形成系统层次化设计图。其次用 VHDL 语言设计底层子模块,并生成相应的元件符号。最后调用下层元件,完成上层模块的设计,并生成相应的元件符号。这样从底层元件开始,自底向上完成系统的设计。

3)通过实际演示时钟选择器的设计过程,说明如何在Quartus II 中实现系统层次化设计,主要包括模块划分、元件设计文件的建立、元件符号的生成、元件调用、LPM宏模块的调用与参数配置、顶层电路原理图的建立。

教学后记:结合实验五时钟选择器实验来学习如何在Quartus II 中实现层次化设计。在实验课上指导学生完成模块划分、元件设计文件的建立、元件符号的生成、元件调用、LPM宏模块的调用与参数配置、顶层电路原理图的建立,最终在Quartus II完成一个复杂数字系统的层次化设计。通过实验课,使学生掌握在 Quartus II 中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。

第七周课

容:系统层次化设计进阶

教学目的:理解元件例化、程序包和类属映射。

教学重点、难点:略

教学方法:图解、举例。

参考书目与资料:略

教学过程:

课堂教学实施过程共分四步。

1)回顾上节课的内容:在Quartus II 中实现层次化设计,并引出新问题:如何用 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_Proce。状态转移进程:Moore 状态机状态转移与输出 Dout 无关。当S0状态输入0时,仍然还在S0状态,没有进行状态转移,因此也与这种自环与状态转移无关。状态转移进程由去掉输出和自环后的状态转移图决定。根据化简后的状态图写出状态转移进程。CASE语句嵌套IF语句,CASE语句表示当前状态,IF语句表示在当前状态下,根据当前输入决定状态转移。提醒学生注意:一定要有状态机开始工作的条件,否则状态机永远不会工作。输出进程:在Moore状态机中输出只与当前状态相关,用

一个CASE语句完成。

3)在上一步的基础上,对比Moore状态机的VHDL实现,说明Mealy状态机的实现,仍分为两个进程:确定状态转移的进程Chang_State,决定输出值的进程 Output_Proce。由于Mealy状态机与Moore状态机的区别只在输出 Dout 同时与当前状态 Si 和当前输入有关。因此Chang_State进程的实现与Moore机相同。输出由当前状态和当前输入共同决定,因此输出进程 Output_Proce也是CASE嵌套IF的格式,与状态转移进程类似。

教学后记:略

第九周课

容:用状态机实现交通灯控制器

教学目的:掌握使用状态机实现数字系统设计的方法。

教学重点、难点:在 Quartus II 中状态机的实现方法。

教学方法:图解、举例、演示。

参考书目与资料:略

教学过程:

课堂教学实施过程共分四步。

1)说明任务与要求,进行系统分析设计,在此基础上画出系统框图,确定元件模块和元件接口与连接。回顾在Quartus II 中实现层次化设计过程,用VHDL语言实现底层模块:计数器和控制器的设计。

2)重点介绍如何用状态机设计控制器,确定状态和状态转移条件,画出状态转移图,发现这是个Moore状态机。回顾Moore状态机的VHDL实现,完成对控制器的设计。

3)完成计数器和控制器的设计后,生成相应的计数器和控制器元件符号。按系统框图建立顶层电路图,编译工程。

教学后记:结合实验六:使用状态机实现交通灯控制实验,来加深对有限状态机设计的理解,同时巩固如何在Quartus II 中实现层次化设计。

《可编程逻辑器件的设计与测试教案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
可编程逻辑器件的设计与测试教案
点击下载文档
相关专题 可编程逻辑器件教案 设计 可编程 教案 可编程逻辑器件教案 设计 可编程 教案
[教案模板]相关推荐
    [教案模板]热门文章
      下载全文