1、FPGA应用技术及实践电子教案学习情境一 概述任务一任务二EDA技术简介(4课时)可编程逻辑器件简介(2课时)学习情境学习情境一 概述教学任务任务一 EDA技术简介学时4教学目标专业能力:1、 了解EDA技术的概念、发展过程、应用对象及优势2、 对硬件开发语言有一定的了解3、 掌握基于FPGA的电子产品开发流程4、 适应FPGA开发的职业情境氛围5、 认知FPGA开发岗位及岗位职责方法能力:1、 信息收集、学习能力2、 知识应用能力3、 制定工作计划及计划执行能力4、 工作中发现问题、解决问题的能力社会能力:1、 具有吃苦耐劳的品质2、 具有与人协作、团队工作的能力具有质量意识、安全意识教学内
2、容1、 EDA技术简介2、 基于FPGA的开发流程设计3、 参观FPGA实训基地重点基于FPGA的开发流程设计难点基于FPGA的开发流程设计教 学 设 计教学方法问题导向法、讨论法、讲授法、现场观摩法教学场所与条件FPGA实训基地、多媒体教室阶段行为步骤(内容)教学手段时间资讯明确任务,收集EDA技术及FPGA开发流程的相关资料问题导向法30计划制定EDA技术及FPGA开发流程的学习计划,FPGA开发岗位的认知观摩计划,讨论重点、难点与实施方案分组讨论,确定该项目工作计划20决策分组展示初步方案,相互讨论、修改方案;教师分析、答疑、讲解难点;根据学生、教师共同点评,修订、确定最终实施方案集中讨
3、论法讲授法10实施学生分组进入FPGA实训基地,熟悉环境,学习FPGA开发环境的构成,切身体验职业情境;观察岗位的职责以及生产环境相关管理规定;归纳总结,完成引导问题相关联工作任务学生自主完成65检查检查任务的完成情况,分析不足学生自主完成20评价汇报学习、工作心得;对任务完成情况,进行自我评价与教师评价学生自评、小组互评、教师评价15学习情境一:概述任务一:EDA技术简介教学方案一、资讯明确任务:了解EDA技术,掌握FPGA开发流程,建立对FPGA开发岗位的基本认知。问题引领:学生通过查阅资料、网络、视频等途径获取以下信息:1、EDA技术的概念及发展历程。2、EDA技术的应用对象是什么?3、
4、EDA技术相对传统电路设计的优势有哪些?4、基于FPGA的开发流程是怎样的?5、FPGA开发环境由什么构成,各设备功能是什么?二、计划分析讨论引导问题,制定EDA技术和FPGA开发流程的学习计划和FPGA开发岗位的观摩计划,讨论重点、难点与实施方案。三、决策(1)分组展示初步方案,教师讲解相关知识点,相互讨论、修改方案; (2)根据学生、教师的点评,修订、确定最终生产方案教师讲授:审阅学生制定的初步表达方案,分析学生对基本知识掌握程度,以确定讲授新知识点的范围和重点。项目一 EDA技术简介1、EDA概念EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以
5、计算机为设计工具,在EDA软件平台上完成设计文件的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作。2、EDA技术的发展历程 20世纪70年代的CAD阶段 20世纪80年代的计算机辅助工程设计CAE阶段 20世纪90年代电子系统设计自动化EDA阶段3、EDA技术应用对象4、EDA技术优势l 计算机模拟验证,缩短设计周期;l 各类库的支持;l 极大地简化设计文档的管理;l 最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术;l 设计者拥有完全的自主权;l 良好的可移植与可测试性,为系统开发提供了可靠的保证;l
6、 能将所有设计环节纳入统一的自顶向下的设计方案中;l 系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。5、VHDLVHDLVHSIC(Very High Speed Integrated Circuit)Hardware Description Language),其具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。项目二 基于FPGA的开发流程设计基于
7、FPGA的EDA开发流程(1)设计输入(2)综合将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。(3)适配(布线布局)适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。适配所选定的目标器件必须属于原综合器指定的目标器件系列。(4)仿真仿真是指在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试。四、实施学生分组进入FPGA实训基地,熟悉环境,学习FPGA开发环境的构成,观察岗位的职责以及生产环境相关管理规定;归纳总结,写出总结报告。五、检查检查任务的完成情况,分析不足
8、。六、评价学生汇报学习、工作心得;对工作过程与任务完成情况,进行自我评价与教师评价;评价不足、缺憾以及成功之处。教师进行任务总结、评价。FPGA应用技术及实践电子教案学习情境一 概述任务一任务二EDA技术简介(4课时)可编程逻辑器件简介(2课时)学习情境学习情境一 概述教学任务任务二 可编程逻辑器件简介学时2教学目标专业能力:6、 了解可编程逻辑器件的分类、基本结构、基本资源7、 对可编程逻辑器件的编程原理和工艺有一定了解,能根据设计要求选择合适的芯片方法能力:1、 信息查询、学习能力2、 制定工作计划及计划执行能力3、 工作中发现问题、解决问题的能力社会能力:1、 集体协作能力2、 语言表达
9、能力教学内容1、 可编程逻辑器件简介2、 FPGA/CPLD产品简介重点可编程逻辑器件的编程原理难点可编程逻辑器件的编程原理教 学 设 计教学方法演示法、头脑风暴法、现场观摩法教学场所与条件FPGA实训基地、多媒体教室阶段行为步骤(内容)教学手段时间资讯明确任务,收集可编程逻辑器件的相关资料问题导向法10计划确定学习计划,讨论重点、难点与实施方案分组讨论法、确定该项目工作计划10决策分组展示初步方案,相互讨论、修改方案;教师分析、答疑、并对难点进行讲解集中讨论法讲授法10实施学生分组讨论,教师讲解讲授法、学生自动完成报告30检查检查任务的完成情况,分析不足学生自主完成10评价汇报学习、工作心得
10、;对任务完成情况,进行自我评价与教师评价学生自评、小组互评、教师评价10学习情境一:概述任务二:可编程逻辑器件简介教学方案一、资讯明确任务:了解可编程逻辑器件的基本概念,包括分类、基本结构、基本资源等。问题引领:学生通过查阅资料、网络、视频等途径获取以下信息:1、可编程逻辑器件可分为哪几类?2、可编程逻辑器件有哪些可编程资源?3、常用的可编程逻辑器件的编程元件有哪些工艺?其中哪几种工艺制成的器件是非易失性的?哪些是易失性的?4、闪存的工作原理是什么?二、计划分析讨论引导问题制定学习计划,讨论重点、难点与实施方案三、决策(1)分组展示初步方案,教师讲解相关知识点,相互讨论、修改方案; (2)根据
11、学生、教师的点评,修订、确定最终生产方案教师讲授:审阅学生制定的初步表达方案,分析学生对基本知识掌握程度,以确定讲授新知识点的范围和重点。项目一 可编程逻辑器件简介可编程逻辑器件PLD(Programmable Logic Devices)是一种半定制的集成电路。1、PLD的分类2、PROM可编程原理PLD的互补缓冲器 PLD的互补输入PLD的阵列线连接表示PLD中与阵列的表示 PLD中或阵列的表示3、GALGAL通用阵列逻辑器件,其采用了EEPROM工艺,具有电可擦除重复编程特点。其OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等,为逻
12、辑电路设计提供了极大的灵活性。由于具有结构重构和输出端的任何功能均可移到另一输出引脚上的功能,在一定程度上,简化了电路板的布局布线,使系统的可靠性进一步地提高。项目二 FPGA/CPLD产品简介1、CPLD的结构与可编程原理CPLD复杂可编程逻辑器件,为基于乘积项的可编程结构,即可编程的与阵列和固定的或阵列组成。Altera的MAX7000S系列器件为代表性的CPLD。MAX7000S系列器件包含32-256个逻辑宏单元,每16个逻辑宏单元组成一个逻辑阵列块(LAB)。MAX7000结构中包含五个主要部分,分别为逻辑宏单元、逻辑阵列块、扩展乘积项、可编程连线阵列和I/O控制块。MAX7000系
13、列的单个逻辑宏单元结构2、FPGA结构与工作原理FPGA的可编程结构主要采用的是查找表结构(LUT)。大部分FPGA采用的是基于SRAM(静态随机存储器)的查找表逻辑。 FPGA查找表单元 FPGA查找表单元内部结构四、实施学生分组讨论,教师再讲解重难点,学生自行归纳总结,写出总结报告。五、检查检查任务的完成情况,分析不足。六、评价学生汇报学习、工作心得;对工作过程与任务完成情况,进行自我评价与教师评价;评价不足、缺憾以及成功之处。教师进行任务总结、评价。FPGA应用技术及实践电子教案学习情境二 FPGA设计流程任务一任务二2位十进制计数器设计(6课时)8位十进制频率计设计(4课时)学习情境学
14、习情境二 FPGA设计流程教学任务任务一 2位十进制计数器设计学时6教学目标专业能力:8、 熟练操作Quartus II软件9、 掌握Quartus II软件进行开发、设计的相关操作步骤10、 逐步培养设计的思路和方法方法能力:4、 相关软件、开发板的学习、适应能力5、 逻辑分析、总结归纳的能力6、 实践动手能力社会能力:3、 集体协作能力4、 语言表达能力教学内容1、基于FPGA技术的硬件开发基本流程2、2位十进制计数器设计重点2位十进制计数器设计相关操作步骤难点2位十进制计数器设计相关操作步骤教 学 设 计教学方法演示法、案例教学法、现场观摩法教学场所与条件FPGA实训基地、多媒体教室阶段
15、行为步骤(内容)教学手段时间资讯明确任务:收集Quartus II软件操作的相关资料和2位十进制计数器工作电路问题导向法30计划确定设计思路,如工作原理,具体实施方法小组讨论法、确定该项目工作计划25决策分组展示初步方案,相互讨论、修改方案;教师分析、答疑;根据学生、教师共同点评,修订、确定最终方案集中讨论讲授法30实施对学生分组,利用Quartus II软件和FPGA开发板完成2位十进制计数器设计并进行验证教师演示讲解学生分工协作,自行完成120检查检查任务的完成情况,分析不足逆向检查20评价汇报学习、工作心得;对任务完成情况,进行自我评价与教师评价学生自评、小组互评、教师评价15学习情境二
16、:学习情境二 FPGA设计流程任务一:2位十进制计数器设计教学方案一、资讯明确任务,收集Quartus II软件操作的相关资料和2位十进制计数器工作电路。问题引领:学生通过查阅资料、网络、视频等途径获取以下信息:1、2位十进制计数器的功能是什么?2、2位十进制计数器由哪几个部分构成?3、如何利用软件来完成2位十进制计数器的设计?4、设计结果如何验证?二、计划分组讨论引导问题,确定2位十进制计数器的设计思路,讨论设计重点、难点与实施方案。三、决策(1)分组展示初步方案,教师讲解相关知识点,相互讨论、修改方案; (2)根据学生、教师的点评,修订、确定最终生产方案教师讲授:审阅学生制定的初步表达方案
17、,分析学生对基本知识掌握程度,以确定讲授新知识点的范围和重点。项目一 原理图输入设计方法的特点l 可进行几乎任意层次的数字系统设计;l 对系统中的任一层次,或任一元件的功能进行精确的时序仿真,精度达0.1ns;l 通过时序仿真,迅速定位电路系统的错误,并随时纠正;l 对设计方案进行随时更改,并储存设计过程中所有的电路和测试文件入档;l 通过编译和下载,在FPGA上对设计项目随时进行硬件测试验证;l 如果使用FPGA和配置编程方式,将不会有器件损坏和损耗的问题;l 符合现代电子设计技术规范。项目二 2位十进制计数器设计1、建立工作库文件夹和编辑设计文件(1)新建一个文件夹作为工作库文件夹(2)建
18、立原理图源文件编辑窗(Block Diagram/Schematic File)(3)编辑构建电路图如下并保存2位十进制计数器电路图2、创建工程,加入设计文件并选择目标芯片3、编译前的参数设置及全程编译(1)选择FPGA目标芯片(2)选择配置器件的工作方式(3)选择配置器件和编程方式(4)选择输出设置(5)选择目标器件闲置引脚的状态(6)全程编译并查看编译报告4、功能测试(1)打开波形编辑器(Vector Waveform File)(2)设置仿真时间区域。(3)将工程的端口信号名加入波形编辑器,并编辑输入波形(输入激励信号)(4)仿真器参数设置(5)启动仿真器,并观察仿真结果。2位十进制计数
19、器仿真波形5、引脚设置和下载(1)将FPGA开发板与电脑主机相连(2)将输入输出信号锁定在芯片确定的引脚上(3)设置编程器,进行配置文件下载(4)硬件测试四、实施学生分组后进入FPGA实训基地,完成后续编程下载、硬件验证等相关步骤,归纳总结,写出总结报告。五、检查检查原理图输入设计任务的完成情况,分析不足。六、评价学生汇报学习、工作心得;对工作过程与任务完成情况,进行自我评价与教师评价;评价不足、缺憾以及成功之处。教师进行任务总结、评价。FPGA应用技术及实践电子教案学习情境二 FPGA设计流程任务一任务二2位十进制计数器设计(6课时)8位十进制频率计设计(4课时)学习情境学习情境二 FPGA
20、设计流程教学任务任务二 8位十进制频率计设计学时4教学目标专业能力:11、 熟练应用Quartus II软件进行设计开发的基本流程12、 掌握原理图编辑器的层次化设计方法方法能力:5、 相关软件、开发板的学习、适应能力6、 逻辑分析、总结归纳的能力7、 实践动手能力社会能力:5、 集体协作能力6、 语言表达能力教学内容1、基于FPGA技术的硬件开发基本流程2、Quartus II进行原理图编辑器的层次化设计方法重点原理图编辑器的层次化设计方法难点原理图编辑器的层次化设计方法教 学 设 计教学方法演示法、案例教学法、现场观摩法教学场所与条件FPGA实训基地、多媒体教室阶段行为步骤(内容)教学手段
21、时间资讯明确任务:收集8位十进制频率计的工作原理和电路问题导向法20计划确定设计思路,讨论重点、难点与实施方案小组讨论法、确定该项目工作计划10决策分组展示初步方案,相互讨论、修改方案;教师分析、答疑;根据学生、教师共同点评,修订、确定最终生产方案集中讨论讲授法15实施对学生分组,利用Quartus II软件和FPGA开发板完成8位十进制频率计设计并进行验证教师讲解演示学生分工协作,自行完成80检查检查任务的完成情况,分析不足逆向检查20评价汇报学习、工作心得;对任务完成情况,进行自我评价与教师评价学生自评、小组互评、教师评价15学习情境二 FPGA设计流程任务二:8位十进制频率计设计教学方案
22、一、资讯明确任务:收集8位十进制频率计的工作原理和电路问题引领:学生通过查阅资料、网络、视频等途径获取以下信息:1、8位十进制频率计的功能是什么?2、8位十进制频率计由哪几个部分构成?3、8位十进制频率计的设计方法有哪些?4、如何利用软件来完成8位十进制频率计的设计?二、计划分组讨论引导问题,确定8位十进制频率计的设计思路,讨论设计重点、难点与实施方案。三、决策(1)分组展示初步方案,教师讲解相关知识点,相互讨论、修改方案; (2)根据学生、教师的点评,修订、确定最终生产方案教师讲授:审阅学生制定的初步表达方案,分析学生对基本知识掌握程度,以确定讲授新知识点的范围和重点。项目一 8位十进制计数
23、器设计1、 在学习情境二任务一的基础上,对2位十进制计数器创建元件符号FileCreat/UpdateCreate Symbol Files for Current File2位十进制计数器元件符号2、 构建顶层文件8位十进制计数器顶层设计原理图3、编译前的参数设置及全程编译4、时序仿真8位十进制计数器仿真波形5、硬件测试项目二 8位十进制频率计设计1、在项目一的基础上为8位十进制频率计设计一个时序控制器,并创建元件符号频率计时序控制器电路时序控制器仿真波形时序控制器元件符号2、频率计顶层电路设计与测试8位十进制频率计顶层电路原理图频率计工作时序波形四、实施学生分组后进入FPGA实训基地,完成
24、8位十进制频率计的原理图输入设计。归纳总结,写出总结报告。五、检查检查原理图编辑器的层次化设计任务的完成情况,分析不足。六、评价学生汇报学习、工作心得;对工作过程与任务完成情况,进行自我评价与教师评价;评价不足、缺憾以及成功之处。教师进行任务总结、评价。FPGA应用技术及实践电子教案学习情境五 HDL基本语法及其应用任务一任务二任务三VHDL数据对象(4课时)双向和三态电路设计(4课时)IF语句和进程语句(4课时)学习情境学习情境五 HDL基本语法及其应用教学任务任务一 VHDL数据对象学时4教学目标专业能力:13、 学习VHDL语言中常量、变量、信号的应用14、 掌握信号与变量赋值语句在进程
25、使用中的区别方法能力:7、 信息查询、学习能力8、 制定工作计划及计划执行能力9、 工作中发现问题、解决问题的能力社会能力:7、 集体协作能力8、 语言表达能力教学内容1、 VHDL语言中常量、变量、信号的应用2、 进程中信号与变量赋值语句的区别重点VHDL语言中变量与信号的区别与应用难点VHDL语言中变量与信号的区别教 学 设 计教学方法演示法、案例教学法、现场观摩法教学场所与条件FPGA实训基地、多媒体教室阶段行为步骤(内容)教学手段时间资讯明确任务,收集VHDL中数据对象的相关资料问题导向法20计划制定学习计划和具体实施方法小组讨论法、确定该项目工作计划10决策分组展示初步方案,相互讨论
26、、修改方案;教师分析、答疑;根据学生、教师共同点评,修订、确定最终方案集中讨论讲授法15实施对学生分组,学习VHDL语言中各种数据对象的应用教师演示讲解学生自主完成80检查检查任务的完成情况,分析不足学生自主完成20评价汇报学习、工作心得;对任务完成情况,进行自我评价与教师评价学生自评、小组互评、教师评价15学习情境五:HDL基本语法及其应用任务一:VHDL数据对象教学方案一、资讯明确任务,收集VHDL语言中数据对象的相关资料。问题引领:学生通过查阅资料、网络、视频等途径获取以下信息:1、VHDL语言的数据对象有哪几类?2、VHDL语言的变量与信号在使用时区别是什么?二、计划分组讨论引导问题,
27、制定学习计划,讨论重点、难点与实施方案。三、决策(1)分组展示初步方案,教师讲解相关知识点,相互讨论、修改方案; (2)根据学生、教师的点评,修订、确定最终生产方案。教师讲授:审阅学生制定的初步表达方案,分析学生对基本知识掌握程度,以确定讲授新知识点的范围和重点。项目一 VHDL数据对象在VHDL中,数据对象有三类,分别是变量(VARIABLE)、常量(CONSTANT)和信号(SIGNAL)。1、常量常量的定义和设置主要是为了使程序更容易阅读和修改。在程序中,常量是一个恒定不变的值,一旦做了数据类型和赋值定义后,在程序中不能再改变,因而具有全局性意义。常量定义的一般表述如下:CONSTANT
28、 常数名:数据类型:= 表达式;VHDL要求所定义的常量数据类型必须与表达式的数据类型一致。常量定义语句所允许的设计单元有实体、结构体、程序包、块、进程和子程序。2、变量变量是一个局部量,只能在进程和子程序中使用,属局部量。变量的主要作用是在进程中作为临时的数据存储单元。变量的一般表述如下:VARIABLE 变量名: 数据类型:= 初始值;在变量定义语句中可以定义初始值,这是一个与变量具有相同数据类型的常数值,这个表达式的数据类型必须与所赋值的变量一致,初始值的定义不是必需的。变量赋值的一般表述如下:目标变量名:= 表达式;变量赋值符号是“:=”。变量数值的改变是通过变量赋值来实现的。赋值语句
29、右方的表达式必须是一个与目标变量名具有相同数据类型的数值,这个表达式可以是一个运算表达式,也可以是一个数值。通过赋值操作,新的变量值获得是立刻发生。3、信号信号是描述硬件系统的基本数据对象,其性质类似于连接线。信号可作为设计实体中并行语句模块间的信息交流通道,属全局量。信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值。其定义格式如下:SIGNAL 信号名: 数据类型:= 初始值;信号的使用和定义范围是实体、结构体和程序包,在进程和子程序的顺序语句中不允许定义信号。在进程中只能将信号列入敏感表,而不能将变量列入敏感表。信号的赋值语句表达式如下:目标信号名= 表达式AFTER 时间量;信
30、号赋值符号“=”两边的数值在时序上并不是一致的,目标信号获得传入的数据不是即时的。4、进程中的信号与变量赋值从硬件电路系统来看,变量和信号相当于逻辑电路系统中的连线和连线上的信号值;常量相当于电路中的恒定电平,如GND或VCC接口。从行为仿真和VHDL语句功能上看,信号与变量具有比较明显的区别,其差异主要表现在接受和保持信号的方式和信息保持与传递的区域大小上。下表在基本用法、适用范围和行为特性方面对信号与变量做了比较。信号SIGNAL变量VARIABLE基本用法作为电路中的信号连线作为进程中局部数据存储单元适用范围在整个结构体内的任何地方都适用只能在所定义的进程中使用行为特性在进程的最后才对信
31、号赋值立即赋值例5-1ARCHITECTURE bhv OF DFF3 ISBEGINPROCESS (CLK)VARIABLE QQ : STD_LOGIC ;BEGINIF CLKEVENT AND CLK=1THEN QQ := D1 ;END IF;END PROCESS ;Q1 = QQ;END ;例5-2ARCHITECTURE bhv OF DFF3 ISSIGNAL QQ : STD_LOGIC ;BEGINPROCESS (CLK)BEGINIF CLKEVENT AND CLK=1THEN QQ = D1 ;END IF;END PROCESS ;Q1 = QQ;END ;
32、例5-3LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF3 ISPORT ( CLK,D1 : IN STD_LOGIC ;Q1 : OUT STD_LOGIC ) ;END ;ARCHITECTURE bhv OF DFF3 ISSIGNAL A,B : STD_LOGIC ;BEGINPROCESS (CLK) BEGINIF CLKEVENT AND CLK = 1THENA = D1 ;B = A ;Q1 = B ;END IF;END PROCESS ;END ;例5-4LIBRARY IEEE ;USE IEEE.STD_L
33、OGIC_1164.ALL ;ENTITY DFF3 ISPORT ( CLK,D1 : IN STD_LOGIC ;Q1 : OUT STD_LOGIC ) ;END ;ARCHITECTURE bhv OF DFF3 ISBEGINPROCESS (CLK)VARIABLE A,B : STD_LOGIC ;BEGINIF CLKEVENT AND CLK = 1THENA := D1 ;B := A ;Q1 = B ;END IF;END PROCESS ;END ;信号行为特性的三个重要方面:(1)信号的赋值需要有一个延时。(2)在进程中,所有的赋值语句,包括变量赋值,都必须在一个延时
34、中完成。(3)当在进程中存在同一信号有多个赋值源时,实际完成赋值,即赋值对象的值发生更新的信号是最接近END PROCESS语句的信号。例5-5SIGNAL in1,in2,e1, . : STD_LOGIC ;.PROCESS(in1,in2, . . .)VARIABLE c1,. . . : STD_LOGIC_VECTOR(3 DOWNTO 0) ;BEGINIF in1 = 1 THEN . - 第1 行e1 = 1010 ; - 第2 行.IF in2 = 0 THEN . . . - 第15+n 行.c1 := 0011 ; - 第30+m 行.END IF;END PROCES
35、S;例5-6LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (i0, i1, i2, i3, a, b : IN STD_LOGIC;q : OUT STD_LOGIC);END mux4;ARCHITECTURE body_mux4 OF mux4 ISsignal muxval : integer range 7 downto 0;BEGINprocess(i0,i1,i2,i3,a,b)beginmuxval = 0;if (a = 1) then muxval = muxval + 1; end if;if (b
36、= 1) then muxval q q q q null;end case;end process;END body_mux4;例5-7LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (i0, i1, i2, i3, a, b : IN STD_LOGIC;q : OUT STD_LOGIC);END mux4;ARCHITECTURE body_mux4 OF mux4 ISBEGINprocess(i0,i1,i2,i3,a,b)variable muxval : integer range 7 downto 0;b
37、eginmuxval := 0;if (a = 1) then muxval := muxval + 1; end if;if (b = 1) then muxval := muxval + 2; end if;case muxval iswhen 0 = q q q q null;end case;end process;END body_mux4;例5-8Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHIFT ISPORT (CLK,C0 : IN STD_LOGIC; -时钟和进位输入MD : IN STD_LOGIC_VECTOR(2
38、 DOWNTO 0); -移位模式控制字D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -待加载移位的数据QB : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -移位数据输出CN : OUT STD_LOGIC); -进位输出END ENTITY;ARCHITECTURE BEHAV OF SHIFT ISSIGNAL REG : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CY : STD_LOGIC ;BEGINPROCESS (CLK,MD,C0)BEGINIF CLKEVENT AND CLK = 1 THE
39、NCASE MD ISWHEN 001 = REG(0) = C0 ;REG(7 DOWNTO 1) = REG(6 DOWNTO 0); CY REG(0) = REG(7);REG(7 DOWNTO 1) REG(7) = REG(0);REG(6 DOWNTO 0) REG(7) = C0 ;REG(6 DOWNTO 0) = REG(7 DOWNTO 1); CY REG(7 DOWNTO 0) REG = REG ; CY = CY ; -保持END CASE;END IF;END PROCESS;QB(7 DOWNTO 0) = REG(7 DOWNTO 0); CN = CY;
40、-移位后输出END BEHAV;四、实施学生分组后进入FPGA实训基地,学习VHDL语言中各种数据对象的应用。归纳总结,写出总结报告。五、检查检查设计任务的完成情况,分析不足。六、评价学生汇报学习、工作心得;对工作过程与任务完成情况,进行自我评价与教师评价;评价不足、缺憾以及成功之处。教师进行任务总结、评价。FPGA应用技术及实践电子教案学习情境五 HDL基本语法及其应用任务一任务二任务三VHDL数据对象(4课时)双向和三态电路设计(4课时)IF语句和进程语句(4课时)学习情境学习情境五 HDL基本语法及其应用教学任务任务二 双向和三态电路设计学时4教学目标专业能力:15、 学习VHDL中高阻
41、态的表示方法16、 掌握双向和三态电路设计方法方法能力:10、 信息查询、学习能力11、 制定工作计划及计划执行能力12、 工作中发现问题、解决问题的能力社会能力:9、 集体协作能力10、 语言表达能力教学内容1、 三态门设计2、 双向端口设计3、 三态总线电路设计重点VHDL中高阻态表示方法难点VHDL中高阻态表示方法教 学 设 计教学方法演示法、案例教学法、现场观摩法教学场所与条件FPGA实训基地、多媒体教室阶段行为步骤(内容)教学手段时间资讯明确任务,收集VHDL中高阻态表示方法和双向/三态电路设计的相关资料问题导向法20计划制定学习计划和具体实施方法小组讨论法、确定该项目工作计划10决策分组展示初步方案,相互讨论、修改方案;教师分析、答疑;根据学生、教师共同点评,修订、确定最终方案集中讨论讲授法15实施对学生分组,学习VHDL中高阻态表示方法,完成双向和三态电路设计教师演示讲解学生自主完成80检查检查任务的完成情况,分析不足逆向检查20评价汇报学习、工作心得;对任务完成情况,进行自我评价与教师评价学生自评、小组互评、教师评价15学习情境五:HDL基本语法及其应用任务二:双向和三态电路设计教学方案一、资讯明确任务,收集VHDL中高阻态表示方法和双向/三态电路设计的相关资料。问题引领:学生通过查阅资料、网络