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

正文內(nèi)容

基于vhdl樂(lè)曲發(fā)生器的設(shè)計(jì)說(shuō)明書-文庫(kù)吧資料

2025-05-15 18:56本頁(yè)面
  

【正文】 舒 立 2021 年 6 月 24 參考文獻(xiàn) [1].Voknei .《 VHDL 數(shù)字電路設(shè)計(jì)教程》 .電子工業(yè)出版社, [2].潘松,黃繼業(yè) .《 EDA 技術(shù)實(shí)用教程》(第二版) .科學(xué)出版社, [3].焦素敏 .《 EDA 應(yīng)用技術(shù)》 .清華大學(xué)出版社, [4].徐向民 .《數(shù)字系統(tǒng)設(shè)計(jì)及 VHDL 實(shí)踐》 .機(jī)械工業(yè)出版社, [5].劉江海 .《 EDA 技術(shù)畢業(yè)設(shè)計(jì)》 .華中科技大學(xué)出版社, 25 附 錄 音調(diào)發(fā)生器模塊 library ieee。 最后感謝四川理工學(xué)院各個(gè)課程老師四年來(lái)對(duì)我的教育培養(yǎng)。陳老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,深深地感染和激勵(lì)著我,雖歷時(shí)幾個(gè)月,卻給以終生受益無(wú)窮之道 。 本課題在設(shè)計(jì)過(guò)程中得到陳彬老師的悉心指導(dǎo)。當(dāng)自己懷著忐忑不安的心情完成這篇畢業(yè)論文的時(shí)候,自己也從四年前的懵懂變成了現(xiàn)在的成熟。 總之,這次設(shè)計(jì)讓我們學(xué)到了很多知識(shí),為我們以后的學(xué)習(xí)奠定了基礎(chǔ)。從設(shè)計(jì)方面得知,在進(jìn)行設(shè)計(jì)時(shí),應(yīng)首先對(duì)各方面的資料進(jìn)行綜合,在基本原理的范圍內(nèi)進(jìn)行模塊式的分解和綜合,最后達(dá)到設(shè)計(jì)的需求。然后通過(guò)原理圖將各個(gè)模塊直接相連,或者用元件例化的方式,用 VHDL 語(yǔ)言進(jìn)行描述,達(dá)到了統(tǒng)一化管理各個(gè)模塊的作用。并且通過(guò)此次設(shè)計(jì)讓我們把課本中的知識(shí)系統(tǒng)的聯(lián)系起來(lái),更加體會(huì)到模塊式設(shè)計(jì)的方法所帶來(lái)的方便和明了化。 從仿真圖中得知所設(shè)計(jì)的原理圖符合本設(shè)計(jì)要求,可以進(jìn)行下載 。它將音調(diào)發(fā)生器 (ydfsq)模塊、音調(diào)編碼器 (ydbmq)模塊、手動(dòng) \自動(dòng)選擇 (bmux)模塊及數(shù)控分頻器 (skfpq)模塊連接起來(lái)。 數(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ò)喇 叭聽(tīng)到不同的聲音,實(shí)現(xiàn)音樂(lè)的播放。 end process。 end if。 if count2=?1? then spks=?1?。 process(fullspks) variable count2:std_logic。 end if。fullspks=?0?。fullspks=?1?。 process(preclk,tone) variable count11:integer range 0 to 2047。 end if。count4:=0。 begin preclk=?0?。 signal fullspks:std_logic。 end。 tone:in integer range 0 to 2047。 use 。例如在 ydbmq 模塊中取 tone[10..0]=1116,作為發(fā)音符為 “3”音的信號(hào)頻率。 skfpq 對(duì) clk 輸入信號(hào)的分頻比由 11 位預(yù)置數(shù) tone[10..0]決定。 手動(dòng) \自動(dòng)選擇模塊生成的邏輯器件 圖 37 手動(dòng) \自動(dòng)選擇模塊生成的邏輯器件 數(shù)控分頻器模塊 數(shù)控分頻器模塊的功能 該模塊的 clk 端輸入一個(gè)具有較高頻率(本實(shí)驗(yàn)為 12MHz)的信號(hào) ,通過(guò)skfpq 分頻后由 spkout 輸出。 end。 end if。 選擇自動(dòng)演奏 when others=q=d1。 else case cs is when ?0?=q=d1。 end。 cs,rst:in std_logic。 use 。以上提到的手動(dòng)與自動(dòng)的選擇只能在 rst 為 0 時(shí)有效。于是,可通過(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)控制不同的音符。通過(guò)仿真圖可以清楚地看到結(jié)果。 end 。 end case。code1=2。 when 15=tone=1728。code=5。code1=1。 when10=tone=1542。code=2。code1=1。 when 8=tone=1410。code=7。code1=0。 when 6=tone=1290。code=5。code1=0。 when 4=tone=1116。code=3。code1=0。 when 2=tone=912。code=1。code1=0。 architecture bhv of ydbmq is begin process(index) begin 為個(gè)音符賦初始值以便進(jìn)行分頻 case index is when 0=tone=2047。 tone:out integer range 0 to 2047)。 code:out integer range 0 to 15。 use 。 音調(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)行分頻,得到所需的頻率。然后把輸出 toneindex 輸入到音調(diào)編碼器模塊,進(jìn)行下一步編碼工作。例如在本次設(shè)計(jì)中,自第 4 個(gè)時(shí)鐘上升沿來(lái)臨到第 7 個(gè)時(shí)鐘上升沿,輸出 toneindex “1”。 13 end。 end case。 when 4 to 7|44 to 47=toneindex=1。 when 40 to 43|52 to 55=toneindex=4。 when 12 to 19=toneindex=6。 process(counter) begin case counter is 將讀取的音符譜輸出 when 0 to 3|60 to 63=toneindex=3。 end if。 讀取音符譜 中的音符 begin process(clk,counter) begin if counter=63 then counter=0。 end。 庫(kù)的聲明 entity ydfsq is port(clk:in std_logic。 音調(diào)發(fā)生器模塊 VHDL 源程序如下 : 基準(zhǔn)時(shí)鐘 12MHz 模式選擇 auto 手動(dòng) 輸入 FPGA 時(shí)鐘電路 數(shù)控分頻器 電路 音樂(lè)節(jié)拍 產(chǎn)生電路 音調(diào)編碼電路 4Hz 12MHz 揚(yáng)聲器 數(shù)碼管 12 library ieee。例如, ydfsq 在以下的 VHDL 邏輯描述中,“月光 ”樂(lè)曲的第一個(gè)音符為 “3”,此音在邏輯中停留了 4 個(gè)時(shí)鐘節(jié)拍,即為 1s 時(shí)間,相應(yīng)地所對(duì)應(yīng) “3”音符分頻預(yù)置數(shù)為 1036 在 skfpq 的輸入端停留了 1s。 樂(lè)曲演奏電路各模塊設(shè)計(jì) 本次設(shè)計(jì)樂(lè)曲演奏電路結(jié)構(gòu)方框圖如圖 31 所示: 圖 31 樂(lè)曲演奏電路結(jié)構(gòu)方框圖 樂(lè)曲演奏電路的子結(jié)構(gòu) 頂層結(jié)構(gòu)所包含的模塊分別有音調(diào)發(fā)生器 (ydfsq)模塊、音調(diào)編碼器 (ydbmq)模塊、手動(dòng) \自動(dòng)選擇 (bmux)模塊及數(shù)控分頻器 (skfpq)模塊。 初始值的選取 D 初始值 D = 計(jì)數(shù)最大值 N 分頻系數(shù) n 此次 設(shè)計(jì)中應(yīng)用的各音名對(duì)應(yīng)的分頻系數(shù)值及初始值如表所示: 表 32 各音名對(duì)應(yīng)的分頻系數(shù)值及初始值 音符 初始值 對(duì)應(yīng)音譜 區(qū)別高中低音 0 2047 0 0 1 773 1 0 2 912 2 0 3 1036 3 0 4 1116 4 0 5 1197 5 0 6 1290 6 0 7 1372 7 0 8 1410 1 1 9 1480 2 1 10 1542 3 1 12 1622 5 1 15 1728 1 2 ( 3)《月光》的音符譜為: 3; 3; 3; 3; 1; 1; 1; 1; 5; 5; 5; 5; 6; 6; 6; 6; 6; 6; 6; 6; 5; 5;5; 5; 2; 2; 2; 2; 4; 4; 4; 4; 1; 1; 1; 1; 2; 2; 2; 2; 4; 4; 4; 4; 1; 1;1; 1; 2; 2; 2; 2; 4; 4; 4; 4; 7; 7; 7; 7; 3; 3; 3; 3; 0 11 該演奏電路的最小節(jié)拍為 1 拍,將一拍的時(shí)長(zhǎng)定為 ,則只需要再提 供一個(gè) 4Hz 的時(shí)鐘頻率即可產(chǎn)生一拍的時(shí)長(zhǎng)。 n 進(jìn)制計(jì)數(shù)器可用復(fù)位法或置位法實(shí)現(xiàn),由于加載初始值 d 的置位法可有效地減少設(shè)計(jì)所占用的可編程邏輯器件資源,因此,此次設(shè)計(jì)采用置位法。即先進(jìn)行分頻系數(shù) n 的分頻,得到不對(duì)稱方波,然后再 2 分頻得到對(duì)稱方波。而占空比很小的方波很難使揚(yáng)聲器有效地發(fā)出聲響。 ( 2)分頻系數(shù) A、公用二進(jìn)制的計(jì)數(shù)容量 N 及初始值的選取 D 分頻系數(shù)的選取 首先將 12MHz的基準(zhǔn)頻率進(jìn)行 12 分頻,得到 1MHz的基準(zhǔn)頻率,分頻系數(shù) A= 1MHz/音名頻率,此分頻系數(shù)可由計(jì)數(shù)器實(shí)現(xiàn)。這是由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小 數(shù),故必須將得到的分頻系數(shù)四舍五入取整,若基準(zhǔn)頻率過(guò)低,則由于分頻系數(shù)過(guò)小,四舍五入取整后的誤差較大,若基準(zhǔn)頻率過(guò)高,雖然誤碼差較小,但分頻結(jié)構(gòu)將變大,實(shí)際的設(shè)計(jì)應(yīng)綜合考慮兩方面的因素,在盡量減小頻率差的前提下取舍合適的基準(zhǔn)頻率。另外,音名 A(樂(lè)譜中的低音 6)的頻率為 440HZ,音名 B 到 C 之間, E 到 F 之間為半音,其余為全音。 9 第三章 基于 VHDL 的自動(dòng)樂(lè)曲發(fā)生器的設(shè)計(jì)過(guò)程 原理描述 根據(jù)聲樂(lè)知識(shí),產(chǎn)生音樂(lè)的兩個(gè)因素是音樂(lè)頻率的持續(xù)時(shí)間,音樂(lè)的十二平均率規(guī)定,每 兩個(gè)八音度之間的頻率相差一倍,在兩個(gè)八音度之間,又可分為12 個(gè)半音。在系統(tǒng)不加電時(shí),編程數(shù)據(jù)存儲(chǔ)在 EPROM、硬盤、或軟盤中。用下載電纜編程的器件,只要先將器件裝焊在印刷電路板上,通過(guò) PC, SUN 工作站、 ATE(自動(dòng)測(cè)試儀 )或嵌入式微處理器系統(tǒng),就能產(chǎn)生編程所用的標(biāo)準(zhǔn) 5V, 或 邏輯電平信號(hào),也稱為 ISP ( In System Programmable)方式編程,其調(diào)試和維修也很方便?;?EEPROM 內(nèi)存技術(shù)的可編程邏輯芯片能夠重復(fù)編程 100 次以上,系統(tǒng)掉電后編程信息也不會(huì)丟失。 CPLD 和 FPGA 建立內(nèi)部可編程邏輯連接關(guān)系的編程技術(shù)有三種 :基于反熔絲技術(shù)的器件只允許對(duì)器件編程一次,編程后不能修改。 FPGA 通常由布線資 源分隔的可編程邏輯單元 (或宏單元 )構(gòu)成數(shù)組,又由可編程 I/O單元圍繞 數(shù)組構(gòu)成整個(gè)芯片。但功耗比較大。復(fù)雜可編 程邏輯器件 CPLD 是由 PAL ( Programmable Array Logic,可編程數(shù)組邏輯 )或 GAL ( Generic Array Logic,通 用數(shù)組邏輯 )發(fā)展而來(lái)的。目前比較常見(jiàn)的是 Altera 公司的 MaxPlus II 和Xilinx 公司的 ISE 開(kāi)發(fā)平臺(tái)。 目前有多種 EDA 工具支持采用 VHDL 進(jìn)行電路綜合、仿真以及實(shí)現(xiàn)。 VHDL 采用基于庫(kù)( Library)的設(shè)計(jì)方法,可以建立各種可再次利用的模塊。當(dāng)設(shè)計(jì)描述完成后,可以用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)其功能。 (4)獨(dú)立于器件的設(shè)計(jì)、與工藝無(wú)關(guān)。另外, VHDL 支持慣性延遲和傳輸延遲,還可以準(zhǔn)確地建立硬件電路模型。 VHDL 具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級(jí)電路,又可以描述門級(jí)電路。在硬件電路設(shè)計(jì)過(guò)程中,主要的設(shè)計(jì)文件是用 VHDL 編寫的源代碼,因?yàn)?VHDL 易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。 (2)支持廣泛、易于修改。 VHDL 支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì),這是其他硬件描述語(yǔ)言雖不能比擬的。 VHDL 具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu),可以用簡(jiǎn)潔明確的源代碼來(lái)描述 復(fù)雜的邏輯控制。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1