基于FPGA的樂曲演奏電路設計_第1頁
基于FPGA的樂曲演奏電路設計_第2頁
基于FPGA的樂曲演奏電路設計_第3頁
基于FPGA的樂曲演奏電路設計_第4頁
基于FPGA的樂曲演奏電路設計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、目錄1、EDA技術發(fā)展及介紹11.1 EDA技術的介紹11.2 EDA技術的發(fā)展11.3 EDA技術的發(fā)展趨勢21.4 樂曲演奏電路簡介22、總體方案設計32.1 設計內(nèi)容32.1 設計方案比較32.3 方案論證42.3 方案選擇43、單元模塊設計43.1穩(wěn)壓電源電路53.2有源晶振電路53.3蜂鳴器63.4七段數(shù)碼管顯示電路74、特殊器件的介紹84.1 CPLD器件介紹84.2 FPGA器件介紹84.3 MAX|EPM240T100C5器件95、最小系統(tǒng)原理106、軟件實現(xiàn)116.1音調(diào)的控制116.2音長的控制126.3軟件設計127、系統(tǒng)仿真及調(diào)試167.1仿真167.2 調(diào)試188、總

2、結(jié)198.1設計小結(jié)198.2設計收獲198.3設計改進198.4 致謝199 、參考文獻201、EDA技術發(fā)展及介紹1.1 EDA技術的介紹EDA是電子設計自動化(Electronic Design Automation)縮寫,是90年代初從CAD(計算機輔助設計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術是以計算機為工具,根據(jù)硬件描述語言HDL( Hardware Description language)完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標芯片的適配編譯和編程下載等工作。

3、硬件描述語言HDL是相對于一般的計算機軟件語言,如:C、PASCAL而言的。HDL語言使用與設計硬件電子系統(tǒng)的計算機語言,它能描述電子系統(tǒng)的邏輯功能、電路結(jié)構和連接方式。設計者可利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定器件結(jié)構特征和電路的行為方式;然后利用綜合器和適配器將此程序編程能控制FPGA和CPLD內(nèi)部結(jié)構,并實現(xiàn)相應邏輯功能的的門級或更底層的結(jié)構網(wǎng)表文件或下載文件。目前,就FPGA/CPLD開發(fā)來說,比較常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。 1.2 EDA技術的發(fā)展可將EDA技術分為三個階段。(1)七十年代為CAD階段,人們開始用計算機輔助進行IC版圖編輯、

4、PCB布局布線,取代了手工操作,產(chǎn)生了計算機輔助設計的概念。(2)八十年代為CAE階段,與CAD相比,除了純粹的圖形繪制功能外,又增加了電路功能設計和結(jié)構設計,并且通過電氣連接網(wǎng)絡表將兩者結(jié)合在一起,實現(xiàn)了工程設計,這就是計算機輔助工程的概念。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。(3)九十年代為ESDA階段,盡管CAD/CAE技術取得了巨大的成功,但并沒有把人從繁重的設計工作中徹底解放出來。在整個設計過程中,自動化和智能化程度還不高,各種EDA軟件界面千差萬別,學習使用困難,并且互不兼容,直接影響到設計環(huán)節(jié)間的銜接?;谝陨喜蛔悖藗冮_始追求:貫徹整

5、個設計過程的自動化,這就是ESDA即電子系統(tǒng)設計自動化。1.3 EDA技術的發(fā)展趨勢目前的EDA產(chǎn)業(yè)正處在一場大變革的前夕,對更低成本、更低功耗的無止境追求和越來越短的產(chǎn)品上市壓力正迫使IC供應商提供采用0.13m或以下的千萬門級的系統(tǒng)芯片,而這些系統(tǒng)芯片的高復雜性設計更加依賴于EDA供應商提供全新的設計工具和方法以實現(xiàn)模擬前后端、混合信號和數(shù)字電路的完全整合。然而,這些新的需求為當代EDA工具和設計方法帶來了不少新的挑戰(zhàn)與機會。例如,如何在工藝上防止模擬電路與數(shù)字電路之間的干擾;現(xiàn)有的大部份EDA工具最多只能處理百萬門級設計規(guī)模,隨著IC設計向千萬門級以上規(guī)模發(fā)展,現(xiàn)有EDA工具和方法必須進

6、行升級。如何融合各EDA供應商的工具,以便向IC設計界提供更高效能和更方便的RTL-to-GDSII或Conc-ept-to-GDSII整合設計環(huán)境;為保證深亞微米(0.13m或以下)和更低內(nèi)核工作電壓(1.8V或以下)時代的信號完整性和設計時序收斂,必須采用新的設計方法。半導體工藝的每一次躍升都促使EDA工具改變自己,以適應工藝的發(fā)展;反過來EDA工具的進步又推動設計技術的發(fā)展。可以說EDA工具是IC設計產(chǎn)業(yè)的背后推手。系統(tǒng)芯片(SOC)正在迅速地進入主流產(chǎn)品的行列。由此引發(fā)的“芯片就等于整機”的現(xiàn)象,將對整個電子產(chǎn)業(yè)形成重大的沖擊。種種跡象表明,整個電子產(chǎn)業(yè)正在醞釀著一場深刻的產(chǎn)業(yè)重組,這

7、將為許多新興的企業(yè)提供進入這一行業(yè)的最佳。1.4 樂曲演奏簡介 樂曲演奏廣泛用于自動答錄裝置、手機鈴聲、集團電話及智能儀器儀表設備。實現(xiàn)方法有許多種,在眾多的實現(xiàn)方法中,以純硬件完成樂曲演奏,隨著FPGA集成度的提高,價格下降,EDA設計工具更新?lián)Q代,功能日益普及與流行,使這種方案的應用越來越多。PFGA預裝了很多已構造好的參數(shù)化庫單元LPM器件,通過引入支持LPM的EDA軟件工具,設計者可以設計出結(jié)構獨立而且硅片的使用效率非常高的產(chǎn)品。2、總體方案設計2.1設計內(nèi)容用FPGA器件驅(qū)動蜂鳴器演奏“友誼地久天長”片段。一首樂曲包含三個要素:樂曲聲音頻率,發(fā)音時間的長短,停頓的時間。按照圖1樂譜,

