基于FPGA的音樂播放器課程設(shè)計(jì)_第1頁
基于FPGA的音樂播放器課程設(shè)計(jì)_第2頁
基于FPGA的音樂播放器課程設(shè)計(jì)_第3頁
基于FPGA的音樂播放器課程設(shè)計(jì)_第4頁
基于FPGA的音樂播放器課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

年4月19日基于FPGA的音樂播放器課程設(shè)計(jì)文檔僅供參考唐山學(xué)院EDA技術(shù)課程設(shè)計(jì)題目音樂播放器系(部)智能與信息工程學(xué)院班級(jí)姓名學(xué)號(hào)指導(dǎo)教師年12月22日至12月30日共2周12月31日課程設(shè)計(jì)成績(jī)?cè)u(píng)定表出勤情況出勤天數(shù)缺勤天數(shù)成績(jī)?cè)u(píng)定出勤情況及設(shè)計(jì)過程表現(xiàn)(20分)課設(shè)答辯(20分)設(shè)計(jì)成果(60分)總成績(jī)(100分)提問(答辯)問題情況綜合評(píng)定指導(dǎo)教師簽名:年月日EDA技術(shù)課程設(shè)計(jì)任務(wù)書一、設(shè)計(jì)題目、內(nèi)容及要求設(shè)計(jì)題目:音樂播放器設(shè)計(jì)內(nèi)容:1.使用蜂鳴器播放音樂2.三首音樂以上3.數(shù)碼管上顯示當(dāng)前播放的歌曲位置(第幾首歌曲)4.能夠暫停和開始5.能夠選擇上一首和下一首歌曲設(shè)計(jì)要求:根據(jù)任務(wù)要求確定電路各功能模塊設(shè)計(jì)程序時(shí)序仿真結(jié)果設(shè)計(jì)總結(jié)設(shè)計(jì)原始資料QuartusⅡ軟件;EDA實(shí)驗(yàn)箱;計(jì)算機(jī)一臺(tái);要求的設(shè)計(jì)成果(課程設(shè)計(jì)說明書、設(shè)計(jì)實(shí)物、圖紙等)課程設(shè)計(jì)說明書1份,不少于字,應(yīng)包含設(shè)計(jì)原理分析、相關(guān)軟件介紹、仿真波形分析,實(shí)驗(yàn)箱下載驗(yàn)證等。進(jìn)程安排設(shè)計(jì)思路代碼實(shí)現(xiàn)實(shí)驗(yàn)驗(yàn)證五、主要參考資料徐志軍,徐光輝,CPLD/FPGA的開發(fā)與應(yīng)用,電子工業(yè)出版社,譚會(huì)生,EDA技術(shù)基礎(chǔ),湖南大學(xué)出版社,

李巖,黃夫海,基于FPGA的MIDI音樂發(fā)生器設(shè)計(jì),

