VHDL音乐播放器_第1页
VHDL音乐播放器_第2页
VHDL音乐播放器_第3页
VHDL音乐播放器_第4页
VHDL音乐播放器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、洛阳理工学院课程设计报告课程名称 EDA技术与VHDL设计题目音乐播放器的设计与仿真专业通信工程班级 B1105学 号 B1105姓 名完成日期2014年12月22日刖百随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自 动化(ElectronicsDesign Automation , EDA技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDAK术 是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分, 接下来就要选择特定芯片,焊接成PCBfe路板,最后对成品P

2、CB电路板进行调试。 这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大, 而且对于 电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。随着可编程器件和ED儆术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯 片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、 功耗低、可靠性高等特点。EDAK术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬 件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计 过程。它主要采用“自顶向下”的设计方法,设

3、计流程主要包括:设计输入、综 合、仿真、适配、下载。EDAK术主要有以下特征:(1)高层综合的理论和方法取得进展,从而将 EDAS计层次由RT级提高到 了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC的设计周期。(2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑 设计综合早期阶段就考虑到物理设计信息的影响。(4)可测性综合设计。(5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。(6)建立并设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而

4、复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。总而言之,EDAJJ术的出现,给电子信息产业带来了革命性的变革。.设计任务及要求本次课程设计要求使用ED'具,设计实现简易音乐播放器,理解音名与频 率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最 终下载,完整实现简易音乐器的播放功能。用VHDLS言设计乐音的节拍与音符产生电路;用 VHDLS言设计分频系数、 音符显示数据产生电路;用 VHD印言设计可控分频器电路;理解简易音乐播放 器总体设计方案。掌握基本的VHD皑言;理解音乐播放电品&设计方案。掌握用 VHDL®言设计 节拍与

5、音符产生电路;掌握用VHD印言设计分频系数、音符显示数据产生电路; 掌握用VHD印言设计可控分频器电路。设计结果:原理图与原程序、电路仿真 图、能在实训系统上播放悦耳动听的音乐。二.设计实现2.1 准备知识在本次设计中采用了梁祝 茉莉花 虫儿飞作为要播放的乐曲, 根据声乐知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续 演奏所需的两个基本要素,获取这两个要素所对应的数值以及通过纯硬件的手段 来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。该演奏电路演奏的乐曲是“梁祝”片段,其最小的节拍为 1拍。将1拍的时 长定为0.25秒,则只需要再提供一个4Hz的时钟频率即可产生1拍的时

6、长,演 奏的时间控制通过ROMS表的方式来完成。对于占用时间较长的节拍,如全音符 为4拍(重复4), 2/4音符为2拍(重复2), 1/4音符为1拍(重复1)。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频 数四舍五入取整。若基准频率过低,则由于分频系数过小,四舍五入取整后的误 差较大,若基准频率过高,虽然误码差变小,但分频结构将变大。实际的设计应 综合考虑两方面的因素,在尽量减小频率误差的前提下取舍合适的基准频率。本 设计中选取4MHz勺基准频率。表2-1为简谱中音名与频率的对应关系。表2.1乐谱编码和乐音频率音符编码听f分频数10A6/f计数值(10A6/2f)-1低音

7、1126210A6/26219072229410A6/29416993333010A6/33015144434910A6/34914315539210A6/39212746644010A6/44011357749410A6/4941011中 音1852310A6/5239552958710A6/58785031065910A6/65975741169810A6/69871551278410A6/78463661388010A6/88056771498810A6/988505>_K115104710A6/10474762.2 乐曲演奏电路的结构示意2.3 乐曲演奏电路的子结构顶层结构所包含

8、的模块分别有地址计数器模块(ADDR乐音分频器模块(SPEAKER数据存储器(YPP以下便是对各个子模块的分析2.3.1 地址计数器模块1 .地址计数器功能在此模块中设置了一个9位二进制计数器(计数最大值为512),这个计数器 的计数频率选为4Hz,即每一计数值的停留时间为0.25s,恰好为当全音符设为 1s时。例如,梁祝乐曲的第一个音符为“ 3”,此音在逻辑中停留了 4个时 钟节拍,即为1s时间,相应地所对应“1”音符分频预置数为1409在ADDR勺输 入端停留了 1s。随着ADDR的计数器按4Hz的时钟频率做加法计数时,乐谱逐 次被选取,梁祝乐曲就开始自然连续的演奏起来了。2 .程序代码L

9、IBRARY ieee;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDR ISPORT (clk : IN STD_LOGIC;A : BUFFER STD_LOGIC_VECTOR(8 DOWNTO 0);END;ARCHITECTURE ONE OF ADDR ISBEGINPROCESS (clk)BEGINIF (clk'event AND clk = '1')THENA <= A + 1;END IF;END PROCESS;END;3.地址计数器符号图ADDR

10、elk A8.0inst图2.1地址计数器符号图Mi 16.elk- m- ”一”一:”一6小520.0 A图2.3地址计数器波形图2.3.2乐音分频器1 .乐音分频器模块的功能此模块的功能首先是提供决定所发音符的分频预置数,而此数在输入端口停留的时间即为此音符的节拍值。电路中设置了梁祝茉莉花虫儿飞乐曲全部音符所对应的分频预置数,每一音符的停留时间由音乐节拍和音调发生 器模块clk输入频率决定,在此为4Hz。2 .乐音分频器模块的VHDL®程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.al

11、l;entity speaker isport(clk: in std_logic;-1mhz乐谱编码TN : in std_logic_vector(3 downto 0);- spks : out std_logic);end;architecture rts of speaker issignal FM : std_logic;signal count : integer range 0 to 2047;signal temp : integer range 0 to 2048;beginprocess (TN)begincase TN iswhen "0000" =

12、> temp<=2048;when "0001" => temp<=1907;when "0010" => temp<=1699;when "0011" => temp<=1514;when "0101" => temp<=1275;when "0110" => temp<=1136;when "0111" => temp<=1011;when "1000" => t

13、emp<=955;when "1001" => temp<=851;when "1010" => temp<=758;when "1100" => temp<=637;when "1101" => temp<=567;when "1110" => temp<=505;when "1111" => temp<=477;when others => temp<=2048;end case;e

14、nd process;process(clk)beginif(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.乐音分频器符号图speakeri elkspks一 TN3 .0图2.4乐音分频器符号图4.乐音分频器波形图图2.5乐音2的波形图图2.6乐音3的波形图2.3.3数据存储器从菜单里的Tools选择MegaWizard Plug- In Man

15、ager,按照向导完成 ROM 的定制,ROMJ始化文件见附录。图2.7数据存储器设计图2.3.3数据仿真1.符号图图2.8存储器和地址计数器符号图2.波形图Mailsr T fne-B-ai.1.57 nf Inbeid:4.3 us Stall:EndJI训修DI田I M a eh)产 皿”,00 0f口 m ,0注 200,0皿 台0注 260 P皿划.,口泗0稣 血尸jmjmrLrLrLrLn_rLrmrLrmrLrLrmrLrLrLrumrLrLrLrLrLn_rLrmrLrmrLrLru: :丁 :七g :病LTxnrrTTx:尼:师痢傀烦:葭:ltvx:目:痂M#si>f

16、Tims B«c4 3u£RoiMWD9(J5rft Irtfipvst目 89u* Stwi:Eni3 、-V-alni it 册3 «E一 JTJE1国AAE 1U 43031*1期U 0口|口. 0 Ai 4SQ 0 区14切 0 Eli E3Q. Q #< 弓巾ni 10.*Q 北兽 第0 0 a* 白知 p 的 T3Q 口 国i,巾.。:ttg机口于:irLrLrLrLrLnrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLnrLrLrLr9ZZ>®CZZXZOZ

17、ZEZXIXZOCZOCTZXZOIXE®®(1295 u$ «| >- PoinJerIrtefat-259 inStMl:End5Vd.XlA -i.1 4.3 sirDtS JH jUi 430用EOIv aMastei Tine BarL印1萼w> 1用uvm L 3 w 1 叫 wv L.B w ILn露jmrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLruuLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLTLrLL5灿一12L2工LDL5力以I:a:L£图2.9存储器存入的数据存储器存入

18、了梁祝茉莉花虫儿飞三首音乐,最小编程单元是八分音符即每个数字占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输入20MHz言号输出1MHZport(clk : in std_logic;-out1 : out std_logic);- end;architecture one of fenpin20 issignal T1 : integer rang

19、e 0 to 10-1;signal F1M : std_logic;beginprocess(clk)beginif(clk'event and clk='1')thenT1<=T1+1;if(T1=9) then F1M<= not F1M;T1<=0;end if;end if;end process;out1<=F1M;end;fenpin20聿""小祎*理*押*安祎“白馥inst图2.10分频器符号图波形图:图2.11分频器波形图波形图意义:此分频器是20分频,即把频率分成其本身频率的1/20。波形图中clk周期设置

20、为1ns,则cout1的周期是20ns实现20分频。2 . 1M分频 4hz程序代码:library ieee;use ieee.std_logic_1164.all;entity FENPIN4HZ isport(clk : in std_logic;-输入 1MHZ言号F : out std_logic);-输出 4HZend;architecture one of FENPIN4HZ issignal T1 : integer range 0 to 124999;signal F1M : std_logic;beginprocess(clk)beginif(clk'event a

21、nd clk='1')thenT1<=T1+1;if(T1=124999) then F1M<= not F1M;T1<=0;end if;end if;end process;F <= F1M;end;符号图:: FENPIN4HZj;: elk F ;-at.:inst;.图2.12分频器符号图波形图:图2.13分频器波形图三.整体仿真3.1符号图.叱工亚色上_亡5磔期'齿、丁 " iS一飞;:;:图3.1整体符号图心得体会通过这几天的课程设计,使我对 VHDL语言有了更加深刻的了解,在书本上 学的理论知识能够运用到了实践中,而课程

22、设计做的成功,增加了我学习 EDA 的兴趣,不论在以后的学习中还是工作中,EDA肯定是我们必不可少的设计工具。 通过此次课程设计我已经可以按计划将要求把简易音乐演奏器设计出来,并能实现所要的功能。在设计过程中,我遇到了许多问题,通过自己上网、查阅资料、问同学老师, 解决了各个问题,并设计出所需要的要求的程序代码。 在设计过程中,我了解到 设计程序代码的基本过程,首先建立子模块,并对各个模块进行仿真,调试,直 到实现所要的功能为止。再用元件例化对顶层文件进行仿真, 调试,到仿真图正 确止。最后将程序代码下载到 FPGAS验箱上。总的来说,通过实验,我激发了 ED®习的兴趣,也对这门课程

23、有了更深的 理解,对ED破计软件Quarter II的使用也更加熟练。更重要的是在此次实验 过程中,更好的培养了我们的具体实验的能力。又因为在在实验过程中有许多实 验现象,需要我们仔细的观察,并且分析现象的原因。特别有时当实验现象与我 们预计的结果不相符时,就更加的需要我们仔细的思考和分析了, 并且进行适当 的调节。参考文献1 张顺兴.数字电路与系统设计.第1版.南京:东南大学出版社,20042 王玉秀.电工电子基础实验.第1版.南京:东南大学出版社,20063 孙肖子.模拟电子技术基础.第1版.西安:西安电子科技大学出版社,2001.14 谢自美.电子线路设计?实验?测试.第2版.武昌:华中科技大学出版社,2000.75 张豫滇.电子电路课程设计.第1版.南京:河海大学出版社,2005.86 沈明山.EDA技术及可编程器件应用实训,科学出版社,2004.6 (4) :318-3267 刘婷婷,李军.电子设计自动化(EDA .北京师范大学出版社,2007, 9(2) :250-2578 赵明富,李立

温馨提示

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

评论

0/150

提交评论