1、洛 阳 理 工 学 院课 程 设 计 报 告课程名称EDA 技术与 VHDL设计题目音乐播放器的设计与仿真专业通信工程班级B1105学号B1105姓名完成日期2014 年 12 月 22 日前言随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation ,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。 现如今掌握 EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。传统电子电路的设计, 首先要对系统进行分析, 然后按功能对系统进行划分,接下来就要选择特定芯片, 焊接
2、成 PCB电路板,最后对成品 PCB电路板进行调试。这样的设计没有灵活性可言, 搭成的系统需要的芯片种类多且数目大, 而且对于电路图的设计和电路板的设计都需要很大的工作量, 工作难度也很高。 随着可编程器件和 EDA技术的发展,传统设计的劣势被克服, 采用可编程逻辑器件基于芯片的设计方法, 期间的内部逻辑和引脚可以由设计者自行决定, 提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。EDA技术即电子设计自动化技术, 它是以可编程逻辑器件 (PLD)为载体,以硬件描述语言 (HDL)为主要的描述方式,以 EDA软件为主要的开发软件的电子设
3、计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征:(1)高层综合的理论和方法取得进展,从而将EDA设计层次由 RT级提高到了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC 的设计周期。( 2)采用硬件描述语言来描述10 万门以上的设计,并形成了VHDL和Verilog-HDL 两种标准硬件描述语言。(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。(4)可测性综合设计。(5)为带有嵌入式IP 核的 ASIC设计提供软、硬件协同设计工具。(6)建立并设计工具框
4、架结构的集成化设计环境,以适应当今ASIC 规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。总而言之, EDA技术的出现,给电子信息产业带来了革命性的变革。一.设计任务及要求本次课程设计要求使用 EDA工具,设计实现简易音乐播放器,理解音名与频率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最终下载,完整实现简易音乐器的播放功能。用 VHDL语言设计乐音的节拍与音符产生电路;用 VHDL语言设计分频系数、音符显示数据产生电路;用 VHDL语言设计可控分频器电路;理解简易音乐播放器总体设计方案。掌握基本的 VHDL语言;理解音乐播放电路设计方案。掌
5、握用 VHDL语言设计节拍与音符产生电路; 掌握用 VHDL语言设计分频系数、 音符显示数据产生电路;掌握用 VHDL语言设计可控分频器电路。设计结果:原理图与原程序、电路仿真图、能在实训系统上播放悦耳动听的音乐。二.设计实现2.1 准备知识在本次设计中采用了梁祝茉莉花虫儿飞作为要播放的乐曲,根据声乐知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素, 获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。该演奏电路演奏的乐曲是“梁祝”片段,其最小的节拍为1 拍。将 1 拍的时长定为 0.25 秒,则只需要再提供一
6、个 4Hz 的时钟频率即可产生 1 拍的时长,演奏的时间控制通过 ROM查表的方式来完成。 对于占用时间较长的节拍, 如全音符为 4 拍(重复 4),2/4 音符为 2 拍(重复 2),1/4 音符为 1 拍(重复 1)。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频数四舍五入取整。 若基准频率过低, 则由于分频系数过小, 四舍五入取整后的误差较大,若基准频率过高,虽然误码差变小,但分频结构将变大。实际的设计应综合考虑两方面的因素 , 在尽量减小频率误差的前提下取舍合适的基准频率。本设计中选取 4MHz的基准频率。表2-1 为简谱中音名与频率的对应关系。表 2.1乐谱编码和
7、乐音频率音符编码频率 f分频数 106/f计数值 (106/2f)-111262106/262190722294106/294169933330106/3301514低44349106/349143155392106/3921274音66440106/440113577494106/494101118523106/52395529587106/587850310659106/659757中411698106/698715512784106/784636音613880106/880567714988106/988505高音1151047106/10474762.2 乐曲演奏电路的结构示意时钟乐谱
8、乐音存储器扬声器分频器地址2.3 乐曲演奏电路的子结构顶层结构所包含的模块分别有地址计数器模块(ADDR)、乐音分频器模块( SPEAKER)、数据存储器( YP)以下便是对各个子模块的分析。2.3.1地址计数器模块1. 地址计数器功能在此模块中设置了一个 9 位二进制计数器 (计数最大值为 512),这个计数器的计数频率选为 4Hz,即每一计数值的停留时间为 0.25s ,恰好为当全音符设为 1s 时。例如,梁祝乐曲的第一个音符为“ 3”,此音在逻辑中停留了 4 个时钟节拍,即为 1s 时间,相应地所对应“ 1”音符分频预置数为 1409 在 ADDR的输入端停留了 1s。随着 ADDR中的
9、计数器按 4Hz 的时钟频率做加法计数时,乐谱逐次被选取,梁祝乐曲就开始自然连续的演奏起来了。2. 程序代码LIBRARY 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 (clkevent AND clk = 1)THENA temp temp
10、 temp temp temp temp temp temp temp temp temp temp temp temp temp=2048;end case;end process;process(clk)beginif(clkevent 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数据存
11、器从菜 里的 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.
12、all;entity fenpin20 isport(clk : in std_logic; -out1 : out std_logic);-输入输出20MHZ信号1MHZend;architecture one of fenpin20 issignal T1 : integer range 0 to 10-1;signal F1M : std_logic;beginprocess(clk)beginif(clkevent and clk=1)thenT1=T1+1;if(T1=9) then F1M= not F1M;T1=0;end if;end if;end process;out1=F
13、1M;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 isport(clk : in std_logic; -输入1MHZ信号F : out std_logic);-输出4HZend;architecture one of FENPIN4HZ issignal T
14、1 : integer range 0 to 124999;signal F1M : std_logic;beginprocess(clk)beginif(clkevent and clk=1)thenT1=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语言有了更加深刻的了解,在书本上学的理论知识能够运用到了实践中,而课程设计做的
15、成功,增加了我学习EDA的兴趣,不论在以后的学习中还是工作中, EDA肯定是我们必不可少的设计工具。通过此次课程设计我已经可以按计划将要求把简易音乐演奏器设计出来,并能实现所要的功能。在设计过程中, 我遇到了许多问题, 通过自己上网、 查阅资料、问同学老师,解决了各个问题, 并设计出所需要的要求的程序代码。在设计过程中, 我了解到设计程序代码的基本过程,首先建立子模块,并对各个模块进行仿真,调试,直到实现所要的功能为止。 再用元件例化对顶层文件进行仿真,调试,到仿真图正确止。最后将程序代码下载到FPGA实验箱上。总的来说,通过实验,我激发了 EDA学习的兴趣,也对这门课程有了更深的理解,对 E
16、DA设计软件 Quarter 的使用也更加熟练。更重要的是在此次实验过程中,更好的培养了我们的具体实验的能力。 又因为在在实验过程中有许多实验现象,需要我们仔细的观察, 并且分析现象的原因。 特别有时当实验现象与我们预计的结果不相符时, 就更加的需要我们仔细的思考和分析了, 并且进行适当的调节。参考文献1 张顺兴 . 数字电路与系统设计 . 第 1 版 . 南京:东南大学出版社 ,20042 王玉秀 . 电工电子基础实验 . 第 1 版. 南京:东南大学出版社 ,20063 孙肖子 . 模拟电子技术基础 . 第 1 版 . 西安:西安电子科技大学出版社 ,2001.14 谢自美 . 电子线路设
17、计 ?实验 ?测试 . 第 2 版 . 武昌:华中科技大学出版社 ,2000.75 张豫滇 . 电子电路课程设计 . 第 1 版. 南京:河海大学出版社 ,2005.86 沈明山 .EDA技术及可编程器件应用实训 , 科学出版社 ,2004.6 (4):318-3267 刘婷婷 , 李军 . 电子设计自动化( EDA) . 北京师范大学出版社, 2007,9( 2) :250-2578赵明富 , 李立军 .EDA技术基础 , 北京大学出版社 ,2007.5 (5):221-224附录:Addr+0+1+2+3+4+5+6+703333555688889685516121212151312101
18、224999999993277665556409991077664855568899563388656864555555557210101012779980685555008835535679966666665610488891212121011299109886512033338888128686535681365555550014400000000152000000001601010101213151513168121212131212121217610101012131515131841212121312121212192121212121212101220012131313121212
19、12梁祝空 6 秒茉莉花20810109101212109+2168889888822410981099910232121213151212121224099101291086248555566882569991088862645555550027200000000280000000002881010101011111212296101010109999304888899101031210101077777320661010999932866101099993366610109998344888888883521091212121211103609999121110936812121210999937666101099993846610109999392111011109999400111011101515984088888888841600000000空 6 秒虫儿飞空 3 秒