基于VHDLFPGA设计教学大纲_第1页
基于VHDLFPGA设计教学大纲_第2页
基于VHDLFPGA设计教学大纲_第3页
基于VHDLFPGA设计教学大纲_第4页
基于VHDLFPGA设计教学大纲_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于VHDL的FPGA设计The Design of FPGA Based on VHDL一、课程简介基于VHDL的FPGA设计课程是面向电子信息工程本科专业开设的一门重要专业选修课程,共40学时,2.5学分,其中实验课程16学时。本课程内容包括大规模可编程逻辑器件FPGA/CPLD的结构及原理, VHDL的编程基础,EDA的设计开发软件Quartus 以及实验开发系统的结构及使用。二、课程目标和要求目标:本课程的教学目的是使学生了解基本可编程器件如CPLD、FPGA的原理及应用,著名厂商及产品系列、选型原则;会运用硬件描述语言VHDL和EDA软件Quartus (Altera公司提供) 设计

2、电子线路;学生通过本课程学习,可掌握基于EDA技术开发可编程器件应用的方法及开发工具,为工程应用打下基础。要求:通过本课程的学习,要求学生掌握两种主要逻辑结构:FPGA、CPLD;了解用原理图输入设计方法、波形设计方法;掌握、熟悉用VHDL语言,并能用其设计各种系统及工程应用;学会使用Quartus 软件的操作过程,用Quartus 设计并下载一些组合逻辑电路课题;具备一些简单的用EDA技术设计能力,为今后从事工程技术工作和科学研究工作打下基础。三、与相关课程的联系和分工基于VHDL的FPGA设计课程中应用了低频电子线路、数字电路与逻辑设计中的基础知识和基本理论,并且利用了电子技术基础实验中的

3、基本实验方法。基于VHDL的FPGA设计注重对学生综合设计能力的培养,将为后续专业课程的学习打下良好基础。四、教学方法和考核形式教学方法:本课程采用课堂讲授和实验相结合的方法。考核形式:开卷考,最终该课程成绩由两部分组成:理论课考试成绩70%,实验成绩20%,平时成绩10%。五、教学内容和学时分配学时分配表章目讲授学时实验、上机、实训等备注第一章 概述2学时实验一QuartusII 9.0软件的使用4学时第二章 FPGACPLD结构与应用4学时实验二 用原理图输入法设计8位全加器4学时第三章VHDL设计初步2学时实验三 用文本输入法设计2选1多路选择器2学时第四章VHDL设计进阶2学时实验四

4、用文本输入法设计7段数码显示译码器2学时第五章VHDL结构与要素8学时实验五 乐曲硬件演奏电路的设计4学时第六章 VHDL基本语句4学时第七章 状态机设计2学时合计24学时16学时 (一)理论教学内容第一章 EDA设计流程及工具(2学时)1.目的要求:了解基于EDA软件的FPGA/CPLD开发流程,ASIC的含义、设计方法及设计流程, Quartus 软件。掌握EDA的概念、优势及其发展状况;初步接确硬件描述语言VHDL的设计方法及综合, IP核的概念及其地位。熟悉EDA 的常用开发工具及其各个模块。2.重点难点:自顶向下设计方法3.要点或知识点第一节 概述1.EDA技术、其实现目标及其发展趋

5、势 2.VHDL硬件描述语言的综合及其自顶向下设计方法 第二节 设计流程第三节 ASIC及其设计流程1.ASIC设计方法2.一般ASIC设计的流程第四节 常用EDA工具 第五节 Quartus简介第六节 IP核简介第二章 FPGACPLD结构与应用(4学时)1.目的要求:了解FPGA、CPLD产品(公司、型号、相应的EDA软件)。掌握EDA的概念、优势及其发展状况;硬件描述语言VHDL的设计方法及综合, IP核的概念及其地位。熟悉EDA 的常用开发工具及其各个模块, 可编程逻辑器件PLD的原理、结构,两种大规模可编程逻辑器件FPGA、CPLD的结构、工作原理、测试技术、编程、配置。2.重点难点

