VHDL音乐播放器_第1页
VHDL音乐播放器_第2页
VHDL音乐播放器_第3页
VHDL音乐播放器_第4页
VHDL音乐播放器_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

洛洛 阳阳 理理 工工 学学 院院 课课 程程 设设 计计 报报 告告 课程名称 EDA 技术与 VHDL 设计题目 音乐播放器的设计与仿真 专 业 通信工程 班 级 B1105 学 号 B1105 姓 名 完成日期 2014 年 12 月 22 日 前言 随着科学技术的进步 电子器件和电子系统设计方法日新月异 电子设计 自动化 Electronics Design Automation EDA 技术正是适应了现代电子产 品设计的要求 吸收了多学科最新成果而形成的一门新技术 现如今掌握 EDA 技术是电子信息类专业的学生 工程技术人员所必备的基本能力和技能 传统电子电路的设计 首先要对系统进行分析 然后按功能对系统进行划 分 接下来就要选择特定芯片 焊接成 PCB 电路板 最后对成品 PCB 电路板进 行调试 这样的设计没有灵活性可言 搭成的系统需要的芯片种类多且数目大 而且对于电路图的设计和电路板的设计都需要很大的工作量 工作难度也很高 随着可编程器件和 EDA 技术的发展 传统设计的劣势被克服 采用可编程逻辑 器件基于芯片的设计方法 期间的内部逻辑和引脚可以由设计者自行决定 提 高了设计的灵活性和工作效率 同时 将系统集成在一个芯片上的设计 使系 统具有体积小 功耗低 可靠性高等特点 EDA 技术即电子设计自动化技术 它是以可编程逻辑器件 PLD 为载体 以 硬件描述语言 HDL 为主要的描述方式 以 EDA 软件为主要的开发软件的电子设 计过程 它主要采用 自顶向下 的设计方法 设计流程主要包括 设计输入 综合 仿真 适配 下载 EDA 技术主要有以下特征 1 高层综合的理论和方法取得进展 从而将 EDA 设计层次由 RT 级提高 到了系统级 并推出了系统级综合优化工具 缩短了复杂 ASIC 的设计周期 2 采用硬件描述语言来描述 10 万门以上的设计 并形成了 VHDL 和 Verilog HDL 两种标准硬件描述语言 3 采用平面规划技术对逻辑综合和物理版图设计联合管理 做到在逻辑 设计综合早期阶段就考虑到物理设计信息的影响 4 可测性综合设计 5 为带有嵌入式 IP 核的 ASIC 设计提供软 硬件协同设计工具 6 建立并设计工具框架结构的集成化设计环境 以适应当今 ASIC 规模 大而复杂 数字与模拟电路并存 硬件与软件设计并存 产品上市速度快等特 点 总而言之 EDA 技术的出现 给电子信息产业带来了革命性的变革 一一 设计任务及要求设计任务及要求 本次课程设计要求使用 EDA 工具 设计实现简易音乐播放器 理解音名与 频率的关系及数控分频原理 经过对整体进行模块化分析 编程 综合 仿真 及最终下载 完整实现简易音乐器的播放功能 用 VHDL 语言设计乐音的节拍与音符产生电路 用 VHDL 语言设计分频系数 音符显示数据产生电路 用 VHDL 语言设计可控分频器电路 理解简易音乐播放 器总体设计方案 掌握基本的 VHDL 语言 理解音乐播放电路设计方案 掌握用 VHDL 语言设 计节拍与音符产生电路 掌握用 VHDL 语言设计分频系数 音符显示数据产生电 路 掌握用 VHDL 语言设计可控分频器电路 设计结果 原理图与原程序 电路 仿真图 能在实训系统上播放悦耳动听的音乐 二二 设计实现设计实现 2 1 准备知识 在本次设计中采用了 梁祝 茉莉花 虫儿飞 作为要播放的乐曲 根据声乐知识 组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连 续演奏所需的两个基本要素 获取这两个要素所对应的数值以及通过纯硬件的 手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键 该演奏电路演奏的乐曲是 梁祝 片段 其最小的节拍为 1 拍 将 1 拍的 时长定为 0 25 秒 则只需要再提供一个 4Hz 的时钟频率即可产生 1 拍的时长 演奏的时间控制通过 ROM 查表的方式来完成 对于占用时间较长的节拍 如全 音符为 4 拍 重复 4 2 4 音符为 2 拍 重复 2 1 4 音符为 1 拍 重复 1 由于音阶频率多为非整数 而分频系数又不能为小数 故必须将得到的分 频数四舍五入取整 若基准频率过低 则由于分频系数过小 四舍五入取整后 的误差较大 若基准频率过高 虽然误码差变小 但分频结构将变大 实际的 设计应综合考虑两方面的因素 在尽量减小频率误差的前提下取舍合适的基准频 率 本设计中选取 4MHz 的基准频率 表 2 1 为简谱中音名与频率的对应关系 表 2 1 乐谱编码和乐音频率 音符编码 频率 f 分频数 10 6 f计数值 10 6 2f 1 1126210 6 2621907 2229410 6 2941699 3333010 6 3301514 4434910 6 3491431 5539210 6 3921274 6644010 6 4401135 低 音 7749410 6 4941011 1852310 6 523955 2958710 6 587850 31065910 6 659757 41169810 6 698715 51278410 6 784636 61388010 6 880567 中 音 71498810 6 988505 高音 115104710 6 1047476 2 2 乐曲演奏电路的结构示意 2 3 乐曲演奏电路的子结构 顶层结构所包含的模块分别有地址计数器模块 ADDR 乐音分频器模块 SPEAKER 数据存储器 YP 以下便是对各个子模块的分析 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 乐 2 3 1 地址计数器模块 1 地址计数器功能 在此模块中设置了一个 9 位二进制计数器 计数最大值为 512 这个计数 器的计数频率选为 4Hz 即每一计数值的停留时间为 0 25s 恰好为当全音符设 为 1s 时 例如 梁祝 乐曲的第一个音符为 3 此音在逻辑中停留了 4 个 时钟节拍 即为 1s 时间 相应地所对应 1 音符分频预置数为 1409 在 ADDR 的输入端停留了 1s 随着 ADDR 中的计数器按 4Hz 的时钟频率做加法计数时 乐谱逐次被选取 梁祝 乐曲就开始自然连续的演奏起来了 2 程序代码 LIBRARY ieee USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY ADDR IS PORT clk IN STD LOGIC A BUFFER STD LOGIC VECTOR 8 DOWNTO 0 END ARCHITECTURE ONE OF ADDR IS BEGIN PROCESS clk BEGIN IF clk event AND clk 1 THEN A temp temp temp temp temp temp temp temp temp temp temp temp temp temp temp 2048 end case end process process clk begin if clk event and clk 1 then count count 1 if count temp then FM not FM count 0 end if end if end process spks FM end 3 乐音分频器符号图 图 2 4 乐音分频器符号图 4 乐音分频器波形图 图 2 5 乐音 2 的波形图 图 2 6 乐音 3 的波形图 2 3 3 数据存储器 从菜单里的 Tools 选择 MegaWizard Plug In Manager 按照向导完成 ROM 的定制 ROM 初始化文件见附录 图 2 7 数据存储器设计图 2 3 3 数据仿真 1 符号图 图 2 8 存储器和地址计数器符号图 2 波形图 图 2 9 存储器存入的数据 存储器存入了 梁祝 茉莉花 虫儿飞 三首音乐 最小编程单 元是八分音符即每个数字占 0 37 秒 每首歌结束之后空 0 37 8 2 6 秒 三 首歌共 424 个地址 即 0 37 424 155 秒 即两分半左右 2 3 4 时钟分频器 1 二十分频器 程序代码 library ieee use ieee std logic 1164 all entity fenpin20 is port clk in std logic 输入 20MHZ 信号 out1 out std logic 输出 1MHZ end architecture one of fenpin20 is signal T1 integer range 0 to 10 1 signal F1M std logic begin process clk begin if clk event and clk 1 then T1 T1 1 if T1 9 then F1M not F1M T1 0 end if end if end process out1 F1M end 符号图 图 2 10 分频器符号图 波形图 图 2 11 分频器波形图 波形图意义 此分频器是 20 分频 即把频率分成其本身频率的 1 20 波形图中 clk 周期设置为 1ns 则 cout1 的周期是 20ns 实现 20 分频 2 1M 分频 4hz 程序代码 library ieee use ieee std logic 1164 all entity FENPIN4HZ is port clk in std logic 输入 1MHZ 信号 F out std logic 输出 4HZ end architecture one of FENPIN4HZ is signal T1 integer range 0 to 124999 signal F1M std logic begin process clk begin if clk event and clk 1 then T1 T1 1 if T1 124999 then F1M not F1M T1 0 end if end if end process F F1M end 符号图 图 2 12 分频器符号图 波形图 图 2 13 分频器波形图 三三 整体仿真整体仿真 3 1 符号图 图 3 1 整体符号图 心得体会 通过这几天的课程设计 使我对 VHDL 语言有了更加深刻的了解 在书本上 学的理论知识能够运用到了实践中 而课程设计做的成功 增加了我学习 EDA 的兴趣 不论在以后的学习中还是工作中 EDA 肯定是我们必不可少的设计工 具 通过此次课程设计我已经可以按计划将要求把简易音乐演奏器设计出来 并能实现所要的功能 在设计过程中 我遇到了许多问题 通过自己上网 查阅资料 问同学老 师 解决了各个问题 并设计出所需要的要求的程序代码 在设计过程中 我 了解到设计程序代码的基本过程 首先建立子模块 并对各个模块进行仿真 调试 直到实现所要的功能为止 再用元件例化对顶层文件进行仿真 调试 到仿真图正确止 最后将程序代码下载到 FPGA 实验箱上 总的来说 通过实验 我激发了 EDA 学习的兴趣 也对这门课程有了更深 的理解 对 EDA 设计软件 Quarter 的使用也更加熟练 更重要的是在此次实 验过程中 更好的培养了我们的具体实验的能力 又因为在在实验过程中有许 多实验现象 需要我们仔细的观察 并且分析现象的原因 特别有时当实验现 象与我们预计的结果不相符时 就更加的需要我们仔细的思考和分析了 并且 进行适当的调节 参考文献 1 张顺兴 数字电路与系统设计 第 1 版 南京 东南大学出版社 2004 2 王玉秀 电工电子基础实验 第 1 版 南京 东南大学出版社 2006 3 孙肖子 模拟电子技术基础 第 1 版 西安 西安电子科技大学出版社 2001 1 4 谢自美 电子线路设计 实验 测试 第 2 版 武昌 华中科技大学出版社 2000 7 5 张豫滇 电子电路课程设计 第 1 版 南京 河海大学出版社 2005 8 6 沈明山 EDA 技术及可编程器件应用实训 科学出版社 2004 6 4 318 326 7 刘婷婷 李军 电子设计自动化 EDA 北京师范大学出版社 2007 9 2 250 257 8 赵明富 李立军 EDA 技术基础 北京大学出版社 2007 5 5 221 224 附录 Addr 0 1 2 3 4 5 6 7 033335556 888896855 161212121513121012 2499999999 3277665556 40999107766 4855568899 5633886568 6455555555 72101010127799 8068555500 8835535679 9666666656 梁祝 104888912121210 112991098865 12033338888 1286865356814400000000空 6 秒 1601010101213151513 1681212121312121212 1761010101213151513 1841212121312121212 1921212121212121012 2001213131312121212 20810109101212109 21688898888 22410981099910 2321212131512121212 24099101291086 24855556688 256999108886 26455555500

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论