您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 简易电子琴设计及FPGA功能验证 FPGA课程设计
西安邮电大学FPGA课程设计报告题目:简易电子琴设计及FPGA功能验证院系:电子工程学院专业班级:微电子0901学生姓名:袁东明(04094026)导师姓名:黄海生起止时间:2012-6-18至2012-6-292012年6月29日目录1.任务.............................................................................................................................22.目的.............................................................................................................................23.使用环境.....................................................................................................................24.FPGA课程设计详细内容.........................................................................................24.1技术规范..........................................................................................................24.1.1总体描述................................................................................................24.1.2结构框图................................................................错误!未定义书签。4.1.3引脚描述................................................................错误!未定义书签。4.1.3应用范围................................................................................................54.2设计方案..........................................................................................................54.2.1顶层方案设计........................................................................................54.2.2顶层模块程序........................................................................................74.3功能验证方案及源程序..................................................................................74.3.1按键输入控制模块方案设计及源程序.................................................74.3.2控制模块方案设计及源程序.................................................................84.3.3LCD驱动模块方案设计及源程序.......................................................114.4电路设计及功能仿真报告............................................................................304.5综合及布局布线报告和引脚分布报告........................................................214.6硬件测试结果报告........................................................................................215.课程设计的心得体会...............................................................................................226.参考资料...................................................................................................................221.任务:a、设计一个简单电子琴。(内置2~4首简单音调曲)b、用FPGA开发板的按键可选择演奏内置曲调,用数码管显示当前演奏的哪个演奏曲目或停止。c、要求电子琴具有自主选择,自动播放所选曲目或停止曲目。2.目的:a、在掌握计算机组成原理理论相关的基础上,了解EDA技术,掌握VerilogHDL硬件描述语言的设计方法和思想,通过学习的VerilogHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识;b、深入学习VerilogHDL、FPGA,了解其编程环境;c、学会运用Modelsim和QuartusII等编程仿真软件;d、将硬件语言编程与硬件实物功能演示相结合,加深理解VerilogHDL、FPGA的学习;3.使用环境(软件/硬件环境,设备等)软硬件环境:软件:QuartusII7.2,Modelsim6.1;硬件环境:DEII开发板;设备:PC一台,USB下载线,FPGA开发板及电源。在EDA软件平台上,根据硬件描述语言Verilog完成的设计文件,自动的完成逻辑编译、化简、分割、综合及优化、布局布线、仿真、目标芯片的适配编译、逻辑映射和编程下载等工作。VerilogHDL语言,用Modelsim进行前仿真,以及代码的生成,验证程序验证,也可进行综合。用QuartusII进行后仿真。4.FPGA课程设计详细内容4.1技术规范4.1.1原理简易电子琴的设计通过软硬件结合实现,硬件系统包括主控制器芯片、LED、蜂鸣器等,软件资源包括编写VerilogHDL程序的应用软件Modelsim和仿真软件QuartusII。电子琴有自动播放功能。播放功能中有三首曲子。程序共有六个模块,分别为主模块、数码管显示模块、分频模块、计数器模块、存储器模块、音频输出模块。硬件实现是用一个数码管显示当前播放的曲目,另外四个按键key1、key2用来选择曲目。通过主模块调用各模块实现电子琴的功能。乐曲演奏的原理:乐曲演奏的原理:组成乐曲的每个音符的频率值(音调)以及持续时间(音长)是乐曲能持续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续的时间,就可以使扬声器发出持续的乐曲声。音调的控制频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音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高音7126615117音长的控制音符的持续时间须根据音乐的速度及每个音符的节拍数来确定。如果设定全音符的持续时间为1S的话,假设产生4分音符,则产生四分频即可实现四分音符的时长,并提供4HZ分频器。如图为乐曲演奏的原理图,其中,乐谱产生电路用来控制音乐的音调和时长。控制音调通过设置计数器的预置数来实现,预置不同的数值会可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数的停留时间越长,则该音符的演奏时间越长,如2分音符,在记谱时将该音符记录两次即可。4.1.2总体方案本次设计课程的目的是让我们在学习verilogHDL的基础上更加深入的了解硬件设计语言的功能、作用及其特征,并且将我们的动手能力与创新能力结合起来。本次试验的总体框图为:设计框图说明4.1.3引脚描述信号名输入/输出目标/源功能描述CLKInputPin主时钟频率,5MHZ,占空比为1:1DIRInputPin使能端,控制时钟产生,以及读写同步OUTOutputPin输出乐曲信号(方波形式)SCREENOutputPin数码管显示信号4.1.4顶层划分顶层模块说明:1.D触发器:实现信号读取,产生内部使能端,控制分频器;2.分频器:实现与基准时钟同步操作,读取存储器数据进行分频操作,实现音调与音长的改变与输出;3.节拍发生器:根据使能端,产生对应的频率产生对应音符时长;4.存储器:实现将预置数传送给分频器,实现曲目的不停音调和音长;5.2分频器:将产生的信号再次进行2分频;注:音名显示控制音名显示电路用来显示演奏乐曲时对应的音乐曲曲目名。可以用三个数码管,加以显示,本设计中使用HIGH[3:0],MED[3;0],LOW[3;0]等信号加以显示,为了能使其循环显示,需要一时长计数器,等音乐演奏完成后,保证自动从头开始演奏。4.1.5子模块描述1按键接收器D触发器1、功能描述运用D触发器和数据锁存器实现数据线输出的使能端。2、管脚描述信号名称输入/输出源目标功能描述DIR输入Pin按键输入信号DR输出Pin使能端3、实现说明:在按键信号产生后,进行信号的锁存和产生使能信号。4、验证方案正常的信号锁存,和信号转换;是否实现正确使能输出;2节拍发生器分频器1、功能描述根据信号的输入,对应产生对应曲目的节拍频率时钟用来读取存储器音调音长数据,产生不同的预置数2、管脚描述信号名称输入/输出源目标功能描述DIR输入PIN按键输入CLK输入PIN基准时钟频率CK输出
本文标题:简易电子琴设计及FPGA功能验证 FPGA课程设计
链接地址:https://www.777doc.com/doc-5270157 .html