數(shù)字系統(tǒng)設(shè)計與VHDL課程大作業(yè)參考模板_第1頁
數(shù)字系統(tǒng)設(shè)計與VHDL課程大作業(yè)參考模板_第2頁
數(shù)字系統(tǒng)設(shè)計與VHDL課程大作業(yè)參考模板_第3頁
數(shù)字系統(tǒng)設(shè)計與VHDL課程大作業(yè)參考模板_第4頁
數(shù)字系統(tǒng)設(shè)計與VHDL課程大作業(yè)參考模板_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)字系統(tǒng)設(shè)計與VHDL課程大作業(yè) 霓虹燈電路設(shè)計學(xué)院: 計算機科學(xué)與工程班級:計算機科學(xué)與技術(shù)一班學(xué)號:1305010126姓名:唐艷香組員:鄭林升,袁博,唐艷香實驗內(nèi)容:1) 使用平臺上的8個七段數(shù)碼管進行顯示,即圍繞平臺上的8個數(shù)碼管轉(zhuǎn)圈;2) 要求同時顯示的段數(shù)為1、2、3段可選;3) 可進行順向、逆向顯示(通過某一開關(guān)鍵進行選擇);4) 按下復(fù)位鍵后,重新開始旋轉(zhuǎn);5) 多種點亮方式自選,如全亮等。總體模塊劃分: 1)定義輸入輸出端; 2)由于只有一個主程序,所有模塊都直接添加在里面。主程序中可看做復(fù)位,旋轉(zhuǎn)方向,旋轉(zhuǎn)速度,旋轉(zhuǎn)塊數(shù)的小程序結(jié)合; 3)建立波形圖,進行仿真; 4)綁定

2、引腳,下載程序進行測試; 5)修正小bug。代碼實現(xiàn):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;1 / 12entity water_lamp is generic(n:integer:=60000); port(clk_sys:in std_logic; order:in std_logic; k:in std_logic; q:in std_logic; num:in std_logic_vector(2 downto 0); L

3、:out std_logic_vector(7 downto 0); LED:out std_logic_vector(7 downto 0);end water_lamp;architecture one of water_lamp is signal cnt:integer range 0 to n; signal cnt1:integer range 0 to n; signal cnt2:integer range 0 to n; signal clk_new:std_logic; signal cnm:integer range 19 downto 0; signal cnm0:in

4、teger range 19 downto 0; signal clk_new1:std_logic; signal clk_new2:std_logic_vector(0 to 1):=00;beginp1:process(clk_sys) beginif clk_sysevent and clk_sys=1 then if cntinteger(n/2)-1 thencnt=cnt+1; elsecnt=0;clk_new0 then cnm=cnm-1; else cnm=19; end if; else if cnm19 thencnm=cnm+1; else cnm=0; end i

5、f; end if; end if; end process p2;p3:process(cnm,num,clk_sys,cnt1,cnt2,clk_new2) begin if num=001 then cnm0=cnm; elsif num=011 then if clk_sysevent and clk_sys=1then if cnt1integer(n/1000) then cnt1=cnt1+1; else cnt1=0; clk_new1=not clk_new1; end if; end if;if clk_new1=0 thencnm0=cnm;elseif cnm=19 t

6、hencnm0=0;elsecnm0=cnm+1;end if;end if;elsif num=111 thenif clk_sysevent and clk_sys=1thenif cnt2integer(n/1000) then cnt2=cnt2+1; else cnt2=0; if clk_new2=00 then clk_new2=01; cnm0=cnm; elsif clk_new2=01 then clk_new2=10;if cnm=19 thencnm0=0;elsecnm0=cnm+1;end if; elsif clk_new2=10 then clk_new2=00

7、;if cnm=18 thencnm0=0;elsif cnm=19 thencnm0=1;elsecnm0L=01111111;LEDL=10111111;LEDL=11011111;LEDL=11101111;LEDL=11110111;LEDL=11111011;LEDL=11111101;LEDL=11111110;LEDL=11111110;LEDL=11111110;LEDL=11111110;LEDL=11111101;LEDL=11111011;LEDL=11110111;LEDL=11101111;LEDL=11011111;LEDL=10111111;LEDL=011111

8、11;LEDL=01111111;LEDL=01111111;LEDLED= 00000000; end case; else L=11111111;LED=00000000; end if; if q=1then L=00000000;LED=11111111; end if; end process p4;end one;仿真結(jié)果:(縮略圖)(展開圖)設(shè)計總結(jié)及心得體會 : 經(jīng)過將近兩周的學(xué)習(xí)與動手操作,終于將老師所布置的實驗完成。鄭林升是我們組的核心開發(fā)人員,跟著他一步一步感覺自己漲了很多知識說不累那是騙人的,在期末將近時做這個實驗,讓我們對以前一些不熟悉的知識點加深一些印象。也讓我們學(xué)

9、到了許多新的知識點,比如:在程序的編寫過程中,我們可以利用if語句進行優(yōu)先級順序的判斷,這一點是用VHDL語言進行設(shè)計數(shù)字邏輯電路的共同點,也是我們學(xué)習(xí)過程中必須掌握的內(nèi)容。 我們剛開始接觸到這些東西時,有種無從下手的感覺,雖然學(xué)過一些關(guān)于這方面的知識,但離實踐還差一大截,更何況我們對于這類的編程軟件和編程模式完全不熟悉,所以在剛開始編程時,老出現(xiàn)錯誤,而且哪兒出錯也不知道,查了很多資料還是沒解決,無奈之下,只能從頭開始找尋錯誤,最后還是鄭林升發(fā)現(xiàn)是由于軟件還沒破解才完成整個實驗。在綁定引腳時,沒認(rèn)真看電路板的型號,也沒經(jīng)驗,不知道具體電路板要由與之相符打device去匹配,導(dǎo)致在調(diào)試電路板時,電路板總不聽使喚。最后在其他組同學(xué)

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論