首页 FPGA应用技术教程 VHDL版 教学课件作者PPT王真富项目3 音乐发生器设计制作

FPGA应用技术教程 VHDL版 教学课件作者PPT王真富项目3 音乐发生器设计制作

举报
开通vip

FPGA应用技术教程 VHDL版 教学课件作者PPT王真富项目3 音乐发生器设计制作FPGA应用技术教程(VHDL版)FPGA应用技术教程(VHDL版)北京大学出版社FPGA应用技术教程(VHDL版)项目3音乐发生器设计制作引言VHDL程序的描述语句分为并行执行语句和顺序执行语句,相对于传统的软件描述语言而言,这是VHDL程序作为硬件描述语言的特点。本项目以音乐发生器设计为载体,通过硬件乐曲自动演奏电路设计与简易电子琴的设计制作,说明VHDL程序描述电路的方法,介绍VHDL程序并行执行语句和顺序执行语句的特点。FPGA应用技术教程(VHDL版)项目3音乐发生器设计制作完成本项目基本流程归纳简易电子...

FPGA应用技术教程 VHDL版 教学课件作者PPT王真富项目3 音乐发生器设计制作
FPGA应用技术教程(VHDL版)FPGA应用技术教程(VHDL版)北京大学出版社FPGA应用技术教程(VHDL版)项目3音乐发生器 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 制作引言VHDL程序的描述语句分为并行执行语句和顺序执行语句,相对于传统的软件描述语言而言,这是VHDL程序作为硬件描述语言的特点。本项目以音乐发生器设计为载体,通过硬件乐曲自动演奏电路设计与简易电子琴的设计制作,说明VHDL程序描述电路的方法,介绍VHDL程序并行执行语句和顺序执行语句的特点。FPGA应用技术教程(VHDL版)项目3音乐发生器设计制作完成本项目基本流程归纳简易电子琴设计制作应用VHDL程序并行执行语句顺序执行语句学中做做中学硬件乐曲自动演奏电路设计FPGA应用技术教程(VHDL版)项目3音乐发生器设计制作重点提要 能力目标 知识目标 1.能采用文本输入法,用VHDL程序设计一般复杂的数字系统。2.能将实际的数字系统需求转化为数字电子系统硬件语言描述。3.能熟练使用ModelSim-Altera软件对设计电路进行功能仿真与时序仿真。4.能熟练地进行VHDL程序的调试。5.能用蜂鸣器、数码管、开关等元件设计数字系统的输入与输出。 1.掌握VHDL程序顺序语句的特点。2.掌握VHDL程序平行语句的特点。3.掌握if、casse等常用顺序语句的使用。4.掌握条件信号选择、多进程应用等常用并行语句的使用。5.熟悉功能仿真测试文件的创建与编辑。FPGA应用技术教程(VHDL版)3.1乐曲自动演奏电路设计 乐曲自动演奏电路设计流程编译程序创建并设置仿真测试文件功能仿真分析波形乐曲自动演奏电路程序下载到FPGA乐曲自动演奏电路VHDL程序设计并输入乐曲自动演奏电路硬件测试乐曲自动演奏电路设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 制订 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 项目创建FPGA应用技术教程(VHDL版)3.1.1任务书3.1乐曲自动演奏电路设计 1.学习目的(1)能用VHDL程序设计一般复杂的数字系统。(2)能将实际的数字系统需求转化为数字电子系统硬件语言描述。(3)能熟练地使用if、case等顺序描述语句。(4)能熟练地使用多进程语句描述数字电路。(5)能基于FPGA在线调试VHDL程序。(6)能用LED灯、蜂鸣器、数码管等硬件设计数字电路系统的输入与输出。FPGA应用技术教程(VHDL版)3.1乐曲自动演奏电路设计 2.任务描述在QuartusII12.1软件平台上,用文本输入方法设计“康定情歌”乐曲自动演奏电路。音乐演奏的同时用数码管显示简谱,音的高低用LED灯指示;用ModelSim-Altera10.1b仿真软件仿真检查设计结果;选用GW48实验箱的输入频率、LED灯、数码管、蜂鸣器等硬件资源进行硬件测试。 3.教学工具(1)计算机。(2)QuartusII12.1软件。(3)ModelSim-Altera10.1b仿真软件。(4)GW48实验箱。FPGA应用技术教程(VHDL版)3.1.2硬件乐曲自动演奏电路设计方案 1.音符频率的产生从“康定情歌”简谱中可知,该乐曲采用F调演奏,F调简谱的音符与频率的关系如表3.1所示。FPGA应用技术教程(VHDL版)3.1.2硬件乐曲自动演奏电路设计方案FPGA应用技术教程(VHDL版)3.1.2硬件乐曲自动演奏电路设计方案 2.乐曲节拍的控制计数时钟信号作为输出音符快慢的控制信号,本设计采用4Hz的输入时钟信号来控制乐曲节拍。FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤根据硬件乐曲自动演奏电路系统设计方案,输入为4MHz与4Hz二个基准时钟,输出为显示音符高中低音的3LED灯电平、显示简谱值的数码管信号及驱动蜂鸣器频率信号。利用QuartusII12.1软件平台,设计硬件乐曲自动演奏电路实施步骤按照先后顺序可分为:创建工程、VHDL程序输入、编译程序、创建仿真测试文件、功能仿真、编程下载、硬件测试。FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤1.创建工程 运行QuartusII12.1软件平台;选择【File】菜单【NewProjectWizard…】命令,根据新建工程向导5步骤创建名为“SONG”的工程,顶层实体名用“SONG”,第三方仿真软件选择“ModelSim-Altera”。FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤2.硬件乐曲自动演奏VHDL程序设计并输入 在QuartusII12.1集成环境,选择【File】菜单【SaveAs…】命令,创建硬件乐曲自动演奏电路设计文件“SONG.vhd”。在文本文件编辑窗口输入实现硬件乐曲自动演奏电路的VHDL程序如下:FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤3.编译程序FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤4.创建并设置仿真测试文件FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤 (3)配置仿真测试文件在QuartusII12.1集成环境,选择【Assignments】菜单【Settings…】命令,配置仿真测试文件,设置结果如图3.3所示。图3.3编辑测试文件设置对话框FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤5.功能仿真 在QuartusII12.1集成环境,选择【Tools】菜单【RunSimulationTool】选项【RTLSimulation】命令,可以看到ModelSim-Altera10.1b运行界面,出现的功能仿真波形,如图3.4所示。图3.4歌曲自动演奏电路仿真波形图FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤5.功能仿真 在ModelSim-Altera10.1b中放大局部仿真波形图,并添加测量游标,如图3.5所示。图3.5局部放大的歌曲自动演奏电路仿真波形FPGA应用技术教程(VHDL版)3.1.3硬件乐曲自动演奏电路设计实施步骤6.编程下载与硬件测试 (1)指定目标器件。 (2)引脚锁定。 (3)下载设计文件。 (4)硬件测试。FPGA应用技术教程(VHDL版)3.2VHDL程序的描述语句VHDL是硬件描述语言,其描述语句包括顺序语句与并行语句。本节介绍顺序语句与并行语句的使用与特点。 3.2.1VHDL程序的并行语句在结构体中主要的并行语句有:简单信号赋值语句、条件信号选择语句、进程语句、端口映射语句、元件例化语句、生成语句、块语句、过程序调用语句等。FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句对例3.2程序进行功能仿真,功能仿真的波形如图3.10所示。图3.10应用with/select/when条件信号选择语句程序的仿真波形图FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句【例3.3】用进程语句描述一个按BCD码计数的六十进制计数器FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句BCD码计数的六十进制计数器的VHDL程序功能仿真波形,如图3.11所示。图3.11BCD码计数的六十进制计数器仿真波形图FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.4】变量赋值和信号赋值的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句例3.4的VHDL程序仿真结果如图3.12所示图3.12变量赋值和信号赋值功能仿真FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.5】单分支if语句的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句图3.13单分支if语句寄存器传输级综合效果图FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.6】两分支if语句的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句例3.6VHDL程序编译综合后,在QuartusII12.1集成环境,选择【Tools】菜单【NetlistViewers】选项的【RTLViewer】命令,产生如图3.14所示的综合效果图。图3.14两分支if语句寄存器传输级综合效果图FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.7】多分支if语句的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句图3.15多分支if语句寄存器传输级综合效果图FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.8】case语句与多分支if语句的差别FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句例3.8VHDL程序编译综合后,在QuartusII12.1集成环境,选择【Tools】菜单【NetlistViewers】选项的【RTLViewer】命令,得到综合效果图,如图3.16所示。图3.16case语句与多分支if语句寄存器传输级综合效果图FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.9】for/loop语句的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句例3.9VHDL程序,设置不同的输入“data”值,仿真结果,如图3.17所示。图3.17for/loop语句应用程序仿真结果FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.10】while/loop语句的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句例3.10的VHDL程序,设置不同的输入“data”值,仿真结果,如图3.18所示。图3.18while/loop语句应用程序仿真结果FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句③条件跳出循环在循环语句中还会用到next与exit语句,用来结束循环或跳出循环。i)next语句。next语句用于控制内循环的结束,其格式为:next[标号][when条件];ii)exit语句。exit语句用于结束loop循环状态,其格式为:exit[标号][when条件];FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句【例3.11】waituntil语句的应用FPGA应用技术教程(VHDL版)3.2.2VHDL的顺序语句例3.11进程P1的process后无敏感信号列表,使用了waituntil语句;进程P2的process后使用了敏感信号列表,在P2进程中不能使用wait语句。VHDL程序的仿真结果,如图3.19所示。图3.19waituntil语句的应用程序仿真结果FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.2.1VHDL程序的并行语句FPGA应用技术教程(VHDL版)3.3简易电子琴设计制作 简易电子琴电路设计制作流程简易电子琴VHDL程序设计并输入简易电子琴设计方案制订创建并设置仿真测试文件功能仿真分析波形简易电子琴输入输出电路设计制作简易电子琴程序下载到FPGA简易电子琴硬件测试工程项目创建FPGA应用技术教程(VHDL版)3.3.1任务书3.3简易电子琴设计制作1.学习目的(1)熟练使用EDA工具软件QuartusII12.1和ModelSim-Altera10.1b。(2)能采用VHDL程序设计分频电路。(3)掌握VHDL程序的平行语句与顺序语句的使用。(4)能进行FPGA最小系统开发板的调试。(5)能用开关、蜂鸣器、发光二极管设计数字系统的输入与输出。FPGA应用技术教程(VHDL版)3.3简易电子琴设计制作 2.任务描述简易电子琴功能要求:能够实现某一大调音乐的演奏功能,同时在演奏时能够显示该大调每个音符的简谱值及区分相同简谱值的音高。设计要求:在QuartusII12.1软件平台上用VHDL程序设计简易电子琴控制器电路,并通过ModelSim-Altera10.1b仿真软件仿真检查设计结果;选用FPGA最小系统板、按钮开关、拨码开关、数码管、LED灯、蜂鸣器等硬件资源进行硬件验证。 3.教学工具(1)计算机。(2)QuartusII12.1软件。(3)ModelSim-Altera10.1b仿真软件。(4)FPGA最小系统板、万能板、按钮开关、发光二极管、数码管、蜂鸣器、连接导线。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案图3.21琴键信号输入电路原理图(1)输入电路设计琴键信号输入电路设计:用按钮开关控制“1234567”7个琴键信号的输入,当按钮开关闭合时,向FPGA输入高电平,指示发光二极管发光;当按钮开关断开时,向FPGA输入低电平,指示二极管不发光。7个琴键信号输入电路的原理图如图3.21所示。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案图3.22控制不同八度音信号的输入电路原理图控制不同八度音信号输入电路设计:用2个按钮开关的组合来控制3个不同音高的八度音。当按钮开关闭合时,向FPGA输入高电平,指示发光二极管发光;当按钮开关断开时,向FPGA输入低电平,指示二极管不发光。控制不同八度音信号的输入电路原理图,如图3.22所示。当c1、c2均不闭合时,发低八度音;当c1闭合、c2不闭合时,发原音;当c1不闭合、c2闭合时,发高八度音。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案(2)钢琴上各音名的名称与频率的关系钢琴上每个琴键对应一定的音名,每个音名对应一定的频率。以a1=440Hz为标准的钢琴各琴键对应的音名和频率的关系如表3.4所示。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案(3)相同大调不同八度音频率不同大调基准音频率不同,各大调不同八度音频率可根据12大调音阶的音名排列规则,对照表3.4钢琴上各音名的名称与频率的关系,可得到各大调不同八度音的频率。表3.5列出了D大调3个八度音的音名、频率及对应的简谱。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案(5)简易电子琴控制器的VHDL程序设计根据前面的分析,简易电子琴控制器的VHDL程序设计如下:进程1:用琴键输入电平,控制不同八度音,输入信号转换为对应琴键的分频系数、3LED电平、数码管驱动信号。进程2:将50MHZ的频率分频为1MHz频率。进程3:通过可预置分频系数的分计数器,在进程1分频系数的控制下,将1MHz的频率分频为各音符脉冲信号。进程4:将进程3各音符脉冲信号2分频后输出驱动蜂鸣器信号。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案图3.23显示不同八度音的发光二极管输出电路3.输出电路设计输出电路包括:显示不同八度音的发光二极管电路、数码管显示驱动电路、蜂鸣器驱动电路。(1)显示不同八度音的发光二极管输出电路原理图,如图3.23所示。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案图3.24数码管显示输出电路原理图(2)数码管显示驱动输出电路原理图,如图3.24所示。FPGA应用技术教程(VHDL版)3.3.2简易电子琴设计方案图3.25蜂鸣器输出电路原理图(3)蜂鸣器驱动电路,如图3.25所示。FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤(3)配置选择仿真测试文件测试模块文件设置结果图3.26编辑测试模块文件设置对话框FPGA应用技术教程(VHDL版)3.3.3简易电子琴控制器设计实施步骤5.功能仿真在QuartusII12.1集成环境,选择【Tools】菜单【RunSimulationTool】选项【RTLSimulation】命令,出现的功能仿真波形,如图3.27所示。图3.27简易电子琴控制器功能仿真波形图FPGA应用技术教程(VHDL版)2.1.3三人表决器设计实施步骤在ModelSim-Altera10.1b中,局部放大1000ms处仿真波形图,并添加测量游标后,如图3.28所示。图3.28简易电子琴控制器功能仿真波形局部放大图FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试1.简易电子琴硬件电路连接根据设计的简易电子琴控制器可知,基于FPGA利用VHDL程序设计完成的简易电子琴控制器输入输出端口,如图3.29所示。图3.29简易电子琴模块输入输出端口FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试输入输出元器件琴键按钮、数码管、发光二极管、蜂鸣器与EP2C5T144-FPGA最小系统板的25×2双排直插针连接原理图,如图3.30所示。图3.30简易电子琴输入、输出电路连接原理图FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试完成芯片指定后的对话框,如图3.31所示。图3.31芯片设置结果2.指定目标器件FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试根据输入输出电路与EP2C5T144-FPGA最小系统板相连接的原理图,如图3.30可知,简易电子琴输入输出端口与目标芯片引脚的连接关系见表3.7。3.输入输出引脚锁定FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试在QuartusII12.1集成环境,单击【Assignments】菜单【PinPlanner】命令,弹出【PinPlanner】对话框;在【PinPlanner】对话框的【Location】列空白位置双击,根据表3.7输入相对应的引脚值。完成设置后的【PinPlanner】对话框,如图3.32所示。图3.32简易电子琴引脚锁定结果FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试(1)配置下载电缆。选择【Tool】菜单的【Programmer…】命令或单击工具栏中的【Programmer】按键,弹出【Programmer】对话框;单击【HardwareSetup…】按键,弹出硬件设置对话框,选择使用USB下载电缆的【USB-Blaster[USB-0]】选项,完成下载电缆配置。4.下载设计文件(2)配置下载文件。在【Programmer】对话框的【Mode】下拉列表框中选择【JTAG】模式;选择下载文件“jydzj.sof”的【Program/Configure】选项;单击【Start】按键,编程下载开始,直到下载进度为100%,下载完成。FPGA应用技术教程(VHDL版)3.3.4简易电子琴控制器编程下载与硬件测试完成的简易电子琴实物图5.硬件测试FPGA应用技术教程(VHDL版)做一做,试一试1.设计F调的“康定情歌”外的其它乐曲自动演奏电路。2.设计F调以外的其它调的硬件乐曲自动演奏电路。3.设计基于FPGA最小系统板的D调以外的简易电子琴。FPGA应用技术教程(VHDL版)项目小结本项目通过基于FPGA的乐曲自动演奏电路的设计与简易电子琴设计制作,训练用VHDL描述相对复杂电路的能力,熟悉VHDL程序并行执行语句和顺序执行语句的使用和特点。
本文档为【FPGA应用技术教程 VHDL版 教学课件作者PPT王真富项目3 音乐发生器设计制作】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
希望
暂无简介~
格式:ppt
大小:3MB
软件:PowerPoint
页数:0
分类:工学
上传时间:2019-07-22
浏览量:20