指導(dǎo)教師(簽名):教研室主任(簽名):目錄TOC\o"1-2"\h\u238891.設(shè)計(jì)目的與要求 11.238891.課程設(shè)計(jì)目的. 1238891.2.課程設(shè)計(jì)要求 1107852.應(yīng)用工具介紹 12.123889.EDA技術(shù)介紹 1238892.2.VerilogHDL語言介紹 2121033.基本原理 33.238891.音調(diào)的控制 4238893.2.音長(zhǎng)的控制 44.方案實(shí)現(xiàn)TOC\o"1-2"\h\u23889 5107855.總結(jié) 13121036.參考文獻(xiàn) 141.設(shè)計(jì)目的與要求1.1課程設(shè)計(jì)目的:1)加深對(duì)EDA技術(shù)的理解,掌握音樂播放器的工作原理2)了解怎樣控制音調(diào)的高低變化和音長(zhǎng),從而完成樂曲的自動(dòng)循環(huán)演奏。3)培養(yǎng)自主學(xué)習(xí)、正確分析和解決問題的能力1.2課程設(shè)計(jì)要求:1)使用蜂鳴器播放音樂2)三首音樂以上3)數(shù)碼管上顯示當(dāng)前播放的歌曲位置(第幾首歌曲)4)能夠暫停和開始5)能夠選擇上一首和下一首歌曲2.應(yīng)用工具介紹作為當(dāng)今最流行的計(jì)算機(jī)軟件系統(tǒng),EDA技術(shù)是以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。EDA可提供文本輸入以及圖形編輯的方法將設(shè)計(jì)者的意圖用程序或者圖形方式表示出來,而我們經(jīng)常見到的VHDL語言便是用于編寫源程序所需的最常見的硬件描述語言(HDL)之一。2.1EDA技術(shù)介紹EDA是電子設(shè)計(jì)自動(dòng)化(ElectronicDesignAutomation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來。EDA技術(shù)是在電子CAD技術(shù)基礎(chǔ)上發(fā)展起來的計(jì)算機(jī)軟件系統(tǒng),是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。典型的EDA工具中必須包含兩個(gè)特殊的軟件包,即綜合器和適配器。綜合器的功能就是將設(shè)計(jì)者在EDA平臺(tái)上完成的針對(duì)某個(gè)系統(tǒng)項(xiàng)目的HDL、原理圖或狀態(tài)圖形描述,針對(duì)給定的硬件系統(tǒng)組件,進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得我們欲實(shí)現(xiàn)功能的描述文件。綜合器在工作前,必須給定所要實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬件結(jié)構(gòu)用一定的方式聯(lián)系起來。也就是說,綜合器是軟件描述與硬件實(shí)現(xiàn)的一座橋梁。綜合過程就是將電路的高級(jí)語言描述轉(zhuǎn)換低級(jí)的、可與目標(biāo)器件FPGA/CPLD相映射的網(wǎng)表文件。

在今天,EDA技術(shù)已經(jīng)成為電子設(shè)計(jì)的普遍工具,無論設(shè)計(jì)芯片還是設(shè)計(jì)系統(tǒng),沒有EDA工具的支持,都是難以完成的。EDA工具已經(jīng)成為設(shè)計(jì)師必不可少的武器,起著越來越重要的作用。從當(dāng)前的EDA技術(shù)來看,其發(fā)展趨勢(shì)是政府重視、使用普及、應(yīng)用廣泛、工具多樣、軟件功能強(qiáng)大。EDA技術(shù)發(fā)展迅猛,完全能夠用日新月異來描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步。2.2VerilogHDL語言介紹VerilogHDL是一種硬件描述語言,用于從算法級(jí)、門級(jí)到開關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對(duì)象的復(fù)雜性能夠介于簡(jiǎn)單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模。作為一種通用化的硬件描述語言,VerilogHDL語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語言。另外,VerilogHDL語言提供了編程語言接口,經(jīng)過該接口能夠在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。VerilogHDL語言不但定義了語法,而且對(duì)每個(gè)語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語言從C編程語言中繼承了多種操作符和結(jié)構(gòu)。VerilogHDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解??墒牵琕erilogHDL語言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語句足以對(duì)從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。VerilogHDL語言已經(jīng)成為一種標(biāo)準(zhǔn)的硬件描述語言。它具有以下特點(diǎn):(1)作為一種多用途的硬件描述語言,它具有很好的易學(xué)性和易用性。(2)VerilogHDL語言允許在同一個(gè)模塊中進(jìn)行不同抽象層次的描述。(3)大多數(shù)邏輯綜合工具都支持VerilogHDL,使得它成為設(shè)計(jì)人員的一個(gè)很好的選擇。(4)所有的制造廠商都提供了VerilogHDL的工藝庫(kù),用以支持仿真。(5)VerilogHDL的程序語言接口擁有強(qiáng)大的功能,允許用戶用C語言對(duì)內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述。正是以上優(yōu)點(diǎn),使得VerilogHDL語言廣泛流行。下面是verilog的設(shè)計(jì)流程:

Verilog的設(shè)計(jì)流程圖基本原理音樂播放器的原理是這樣的:組成樂曲的每個(gè)音符的頻率值(音調(diào))及其持續(xù)的時(shí)間(音長(zhǎng))是樂曲能連續(xù)演奏所需的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,就能夠使揚(yáng)聲器發(fā)出連續(xù)的樂曲聲。3.1音調(diào)的控制頻率的高低決定了音調(diào)的高低。音樂的十二平均率規(guī)定:每?jī)蓚€(gè)8度音(如簡(jiǎn)譜中的中音1與高音1)之間的頻率相差一倍。在兩個(gè)8度音之間,又可分為12個(gè)半音,每?jī)蓚€(gè)半音的頻率比為12:2。

