fpga教案-成都信息工程大学.docx
《fpga教案-成都信息工程大学.docx》由会员分享,可在线阅读,更多相关《fpga教案-成都信息工程大学.docx(15页珍藏版)》请在冰点文库上搜索。
课 程 教 案
(2016—2017学年第1学期)
课
程
名称:
FPGA/DSP技术
课
程
学时:
32
授
课
班级:
通信141-144班
任
课
教师:
凌味未
教
师
职称:
副教授
教师所在单位:
通信工程学院
成都信息工程大学 教务处
周次
第7周,第1次课
章节名称
第1章FPGA的发展与设计开发
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
了解几类可编程逻辑器件的基本结构,熟悉FPGA的设计方法和完整设计流程。
教学重点、难点
重点:
可编程逻辑器件的结构与发展,FPGA的开发流程。
难点:
FPGA的开发流程。
教学手段:
多媒体课件与板书相结合
教学内容与时间分配:
1)5分钟时间讲解《FPGA/DSP技术》的学时安排与考核方式。
2) 5分钟时间介绍第一章的内容框架,分四个部分:
集成电路分类与设计
方法,可编程逻辑器件的结构,可编程逻辑器件的发展,FPGA的开发流
程。
教学基本内容与教学设计
(含时间分配)
3)15分钟讲解IC的分类和设计方法。
4)25分钟讲解主要可编程逻辑器件的结构特点和发展,在这个过程中介绍
常用的逻辑符号和连接方式,便于学生通过逻辑结构图了解可编程器件的
结构演化历程,并重点介绍FPGA的结构组成和特点。
5)10分钟介绍FPGA的主要生产厂商,各自开发的主流产品及其常用的开
发工具。
6)25分钟讲解FPGA的设计内容、方法和开发流程。
7)5分钟介绍FPGA常用的开发软件和开发环境。
讨论、思考题、作业
及课后参考资料
思考题:
FPGA与CPLD的联系与区别,结合实例分析FPGA的设计流程
教学后记
本章内容较容易理解,讲授偏重于普及性质的介绍,但知识面较宽,知识点较零散,需要课后复习记忆。
对FPGA的设计开发流程,如果只利用课堂时间学习,学生难以深入理解,还需课后结合实例体会。
时间充裕的情况下可以补充介绍FPGA和CPLD产品进入国内市场的历程和主要技术发展。
第14页
周次
第8周,第2次课
章节名称
第2章FPGA的硬件结构
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
熟悉FPGA的内部结构和工作原理,了解FPGA最小系统的组成和管脚配置。
熟悉DE2开发平台的资源、硬件布局及测试方法。
教学重点、难点
重点:
FPGA的工作原理,最小系统组成和DE2开发平台的硬件资源。
难点:
FPGA的工作原理。
教学基本内容与教学设计
(含时间分配)
教学手段:
多媒体课件与板书相结合教学内容与时间分配:
1)20分钟时间讲解FPGA的硬件结构,结合实例分析FPGA的工作原理及对逻辑功能的实现方式。
2)30分钟讲解使FPGA能正常工作的最小系统组成,具体包括对核心芯片的识别方法,各部分硬件管脚配置与识别,主要单元及接口电路,下载配置。
3)30分钟介绍DE2平台的硬件资源和工作原理。
4)10分钟结合第一次实验内容介绍DE2板的主要硬件的测试方法。
讨论、思考题、作业及课后参考资料
思考题:
1)以Altera的EP2C35F672C6芯片为例,说明FPGA最小系统的核心电路有哪些?
基本的外围I/O有哪些?
2)FPGA与单片机的主要区别有哪些?
教学后记
本章内容比前一章难度有明显提升。
学生容易掌握FPGA的硬件结构,但结合一个具体逻辑电路分析硬件对逻辑功能的实现方式时会有较多学生难以理解。
另外FPGA的最小系统涉及的硬件电路和管脚较多,学生容易混淆。
对DE2板的硬件资源和测试多数人只停留在感性认识,还需要结合实验加深理解。
时间充裕的情况下可以补充分析FPGA与单片机
(微处理器)的主要区别。
周次
第8周,第3次课
章节名称
实验1:
FPGA最小系统——认识DE2开发板
授课方式
理论课()实验课(√)实习()
教学时数
2
教学目标及基本要求
熟悉FPGA芯片、外围接口、连接方式及其功能;掌握利用控制面板测试DE2开发板的方法;通过硬件操作理解主要测试内容在开发板上的实现方式及基本原理。
教学重点、难点
重点:
PS/2接口,七段数码管,LED,LCD,及
SDRAM/SRAM/FLASH的测试。
难点:
在QuartusII上运行测试程序;开发板存储单元写入/读出原理。
教学基本内容与教学设计
(含时间分配)
教学手段:
上机运行QuartusII与开发板使用相结合教学内容与时间分配:
1)20分钟检查实验预习情况,并说明实验要求和注意事项;
2)50分钟学生按实验任务书要求完成所有实验内容,包括:
开发板驱动安装和DE2控制面板程序载入,PS/2和7-SEG测试,LED和LCD显示测试,SDRAM/SRAM控制器测试,FLASH控制器及音频解码测试;
3)20分钟检查实验完成情况,收集并解答学生实验中出现的主要问题。
讨论、思考题、作业及课后参考资料
作业及思考题:
1)完成实验报告,实验过程可简要写,但要说明自己在实验过程中遇到的主要问题及解决方法。
(第二次实验时按时交,如无特殊事由不接受过期补交)。
2)通过存储器读写测试深入理解不同存储单元的存储方式和写入/读出的过程。
教学后记
实验1帮助学生更直观地了解FPGA的最小系统,及基础外围硬件功能的实现过程。
对DE2板硬件资源的熟悉和测试能让学生对前两次课的部分知识点,特别是FPGA的硬件结构和系统核心电路有进一步巩固。
周次
第9周,第4次课
章节名称
第3章Verilog语法基础
(1)
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
熟悉Verilog的开发流程和功能。
掌握Verilog模块的基本结构、常用数据类型、运算符和表达式。
掌握两类重要的赋值方式和两种重要赋值操作符的用法。
教学重点、难点
重点:
Verilog的开发流程和模块的基本结构,两类重要的赋值方式。
难点:
两类重要的赋值方式。
教学基本内容与教学设计
(含时间分配)
教学手段:
多媒体课件与板书相结合教学内容与时间分配:
1)15分钟时间介绍常用术语、HDL的设计流程及Verilog的开发流程。
2)5分钟讲解Verilog语言的描述能力和主要功能。
3)25分钟讲解模块基本结构,对端口定义、I/O说明、内部信号说明和功能定义四个部分详细介绍,并结合实例说明在模块中产生逻辑的三种方法。
4)30分钟介绍Verilog的数据类型、常用运算符与表达式,并进行课堂练习。
5)15分钟介绍赋值运算,结合实例重点讲解阻塞赋值和非阻塞赋值。
讨论、思考题、作业及课后参考资料
思考题:
对比二选一多路器的门级和RTL级描述方式,具体说明
Verilog语言对同一逻辑功能在不同抽象级别描述时的差异。
教学后记
本章内容是FPGA课程学习的重要基础环节。
对模块的基本结构和简单功能模块的书写学生都容易理解,但涉及到对同一逻辑功能用不同抽象级别的方式描述时就会因思维能力的个体差异而在理解层次上表现得大相径庭。
因此,产生逻辑的三种方法是模块学习中的重点。
另外,赋值运算的学习是往后书写较复杂功能模块时的基础,如何准确地理解两类重要的赋值方式是使多数学生容易产生困惑的难题。
周次
第9周,第5次课
章节名称
实验2:
用原理图输入法在DE2上设计第一个工程
授课方式
理论课()实验课(√)实习()
教学时数
2
教学目标及基本要求
掌握在QuartusII中建立工程的基本方法;掌握用原理图输入实现逻辑功能的方法,熟悉QuartusII集成仿真工具的使用;练习用多种描述方式实现简单模块功能。
教学重点、难点
重点:
在QuartusII中建立简单工程;用原理图输入实现逻辑功能。
难点:
QuartusII仿真工具使用;用多种描述方式实现模块功能。
教学基本内容与教学设计
(含时间分配)
教学手段:
上机运行QuartusII开发软件教学内容与时间分配:
1)20分钟检查实验预习情况,并说明实验要求和注意事项;
2)50分钟学生按实验任务书要求完成所有实验内容,包括:
利用原理图输入方法完成任务——按键控制一个发光二极管的亮灭,另用一个开关允许和禁止上述功能;利用QuartusII自带仿真工具生成测试波形并验证功能;用结构描述和行为描述重复实现上述功能;
3)20分钟检查实验完成情况,收集并解答学生实验中出现的主要问题。
讨论、思考题、作业及课后参考资料
作业及思考题:
1)收第一次实验报告。
2)完成实验报告,过程可简要写,但要说明自己在实验过程中遇到的主要问题及解决方法。
(第三次实验时交,如无特殊事由不接受过期补交)。
3)对比原理图输入,结构描述和行为描述三种方式完成的模块运行后
得到的RTL视图。
教学后记
实验2用一个简单的组合逻辑实例让学生迅速体验了FPGA的主要开发环节,有效贯穿了前3次理论课的核心内容。
对原理图输入的学习也为学生提供了一个最直观的FPGA工程建立方法。
周次
第10周,第6次课
章节名称
第4章Verilog语法基础
(2)
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
熟悉三种建模方式的语法结构、特点和使用范围。
掌握连续赋值语句、基本门调用、always和initial块的基本用法及相应的时序控制方法。
熟悉三种流控制语句的基本用法。
教学重点、难点
重点:
三种建模方式的语法结构及常用语句,三种流控制语句的用法。
难点:
行为建模。
教学基本内容与教学设计
(含时间分配)
教学手段:
多媒体课件与板书相结合教学内容与时间分配:
1)5分钟由上次课讲的在模块中产生逻辑的三种方法引出三种建模方式。
2)15分钟结合多路器和全加器实例讲解数据流建模方式。
3)15分钟介绍结构描述和基本门调用,结合半加器和全加器实例讲解结构化建模方式。
4)55分钟讲解行为建模,具体包括过程结构、语句块、时序控制和流控制四部分内容。
其中过程结构主要介绍initial和always模块的特点和用法,语句块主要讲解begin...end块和fork...join块的用法,时序控制
介绍延时控制和事件控制,流控制讲解条件、分支和循环三类语句。
讨论、思考题、作业及课后参考资料
思考题:
用三种建模方式分别实现四选一多路器的功能。
教学后记
本章内容是对上次课在模块中产生逻辑的三种方法的深入讲解,由此引出三种常用建模方式并对其展开讲解,涉及的实例和语法运用更多。
没有复习上一讲内容的同学课堂学习效果较差,但由于本次课回顾了上一讲的核心内容,因此也给了此前没学好的学生一个查漏补缺的机会。
周次
第11周,第7次课
章节名称
第5章电路验证及组合逻辑电路设计
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
掌握简单Testbench的编写方法和在QuartusII软件中调用Modelsim仿真的方法。
熟悉几类常用的组合逻辑电路,并掌握基本设计实现方法。
教学重点、难点
重点:
Testbench的编写,常用组合逻辑电路的基本设计实现方法。
难点:
Testbench的编写。
教学基本内容与教学设计
(含时间分配)
教学手段:
多媒体课件与板书相结合教学内容与时间分配:
1)30分钟讲解Testbench的基本概念、常用格式和基本组成,并结合二选一多路器实例对Testbench各部分书写进行详细说明。
2)15分钟结合BCD码加法计数器实例讲解在QuartusII软件中添加
Testbench,并调用Modelsim仿真的操作步骤。
3)30分钟介绍组合逻辑电路及其设计、描述方法,并把上一章讲授的三种建模方法运用到全加器、多路器、比较器、编码器、译码器等简单组合逻辑单元实例的描述中。
4)15分钟讲解与第三次实验部分内容相关的实例,即在DE2平台上实
现7段数码管显示的组合控制。
讨论、思考题、作业及课后参考资料
思考题:
用2个拨码开关和8个数码管实现“HELLO”的组合移动显示。
教学后记
本章开始涉及FPGA设计开发中的验证环节,而Testbench的编写是验证工作的基础。
学生普遍觉得Testbench的基本格式虽然容易掌握,但因其书写的灵活性使得多数人难以判断添加的激励内容是否完整验证待测模块的功能。
另外,用Verilog语言对组合逻辑实例的设计实现因为在前几次课已接触较多的相关实例,反而让多数人容易掌握。
周次
第11周,第8次课
章节名称
实验3:
组合逻辑电路设计与验证
授课方式
理论课()实验课(√)实习()
教学时数
4
教学目标及基本要求
熟悉简单组合逻辑电路功能模块的设计和编写;掌握基本组合逻辑电路在DE2平台的实现流程;熟悉此类电路的测试文件编写,仿真和验证。
教学重点、难点
重点:
基本组合逻辑模块的设计;Testbench文本的编写。
难点:
Testbench文本的编写。
教学基本内容与教学设计
(含时间分配)
教学手段:
上机运行QuartusII和开发板使用相结合教学内容与时间分配:
1)30分钟检查实验预习情况,并说明实验要求和注意事项;
2)60分钟学生按实验任务书要求完成第一部分实验内容:
用Verilog
HDL在DE2平台实现两个拨码开关组合控制8个数码管的显示内容与方式,然后编写Testbench文本,并用Modelsim仿真验证;
3)60分钟学生按实验任务书要求完成第二部分实验内容:
用Verilog
HDL在DE2平台实现三个拨码开关组合控制8个LED灯亮灭变化,并设置一个开关允许和禁止上述功能,然后编写测试文件和仿真验证;
4)30分钟检查实验完成情况,收集并解答学生实验中出现的主要问题。
讨论、思考题、作业及课后参考资料
作业及思考题:
1)收第二次实验报告。
2)完成实验报告,过程可简要写,但要说明自己在实验过程中遇到的主要问题及解决方法。
(第四次实验时交,如无特殊事由不接受过期补交)。
3)如何给模块增加使能功能?
如何确定测试文档是否保证组合模块的
功能被完整测试?
教学后记
实验3通过两个难度逐渐深入的实例让学生正式进入了基于FPGA的组合逻辑工程开发环节,并在这个过程中开始深入了解开发板的部分硬件资源。
此外,这次实验也需要学生在设计过程中熟练运用Testbench反复进行测试。
周次
第12周,第9次课
章节名称
第6章时序约束与分析
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
掌握时序分析中的常用概念和QuartusII软件中时序约束的基本设置操作。
学会如何从时序分析报告中获得重要的时序参数。
教学重点、难点
重点:
时序约束的设置方法和从时序报告中获取时序参数的方法。
难点:
从时序报告中获取时序参数的方法。
教学手段:
多媒体课件与板书相结合
教学内容与时间分配:
1) 30分钟讲解常用时序概念,具体包括周期、时钟建立时间、时钟保
教学基本内容与教学设计
(含时间分配)
持时间、时钟输出延时、管脚到管脚延时、时钟偏斜、时序余量、静态时序分析和动态时序仿真等重要概念。
2) 30分钟讲解时序约束,包括常用约束类型,时序约束的作用,周期
约束,时序约束的设置方法。
3) 30分钟结合加减法器电路介绍时序报告的分析方法和从中获取时序
参数的方法。
讨论、思考题、作业及课后参考资料
思考题:
全局时序约束和个别时序约束各有那些设置方法,结合具体时序分析报告分析时序余量的作用。
教学后记
本章内容涉及较多与时序相关的基础概念,内容较枯燥,许多学生学习兴趣不高。
但对于功能复杂的数字电路模块,时序约束是分析和优化电路功能重要手段。
可以增加更多的实例分析提高学生兴趣。
周次
第13周,第10次课
章节名称
第7章时序逻辑电路设计
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
熟悉简单时序逻辑电路的Verilog描述。
理解D触发器同步和异步清零的本质区别。
掌握计数器和分频电路在时序逻辑电路设计中的使用方法
教学重点、难点
重点:
常用时序逻辑电路的基本设计实现方法,分频电路的运用。
难点:
分频电路的运用。
教学手段:
多媒体课件与板书相结合
教学内容与时间分配:
1) 30分钟介绍时序逻辑电路概念,同步、异步D触发器,计数器和分
教学基本内容与教学设计
(含时间分配)
频电路的描述方法,重点讲解偶数倍分频的实现方法。
2)30分钟结合LED灯闪烁,LED流水灯和数码管流水显示实例讲解时序逻辑电路的设计过程,分频电路的运用和对时序逻辑电路的验证方法
3)30分钟讲解与第四次实验部分内容相关的实例,即在DE2平台上实
现多路LED流水灯和数码管流水显示单词。
讨论、思考题、作业及课后参考资料
思考题:
如何实现两组LED灯的相向流动。
。
。
教学后记
时序逻辑电路的设计是实现复杂数字系统功能的基础,其中计数和分频又是经常调用的基础模块,相比组合逻辑电路的设计又深入了一步。
对多数学生而言理解和运用分频电路有较大难度。
时间充裕的情况下可以补充讲解占空比非50%的任意偶数倍分频方法。
周次
第13周,第11次课
章节名称
实验4:
计数器和分频器的设计与仿真
授课方式
理论课()实验课(√)实习()
教学时数
4
教学目标及基本要求
理解计数器和分频器的基本功能;掌握不同模数的计数器其在FPGA上的实现和测试方法;掌握偶数倍分频器在在FPGA上的实现和测试方法
教学重点、难点
重点:
不同模数的计数器的设计;偶分频的实现。
难点:
高倍数偶分频的实现方法。
教学手段:
上机运行QuartusII开发软件
教学内容与时间分配:
1)30分钟检查实验预习情况,并说明实验要求和注意事项;
2) 60分钟学生按实验任务书要求完成第一部分实验内容:
设计模6计
教学基本内容与教学设计
(含时间分配)
数器和模80的BCD码计数器,然后编写Testbench文本,并用
Modelsim仿真验证;
3)60分钟学生按实验任务书要求完成第二部分实验内容:
对50MHz时
钟进行225分频;把50MHz时钟频率降至880Hz;编写Testbench测试
分频结果;
4)30分钟检查实验完成情况,收集并解答学生实验中出现的主要问题。
。
作业及思考题:
1)收第三次实验报告。
讨论、思考题、作业及课后参考资料
2) 完成实验报告,过程可简要写,但要说明自己在实验过程中遇到的
主要问题及解决方法。
(第五次实验时交,如无特殊事由不接受过期补
交)。
3)对比2的n次方分频和任意偶分频在实现方式上的区别。
教学后记
实验4帮助学生深入理解开发时序逻辑电路的重要基础环节:
计数器和分频器的设计与仿真。
通过练习不同模数的计数器设计和不同倍数偶分频的实现使学生在应对复杂的时序电路设计时能更从容。
周次
第14周,第12次课
章节名称
第8章状态机
授课方式
理论课(√)实验课()实习()
教学时数
2
教学目标及基本要求
了解同步有限状态机的基本类型和工作原理。
掌握状态机的基本设计方法。
熟悉状态机的几种描述方法,着重理解三段式描述风格。
教学重点、难点
重点:
同步有限状态机的工作原理,状态机的常用描述方法。
难点:
状态机的常用描述方法。
教学手段:
多媒体课件与板书相结合
教学内容与时间分配:
1) 15分钟介绍与状态机相关的基本概念,包括同步时序电路、异步时
序电路、时序状态机及其分类等。
教学基本内容与教学设计
(含时间分配)
2) 10分钟介绍状态机的辅助描述方式,包括状态转移图、状态表和算
法状态机图。
3) 30分钟结合基于状态转移图的实例讲解状态机的设计方法,并对比
不同的代码书写风格。
4)35分钟讲解状态机的设计技巧,包括编码风格,初始化和默认状态,
常用描述方式,并结合流水灯实例重点介绍三always块的描述方式。
讨论、思考题、作业及课后参考资料
思考题:
如何用状态机实现交通灯的基本功能。
教学后记
状态机是实现多状态切换的复杂数字系统功能的重要方式,比起前面章节讲过的简单组合、时序逻辑电路设计方法,状态机提供了更为系统、便捷的设计思路。
状态机是学生步入高级数字系统设计的门槛,需要更多的实例练习来巩固和加深对其运用的能力。
周次
第14周,第13次课
章节名称
实验5:
复杂时序电路设计与验证
授课方式
理论课()实验课(√)实习()
教学时数
4
教学目标及基本要求
深入理解触发器、计数器和分频器在时序电路中的作用,掌握运用上述模块在DE2