彩燈控制器eda課程設(shè)計_第1頁
彩燈控制器eda課程設(shè)計_第2頁
彩燈控制器eda課程設(shè)計_第3頁
彩燈控制器eda課程設(shè)計_第4頁
彩燈控制器eda課程設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計說明書目 錄1.引言32. EDA技術(shù)52.1 EDA技術(shù)介紹52.2硬件描述語言53 Quartus II介紹83.1 Quartus II軟件介紹83.2 Quartus II軟件界面介紹93.2.1 代碼輸入界面93.2.2 編譯界面93.2.3 波形仿真界面104 系統(tǒng)設(shè)計124.1 設(shè)計過程124.1.1 設(shè)計內(nèi)容及要求124.1.2 輸入與輸出說明124.1.3 設(shè)計過程思路分析124.2 程序分析及仿真134.2.1花型控制電路模塊134.2.2 顯示電路模塊144.2.3 發(fā)聲電路模塊174.3 程序仿真圖175 下載195.1 芯片選定195.2引腳設(shè)定195.3 程

2、序下載205.4 結(jié)果顯示206 設(shè)計總結(jié)22參考文獻23附錄:源代碼程序24 1.引言伴隨著計算機、集成電路和電子設(shè)計技術(shù)的發(fā)展,當今社會是數(shù)字化的社會,也是數(shù)字集成電路廣泛應用的社會,數(shù)字本身在不斷的進行更新?lián)Q代。它由早起的電子管、晶體管、小中規(guī)模集成電路發(fā)展到超大規(guī)模集成電路以及許多具有特定功能的專用集成電路。EDA技術(shù)在過去的幾十年里取得了巨大的進步。EDA技術(shù)使得設(shè)計者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件便可完成對系統(tǒng)硬件功能的實現(xiàn)。如今,EDA軟件工具已經(jīng)成為電子信息類產(chǎn)品的支柱產(chǎn)業(yè)。從高性能的微處理器、數(shù)字信號處理器一直到彩電、音響和電子玩具電路等,EDA技

3、術(shù)不單是應用于前期的計算機模擬仿真、產(chǎn)品調(diào)試,而且也在P哪的制作、電子設(shè)備的研制與生產(chǎn)、電路板的焊接、朋比的制作過程等有重要作用??梢哉f電子EDA技術(shù)已經(jīng)成為電子工業(yè)領(lǐng)域不可缺少的技術(shù)支持。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top to Down)和基于庫(LibraryBased)的設(shè)計的特點。因此設(shè)計者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計入手,在頂層進行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級用VHDL對電路的行為進行描述,并進行仿真和糾錯,然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的CPLD器件

4、中去,從而實現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計。而EDA技術(shù)就是以微電子技術(shù)為物理層面,現(xiàn)代電子設(shè)計為靈魂,計算機軟件技術(shù)為手段,最終形成集成電子系統(tǒng)或?qū)S眉呻娐稟SIC為目的的一門新興技術(shù)。 VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language, 翻譯成中文就是超高速集成電路硬件描述語言,誕生于1982年。1987年底,VHDL被美國國防部確認為標準硬件描述語言 。自IEEE公布了VHDL的標準版本,IEEE-1076之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布

5、自己的設(shè)計工具可以和VHDL接口。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標準的1076-1993版本?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilog語言將承擔起大部分的數(shù)字系統(tǒng)設(shè)計任務。目前,它在中國的應用多數(shù)是用在FPGA/CPLD/EPLD的設(shè)計中。當然在一些實力較為雄厚的單位,它也被用來設(shè)計ASIC。隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)的設(shè)計技術(shù)和工具發(fā)生了

6、深刻的變化,大規(guī)??删幊踢壿嬈骷﨏PLDFPGA的出現(xiàn),給設(shè)計人員帶來了諸多方便。利用它進行產(chǎn)品開發(fā),不僅成本低、周期短、可靠性高,而且具有完全的知識產(chǎn)權(quán)。利用VHDL語言設(shè)計彩燈控制器設(shè)計,使其實現(xiàn)彩燈控制器變形,發(fā)聲等功能,突出了其作為硬件描述語言的良好的可讀性、可移植性和易讀性等優(yōu)點。此程序通過下載到特定芯片后,可應用于實際的控制器系統(tǒng)中。本文基于FPGA開發(fā)系統(tǒng),在QuartusII 7.2軟件平臺上,完成了自動售貨機控制器的設(shè)計和與仿真,并下載到試驗箱進行硬件實現(xiàn)。首先,本文介紹了QuartusII 7.2軟件的基本使用方法和VHDL硬件描述語言的特點,采用VHDL 硬件描述語言描述