另外,音名A(簡(jiǎn)譜中的低音6)的頻率為440Hz,音名B到C之間、E到F之間為半音,其余為全音。由此能夠計(jì)算出簡(jiǎn)譜中從低音1至高音1之間每個(gè)音名對(duì)應(yīng)的頻率,如表3.11所示:表3.11簡(jiǎn)譜中的音名與頻率的關(guān)系音名頻率/Hz音名頻率/Hz音名頻率/Hz低音1261.6中音1523.3高音11046.5低音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音4698.5高音41396.9低音5392中音5784高音51568低音6440中音6880高音61760低音7493.9中音7987.8高音71975.53.2音長(zhǎng)的控制音符的持續(xù)時(shí)間必須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來確定。4.方案實(shí)現(xiàn)1、div_freqmodulediv_freq(clk,rst_n,freq,clk_out); inputclk;//50MHZ inputrst_n; input[25:0]freq; outputregclk_out; `defineNUM25_000_000/freq-1 reg[25:0]cnt; always@(posedgeclkornegedgerst_n) begin if(!rst_n) begin cnt<=26'd0; clk_out<=1'b0; end else begin if(cnt<`NUM) begin cnt<=cnt+1'b1; clk_out=clk_out; end else begin clk_out=~clk_out; cnt=26'd0; end end end endmodule2、selmodulesel(data,clk,rst_n,sel,show_data);input[23:0]data; inputclk; inputrst_n; outputreg[2:0]sel; outputreg[3:0]show_data; always@(posedgeclkornegedgerst_n) begin if(!rst_n) begin sel<=3'b000; end else begin if(sel<3'b101) sel<=sel+1'b1; else sel<=3'b000; end end always@(*) begin case(sel) 3'b000:show_data=data[23:20]; 3'b001:show_data=data[19:16]; 3'b010:show_data=data[15:12]; 3'b011:show_data=data[11:8]; 3'b100:show_data=data[7:4]; 3'b101:show_data=data[3:0]; default:show_data=4'hf; endcase end endmodule3、segmoduleseg(show_data,seg);input[3:0]show_data; outputreg[7:0]seg; always@(*) begin case(show_data) 0:seg=8'b1100_0000; 1:seg=8'b1111_1001; 2:seg=8'b1010_0100; 3:seg=8'b1011_0000; 4:seg=8'b1001_1001; 5:seg=8'b1001_0010; 6:seg=8'b1000_0010; 7:seg=8'b1111_1000; 8:seg=8'b1000_0000; 9:seg=8'b1001_0000; 10:seg=8'b1000_1000; 11:seg=8'b1000_0011; 12:seg=8'b1100_0110; 13:seg=8'b1010_0001; 14:seg=8'b1000_0110; 15:seg=8'b1000_1110; default:seg=8'b1000_1110; endcase endendmodule4、controllermodulecontroller(clk,rst_n,addr); inputclk; inputrst_n; outputreg[8:0]addr; parameterT=12_500_000; reg[25:0]cnt; always@(posedgeclkornegedgerst_n) begin if(!rst_n) begin cnt<=26'd0; addr<=8'd0; end else begin if(cnt<T-1) cnt<=cnt+1'b1; else begin cnt<=26'd0; if(addr<255) addr<=addr+1'b1; else addr<=8'd0; end end end endmodule5、translatemoduletranslate(clk,rst_n,music_data,music_freq); inputclk; inputrst_n; input[21:0]music_data; outputreg[25:0]music_freq; always@(posedgeclkornegedgerst_n) begin if(!rst_n) music_freq<=26'd0; else case(music_data) 1:music_freq<=26'd523;//zhongyin 2:music_freq<=26'd587; 3:music_freq<=26'd659; 4:music_freq<=26'd699; 5:music_freq<=26'd392; 6:music_freq<=26'd880; 7:music_freq<=26'd987; 8:music_freq<=26'd261;//diyin 9:music_freq<=26'd293; 10:music_freq<=26'd329; 11:music_freq<=26'd349; 12:music_freq<=26'd391; 13:music_freq<=26'd440; 14:music_freq<=26'd493; 15:music_freq<=26'd1046;//gaoyin 16:music_freq<=26'd1174; 17:music_freq<=26'd1318; 18:music_freq<=26'd1396; 19:music_freq<=26'd1567; 20:music_freq<=26'd1760; 21:music_freq<=26'd1975; default:music_freq<=26'd0; endcase end endmodule6、shumaguanmoduleshumaguan(data,clk,rst_n,sel,seg);input[23:0]data; inputclk; inputrst_n; output[2:0]sel; output[7:0]seg; wireclk_1k;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論