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

下載本文檔

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

文檔簡介

1、唐山學(xué)院EDA技術(shù) 課程設(shè)計(jì)題 目 音樂播放器系(部)智能與信息工程學(xué)院班級(jí) 姓名 學(xué)號(hào) 指導(dǎo)教師2016年12 月Z 日至J2 月0 日共 2 周2016年12月31日課程設(shè)計(jì)成績評(píng)定表出勤情況出勤天數(shù)缺勤天數(shù)成出勤情況及設(shè)計(jì)過程表現(xiàn)(20分)績課設(shè)答辯(20分)評(píng)設(shè)計(jì)成果(60分)定總成績(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ì)要求:(1)根據(jù)

2、任務(wù)要求確定電路各功能模塊(2)設(shè)計(jì)程序(3)時(shí)序仿真結(jié)果(4)設(shè)計(jì)總結(jié)二、設(shè)計(jì)原始資料Quartus II軟件;ED骸驗(yàn)箱;計(jì)算機(jī)一臺(tái);三、要求的設(shè)計(jì)成果(課程設(shè)計(jì)說明書、設(shè)計(jì)實(shí)物、圖紙等)課程設(shè)計(jì)說明書1份,不少于2000字,應(yīng)包含設(shè)計(jì)原理分析、相關(guān)軟件介紹、仿真 波形分析,實(shí)驗(yàn)箱下載驗(yàn)證等。四、進(jìn)程安排設(shè)計(jì)思路代碼實(shí)現(xiàn)實(shí)驗(yàn)驗(yàn)證五、主要參考資料2001徐志軍,徐光輝,CPLD/FPGA勺開發(fā)與應(yīng)用,電子工業(yè)出版社,譚會(huì)生,EDAK術(shù)基礎(chǔ),湖南大學(xué)出版社,2004李巖,黃夫海,基于FPGA勺MIDI音樂發(fā)生器設(shè)計(jì),2010指導(dǎo)教師(簽名):教研室主任(簽名)1.設(shè)計(jì)目的與要求1.1.課程設(shè)計(jì)

3、目的.1.2課程設(shè)計(jì)要求.2.應(yīng)用工具介紹2.1.EDA技術(shù)介紹2.2.Verilog HDL 語言介紹目錄錯(cuò)誤!.未定義書簽。.錯(cuò)誤 !.未定義書簽。.錯(cuò)誤!.未定義書簽。 .錯(cuò)誤!.未定義書簽。 .錯(cuò)誤!.未定義書簽。.2.3.基本原理.錯(cuò)誤!.未定義書簽。4.方案實(shí)現(xiàn)5.總結(jié)6.參考文獻(xiàn)3.1.音調(diào)的控制3.2音長的控制.4.4.5.1.3.1.4.1.1 計(jì)目的與要求1.2 課程設(shè)計(jì)目的:1)加深對(duì)EDA 技術(shù)的理解,掌握音樂播放器的工作原理2)了解怎樣控制音調(diào)的高低變化和音長,從而完成樂曲的自動(dòng)循環(huán)演奏。3)培養(yǎng)自主學(xué)習(xí)、正確分析和解決問題的能力1.3 課程設(shè)計(jì)要求:1)使用蜂鳴器播

4、放音樂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ì)者的意圖用程序或者圖形方式表達(dá)出來,而我們經(jīng)常用到的VHDL 語言便是用于編寫源程序所需的最常見的硬件描述語言(HDL)之一。2.1 EDA技術(shù)介紹EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90 年代初從計(jì)算

5、機(jī)輔助設(shè)計(jì)(CAD)、 計(jì)算機(jī)輔助制造(CAM)、 計(jì)算機(jī)輔助測試(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)地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。典型的EDA 工具中必須包含兩個(gè)特殊的軟件包,即綜合器和適配器。 綜合器的功能

6、就是將設(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ì)師必不可少的武器,起著越來越重要的作

7、用。從目前的EDA 技術(shù)來看,其發(fā)展趨勢是政府重視、使用普及、應(yīng)用廣泛、工具多樣、軟件功能強(qiáng)大。EDA 技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。EDA 技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。 EDA 水平不斷提高,設(shè)計(jì)工具趨于完美的地步。2.2 Verilog HDL 語言介紹Verilog HDL 是一種硬件描述語言,用于從算法級(jí)、門級(jí)到開關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對(duì)象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模。作為一種通用化的硬件描述語言,Verilog HDL 語言具有下述描述能力:設(shè)計(jì)的行為特

8、性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語言。此外,VerilogHDL 語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。Verilog HDL 語言不僅定義了語法,而且對(duì)每個(gè)語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog 仿真器進(jìn)行驗(yàn)證。語言從 C 編程語言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL 提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL 語言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模