7、自動售貨機控制器,完成對電路的功能仿真;在設(shè)計過程中,重點探討了彩燈控制器設(shè)計的設(shè)計思路和功能模塊劃分;然后,初步探討了電路邏輯綜合的原理,該軟件對彩燈控制器設(shè)計電路進行了邏輯綜合;最后,使用EDA實驗開發(fā)系統(tǒng)進行電路的下載和驗證,驗證結(jié)果表明設(shè)計的彩燈控制器設(shè)計完成了預期的功能。 2. EDA技術(shù)2.1 EDA技術(shù)介紹 EDA是電子設(shè)計自動化(Electronic Design Automation)縮寫,是90年代初從CAD(計算機輔助設(shè)計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術(shù)是以計算機為工具,根據(jù)硬件描述語言HDL(

8、Hardware Description language)完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標芯片的適配編譯和編程下載等工作。EDA技術(shù)(即Electronic Design Automation技術(shù))就是依賴強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Ddscription Langurage)為系統(tǒng)邏輯描述手段完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實現(xiàn)既定的電子線路系統(tǒng)功能。它在硬件實現(xiàn)方面融合了大規(guī)模集成電路制造技術(shù)、IC版圖設(shè)計、ASIC測試和

9、封裝、FPGA(Gield Peogrammable Gate Array)/CPLD(Complex Programmable Logic Device)編程下載和自動測試等技術(shù);在計算機輔助工程方面融合了計算機輔助設(shè)計(CAD),計算機輔助制造(CAM),計算機輔助測試(CAT),計算機輔助工程(CAE)技術(shù)以及多種計算機語言的設(shè)計概念;而在現(xiàn)代電子學方面則容納了更多的內(nèi)容,如電子線路設(shè)計理論、數(shù)字信號處理技術(shù)、數(shù)字系統(tǒng)建模和優(yōu)化技術(shù)及長線技術(shù)理論等。 2.2硬件描述語言硬件描述語言HDL是EDA技術(shù)的重要組成部分,常見的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、S

10、ystem Verilog和SystemC。其中VHDL、Verilog和現(xiàn)在的EDA設(shè)計中使用最多,并且我們學習的是VHDL的編程方法和實用技術(shù)。 VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,由IEEE(The Institute of Electrical and Electronics Engineets)進一步發(fā)展,并在1987年作為“IEEE標準1076”公布。從此VHDL成為硬件描述語言的業(yè)界標準之一。VHDL技術(shù)與傳統(tǒng)的數(shù)字電子系統(tǒng)或IC設(shè)計相比之下有很大的優(yōu)勢,

11、主要表現(xiàn)在: 第一, VHDL語言具有很強的電路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進行建 模和描述,從而大大簡化了硬件設(shè)計任務,提高了設(shè)計效率和可靠性。 第二, VHDL具有也具體硬件電路武官和與設(shè)計平臺無關(guān)的特性,并且具有良好的電 路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化,結(jié)構(gòu)化設(shè)計方面,表現(xiàn)了強大的生命力和應用潛力。 當今社會是數(shù)字化的社會,也是數(shù)字集成電路廣泛應用的社會,數(shù)字本身在不斷的進行更新?lián)QVHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language, 翻譯成中文就是

12、超高速集成電路硬件描述語言,誕生于1982年。1987年底,VHDL被美國國防部確認為標準硬件描述語言 。自IEEE公布了VHDL的標準版本,IEEE-1076之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標準的1076-1993版本?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilo

13、g語言將承擔起大部分的數(shù)字系統(tǒng)設(shè)計任務。目前,它在中國的應用多數(shù)是用在FPGA/CPLD/EPLD的設(shè)計中。當然在一些實力較為雄厚的單位,它也被用來設(shè)計ASIC。傳統(tǒng)的硬件電路設(shè)計方法是采用自下而上的設(shè)計方法,即根據(jù)系統(tǒng)對硬件的要求,詳細編制技術(shù)規(guī)格書,并畫出系統(tǒng)控制流圖;然后根據(jù)技術(shù)規(guī)格書和系統(tǒng)控制流圖,對系統(tǒng)的功能進行細化,合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;接著就進行各功能模塊的細化和電路設(shè)計;各功能模塊電路設(shè)計、調(diào)試完成后,將各功能模塊的硬件電路連接起來再進行系統(tǒng)的調(diào)試,最后完成整個系統(tǒng)的硬件設(shè)計。采用傳統(tǒng)方法設(shè)計數(shù)字系統(tǒng),特別是當電路系統(tǒng)非常龐大時,設(shè)計者必須具備較好的設(shè)計經(jīng)驗

14、,而且繁雜多樣的原理圖的閱讀和修改也給設(shè)計者帶來諸多的不便。為了提高開發(fā)的效率,增加已有開發(fā)成果的可繼承性以及縮短開發(fā)周期,各ASIC研制和生產(chǎn)廠家相繼開發(fā)了具有自己特色的電路硬件描述語言(Hardware Description Language,簡稱HDL)。但這些硬件描述語言差異很大,各自只能在自己的特定設(shè)計環(huán)境中使用,這給設(shè)計者之間的相互交流帶來了極大的困難。因此,開發(fā)一種強大的、標準化的硬件描述語言作為可相互交流的設(shè)計環(huán)境已勢在必行。于是,美國于1981年提出了一種新的、標準化的HDL,稱之為VHSIC(Very High Speed Integrated Circuit) Hard

15、ware Description Language,簡稱VHDL。這是一種用形式化方法來描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言。設(shè)計者可以利用這種語言來描述自己的設(shè)計思想,然后利用電子設(shè)計自動化工具進行仿真,再自動綜合到門電路,最后用PLD實現(xiàn)其功能。VHDL是一種全方位的硬件描述語言,包括系統(tǒng)行為級。寄存器傳輸級和邏輯門多個設(shè)計層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件語言的功能,整個自頂向下或由下向上的電路設(shè)計過程都可以用VHDL來完成。VHDL還具有以下優(yōu)點:1.VHDL的寬范圍描述能力使它成為高層進設(shè)計的核心,將設(shè)計人員的工作重心提高到了系統(tǒng)功

16、能的實現(xiàn)與調(diào)試,而花較少的精力于物理實現(xiàn)。2.VHDL可以用簡潔明確的代碼描述來進行復雜控制邏輯設(shè)計,靈活且方便,而且也便于設(shè)計結(jié)果的交流、保存和重用。3.VHDL的設(shè)計不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。4.VHDL是一個標準語言,為眾多的EDA廠商支持,因此移植性好。關(guān)于VHDL語言,最后需要說明的是:與常規(guī)的順序執(zhí)行的計算機程序不同,VHDL從根本上講是并發(fā)執(zhí)行的。因此,我們通常稱之為代碼,而不是程序。在VHDL中,只有在進程(PROCESS)、函數(shù)(FUNCTION)和過程(PROCEDURE)內(nèi)部的語句才是順序執(zhí)行的。 VHDL語言具有良好的可讀性,即容易被計算機接受,也容易被讀者

17、理解。使用期長,不會因工藝變化而使描述過時。因為VHDL的硬件描述與工藝無關(guān),當工藝改變時,只需修改相應程序中的屬性參數(shù)即可。3 Quartus II介紹3.1 Quartus II軟件介紹Quartus II 是Altera公司單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境,也是適合SOPC的最全面的設(shè)計環(huán)境。擁有現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)設(shè)計的所有解決方案。Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺,該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardwar

18、e Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。Quartus II也支持第三方的仿真工具,對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。Quartus II還支持層次化設(shè)計,可以在一個新的編輯環(huán)境中對使用不同輸入設(shè)計方式完成的模塊進行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計的問題,并且在輸入之后,Quartus II的編譯器將給出設(shè)計輸入的錯誤報告。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了

19、完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復雜性、加快了設(shè)計速度。Maxplus II 作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經(jīng)停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL View

