您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 课程设计(论文)基于FPGA的音乐播放器设计
目录1绪论..................................................21.1研究背景.........................................21.2可编程逻辑控件FPGA...............................21.3开发语言VHDL.....................................41.4开发环境MAX+PLUSⅡ...............................51.5研究思路及主要工作................................62系统设计..............................................62.1系统原理.........................................62.1.1音调的控制...................................72.1.2音长的控制...................................82.2系统结构.........................................83各模块设计与仿真......................................93.1定制音符数据.....................................93.1.1定制音符数据ROM的mif文件...................93.1.2在MAX+PLUSⅡ下定制的LPM_ROM................103.2音符数据地址发生器模块NOTETABS..................113.3预置数查表电路模块TONETABA......................123.4发声频率产生模块SPEAKERA........................143.5乐曲播放电路顶层电路.............................164硬件测试.............................................165心得体会............................................117参考文献...............................................18附录...................................................192绪论1.1研究背景随着电子技术的飞速发展,微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得本征半导体的工艺水平的线宽已经达到了60nm,并在不断地缩小,面在硅片单位面积上,集成了更多的晶体管。集成电路设计正在不断地向超大规模,极低功耗和超高速的方向发展,电子产品的功能越来越强大,体积越来越小,功耗越来越低。顺应电子技术的发展趋势,可编程逻辑器件和EDA技术使设计方法发生了质的变化。把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”。利用EDA开发平台,采用可编程逻辑器件CPLD/FPGA使硬件的功能可通过编程来实现,这种新的基于芯片的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和PCB设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。这些技术使得各种电子产品迅速的进入了我们的生活,我们处在一个被电子产品深度包围的时代,在一个普通老百姓的家里,衣食住行,每一个产品的诞生都离不开EDA技术,从彩色电视机,到智能冰箱,到全自动洗衣机,电饭煲,到微波炉,电磁炉,电子琴,再到个人随身用的手机,MP3音乐播放器都需要EDA技术提供支持。本文应用VHDL硬件描述语言,设计一个乐曲硬件播放电路,它能将预先设置存储好的乐曲自动播放出来,下面对乐曲播放电路的设计与实现中涉及的EDA技术,以及EDA技术中常用的开发器件CPLD/FPGA可编程逻辑器件,开发语言VHDL以及开发软件MAX+PLUSII作简单介绍。1.2可编程逻辑控件FPGA本设计中选用FPGA,主要是因为它与传统的MCU相比有以下几个方面的优点:①编程方式简便先进。FPGA产品中部分是采用菊花链在系统编程方式的。这种先进的编程方式已成为当今世界上各类可编程器件发展的趋势。因为它省却了价格昂贵,操作不便的专用编程器,只需要一个十分简单的下载编程电路和一条PC机的打3印机通讯线就行了。它无须编程高压,在TTL电平下随时可进行在线编程,并可进行所谓菊花链式多片串行编程。②高可靠性。在高可靠应用领域,MCU的缺憾为FPGA的应用留下了很大的用武之地。这族器件尽管在功能开发上是通过EDA软件实现的。但物理机制却像一片74LS164那样纯属硬件电路,十分可靠。通过合理设计,大多数应用中,无须考虑复杂的复位和初始化。设计中只需利用简单的语句将闲置状态导入同一初始入口,就能有效防止任何可能的“死机”现象。由于是并行工作,它的任一输入脚都可用作类似于MCU的中断监测引脚,且反应速度仅为纳妙级。FPGA的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。③高速。FPGA的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。④功能强大,应用广阔。目前,FPGA的可选择范围很大,可根据不同的应用选用不同容量的芯片,如Lattice的ispLSI和AMD公司的MACH,最小芯片的等效逻辑门为1000门,最大达数十万门。ALTERA和XILINX公司推出的百万门的FPGA可实现几乎任何形式的数字电路或数字系统的设计。随着这类器件的广泛应用和成本的大幅下降,以及产品上市速率的提高,FPGA在系统中的直接应用率正直逼ASIC的开发。⑤易学易用,开发便捷。单片机应用系统的设计对于行家里手来说是十分简单的事。然而,对于初学者,诸如CPU的工作方式、众多特殊寄存器的用法、中断概念等等,着实不是一件容易的事。相比之下,FPGA应用的学习却不需要太多的预备知识,只要稍具一点数字电路和计算机软件设计的基础知识,就能在短期内掌握基本的设计方法和开发技巧。而且反过来去学用单片机,就显得轻车熟路多了。这无疑是高技术为我们的学习提供了捷径,站在巨人的肩膀当然能更快地获得成功。可以预言,我国EDA技术的学习热潮和FPGA的应用热潮决不会逊色于过去10年的单片机热潮。⑥开发周期短。由于相应的EDA软件功能完善而强大,仿真能力便捷而实时,开发过程形象而直观,兼之硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设计,这是产品快速进入市场的最宝贵的特征。一些EDA专家预言,未来的大系统的FPGA设计仅仅是各类再应用逻辑与IP核(CORE)的拼装,其设计周期仅以小时计。TI公司认为,一个ASIC百分之八十的功能可用IP核等现成逻辑合成。41.3开发语言VHDLVHDL是非常高速集成电路硬件描述语言,是可以描述硬件电路的功能、信号连接关系及定时关系的语言.它能比电路原理图更有效地表示硬件电路的特性。使用VHDL语言,可以就系统的总体要求出发,自上至下地将设计内容细化,最后完成系统硬件的整体设计。VHDL语言的主要特点是:①功能强大,灵活性高:VHDL语言是一种功能强大的语言结构,可用简洁明确的代码来进行复杂控制逻辑的设计。同时VHDL语言还支持层次化的设计,支持设计库和可重复使用的元件生成。目前,VHDL语言已成为一种设计、仿真、综合的标准硬件描述语言。②器件无关性:VHDL语言允许设计者在生成一个设计时不需要首先选择一个具体的器件。对于同一个设计描述,可以采用多种不同器件结构来实现其功能。因此设计描述阶段,可以集中精力从事设计构思。当设计、仿真通过后,指定具体的器件综合、适配即可。③可移植性:VHDL语言是一种标准的语言,故采用VHDL进行的设计可以被不同的EDA工具所支持。从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。在一个EDA工具中采用的技术技巧,在其它工具中同样可以采用。④自顶向下的设计方法:传统的设计方法是,自底向上的设计或平坦式设计。自底向上的设计方法是先从底层模块设计开始,逐渐由各个模块形成功能复杂的电路。这种设计方法优点是很明显的,因为它是一种层次设计电路,一般电路的子模块都是按照结构或功能划分,因此这种电路层次清楚,结构明确,便于多人合作开发,同时设计文件易于存档,易于交流。自底向上设计方法的缺点也很明显,往往由于整体设计思路不对而使的花费几个月的低层设计付之东流。平坦式设计是整个电路只含有一个模块,电路的设计是平铺直叙的,没有结构和功能上的划分,因此不是层次电路的设计方式。优点是小型电路设计时可以节省时间和精力,但随着电路复杂程度的增加,这种设计方式的缺点变的异常突出。自顶向下的设计方法是将要设计的电路进行最顶层的描述(顶层建模),然后利用EDA软件进行顶层仿真,如果顶层设计的仿真结果满足要求,则可以继续将顶层划分的模块进行低一级的划分并仿真,这样一级一级设5计最终将完成整个电路的设计。自顶向下的设计方法与前面两种方法相比优点是很明显的。⑤数据类型丰富:作为硬件描述语言的一种VHDL语言的数据类型非常丰富,除了VHDL语言自身预定义的十种数据类型外,在VHDL语言程序设计中还可以由用户自定义数据类型。特别是std_logic数据类型的使用,使得VHDL语言能最真实模拟电路中的复杂信号。⑥运行库和程序包丰富:目前支持VHDL语言的程序包很丰富,大多以库的形式存放在特定的目录下,用户可随时调用。如IEEE库收集了std_logic_1164、std_logic_arith、std_logic_unsigned等程序包。在FPGA综合时,还可以使用EDA软件商提供的各种库和程序包。而且用户利用VHDL语言编写的各种成果都可以以库的形式存放,在后续的设计中可以继续使用。⑦建模方便:由于VHDL语言中可综合的语句和用于仿真的语句齐备,行为描述能力强,因此VHDL语言特别适合信号建模。VHDL语言无论仿真还是综合都是非常合适的描述语言。⑧VHDL语言是一种硬件电路的建模描述语言,因此与普通的计算机语言有较大差别,普通计算机语言是CPU按照时钟的节拍,一条指令执行完后才能执行下一条指令,因此指令执行是有先后顺序的,也即是顺序执行,而每条指令的执行占用特定的时间。而与VHDL语言描述结果相对应的是硬件电路,它遵循硬件电路的特点,语句的执行没有先后顺序,是并发的执行的;而且语句的执行不象普通软件那样每条指令占用一定的时间,只是遵循硬件电路自身的延迟时间。1.4开发环境MAX+PLUSⅡMAX+PLUSⅡ提供了全面的逻辑设计能力,包括电路图、文本和波形的设计输入以及编译、逻辑综合、仿真和定时分析以及器件编程等诸多功能。特别是在原理图输入等方面,MAX+PLUSⅡ被公认为是最易使用、人机界面最友好的PLD开发软件。这样灵活多变的输入方式,给设计使用者带来了极大的方便。61.5研究思路及主要工作本文按照EDA开发流程,采用VHDL硬件描述语言开发,将乐曲硬件播放电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,最后,经顶层文件将各单独结构体进行综合,实现乐曲硬件播放。主要工作:根据硬件播放电路的功能进行全局分析,采用自上至下的设计方法,从系统总体要求出发,逐步将设计内容细化,最后完成系统结构的整体设计,实现预先设置乐曲的播放功能。实现功能乐曲播放,需要完成以下设计:①.预置乐曲,本文选取了《梁祝》与《欢乐颂》作预置,作预置时,需要将乐曲音符
本文标题:课程设计(论文)基于FPGA的音乐播放器设计
链接地址:https://www.777doc.com/doc-1747328 .html