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

正文內(nèi)容

畢業(yè)設計—樂曲硬件演奏電路的eda設計(編輯修改稿)

2025-01-06 20:08 本頁面
 

【文章內(nèi)容簡介】 ( 4) 綜合。綜合的目的是在于將設計的源文件由語言轉(zhuǎn)換為實際的電路。(但是此時還沒有在芯片中形成真正的電路。這一步就好像是把人的腦海中的電路畫成原理圖。 這是我的個人觀點,似乎在好多文獻中都沒有提到 “綜合 ”的準確定義。至少,我讀過的幾本書中就沒有。)這一部的最終目的是生成門電路級的網(wǎng)表( Netlist)。 ( 5 ) 布 局 、 布 線 。 這 一 步 的 目 的 是 生 成 用 于 燒 寫 ( 編 程Programming)的編程文件。在這一步,將用到第 4 步生成的網(wǎng)表并根據(jù)CPLD/FPG 廠商的器件容量,結(jié)構等進行布局、布線。這就好像 在設計PCB 時的布局布線一樣。先將各個設計中的門根據(jù)網(wǎng)表的內(nèi)容和器件的結(jié)構放在器件的特定部位。然后,在根據(jù)網(wǎng)表中提供的各門的連接,把各個門的輸入輸出連接起來。最后,生成一個供編程的文件。這一步同時還會加一些時序信息( Timing)到你的設計項目中去,以便與你做后仿真。 ( 6) 后仿真。這一步主要是為了確定你的設計在經(jīng)過布局布線之后,是不是還滿足你的設計要求。 ( 7) 燒寫器件(編程)。 隨著 EDA 技術的發(fā)展,使用硬件語言設計PLD/FPGA 成為一種趨勢。目前最主要的硬件描述語言是 VHDL 和 Verilog HDL。 VHDL 發(fā)展的較早,語法嚴格,而 Verilog HDL 是在 C 語言的基礎上發(fā)展起來的一種硬件描述語言 ,語法較自由。 VHDL 和 Verilog HDL 兩者相比, VHDL 的書寫規(guī)則比 Verilog 煩瑣一些,但 verilog 自由的語法也容易讓少數(shù)初學者出錯。 國外電子專業(yè)很多會在本科階段教授 VHDL,在研究生階段教授 verilog。從國內(nèi)來看, VHDL 的參考書很多,便于查找資料,而Verilog HDL 的參考書相對較少,這給學習 Verilog HDL 帶來一些困難。 從EDA 技術的發(fā)展上看,已出現(xiàn)用于 CPLD/FPGA 設計的硬件 C 語言編譯軟件,雖然還不成熟,應用極少,但它有可能會成為繼 VHDL 和 Verilog 之后,設計大規(guī)模 CPLD/FPGA 的又一種手段。 應用 VHDL 進行工程設計的優(yōu)點是多方面的 : (1) 與其他的硬件描述語言相比, VHDL 具有更強的行為描述能力,從而決定他成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。 (2) VHDL 豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進 行 仿真模擬。 沈陽工程學院課程設計(論文) 6 (3) VHDL 語句的行為描述能力和程序結(jié)構決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng) 高效, 高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。 (4) 對于用 VHDL 完成的一個確定的設計,可以利用 EDA 工具進行邏輯綜合和優(yōu)化,并自動的把 VHDL 描述設計轉(zhuǎn)變成門級 網(wǎng)表。 (5) VHDL 對設計的描述具有相對獨立性,設計者可以不懂硬件的結(jié)構,也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計 . 任何 新生事物的產(chǎn)生都有它的歷史沿革,早期的硬件描述語言 是以一種高級語言為基礎,加上一些特殊的約定而產(chǎn)生的,目的是為了實現(xiàn) RTL 級仿真,用以驗證設計的正確性,而不必像在傳統(tǒng)的手工設計過程中那樣,必須等到完成樣機后才能進行實測和調(diào)試。 VHDL 就是在用用最廣泛的 C 語言的基礎上發(fā)展起來的一種件描述語言,它是由 GDA(Gateway Design Automation)公司的 PhilMoorby 在 1983 年末首創(chuàng)的,最初只設計了一個仿真與驗證工具,之后又陸續(xù)開發(fā)了相關的故障模擬與時序分析工具。 1985 年 Moorby 推出它的第三個商用仿真器VerilogXL,獲得了巨 大的成功,從而使得 Verilog HDL 迅速得到推廣應用。1989 年 CADENCE 公司收購了 GDA 公司,使得 VerilogHDL 成為了該公司的獨家專利。 1990 年 CADENCE 公司公開發(fā)表了 Verilog HDL,并成立 LVI組織以促進 Verilog HDL 成為 IEEE 標準,即 IEEE Standard 13641995。 VHDL 的最大特點就是易學易用,如果有 C 語言的編程經(jīng)驗,可以在一個較短的時間內(nèi)很快的學習和掌握,因而可以把 Verilog HDL 內(nèi)容安排在與 ASIC 設計等相關課程內(nèi)部進行講授,由于 HDL 語言本身是專門面向硬件與系統(tǒng)設計的,這樣的安排可以使學習者同時獲得設計實際電路的經(jīng)驗。與之相比, VHDL 的學習要困難一些。但 Verilog HDL 較自由的語法,也容易造成初學者犯一些錯誤,這一點要 注意。 沈陽工程學院課程設計(論文) 7 第 3章 樂曲硬件演奏電路 基本要求 利用 FPGA,設計一個樂曲硬件演奏電路。 樂曲的 12 平均率規(guī)定:每 2個八度(如簡譜中的中音 1 與高音 1)之間的頻率相差 1 倍。在 2 個八度音之間,又可分為 12 個半音,每 2 個半音的頻率比為 12√ 2。另外,音符 A的頻率為 440HZ,音符 B 到 C 之間, E 到 F 之間為 半音,其余為全音。 由此可以計算出簡譜中從低音 l 至高音 1 之間每個音符的頻率。 設計音符查找表電路模塊,時鐘模塊,數(shù)控分頻器模塊,音樂節(jié)拍產(chǎn)生模塊電路。 任意選擇歌曲進行設計,但是歌曲前奏必須是中音 5353222 樂曲演奏原理 聲音的頻譜范圍一般在幾十到幾千赫茲,利用程序來控制 FPGA 芯片某個引腳輸出一定頻率的矩形波,接上揚聲器就能發(fā)出相應頻率的聲音。樂曲中的每個音符對應著一定的頻率,因此,想要發(fā)出不同音符的音調(diào),只要能控制輸出相應音符的頻率即可。樂曲都是由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對應 的頻率,就可以往揚聲器上連續(xù)地發(fā)出各個音符的音調(diào)。 音樂頻率和音樂的持續(xù)時間 是音樂演奏的兩個關鍵因素 ,以純硬件完成演奏電路比利用微處理器來實現(xiàn)樂曲演奏要復雜的多,如果不憑借 EDA 工具和硬件描述語言,憑借傳統(tǒng)的數(shù)字邏輯技術,即使最簡單的演奏電路也難以實現(xiàn)。樂曲硬件演奏電路系統(tǒng)主要有數(shù)控分頻器和樂曲存儲模塊組成。數(shù)控分頻器對 FPGA 的基準頻率進行分頻,得到與各個音階對應的頻率輸出。樂曲存儲模塊產(chǎn)生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個樂曲曲譜真值表,由一個計數(shù)器來控制此真值表的輸出,而由計數(shù)器 的計數(shù)時鐘信 號作為樂曲節(jié)拍控制信號。樂曲演奏電路的結(jié)構框圖如下 : 圖 樂曲演奏電路結(jié)構框圖 沈陽工程學院課程設計(論文) 8 ( 1) 音名與頻率的關系 樂曲的 12 平均率規(guī)定:每 2 個八度(如簡譜中的中音 1 與高音 1)之間的頻率相差 1 倍。在 2 個八度音之間,又可分為 12 個半音,每 2 個半音的頻率比為 12√ 2。另外,音符 A 的頻率為 440HZ,音符 B 到 C 之間, E到 F 之間為半音,其余為全音。 由此可以計算出簡譜中從低音 l 至高音 1之間每個音符的頻率。如表 所示: 表 簡譜中的音名與頻率的關系 音名 頻率 /HZ 音名 頻率 /HZ 音名 頻率 /HZ 低音 1 中音 1 高音 1 低音 2 中音 2 高音 2 低音 3 中音 3 高音 3 低音 4 中音 4 高音 4 低音 5 392 中音 5 784 高音 5 1568 低音 6 440 中音 6 880 高音 6 1760 低音 7 中音 7 高音 7 由于音階頻率多為非整數(shù),而分頻系數(shù)又不 能為小數(shù),故必須將得到的分頻系數(shù)四舍五入取整。若基準頻率過低,則由于分頻系數(shù)過小,四舍五入取整后的誤差較大,若基準頻率過高,雖然誤碼差變小,但是分頻結(jié)構將變大。實際的設計應綜合考慮兩方面的因素,在盡量減小頻率誤差的前提下取舍合適的基準頻率。本例中選取 4MHZ 的基準頻率。 各音階頻率計相應的分頻系數(shù)如表 所示。為了減少輸出的偶次諧波分量,最后輸出到揚聲器的波形應為對稱方波,因此在到達揚聲器之前,又經(jīng)過一個 2 分頻的分頻器。表 的分頻系數(shù)就是從 4MHZ 頻率 2 分頻得到的 2MHZ 頻率基礎上計算得出的。 表 各音階頻率對應的分頻表 音名 分頻系數(shù) 初始值 音名 分頻系數(shù) 初始值 音名 分頻系數(shù) 初始值 低音 1 7644 547 中音 1 3822 4369 高音 1 1911 6280 低音 2 6810 1381 中音 2 3405 4786 高音 2 1270 6921 低音 3 6067 2124 中音 3 3034 5157 高音 3 1517 6674 低音 4 5727 2464 中音 4 2864 5327 高音 4 1432 6759 低音 5 5102 3089 中音 5 2551 5640 高音 5 1256 6935 低音 6 4545 3646 中音 6 2273 5918 高音 6 1137 7054 低音 7 4050 4141 中音 7 2025 6166 高音 7 1013 7178 由于最大分頻系數(shù)是 7644,故采用 13 位二進制計數(shù)器已能滿足分頻的要求。在表 中,除了給出了分頻比例外,還給出了對應于各個音階頻率時計數(shù)器不同的初始值,對于樂曲中的休止符,要將分頻系數(shù)設為 0,即初始值位 8191 即可,此時揚聲器將不會發(fā)聲。對于不同的分頻系數(shù),加載沈陽工程學院課程設計(論文) 9 不同的初始值即可。用加載初 始值而不是將分頻輸出譯碼反饋,可以有效地減少成本設計占用可編程邏輯器件的資源,也是同步計數(shù)器一個常用設計技巧。 ( 2)控制音長的節(jié)拍發(fā)生器 該演奏電路演奏的樂曲是“梁?!逼危渥钚〉墓?jié)拍是 1 拍。將 1 拍的時間定為 ,則只需要再提供一個 4HZ 的時鐘頻率即可產(chǎn)生 1 拍的時長,演奏的時間控制通過 ROM 查表得方式完成。對于占用時間較長的節(jié)拍(一定是拍的整數(shù)倍),如全音符為 4 拍(重復 4 次) ,2/4 音符為 2 拍(重復 2 次), 1//4 音符為 1 拍(重復 1 次)。 要求演奏時能循環(huán)進行,因此需要另外設置一個時長計數(shù)器,當樂 曲演奏完成時,保證能自動從頭開始演奏。該計數(shù)器控制真值表按順序輸出簡譜。 樂曲硬件演奏電路的層次化設計方案 根據(jù)層次化的設計思路,可把樂曲硬件演奏電路分為 3 個模塊,音樂節(jié)拍發(fā)生器 NoteTabs 模塊 ,音符譯碼電路 ToneTaba 模塊,數(shù)控分頻模塊( Speakera)。 音樂節(jié)拍發(fā)生器 NoteTabs 該模塊將利用 FPGA 的片內(nèi) POM 存放樂曲簡譜真值表,該計數(shù)器的計數(shù)頻率為 4HZ,即每一個數(shù)值的停留時間為 ,隨著 NoteTabs 中計數(shù)器按4HZ 的時鐘頻率做加法計數(shù)時,樂符數(shù)據(jù) 轉(zhuǎn) 向音符 譯碼電路 ToneTaba,所以所存的樂曲就自然的演奏起來。 其 VHDL 源程序如下: LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY NoteTabs IS PORT ( clk : IN STD_LOGIC。 ToneIndex : OUT INTEGER RANGE 0 TO 15 )。 END。 ARCHITECTURE one OF NoteTabs IS SIGNAL Counter : INTEGER RANGE 0 TO 145。 BEGIN CNT8 : PROCESS(clk) 沈陽工程學院課程設計(論文) 10 BEGIN IF Counter = 138 THEN Counter = 0。 ELSIF (clk39。EVENT AND clk = 39。139。) THEN Counter = Counter + 1。 END IF。 END PROCESS。 Search : PROCESS(Counter) BEGIN CASE Counter IS 譯碼器,查歌曲的樂譜表,查表結(jié)果為音調(diào)表的索引值 WHEN 00 = ToneIndex = 5。 WHEN 01 = ToneIndex = 3。 WHEN 02 = ToneIndex = 5。 WHEN 03 = ToneIndex = 3。 WHEN 04 = ToneIndex = 2。 WHEN 05 = ToneIndex =
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1