freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vhdl樂(lè)曲發(fā)生器的設(shè)計(jì)說(shuō)明書(編輯修改稿)

2025-06-12 18:56 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 的變化也不盡相同。例如在本次設(shè)計(jì)中,自第 4 個(gè)時(shí)鐘上升沿來(lái)臨到第 7 個(gè)時(shí)鐘上升沿,輸出 toneindex “1”。于是根據(jù)樂(lè)譜的不同就輸出不同的音符,作為音調(diào)編碼器的輸入。然后把輸出 toneindex 輸入到音調(diào)編碼器模塊,進(jìn)行下一步編碼工作。于是,由仿真圖可以知道本模塊輸出的即為演奏音樂(lè)的音符譜,說(shuō)明該程序正確, 可以生成邏輯器件。 音調(diào)發(fā)生器模塊生成的邏輯器件 圖 33 音調(diào)發(fā)生器電路模塊生成器件 音調(diào)編碼器模塊 該編碼模塊的作用為將輸入的音符數(shù)據(jù)翻譯為音樂(lè)產(chǎn)生模塊的所需要的分頻系數(shù),并且顯示音符的數(shù)字碼型和高音階,通過(guò)對(duì)照 圖 212 各音名對(duì)應(yīng)的分頻系數(shù)值及初始值,根據(jù)輸入得到初始值,從而得到分頻系數(shù)以便進(jìn)行分頻,得到所需的頻率。 14 音調(diào)編碼器模塊的 VHDL 源程序: library ieee。 use 。 entity ydbmq is port(index:in integer range 0 to 15。 code:out integer range 0 to 15。 code1:out integer range 0 to 15。 tone:out integer range 0 to 2047)。 end。 architecture bhv of ydbmq is begin process(index) begin 為個(gè)音符賦初始值以便進(jìn)行分頻 case index is when 0=tone=2047。code=0。code1=0。 when 1=tone=773。code=1。code1=0。 when 2=tone=912。code=2。code1=0。 when 3=tone=1036。code=3。code1=0。 when 4=tone=1116。code=4。code1=0。when 5=tone=1197。code=5。code1=0。 when 6=tone=1290。code=6。code1=0。when 7=tone=1372。code=7。code1=0。 when 8=tone=1410。code=1。code1=1。when 9=tone=1480。code=2。code1=1。 when10=tone=1542。code=3。code1=1。 when12=tone=1622。code=5。code1=1。 when 15=tone=1728。code=1。code1=2。 when others=NULL。 end case。 end process。 end 。 音調(diào)編碼器模塊的仿真圖 15 圖 34 音調(diào)編碼器模塊的仿真波形圖 在此程序中 index 為音樂(lè)節(jié)拍產(chǎn)生模塊輸出的音符數(shù)據(jù),經(jīng)過(guò)翻譯后將 tone輸出到數(shù)控分頻模塊為其提供分頻系數(shù)的初始值, code 為數(shù)碼管顯示的字符數(shù),應(yīng)用模式 5,所以直接輸出音符的二進(jìn)制值, code1 為高音階指示信號(hào),當(dāng) code1為1是說(shuō)明輸出為高音階的音符。通過(guò)仿真圖可以清楚地看到結(jié)果。 音調(diào)編碼器模塊生成的邏輯器件 圖 334 音調(diào)編碼器模塊生成的邏輯器件 圖 35 音調(diào)編碼器模塊生成的邏輯器件 手動(dòng) \自動(dòng)選擇模塊 手動(dòng) \自動(dòng)選擇模塊 根據(jù)設(shè)計(jì)的要求,該簡(jiǎn)易樂(lè)曲演奏器能實(shí)現(xiàn)手動(dòng)或自動(dòng)演奏樂(lè)曲的功能。于是,可通過(guò)一個(gè)按鍵 cs 來(lái)進(jìn)行自動(dòng)與手動(dòng)的選擇,當(dāng) cs 按下時(shí),樂(lè)曲自動(dòng)演奏,其他情況下均為手動(dòng)演奏樂(lè)曲,即可以通過(guò)按下其他的按鍵(與 cs 相連的按鍵除外)來(lái)控制不同的音符。與此同時(shí),還需要一個(gè)復(fù)位信號(hào) rst 來(lái)控制該演奏器是否工作,當(dāng) rst 為 1 時(shí),停止演奏,為 0 時(shí),可以演奏。以上提到的手動(dòng)與自動(dòng)的選擇只能在 rst 為 0 時(shí)有效。 手動(dòng) \自動(dòng)選擇模塊的 VHDL 源程序: 16 library ieee。 use 。 entity bmux is port(d1,d2:in integer range 0 to 15。 cs,rst:in std_logic。 q:out integer range 0 to 15)。 end。 architecture bhv of bmux is begin process(cs,rst) begin if rst=?1? then 復(fù)位時(shí)輸出為 0 q=0。 else case cs is when ?0?=q=d1。 選擇手動(dòng)輸入 when ?1?=q=d2。 選擇自動(dòng)演奏 when others=q=d1。 end case。 end if。 end process。 end。 手動(dòng) \自動(dòng)選擇模塊的仿真圖 圖 36 手動(dòng) \自動(dòng)選擇模塊的仿真波形圖 17 此仿真圖中輸入 cs 代表手動(dòng) \自動(dòng)演奏的選擇端,輸入 rst 代表整體復(fù)位端,輸入 d d2 分別代表手動(dòng)和自動(dòng)演奏的音符, q 為輸出端,由此仿真圖可清楚的看到當(dāng) rst=1 時(shí),不論選擇的是手動(dòng)還是自動(dòng),輸出都為零,達(dá)到了整體復(fù)位的功能;當(dāng) rst=0 且 cs=1 時(shí),自動(dòng)演奏樂(lè)曲,因?yàn)?q 與 d2 的值相同;當(dāng) rst=0且 cs=0 時(shí),手動(dòng)演奏樂(lè)曲,因?yàn)檫@時(shí)的 q 與 d1 的值相同,從而也達(dá)到了演奏方式選擇的功能。 手動(dòng) \自動(dòng)選擇模塊生成的邏輯器件 圖 37 手動(dòng) \自動(dòng)選擇模塊生成的邏輯器件 數(shù)控分頻器模塊 數(shù)控分頻器模塊的功能 該模塊的 clk 端輸入一個(gè)具有較高頻率(本實(shí)驗(yàn)為 12MHz)的信號(hào) ,通過(guò)skfpq 分頻后由 spkout 輸出。由于直接從數(shù)控分頻器中出來(lái)的輸出信號(hào)是脈寬極窄的脈沖信號(hào),為了便于驅(qū)動(dòng)喇叭,需另加一個(gè) D 觸發(fā)器均衡其占空比,也即作二分頻處理。 skfpq 對(duì) clk 輸入信號(hào)的分頻比由 11 位預(yù)置數(shù) tone[10..0]決定。spkout 的輸出頻率將決定每一音符的音調(diào),這樣分頻計(jì)數(shù)器的預(yù)置數(shù) tone[10..0]與 spkout 的輸出頻率就有了對(duì)應(yīng)關(guān)系。例如在 ydbmq 模塊中取 tone[10..0]=1116,作為發(fā)音符為 “3”音的信號(hào)頻率。 數(shù)控分頻器模塊的 VHDL 源程序: library ieee。 use 。 entity skfpq is port(clk:in std_logic。 tone:in integer range 0 to 2047。 18 spks:out std_logic)。 end。 architecture bhv of is signal preclk:std_logic。 signal fullspks:std_logic。 begin process(clk) variable count4:integer range 0 to 15。 begin preclk=?0?。 if count411 then 將基準(zhǔn)頻率進(jìn)行 12 分頻 preclk=?1?。count4:=0。 elsif clk?event and clk=?1? then count4:=count4+1。 end if。 end process。 process(preclk,tone) variable count11:integer range 0 to 2047。 begin if preclk?event and preclk=?1? then 按分頻系數(shù)進(jìn)行分頻 if count11=2047 then count11:=tone。fullspks=?1?。 else count11:=count11+1。fullspks=?0?。 end if。 end if。 end process。 process(fullspks) variable count2:std_logic。 begin 19 if fullspks?event and fullspks=?1? then count2:=not count2。 if count2=?1? then spks=?1?。 else spks=?0?。 end if。 end if。 end process。 end。 數(shù)控分頻器模塊的仿真圖 圖 38 數(shù)控分頻器模塊的仿真圖 在此仿真圖中,輸入 clk 是一個(gè)頻率較大的時(shí)鐘信號(hào),輸入 tone 代表著某個(gè)音符的分頻初始值,輸出 spks 則代表將輸入 clk 先經(jīng)過(guò) 12 次分頻,再經(jīng)過(guò)(預(yù)置數(shù)終值 2048tone)次分頻,最終再進(jìn)行二分頻處理,而這個(gè)信號(hào)的頻率就是我們需要演奏的音譜的頻率,根據(jù)頻率的不同,從而能通過(guò)喇 叭聽到不同的聲音,實(shí)現(xiàn)音樂(lè)的播放。 數(shù)控分頻器模塊生成的邏輯器件 20 圖 39 數(shù)控分頻器模塊邏輯器件 頂層原理圖及仿真 頂層原理圖 頂層原理圖,如圖 310 所 示 : 圖 310 頂層模塊原理圖 21 利用 EDA 工具提供的原理圖的方式進(jìn)行輸入,原理圖輸入方法比較容易掌握,而且直觀方便,根據(jù)前幾次設(shè)計(jì)的模塊及生成的邏輯器件可以很方便地把各個(gè)子模塊所生成的邏輯器件組合起來(lái),即將各個(gè)子模塊之間的輸入輸出端、子模塊與整體電路之間的輸入輸出端進(jìn)行正確的硬件連接,進(jìn)行編譯、下載,從而實(shí)現(xiàn)整體功能 。它將音調(diào)發(fā)生器 (ydfsq)模塊、音調(diào)編碼器 (ydbmq)模塊、手動(dòng) \自動(dòng)選擇 (bmux)模塊及數(shù)控分頻器 (skfpq)模塊連接起來(lái)。 頂層原理仿真圖 圖 311 頂層模塊仿真圖 通過(guò)仿真波形圖可以看到,輸入端 rst 為復(fù)位端,當(dāng)其值為 1 時(shí),輸出端均為 0, cs 為手動(dòng)、自動(dòng)選擇端, cs 為 1 時(shí)手動(dòng)演奏即輸出端與 d0 的值相同, cs為 0 時(shí)自動(dòng)演奏即輸出端與 d1 的值相同,也就是演奏已存入的固定樂(lè)曲;與此同時(shí)進(jìn)行手動(dòng)演奏和自動(dòng)演奏時(shí),數(shù)碼管上即 yinf和 gdyin 的輸出同時(shí)能顯示出音符的數(shù)和高低 音的種類。 從仿真圖中得知所設(shè)計(jì)的原理圖符合本設(shè)計(jì)要求,可以進(jìn)行下載 。 22 第四章 總結(jié) 過(guò)本次畢業(yè)設(shè)計(jì),從實(shí)際應(yīng)用方面深刻體會(huì)了 VHDL 設(shè)計(jì)的優(yōu)勢(shì),通過(guò)強(qiáng)大的 EDA 工具和硬件描述語(yǔ)言使演奏電路很易實(shí)現(xiàn)。并且通過(guò)此次設(shè)計(jì)讓我們把課本中的知識(shí)系統(tǒng)的聯(lián)系起來(lái),更加體會(huì)到模塊式設(shè)計(jì)的方法所帶來(lái)的方便和明了化。通過(guò)模塊式的方法,可以將復(fù)雜的總程序分成幾個(gè)模塊各自分工執(zhí)行,獨(dú)立工作互不干擾。然后通過(guò)原理圖將各個(gè)模塊直接相連,或者用元件例化的方式,用 VHDL 語(yǔ)言進(jìn)行描述,達(dá)到了統(tǒng)一化管理各個(gè)模塊的作用。 通過(guò)查找資料 ,與同學(xué)交流增強(qiáng)了我們自主學(xué)習(xí)的能力;了解到了聲音音譜的發(fā)生規(guī)律,信號(hào)的頻率與聲音的關(guān)系,并且通過(guò)對(duì)基準(zhǔn)頻率的分頻,來(lái)生成不同的聲譜。從設(shè)計(jì)方面得知,在進(jìn)行設(shè)計(jì)時(shí),應(yīng)首先對(duì)各方面的資料進(jìn)行綜合,在基本原理的范圍內(nèi)進(jìn)行模塊式的分解和綜合,最后達(dá)到設(shè)計(jì)的需求。 這次設(shè)計(jì)使我對(duì) quartusⅡ 的運(yùn)用更加靈活,熟悉了對(duì)該軟件從工程建立到程序下載執(zhí)行各個(gè)步驟的操作,對(duì)以前學(xué)習(xí)上的不足得到了補(bǔ)充。 總之,這次設(shè)計(jì)讓我們學(xué)到了很多知識(shí),為我們以后的學(xué)習(xí)奠定了基礎(chǔ)。 23 致 謝 彈指一揮間,大學(xué)生活 已經(jīng)快要接近尾聲。當(dāng)自己懷著忐忑不安的心情完成這篇畢業(yè)論文的時(shí)候,自己也從四年前的懵懂變成了現(xiàn)在的成熟。 在此論文完成期間我感觸很大,通過(guò)畢業(yè)設(shè)計(jì)增強(qiáng)對(duì) VHDL 語(yǔ)言及可編程邏輯器件的了解和應(yīng)用,以及復(fù)習(xí)鞏固 EDA 知識(shí),也明白了團(tuán)隊(duì)合作的重要性,冥冥之中也增強(qiáng)了同學(xué)之間的友誼。 本課題在設(shè)計(jì)過(guò)程中得到陳彬老師的悉心指導(dǎo)。陳老師多次詢問(wèn)設(shè)計(jì)進(jìn)程,并為我指點(diǎn)迷津,幫助我開拓設(shè)計(jì)思路,精心點(diǎn)撥、熱忱鼓勵(lì)。陳老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,深深地感染和激勵(lì)著我,雖歷時(shí)幾個(gè)月,卻給以終生受益無(wú)窮之道 。 在論文即將完成之際,我的心情無(wú)法平靜,從開始進(jìn)入課題到論文的順利的完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,正是由于你們的幫助和支持,我才有信心克服一個(gè)一個(gè)的困難和疑惑,是你們讓我的畢業(yè)設(shè)計(jì)變得生動(dòng)而有意義。 最后感謝四川理工學(xué)院各個(gè)課程老師四年來(lái)對(duì)我的教育培養(yǎng)。你們悉心指導(dǎo)我的理論學(xué)習(xí)與實(shí)踐研究讓我受益無(wú)窮。 此外,我還要對(duì)在這次設(shè)計(jì)中幫助和支持我的同學(xué),表示感謝!
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1