梁祝音乐实验报告Word格式文档下载.docx

上传人:b****6 文档编号:19172955 上传时间:2023-01-04 格式:DOCX 页数:13 大小:184.61KB
下载 相关 举报
梁祝音乐实验报告Word格式文档下载.docx_第1页
第1页 / 共13页
梁祝音乐实验报告Word格式文档下载.docx_第2页
第2页 / 共13页
梁祝音乐实验报告Word格式文档下载.docx_第3页
第3页 / 共13页
梁祝音乐实验报告Word格式文档下载.docx_第4页
第4页 / 共13页
梁祝音乐实验报告Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

梁祝音乐实验报告Word格式文档下载.docx

《梁祝音乐实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《梁祝音乐实验报告Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

梁祝音乐实验报告Word格式文档下载.docx

 

图2编译VHDL语言代码

图3编译成功

图4选择芯片并配置管脚

图5再次编译

图6加载硬件并下载VHDL语言代码

五、实验连线:

时钟(clk):

时钟输入信号是接在375KHz的时钟源上。

扬声器(Spk):

FPGA的输出是连接在扬声器的输入端,即Spk端。

六、实验VHDL语言代码:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

--------------------------------------------------------------------

entitypmusicis

port(clk:

instd_logic;

--ClockSignal

spk:

bufferstd_logic);

--speakerdriver

endpmusic;

architecturebehaveofpmusicis

signaltone:

std_logic_vector(10downto0);

signaltone_count:

signaltone_index:

integerrange0to15;

signalclk10_count:

std_logic_vector(17downto0);

signaltime:

integerrange0to150;

signalclk10:

std_logic;

begin

process(clk)--generate10hzclocksignal

if(clk'

eventandclk='

1'

)then

clk10_count<

=clk10_count+1;

