VHDL音樂播放器
《VHDL音樂播放器》由會(huì)員分享,可在線閱讀,更多相關(guān)《VHDL音樂播放器(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 洛 陽(yá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ì)方法日新月異,電子
2、設(shè)計(jì)自 動(dòng)化(Electronics Design Automation ,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ì)的
3、劣勢(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)為載體,以硬件描述語(yǔ)言 (HDL)為主要的描述方式,以 EDA軟件為主要的開發(fā)軟件的電子設(shè)計(jì)過程。它主要采用“自頂向下”的設(shè)計(jì)方法,設(shè)計(jì)流程主要包括:設(shè)計(jì)輸入、綜 合、仿真、適配、下載。 EDA技術(shù)主要有以下特征: (1)高層綜合的理論和方法取得進(jìn)展,從而將 EDA設(shè)計(jì)層次由 RT級(jí)提高到 了
4、系統(tǒng)級(jí),并推出了系統(tǒng)級(jí)綜合優(yōu)化工具,縮短了復(fù)雜 ASIC 的設(shè)計(jì)周期。 ( 2)采用硬件描述語(yǔ)言來描述 10 萬(wàn)門以上的設(shè)計(jì),并形成了 VHDL和 Verilog-HDL 兩種標(biāo)準(zhǔn)硬件描述語(yǔ)言。 (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)
5、。 總而言之, EDA技術(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語(yǔ)言設(shè)計(jì)樂音的節(jié)拍與音符產(chǎn)生電路;用 VHDL語(yǔ)言設(shè)計(jì)分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;用 VHDL語(yǔ)言設(shè)計(jì)可控分頻器電路;理解簡(jiǎn)易音樂播放器總體設(shè)計(jì)方案。 掌握基本的 VHDL語(yǔ)言;理解音樂播放電路設(shè)計(jì)方案。掌握用 VHDL語(yǔ)言設(shè)計(jì)節(jié)拍與音符產(chǎn)生電路; 掌
6、握用 VHDL語(yǔ)言設(shè)計(jì)分頻系數(shù)、 音符顯示數(shù)據(jù)產(chǎn)生電路;掌握用 VHDL語(yǔ)言設(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)鍵。 該演奏電路演奏的樂曲是“梁?!?/p>
7、片段,其最小的節(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) 綜合考慮兩方面的因素 , 在盡量減小頻率誤
8、差的前提下取舍合適的基準(zhǔn)頻率。本 設(shè)計(jì)中選取 4MHz的基準(zhǔn)頻率。表 2-1 為簡(jiǎn)譜中音名與頻率的對(duì)應(yīng)關(guān)系。 表 2.1 樂譜編碼和樂音頻率 音符 編碼 頻率 f 分頻數(shù) 10^6/f 計(jì)數(shù)值 (10^6/2f)-1 1 1 262 10^6/262 1907 2 2 294 10^6/294 1699 3 3 330 10^6/330 1514 低 4 4 349 10^6/349 1431 5 5 392 10^6/392 1274 音
9、 6 6 440 10^6/440 1135 7 7 494 10^6/494 1011 1 8 523 10^6/523 955 2 9 587 10^6/587 850 3 10 659 10^6/659 757 中 4 11 698 10^6/698 715 5 12 784 10^6/784 636 音 6 13 880 10^6/880 567 7 14 988 10^6/988 505 高音 1 15 1047
10、10^6/1047 476 2.2 樂曲演奏電路的結(jié)構(gòu)示意 時(shí)鐘 樂譜 樂音 存儲(chǔ)器 揚(yáng)聲器 分頻器 地址 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ù)頻
11、率選為 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;
12、 ENTITY ADDR IS PORT (clk : IN STD_LOGIC; A : BUFFER STD_LOGIC_VECTOR(8 DOWNTO 0)); END; ARCHITECTURE ONE OF ADDR IS BEGIN PROCESS (clk) BEGIN IF (clkevent AND clk = 1) THEN A <= A + 1; END IF; END PROCESS; END; 3. 地址計(jì)數(shù)器符號(hào)圖
13、 圖 2.1 地址計(jì)數(shù)器符號(hào)圖 4. 仿真波形圖 圖 2.2 地址計(jì)數(shù)器波形圖 圖 2.3 地址計(jì)數(shù)器波形圖 2.3.2 樂音分頻器 1. 樂音分頻器模塊的功能 此模塊的功能首先是提供決定所發(fā)音符的分頻
14、預(yù)置數(shù), 而此數(shù)在輸入端口停 留的時(shí)間即為此音符的節(jié)拍值。電路中設(shè)置了《梁祝》 《茉莉花》 《蟲兒飛》樂曲全部音符所對(duì)應(yīng)的分頻預(yù)置數(shù), 每一音符的停留時(shí)間由音樂節(jié)拍和音調(diào)發(fā)生器模塊 clk 輸入頻率決定,在此為 4Hz。 2. 樂音分頻器模塊的 VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity speaker is port(clk : in std_logic;--1mhz
15、 TN : in std_logic_vector(3 downto 0);-- 樂譜編碼 spks : out std_logic); end; architecture rts of speaker is signal FM : std_logic; signal count : integer range 0 to 2047; signal temp : integer range 0 to 2048; begin process (TN) begin case TN is
16、when "0000" => temp<=2048; when "0001" => temp<=1907; when "0010" => temp<=1699; when "0011" => temp<=1514; when "0101" => temp<=1275; when "0110" => temp<=1136; when "0111" => temp<=1011; when "1000" => temp<=955; when "1001" => temp<=851; when "1010" => temp<=7
17、58; when "1100" => temp<=637; when "1101" => temp<=567; when "1110" => temp<=505; when "1111" => temp<=477; when others => temp<=2048; end case; end process; process(clk) begin if(clkevent and clk=1) then count<=count+1; if(count=temp) then FM<=not FM;count<=0;e
18、nd if; end if; end process; spks<=FM; end; 3. 樂音分頻器符號(hào)圖 圖 2.4 樂音分頻器符號(hào)圖 4. 樂音分頻器波形圖 圖 2.5 樂音 2 的波形圖
19、 圖 2.6 樂音 3 的波形圖 2.3.3 數(shù)據(jù)存 器 從菜 里的 Tools 選擇 MegaWizard Plug- In Manager ?,按照向 完成 ROM 的定制, ROM初始化文件 附 。 圖 2.7 數(shù)據(jù)存儲(chǔ)器設(shè)計(jì)圖 2.3.3 數(shù)據(jù)仿真 1.
20、 符號(hào) 圖 2.8 存儲(chǔ)器和地址計(jì)數(shù)器符號(hào)圖 2. 波形圖 圖 2.9 存儲(chǔ)器存入的數(shù)據(jù)
21、 存儲(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; --
22、 out1 : out std_logic);-- 輸入 輸出 20MHZ信號(hào) 1MHZ end; architecture one of fenpin20 is signal T1 : integer range 0 to 10-1; signal F1M : std_logic; begin process(clk) begin if(clkevent and clk=1) then T1<=T1+1; if(T1=9
23、) 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è)置為 1
24、ns,則 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);-- 輸出 4HZ end; architecture one of FENPIN4HZ is signa
25、l T1 : integer range 0 to 124999; signal F1M : std_logic; begin process(clk) begin if(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)圖:
26、 圖 2.12 分頻器符號(hào)圖 波形圖: 圖 2.13 分頻器波形圖 三.整體仿真 3.1 符號(hào)圖 圖 3.1 整體符號(hào)圖 心得體會(huì)
27、通過這幾天的課程設(shè)計(jì),使我對(duì) VHDL語(yǔ)言有了更加深刻的了解,在書本上 學(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)所要
28、的功能為止。 再用元件例化對(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ì) .
29、第 1 版 . 南京:東南大學(xué)出版社 ,2004 [2] 王玉秀 . 電工電子基礎(chǔ)實(shí)驗(yàn) . 第 1 版. 南京:東南大學(xué)出版社 ,2006 [3] 孫肖子 . 模擬電子技術(shù)基礎(chǔ) . 第 1 版 . 西安:西安電子科技大學(xué)出版 社 ,2001.1 [4] 謝自美 . 電子線路設(shè)計(jì) ?實(shí)驗(yàn) ?測(cè)試 . 第 2 版 . 武昌:華中科技大學(xué)出版 社 ,2000.7 [5] 張?jiān)サ?. 電子電路課程設(shè)計(jì) . 第 1 版. 南京:河海大學(xué)出版社 ,2005.8 [6] 沈明山 .EDA技術(shù)及可編程器件應(yīng)用實(shí)訓(xùn) , 科學(xué)出版社 ,2004.6 (
30、4):318-326 [7] 劉婷婷 , 李軍 . 電子設(shè)計(jì)自動(dòng)化( EDA) . 北京師范大學(xué)出版社, 2007,9 ( 2) :250-257 [8] 趙明富 , 李立軍 .EDA技術(shù)基礎(chǔ) , 北京大學(xué)出版社 ,2007.5 (5):221-224 附錄: Addr +0 +1 +2 +3 +4 +5 +6 +7 0 3 3 3 3 5 5 5 6 8 8 8 8 9 6 8 5 5 16 12 12 12 15 13 12 10 12 24 9
31、9 9 9 9 9 9 9 32 7 7 6 6 5 5 5 6 40 9 9 9 10 7 7 6 6 48 5 5 5 6 8 8 9 9 56 3 3 8 8 6 5 6 8 64 5 5 5 5 5 5 5 5 72 10 10 10 12 7 7 9 9 80 6 8 5 5 5 5 0 0 88 3 5 5 3 5 6 7 9 96 6 6 6 6 6 6 5 6 104 8 8 8 9 12 1
32、2 12 10 112 9 9 10 9 8 8 6 5 120 3 3 3 3 8 8 8 8 128 6 8 6 5 3 5 6 8 136 5 5 5 5 5 5 0 0 144 0 0 0 0 0 0 0 0 152 0 0 0 0 0 0 0 0 160 10 10 10 12 13 15 15 13 168 12 12 12 13 12 12 12 12 176 10 10 10 12 13 15 15 13 184
33、 12 12 12 13 12 12 12 12 192 12 12 12 12 12 12 10 12 200 12 13 13 13 12 12 12 12 梁祝 空 6 秒
34、 茉莉花 208 10 10 9 10 12 12 10 9+ 216 8 8 8 9 8 8 8 8 224 10 9 8 10 9 9 9 10 232 12 12 13 15 12 12 12 12 240 9 9 10 12 9 10 8 6 248 5 5 5 5 6 6 8 8 256 9 9 9 10 8 8 8 6 264 5 5 5 5 5 5 0 0 272 0 0
35、0 0 0 0 0 0 280 0 0 0 0 0 0 0 0 288 10 10 10 10 11 11 12 12 296 10 10 10 10 9 9 9 9 304 8 8 8 8 9 9 10 10 312 10 10 10 7 7 7 7 7 320 6 6 10 10 9 9 9 9 328 6 6 10 10 9 9 9 9 336 6 6 10 10 9 9 9 8 344 8 8 8 8 8 8 8 8
36、 352 10 9 12 12 12 12 11 10 360 9 9 9 9 12 11 10 9 368 12 12 12 10 9 9 9 9 376 6 6 10 10 9 9 9 9 384 6 6 10 10 9 9 9 9 392 11 10 11 10 9 9 9 9 400 11 10 11 10 15 15 9 8 408 8 8 8 8 8 8 8 8 416 0 0 0 0 0 0 0 0 空 6 秒 蟲兒飛 空 3 秒
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《筍芽?jī)骸氛n件
- 高速鐵路同相供電
- 二年級(jí)語(yǔ)文下冊(cè)-第4單元-13《激光的話》課件4-語(yǔ)文S版
- 《一枚金幣》課件
- 1441單項(xiàng)式乘以多項(xiàng)式(課件)PPT
- 12分式的乘法和除法
- 常見蔬菜分類
- 保險(xiǎn)客戶經(jīng)營(yíng)1361法則
- 現(xiàn)場(chǎng)目視管理與看板管理
- 高中政治-4.2文化在繼承中發(fā)展課件1-新人教版必修3PPT文檔
- 八年級(jí)生物上冊(cè) 181 微生物在生物圈中的作用(第2課時(shí))課件(2)(新版)北師大版
- 人生的夢(mèng)想
- 動(dòng)物生理學(xué)-第六章課件
- IE經(jīng)典管理基礎(chǔ)
- AfternoonandEvening課件