6、:查找表逻辑结构3. 要点或知识点第一节 概述 1.可编程逻辑器件的发展历程2.可编程逻辑器件的分类第二节 简单PLD原理第三节 CPLD结构与工作原理第四节 FPGA结构与工作原理1.查找表逻辑结构2.CycloneCyclone系列器件的结构与原理第五节 硬件测试技术第三章VHDL设计初步(8学时)1.目的要求:了解用VHDL表达和设计电路的方法,以及由此引出的VHDL语言现象和语句规则。2.重点难点:异步时序电路设计3. 要点或知识点第一节 多路选择器的VHDL描述1.2选1多路选择器的VHDL描述2.相关语句结构和语法说明第二节 1位二进制全加器的VHDL描述第三节 寄存器描述及其VH

7、DL语言现象1.D触发器的VHDL描述2.VHDL描述的语言现象说明3.实现时序电路的VHDL不同表述4.异步时序电路设计第四节 计数器设计1.4位二进制加法计数器设计2.整数类型3.计数器设计的其他表达方式第四章 VHDL设计进阶(4学时)1.目的要求:掌握用VHDL表达和设计电路的方法,理解VHDL语言现象和语句规则的特点。2.重点难点:进程语句,并行语句的特点3.教学内容(或要点)第一节 数据对象第二节 双向和三态电路信号赋值例解第三节 IF语句概述第四节 进程语句归纳第五节 并行语句例解第六节 仿真延时1.固有延时2.传输延时3.仿真 第五章VHDL结构与要素(2 学时)1.目的要求:

8、掌握VDHL结构、语言规则和语句类型,并能熟练应用VHDL语言。2.重点难点:实体、结构体、VHDL库3. 要点或知识点第一节 实体第二节 结构体第三节 子程序第四节 VHDL库1. 库的种类2. 库的用法第五节 VHDL程序包第六章VHDL基本语句(2学时)1.目的要求:掌握VHDL的顺序、并行语句的结构与用法。2.重点难点:并行语句3. 要点或知识点第一节 顺序语句第二节 并行语句第三节 属性描述与定义语句第七章 状态机设计(2学时)1.目的要求:熟悉VHDL状态机的一般程序结构,掌握两种类型的状态机设计。2.重点难点:两种类型的状态机设计3. 要点或知识点第一节 状态机的一般程序结构第二

9、节 Moore状态机设计第三节 Mealy状态机设计(二)实验教学内容A实验内容简况表序号实验项目名称(每行不超过8字)所属实验室编号所属实验室名称实验要求实验类别实验类型实验所属学科实验者类别每组人数实验学时所属实验课程代码是否独立设课实验项目面向专业1实验一QuartusII 9.0软件的使用通信实验室必修专业验证性本科生2 人4否电信2实验二 用原理图输入法设计8位全加器通信实验室必修专业综合性本科生2 人4否电信3实验三 用文本输入法设计2选1多路选择器通信实验室必修专业综合性本科生2 人2否电信4实验四 用文本输入法设计7段数码显示译码器通信实验室必修专业综合性本科生2 人2否电信5

10、实验五 乐曲硬件演奏电路的设计通信实验室必修专业设计性本科生2 人4否电信填表说明:1.实验要求:填写必修或选修;2.实验类别:填写基础、专业基础、专业;3.实验类型:填写演示性、验证性、综合性、设计研究;4.实验所属学科:填写二级学科大类;5.实验者类别:填写博士生、硕士生、本科生、专科生、其它;B实验内容详解实验项目一: Quartus II 9.0软件的使用1.实验目的本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。2.实验内容(原理)利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配

11、器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。3.实验所需仪器设备(或软件)、实验材料实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.实验步骤(基本要求)利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入

12、设计文件、编译前设置、全程编译、功能仿真。利用Quartus II 9.0软件实现引脚锁定和编译文件下载。利用Quartus II 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。5.实验结果分析(1)编译结果分析实验项目二:用原理图输入方法设计8位全加器1.实验目的本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的原理图输入方法、 层次化设计的方法等内容。其目的是通过一个8位全加器的设计熟悉EDA软件进行电子线路设计的详细流程。学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。2.实验内容(原理)1位全加器可以用两个半加器及一个或门连接而

