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

下载本文档

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

文档简介

1、 电子信息工程专业综合设计(报告)(课 程 设 计)题目题目 基于基于 FPGAFPGA 的音乐播放器的设计的音乐播放器的设计 二级学院 电子信息与自动化学院 专 业 电子信息工程 班 级 11007990201 学生姓名 仲维明 学号 11007990240 指导教师 包明 黄丽雯 时 间 2013-09-23 至 2013-10-18 目目 录录 引言.11 VHDL 及 QUARTUSII 软件简介.21.1 EDA 简介 .21.2 硬件描述语言 VHDL.21.3 软件介绍 .32 简易音乐演奏器设计.52.1 硬件电路设计 .52.2 软件代码设计 .62.2.1 音符储存单元.6

2、2.2.2 选择播放模式及手动模块单元.72.2.3 分频模块单元.82.2.4 预置数模块单元.9 2.2.5 音频发声模块单元.103 引脚锁定及下载.153.1 引脚锁定 .153.2 结果分析 .154 设计总结.16参考文献.16附录.161引言VHDL 语言是一种用于电路设计的高级语言。它在 80 年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。随着 EDA 技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件 CPLDFPGA 的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本

3、低、周期短、可靠性高,而且具有完全的知识产权。突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。本文基于 FPGA 开发系统,在 QuartusII 7.2 软件平台上,完成了简易乐曲演奏器设计和与仿真,并下载到试验箱进行硬件实现。首先,本文介绍了 QuartusII 7.2软件的基本使用方法和 VHDL 硬件描述语言的特点,采用 VHDL 硬件描述语言描述简易信号发生器,完成对电路的功能仿真。在设计过程中,重点探讨了简易乐曲演奏设计思路和功能模块划分。然后,初步探讨了电路逻辑综合的原理,该软件对简易乐曲演奏器进行了逻辑综合。最后,使用 EDA 实验开发系统进行电路的下载和验证。

4、验证结果表明设计的简易乐曲演奏器完成了预期的功能。本设计是采用 VHDL 来实现的简易乐曲演奏器。它能实现自动播放和手动播放。21 VHDL 及 QuartusII 软件简介1.1 EDA 简介简介EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪60 年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、

5、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出 IC 版图或 PCB 版图的整个过程的计算机上自动处理完成。现在对 EDA 的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物等各个领域,都有 EDA 的应用。1.2 硬件描述语言 VHDL硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电

6、子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个 32 位的加法器,利用图形输入软件需要输人 500 至 1000 个门,而利用 VHDL 语言只需要书写一行“A=B+C” 即可。而且 VHDL 语言可读性强,易于修改和发现错误。早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的 EDA 厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985 年美国国防部正式推出了高速集成电路硬件描述语言 VHDL,1987 年 IEEE 采纳 VHDL 为硬件描述语言标准(IEEE-STD-1076)。VHD

7、L 是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL 几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用 VHDL 来完成。VHDL 还具有以下优点:(1)VHDL 的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。(2)VHDL 可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)VHDL 的设计不依赖于特定的器件,方便了工艺的转换。3(4)VHDL 是一个

8、标准语言,为众多的 EDA 厂商支持,因此移植性好。美国于 1981 年提出了一种新的、标准化的 HDL,称之为 VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,简称 VHDL。这是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门电路,最后用 PLD 实现其功能。1.3 软件介绍Quartus II 是 Altera 公司的综合性 PLD 开发软件,支持原理图、VHDL、VerilogHDL 以及

9、AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。 Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方 EDA 工具的良好支持

10、也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA 工具。 此外,Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。Altera 在 Quartus II 中包含了许多诸如 SignalTap II、Chip Editor和 RTL Viewer 的设计辅助工具,集

11、成了 SOPC 和 HardCopy 设计流程,并且继承了 Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。42 简易音乐演奏器的设计2.1 硬件电路设计根据要求:简易功能演奏器的功能要求,需要设计手动播放功能和自动播放功能,所以系统顶层框图设计如下图所示:顶层设计图简易乐曲演奏器的原理图如下:简易乐曲演奏器2.2 软件代码设计软件代码设计部分由多个功能模块组成,包括:音符储存模块、选择播放模式和手动播放模块、分频模块、预置数模块和音频发声模块。 2

12、.2.1 音符储存单元随着 clk 的计数变化 note 的输出音符将内部 rom 的输出。此模块的代码为:分频模块自动播放模块选择及手动模块预置数模块播放模块5library ieee;use ieee.std_logic_1164.all; entity notetaba isport(clk:in std_logic;note:out integer range 0 to 15);end notetaba;architecture bhv of notetaba issignal counter:integer range 0 to 120; beginprocess(clk,count

13、er)begin if counter=120 thencounter=0; elsif clkevent and clk=1 then counternotenotenotenotenotenotenotenotenotenotenoteNULL;6end case;end process;end bhv;形成的模块框图如下图所示:clknote3.0notetabainst2 音符储存模块图2.2.2 选择播放模式及手动模块单元当 cs=1 时为手动模式,cs=0 时为自动播放模式。此模块的代码为:library ieee;use ieee.std_logic_1164.all;entit

14、y bmux isport(d1,d2:in integer range 0 to 15;cs,rst:in std_logic;q:out integer range 0 to 15); end bmux;architecture bhv of bmux isbegin process(cs,rst)beginif rst=1 then qqqq=d1;end case;end if;end process;7end bhv;形成的模块框图为: 选择播放模式和手动模块图2.2.3 分频模块单元本设计中需要的频率 12KHz 分频到 4Hz. .分频模块代码为 library ieee;use