if(clk10_count=16#3fff#)then

clk10<

=notclk10;

endif;

endprocess;

process(clk10)

if(clk10'

eventandclk10='

if(time=150)then

time<

=0;

else

=time+1;

casetimeis

when0=>

tone_index<

=3;

when1=>

when2=>

when3=>

when4=>

=5;

when5=>

when6=>

when7=>

=6;

when8=>

=8;

when9=>

when10=>

when11=>

=9;

when12=>

when13=>

when14=>

when15=>

when16=>

=12;

when17=>

when18=>

when19=>

=15;

when20=>

=13;

when21=>

when22=>

=10;

when23=>

when24=>

when25=>

when26=>

when27=>

when28=>

when29=>

when30=>

when31=>

when32=>

when33=>

when34=>

when35=>

when36=>

=7;

when37=>

when38=>

when39=>

when40=>

when41=>

when42=>

when43=>

when44=>

when45=>

when46=>

when47=>

when48=>

when49=>

when50=>

when51=>

when52=>

when53=>

when54=>

when55=>

when56=>

when57=>

when58=>

when59=>

when60=>

when61=>

when62=>

when63=>

when64=>

when65=>

when66=>

when67=>

when68=>

when69=>

when70=>

when71=>

when72=>

when73=>

when74=>

when75=>

when76=>

when77=>

when78=>

when79=>

when80=>

when81=>

when82=>

when83=>

when84=>

when85=>

when86=>

when87=>

when88=>

when89=>

when90=>

when91=>

when92=>

when93=>

when94=>

when95=>

when96=>

when97=>

when98=>

when99=>

when100=>

when101=>

when102=>

when103=>

when104=>

when105=>

when106=>

when107=>

when108=>

when109=>

when110=>

when111=>

when112=>

when113=>

when114=>

when115=>

when116=>

when117=>

when118=>

when119=>

when120=>

when121=>

when122=>

when123=>

when124=>

when125=>

when126=>

when127=>

when128=>

when129=>

when130=>

when131=>

when132=>

when133=>

when134=>

when135=>

when136=>

when137=>

when138=>

when139=>

whenothers=>

endcase;

process(tone_index)

casetone_indexis

tone<

="

11111111111"

;

--nooutput

01100000101"

--773

01110010000"

--912

10000001100"

--1036

10010101101"

--1197

10100001010"

--1290

10101011100"

--1372

10110000010"

--1410

10111001000"

--1480

11000000110"

--1542

11001010110"

--1622

11010000100"

--1668

11011000000"

--1728

--others:

nooutput

process(clk)--controlthefrequenceofthespeaker

if(tone_count=16#7ff#)then

tone_count<

=tone;

if(tone<

2047)then

spk<

=notspk;

=tone_count+1;

endbehave;

七、实验思考题:

1、注意时钟频率对实验结果的影响?

答:

音乐音符的产生就是利用计数器对输入的时钟信号进行分频,通过控制输出频率的不同来控制扬声器发出不同的声音。

时钟频率越高,输出音乐的节奏越快;

时钟频率越低,输出音乐的节奏越慢。

2、对于试验中出现的问题,应该如何解决?

(1)FPGA运行后,输出的音乐节奏太慢、太快:

这样的话,把输入的时钟频率适当调高或调低一点就行了(我自己做实验时用得那台实验设备,我个人觉得时钟频率1.5MHz或者3MHz都还行);

(2)FPGA运行后,输出的音乐声音太小:

这样的话,主要是输出方式选择得不对,我们可以通过中间的一个跳线的改变来选择蜂鸣器或者喇叭,直到输出音乐的音量比较适中为止。

八、实验体会:

对于这个应用性实验,在我做的过程中,个人觉得前期上课老师讲到的内容以及自己对VHDL语言编程和Quartus-II软件运用的掌握是关键。

首先是上课老师讲到的内容,正是有了老师的引导,我们才能最快速的入门,快速地进入到EDA课程相关内容的学习,虽然老师上课讲的内容绝大多数属于FPGA的硬件知识、VHDL语言的编写规则以及一些使用Qurtus-II软件的注意事项和常见问题的处理。

正是有了老师上课的引导,我们才能很快的进入EDA相关内容的学习,尤其是VHDL语言的学习。

如果上课不认真地听课,光靠自学是不可能掌握好这门语言的。

在我们的这次的EDA应用实验中,VHDL语言代码我们都是已知的,只要在实验前能够读懂程序代码就可以了。

虽然说是读懂事先给的程序代码,但是我们依然需要具备一定的VHDL语言的编写规则、常用到的语言结构、固定用法以及改错能力。

接下来就是利用硬件设备测试VHDL语言代码的正确与否,观察实验结果是否能达到预期的实验目的。

这些就需要我们能够熟练地使用Qurtus-II软件,包括使用软件修改语言代码中的错误,进行语言下载到硬件和相关硬件的配置。

这些讲起来都觉得很简单,在自己实际做实验的过程中,我总觉得我的能力不够,感觉有好多东西还不会,也有好多的东西是一知半解,不是很明确了解其作用和原理。

所以在做实验的时候,光是找东西就花费了不少时间。

还有就是我们对这样的内容接触的不是很多,而且接触的时间也不多由于还有一些原因就是我们关于这一方面的资料和了解一比较少,所以很多的时候很茫然。

导致实验中出现了错误,都不知道如何去解决,不知道是硬件问题还是软件层面上的问题,总是想依靠别人来帮自己。

在这次实验中,我就学着努力克服这些缺点,独立地去做每一实验,当依靠自己解决试验中出现的问题,那是一种巨大的成就感,觉得自己非常的充实。

这次实验,给我的最大的感受就是FPGA的功能太强大了。

通过这次实验,我感到自己所学到的还只是沧海之一粟,为了能让自己以后有更多的资本,进一步掌握它,我们还需要大量的时间去深入学习。

以上就是我一点实验体会,还有很多不成熟的观点,希望老师能给予批评指正。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1