8、設計相應電路控制speaker信號的方波頻率,某一頻率持續(xù)時間長短,各頻率間間隔大小,就可以推動蜂鳴器演奏樂曲。 圖1 “友誼地久天長”片段樂譜注:N 一拍;N 兩拍;N 四拍;N 八拍;N為音譜。2.2設計方案比較方案一:由單片機AT89S52來實現(xiàn)樂曲演奏電路的設計,外圍電源采用+5V電源供電,時鐘由12MHz的晶振產(chǎn)生,通過按鍵的狀態(tài)來檢測樂曲演奏狀態(tài),中央處理器由AT89S52單片機來完成,樂曲演奏狀態(tài)由七段數(shù)碼管來模擬。這種方案結(jié)構簡單,易掌握,各部分電路實現(xiàn)起來都非常容易,在傳統(tǒng)的樂曲演奏設計中也應用得較為廣泛,技術成熟。其原理框圖如圖2-1。電源供電電路數(shù)碼管顯示電路AT89S5

9、2單片機時鐘產(chǎn)生電路 按鍵控制電路揚聲器電路 圖2-1 基于單片機的樂曲演奏電路框圖方案二:基于現(xiàn)場可編程邏輯門陣列FPGA,通過EDA技術,采用VerilogHDL硬件描述語言實現(xiàn)樂曲演奏電路設計。程序設計思想為:1、用分頻電路產(chǎn)生不同頻率方波;2、利用計數(shù)器實現(xiàn)speaker信號頻率選擇,某一頻率持續(xù)時間長短,各頻率間間隔大小。其框圖如圖2-2。2分頻器反饋預置計數(shù)器6MHz揚聲器音符顯示曲譜產(chǎn)生4Hz數(shù)碼管 圖2-2 樂曲演奏電路原理框圖2.3方案論證 通過方案一二的比較,可以看出方案一的設計使用分立元件電路較為多,因此會增加電路調(diào)試難度,且電路的不穩(wěn)定性也會隨之增加,而采用FPGA芯片

10、實現(xiàn)的電路,由于在整體性上較好,在信號的處理和整個系統(tǒng)的控制中,FPGA的方案能大大縮減 電路的體積,提高電路的穩(wěn)定性。此外其先進的開發(fā)工具使整個系統(tǒng)的設計調(diào)試周期大大縮短,一般來講,同樣的邏輯,基于FPGA要比基于單片機要快很多,因為它們工作的原理是完全不同的。單片機是基于指令工作的,同樣的激勵到達單片機后,單片機首先要判斷,然后讀取相應的指令,最后作出相應,這每一步都是需要在單片機的時鐘驅(qū)動下一步步的進行。而基于FPGA則是把相應的邏輯“暫時”固化為硬件電路了,它對激勵作出的響應速度就是電信號從FPGA的一個管腳傳播另一個管腳的傳播速度,當然這指的是異步邏輯,同時電信號也要在芯片內(nèi)進行一些

