西南科技大學(xué)FPGA實(shí)驗(yàn)報(bào)告四2022_第1頁
西南科技大學(xué)FPGA實(shí)驗(yàn)報(bào)告四2022_第2頁
西南科技大學(xué)FPGA實(shí)驗(yàn)報(bào)告四2022_第3頁
西南科技大學(xué)FPGA實(shí)驗(yàn)報(bào)告四2022_第4頁
西南科技大學(xué)FPGA實(shí)驗(yàn)報(bào)告四2022_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第第頁西南科技大學(xué)FPGA實(shí)驗(yàn)報(bào)告四2022硬件電子琴的制作

西南科技高校試驗(yàn)報(bào)告

課程名稱:FPGA

試驗(yàn)名稱:硬件電子琴電路設(shè)計(jì)

姓名:學(xué)號(hào):2022班級(jí):電子12指導(dǎo)老師:

西南科技高校信息工程學(xué)院制

硬件電子琴的制作

試驗(yàn)題目

一、試驗(yàn)原理

主系統(tǒng)由3個(gè)模塊組成,例1是頂層設(shè)計(jì)文件,其內(nèi)部有三個(gè)功能模塊〔如圖1所示〕:Speakera.v(例4)和ToneTaba.v(例3),NoteTabs.v(例2)。

模塊ToneTaba是音階發(fā)生器,當(dāng)8位發(fā)聲掌握輸入Inde*中某一位為高電平常,那么對

應(yīng)某一音階的數(shù)值將從端口Tone輸出,作為獲得該音階的分頻預(yù)置值;同時(shí)由Code輸出對應(yīng)當(dāng)音階簡譜的顯示數(shù)碼,如‘5’,并由High輸出指示音階高8度顯示。

模塊Speakera中的主要電路是一個(gè)數(shù)控分頻器,它由一個(gè)初值可預(yù)置的加法計(jì)數(shù)器構(gòu)

成,當(dāng)模塊Speakera由端口Tone獲得一個(gè)2進(jìn)制數(shù)后,將以此值為計(jì)數(shù)器的預(yù)置數(shù),對端口Clk12MHZ輸入的頻率進(jìn)行分頻,之后由Spkout向揚(yáng)聲器輸出發(fā)聲。

增加一個(gè)NoteTabs模塊用于產(chǎn)生節(jié)拍掌握〔Inde*數(shù)據(jù)存留時(shí)間〕和音階選擇信號(hào),

即在NoteTabs模塊放置一個(gè)樂曲曲譜真值表,由一個(gè)計(jì)數(shù)器的計(jì)數(shù)值來掌握此真值表的輸出,而由此計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號(hào)作為樂曲節(jié)拍掌握信號(hào),從而可以設(shè)計(jì)出一個(gè)純硬件的樂曲自動(dòng)演奏電路。

二、試驗(yàn)步驟

分四步

1、將待播放的《梁祝》音樂音符存入ROM:建立一個(gè).t*t的文本文件,將梁祝的音樂音樂音符數(shù)據(jù)寫入,再將后綴名改為.coe文件。

建立一個(gè)IPcore,名為MUSIC.將MUSIC.core添加到IPcore中。

2、建立一個(gè)NoteTabs.V文件,從Music.v的ROM〔只讀存儲(chǔ)器〕讀取數(shù)據(jù),進(jìn)行節(jié)拍掌握,和音階選擇。經(jīng)過仿真無誤后進(jìn)行下一步。

3、建立div_50_12module,將50MHZ的時(shí)鐘頻率轉(zhuǎn)化成12.5MHZ近似為12MHZ。4、建立div_50_4module,對50MHZ的時(shí)鐘頻率分頻成4HZ。

5、建立ToneTabamodule,獲得該音階的分頻預(yù)置值,音階簡譜的顯示數(shù)碼,音階高8度顯示。

6、建立Speakeramodule,獲得分頻預(yù)置值,對端口Clk12MHZ輸入的頻率進(jìn)行分頻,之后由Spkout向揚(yáng)聲器輸出發(fā)聲。

硬件電子琴的制作

三、試驗(yàn)結(jié)果及分析

50MHZ分為12MHZ的代碼:

