版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、摘要隨著微電子技術、集成技術和計算機技術的迅速開展,電子線路數(shù)字化已經(jīng)成為一個開展趨勢,數(shù)字化電子系統(tǒng)的設計方法和手段發(fā)生了很大的變化。EDA 技術主要包括三個局部:大規(guī)模的可編程邏輯器件,軟件開發(fā)工具和輸入方式??删幊踢壿嬈骷且环N由用戶編程來實現(xiàn)各種邏輯功能的新型邏輯器件,主要包括 FPGA 和 CPLD 兩大類。軟件開發(fā)工具有 Altera 的 MAX+plus 、Lattice 的 ispLEVER、Xilinx 的 Foundation Series 等。常用的硬件描述語言有 VHDL 語言、Verilog 語言和 ABEL 語言。由于科學技術的開展,基于 EDA 技術的設計方法也成
2、為現(xiàn)代電子系統(tǒng)設計的主流。特別是可編程邏輯器件的功能和容量的不斷擴大,如FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)使集成電路的設計進入片上系統(tǒng)(System on a Chip,SOC)或可編程片上系統(tǒng)(System on a Programmable Chip,SOPC)的設計時代。同時采用超高速集成電路硬件描述語言VHDL (Very High Speed Integrated Circuit Hardware Description Language),其具有多層次描述系統(tǒng)硬件功能的能力,既支持模塊化設計,也支持層次化設計,使各種數(shù)字化電子系
3、統(tǒng)的設計通過描述芯片功能實現(xiàn)系統(tǒng)功能,從而有效地縮短了產(chǎn)品開發(fā)周期,減少了設計芯片的數(shù)量,縮小了系統(tǒng)體積,降低了系統(tǒng)能耗,提高了系統(tǒng)的靈活性和可靠性。關鍵詞關鍵詞 FPGA, 音樂節(jié)拍發(fā)生器模塊,音樂譯碼電路模塊,數(shù)控分頻模塊 AbstractWith microelectronics technology, integrated technology and the computer technology rapid development, electronic circuit of digital has become a development trend, and the metho
4、d and means of digital electronic system design have great changes, too . EDA technology mainly includes three parts: large-scale programmable logic devices, software development tools and input methods. Programmable logic devices is a new logic devices by coming true all kinds of logic function, in
5、cluding the FPGA and CPLD . A software development tool includes Altera MAX + plus , Lattice of ispLEVER, Xilinx of Foundation Series, and so on. Common hardware description language have VHDL language, Verilog language and ABEL language.Due to the development of science and technology, the design m
6、ethod which is based on EDA has become the mainstream of the modern electronic system design. Especially the function and capacity of Programmable logic devices continues to expand, such as FPGA (Field Programmable Gate Array) make integrated circuit design into the Chip System (System on a Chip, SO
7、C) or Programmable Chip System (System on a Programmable Chip, SOPC) design era. At the same time the ultra-high Speed Integrated Circuit Hardware Description Language VHDL (Very High Speed Integrated Circuit Hard-ware Description Language), it has the ability that multi-level describe system hardwa
8、re, supports both modular design, also support the hierarchical design, make all kinds of digital electronic system design through describing chip functions to come true the system function, so cut short product development cycle, reduce the number of chip design, the system volume and the energy co
9、nsumption of system, and improve the flexibility and reliability of the system.Keywords FPGA, the music rhythm generator module, music decoder circuit module ,numerical control points frequency modules目 錄摘要.IABSTRACT .II1 引言.11.1 可編程專用集成電路 ASIC.11.1.1 概述.11.1.2 主要特點.11.1.3 開展前景.11.2 EDA 技術 .11.2.1 概
10、述.11.2.2 EDA 技術的開展趨勢.22 樂曲演奏系統(tǒng)設計原理分析.32.1 樂曲演奏根本要求.32.2 樂曲演奏原理.32.3 音符頻率的獲得.42.4 音符編碼的設計分析.52.5 控制音長的節(jié)拍發(fā)生器.63 系統(tǒng)硬件設計.73.1 FPGA 的介紹 .73.2 FLEX 系列的結構特點.73.2.1 概述.73.2.2 FLEX 的特點.74 樂曲硬件演奏電路的層次化設計方案.94.1 音樂節(jié)拍發(fā)生器 NOTETABS.94.2 音符譯碼電路 TONETABA模塊.114.3 數(shù)控分頻模塊 SPEAKERA設計.134.4 樂曲硬件演奏電路的頂層設計和仿真.15總結.18致謝.19
11、參考文獻.20附錄 1 程序清單.21附錄 2 梁祝簡譜.291 引言1.1 可編程專用集成電路 ASIC1.1.1 概述可編程 ASIC 包括簡單可編程 ASIC 和復雜可編程 ASIC ?,F(xiàn)場可編程 ASIC 主要是指現(xiàn)場可編程門陣列 FPGA,它是與傳統(tǒng) PLD 不同的一類可編程 ASIC。它類似于半定制門陣列的通用結構,即由邏輯功能排列成的陣列組成,并由可編程的互連資源連接這些邏輯功能塊來實現(xiàn)所需的設計。從某種意義上說,F(xiàn)PGA 是一種將門陣列的通用結構與PLD 的現(xiàn)場可編程性融于一體的新型器件,具有集成度高、通用性好、設計靈活、編程方便、產(chǎn)品上市快等多方面的優(yōu)點。.2 主要特點.3
12、開展前景1.為迎接系統(tǒng)級芯片時代,向密度更高、速度更快、頻帶更寬的百萬門方向開展5.為了方便用戶設計和特殊功能應用,向嵌入通用或標準功能模塊方向開展6.為了適應全球環(huán)保潮流,向低電壓低功耗的綠色元件方向開展1.2 EDA 技術.1 概述EDA(Electronic Design Automation)即電子設計自動化,EDA 技術指的是以計算機硬件和系統(tǒng)軟件為根本工作平臺,繼承和借鑒前人在電路和系統(tǒng)、數(shù)據(jù)庫、圖形學、圖論和拓撲邏輯、計算數(shù)學、優(yōu)化理論等多學科的最新科學技術成果而研制成的商品化通用支撐軟件和應用程序包。EDA 旨在幫助電子工程師在計算機上完成電路的功能設計、邏輯設計、性能分析、時
13、序測試直至 PCB印刷電路板的自動設計。EDA 技術根本特征:1.“自頂向下的設計方法 2.硬件描述語言 3.邏輯綜合優(yōu)化 4.開放性和標準化 5.庫Library的引入1.2.2 EDA 技術的開展趨勢1. 軟件開發(fā)工具的開展趨勢(1)具有混合信號處理能力的 EDA 工具(2).有效的仿真工具的開展(3).理想的設計綜合工具的開發(fā)(1).輸入方式簡便化趨勢(2).輸入方式高效化和統(tǒng)一化趨勢 2 樂曲演奏系統(tǒng)設計原理分析 樂曲演奏根本要求利用 FPGA,設計一個樂曲硬件演奏電路。演奏時可選擇鍵盤輸入樂曲或者已存入的樂曲,并配以一個小揚聲器。樂曲的 12 平均率規(guī)定:每 2 個八度音(如簡譜中的
14、中音 1與高音 1)之間的頻率相差 1 倍。在 2 個八度音之間,又可分為 12 個半音,每 2 個半音的頻率比為(1.059463)。另外,音符 A(簡譜中的低音 6)的頻率為 440Hz,音符 B 到 C122之間、E 到 F 之間為半音,其余為全音。由此可以計算出簡譜中從低音 l 至高音 1 之間每個音符的頻率。設計音符查找表電路模塊,時鐘模塊,數(shù)控分頻器模塊,音樂節(jié)拍產(chǎn)生模塊電路。任意選擇歌曲進行設計,并加前奏 5353111。 樂曲演奏原理聲音的頻譜范圍一般在幾十到幾千赫茲,利用程序來控制 FPGA 芯片某個引腳輸出一定頻率的矩形波,接上揚聲器就能發(fā)出相應頻率的聲音。樂曲中的每一個音
15、符對應著一個確定的頻率,因此,要想發(fā)出不同音符的音調(diào),只要能控制輸出相應音符的頻率即可。樂曲都是由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對應的頻率,就可以往揚聲器上連續(xù)地發(fā)出各個音符的音調(diào) 。而要準確地演奏出一首樂曲,僅僅讓揚聲器能夠發(fā)聲是不夠的,還必須準確地控制樂曲的節(jié)奏,即每個音符的持續(xù)時間,也就是節(jié)拍。設計的關鍵是要準確地產(chǎn)生樂曲中每個音符的發(fā)音頻率,并根據(jù)樂曲要求按音符需要的節(jié)拍輸出,這是樂曲能夠演奏的兩個關鍵因素,但是以純硬件完成演奏電路比利用微處理器來實現(xiàn)樂曲演奏要復雜的多,如果不憑借 EDA 工具和硬件描述語言,憑借傳統(tǒng)的數(shù)字邏輯技術,即使最簡單的演奏電路也難以實
16、現(xiàn)。樂曲硬件演奏電路系統(tǒng)主要有數(shù)控分頻器和樂曲存儲模塊組成。數(shù)控分頻器對 FPGA 的基準頻率進行分頻,得到與各個音階對應的頻率輸出。樂曲存儲模塊產(chǎn)生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個樂曲曲譜真值表,由一個計數(shù)器來控制此真值表的輸出,而由計數(shù)器的計數(shù)時鐘信號作為樂曲節(jié)拍控制信號。樂曲演奏電路的結構框圖如下所示:基準時鐘模式選擇手動輸入時鐘電路音樂節(jié)拍產(chǎn)生電路數(shù)控分頻器電路查符查表電路圖 2.1 樂曲演奏電路結構方框圖 音符頻率的獲得音樂的 12 平均率規(guī)定:每 2 個八度音(如簡譜中的中音 1 與高音 1)之間的頻率相差1 倍。在 2 個八度音之間,又可分為 12 個半音,每 2
17、個半音的頻率比為(1.059463)。122另外,音符 A(簡譜中的低音 6)的頻率為 440Hz,音符 B 到 C 之間、E 到 F 之間為半音,其余為全音。由此可以計算出簡譜中從低音 l 至高音 1 之間每個音符的頻率。如表所示:表 簡譜中的音名與頻率的關系音名頻率/Hz音名頻率/Hz音名頻率/Hz低音 1中音 1高音 1低音 2中音 2高音 2低音 3中音 3高音 3低音 4中音 4高音 4低音 5中音 5高音 5低音 6440中音 6880高音 61760低音 7中音 7高音 7 由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻系數(shù)四舍五入取整。假設基準頻率過低,那么
18、由于分頻系數(shù)過小,四舍五入取整后的誤差較大,假設基準頻率過高,雖然誤碼差變小,但分頻結構將變大。實際的設計應綜合考慮兩方面的因素,在盡量減小頻率誤差的前提下取舍適宜的基準頻率。本例中選取 4MHz 的基準頻率,再對 4MHz 通過數(shù)控分頻器將根據(jù)高、中、低音音符編碼分頻成各音符所需要的聲音頻率的 2 倍,由于數(shù)控分頻器輸出的波形是脈寬極窄的脈沖波,為減小輸出偶次諧波分量和更好的驅動揚聲器發(fā)聲,最后在到達揚聲器之前再進行一次二分頻,從而生成各音符對應頻率的方波輸出,以成功完成樂曲演奏的功能。各音階頻率計相應的分頻系數(shù)如表 2.2 所示。表 2.2 中的分頻系數(shù)就是從 4MHz 頻率2 分頻得到的
19、 2MHz 頻率根底上計算得出的。分頻系數(shù)與頻率關系如下:音階頻率分頻系數(shù)z2MH 表 2.2 各音階頻率對應的分頻值音名分頻系數(shù)初始值音名分頻系數(shù)初始值音名分頻系數(shù)初始值C 低音 17644547中音 137584433高音 119116280D 低音 268101381中音 234054786高音 217036488E 低音 360672124中音 330345157高音 315176674F 低音 457272464中音 428635328高音 414326759G 低音 551023089中音 525515640高音 512766915A 低音 645453646中音 62273591
20、8高音 611367055B 低音 740504141中音 720256166高音 710127179由于最大分頻系數(shù)為 7644,故采用 13 位二進制計數(shù)器已能滿足分頻要求。由此我們計算出各音階的初值,初值計算方法如下所示:計數(shù)器采用 13 位分頻系數(shù)初值132在表 2.2 中,除了給出了分頻比以外,給出了對應于各個音階頻率時計數(shù)器不同的初始值,對于樂曲中的休止符,要將分頻系數(shù)設為 0,即初始值為 8191 即可,此時揚聲器將不會發(fā)聲。對于不同的分頻系數(shù),加載不同的初始值即可。用加載初始值而不是將分頻輸出譯碼反應,可以有效地減少本錢設計占用可編程邏輯器件的資源,也是同步計數(shù)器地一個常用設計
21、技巧。 音符編碼的設計分析 在動態(tài)顯示樂曲演奏器的設計中,采用音符編碼輸出的方式,即樂曲中每一個高、中、低音音符對應著不同的編碼,由編碼確定對應音符的輸出頻率,同時控制編碼輸出的速度,決定音符的持續(xù)時間,也就是控制每個音符在樂曲中的節(jié)拍,從而到達樂曲演奏的目的,與此同時可以根據(jù)動態(tài)輸出的編碼來確定顯示演奏樂曲的高、中、低音調(diào)及音符。各音符對應的 13 位編碼如下表所示。表 各音階頻率對應的 13 位編碼音名預置數(shù)音名預置數(shù)音名預置數(shù)C 低音 10001000100011中音 1高音 1D 低音 2中音 2高音 2E 低音 3中音 3高音 3F 低音 4中音 4高音 41101001100111
22、G 低音 5中音 5高音 5A 低音 6中音 6高音 6B 低音 7中音 7高音 72.5 控制音長的節(jié)拍發(fā)生器該演奏電路演奏的樂曲是“梁祝片段,其最小的節(jié)拍為 1 拍。將 1 拍的時長定為0.25s,那么只需要再提供一個 4Hz 的時鐘頻率即可產(chǎn)生 1 拍的時長,演奏的時間控制通過 ROM 查表的方式來完成。對于占用時間較長的節(jié)拍一定是拍的整數(shù)倍 ,如全音符為 4 拍(重復 4),2/4 音符為 2 拍重復 2 ,1/4 音符為 1 拍重復 1 。要求演奏時能循環(huán)進行,因此需另外設置一個時長計數(shù)器,當樂曲演奏完成時,保證能自動從頭開始演奏。該計數(shù)器控制真值表按順序輸出簡譜。3 系統(tǒng)硬件設計
23、FPGA 的介紹現(xiàn)場可編程門陣列FPGA在結構上由邏輯功能塊排列為陣列,并由可編程的內(nèi)部連線連接這些功能塊,來實現(xiàn)一定的邏輯功能。FPGA 的功能由邏輯結構的配置數(shù)據(jù)決定,在工作時,這些配置數(shù)存放在片內(nèi)的 SRAM 或者熔絲圖上。使用 SRAM 的 FPGA,在工作前需要從芯片外部加載配置數(shù)據(jù),這些配置可以存放在片外的 EPROM 或其他存儲體上,人們可以控制加載過程,在現(xiàn)場修改器件的邏輯功能。FPGA 可以替代其他 PLD 器件或者各種中小規(guī)模數(shù)字邏輯芯片在數(shù)字系統(tǒng)中廣泛應用。FPGA 也是實現(xiàn)各種不同邏輯功能ASIC 的有效方法。FPGA 是進行原型設計最理想的載體,原型機的最初框架和是實
24、現(xiàn)通過 FPGA 驗證,可以降低本錢、縮短開發(fā)周期。利用 FPGA 的可重配置功能,可以在使用過程中,在不改變設計的設備的硬件電路情況下,改變設備功能。APEX系列器件的結構特征是查找表LUT和嵌入式存放器;Mercury 系列器件基于查找表結構,其特征是具有時鐘數(shù)據(jù)恢復和一個性能優(yōu)化的核;Excalibur 的結果特征是基于 ARM 和基于 MIPS 的硬核微處理器。每種器件系列針對具體的應用都具有各自的特點。3.2 FLEX 系列的結構特點 概述FLEX 系列是 Altera 公司推出的主流產(chǎn)品,具有高密度、在線配置、高速度與連續(xù)式布線結構等特點。它的集成度到達了 10 萬門級,而且,它還
25、是業(yè)界首次集成了嵌入式陣列模塊 EAB 的芯片。5392 個存放器;采用 0.5umCMOS SRAM 工藝制造;具有在系統(tǒng)可配置特性;在所有 I/O 端口中有 I/O 存放器;3.3V 或 5.0V 工作模式。所謂 EAB,實際上是一種大規(guī)模的 SRAM 資源,它可以方便地被設置為 RAM、ROM、FIFO 以及雙口RAM 等存儲器。EAB 的出現(xiàn)極大地拓展了 PLD 芯片的應用領域。 FLEX 的特點1高密度,典型門數(shù)達 10000250000,邏輯單元數(shù)為 57612160.2功能更強大的 I/O 口引腳,每一個引腳都是獨立的三態(tài)門結構,具有可編程的速率控制。3嵌入式陣列塊EAB ,每個
26、 EAB 提供 2K 比特位,可用來作存儲器使用或用來實現(xiàn)邏輯功能。4邏輯單元采用查找表LUT結構。5采用連續(xù)式的快速通道互連,可精確預測信號在器件內(nèi)部的延時。6實現(xiàn)快速加法器和計數(shù)器的專用進位鏈。7實現(xiàn)高速、多輸入邏輯函數(shù)的專用級聯(lián)鏈。FLEX10K 系列器件提供六個專用輸入引腳,驅動觸發(fā)器的控制輸入,以保證高速、低擺率控制信號的有效分配。這些信號使用專用布線通道。4 個全局信號可由 4 個專用的輸入引腳驅動,也可由內(nèi)部邏輯驅動,后者可提供分頻信號或內(nèi)部異步清零信號。4 樂曲硬件演奏電路的層次化設計方案根據(jù)層次化的設計思路,可把樂曲硬件演奏電路分為 3 個模塊,音樂節(jié)拍發(fā)生器NoteTabs
27、 模塊,音符譯碼電路 ToneTaba 模塊,數(shù)控分頻模塊Speakera 。4.1 音樂節(jié)拍發(fā)生器 NoteTabs 該模塊將利用 FPGA 的片內(nèi) ROM 存放樂曲簡譜真值表,有一個二進制計數(shù)器為樂曲數(shù)據(jù)存儲器 ROM 的地址發(fā)生器。該計數(shù)器的計數(shù)頻率為 4HZ,即每一個數(shù)值的停留時間為,隨著 NoteTabs 中計數(shù)器按 4HZ 的時鐘頻率做加法計數(shù)時,即隨地址增加時,樂曲數(shù)據(jù)存儲器 ROM 中的音符數(shù)據(jù),將從 ROM 中的輸出口輸向音符譯碼電路 ToneTabas,所以所存的樂曲就自然的演奏起來。其 VHDL 源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_
28、1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs IS PORT ( clk : IN STD_LOGIC; -音樂節(jié)拍時鐘 4Hz ToneIndex : OUT INTEGER RANGE 0 TO 15 );END;ARCHITECTURE one OF NoteTabs IS SIGNAL Counter : INTEGER RANGE 0 TO 146;BEGIN CNT8 : PROCESS(clk) -音符共有 147 個,因此定義 8 位計數(shù)器 BEGIN IF Counter = 146 THEN Counter
29、 = 0; ELSIF (clkEVENT AND clk = 1) THEN Counter ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex NULL; END CASE; END PROCESS;END;圖 音樂節(jié)拍發(fā)生器元件符號圖由于時序仿真時,受 13 位預置數(shù)及普通計算機性能的限制,仿真時間較長,因將預置數(shù)模塊修改為 4 位,其他局部對應修改。仿真圖如下:圖 音樂節(jié)拍發(fā)生器仿真輸出波形4.2 音符譯碼電路 Tone
30、Taba 模塊音符譯碼電路即音調(diào)發(fā)生器實際上是一個查表電路,放置 21 個音樂簡譜對應的頻率表,根據(jù)該表為數(shù)控分頻模塊提供所發(fā)音符頻率的初始值,而此數(shù)控分頻模塊入口的停留時間即為此音符的節(jié)拍數(shù),以 VHDL 程序中僅設置了“梁祝樂曲全部音符所對應的音符頻率的初始值,共 12 個,每個音符停留時間由音樂節(jié)拍發(fā)生器的時鐘頻率決定,在此為 4Hz 信號,這 12 個值的輸出由對應于音符譯碼電路的 4 位輸入值 Index3.0確定,該值中音符的停留時間由音樂節(jié)拍發(fā)生器中的音符數(shù)據(jù)決定,該數(shù)據(jù)重復的次數(shù)為該音符的節(jié)拍數(shù),如為 2 那么為四二拍,如為 4 那么為四四拍即全音符。 其 VHDL 源程序如下
31、:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ToneTaba IS PORT ( Index : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4 位預置數(shù)查表 CODE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH : OUT STD_LOGIC; -音樂高 8 度指示 Tone : OUT STD_LOGIC_VECTOR(12 DOWNTO 0); -音樂符對應分頻13 位END;ARCHITECTURE one
32、OF ToneTaba ISBEGIN Search : PROCESS(Index) BEGIN CASE Index IS - 譯碼電路,查表方式,控制音調(diào)的預置數(shù) WHEN 0000=ToneTone=; CODE = 0011; HIGH Tone=0; CODE = 0101; HIGH Tone=; CODE = 0110; HIGH Tone=; CODE = 0111; HIGH = 0;-4141 WHEN 10001000; HIGH = 1;-4433 WHEN 10011001; HIGH = 1;-4786 WHEN 10101010; HIGH = 1;-5157
33、WHEN 11001100; HIGH = 1;-5640 WHEN 11101110; HIGH = 1;-6166 WHEN 11111111; HIGH NULL; END CASE;END PROCESS;END;在源程序中 Index3.0是音樂節(jié)拍發(fā)生器輸出的音符數(shù)據(jù);TONE12.0是為數(shù)控分頻模塊提供的音符頻率的初始值,為方便測試,特設置了一個音名代碼顯示輸出 CODE3.0和音高指示信號 HIGH,可以通過一個數(shù)碼管或 LED 來顯示樂曲演奏時對應的音符和高音名。CODE 輸出對應該音階簡譜的顯示數(shù)碼,HIGH 輸出為高電平,指示音階為高音或者中音,HIGH 輸出為低電平時那
34、么指示音階為低音。圖 4.3 音符譯碼器元件符號圖仿真圖如下:圖 音符譯碼器仿真輸出波形4.3 數(shù)控分頻模塊 Speakera 設計數(shù)控分頻器對 FPGA 的基準頻率進行分頻,得到與各個音階對應的頻率輸出。數(shù)控分頻模塊由 13 位的加法計數(shù)器構成。當計數(shù)器計滿是,產(chǎn)生一個進位信號 FullSpkS,該信號就是用作發(fā)音的頻率信號。在計數(shù)器的預置端給定不同的初始值,其輸出將產(chǎn)生不同的頻率信號,頻率信號初值 Tone 就是前級音符譯碼電路的輸出。由分析所知低音時,Tone 值小,分頻比大,進位信號 SPKS 的周期長,揚聲器發(fā)出的聲音低,Tone 隨音樂的樂譜而變化,自動控制分頻比,從而實現(xiàn)數(shù)控分頻
35、,發(fā)生信號的頻率與 Tone 成正比,這就是利用數(shù)控分頻器演奏音樂的原理。通過分頻后其進位信號 FullSpkS 是一周期脈沖信號,為有利于驅動揚聲器,在音調(diào)輸出時再進行 2 分頻,將脈沖展寬,使之占空比為 50%,揚聲器這樣就有足夠的發(fā)聲功率。其 VHDL 源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Speakera IS PORT ( clk : IN STD_LOGIC; -音調(diào)頻率信號 12MHz Tone : IN STD_LOGIC_VECTOR(12 D
36、OWNTO 0); -音樂符對應分頻 13 位 SpkS : OUT STD_LOGIC ); -聲音輸出END;ARCHITECTURE one OF Speakera IS SIGNAL PreCLK : STD_LOGIC; SIGNAL FullSpkS : STD_LOGIC;BEGIN DivideCLK : PROCESS(clk) VARIABLE Count4 :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PreCLK 13 THEN PreCLK = 1; Count4 := 0000; ELSIF clkEVENT AND clk = 1 TH
37、EN Count4 := Count4 + 1; END IF; END PROCESS; GenSpkS : PROCESS(PreCLK, Tone) -13 位預置數(shù)據(jù)控分頻器 VARIABLE Count13 :STD_LOGIC_VECTOR(12 DOWNTO 0);BEGIN IF PreCLKEVENT AND PreCLK = 1 THEN IF Count13 = 16#1FFF# THEN Count13 := Tone; FullSpkS = 1; ELSE Count13 := Count13 + 1; FullSpkS = 0; END IF; END IF; EN
38、D PROCESS; DelaySpkS : PROCESS(FullSpkS) -2 分頻,蜂鳴器推動電路 VARIABLE Count2 : STD_LOGIC;BEGIN IF FullSpkSEVENT AND FullSpkS = 1 THEN Count2 := NOT Count2; IF Count2 = 1 THEN SpkS = 1;Else SpkSCLK4HZ, ToneIndex=ToneIndex);u2:ToneTaba PORT MAP (Index=ToneIndex, Tone=Tone,CODE=CODE,HIGH=HIGH);u3 : Speakera
39、PORT MAP(clk=CLK12MHZ,Tone=Tone, SpkS=SPKOUT );END;圖 曲硬件演奏電路元件符號圖仿真結果如下:圖 樂曲硬件演奏電路輸出波形總結轉眼之間,為期三周的 EDA 電路課程設計結束了,這段時間里,我受益匪淺。在這三周的時間里,我對?VHDL 與可編程邏輯器件應用?這門課程有了更深的理解,同時將所學知識與實踐有機的結合起來,大大增強了我的思考能力與動手能力。本次設計的是樂曲硬件演奏電路,根據(jù)設計要求,該設計模塊由音符查找表電路模塊,時鐘模塊,數(shù)控分頻器模塊,音樂節(jié)拍產(chǎn)生模塊電路組成。通過查找書籍及一些資料,我逐漸明白了自己的缺乏。通過與老師同學的溝通,我
40、逐漸理解了該設計的原理。認真思考每段程序,我明白了具體的工作原理。在此次設計中,我們投入了熱情與努力。在之前對此一竅不通,到后來明白了低音高音的編碼、VHDL 的根本程序以及會掌握Max+plus 的一些根本操作。課程設計不僅培養(yǎng)了我的實際操作能力,也使我們的知識掌握的更加牢固。同時增強了我們的自信,培養(yǎng)了我們的獨立思考能力。在設計中,我們也更加理解了團隊的合作精神,與同學之間互幫互助,共同進步。這次設計不僅提升了我對學習的樂趣,更讓我學會在以后的學習中,應該不斷的摸索,不斷實踐,使我向更高的精神和知識層次邁向一大步。在以后的學習生活中,我會努力學習,培養(yǎng)自己動手能力,更好的理解所學的知識,彌
41、補實踐的缺乏,由理論聯(lián)系到實際,深入了解科學的奧秘,真正的把知識應用到實踐當中,以到達學以致用的目的。致謝三周的課程設計即將結束,本次設計的成功,離不開老師及同學的幫助。在此我對老師和同學說一聲:謝謝。通過這次 EDA 課程設計,我不僅加深了對 EDA 這門課程的理解,同時將理論很好地應用到實際當中去,學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。在這個設計過程中,雖然我們花費了大量的時間和精力,更重要的是,我們在學會獨立思考的根底上,也懂得合作精神的重要性,學會了與他人合作。首先要感謝各位老師的指導,老師們的嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和鼓勵
42、著我。在設計過程遇到很多困難,每一次找到老師,老師都會認真解答疑惑,耐心講解,這才使我們能順利完整的完成課程設計要求的內(nèi)容,在此對老師表示崇高的敬意和衷心的感謝。其次要感謝那些幫助過我的同學,在這次課程設計期間各位同學互相講解,大家在一起集思廣益,查閱相關資料,才能在很短時間內(nèi)完成課程設計的要求,盡管我們課設還存在一定的問題,因為我們的知識還是有限的,但能有現(xiàn)在的成果也是非常不容易的,付出了許多的努力。在此還要感謝那些幫助過我的同學。同時,也非常感謝沈陽工程學院圖書館的支持,為我們提供了豐富的圖書資料,使我們擴展了知識面,幫助我們將課程設計順利的完成。參考文獻1 曹昕燕.周鳳臣.聶春燕. ED
43、A 技術與課程設計. 北京:清華大學出版社.20062 尹常永.孫延鵬. VHDL 與可編程邏輯器件應用. 北京:航空工業(yè)出版社.20063 王松武.于 鑫.武思軍. 電子創(chuàng)新設計與實踐. 北京:國防工業(yè)出版社.20054 潘松.王國棟VHDL 實用教程M 四川:電子科學大學出版社.20015 徐志軍.徐光芒CPLDFPGA 的開發(fā)與應用M.北京:電子工業(yè)出版社.20026 ALTERA DigitalLibrary 20027 江國強. EDA 技術與應用M. 北京:電子工業(yè)出版社,20058 楊國慶. 基于 FPGA 的樂曲演奏器片系統(tǒng)的分析J.現(xiàn)代電子技術.2006.19 期9 褚振勇.
44、翁木云FPGA 設計及應用M. 西安:西安電子科技大學出版社.200210 Altera Data Book.199911 12 Alera 公司13 Altera 公司.MAX+PLUSII 簡易用戶使用入門指南.199814 盧毅.VHDL 與數(shù)字電路設計. 北京:科學出版社.200115 付家才.EDA 原理與應用. 北京:化學工業(yè)出版社.200116EDA 設計與實踐 北京:國防工業(yè)出版社 2006附錄 1 程序清單LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Songer
45、 IS - 頂層設計 PORT ( CLK12MHZ : IN STD_LOGIC; -音調(diào)頻率信號 CLK4HZ : IN STD_LOGIC; -節(jié)拍頻率信號 CODE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -簡譜碼輸出顯示 HIGH : OUT STD_LOGIC; -高 8 度指示 SPKOUT : OUT STD_LOGIC ); -聲音輸出 END;ARCHITECTURE one OF Songer IS COMPONENT NoteTabs -元件 u1 例化 PORT ( clk : IN STD_LOGIC; ToneIndex : OUT
46、 STD_LOGIC_VECTOR(3 DOWNTO 0 ) ); END COMPONENT; COMPONENT ToneTaba -元件 u2 例化 PORT ( Index : IN STD_LOGIC_VECTOR(3 DOWNTO 0); CODE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH : OUT STD_LOGIC; Tone : OUT STD_LOGIC_VECTOR12 DOWNTO 0 ); END COMPONENT; COMPONENT Speakera -元件 u3 例化 PORT ( clk : IN STD_LOGIC
47、; Tone :IN STD_LOGIC_VECTOR(12 DOWNTO 0); SpkS : OUT STD_LOGIC ); END COMPONENT; SIGNAL Tone :STD_LOGIC_VECTOR12 DOWNTO 0; SIGNAL ToneIndex :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN - 安裝 U1, U2, U3u1 : NoteTabs PORT MAP (clk=CLK4HZ, ToneIndex=ToneIndex);u2:ToneTaba PORT MAP (Index=ToneIndex, Tone=Tone,COD
48、E=CODE,HIGH=HIGH);u3 : Speakera PORT MAP(clk=CLK12MHZ,Tone=Tone, SpkS=SPKOUT );END;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs IS PORT ( clk : IN STD_LOGIC; -音樂節(jié)拍時鐘 4Hz ToneIndex : OUT INTEGER RANGE 0 TO 15 );END;ARCHITECTURE one OF NoteTabs IS SIGNAL Cou
49、nter : INTEGER RANGE 0 TO 146;BEGIN CNT8 : PROCESS(clk) -音符共有 147 個,因此定義 8 位計數(shù)器 BEGIN IF Counter = 146 THEN Counter = 0; ELSIF (clkEVENT AND clk = 1) THEN Counter ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneInd
50、ex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneInd
51、ex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneInd
52、ex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneIndex ToneInd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版團膳供應合同書標準范本2篇
- 個人貨車租賃合同2024版
- 二零二五版養(yǎng)老服務機構合作運營與管理協(xié)議3篇
- 咸寧職業(yè)技術學院《草食動物飼養(yǎng)學》2023-2024學年第一學期期末試卷
- 西安信息職業(yè)大學《水環(huán)境監(jiān)測與評價》2023-2024學年第一學期期末試卷
- 二零二五年度汽車零部件運輸與供應鏈管理合同2篇
- 新疆財經(jīng)大學《田徑教學與實踐》2023-2024學年第一學期期末試卷
- 2024技術開發(fā)合同服務內(nèi)容與標的
- 二零二五年度工業(yè)地產(chǎn)代理銷售合同補充協(xié)議3篇
- 二零二五年度電梯設備改造、安裝、租賃與維護合同3篇
- 數(shù)學八下學霸電子版蘇教版
- SQL Server 2000在醫(yī)院收費審計的運用
- 《FANUC-Oi數(shù)控銑床加工中心編程技巧與實例》教學課件(全)
- 微信小程序運營方案課件
- 陳皮水溶性總生物堿的升血壓作用量-效關系及藥動學研究
- 安全施工專項方案報審表
- 學習解讀2022年新制定的《市場主體登記管理條例實施細則》PPT匯報演示
- 好氧廢水系統(tǒng)調(diào)試、驗收、運行、維護手冊
- 中石化ERP系統(tǒng)操作手冊
- 五年級上冊口算+脫式計算+豎式計算+方程
- 氣體管道安全管理規(guī)程
評論
0/150
提交評論