11、柵電容的充放電動作,但這些動作都是非常非??斓?。2.4方案選擇從目前的EDA技術來看,其特點是使用普及、應用廣泛、軟件功能強大。在ASIC和PLD器件方面,向超高速、高密度、低功耗、低電壓方向發(fā)展。當今社會人們對低故障、高實時、高可靠、高穩(wěn)定的性能更加青睞,結(jié)合本設計的要求及綜合以上比較的情況,我們選擇了基于FPGA的樂曲演奏電路方案。 3、單元模塊設計本設計由現(xiàn)場可編程門矩陣(FPGA)作為控制芯片,通過VreilogHDL硬件描述語言設計,運用自頂而下的設計思想,按功能逐層分割實現(xiàn)層次化的設計??傮w設計方案為(1)用分頻電路產(chǎn)生不同頻率方波;(2)利用計數(shù)器實現(xiàn)speaker信號頻率的選擇

12、,某一頻率持續(xù)時間長短,各頻率間間隔大小。下面介紹主要模塊的功能及作用。3.1穩(wěn)壓電源電路該穩(wěn)壓電路的作用是當電網(wǎng)電壓波動、負載和溫度變化時,維持輸出直流電壓穩(wěn)定。該電路可為晶振電路以及揚聲器提供+3.3V的穩(wěn)定電壓,驅(qū)動器件工作。其原理圖如圖3-1所示。 圖3-1 穩(wěn)壓電源電路3.2有源晶振電路采用有源晶振作為時鐘信號源,它是一個完整的振蕩器,其內(nèi)部除了石英晶體外還有阻容軟件和晶體管,有源晶振信號質(zhì)量好,比較穩(wěn)定,而且連接方式比較簡單。主要是作為電源濾波,通常使用的為一個電容和電感組成的PI型濾波網(wǎng)絡,輸出端使用一個小阻值電阻過濾信號。串電阻可減小反射波,避免反射波疊加引起過沖,減少諧波以及

13、阻抗匹配,減小回波干擾及導致的信號過沖。由于本設計所用的為20MHZ的晶振,而20MHz以下的晶體晶振基本上都是基頻的器件,穩(wěn)定度好,20MHz以上的大多是諧波的(如3次諧波、5次諧波等等),穩(wěn)定度差,因此我們使選用頻的器件,畢竟倍頻用的PLL電路需要的周邊配置主要是電容、電阻、電感,其穩(wěn)定度和價格方面遠遠好于晶體晶振器件。其原理圖如圖3-2所示。 圖3-2 有源晶振電路3.3蜂鳴器根據(jù)蜂鳴器輸入信號頻率的不同決定了其發(fā)聲不同的原理,來設計一個由數(shù)控分頻器控制BUZZER發(fā)聲的簡單實驗。數(shù)控分頻器的預置值由樂曲的音調(diào)的值來決定,從而間接地控制BUZZER得發(fā)聲頻率。其原理圖如圖3-3所示。 圖

14、3-3 蜂鳴器電路3.4七段數(shù)碼顯示電路七段數(shù)碼管和普通發(fā)光二極管的發(fā)光原理一樣,為了進行直觀顯示而將普通發(fā)光二極管封裝在一起,能夠進行16進制數(shù)字顯示;有共陽極和共陰極之分,共陽極就是此實驗平臺所使用的鏈接方式,在控制端輸入底點平的時候發(fā)光,在輸入高電平的時候就不發(fā)光。其原理電路圖如圖3-4所示。 圖3-4 七段數(shù)碼顯示電路4、特殊器件的介紹4.1 CPLD器件介紹CPLD是Complex Programmable Logic Device的縮寫,它是有最早的PLD器件發(fā)展形成的高密度可編程邏輯器件,它具有編程靈活、集成度高、設計開發(fā)周期短、適用范圍寬、開發(fā)工具先進、設計制造成本低、對設計者

