版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、武漢理工大學(xué)FPGA應(yīng)用課程設(shè)計(jì) 課程設(shè)計(jì)任務(wù)書 學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 工作單位:信息工程學(xué)院 題目:電子琴的設(shè)計(jì) 課程設(shè)計(jì)目的: FPGA原理與應(yīng)用課程設(shè)計(jì)的目的是為了讓學(xué)生熟悉基于VHDL語言進(jìn)行 FPGA開發(fā)的全流程,并且利用FPGA設(shè)計(jì)進(jìn)行專業(yè)課程理論知識(shí)的再現(xiàn),讓學(xué)生體會(huì) EDA技術(shù)的強(qiáng)大功能,為今后使用 FPGA進(jìn)行電子設(shè)計(jì)奠定基礎(chǔ)。 課程設(shè)計(jì)內(nèi)容和要求 設(shè)計(jì)內(nèi)容: (1)設(shè)計(jì)一個(gè)八音電子琴。 (2)由鍵盤輸入控制音響,同時(shí)可自動(dòng)演奏樂曲。 (3)用戶可以將自己編制的樂曲存入電子琴,演奏時(shí)可選擇鍵盤輸入樂曲或者已 存入的樂曲。 要求每個(gè)學(xué)生單獨(dú)完成課程設(shè)計(jì)內(nèi)容,并寫出
2、課程設(shè)計(jì)說明書、說明書應(yīng)該包括所 涉及到的理論部分和充足的實(shí)驗(yàn)結(jié)果,給出程序清單,最后通過課程設(shè)計(jì)答辯 時(shí)間安排: 序號(hào) 階段內(nèi)容 所需時(shí) 間 1 方案設(shè)計(jì) 1天 2 軟件設(shè)計(jì) 2天 3 系統(tǒng)調(diào)試 1天 4 答辯 1天 合計(jì) 5天 指導(dǎo)教師簽名:年 月 日 系主任(或責(zé)任教師)簽名: II 武漢理工大學(xué)FPGA應(yīng)用課程設(shè)計(jì) 目錄 摘要 1 Abstract 2 1設(shè)計(jì)意義和要求 3 1.1設(shè)計(jì)意義 3 1.2功能要求 3 2方案論證及原理分析 4 2.1實(shí)現(xiàn)方案比較 4 2.2樂曲實(shí)現(xiàn)原理 4 2.3系統(tǒng)組成及工作原理 6 3系統(tǒng)模塊設(shè)計(jì) 8 3.1頂層模塊的設(shè)計(jì) 8 3.2樂曲自動(dòng)演奏模塊的
3、設(shè)計(jì) 8 3.3音階發(fā)生器模塊的設(shè)計(jì) 9 3.4數(shù)控分頻器模塊的設(shè)計(jì) 9 4程序設(shè)計(jì) 11 4.1VHDL設(shè)計(jì)語言和ISE環(huán)境簡(jiǎn)介 11 4.2頂層模塊的程序設(shè)計(jì) 12 4.3樂曲自動(dòng)演奏模塊的程序設(shè)計(jì) 13 4.4音階發(fā)生器模塊的程序設(shè)計(jì) 13 4.5數(shù)控分頻模塊的程序設(shè)計(jì) 14 5設(shè)計(jì)的仿真與實(shí)現(xiàn) 15 5.1樂曲自動(dòng)演奏模塊仿真 15 5.2音調(diào)發(fā)生模塊仿真 18 5.3數(shù)控分頻模塊仿真 19 5.4電子琴系統(tǒng)的仿真 20 5.5設(shè)計(jì)的實(shí)現(xiàn) 22 5.6查看RTL視圖 23 5.7查看綜合報(bào)告 25 6心得體會(huì) 31 7參考文獻(xiàn) 32 8附錄 33 iii 武漢理工大學(xué)FPGA應(yīng)用課程設(shè)
4、計(jì) 隨著基于FPGA勺EDA技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,EDA技術(shù)在電子信息、 通信、自動(dòng)控制用計(jì)算機(jī)等領(lǐng)域的重要性日益突出。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè) 計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言 HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成 邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適 配編譯、邏輯映射和編程下載等工作。 利用EDAX具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開始設(shè)計(jì)電子系統(tǒng),大量工 作可以通過計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或 PCB版圖的整個(gè)過程的計(jì)算機(jī)上自動(dòng)處理完成。 此次設(shè)計(jì)主要是基于 VHD文本輸入法
5、設(shè)計(jì)樂曲演奏電路,運(yùn)用VHDL語言對(duì)簡(jiǎn)易電 子琴的各個(gè)模塊進(jìn)行設(shè)計(jì),并使用 EDAT具對(duì)各模塊進(jìn)行仿真驗(yàn)證。該系統(tǒng)基于計(jì)算機(jī) 中時(shí)鐘分頻器的原理,采用自頂向下的設(shè)計(jì)方法來實(shí)現(xiàn),通過按鍵輸入來控制音響或者 自動(dòng)演奏已存入的歌曲。系統(tǒng)由樂曲自動(dòng)演奏模塊、音調(diào)發(fā)生模塊和數(shù)控分頻模塊三個(gè) 部分組成。選擇手動(dòng)彈奏模式按鍵時(shí),按下音符鍵后就會(huì)選通相應(yīng)的頻率輸出;選擇自 動(dòng)演奏模式按鍵時(shí),儲(chǔ)存器會(huì)將編寫好的音符信息依次取出,去選通各個(gè)對(duì)應(yīng)的頻率輸 出,實(shí)現(xiàn)自動(dòng)演奏。系統(tǒng)實(shí)現(xiàn)是用硬件描述語言VHDL按模塊化方式進(jìn)行設(shè)計(jì),然后進(jìn) 行編程、時(shí)序仿真、電路功能驗(yàn)證,奏出美妙的樂曲(當(dāng)然由于條件限制,暫不進(jìn)行功 能驗(yàn)
6、證,只進(jìn)行編程和時(shí)序仿真)。 關(guān)鍵詞:EDA VHDL電子琴,自動(dòng)演奏 42 Abstract With the expa nsion and further FPGA-based EDA tech no logy developme nt and applicati ons, the importa nee of EDA tech no logy in the field of electro nic in formatio n, com muni catio n, computer and other automatic con trol have become in creas in g
7、ly prominent. EDA tech no logy is to the computer as a tool desig ner in the EDA software platform, hardware descripti on Ian guage HDL complete the desig n file and the n automatically done by computer logic compilation, simplification, segmentation, integration, optimization, placement, routing an
8、d simulation, until for specific target chip adapter compilation, mapping and logic program ming dow nl oad work. Use of EDA tools, electro nic desig ners from con cept, algorithms, protocols, and so began the design of electronic systems, a lot of work can be done by computer and electronic product
9、s can be from the circuit design, performance analysis to the entire process of IC layout design or layout of the PCB automatic processing is completed on the computer. The desig n is mainly based on VHDL text in put music performa nce circuit desig n, each module using VHDL Ian guage of simple flow
10、er desig n, and the use of EDA tools for simulation of each module. The system is based on the principle of the computer clock divider, using top-dow n desig n approach to achieve, through the key in put to con trol the sound or song to automatically play has bee n deposited. System from automatical
11、ly play ing music module, tone generator module and NC divider module three parts. When you select the manual mode after the play butt on, it will note is pressed the corresp onding freque ncy strobe output; Select Auto Play mode butt on, the reservoir will be removed in order to write good music in
12、 formati on, each corresp onding to the freque ncy of the strobe output, automatic play ing. System impleme ntati on is hardware descripti on Ian guage VHDL by a modular approach to design, and then programming, timing simulation, circuit functional verification, play won derful music (of course, du
13、e to con strai nts, they will not perform functional verification, and timing simulation program only). Key words: EDA, VHDL, electro nic orga n, automatic play 1設(shè)計(jì)意義和要求 1.1設(shè)計(jì)意義 電子琴作為音樂與科技的產(chǎn)物,在電子化和信息化的時(shí)代,為音樂的大眾化做出了 很大的貢獻(xiàn),歌曲的制作大多數(shù)都要由電子琴來完成,然后通過媒介流傳開來,電視劇 和電影的插曲、電視節(jié)目音效、甚至手機(jī)鈴聲,都很可能包含電子琴的身影。 電子琴是數(shù)字電路中的一
14、個(gè)典型應(yīng)用。然而在實(shí)際的硬件設(shè)計(jì)中用到的器件非常 多,連線比較復(fù)雜,同時(shí)會(huì)產(chǎn)生比較大的延時(shí),從而造成測(cè)量誤差較大,可靠性不好。 以EDA工具作為開發(fā)手段,運(yùn)用 VHDL硬件描述語言可以使使整個(gè)系統(tǒng)大大簡(jiǎn)化,提 高了電子琴整體的性能和可靠性。 1.2功能要求 1)設(shè)計(jì)一個(gè)八音電子琴; 2)由鍵盤輸入控制音響,同時(shí)可自動(dòng)演奏樂曲; 3)用戶可以將自己編制的樂曲存入電子琴,演奏時(shí)可選擇鍵盤輸入樂曲或者已存 入的樂曲。 2方案論證及原理分析 2.1實(shí)現(xiàn)方案比較 方案一:采用數(shù)字邏輯電路制作,用IC拼湊焊接實(shí)現(xiàn)。其特點(diǎn)是直接用現(xiàn)成的IC 組合而成,簡(jiǎn)單方便,但本系統(tǒng)需用到許多分頻器,這就使得需要用到相當(dāng)
15、多的 IC,從 而造成了體積過于龐大,而且連線也會(huì)比較復(fù)雜。 方案二:由單片機(jī)來完成設(shè)計(jì)??捎脝纹瑱C(jī)控制鍵盤的輸入,以及產(chǎn)生相應(yīng)的頻率 信號(hào)作為輸出。目前,單片機(jī)的功能已比較強(qiáng)大,集成度日益增高且其設(shè)計(jì)和控制比較 容易。但是由于在傳統(tǒng)的單片機(jī)設(shè)計(jì)系統(tǒng)中必須使用許多分立元件組成單片機(jī)的外圍電 路,如鎖存器,譯碼器等都需要單獨(dú)的電路,因此整個(gè)系統(tǒng)顯得十分復(fù)雜,抗干擾性差, 在運(yùn)行過程中容易死機(jī)或進(jìn)入死循環(huán),可靠性降低,而功耗費(fèi)用增高。 方案三:采用可編程邏輯器件(FPGA來完成該設(shè)計(jì),將所有器件集成在一塊芯片 上,大大減小了電子琴的體積,可靠性和精度都比較好。用 VHDLS程實(shí)現(xiàn)時(shí)更加方便, 而且
16、易于進(jìn)行功能擴(kuò)展,并可調(diào)試仿真,制作時(shí)間大大縮短。 綜合分析后我認(rèn)為,方案三采用 FPGA的方法來實(shí)現(xiàn),不僅可以實(shí)現(xiàn)按鍵播放音樂 和自動(dòng)播放音樂的要求,有較高的靈敏度和可靠性。并且原理方法和模塊結(jié)構(gòu)清晰,制 作方案比較容易實(shí)現(xiàn),所以我采用方案三作為具體實(shí)現(xiàn)方案。 2.2樂曲實(shí)現(xiàn)原理 樂曲都是由一連串的音符組成,按照樂曲的樂譜依次輸出這些音符所對(duì)應(yīng)的頻率, 就可以在揚(yáng)聲器上連續(xù)地發(fā)出各個(gè)音符的音調(diào)。為了準(zhǔn)確地演奏出一首樂曲,僅僅讓揚(yáng) 聲器能夠發(fā)出聲音是遠(yuǎn)遠(yuǎn)不夠的,還必須準(zhǔn)確地控制樂曲的節(jié)奏,即每個(gè)音符的持續(xù)時(shí) 間。由此可見,樂曲中每個(gè)音符的發(fā)音頻率以及音符持續(xù)的時(shí)間是樂曲能夠連續(xù)演奏的 兩個(gè)關(guān)鍵
17、因素。 樂曲的12平均率規(guī)定:每2個(gè)八度音之間的頻率要相差1倍,比如簡(jiǎn)譜中的中音2 與高音2。在2個(gè)八度音之間,又可分為12個(gè)半音。另外,音符A(簡(jiǎn)譜中的低音5)的 頻率為392Hz,音符E到F之間、B到C之間為半音,其余為全音。由此可以計(jì)算出簡(jiǎn) 譜中從低音I至高音1之間每個(gè)音符的頻率。簡(jiǎn)譜音名與頻率對(duì)應(yīng)關(guān)系如表2-1所示: 音名 頻率/Hz 音名 頻率/Hz 音名 頻率/Hz 低音1 262 中音1 523 高音1 1047 低音2 296 中音2 587 高音2 1175 低音3 330 中音3 659 高音3 1319 低音4 350 中音4 698 高音4 1397 低音5 392 中
18、音5 784 高音5 1568 低音6 440 中音6 880 高音6 1760 低音7 494 中音7 988 高音7 1976 表2-1簡(jiǎn)譜音名與頻率的對(duì)應(yīng)關(guān)系 使用一分頻器來產(chǎn)生各音符所需的頻率,但由于各音符對(duì)應(yīng)的頻率多為非整數(shù),而 分頻系數(shù)又不能為小數(shù),所以必須將計(jì)算得到的分頻數(shù)四舍五入取整數(shù)。若分頻器時(shí)鐘 頻率過低,則由于分頻系數(shù)過小,四舍五入取整數(shù)后的誤差較大;若時(shí)鐘頻率過高,雖 然誤差變小,但分頻數(shù)將會(huì)變大。在實(shí)際的設(shè)計(jì)中應(yīng)綜合考慮這兩方面的因素,在盡量 減小頻率誤差的前提下取合適的時(shí)鐘頻率。實(shí)際上,只要各個(gè)音符間的相對(duì)頻率關(guān)系不 變,演奏出的樂曲聽起來都不會(huì)走調(diào)。 設(shè)計(jì)的音樂電
19、子琴選取32MHZ的系統(tǒng)時(shí)鐘頻率。在數(shù)控分頻器模塊,首先對(duì)時(shí)鐘 頻率進(jìn)行4分頻,得到8MHZ的輸入頻率,然后再次分頻得到各音符的頻率。由于數(shù)控 分頻器輸出的波形是脈寬極窄的脈沖波,為了更好的驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,在到達(dá)揚(yáng)聲器之 前需要均衡占空比,從而生成各音符對(duì)應(yīng)頻率的對(duì)稱方波輸出。這個(gè)過程實(shí)際上進(jìn)行了 一次二分頻,將脈沖展寬。 因此,分頻系數(shù)的計(jì)算可以按照下面的方法進(jìn)行。以中音1為例,對(duì)應(yīng)的頻率值為 523Hz,它的分頻系數(shù)應(yīng)該為: 4MHZ 523 4 106 523 7648 至于其他音符,可由上式求出對(duì)應(yīng)的分頻系數(shù),這樣利用程序可以很輕松地得到相 應(yīng)的樂聲。各音名對(duì)應(yīng)的分頻系數(shù)如表 2-2所
20、示: 音名 頻率/Hz 分頻系數(shù) 音名 頻率/Hz 分頻系數(shù) 中音1 523 7648 高音1 1047 3820 中音2 578 6920 高音2 1175 3404 中音3 659 6069 高音3 1319 3032 中音4 698 5730 高音4 1397 2863 中音5 784 5102 高音5 1586 2522 中音6 880 4545 高音6 1760 2272 中音7 988 4048 高音7 1976 2024 低音5 392 10204 低音6 440 9090 表2-2各音名對(duì)應(yīng)的分頻系數(shù) 音符的持續(xù)時(shí)間須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來確定。因此,要控制音符 的
21、音長,就必須知道樂曲的速度和每個(gè)音符所對(duì)應(yīng)的節(jié)拍數(shù)。如果將全音符的持續(xù)時(shí)間 設(shè)為1s的話,那么一拍所應(yīng)該持續(xù)的時(shí)間為 0.25秒,則只需要提供一個(gè)4HZ的時(shí)鐘頻 率即可產(chǎn)生四分音符的時(shí)長。 至于音長的控制,在自動(dòng)演奏模塊,每個(gè)樂曲的音符是按地址存放的,播放樂曲時(shí) 按4HZ的時(shí)鐘頻率依次讀取簡(jiǎn)譜,每個(gè)音符持續(xù)時(shí)間為0.25秒。如果樂譜中某個(gè)音符 為三拍音長,那又該如何控制呢?其實(shí)只要在3個(gè)連續(xù)地址存放該音符,這時(shí)就會(huì)發(fā)三 個(gè)0.25秒的音長,即持續(xù)了三拍的時(shí)間,通過這樣一個(gè)簡(jiǎn)單的操作就可以控制音長了。 2.3系統(tǒng)組成及工作原理 2.3.1系統(tǒng)組成 整個(gè)系統(tǒng)由樂曲自動(dòng)演奏模塊、音調(diào)發(fā)生器模塊和數(shù)控
22、分頻器模塊三個(gè)部分組成。 樂曲自動(dòng)演奏模塊又包含了鍵盤的編碼,并且設(shè)置了一個(gè)自動(dòng)演奏/鍵盤輸入切換auto 樂曲自動(dòng)演奏模塊的作用是產(chǎn)生發(fā)聲控制輸入信號(hào)。音調(diào)發(fā)生器根據(jù)發(fā)聲控制輸入產(chǎn)生 獲得音階的分頻預(yù)置值(即分頻系數(shù))。數(shù)控分頻器根據(jù)分頻預(yù)置值對(duì) FPGA的基準(zhǔn)頻 率進(jìn)行分頻,得到與各個(gè)音階對(duì)應(yīng)的頻率輸出。系統(tǒng)組成框圖如圖2-1所示。 圖2-1系統(tǒng)組成框圖 2.3.2系統(tǒng)工作原理 系統(tǒng)的基準(zhǔn)時(shí)鐘脈沖為 32MHz,所以在本設(shè)計(jì)中需要將其進(jìn)行分頻,以得到所需 要的脈沖來發(fā)出相應(yīng)的音符。鍵盤輸入一共有9個(gè)按鍵,除了 8個(gè)音符對(duì)應(yīng)的按鍵之外, 還設(shè)置一個(gè)自動(dòng)演奏/鍵盤輸入切換auto,它不是一個(gè)單
23、獨(dú)的模塊,它和其他按鍵一起包 含在樂曲自動(dòng)演奏模塊中,作用相當(dāng)于一個(gè)開關(guān)。 當(dāng)auto= “0”時(shí),選擇自動(dòng)演奏音樂存儲(chǔ)器里面的樂曲,自動(dòng)演奏模塊以4Hz的頻 率輸出8位發(fā)聲控制輸入信號(hào),再送入音調(diào)發(fā)生器。當(dāng) 8位發(fā)聲控制輸入信號(hào)中的某一 位為高電平時(shí),則對(duì)應(yīng)某一音階的數(shù)值將在端口 tone輸出,該數(shù)值即為該音階的分頻預(yù) 置值,音調(diào)發(fā)生器還輸出音符顯示信號(hào)、高低音顯示信號(hào)。最后由數(shù)控分頻模塊按照音 調(diào)發(fā)生器輸出的分頻預(yù)置值進(jìn)行分頻,得到存儲(chǔ)的樂曲的音符的頻率,之后由揚(yáng)聲器輸 出對(duì)應(yīng)的聲調(diào)。 auto= “T時(shí),選擇鍵盤輸入的信號(hào),8個(gè)按鍵分別對(duì)應(yīng)8個(gè)音符,自動(dòng)演奏模塊 將按鍵輸入轉(zhuǎn)化為8位發(fā)聲
24、控制輸入信號(hào)送入音調(diào)發(fā)生器,最后通過數(shù)控分頻模塊得到 按鍵對(duì)應(yīng)的音符的頻率,之后由揚(yáng)聲器輸出對(duì)應(yīng)的聲調(diào)。 3系統(tǒng)模塊設(shè)計(jì) 3.1頂層模塊的設(shè)計(jì) VHDL采用的是自頂向下的設(shè)計(jì)方式,頂層模塊由樂曲自動(dòng)演奏(automusic),音 調(diào)發(fā)生器(tone)和數(shù)控分頻器(speake)三個(gè)模塊組成。其中樂曲自動(dòng)演奏部分 (automusic)又包括了鍵盤編碼,還設(shè)置了一個(gè)自動(dòng)演奏/鍵盤輸入切換auto,即當(dāng)auto= “0”時(shí),選擇自動(dòng)演奏音樂存儲(chǔ)器里面的樂曲,auto= “ 1”時(shí),選擇由鍵盤輸入的信號(hào), 再對(duì)其進(jìn)行編碼。兩種情況下輸出的都是八位二進(jìn)制數(shù),對(duì)應(yīng)音調(diào)發(fā)生器的輸入。圖3-1 即是頂層模塊
25、設(shè)計(jì)原理圖。 圖3-1頂層模塊設(shè)計(jì)原理圖 3.2樂曲自動(dòng)演奏模塊的設(shè)計(jì) 為了實(shí)現(xiàn)電子琴的功能要求,需要設(shè)計(jì)一個(gè)自動(dòng)演奏模塊,該模塊的作用是產(chǎn)生8 位發(fā)聲控制輸入index。當(dāng)auto為“0”或“ 1”時(shí)可以選擇自動(dòng)演奏或者鍵盤輸入,如 果auto為“ 0”,則由存儲(chǔ)在此模塊中的8位二進(jìn)制數(shù)來作為發(fā)聲控制輸入index,由此 便可自動(dòng)演奏樂曲;當(dāng)auto為“1”時(shí),則由鍵盤的輸入轉(zhuǎn)化為8位2進(jìn)制數(shù)作為發(fā)聲 控制輸入index。此模塊的VHDL語言中包括三個(gè)進(jìn)程,首先是對(duì)基準(zhǔn)脈沖進(jìn)行分頻得 到4Hz的脈沖,作為第二個(gè)進(jìn)程的時(shí)鐘信號(hào),它的目的是控制每個(gè)音階之間的停頓時(shí)間, 此處便是1/4=0.25s
26、;第二個(gè)進(jìn)程完成自動(dòng)演奏部分樂曲的地址累加;第3個(gè)進(jìn)程是輸出 存儲(chǔ)的自動(dòng)演奏的樂曲或鍵盤輸入的發(fā)聲控制輸入in dex。樂曲自動(dòng)演奏模塊如圖3-2 所示。 I 4ii4 LJ kIdL.lk:4 I. .1-:4L.1iiJL 4bd-:4li.l- I i,aa ruia r iarin!* irrrnr : automusic;: I 4GI4 L 4 k4L J k4 t .1-4LiiJL4 LdS4li! _am Auto Jfa d L J adb.l C0DEv=0001111;HIGHTONE0=8191;CODE=0000001;HIGHNew Source.,選擇文件 類型
27、為Test Bench Waveform 鍵入文件名“ Testautomusic,單擊“ Next” ,在本步驟中 可以將波形文件與automusic.vhd文件進(jìn)行關(guān)聯(lián),如圖5-1所示。繼續(xù)單擊“ Next”直 到完成。 圖5-1波形與VHDL文件關(guān)聯(lián) 此時(shí),HDL Bencher程序啟動(dòng),如圖5-2所示,可以選擇哪一個(gè)信號(hào)是時(shí)鐘信號(hào)并 可以輸入所需的時(shí)序需求,系統(tǒng)時(shí)鐘信號(hào)為 32MHz但是由于限制只能選擇時(shí)鐘周期為 32ns,因此仿真時(shí)時(shí)鐘信號(hào)為 31.25MHz 圖5-2仿真時(shí)間參數(shù)設(shè)置 這時(shí)出現(xiàn)了如圖5-3所示的波形圖,可以單擊波形圖中的藍(lán)色方塊來設(shè)置波形電平 的高低,并可以拉動(dòng)仿真
28、時(shí)間線。此時(shí)設(shè)置 Auto= “0”,選擇自動(dòng)演奏。 圖5-3 HDL Bencher中輸入波形的設(shè)置 (2) 設(shè)計(jì)的仿真 單擊 Sourcese 窗 口中的 testbench,則在 Processes 窗 口 中顯示 Xilinx ISE Simulator X具欄,擴(kuò)展開后,右鍵單擊Simulator Behavioral Model,選擇 Properties,對(duì) Simulation Run Time 輸入 10000ns,單擊 OK 按鈕,如圖 5-4 所示。 I5E SijnulatQx Pr upffrl ice J3*pr *Li|f Us 1 ills*;SnTjL*4i
29、匚嗎and. SFaJle Custwi SimuL4ili匸mi ud. ?!* Km. Th4F X Th12 ; 7T1?4 X 7T12D ) i 7T10F ; (rtot) 訥他 0 1 . codeia600 Cmoo 圖5-11 HDL Bencher中輸入波形的設(shè)置 (2)設(shè)計(jì)的仿真 單擊 Sourcese 窗 口中的 testbench,則在 Processes 窗 口 中顯示 Xilinx ISE Simulator X具欄,擴(kuò)展開后,右鍵單擊 Simulator Behavioral Model,選擇 Properties,對(duì) Simulation Run Time 輸
30、入 900us,單擊 OK 按鈕,如圖 5-12 所示。 JSBProperties 皿 ” Iki 匚魚Shnativii ffttai Fii 右騏tn,林 C*事訂 紬 E輕海皓;Tim S use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -32MHz系統(tǒng)時(shí)鐘 -鍵盤輸入/自動(dòng)演奏 -音符顯示信號(hào) -鍵盤輸入信號(hào) -高低音節(jié)信號(hào) -音頻信號(hào) en tity top is Port ( clk32MHz :in std_logic; han dTOauto
31、 : in std_logic; code1:out std_logic_vector(6 dow nto 0); in dex1:in std_logic_vector(7 dow nto 0); high1:out std_logic; spkout:out std_logic); end top; architecture Behavioral of top is comp onent automusic Port ( clk :in std_logic; Auto: in std_logic; in dex2:i n std_logic_vector(7 dow nto 0); in
32、dex0 : out std_logic_vector(7 dow nto 0); end comp onent; comp onent tone Port ( in dex : in stdo gic_vector(7 dow nto 0); code : out std_logic_vector(6 dow nto 0); high : out std_logic; toneO : out integer range 0 to 8191); end comp onent; comp onent speaker Port ( clk1 : in std_logic; tone1 : in i
33、n teger range 0 to 8191; spks : out std_logic); end comp onent; sig nal ton e2: in teger range 0 to 8191; sig nal in dx:stdo gic_vector(7 dow nto 0); begin u0:automusic port map(clk=clk32MHZ,i ndex2=in dex1,i ndex0=in dx,Auto=ha ndtoAuto); u1: tone port map(index=indx,tone0=tone2,code=code1,high=hig
34、h1); u2: speaker port map(clk1=clk32MHZ,t on e1=t on e2,spks=spkout); end Behavioral; 樂曲自動(dòng)演奏模塊: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; en tity automusic is Port ( clk,Auto : in std_logic;-系統(tǒng)時(shí)鐘;鍵盤輸入 /自動(dòng)演奏 in dex2 : in stdo gic_vector(
35、7 dow nto 0);-鍵盤輸入信號(hào) in dex0 : out std_logic_vector(7 dow nto 0);-音符信號(hào)輸出 end automusic; architecture Behavioral of automusic is sig nal coun t0:i nteger range 0 to 31;-cha nge sig nal clk2:std_logic; begin pulse0:process(clk,Auto)-此進(jìn)程完成對(duì)系統(tǒng)時(shí)鐘8M的分頻,得到4Hz的信號(hào)clk2 variable coun t:i nteger range 0 to 8191
36、; begin if Auto=1 then coun t:=0;clk2=0; elsif clkeve nt and clk=1 the n coun t:=co un t+1; if cou nt=4000000 then clk2=1; elsif cou nt=8000000 then clk2=0;cou nt:=0; end if; end if; end process; music:process(clk2)-此進(jìn)程完成自動(dòng)演奏部分曲的地址累加 begin if clk2event and clk2=1 then if cou nt0=31 then cou nt0=0; e
37、lse coun t0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 in dex0 index0 nu II; end case; else in dex0 tone0=7648;code=1001111;high ton e0=6920;code=0010010;high ton e0=6069;code=0000110;high tone0=5730;code=1001100;high ton e0=5102;code=0100100;high ton e0=4545;code=0100000;high tone0=4048;code=0001111;high ton e0=3
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024產(chǎn)品銷售區(qū)域代理合同模板
- 2024租車合同協(xié)議書公司單位租車協(xié)議書
- 2024版獨(dú)家代理合同樣本
- 2024年廣場(chǎng)文化建設(shè)施工合同
- 2024年度貨物采購與供應(yīng)協(xié)議
- 陀螺課件圖片教學(xué)課件
- 2024年度勞動(dòng)合同標(biāo)的:高級(jí)管理人員雇傭
- 2024解除土地流轉(zhuǎn)合同
- 2024年度環(huán)保項(xiàng)目技術(shù)研發(fā)與許可使用合同
- 2024年度房屋買賣合同(高檔住宅)
- 人教版四年級(jí)上冊(cè)三位數(shù)乘兩位數(shù)豎式練習(xí)400題及答案
- 大學(xué)生國防教育
- 智慧校園匯報(bào)材料課件
- 2024年遼寧盤錦國發(fā)實(shí)業(yè)有限公司招聘筆試參考題庫附帶答案詳解
- 樓蘭古國完整
- 青茶專業(yè)知識(shí)
- 加大技術(shù)研發(fā)投入推動(dòng)技術(shù)創(chuàng)新
- 醫(yī)院管理學(xué)教學(xué)完整版
- 老人艾滋病防控知識(shí)講座
- 基因突變的發(fā)生和表達(dá)的實(shí)驗(yàn)探究
- 化工原理實(shí)驗(yàn)課后思考題及化工原理實(shí)驗(yàn)思考題
評(píng)論
0/150
提交評(píng)論