




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
湖南科技大學信息與電氣工程學院《VHDL語言》課程設(shè)計報告題目:VHDL語言課程設(shè)計專業(yè):班級:姓名:學號:課程設(shè)計任務(wù)書題目設(shè)計時間設(shè)計目的:設(shè)計要求:總體方案實現(xiàn):指導教師評語:課程設(shè)計的目的:1,通過本次課程設(shè)計,熟練掌握MAX-PLUS2的應(yīng)用,操作,并對VHDL語言的編程做一實踐檢驗,編出程序,并進行仿真,并根據(jù)所得仿真圖形分析和推斷并改進所涉及的程序,讓程序在現(xiàn)實生活中得以更貼近的應(yīng)用。2,本次操作的命題一是:循環(huán)彩燈控制器,本設(shè)計的要求是:設(shè)計一個循環(huán)彩燈控制器,該控制器控制紅,綠,黃三個發(fā)光管循環(huán)點亮。要求紅發(fā)光管亮3秒,綠發(fā)光管亮2秒,黃發(fā)光管亮1秒。3,本次操作的命題二是:數(shù)字顯示的秒表,本設(shè)計的要求是:設(shè)計一塊用數(shù)碼管顯示的秒表,能夠準確的計時并顯示。最大計時為59秒,最小精確到0.1秒。二、設(shè)計方案的論證:命題一循環(huán)彩燈控制器的方案一:在本題中要求控制器可以控制紅,綠,黃三個發(fā)光管循環(huán)點亮,并且要求發(fā)光的時間不一樣,這樣,本質(zhì)設(shè)計思想是循環(huán)累加,即時鐘信號高電平開始,m值開始累加,CASEmISWHEN"001"=>dout<="100";WHEN"010"=>dout<="100";WHEN"011"=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="111";ENDCASE;前三個值都將賦值給dout1,也就是紅燈發(fā)光的三秒,然后兩個賦值給綠燈,最后一秒賦值給黃燈。這樣,dout的不同值將點亮不同顏色的燈,下面是表示三種燈的點亮程序。red<=dout(2);green<=dout(1);yellow<=dout(0);以此類推,我們可以實現(xiàn)三個彩燈不同時間的循環(huán)點亮。真值表如下:mm值燈1(001)2010301141005101611071110000紅燈11100000綠燈00011000黃燈00000100命題一循環(huán)彩燈控制器方案二:根據(jù)題目要求,可以設(shè)計一個計數(shù)器來實現(xiàn),在開始計數(shù)前,我們采用計數(shù)器將每一個數(shù)字進行技術(shù),然后再根據(jù)不同的點亮時間一次分派不同顏色的燈讓他們顯示。這樣就需要編程三個進程,在需要依次膚質(zhì)就可以達到效果。綜上兩種方案:方案一,簡單可行性好,容易理解,編程簡單,使讀者更容易懂,設(shè)計者也方便設(shè)計,而方案二也可以達到課設(shè)的要求,但是,有很多不足之處,編程繁瑣,給設(shè)計者帶來諸多不便,相對之下,還是選擇第一種方案,命題二數(shù)字顯示的秒表設(shè)計方案,在設(shè)計過程中要求設(shè)計的秒表能夠準確顯示時間,最大計時為59秒,最小精確到0.1秒。通過分析,我們可以通過三個進程分別顯示一個數(shù)字,每一個進程分別計數(shù),因為在VHDL語言中,進程是同時進行的,只有在進程內(nèi)部才是按照順序進行的,所以,計數(shù)是同時進行的,我們可以通過采取計數(shù)的原理來實現(xiàn)秒表的顯示,后面兩位都是十進制,最前面的計數(shù)到5結(jié)束,在進行設(shè)計過程中考慮到實際現(xiàn)實中的應(yīng)用,做了相應(yīng)改進,我們可以通過一個時鐘控制它無法顯示到59.9秒的時候,然后重新開始,即復(fù)位,我們也可以在計數(shù)的時候按照我們的意愿讓秒表暫停。這樣設(shè)計更符合實際應(yīng)用。命題二改進(1):IF(CLR='1')THENOUT1<="0000";遇到中途計數(shù)清零設(shè)計,我們可以通過對clr的控制來控制秒表的計數(shù)。命題二改進(2):IF(START='1')THENOUT1<=OUT1+'0';增加這個程序段,我們可以中途暫停,如果不加,那么整個程序只能在到達計數(shù)末端才能清零,即每次都是從0到59.9秒的計數(shù),但是增加該段,那么,我們就可以在0到59.9之間,任何一個時間點暫停,以供我們的需求。三、設(shè)計仿真及結(jié)果分析:命題一循環(huán)彩燈控制器:根據(jù)程序調(diào)試仿真圖如下:(仿真圖中的us表示現(xiàn)實中表示s)分析:從圖形可以看出,清零端低電平,時鐘信號上升沿時m值開始計數(shù),隨著m值的變化,彩燈的顯示一塊變化,圖示顯示,red燈點亮3秒,gree燈點亮2秒,yellow燈點亮1秒,整個周期是六秒一個循環(huán),基本上實現(xiàn)了題目的要求。命題二數(shù)字顯示的秒表數(shù)字顯示秒表仿真結(jié)果如下:仿真結(jié)果分析:根據(jù)程序仿真,時鐘上升沿開始計數(shù),從圖形可以看出,out1從1開始計數(shù)到9,然后循環(huán)繼續(xù)重復(fù)上述計數(shù),在out1計數(shù)到9的時候,現(xiàn)實中,應(yīng)給out2開始計數(shù),從圖形來看,符合實際應(yīng)用,當out2計數(shù)到9的時候,out3開始計數(shù),也就是說,每一個都符合計數(shù)的要求和現(xiàn)實生活的應(yīng)用。但是這樣只能計數(shù)從0開始到59.9秒,符合題目的要求,但是,在現(xiàn)實中,我們需要一個多用的計數(shù)器,所以,進行了改進,我們可以根據(jù)需要,讓秒表停到我們需要的數(shù)字,這樣便于應(yīng)用,而且,我們在沒計數(shù)到59.9秒的時候進行清零,這樣我們更貼切生活的應(yīng)用。上述的仿真結(jié)果分析:處理在前面的計數(shù)和正常顯示外,從圖上我們可以看出,當CLR為高電平時,所有計數(shù)都清零,從新開始計數(shù),在START為高電平時,計數(shù)暫停在該點,也符合我們?nèi)粘I畹膽?yīng)用。這樣就解決了前面遇到的問題。四、設(shè)計及仿真中的體會。這次課程設(shè)計中,我們不但學習了maxplus軟件的應(yīng)用,而且鞏固了以前所學的理論知識,特別是VHDL語言的學習和編程,我們也學習了數(shù)電和電路的相關(guān)知識,也是一次很好的復(fù)習,也是一次很好的實踐。下面就本次課程設(shè)計中遇到的問題和解決方案做一總結(jié):第一:初次接觸maxplus,剛開始的時候只是對軟件的熟悉,通過老師的指導和書本的查閱,基本掌握該軟件的簡單應(yīng)用。第二:程序的編程和調(diào)試。我們在理論學習中就編程,所以,編程不會是很大的問題,但是以前只是理論上的編程,只是隨著認得意識而編寫的,所以,當我們編程完成以后開始調(diào)試的時候發(fā)現(xiàn)很多問題。在進行程序調(diào)試的時候首先發(fā)現(xiàn)了路徑無法打開,進過老師的指導,結(jié)合理論知識的解釋,我們做了很多改變開得以解決。其次,受C語言的影響,編程有些太復(fù)雜,出現(xiàn)特多警告,后來在老師的耐性指導和修改下,然后通過自己的思考將其改正。在調(diào)試的過程中還會出現(xiàn)很多很普通的錯誤,比如說,標點符號,定義變量名的時候出現(xiàn)了相當多的錯誤,這些只要編程序時細心認真就可以解決。
第三:程序的仿真。程序的仿真應(yīng)該說是這次課程設(shè)計中最有收獲的,因為之前從沒接觸過,通過仿真,我們可以清楚的看出程序的應(yīng)用,和相關(guān)需要出現(xiàn)的結(jié)果,還有一些我們在編程過程中的變量等等的顯示,這樣也有助于我們的程序編程的改進,貼別是在設(shè)計命題二的時候,只要仿真完就可以發(fā)現(xiàn)問題,并及時修改,最后達到完美。第四,程序優(yōu)化,改進。在按照課題的設(shè)計過程中,發(fā)現(xiàn),如果按照題目的要求設(shè)計,那么,這個硬件的設(shè)計太單一,而且在應(yīng)用中不太理想,所以,就做了些許改進,命題二在題目的要求基礎(chǔ)上,加了中途暫停和在沒有計數(shù)滿的情況下清零功能,這樣,更符合實際的應(yīng)用。五、對本次課程設(shè)計的體會和建議:通過兩周的緊張努力,我們成功完成了這次課程設(shè)計,我們不但學會了maxplus軟件的應(yīng)用,而且復(fù)習了前面學過的很多理論知識,我們統(tǒng)籌兼顧的學習了理論和實踐應(yīng)用的區(qū)別,讓我體會深刻的是,實踐是檢驗整理的唯一標準,如果沒有這次課程設(shè)計,就沒法想到VHDL語言在我們學習和和生活中的重大應(yīng)用,這將給我們一個很好的體會,給我們以后更好學習專業(yè)課程做了鋪墊,也是我們將來工作的一個幫手。在這次課程設(shè)計中也有很多遺憾,所以通過這次課程設(shè)計我們可以做以下建議:首先,在正常的理論教學中,引導學生學習maxplus軟件的應(yīng)用,在短時間的學習效果不是很好。二,希望有機會,我們可以再自己做好編程和調(diào)試的基礎(chǔ)上做出實物,相信這樣會有更好的收獲。六、參考文獻:參考書目:【1】侯伯亨編,《VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計》,西安電子科技大學出版社,1999年版。【2】邢建平曾繁太編,《VHDL設(shè)計教程》,清華大學出版社,2005版【3】劉凱,VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計,西安電子科技大學出版社,2009.8七、附錄:附錄一選題一源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcaidengISPORT(clk,clr:INSTD_LOGIC;red,green,yellow:OUTSTD_LOGIC);ENDENTITYcaideng;ARCHITECTURExh_rtlOFcaidengISSIGNALdout:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALm:STD_LOGIC_VECTOR(2DOWNTO0);BEGINred<=dout(2);green<=dout(1);yellow<=dout(0);PROCESS(clk)ISBEGINIF(clr='1')THENm<="001";ELSIF(clk'EVENTANDclk='1')THENIF(m="110")THENm<="001";ELSEm<=m+1;ENDIF;CASEmISWHEN"001"=>dout<="100";WHEN"010"=>dout<="100";WHEN"011"=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="111";ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTURExh_rtl;附錄二選題二源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYmiaobiaoISPORT(CLK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);WR3,WR2,WR1,CLR,START:INSTD_LOGIC;DOUT3:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT1:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYmiaobiao;ARCHITECTUREEXAMPLEOFmiaobiaoISSIGNALOUT3:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALOUT2:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALOUT1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINDOUT3<=OUT3;DOUT2<=OUT2;DOUT1<=OUT1;PROCESS(CLK)ISBEGINIF(CLR='1')THENOUT1<="0000";ELSIF(CLK'EVENTANDCLK='1')THENIF(START='1')THENOUT1<=OUT1+'0';ELSIF(WR1='1')THENOUT1<=DIN;ELSIF(OUT1="1001")THENOUT1<="0000";ELSEOUT1<=OUT1+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK)ISBEGINIF(CLR='1')THENOUT2<="0000";ELSIF(CLK'EVENTANDCLK='1')THENIF(START='1')THENOUT2<=OUT2+'0';ELSIF(WR2='1')THENOUT2<=DIN;ELSIF(OUT1="1001")THENIF(OUT2="1001")THENOUT2<="0000";ELSEOUT2<=OUT2+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK)ISBEGINIF(CLR='1')THENOUT3<="0000";IF(CLK'EVENTANDCLK='1'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓綜合服務(wù)協(xié)議書范本
- 私人空調(diào)租賃合同協(xié)議
- 土地挖地合同協(xié)議
- 設(shè)備設(shè)計合同協(xié)議
- 采購部下半年工作計劃
- 小醫(yī)生體驗活動合同協(xié)議
- 工廠夫妻焊工合同協(xié)議
- 土方運輸單價合同協(xié)議
- 學校智能化設(shè)計
- 工商變更代辦合同協(xié)議
- 統(tǒng)編版語文六年級下冊第一單元“民風民俗”作業(yè)設(shè)計
- 改革開放與新時代知到智慧樹章節(jié)測試課后答案2024年秋同濟大學
- 雙全日培訓課件
- 甲油膠行業(yè)報告
- 醫(yī)務(wù)人員職業(yè)暴露與防護講課
- 山東省萊西市2024-2025學年高一語文下學期3月月考試題含解析
- 康復(fù)科人員崗位考核制度(3篇)
- 實驗動物生物樣本質(zhì)量控制規(guī)范
- 智能機器人配送行業(yè)現(xiàn)狀分析及未來三至五年行業(yè)發(fā)展報告
- 炎癥性腸病的外科治療
- 復(fù)變函數(shù)與積分變換課程教案講義
評論
0/150
提交評論