15、的硬件經(jīng)驗要求低、標準產(chǎn)品無需測試、保密性強、價格大眾化等特點。 CPLD是一種用戶根據(jù)各自需要而自行構造邏輯功能的數(shù)字集成電路。其基本設計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標芯片中,實現(xiàn)設計的數(shù)字系統(tǒng)。許多公司都開發(fā)出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的產(chǎn)品。如 Altera公司的MAXII器件,就是其極具代表性的一類CPLD器件,是有史以來功耗最低、成本最低的CPLD。MAX II CPLD基于突破性的體系結(jié)構,在所有CPLD系列中,其單位

16、I/O引腳的功耗和成本都是最低的。 Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX結(jié)構,采用CMOS EPROM工藝制造的。該系列的器件具有一定得典型性,其他結(jié)構都與此結(jié)構非常的類似。它包括邏輯陣列塊、宏單元、擴展乘積項、可編程連線陣列和IO控制部分。由于大多數(shù)CPLD是基于乘積項的“與或”結(jié)構,故適合設計組合邏輯電路。4.2 FPGA器件介紹FPGA(FieldProgrammable Gate Array)可以達到比PLD更高的集成度,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展起來的,具有更復雜的布線結(jié)構和邏輯實現(xiàn)。PLD器件和

17、FPGA的主要區(qū)別在于PLD是通過修改具有固定內(nèi)連電路得邏輯功能來進行編程,而FPGA是通過修改一根或多根分割宏單元的基本功能塊的內(nèi)連線的布線來進行編程。它一般由可嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速互聯(lián)通道(Fast Track)、IO單元(IOE)組成。Altera Cyclone II 采用全銅層、低K值、1.2伏SRAM工藝設計,裸片尺寸被盡可能最小的優(yōu)化。采用300毫米晶圓,以TSMC成功的90nm工藝技術為基礎,Cyclone II 器件提供了4,608到68,416個邏輯單元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、專用外部存儲器接口電路

18、、4kbit嵌入式存儲器塊、鎖相環(huán)(PLL)和高速差分I/O能力。Cyclone II 器件擴展了FPGA在成本敏感性、大批量應用領域的影響力,延續(xù)了第一代Cyclone器件系列的成功。由于FPGA是基于查找表(LUT)結(jié)構的器件,且每個LAB由10個LE組成,一個LE由LUT和寄存器組成,適合于時序邏輯電路的設計。4.3 MAXEPM240T100C5器件MAX II器件系列是一種非易失性、即用性可編程邏輯系列,它采用了一種突破性的新型CPLD架構。這種新型架構的成本是原先MAX 器件的一半,功耗是其十分之一,密度是其四倍,性能卻是其兩倍。這些超級性能是在提供了所有MAX系列CPLD 先進特

19、性的架構的基礎上,根據(jù)Altera專家們的意見而重新采用基于查找表的架構而得到的。這種基于查找表的架構在最小的I/O焊盤約束的空間內(nèi)提供了最多的邏輯容量。因此,MAX II CPLD是所有CPLD系列產(chǎn)品中成本最低、功耗最小和密度最高的器件?;诔杀緝?yōu)化的0.18微米6層金屬Flash工藝,MAX II器件系列具有CPLD所有的優(yōu)點,例如非易失性、即用性、易用性和快速傳輸延時性。以滿足通用性,低密度邏輯應用為目標,MAX II器件成為接口橋接、I/O擴展、器件配置和上電順序等應用最理想的解決方案。除這些典型的CPLD應用之外,MAX II器件還能滿足大量從前在FPGA、ASSP和標準邏輯器件中

20、實現(xiàn)的低密度可編程邏輯需求。MAX II器件提供的密度范圍從240到2210個邏輯單元(LE),最多達272個用戶I/O管腳。其引腳圖如圖4-3所示 圖4-1 EPM240T100C55、最小系統(tǒng)原理6、軟件實現(xiàn)通過至頂向下(TOP-DOWN)的設計方法,我們對電路的設計要求作了分析,從電路要實現(xiàn)的功能著手,逐層分析電路設計的步驟,再具體到各個模塊的設計實現(xiàn)以及各模塊實現(xiàn)方案的選擇。從本設計的電路要求,我們分析了需要實現(xiàn)一個輸入狀態(tài)的編碼,以及對循環(huán)點亮燈的方式的選擇,綜合這兩種狀態(tài)控制輸出信號的狀態(tài)變化。軟件設計流程圖:2分頻器反饋預置計數(shù)器音符顯示曲譜產(chǎn)生圖6-1軟件設計流程圖6.1音調(diào)的