modulediv_50_12(clk_50M,clk_12MHZ,reset);inputclk_50M;inputreset;outputclk_12MHZ;reg[1:0]counter;regclk_12MHZ;

always@(posedgeclk_50Mornegedgereset)if(!reset)

counter=2'b000;else

if(counter==4)//分頻預(yù)置數(shù)4,事實(shí)上的頻率是12.5MHZcounter=2'b00;

else

counter=counter+1'b1;

always@(posedgeclk_50Mornegedgereset)if(!reset)clk_12MHZ=1'b0;elsebegin

if(counter==2'b11)clk_12MHZ=1'b1;elseclk_12MHZ=1'b0;

end

Endmodule仿真波形:

硬件電子琴的制作

分析:頻率近似為12分頻,由于在always中同一個(gè)變量counter的指不能被賦值兩次,否那么簡單引起競爭冒險(xiǎn)等問題。

2、NoteTabs模塊的測試,仿真波形如下圖:

分析:由于梁祝音樂中寫入的開頭有1拍的‘3’,又由于是以1/4拍的形式存放在ROM里的,所以NoteTabs是4個(gè)1/4拍的’3’。3/4拍的’5’。附:仿真的testfi*ture文件moduletest_NoteTabs;

regClk;

wire[3:0]ToneInde*;NoteTabsuut();

initialbegin

Clk=0;

forever#10Clk=~Clk;//由于時(shí)鐘是50MHZ,所以1/2T=10ns

.Clk(Clk),

.ToneInde*(ToneInde*)

endinitial#1000$stop;

endmodule

3、ToneTaba模塊的仿真與測試仿真波形為:

硬件電子琴的制作

分析:可知當(dāng)inde*=0001時(shí),tone=1403d=01100000101b,符合要求,正確測試代碼:moduleTestToneTaba;

reg[3:0]Inde*;wire[3:0]Code;wireHigh;wire[10:0]Tone;ToneTabauut();initialbegin

#50;Inde*=1;#30;Inde*=2;#20;Inde*=3;#100;

.Inde*(Inde*),.Code(Code),.High(High),.Tone(Tone)

Inde*=0;

end

endmodule

4、頂層模塊的例化,然后進(jìn)行綜合,布局布線,生成課執(zhí)行文件.bit文件,下載到板子上去。頂層模塊代碼:

modulesonger(clk_50M,reset,Code1,High1,Spkout);inputclk_50M;//CLK=50MHZinputreset;output[3:0]Code1;outputHigh1,Spkout;

硬件電子琴的制作

wire[10:0]Tone;wire[3:0]ToneInde*;wireclk_4HZ,clk_12M;NoteTabsu0(.Clk(clk_4HZ),

.ToneInde*(ToneInde*));

ToneTabau1(.Inde*(ToneInde*),.Code(Code1),.High(High1),

.Tone(Tone));Speakerau2(.Clk(clk_12M),.Tone(Tone),

.SpkS(Spkout));div_50_12u3(clk_50M,clk_12M,reset);div_50_4HZu4(clk_50M,clk_4HZ,reset);endmodule

四、試驗(yàn)思索題解答(試驗(yàn)指導(dǎo)書要求的思索題)

1、答:輸出的頻率要在揚(yáng)聲器的工作頻率范圍內(nèi),輸出的電流要能夠徑直驅(qū)動(dòng)揚(yáng)聲器的正常工作

2、答:將存儲(chǔ)音符的ROM里面的內(nèi)容轉(zhuǎn)變,將notetabs里面的讀取樂符數(shù)轉(zhuǎn)變

五、體會(huì)

這是我第一次的試驗(yàn)勝利,主要?dú)w結(jié)于自己平常下課后不停的摸索,預(yù)習(xí)。學(xué)會(huì)了自己編寫激勵(lì)文件,轉(zhuǎn)變了原始的畫波形方式。

對于試驗(yàn)的波形觀測也有了深刻的理解,但是我們?nèi)康哪K都是用的always語句,可以嘗試一下用其他的語句實(shí)現(xiàn)同樣的功能,增加我們對于語言運(yùn)用的敏捷性。

硬件電子琴的制作

西南科技高校試驗(yàn)報(bào)告

課程名稱:F

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論