基于verilog的音乐盒设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于verilog的音乐盒设计.doc》由会员分享,可在线阅读,更多相关《基于verilog的音乐盒设计.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、EDA设计基础实验课程论文题 目 基于verilog音乐盒设计 学 院 通信学院 专业班级 通信111 学生姓名 大彬哥 指导教师 2013年 6月 22日第 31 页摘 要使用Verilog HDL设计乐曲演奏电路,系统实现是用硬件描述语言Verilog HDL按分频控制方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙乐曲。通过控制输出到蜂鸣器激励信号频率高低与持续时间,从而使扬声器发出连续乐曲声,且当乐曲演奏完成时,保证能自动从头开始演奏。关键词:Verilog HDL; 蜂鸣器; 时序仿真AbstractUsing Verilog HDL music playing circ
2、uit design, system implementation is to use Verilog hardware description language HDL design according to control by means of frequency division, then carries on the programming, sequential simulation, circuit function verification, play the wonderful music. By controlling the output to the speaker
3、of the discretion of the excitation signal frequency and duration, which makes the speaker sends out the continuous music, and when the music playing is complete, ensure that can automatically play from the very beginning.Keywords: Verilog HDL ; Ensure ; Sequential simulation目 录摘 要IAbstractII目 录III第
4、1章 绪论11.课程设计目:12.课程设计要求:13.该方案可以实现功能:1第2章 应用工具介绍22.1 EDA技术介绍22.2 Verilog HDL语言介绍2第3章 基本原理4音调控制4音长控制5第4章 方案实现7第5章 方案测试20第6章 引脚锁定23第7章 引脚锁定后下载程序24参考文献25第1章 绪论1.课程设计目:1)加深对EDA技术理解,掌握乐曲演奏电路工作原理2)了解怎样控制音调高低变化与音长,从而完成乐曲自动循环演奏。3)培养自主学习、正确分析与解决问题能力 2.课程设计要求:1)使用Verilog HDL设计乐曲演奏电路,系统实现是用硬件描述语言Verilog HDL按分频
5、控制方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙乐曲。2) 通过控制输出到扬声器激励信号频率高低与持续时间,从而使扬声器发出连续乐曲声,且当乐曲演奏完成时,保证能自动从头开始演奏。3.该方案可以实现功能:1)通过蜂鸣器播放音乐;2)通过一个开关实现两首乐曲切换;3)在音乐播放同时,会有led流水灯闪烁.第2章 应用工具介绍作为当今最流行计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术最新成果,进行电子产品自动设计。EDA可提供文本输入以及图形编辑方法将设计者意图用程序或者图形方式表达出来,而我们经常用到VHDL语言便是用于编写
6、源程序所需最常见硬件描述语言(HDL)之一。2.1 EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)与计算机辅助工程(CAE)概念发展而来。EDA技术是在电子CAD技术基础上发展起来计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术最新成果,进行电子产品自动设计1。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、
7、优化、布局、布线与仿真,直至对于特定目标芯片适配编译、逻辑映射与编程下载等工作。典型EDA工具中必须包含两个特殊软件包,即综合器与适配器。综合器功能就是将设计者在EDA平台上完成针对某个系统项目HDL、原理图或状态图形描述,针对给定硬件系统组件,进行编译、优化、转换与综合,最终获得我们欲实现功能描述文件。综合器在工作前,必须给定所要实现硬件结构参数,它功能就是将软件描述及给定硬件结构用一定方式联系起来。也就是说,综合器是软件描述及硬件实现一座桥梁。综合过程就是将电路高级语言描述转换低级、可及目标器件FPGA/CPLD相映射网表文件。 在今天,EDA技术已经成为电子设计普遍工具,无论设计芯片还是
8、设计系统,没有EDA工具支持,都是难以完成。EDA工具已经成为设计师必不可少武器,起着越来越重要作用。从目前EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美地步。2.2 Verilog HDL语言介绍Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级多种抽象设计层次数字系统建模。被建模数字系统对象复杂性可以介于简单门与完整电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模2。作为一种通用化硬件描
9、述语言,Verilog HDL语言具有下述描述能力:设计行为特性、设计数据流特性、设计结构组成以及包含响应监控与设计验证方面时延与波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟具体控制与运行3。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰模拟、仿真语义。因此,用这种语言编写模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符与结构。Verilog HDL提供了扩展建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言核心子
10、集非常易于学习与使用,这对大多数建模应用来说已经足够。当然,完整硬件描述语句足以对从最复杂芯片到完整电子系统进行描述。Verilog HDL语言已经成为一种标准硬件描述语言。它具有以下特点:(1)作为一种多用途硬件描述语言,它具有很好易学性与易用性。(2)Verilog HDL语言允许在同一个模块中进行不同抽象层次描述。(3)大多数逻辑综合工具都支持Verilog HDL,使得它成为设计人员一个很好选择。(4)所有制造厂商都提供了Verilog HDL工艺库,用以支持仿真。(5)Verilog HDL程序语言接口拥有强大功能,允许用户用C语言对内部数据结构进行描述3。正是以上优点,使得Veri
11、log HDL语言广泛流行。下面是verilog设计流程第3章 基本原理乐曲演奏原理是这样:组成乐曲每个音符频率值(音调)及其持续时间(音长)是乐曲能连续演奏所需两个基本数据,因此只要控制输出到扬声器激励信号频率高低与持续时间,就可以使扬声器发出连续乐曲声4。频率高低决定了音调高低。音乐十二平均率规定:每两个8度音(如简谱中中音1及高音1)之间频率相差一倍。在两个8度音之间,又可分为12个半音,每两个半音频率比为122。另外,音名A(简谱中低音6)频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音4。由此可以计算出简谱中从低音1至高音1之间每个音名对应频率,如表3.11所示:表3.
12、11 简谱中音名及频率关系音名频率/Hz音名频率/Hz音名频率/Hz低音1中音1高音1低音2中音2高音2低音3中音3高音3低音4中音4高音4低音5392中音5784高音51568低音6440中音6880高音61760低音7中音7高音7所有不同频率信号都是从同一个基准频率分频得到。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取整后误差较大;若基准频率过高,虽然误差变小,但分频数将变大。实际设计综合考虑这两方面因素,在尽量减小频率误差前提下取合适基准频率4。本例中选取6MHz为基准频率。若无6MHz基准频率,则可以先
13、分频得到6MHz,或换一个新基准频率。实际上,只要各个音名间相对频率关系不变,演奏出乐曲听起来都不会走调。本例需要演奏是梁祝乐曲,该乐曲各音阶频率及相应分频比如表2所示。为了减小输出偶次谐波分量,最后输出到扬声器波形应为对称方波,因此在到达扬声器之前,有一个二分频分频器。表2中分频比就是从6MHz频率二分频得到3MHz频率基础上计算得出。由于最大分频系数为9102,故采用14位二进制计数器分频可满足需要。在表2中,除给出了分频比以外,还给出了对应于各个音阶频率时计数器不同预置数。对于不同分频系数,只要加载不同预置数即可。采用加载预置数实现分频方法比采用反馈复零法节省资源,实现起来也容易一些,如
14、表3.12所示:表 各音阶频率对应分频比及预置数音名分频比预置数音名分频比预置数低音391027281中音2511111272低音576538730中音3455211831低音668189565中音5382712556低音7607310310中音6340912974中音1573610647高音1286713516此外,对于乐曲中休止符,只要将分频系数设为0,即初始值为2141=16383即可,此时扬声器将不会发声。音符持续时间必须根据乐曲速度及每个音符节拍数来确定。本例演奏梁祝片段,最短音符为4分音符,如果将全音符持续时间设为1s话,则只需要再提供一个4Hz时钟频率即可产生4分音符时长4。乐谱
15、产生电路用来控制音乐音调与音长。控制音调通过设置计数器预置数来实现,预置不同数值可以使计数器产生不同频率信号,从而产生不同音调。控制音长是通过控制计数器预置数停留时间来实现,预置数停留时间越长,则该音符演奏时间越长。每个音符演奏时间都是0.25s整数倍,对于节拍较长音符,如2分音符,在记谱时将该音名连续记录两次即可。音名显示电路用来显示乐曲演奏时对应音符。可以用3个数码管,分别显示高、中、低音音名,实现演奏动态显示,十分直观。在本例中,high3:0、med3:0、low3:0等信号分别用于显示高音、中音、低音音符。为了使演奏能循环进行,需另外设置一个时长计数器,当乐曲演奏完成时,保证能自动从
16、头开始演奏。第4章 方案实现由系统框图可以看到本方案分成8个模块。1)48MHz分频成12MHz波形分频器,源代码与顶层模块如下/48mhz分成12mhz分频模块module div_clk12mhz(clk_48mhz,clk_12mhz);input clk_48mhz;output clk_12mhz;reg clk_12mhz;reg 21:0 cnt;always (posedge clk_48mhz)if(cnt1) cnt=cnt+1; / (48mhz/12mhz=4,cnt4/2-1=1)else begin cnt=0; clk_12mhz =!clk_12mhz; end
17、endmodule2)12MHz分频成6MHz波形分频器,源代码与顶层模块如下:/12mhz分成6mhz分频模块,提供给song模块module div_clk6mhz(clk_12mhz,clk_6mhz);input clk_12mhz;output clk_6mhz;reg clk_6mhz;reg cnt;always (posedge clk_12mhz)clk_6mhz=!clk_6mhz; endmodule 3)12MHz分频成4Hz波形分频器,源代码与顶层模块如下:/12mhz分成4hz分频模块,提供给song模块module div_clk4hz(clk_12mhz,clk
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 verilog 音乐盒 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内