21、控制頻率的高低決定了音調(diào)的高低。簡譜中從低音1至高音1之間每個音名對應的頻率如表6-1所示。表6-1音高頻率對照表1234567低音262Hz294Hz330Hz349Hz392Hz440Hz494Hz中音532Hz578Hz659Hz698Hz784Hz880Hz988Hz高音1046Hz1175Hz1318Hz1397Hz1568Hz1760Hz1976Hz 該樂曲各音階頻率及相應的分頻比如表6-2所示。為了減小輸出的偶次諧波分量,最后輸出到揚聲器的波形應為對稱方波,因此在到達揚聲器之前,有一個二分頻的分頻器。表6-2中的分頻比就是從6MHz頻率二分頻得到的3MHz頻率基礎上計算得出來的。

22、從表6-2可以看出,最大的分頻系數(shù)為11468,故采用14位二進制計數(shù)器分頻可滿足需求。對于不同的分頻系數(shù),只要加載不同的預置數(shù)即可,對于樂曲中的休止符,只要將分頻系數(shù)設為0,即初始值為16383即可,此時揚聲器將不會發(fā)聲。采用加載預置數(shù)實現(xiàn)分頻的方法比采用反饋復零法節(jié)省資源,實現(xiàn)起來也容易些。表6-2 各音階頻率對應的分頻比及預置數(shù)音 名分 頻 比預 置 數(shù)音 名分 頻 比預 置 數(shù)低音1114684915中音5382712556低音2102156168中音6340912974低音391027281中音7303713346低音485917792高音1286713516低音576538730高

23、音2255413829低音668189565高音3227414109低音7607310310高音4214814235中音1573610647高音5191314470中音2511111272高音6170514678中音3455211831高音7151914864中音4428912094休止符0163836.2音長的控制音符的持續(xù)時間根據(jù)樂曲的速度及每個音符的節(jié)拍數(shù)來確定。本次演奏的片段,最短的音符為四分音符,如果將全音符的持續(xù)時間設為1s的話,則只需要再提供一個4Hz的時鐘頻率即可產(chǎn)生四分音符的時長。6.3軟件設計設計程序如下/友誼天長地久樂曲演奏電路/信號定義與說明:/clk_4Hz:用于控制

24、音長(節(jié)拍)的時鐘頻率;/clk_6MHz:用于產(chǎn)生各種音階頻率的基準頻率;/speaker:用于激勵揚聲器的輸出信號,本例中為方波信號;/high,med,low:分別用于顯示高音、中音和低音音符,各驅(qū)動一個數(shù)碼管來顯示。module song(clk_6MHz,clk_4Hz,speaker,high,med,low);input clk_6MHz,clk_4Hz;output speaker; output3:0 high,med,low;reg speaker; reg3:0 high,med,low; reg7:0 counter;reg13:0 divider,origin; wi

25、re carry;assign carry=(divider=16383);always (posedge clk_6MHz)begin if(carry) divider=origin;else divider=divider+1;endalways (posedge carry)begin speaker=speaker;end/2分頻產(chǎn)生方波信號always (posedge clk_4Hz) begin case(high,med,low) /根據(jù)不同的音符,分頻比預置b1:origin=7281;b1:origin=8730;b0:origin=9565;b1:origin=1031

26、0;b0:origin=10647;b0:origin=11272;b0:origin=11831;b0:origin=12556;b0:origin=12974;b0:origin=13516;b0:origin=16383;endcase endalways (posedge clk_4Hz) beginif(counter=122) counter=0;/計時,以實現(xiàn)循環(huán)演奏else counter=counter+1;case(counter)/記譜0:high,med,low=h000;/低音0,持續(xù)2個時鐘節(jié)拍1:high,med,low=h000;2:high,med,low=h

27、005; /低音5,發(fā)4個時鐘節(jié)拍3:high,med,low=h005; 4:high,med,low=h005;5:high,med,low=h005;6:high,med,low=h010; /中音17:high,med,low=h010;8:high,med,low=h010;9:high,med,low=h010;10:high,med,low=h010;11:high,med,low=h010;/中音112:high,med,low=h010;13:high,med,low=h030; /中音3 14:high,med,low=h030;15:high,med,low=h020;

28、/中音216:high,med,low=h020;/發(fā)4個時鐘節(jié)拍17:high,med,low=h020;18:high,med,low=h020;19:high,med,low=h010;/中音120:high,med,low=h020; /中音221:high,med,low=h020;22:high,med,low=h030; /中音323:high,med,low=h030;24:high,med,low=h010;/中音125:high,med,low=h010;26:high,med,low=h010;27:high,med,low=h010;28:high,med,low=h0

