VHDL音樂播放器
《VHDL音樂播放器》由會(huì)員分享,可在線閱讀,更多相關(guān)《VHDL音樂播放器(20頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
洛 陽 理 工 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 EDA技術(shù)與VHDL 設(shè)計(jì)題目 音樂播放器的設(shè)計(jì)與仿真 專 業(yè) 通信工程 班 級(jí) B1105 學(xué) 號(hào) B1105 姓 名 完成日期 2014年12月22日 前言隨著科學(xué)技術(shù)的進(jìn)步,電子器件和電子系統(tǒng)設(shè)計(jì)方法日新月異,電子設(shè)計(jì)自動(dòng)化(ElectronicsDesignAutomation,EDA)技術(shù)正是適應(yīng)了現(xiàn)代電子產(chǎn)品設(shè)計(jì)的要求,吸收了多學(xué)科最新成果而形成的一門新技術(shù)。現(xiàn)如今掌握EDA技術(shù)是電子信息類專業(yè)的學(xué)生、工程技術(shù)人員所必備的基本能力和技能。傳統(tǒng)電子電路的設(shè)計(jì),首先要對(duì)系統(tǒng)進(jìn)行分析,然后按功能對(duì)系統(tǒng)進(jìn)行劃分,接下來就要選擇特定芯片,焊接成PCB電路板,最后對(duì)成品PCB電路板進(jìn)行調(diào)試。這樣的設(shè)計(jì)沒有靈活性可言,搭成的系統(tǒng)需要的芯片種類多且數(shù)目大,而且對(duì)于電路圖的設(shè)計(jì)和電路板的設(shè)計(jì)都需要很大的工作量,工作難度也很高。隨著可編程器件和EDA技術(shù)的發(fā)展,傳統(tǒng)設(shè)計(jì)的劣勢(shì)被克服,采用可編程邏輯器件基于芯片的設(shè)計(jì)方法,期間的內(nèi)部邏輯和引腳可以由設(shè)計(jì)者自行決定,提高了設(shè)計(jì)的靈活性和工作效率;同時(shí),將系統(tǒng)集成在一個(gè)芯片上的設(shè)計(jì),使系統(tǒng)具有體積小、功耗低、可靠性高等特點(diǎn)。EDA技術(shù)即電子設(shè)計(jì)自動(dòng)化技術(shù),它是以可編程邏輯器件(PLD)為載體,以硬件描述語言(HDL)為主要的描述方式,以EDA軟件為主要的開發(fā)軟件的電子設(shè)計(jì)過程。它主要采用“自頂向下”的設(shè)計(jì)方法,設(shè)計(jì)流程主要包括:設(shè)計(jì)輸入、綜合、仿真、適配、下載。EDA技術(shù)主要有以下特征:(1)高層綜合的理論和方法取得進(jìn)展,從而將EDA設(shè)計(jì)層次由RT級(jí)提高到了系統(tǒng)級(jí),并推出了系統(tǒng)級(jí)綜合優(yōu)化工具,縮短了復(fù)雜ASIC的設(shè)計(jì)周期。(2)采用硬件描述語言來描述10萬門以上的設(shè)計(jì),并形成了VHDL和Verilog-HDL兩種標(biāo)準(zhǔn)硬件描述語言。(3)采用平面規(guī)劃技術(shù)對(duì)邏輯綜合和物理版圖設(shè)計(jì)聯(lián)合管理,做到在邏輯設(shè)計(jì)綜合早期階段就考慮到物理設(shè)計(jì)信息的影響。(4)可測(cè)性綜合設(shè)計(jì)。(5)為帶有嵌入式IP核的ASIC設(shè)計(jì)提供軟、硬件協(xié)同設(shè)計(jì)工具。(6)建立并設(shè)計(jì)工具框架結(jié)構(gòu)的集成化設(shè)計(jì)環(huán)境,以適應(yīng)當(dāng)今ASIC規(guī)模大而復(fù)雜、數(shù)字與模擬電路并存、硬件與軟件設(shè)計(jì)并存、產(chǎn)品上市速度快等特點(diǎn)??偠灾珽DA技術(shù)的出現(xiàn),給電子信息產(chǎn)業(yè)帶來了革命性的變革。一. 設(shè)計(jì)任務(wù)及要求本次課程設(shè)計(jì)要求使用EDA工具,設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)易音樂播放器,理解音名與頻率的關(guān)系及數(shù)控分頻原理,經(jīng)過對(duì)整體進(jìn)行模塊化分析、編程、綜合、仿真及最終下載,完整實(shí)現(xiàn)簡(jiǎn)易音樂器的播放功能。用VHDL語言設(shè)計(jì)樂音的節(jié)拍與音符產(chǎn)生電路;用VHDL語言設(shè)計(jì)分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;用VHDL語言設(shè)計(jì)可控分頻器電路;理解簡(jiǎn)易音樂播放器總體設(shè)計(jì)方案。掌握基本的VHDL語言;理解音樂播放電路設(shè)計(jì)方案。掌握用VHDL語言設(shè)計(jì)節(jié)拍與音符產(chǎn)生電路;掌握用VHDL語言設(shè)計(jì)分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;掌握用VHDL語言設(shè)計(jì)可控分頻器電路。設(shè)計(jì)結(jié)果:原理圖與原程序、電路仿真圖、能在實(shí)訓(xùn)系統(tǒng)上播放悅耳動(dòng)聽的音樂。二. 設(shè)計(jì)實(shí)現(xiàn)2.1 準(zhǔn)備知識(shí)在本次設(shè)計(jì)中采用了梁祝 茉莉花 蟲兒飛作為要播放的樂曲,根據(jù)聲樂知識(shí),組成樂曲的每個(gè)音符的發(fā)音頻率值及其持續(xù)的時(shí)間是樂曲能連續(xù)演奏所需的兩個(gè)基本要素,獲取這兩個(gè)要素所對(duì)應(yīng)的數(shù)值以及通過純硬件的手段來利用這些數(shù)值實(shí)現(xiàn)所希望樂曲的演奏效果是本實(shí)驗(yàn)的關(guān)鍵。該演奏電路演奏的樂曲是“梁?!逼?,其最小的節(jié)拍為1拍。將1拍的時(shí)長(zhǎng)定為0.25秒,則只需要再提供一個(gè)4Hz的時(shí)鐘頻率即可產(chǎn)生1拍的時(shí)長(zhǎng),演奏的時(shí)間控制通過ROM查表的方式來完成。對(duì)于占用時(shí)間較長(zhǎng)的節(jié)拍,如全音符為4拍(重復(fù)4),2/4音符為2拍(重復(fù)2),1/4音符為1拍(重復(fù)1)。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則由于分頻系數(shù)過小,四舍五入取整后的誤差較大,若基準(zhǔn)頻率過高,雖然誤碼差變小,但分頻結(jié)構(gòu)將變大。實(shí)際的設(shè)計(jì)應(yīng)綜合考慮兩方面的因素,在盡量減小頻率誤差的前提下取舍合適的基準(zhǔn)頻率。本設(shè)計(jì)中選取4MHz的基準(zhǔn)頻率。表2-1為簡(jiǎn)譜中音名與頻率的對(duì)應(yīng)關(guān)系。表2.1 樂譜編碼和樂音頻率音符編碼頻率f分頻數(shù)106/f計(jì)數(shù)值(106/2f)-1低音11262106/262190722294106/294169933330106/330151444349106/349143155392106/392127466440106/440113577494106/4941011中音18523106/52395529587106/587850310659106/659757411698106/698715512784106/784636613880106/880567714988106/988505高音1151047106/10474762.2樂曲演奏電路的結(jié)構(gòu)示意2.3樂曲演奏電路的子結(jié)構(gòu)頂層結(jié)構(gòu)所包含的模塊分別有地址計(jì)數(shù)器模塊(ADDR)、樂音分頻器模塊(SPEAKER)、數(shù)據(jù)存儲(chǔ)器(YP)以下便是對(duì)各個(gè)子模塊的分析。2.3.1 地址計(jì)數(shù)器模塊1. 地址計(jì)數(shù)器功能在此模塊中設(shè)置了一個(gè)9位二進(jìn)制計(jì)數(shù)器(計(jì)數(shù)最大值為512),這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率選為4Hz,即每一計(jì)數(shù)值的停留時(shí)間為0.25s,恰好為當(dāng)全音符設(shè)為1s時(shí)。例如,梁祝樂曲的第一個(gè)音符為“3”,此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即為1s時(shí)間,相應(yīng)地所對(duì)應(yīng)“1”音符分頻預(yù)置數(shù)為1409在ADDR的輸入端停留了1s。隨著ADDR中的計(jì)數(shù)器按4Hz的時(shí)鐘頻率做加法計(jì)數(shù)時(shí),樂譜逐次被選取,梁祝樂曲就開始自然連續(xù)的演奏起來了。2. 程序代碼LIBRARY ieee;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDR ISPORT (clk : IN STD_LOGIC;A : BUFFER STD_LOGIC_VECTOR(8 DOWNTO 0);END;ARCHITECTURE ONE OF ADDR ISBEGIN PROCESS (clk)BEGINIF (clkevent AND clk = 1)THENA temp temp temp temp temp temp temp temp temp temp temp temp temp temp temp=2048;end case;end process;process(clk)beginif(clkevent and clk=1) then count=count+1;if(count=temp) then FM=not FM;count=0;end if;end if;end process;spks=FM;end;3. 樂音分頻器符號(hào)圖圖2.4 樂音分頻器符號(hào)圖4. 樂音分頻器波形圖圖2.5 樂音2的波形圖圖2.6 樂音3的波形圖2.3.3 數(shù)據(jù)存儲(chǔ)器從菜單里的Tools選擇MegaWizard Plug-In Manager,按照向?qū)瓿蒖OM的定制,ROM初始化文件見附錄。圖2.7數(shù)據(jù)存儲(chǔ)器設(shè)計(jì)圖2.3.3 數(shù)據(jù)仿真1. 符號(hào)圖圖2.8 存儲(chǔ)器和地址計(jì)數(shù)器符號(hào)圖2. 波形圖圖2.9 存儲(chǔ)器存入的數(shù)據(jù)存儲(chǔ)器存入了梁祝 茉莉花 蟲兒飛 三首音樂,最小編程單元是八分音符即每個(gè)數(shù)字占0.37秒。每首歌結(jié)束之后空0.37*8*2 = 6秒。三首歌共424個(gè)地址,即0.37*424 = 155秒,即兩分半左右。2.3.4 時(shí)鐘分頻器1. 二十分頻器程序代碼:library ieee;use ieee.std_logic_1164.all;entity fenpin20 is port(clk : in std_logic; -輸入20MHZ信號(hào)out1 : out std_logic);- 輸出1MHZend;architecture one of fenpin20 is signal T1 : integer range 0 to 10-1;signal F1M : std_logic;beginprocess(clk)beginif(clkevent and clk=1) then T1=T1+1;if(T1=9) then F1M= not F1M;T1=0;end if;end if;end process;out1=F1M;end;符號(hào)圖:圖2.10 分頻器符號(hào)圖波形圖:圖2.11 分頻器波形圖波形圖意義:此分頻器是20分頻,即把頻率分成其本身頻率的1/20。波形圖中clk周期設(shè)置為1ns,則cout1的周期是20ns實(shí)現(xiàn)20分頻。2. 1M分頻4hz程序代碼:library ieee;use ieee.std_logic_1164.all;entity FENPIN4HZ is port(clk : in std_logic; -輸入1MHZ信號(hào) F : out std_logic);- 輸出4HZend;architecture one of FENPIN4HZ is signal T1 : integer range 0 to 124999;signal F1M : std_logic;beginprocess(clk)beginif(clkevent and clk=1) then T1=T1+1;if(T1=124999) then F1M= not F1M;T1=0;end if;end if;end process;F = F1M;end;符號(hào)圖:圖2.12 分頻器符號(hào)圖波形圖:圖2.13 分頻器波形圖三. 整體仿真3.1 符號(hào)圖圖3.1 整體符號(hào)圖心得體會(huì)通過這幾天的課程設(shè)計(jì),使我對(duì)VHDL語言有了更加深刻的了解,在書本上學(xué)的理論知識(shí)能夠運(yùn)用到了實(shí)踐中,而課程設(shè)計(jì)做的成功,增加了我學(xué)習(xí)EDA的興趣,不論在以后的學(xué)習(xí)中還是工作中,EDA肯定是我們必不可少的設(shè)計(jì)工具。通過此次課程設(shè)計(jì)我已經(jīng)可以按計(jì)劃將要求把簡(jiǎn)易音樂演奏器設(shè)計(jì)出來,并能實(shí)現(xiàn)所要的功能。在設(shè)計(jì)過程中,我遇到了許多問題,通過自己上網(wǎng)、查閱資料、問同學(xué)老師,解決了各個(gè)問題,并設(shè)計(jì)出所需要的要求的程序代碼。在設(shè)計(jì)過程中,我了解到設(shè)計(jì)程序代碼的基本過程,首先建立子模塊,并對(duì)各個(gè)模塊進(jìn)行仿真,調(diào)試,直到實(shí)現(xiàn)所要的功能為止。再用元件例化對(duì)頂層文件進(jìn)行仿真,調(diào)試,到仿真圖正確止。最后將程序代碼下載到FPGA實(shí)驗(yàn)箱上。總的來說,通過實(shí)驗(yàn),我激發(fā)了EDA學(xué)習(xí)的興趣,也對(duì)這門課程有了更深的理解,對(duì)EDA設(shè)計(jì)軟件Quarter的使用也更加熟練。更重要的是在此次實(shí)驗(yàn)過程中,更好的培養(yǎng)了我們的具體實(shí)驗(yàn)的能力。又因?yàn)樵谠趯?shí)驗(yàn)過程中有許多實(shí)驗(yàn)現(xiàn)象,需要我們仔細(xì)的觀察,并且分析現(xiàn)象的原因。特別有時(shí)當(dāng)實(shí)驗(yàn)現(xiàn)象與我們預(yù)計(jì)的結(jié)果不相符時(shí),就更加的需要我們仔細(xì)的思考和分析了,并且進(jìn)行適當(dāng)?shù)恼{(diào)節(jié)。參考文獻(xiàn)1 張順興.數(shù)字電路與系統(tǒng)設(shè)計(jì).第1版.南京:東南大學(xué)出版社,20042 王玉秀.電工電子基礎(chǔ)實(shí)驗(yàn).第1版.南京:東南大學(xué)出版社,20063 孫肖子.模擬電子技術(shù)基礎(chǔ).第1版.西安:西安電子科技大學(xué)出版社,2001.14 謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試.第2版.武昌:華中科技大學(xué)出版社,2000.75 張?jiān)サ?電子電路課程設(shè)計(jì).第1版.南京:河海大學(xué)出版社,2005.86 沈明山.EDA技術(shù)及可編程器件應(yīng)用實(shí)訓(xùn),科學(xué)出版社,2004.6(4):318-3267 劉婷婷,李軍.電子設(shè)計(jì)自動(dòng)化(EDA).北京師范大學(xué)出版社,2007,9(2):250-2578 趙明富,李立軍.EDA技術(shù)基礎(chǔ),北京大學(xué)出版社,2007.5(5):221-224附錄:Addr+0+1+2+3+4+5+6+7梁祝03333555688889685516121212151312101224999999993277665556409991077664855568899563388656864555555557210101012779980685555008835535679966666665610488891212121011299109886512033338888128686535681365555550014400000000空6秒152000000001601010101213151513茉莉花1681212121312121212176101010121315151318412121213121212121921212121212121012200121313131212121220810109101212109+2168889888822410981099910232121213151212121224099101291086248555566882569991088862645555550027200000000空6秒280000000002881010101011111212蟲兒飛296101010109999304888899101031210101077777320661010999932866101099993366610109998344888888883521091212121211103609999121110936812121210999937666101099993846610109999392111011109999400111011101515984088888888841600000000空3秒- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- VHDL 音樂 播放
鏈接地址:http://www.szxfmmzy.com/p-10338867.html