EDA课程设计基于VHDL的简易乐曲演奏器设计

上传人:cn****1 文档编号:507458318 上传时间:2023-06-20 格式:DOC 页数:20 大小:467.50KB
返回 下载 相关 举报
EDA课程设计基于VHDL的简易乐曲演奏器设计_第1页
第1页 / 共20页
EDA课程设计基于VHDL的简易乐曲演奏器设计_第2页
第2页 / 共20页
EDA课程设计基于VHDL的简易乐曲演奏器设计_第3页
第3页 / 共20页
EDA课程设计基于VHDL的简易乐曲演奏器设计_第4页
第4页 / 共20页
EDA课程设计基于VHDL的简易乐曲演奏器设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《EDA课程设计基于VHDL的简易乐曲演奏器设计》由会员分享,可在线阅读,更多相关《EDA课程设计基于VHDL的简易乐曲演奏器设计(20页珍藏版)》请在金锄头文库上搜索。

1、目 录 引言11 VHDL及QUARTUSII软件简介21.1 EDA简介21.2 硬件描述语言VHDL21.3软件介绍31.4界面介绍41.4.1软件打开界面41.4.2代码输入界面41.4.3波形仿真界面52 简易音乐演奏器设计及仿真52.1硬件电路设计52.2软件代码设计62.2.1音符储存单元62.2.2选择播放模式及手动模块单元72.2.3分频模块单元82.2.4预置数模块单元9 2.2.5音频发声模块单元102.3系统功能仿真122.3.1音符储存单元波形仿真122.3.2频率控制单元波形仿真122.3.3分频模块单元波形仿真132.3.4预置数模块波形仿真132.3.5音频发声模

2、块单元波形仿真143引脚锁定及下载153.1引脚锁定153.2结果分析154设计总结16参考文献17附录18引言VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLDFPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。本文基于FPGA开发系统,在QuartusII

3、7.2软件平台上,完成了简易乐曲演奏器设计和与仿真,并下载到试验箱进行硬件实现。首先,本文介绍了QuartusII 7.2软件的基本使用方法和VHDL硬件描述语言的特点,采用VHDL 硬件描述语言描述简易信号发生器,完成对电路的功能仿真。在设计过程中,重点探讨了简易乐曲演奏设计思路和功能模块划分。然后,初步探讨了电路逻辑综合的原理,该软件对简易乐曲演奏器进行了逻辑综合。最后,使用EDA实验开发系统进行电路的下载和验证。验证结果表明设计的简易乐曲演奏器完成了预期的功能。本设计是采用VHDL来实现的简易乐曲演奏器。它能实现自动播放和手动播放。1 VHDL及QuartusII软件简介1.1 EDA简

4、介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电

5、子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物等各个领域,都有EDA的应用。1.2 硬件描述语言VHDL硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用VHDL语言只需要书写一行“A=B+C” 即可。而且 VHDL语言可读

6、性强,易于修改和发现错误。早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言VHDL,1987年IEEE采纳VHDL为硬件描述语言标准(IEEE-STD-1076)。VHDL是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用VHDL来完成。VHDL还具有以下优点:(1)VHDL

7、的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。美国于1981年提出了一种新的、标准化的HDL,称之为VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,简称VHDL。这是一种用形式化方法来描述数字电

8、路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门电路,最后用PLD实现其功能。1.3软件介绍Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运

9、行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Alter

10、a的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。1.4界面介绍1.4.1软件打开界面软件打开界面如图所示:图1 软件打开界面1.4.2代码输入界面代码输入界面如图所示:图2 代码输入界面1.4.3波形

11、仿真界面波形仿真界面如图所示:图图4波形仿真界面 2 简易音乐演奏器的设计及仿真2.1硬件电路设计根据要求:简易功能演奏器的功能要求,需要设计手动播放功能和自动播放功能,所以系统顶层框图设计如下图所示:自动播放模块预置数模块选择及手动模块播放模块分频模块图5 顶层设计图其中,自动和手动通过一个按键实现,当按键按下(即此键的指示灯亮)时表示音乐自动播放。当按键不按下(即此键的指示灯灭)时表示手动播放,音符的输入通过实验箱的七个按键实现,。硬件系统使用的是实验室的EDA试验箱,其FPGA主芯片使用的型号是:ACKX1K:EP1K30TC144-3。简易乐曲演奏器的原理图如下:图6 简易乐曲演奏器2

12、.2软件代码设计软件代码设计部分由多个功能模块组成,包括:音符储存模块、选择播放模式和手动播放模块、分频模块、预置数模块和音频发声模块。 2.2.1音符储存单元随着clk的计数变化note的输出音符将内部rom的输出。此模块的代码为:library ieee;use ieee.std_logic_1164.all; entity notetaba isport(clk:in std_logic;note:out integer range 0 to 15);end;architecture bhv of notetaba issignal counter:integer range 0 to

13、120; beginprocess(clk,counter)begin if counter=120 thencounter=0; elsif clkevent and clk=1 then counternotenotenotenotenotenotenotenotenotenotenoteNULL;end case;end process;end;形成的模块框图如下图所示: 图7音符储存模块图2.2.2选择播放模式及手动模块单元当cs=1时为手动模式,cs=0时为自动播放模式。此模块的代码为:library ieee;use ieee.std_logic_1164.all;entity bmux isport(d1,d2:in integer range 0 to 15;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号