9、應(yīng)用來說已經(jīng)足夠。當(dāng)然, 完整的硬件描述語句足以對(duì)從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。Verilog HDL 語言已經(jīng)成為一種標(biāo)準(zhǔn)的硬件描述語言。它具有以下特點(diǎn):編輯版 word(1)作為一種多用途的硬件描述語言,它具有很好的易學(xué)性和易用性。(2) Verilog HDL語言允許在同一個(gè)模塊中進(jìn)行不同抽象層次的描述。(3)大多數(shù)邏輯綜合工具都支持 Verilog HDL,使得它成為設(shè)計(jì)人員的一個(gè)很好 的選擇。(4)所有的制造廠商都提供了 Verilog HDL的工藝庫,用以支持仿真。(5) Verilog HDL的程序語言接口擁有強(qiáng)大的功能,允許用戶用C語言對(duì)內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述。正是以上

10、優(yōu)點(diǎn),使得 Verilog HDL語言廣泛流行。下面是verilog的設(shè)計(jì)流程:Verilog的設(shè)計(jì)流程圖編輯版word3 . 基本原理音樂播放器的原理是這樣的:組成樂曲的每個(gè)音符的頻率值(音調(diào)) 及其持續(xù)的時(shí)間 (音長) 是樂曲能連續(xù)演奏所需的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和持續(xù)的時(shí)間,就可以使揚(yáng)聲器發(fā)出連續(xù)的樂曲聲。3.1 音調(diào)的控制頻率的高低決定了音調(diào)的高低。音樂的十二平均率規(guī)定:每兩個(gè)8 度音(如簡譜中的中音1 與高音1)之間的頻率相差一倍。在兩個(gè)8度音之間,又可分為12個(gè)半音,每兩個(gè)半音的頻率比為 12: 2。另外,音名A(簡譜中的低音6)的頻率為440H

11、z,音名B到C之間、E到F之間為半音,其余為全音。由此可以計(jì)算出簡譜中從低音1 至高音 1 之間每個(gè)音名對(duì)應(yīng)的頻率,如表3.11所示:表3.11簡譜中的音名與頻率的關(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高音7197

12、5.53.2 音長的控制音符的持續(xù)時(shí)間必須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來確定。編輯版word4 .方案實(shí)現(xiàn)1、div_freqmodule div_freq(clk,rst_n,freq,clk_out);input clk; /50MHZinput rst_n;input 25:0 freq;output reg clk_out;'define NUM 25_000_000/freq-1reg25:0 cnt;always (posedge clk or negedge rst_n)beginif(!rst_n)begincnt<=26'd0;endendelsee

13、ndmoduleclk_out<=1'b0;beginif(cnt<'NUM)beginelseendendcnt<=cnt+1'b1;clk_out=clk_out;beginendclk_out=clk_out;cnt=26'd0;編輯版 word2、selmodule sel(data,clk,rst_n,sel,show_data);input 23:0 data;input clk;input rst_n;output reg 2:0 sel;output reg 3:0 show_data;always (posedge clk o

14、r negedge rst_n)beginif(!rst_n)beginsel <= 3'b000;endelsebeginif(sel < 3'b101)sel <= sel + 1'b1;elsesel <= 3'b000;endendalways (*)begincase(sel)3'b000 :show_data = data23:20;3'b001 :show_data = data19:16;3'b010 :show_data = data15:12;3'b011 :show_data = da

15、ta11:8;3'b100 :show_data = data7:4;3'b101 :show_data = data3:0;default : show_data = 4'hf;endcaseendendmodule3、segmodule seg(show_data,seg);input 3:0 show_data;output reg 7:0 seg;always (*)begincase(show_data)0 :seg = 8'b1100_0000;1 :seg = 8'b1111_1001;2 :seg = 8'b1010_0100;3

16、 :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

17、'b1000_0110;15 :seg = 8'b1000_1110;default : seg = 8'b1000_1110;endcaseendendmodule4、controllerO w wA1MH3module controller (clk,rst_n,addr);input clk;input rst_n;output reg 8:0 addr;parameter T=12_500_000;reg 25:0 cnt;always (posedge clk or negedge rst_n)beginif(!rst_n)begincnt<=26

18、9;d0;addr<=8'd0;endelsebeginif(cnt<T-1)cnt<=cnt+1'b1;elsebegincnt<=26'd0;if(addr<255)addr<=addr+1'b1;elseaddr<=8'd0;endendendendmodule5、translatemodule translate(clk,rst_n,music_data,music_freq);input clk;input rst_n;input 21:0 music_data;output reg 25:0 musi

19、c_freq;always (posedge clk or negedge rst_n)beginif(!rst_n)music_freq<=26'd0;elsecase(music_data)1:music_freq<=26'd523;/zhongyin2: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&

20、lt;=26'd987;8:music_freq<=26'd261;/diyin9: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;/gaoyin16:music_freq<=26'd1174;1

21、7: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;endcaseendendmodule。瞿:一回朝乂畫-B-fi_=忸,_Hi一Ri泰里一一!=!=«6、shumaguanmodule shumaguan(data,clk,rst_n,sel,seg);input

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論