FPGA課程設(shè)計(jì)-圖文_第1頁(yè)
FPGA課程設(shè)計(jì)-圖文_第2頁(yè)
FPGA課程設(shè)計(jì)-圖文_第3頁(yè)
FPGA課程設(shè)計(jì)-圖文_第4頁(yè)
FPGA課程設(shè)計(jì)-圖文_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

FPGAFPGA功能驗(yàn)證2012年6月29日4.FPGA課程設(shè)計(jì)詳細(xì)內(nèi)容................................................2. 5 7 84.3.3LCD驅(qū)動(dòng)模塊方案設(shè)計(jì)及源程序 11 30 21 21 22 22a設(shè)計(jì)一個(gè)簡(jiǎn)單電子琴。(內(nèi)置2~4首簡(jiǎn)單音調(diào)曲)b、用FPGA開發(fā)板的按鍵可選擇演奏內(nèi)置曲調(diào),用數(shù)碼管顯示當(dāng)前演a、在掌握計(jì)算機(jī)組成原理理論相關(guān)的基礎(chǔ)上,了解EDA技術(shù),掌握VerilogHDL硬件描述語(yǔ)言的設(shè)計(jì)方法和思想,通過(guò)學(xué)習(xí)的VerilogHDL語(yǔ)言結(jié)合電b、深入學(xué)習(xí)VerilogHDL、FPGA,了解其編程環(huán)境;d、將硬件語(yǔ)言編程與硬件實(shí)物功能演示相結(jié)合,加深理解VeriloFPGA的學(xué)習(xí);3.使用環(huán)境(軟件/硬件環(huán)境,設(shè)備等)在EDA軟件平臺(tái)上,根據(jù)硬件描述語(yǔ)言Verilog完成的設(shè)計(jì)文件,自動(dòng)的完成邏輯編譯、化簡(jiǎn)、分割、綜合及優(yōu)化、布局布線、仿真、目標(biāo)VerilogHDL語(yǔ)言,用Modelsim進(jìn)行前仿真,以及代碼的生成,驗(yàn)證程鳴器等,軟件資源包括編寫VerilogHDL程序的應(yīng)用軟件Modelsim和仿真軟件播放功能中有三首曲子。程序共有六個(gè)模塊,分別為主模塊、數(shù)碼管顯示模塊、分頻模塊、計(jì)數(shù)器模塊、存儲(chǔ)器模塊、音頻輸出模塊。硬件實(shí)現(xiàn)是用一個(gè)數(shù)碼管樂曲演奏的原理:組成樂曲的每個(gè)音符的頻率值(音調(diào))以及持續(xù)時(shí)間(音長(zhǎng))是樂曲能持續(xù)演奏所需的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)的頻率頻率的高低決定了音調(diào)的高低。音樂的十二平均率規(guī)定:每?jī)蓚€(gè)八度音(如簡(jiǎn)譜個(gè)半音,每半個(gè)音的頻率比為|河。另外,音440HZ,音名B到C之間,E到F之間為半音,其余為全音。由此可以計(jì)算出簡(jiǎn)頻率(HZ)頻率(HZ)低音439278415684408801760所有不同頻率均從同一基準(zhǔn)頻率分頻得到。將分頻數(shù)四舍五入進(jìn)行取整,并盡量減小誤差。在本設(shè)計(jì)中選取5MHZ作為基準(zhǔn)頻率。從下表中可以看出最大分頻系對(duì)應(yīng)不同的預(yù)置數(shù),只需加載不同的預(yù)置數(shù)即可。采用加載預(yù)置數(shù)實(shí)現(xiàn)分頻的方法比采用反饋復(fù)零法節(jié)省資源,實(shí)現(xiàn)起來(lái)更加容易955768264777116062389139948512787142571212621281425575858798379212591189614487低音471599224357912804179014593637810005318913194159414789568210701284113524142014963506211321253113852126615117為1S的話,假設(shè)產(chǎn)生4分音符,則產(chǎn)生四分頻即可實(shí)現(xiàn)四分音符的時(shí)長(zhǎng),并提供4HZ分本次設(shè)計(jì)課程的目的是讓我們?cè)趯W(xué)習(xí)KLKCLKDIROUTSCREEN使能端,控制時(shí)鐘產(chǎn)生,以及讀輸出樂曲信號(hào)(方波形式)1.D觸發(fā)器:實(shí)現(xiàn)信號(hào)讀取,產(chǎn)生內(nèi)部使能端,控制分頻器;2?分頻器:實(shí)現(xiàn)與基準(zhǔn)時(shí)鐘同步操作,讀取存儲(chǔ)器數(shù)據(jù)進(jìn)行分頻操作,實(shí)現(xiàn)音調(diào)6MHZ4HZ顯示,本設(shè)計(jì)中使用HIGH[3:0],MED[3;0],LOW[3;0]等信號(hào)加以顯示,為了能使顯示,需要一時(shí)長(zhǎng)計(jì)數(shù)器,等音樂演奏完成后,保證自動(dòng)從頭開始演奏。<1>按鍵接收器D觸發(fā)器運(yùn)用D觸發(fā)器和數(shù)據(jù)鎖存器實(shí)現(xiàn)數(shù)據(jù)線輸出的使能端2、管腳描述源DIRDR在按鍵信號(hào)產(chǎn)生后,進(jìn)行信號(hào)的鎖存和產(chǎn)生使能信號(hào)4、驗(yàn)證方案<2>節(jié)拍發(fā)生器分頻器2、管腳描述源DIRPINCLKPINCKPIN在CLK的上升沿,將鎖存后的DIR信號(hào)輸入到內(nèi)部,并根據(jù)對(duì)應(yīng)時(shí)鐘節(jié)拍分頻,4、測(cè)試<3>分頻器2、管腳描述DIRCKVOICE1SPEAK源PINPINPINPIN3、實(shí)現(xiàn)說(shuō)明Speaker翻轉(zhuǎn)一次,即為分頻。4、測(cè)試<4>存儲(chǔ)器按照使能端的數(shù)據(jù),選擇對(duì)應(yīng)的預(yù)置數(shù)據(jù)進(jìn)行讀操作,并且于時(shí)鐘同步2、管腳描述DRCLKVOICE1SCREEN源PINPINPINPIN通過(guò)選擇,在時(shí)鐘的上升沿進(jìn)行數(shù)據(jù)的讀取,并將讀出的數(shù)據(jù)同時(shí)傳至數(shù)碼用modelsim仿真,觀察預(yù)置數(shù)的值是否為對(duì)應(yīng)曲目;正常情況下,輸入一個(gè)DIR的值,查看波形輸出是否正常。改變?cè)撃K用于顯示用戶是否登陸成功,即//信號(hào)定義與說(shuō)明〃CLK_4HZ:用于控制音長(zhǎng)(節(jié)拍)的時(shí)鐘頻率//speak:用于激勵(lì)揚(yáng)聲器的輸出信號(hào),本例中為方波信號(hào)modulemusic(clk,key1,keyO,speak,highinputclk,key1,keyO;outputspeak,high,lowireclk,key1,key0;wireclk_5MHZ,clk_4hz;wirespeak;wireck,dr;wire[6:0]decodeout;clock5mhzmhz(.clk(clk),.dir(dir),.clk_5MHZ(clk_5hz(.clk_5MHZ(clk_5MHZ),.dir(dir),.ck(ck),.clk_4HZ(clk_4HZ));DDRddr1(.dir(dir),.ck(ck),.vom(.dr(dr),.clk_5MHZ(clk_5MHZ),.clk_4HZ(clk_4HZ),.voice(voice),.speak(speak));decodedec(.dir(dir),.decodeout(decodeout));//信號(hào)定義與說(shuō)明〃CLK_4HZ:用于控制音長(zhǎng)(節(jié)拍)的時(shí)鐘頻率//speak:用于激勵(lì)揚(yáng)聲器的輸出信號(hào),本例中為方波信號(hào)input[1:0]dir;inputck;always@(posedgeck)begincase(counter)0:{high,med,low}v=2:{high,med,low}v='b1;3:{high,med,low}v='b1;4:{high,med,low}v='b1;5:{high,med,low}v='b1;6:{high,med,low}v='b1;7:{high,med,low}v='bO;8:{high,med,low}v='b0;21:{high,med,low}v='b0;22:{high,med,low}v='b0;23:{high,med,low}v='b0;24:{high,med,low}v='b0;25:{high,med,low}v='b0;26:{high,med,low}v='b0;27:{high,med,low}v='b0;28:{high,med,low}v='b0;29:{high,med,low}v='b0;30:{high,med,low}v='b0;31:{high,med,low}v='b0;32:{high,med,low}v='b0;33:{high,med,low}v='b0;34:{high,med,low}v='b0;35:{high,med,low}v='b0;36:{high,med,low}v='b1;37:{high,med,low}v='b1;38:{high,med,low}v='b0;39:{high,med,low}v='b0;40:{high,med,low}v='b1;41:{high,med,low}v='b1;42:{high,med,low}v='b1;43:{high,med,low}v='b0;44:{high,med,low}v='b0;45:{high,med,low}v='b0;46:{high,med,low}v='bO;47:{high,med,low}v='bO;48:{high,med,low}v='b1;49:{high,med,low}v='b1;50:{high,med,low}v='bO;51:{high,med,low}v='b0;52:{high,med,low}v='b0;53:{high,med,low}v='b1;54:{high,med,low}v='b0;55:{high,med,low}v='b0;56:{high,med,low}v='b1;57:{high,med,low}v='b1;58:{high,med,low}v='b1;59:{high,med,low}v='b1;60:{high,med,low}v='61:{high,med,low}v='62:{high,med,low}v='63:{high,med,low}v='b1;default:{high,med,low}v='b0;endcasebegincase(counter)2:{high,med,low}='b0;〃3:{high,med,low}='b0;〃4:{high,med,low}='b0;〃5:{high,med,low}='b0;〃8:{high,med,low}='b09:{high,med,low}='b060:{high,med,low}='b80:{high,med,low}=81:{high,med,low}=82:{high,med,low}=83:{high,med,low}=中7中7中6中7高1高1高1高7高1高1高3高3中7中7中7中3中3中6中6中6中5中6中6中1中1中5中5中5中5中5中5中3中3中4中4高1中7中7中7高1高1高2高2高3104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 高1高1高1中5中7高3高3高3高3高3高2高3高3高3高3高3高3高3高3高3高2高2高3高3高3高3高3148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191高3高3高3高3高3高2高2高4高3高3高3高3endcaseendbegin3132333435363738394041424344454647484950515253545556575859606162636465666768697071727374endcaseendendmodule//節(jié)拍發(fā)生器模塊:注:原始時(shí)鐘為50mhzoutputclk_5MHZ;//時(shí)鐘頻率5MHzregclk_5MHZ;always@(posedgeclk)beginbeginclk_5MHZ<=~clk_5MHZ;endendendmodulealways@(posedgeclk_5MHZ)beginclk_4HZ<=0;beginclk_4HZ<=~clk_4HZ;endendendmoduleassigndr=dir[0]|dirmoduledecode(dir,dinput[1:0]dir;output[6:0]decodeout;2'b00:decodeout=7'b1000000;2'b01:decodeout=7'b1001111;2'b10:decodeout=7'b0100100;2'b11:decodeout=7'b0000110;default:decodeout=7'b1000000;modulemain(dr,clk_5MHZ,clk_4HZ,voice,speak);inputdr;input[11:0]voice;inputclk_4HZ;wiredr;wireclk_5MHZ,clk_4HZ;reg[13:0]divider,origin;wirecarry;always@(posedgeclk_5MHZ)elsedivider=divideralways@(posedgecarry)always@(posedgeclk_4HZ)default:origi*=16383;endcaseendregclk50m,clk27m,rst,key1,key2;wirespk_out;a(.clk50m(clk),.clk27m(clk27m),.spk_out(speak),.rst(rst),.key1(key1),.key2y2),.key_display(key_display));always#10clk50m=~clk50m;always#20clk27m=~clk27m;initialbeginclk50m=0;clk27m=0;#2000key1=1;key2=1;inputfenpin8,rst,key1,key2;always@(posedgefenpin8ornegedgerstornegedgekey1ornegedgebeginbeginmodulefenpin8(clk27m,rst,clk_inputclk27m,rst;always@(posedgeclk27mornegedgerst)beginbeginbeginif(cnt==N/2)begincnt<=0;clk_8hz<=!clk_8hz;wireclk_8hz;fenpin8fenpin8_tb(.clk27m(clk27m),.clk_8always#50clk27m=~clk27m;initialinputclk50m,rst;always@(posedgeclk50mornegedgerst)beginbeginbeginif(cnt==N/2)beginclk_5m<=!clk_5m;wireclk_5m;fenpin5mfenpin5m_tb(.clk50m(clk50m),.clk_5m(clk_5m),.rst(rst));always#50clk50m=~clk50m;initialbegininput[10:0]address;inputclock;altsyncramaltsyncram_component(yncram_component.clock_enable_output_a="BYPASS",altcram_component.init_file="zxmzf_mif.mif",altsyncram_component.intended_device_family="CycloneII",altsyncram_component.lpm_hint="ENABLE_RUNTIMEcram_component.lpm_type="altsyncram",altsyncram_compmode="ROM",altsyncram_component.altsyncram_component.outdata_reg_a="CLOCKmodulemusic_rom_tb;#100address=3;#100address=12;#40address=10;endendmodulealways@(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論