29、10;29:high,med,low=h030; /中音330:high,med,low=h030;31:high,med,low=h050; /中音532:high,med,low=h050;33:high,med,low=h060; /中音634:high,med,low=h060;35:high,med,low=h060;36:high,med,low=h050; /中音537:high,med,low=h050;38:high,med,low=h050;39:high,med,low=h050;40:high,med,low=h030; /中音341:high,med,low=h030

30、;42:high,med,low=h030;43:high,med,low=h010;/中音144:high,med,low=h010;45:high,med,low=h020; /中音246:high,med,low=h020;47:high,med,low=h020;48:high,med,low=h020;49:high,med,low=h010;/中音150:high,med,low=h020;/中音251:high,med,low=h020;52:high,med,low=h030; /中音353:high,med,low=h030;54:high,med,low=h010; /中音

31、155:high,med,low=h010;56:high,med,low=h010;57:high,med,low=h010;58:high,med,low=h006; /低音659:high,med,low=h006;60:high,med,low=h006;61:high,med,low=h005; /低音562:high,med,low=h005;63:high,med,low=h010; /中音1 64:high,med,low=h060; 65:high,med,low=h060;66:high,med,low=h050; 67:high,med,low=h050;68:high,

32、med,low=h030; 69:high,med,low=h030;70:high,med,low=h030; 71:high,med,low=h010;72:high,med,low=h010; 73:high,med,low=h020;74:high,med,low=h020; 75:high,med,low=h020;76:high,med,low=h020; 77:high,med,low=h010;78:high,med,low=h020; 79:high,med,low=h020;80:high,med,low=h060; 81:high,med,low=h060;82:high

33、,med,low=h050; 83:high,med,low=h050;84:high,med,low=h050; 85:high,med,low=h050;86:high,med,low=h030; 87:high,med,low=h030;88:high,med,low=h030; 89:high,med,low=h050;90:high,med,low=h050; 91:high,med,low=h060;92:high,med,low=h100; 93:high,med,low=h100;94:high,med,low=h050; 95:high,med,low=h050;96:hig

34、h,med,low=h050; 97:high,med,low=h050;98:high,med,low=h030; 99:high,med,low=h030; 100:high,med,low=h030; 101:high,med,low=h010; 102:high,med,low=h010; 103:high,med,low=h020; 104:high,med,low=h020; 105:high,med,low=h020; 106:high,med,low=h020; 107:high,med,low=h010; 108:high,med,low=h020; 109:high,med

35、,low=h020; 110:high,med,low=h030; 111:high,med,low=h030; 112:high,med,low=h010; 113:high,med,low=h010; 114:high,med,low=h010; 115:high,med,low=h010; 116:high,med,low=h006; 117:high,med,low=h006; 118:high,med,low=h006; 119:high,med,low=h005; 120:high,med,low=h005; 121:high,med,low=h010; 122:high,med,

36、low=h000; default:high,med,low=h000;endcaseendled7s u1(high,high_7s); /高音音符顯示led7s u2(med,med_7s); /中音音符顯示led7s u3(low,low_7s); /低音音符顯示endmodulemodule led7s(datain,ledout); /7段數(shù)碼管譯碼顯示模塊input3:0 datain; output reg6:0 ledout;always begin case(datain)0:ledout=7b; 1:ledout=7b;2:ledout=7b; 3:ledout=7b;4:

37、ledout=7b; 5:ledout=7b;6:ledout=7b; 7:ledout=7b;8:ledout=7b; 9:ledout=7b;10:ledout=7b; 11:ledout=7b;12:ledout=7b; 13:ledout=7b;14:ledout=7b; 15:ledout=7b;default:ledout=7b;endcaseendendmodule7、系統(tǒng)仿真及調(diào)試7.1仿真通過QuartusII軟件,我們進行了仿真,其仿真波形如下圖:在QuartusII軟件中利用硬件描述語言描述電路后,用RTL Viewers生成的對應的電路圖如下:7.2 調(diào)試在QuartusII軟件中,通過對所設計的硬件描述語言代碼進行波形仿真后,達到了預期效果,于是,我們在該軟件上進行下載配置設置。在Assignments菜單下選中Devices,在Family欄選擇ACEX1K,選中EPM240T100C5器件。再在A

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論