15、 ieee.std_logic_1164.all;entity fenpin isport(clk:in std_logic ; clkout:buffer std_logic);end fenpin;architecture bhv of fenpin is-signal temp:integer range 0 to 3000000;beginprocess(clk)variable temp :integer range 0 to 1500000;beginif clkevent and clk=1 thentemp:=temp+1;if temp=150 thenclkouttone=

16、2047;code=0;code1tone=1091;code=1;code1tone=1196;code=2;code1tone=1289;code=3;code1tone=1331;code=4;code1tone=1409;code=5;code1tone=1479;code=6;code1tone=1541;code=7;code1tone=1569;code=1;code1tone=1621;code=2;code1tone=1668;code=3;code1tone=1689;code=4;code1tone=1728;code=5;code1tone=1763;code=6;co

17、de1tone=1794;code=7;code1NULL;end case;end process;end bhv ;模块图如下: 预置数模块图2.2.5 音频发声模块单元此模块实现发声的功能将对应的频率值的音输出。代码为:library ieee;use ieee.std_logic_1164.all;entity speak isport(clk:in std_logic;tone:in integer range 0 to 2047;spks:out std_logic);end speak;architecture bhv of speak issignal preclk:std_l

18、ogic;signal fullspks:std_logic;beginprocess(clk)variable count4:integer range 0 to 15;beginpreclk11 thenpreclk=1;count4:=0;elsif clkevent and clk=1 thenadr3.0digit3.0higtone10.0zhishuinst1110count4:=count4+1;end if;end process;process(preclk,tone)variable count11:integer range 0 to 2047;beginif prec

19、lkevent and preclk=1 thenif count11=2047 thencount11:=tone;fullspks=1;elsecount11:=count11+1;fullspks=0;end if;end if;end process;process(fullspks)variable count2:std_logic;beginif fullspksevent and fullspks=1 thencount2:=not count2;if count2=1 thenspks=1;elsespks=0;end if;end if;end process;end bhv

20、;此模块框图: 音频产生模块clktone10.0spksspeakinst3113 引脚锁定及下载3.1 引脚锁定选择 Assignments 菜单下的 Pins 命令,出现以下窗口: 引脚锁定图下载时,实验箱上则需连续按“模式选择”按钮选择模式 5,再按“系统复位”按钮。进行引脚锁定,查阅附表,分别点“location”选择引脚号。引脚锁定后再编译。如同此前进行过的。编译成功后点确定。下载完后就可以在实验箱查看结果。3.2 结果分析将程序代码下载到实验箱的 FPGA 芯片中,并验证了在仿真中的结果的正确性。此简易乐曲演奏器系统,能够产生所要求的功能。能够自动播放储存好的乐曲,手动实现音符的

21、发音并能实现复位功能。4 设计总结经过四周的课程设计,已经按计划将要求的简易音乐演奏器设计出来,并能实现所要的功能,可以实现手动播放功能、复位重新播放的功能。在设计过程中,我遇到了许多问题,通过自己上网、查阅资料、问同学老师,解决了各个问题,并设计出所需要的要求的程序代码。在设计过程中,我了解到设计程序代码的基本过程,首先建立子模块,并对各个模块进行仿真,调试,直到实现所要的功能为止。再用元件例化对顶层文件进行仿真,调试,到仿真图正12确止。最后将程序代码下载到 FPGA 实验箱上。在设计过程中,深切感受到自己的渺小,做设计时,需要请教别人,也许是他人的一句简单的话语,就能点醒自己的设计思路。

22、设计思路正确,结果未必正确,也许是语言表达的问题,使机器不能正确识别。此次设计对我的影响较大,也许对生活中存在的东西多问一个为什么,在你设计东西时,你就会感觉轻松许多,更加有时间去想一些别的功能,使自己的设计更加完美,使自己是享受设计的过程,是自己变得更加主动,而不是被动的接受。在设计中更使我明白,学习是无止境的。狂妄的自大就是无知。要时刻保持学习的态度,只要学会的才是自己的。参考文献1.Voknei A.Pedroni.VHDL 数字电路设计教程.电子工业出版社,2008.52.潘松,黄继业.EDA 技术实用教程(第二版).科学出版社,2005.23.焦素敏.EDA 应用技术.清华大学出版社

23、,2002.44.潘松,黄继业.EDA 技术实用教程.北京:科学出版社,20025. 郑家龙,王小海,章安元.集成电子技术基础教程.北京:高等教育出版社,20026. 宋万杰,罗丰,吴顺君.CPLD 技术及其应用.西安:西安电子科技大学出版社,19997. 张昌凡,龙永红,彭涛.可编程逻辑器件及 VHDL 设计技术.广州:华南工学院出版社,20018. 卢杰,赖毅.VHDL 与数字电路设计.北京:科学出版社,20019. 王金明,杨吉斌.数字系统设计与 Verilog HDL.北京:电子工业出版社,2002 10. 张明.Verilog HDL 实用教程.成都:电子科技大学出版社,1999附录

24、library ieee; use ieee.std_logic_1164.all; entity top1 is port ( clk : in std_logic cs,rst : in std_logic; 13 key : in integer range 0 to 15; code:out integer range 0 to 15; code1:out integer range 0 to 15; spkout: out std_logic ); end top1;architecture one of top1 is component notetaba is port(clk:in std_logic; note:out integer range 0 to 15);

温馨提示

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

评论

0/150

提交评论