20、er的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。 Altera 公司的Quartus II 作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。3.2 Quartus II軟件界面介紹3.2.1 代碼輸入界面新建一個工程,選擇FileNew Project Wizard,在出現(xiàn)的對話框中輸入工作路徑和工程名稱(應與實體名稱相同),新建完工程后,選擇FileNewVHDL File,然后新出現(xiàn)的空白窗口中輸入代碼,代碼輸入界面如圖3-1所示:圖3-1 代碼輸入界面3.2

21、.2 編譯界面代碼輸入完畢后,選擇ProcessingStart Compilation或直接單擊 (Start Compilation)進行編譯,編譯界面如圖3-2所示:圖3-2 編譯界面3.2.3 波形仿真界面編譯沒有錯誤后,選擇FileNewVector Waveform File,自己設(shè)置輸入的值,設(shè)置好后單擊 進行波形仿真,仿真前界面如圖3-3所示: 圖3-3波形仿真前界面仿真后界面如圖3-4所示:3-4波形仿真后界面4 系統(tǒng)設(shè)計4.1 設(shè)計過程4.1.1 設(shè)計內(nèi)容及要求1.設(shè)計內(nèi)容:(1)設(shè)計一個彩燈控制器,使8個彩燈(發(fā)光二極管)能連續(xù)發(fā)出六種種以上不同的花型,花型自擬(全亮,全

22、滅除外),每種花型持續(xù)的時間為10秒鐘。 (2)使用數(shù)碼管顯示當前的花型序號(分別為A、B、C,D,E,F(xiàn))以及該花型的顯示時間。(3)每種花型顯示時對應發(fā)出不用的聲音 (4)系統(tǒng)要有整體復位信號 2.設(shè)計要求:(1)根據(jù)任務要求確定電路各功能模塊; (2)寫出設(shè)計程序;(3)給出時序仿真結(jié)果; (4)實現(xiàn)硬件調(diào)試;4.1.2 輸入與輸出說明 1.輸入:rst,clk,clker分別為彩燈控制器的整體復位,時鐘脈沖發(fā)生以及發(fā)聲器分頻時鐘脈沖; 2.輸出: x表示彩燈控制器六種種以上不同的花型,y表示每種花型持續(xù)的時間(10秒鐘),M表示數(shù)碼管顯示的當前的花型序號(分別為A、B、C,D,E,F(xiàn))

23、,Z為每種花型顯示時對應發(fā)出不用的聲音。4.1.3 設(shè)計過程思路分析如圖4.1整個系統(tǒng)有需要三個輸入信號,分別為彩燈控制器的整體復位,計時時鐘脈沖以及發(fā)聲器分頻時鐘脈沖,輸出信號要能表示彩燈控制器六種種以上不同的花型,表示每種花型持續(xù)的時間(10秒鐘)和花型序號以及每種花型對應發(fā)出不用的聲音。系統(tǒng)框圖如下:主要模塊組成:花型控制模塊和顯示電路模塊以及蜂鳴器發(fā)聲模塊。時序電路是根據(jù)時鐘脈沖信號的設(shè)置得到相應的輸出信號,并將此信號作為花型控制模塊和顯示電路時鐘信號。顯示電路輸入時鐘信號的周期,有規(guī)律的輸出設(shè)定的六種彩燈變化類型以及數(shù)碼管顯示花型序號和持續(xù)時間。時序電路是根據(jù)另一時鐘脈沖信號的設(shè)置得

24、到相應的輸出信號,并將此信號作為發(fā)聲模塊的時鐘信號的輸入時鐘信號的周期,進行有規(guī)律的輸出設(shè)定蜂鳴器對應花型變化發(fā)出的各種聲音。該程序采用層次設(shè)計法,頂層采用原理圖設(shè)計,底層采用VHDL 設(shè)計。以下是它的方框圖。底層分為三個子電路模塊,分別是時序控制電路模塊和顯示電路模塊以及蜂鳴器發(fā)聲模塊。圖 4.1 模塊組成4.2 程序分析及仿真4.2.1花型控制電路模塊 花型控制電路模塊是8 路彩燈電路的核心部分。它主控著8 路彩燈的花型種類。模塊主要采用狀態(tài)機如圖4.2來實現(xiàn),用狀態(tài)機來設(shè)計靈活性很強。按設(shè)計要求要實現(xiàn)六種花型01100110、010000010、1000001、00011000、0010

