音乐演奏系统 毕业论文解析.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘 要 本设计在EDA开发工具 QuartusII .1平台上利用VHDL语言设计4X4矩阵式键盘电路Key_encoder,自动音乐播放控制电路NoteTabs,数控分频器电路Tone_Tab1,二选一数据选择电路Mux21c,音节频率产生电路Speakera,实现手动按键输入和自动播放功能的音乐演奏系统电路,并通过定制LPM-ROM存储音乐数据,以 “两只蝴蝶”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。要想实现其他乐曲的演奏效果,只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。 目 录 1 绪论 1.1 EDA技术 1 1.2 VHDL语言 1 1.3 FPGA简介 1 2 总体设计 2.1设计目的和任务要求 2.1.1 设计目的 1 2.1.2 设计任务要求 1 2.2 音乐演奏系统组成 2.2.1 音乐演奏系统电路基本原理 2 2.2.2 音符频率的得到 2 2.2.3 自动播放乐曲节奏控制 2 2.2.4 乐谱发生器 3 2.2.5 4×4 矩阵式键盘 3 2.2.6 音乐演奏电路总体设计 3 2.3 顶层模块设计 2.4 单元模块设计 2.4.1 4X4矩阵式键盘Key_encoder VHDL模块设计 4 2.4.2 自动乐曲播放模块NoteTabs VHDL模块设计 5 2.4.3 定制音符数据的ROM文件 5 2.4.4 音乐谱对应分频预置数查表电路Tone_tab1 VHDL模块设计 6 2.4.5 Speakera 音乐符数控分频模块 VHDL模块设计 8 2.4.6 4位数据宽度的二选一多路选择器Mux21c VHDL模块设计 8 2.5 VHDL音乐演奏系统仿真与调试 2.5.1 自动乐曲播放模块NoteTabs的仿真 9 2.5.2 音乐谱对应分频预置数查表电路Tone_tab1模块的仿真 9 2.5.3 Speakera 音乐符数控分频模块的仿真 10 2.5.4 4X4矩阵式键盘Key_encoder模块仿真 10 2.5.5 4位数据宽度的二选一多路选择器Mux21c模块仿真 11 参考文献 13 附 录 14 附录A 顶层模块VHDL程序: 14 附录B 4X4矩阵式键盘Key_encoder VHDL程序: 16 附录C 自动乐曲播放模块模块程序: 17 附录D 音乐谱对应分频预置数查表电路Tone_tab1 VHDL程序: 18 附录F Speakera 音乐符数控分频模块 VHDL其程序如下: 19 附录E 4位数据宽度的二选一多路选择器Mux21c VHDL程序 21 心得体会 22 1 绪论 1.1 EDA技术 EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂ASIC的设计周期。 (2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。 ()为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。 ()建立并行设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 1. VHDL语言 VHDL是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。 VHDL程序结构包括:实体(Entity)、结构体(Architecture)、配置(Configuration)、包集合(Package)及库(Library)。其中,实体是一个VHDL程序的基本单元,由实体说明和结构体两部分组成:实体说明用于描述设计系统的外部接口信号;结构体用于描述系统的行为、系统数据的流程或系统组织结构形式。配置用语从库中选取所需的单元来组成系统设计的不同规格的不同版本,使被设计系统的功能发生变化。包集合存放各设计模块能共享的数据类型、常数、子程序等。库用于存放已编译的实体、构造体、包集合及配置:一种是用户自己开发的工程软件,另一种是制造商提供的库。 关于VHDL最后要说明的是:与常规的顺序执行的计算机程序

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档