13、成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。半加器的设计:半加器表达式:进位:co=a and b 和:so=a xnor ( not b ) 半加器原理图如下:全加器的设计:全加器原理图如下:8位全加器的设计:8位全加器原理图如下:3.实验所需仪器设备(或软件)、实验材料实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.实验步骤(基本要求)按照以上介绍的方

14、法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试。5.实验结果分析(1)程序分析(2)仿真分析(3) 硬件测试分析实验项目三:用文本输入法设计2选1多路选择器1.实验目的本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的使用方法、多层次电路设计、仿真和硬件测试等内容。其目的是熟悉QuartusII的VHDL文本设计流程全过程。2.实验内容(原理)2选1多路选择器真值表sabyLL

15、5;LLH×HH×LLH×HH3.实验所需仪器设备(或软件)、实验材料实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.实验步骤(基本要求)首先利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,然后进行仿真。最后在实验系统上进行硬件测试,实际验证本项实验的功能。将设计好的2选1多路多路选择器看成是一个元件mux21a,利用元件例化语句描述下图,并将此文件放在同一目录E:muxfile中。5.实验

16、结果分析(1)程序分析(2)仿真分析(4) 硬件测试分析实验项目四:用文本输入法设计7段数码显示译码器1.实验目的本实验为综合性实验,综合了简单组合电路逻辑,QuartusII的使用方法,多层次电路设计、仿真和硬件测试等内容。其目的是熟悉QuartusII的VHDL文本设计流程全过程。2.实验内容(原理)7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。7段数码显示译码器的输出信号LED7S

17、的7位分别接共阴7段数码管的7个段,高位在左,低位在右。例如当LED7S输出为“”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,此时实体说明中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为(7 DOWNTO 0)。3.实验所需仪器设备(或软件)、实验材料实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软

18、件4.实验步骤(基本要求)利用QuartusII完成7段数码显示译码器的文本编辑输入(decl7s.vhd)和仿真测试等步骤,最后在实验系统上进行硬件测试,实际验证本项实验的功能。5.实验结果分析(1)程序分析(2)仿真分析(5) 硬件测试分析实验项目五:乐曲硬件演奏电路的设计1.实验目的本实验为设计性实验。将VHDL硬件描述语言,简单组合电路逻辑QuartusII的使用等知识应用到实际硬件电路设计中。其目的是学会在EDA软件平台中利用VHDL硬件描述语言设计电路.设计要求利用数控分频器设计乐曲硬件演奏电路。2.实验内容(原理)与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐

19、曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。本实验设计项目是“梁祝”乐曲演奏电路的实现。我们知道,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。乐曲硬件演奏电路的顶层文件原理图如图1所示,主系统由3个模块组成: NoteTabs.vhd、ToneTaba.vhd和Speakera.vhd。其中,模块U1(NoteTabs)类似于弹琴的人的手指;模块U2(ToneTaba)类似于

20、琴键;模块U3(Speakera)类似于琴弦或音调发声器。图1 乐曲硬件演奏电路的顶层文件原理图下面介绍图1的工作原理:1、音符的频率可以由图4-1中的Speakera获得,这是一个数控分频器。由其clk端输入一具有较高频率(这里是12MHz)的信号,通过Speakera分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2。Speakera对clk输入信号的分频比由11位预置数Tone10.0决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值Tone10

21、.0 与SPKOUT的输出频率,就有了对应关系。例如在TONETABA模块中若取Tone10.0=1036,将发音符为"3"音的信号频率。2、音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定,图5-1中模块ToneTaba 的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。模块ToneTaba 是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的clk的输入频率决定,在此为4Hz。这13个值的输出由对应于ToneTaba 的4位输入值Index3.0确定,而Index3.0 最多有16种可选值。输向ToneTaba中Index3.0的值ToneIndex3.0的输出值与持续的时间由模块NoteTabs决定。3、在NoteTabs 中设置了一个8位二进制计数器(计数最大值为13

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论