25、0100、11100111,用S0、S1、S2、S3、S4、S5 來表示6 種循環(huán),以1表示燈亮,以0表示燈滅狀態(tài)的狀態(tài)。仿真圖如圖4.2:圖 4.2 狀態(tài)轉(zhuǎn)換圖a7:process(pr_state) begin case pr_state is when a=> x<="01100110" nx_state<=b; when b=> x<="01000010" nx_state<=c; when c=> x<="1000001" z<=clk2; when d=> x&l

26、t;="00011000" nx_state<=e; when e=> x<="00100100" nx_state<=f; when f=> x<="11100111" nx_state<=a; end case; end process;圖 4.3 花型控制電路模塊仿真4.2.2 顯示電路模塊 顯示電路模塊的要求是使用數(shù)碼管顯示當前的花型序號(分別為A、B、C,D,E,F(xiàn))以及該花型的顯示時間?;ㄐ涂刂齐娐纺K采用狀態(tài)機實現(xiàn),在狀態(tài)機的時序邏輯電路部分已經(jīng)采用計數(shù)器計時的方法直到計數(shù)器計時

27、達到時才進入下一個狀態(tài),如下為狀態(tài)機時序邏輯電路程序:process(clk,rst) variable count:integer range 0 to 10; begin if (rst='1') then pr_state<=a; count:=0; elsif(clk'event and clk='1') then count:=count+1; if (count=10) then pr_state<=nx_state; count:=0; end if; end if; y<=count; end process;為用數(shù)碼管

28、顯示當前的花型序號(分別為A、B、C,D,E,F(xiàn))以及該花型的顯示時間,只需要將顯示當前的花型序號程序二進制代碼以及該花型的顯示的時間的二進制代碼添加到狀態(tài)中即可,程序如下: a7:process(pr_state) begin case pr_state is when a=> x<="01100110" m<="1110111" nx_state<=b; z<=clker; when b=> x<="01000010" m<="1111100" nx_state&

29、lt;=c; z<=clk1; when c=> x<="1000001" m<="0111001" nx_state<=d; z<=clk2; when d=> x<="00011000" m<="1011110" nx_state<=e; z<=clk3; when e=> x<="00100100" m<="1111001" nx_state<=f; z<=clk4; whe

30、n f=> x<="11100111" m<="1110001" nx_state<=a; z<=clk5; end case; end process;仿真圖如下: 圖4.4 顯示電路模塊4.2.3 發(fā)聲電路模塊發(fā)生電路采用蜂鳴器,而蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件,它分為有源蜂鳴器和無源蜂鳴器兩種,有源蜂鳴器直接接上額定電源就可連續(xù)發(fā)聲,而無源蜂鳴器工作需要加入其理想信號方波,該課程設(shè)計采用無源蜂鳴器。對于每種花

31、型顯示時對應發(fā)出不用的聲音,這里就需要對其中輸入的時鐘信號進行分頻,改變temp的值能產(chǎn)生出不同頻率的聲音。在程序中添加不同的進程(process),來產(chǎn)生不同頻率的方波。程序如下:a1:process(clker) variable temp1:integer range 0 to 15; begin if clker'event and clker='1'then temp1:=temp1+1; if temp1=2 then clk1<=not clk1; temp1:=0; end if; end if; end process; 發(fā)聲電路模塊輸出信號z同

32、樣可以反映在狀態(tài)機的組合邏輯電路中,程序4.2.1中的組合邏輯電路 圖4.5 發(fā)聲電路模塊4.3 程序仿真圖綜合以上各模塊程序仿真圖如下: 圖4.6 程序仿真圖5 下載5.1 芯片選定 選擇Assignmentsdevives然后選擇芯片,芯片設(shè)定界面如圖5-1所示:圖5.1 芯片選定5.2引腳設(shè)定選擇AssignmentsPins然后設(shè)定引腳,引腳設(shè)定界面如圖5-2所示: 圖5.2 引腳設(shè)定5.3 程序下載引腳設(shè)定好后,將下載盒子插到USB接口,點擊 ,選擇Hardward和start當下載到100%時,就可以通過試驗箱進行驗證,下載驗證如圖5-3所示:圖5.3 程序下載5.4 結(jié)果顯示程序

33、下載到實驗板上完成后,程序運行結(jié)果在實驗板上得到實現(xiàn),八個LED發(fā)光二極管變換產(chǎn)生六種不同的花型樣式,七段譯碼管顯示與之對應的變換的花型序號A,B,C,D,E,F,同時LED譯碼管也開始計時,到達10秒后變換到下一個花型,蜂鳴器也對應不同花型發(fā)出不同的聲音,程序運行結(jié)果顯示正確。如下圖:圖 5.4 實驗板6 設(shè)計總結(jié)通過這次課程設(shè)計對技術(shù)有了更進一步的熟悉,VHDL 語言和語言等其他語言還是有很大的區(qū)別。VHDL是EDA技術(shù)的重要組成部分,其具有與具體硬件電路無關(guān)和與設(shè)計平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化、結(jié)構(gòu)化設(shè)計方面,表現(xiàn)了強大的生命力和應用

34、潛力。其主要的也是最大的優(yōu)點就在于設(shè)計者可以專心致力于其功能的實現(xiàn),而不需要對不影響功能的與工藝有關(guān)的因素花費過多的時間和精力。在實際操作中發(fā)現(xiàn)設(shè)計和課本上的知識有很大聯(lián)系,但又高于課本,一個簡單的原理要把它應用以及和其他功能綜合起來就有些困難。通過設(shè)計也鞏固了我們的書本知識以及通過借閱書籍和上網(wǎng)查找資料,也豐富了自己對的了解。 不過本次設(shè)計也存在一些不足,暴露了自己對的掌握還有所欠缺。在設(shè)計過程中,分頻分的太大,頻率太小的話,揚聲器的聲音體現(xiàn)不出顯示不同花型時的區(qū)別;頻率太大的話,數(shù)碼管顯示速度太快,嘗試分頻時使用不同的脈沖信號,但沒有成功。在反復調(diào)試中,最后還是成功了,但原理還不是很清楚。

35、同時,在課程設(shè)計過程中通過與老師、同學的交流,也了解了他們對于這門技術(shù)的看法和今后這門技術(shù)的發(fā)展方向,也感謝老師對我設(shè)計的指導和同學對我的幫助。總的來說,這次設(shè)計還是有所收獲的。參考文獻1 Voknei A.Pedroni.VHDL數(shù)字電路設(shè)計教程.電子工業(yè)出版社,2008.5 2 潘松,黃繼業(yè).EDA技術(shù)實用教程(第二版).科學出版社,2005.23 焦素敏.EDA應用技術(shù).清華大學出版社,2002.44 曾繁泰,陳美金.VHDL程序設(shè)計M.北京:清華大學出版社,20015 張昌凡等.可編程邏輯器件及VHDL設(shè)計技術(shù)M.廣州:華南理工大學出版社,2001附錄:源代碼程序library iee

36、e;use ieee.std_logic_1164.all;entity led isport(rst,clk,clker:in std_logic; x:out std_logic_vector(7 downto 0); y:out integer range 0 to 10; m:out std_logic_vector(6 downto 0); z:out std_logic);end led;architecture bhv of led is signal clk1,clk2,clk3,clk4,clk5:std_logic; type state is (a,b,c,d,e,f);

37、 signal pr_state,nx_state:state;begin a1:process(clker) variable temp1:integer range 0 to 15; begin if clker'event and clker='1'then temp1:=temp1+1; if temp1=2 then clk1<=not clk1; temp1:=0; end if; end if; end process; a2:process(clker) variable temp2:integer range 0 to 15; begin if

38、clker'event and clker='1'then temp2:=temp2+1; if temp2=4 then clk2<=not clk2; temp2:=0; end if; end if; end process; a3:process(clker) variable temp3:integer range 0 to 15; begin if clker'event and clker='1'then temp3:=temp3+1; if temp3=8 then clk3<=not clk3; temp3:=0; end if; end if; end process; a4:process(clker) variable temp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論