资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
西安邮电大学FPGA课程设计报告题 目: 简易电子琴设计及FPGA功能验证 院 系: 电子工程学院专业班级: 学生姓名:导师姓名: 黄海生 起止时间: -6-18 至 -6-29 6 月 29 日 目录1.任务.22.目的23.使用环境24.FPGA课程设计详细内容24.1 技术规范24.1.1 总体描述24.1.2 结构框图24.1.3 引脚描述34.1.3 应用范围.54.2 设计方案54.2.1 顶层方案设计54.2.2 顶层模块程序74.3 功能验证方案及源程序7 4.3.1按键输入控制模块方案设计及源程序.7 4.3.2控制模块方案设计及源程序.8 4.3.3LCD驱动模块方案设计及源程序.114.4 电路设计及功能仿真报告194.5 综合及布局布线报告和引脚分布报告214.6 硬件测试结果报告215.课程设计的心得体会226.参考资料221 任务:a、设计一个简单电子琴。(内置24首简单音调曲)b、用FPGA开发板的按键可选择演奏内置曲调,用数码管显示当前演奏的哪个演奏曲目或停止。c、要求电子琴具有自主选择,自动播放所选曲目或停止曲目。2 目的:a、在掌握计算机组成原理理论相关的基础上,了解 EDA技术,掌握 Verilog HDL 硬件描述语言的设计方法和思想,通过学习的 Verilog HDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识;b、深入学习Verilog HDL、FPGA,了解其编程环境;c、学会运用Modelsim和Quartus II等编程仿真软件;d、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL、FPGA的学习;3 使用环境 (软件/硬件环境,设备等)软硬件环境:软件:Quartus II 7.2, Modelsim6.1;硬件环境:DEII开发板;设备:PC一台,USB下载线,FPGA开发板及电源。 在 EDA 软件平台上,根据硬件描述语言Verilog 完成的设计文件,自动的完成逻辑编译、化简、分割、综合及优化、布局布线、仿真、目标芯片的适配编译、逻辑映射和编程下载等工作。Verilog HDL语言,用Modelsim进行前仿真,以及代码的生成,验证程序验证,也可进行综合。用Quartus II进行后仿真。4 FPGA课程设计详细内容4.1 技术规范4.1.1 原理简易电子琴的设计通过软硬件结合实现,硬件系统包括主控制器芯片、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有自动播放功能。播放功能中有三首曲子。程序共有六个模块,分别为主模块、数码管显示模块、分频模块、计数器模块、存储器模块、音频输出模块。硬件实现是用一个数码管显示当前播放的曲目,另外四个按键key1、key2用来选择曲目。通过主模块调用各模块实现电子琴的功能。乐曲演奏的原理:乐曲演奏的原理:组成乐曲的每个音符的频率值(音调)以及持续时间(音长)是乐曲能持续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续的时间,就可以使扬声器发出持续的乐曲声。l 音调的控制频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个八度音之间,又可分为十二个半音,每半个音的频率比为。另外,音名A(简谱中的低音6)的频率为440HZ,音名B到C之间,E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间的每个音名对应的频率如图所示:音名频率(HZ)音名频率(HZ)音名频率(HZ)低音1261.6中音1523.3高音11046.5低音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音4698.5高音41396.9低音5392中音5784高音51568低音6440中音6880高音61760低音7493.9中音7987.8高音71975.5所有不同频率均从同一基准频率分频得到。将分频数四舍五入进行取整,并尽量减小误差。在本设计中选取5MHZ作为基准频率。从下表中可以看出最大分频系数为11468,采用14位二进制计数器分频可满足要求。此外还应给出预置数,对应不同的预置数,只需加载不同的预置数即可。采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来更加容易。音名分频比预置数音名分频比预置数音名分频比预置数低音195576826中音1477711606高音1238913994低音285127871中音2425712126高音2212814255低音375858798中音3379212591高音3189614487低音471599224中音4357912804高音4179014593低音5637810005中音5318913194高音5159414789低音6568210701中音6284113524高音6142014963低音7506211321中音7253113852高音7126615117l 音长的控制音符的持续时间须根据音乐的速度及每个音符的节拍数来确定。如果设定全音符的持续时间为1S的话,假设产生4分音符,则产生四分频即可实现四分音符的时长,并提供4HZ分频器。如图为乐曲演奏的原理图,其中,乐谱产生电路用来控制音乐的音调和时长。控制音调通过设置计数器的预置数来实现,预置不同的数值会可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数的停留时间越长,则该音符的演奏时间越长,如2分音符,在记谱时将该音符记录两次即可。4.1.2总体方案本次设计课程的目的是让我们在学习verilogHDL的基础上更加深入的了解硬件设计语言的功能、作用及其特征,并且将我们的动手能力与创新能力结合起来。本次试验的总体框图为: 设计框图说明4.1.3引脚描述信号名输入/输出目标/源功能描述CLK InputPin主时钟频率,5MHZ,占空比为1:1DIR InputPin使能端,控制时钟产生,以及读写同步OUT OutputPin输出乐曲信号(方波形式)SCREEN OutputPin数码管显示信号4.1.4 顶层划分顶层模块说明:1 D触发器:实现信号读取,产生内部使能端,控制分频器;2 分频器: 实现与基准时钟同步操作,读取存储器数据进行分频操作,实现音调与音长的改变与输出;3 节拍发生器: 根据使能端,产生对应的频率产生对应音符时长;4 存储器:实现将预置数传送给分频器,实现曲目的不停音调和音长;5 2分频器:将产生的信号再次进行2分频;注: 音名显示控制 音名显示电路用来显示演奏乐曲时对应的音乐曲曲目名。可以用三个数码管,加以显示,本设计中使用HIGH3:0,MED3;0,LOW3;0等信号加以显示,为了能使其循环显示,需要一时长计数器,等音乐演奏完成后,保证自动从头开始演奏。4.1.5子模块描述 按键接收器 D触发器1、功能描述 运用D触发器和数据锁存器实现数据线输出的使能端。2、管脚描述信号名称输入/输出源目标功能描述DIR输入Pin按键输入信号DR输出Pin使能端3、实现说明:l 在按键信号产生后,进行信号的锁存和产生使能信号。 4、验证方案l 正常的信号锁存,和信号转换;l 是否实现正确使能输出;节拍发生器 分频器 1、功能描述 根据信号的输入,对应产生对应曲目的节拍频率时钟用来读取存储器音调音长数据,产生不同的预置数 2、管脚描述信号名称输入 / 输出源目标功能描述DIR输入PIN按键输入CLK输入PIN基准时钟频率CK输出PIN1位节拍频率时钟 3、实现说明 在CLK的上升沿,将锁存后的DIR信号输入到内部,并根据对应时钟节拍分频,产生对应节拍频率。 4、测试 略; 分频器 1、功能描述 将基准时钟按照预置数的信息进行分频,且与时钟同步,并当使能端低电平时,停止输出,也可实现循环播放。2、管脚描述信号名称输入/输出源目标功能描述DIR输入PIN使能端CK输入PIN基准频率VOICE输入PIN预置数SPEAK输出PIN乐曲输出;3、实现说明通过计数器、存储器、D触发器,实现分频。当计数从预置数到初始值时Speaker翻转一次,即为分频。4、测试用modelsim仿真,观察波形是否为所需方波;存储器 1、功能描述 按照使能端的数据,选择对应的预置数据进行读操作,并且于时钟同步。2、管脚描述信号名称输入/输出源目标功能描述DR输入PIN使能端CLK输入PIN基准频率VOICE输出PIN读取的预置数SCREEN输出PIN数码管信号输出;3、实现说明通过选择,在时钟的上升沿进行数据的读取,并将读出的数据同时传至数码管,与分频器。4、测试用modelsim仿真,观察预置数的值是否为对应曲目;4.1.6 验证方案:正常情况下,输入一个DIR的值,查看波形输出是否正常。改变DIR的值,再次查看波形输出是否正常,并且其频率是否满足上述的公式计算出的值。4.1.7 应用范围:简易电
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号