基于.--verilog的數字秒表的設計實現_第1頁
基于.--verilog的數字秒表的設計實現_第2頁
基于.--verilog的數字秒表的設計實現_第3頁
基于.--verilog的數字秒表的設計實現_第4頁
基于.--verilog的數字秒表的設計實現_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、.wd?HDL語言應用與設計?實驗報告基于Verilog HDL數字秒表的設計班級:信科13-01班姓名:張誼坤學號:08133367教師:王冠軍基于Verilog HDL數字秒表的設計一、 秒表功能1. 計時范圍:00:00:0059:59:992. 顯示工作方式:八位數碼管顯示3具有暫停和清零的功能二、實驗原理1實驗設計原理1秒表的邏輯構造較簡單,它主要由十進制計數器、六進制計數器、分頻器、數據選擇器、和顯示譯碼器等組成。在整個秒表中最關鍵的是如何獲得一個準確的100HZ計時脈沖,除此之外,整個秒表還需有一個啟動信號和一個清零信號,以便秒表能隨意停頓、啟動以及清零復位。2秒表有共有8個輸出

2、顯示,其中6個顯示輸出數據,分別為百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6個計數器與之相對應;另外兩個為間隔符,顯示-。8個計數器的輸出全都為BCD碼輸出,這樣便與同顯示譯碼器連接。3可定義一個24位二進制的存放器hour用于存放8個計數器的輸出,存放器從高位到低位每連續4位為一組,分別存放百分之一秒、十分之一秒、間隔符、秒、十秒、間隔符、分、十分。由頻率信號輸出端輸出頻率為100HZ的時鐘信號,輸入到百分之一秒模塊的時鐘端clk,百分之一秒模塊為100進制的計數器,當計數到“1001時,百分之一秒模塊清零,同時十分之一秒模塊加1;十分之一秒模塊也為100進制的計數器,當計數到“

3、1001時,十分之一秒模塊清零,同時秒模塊加1;以此類推。直到分模塊計數到59進59。秒表計數單位與對應輸出信號hour3:0百分之一秒hour7:4十分之一秒hour11:8秒Hour15:12十秒Hour19:16分hour23:20十分4為了消除按鍵消抖問題,定義存放器key-inner來存儲按鍵key的輸入信號,key-flag作為啟動/暫停的轉換標志,key-inner0出現一個下降沿時,key-flag取反一次,當key-flag為0時計數器啟動,1時計數器暫停,當key-flag為1同時key-inner1為9時,計數器清零。5定義18位存放器count用于存放分頻和掃描用的計數

4、值。50MHZ的時鐘信號500000分頻,得到100HZ的時鐘信號,而計數器以50MHZ的時鐘信號218分頻掃描8個七段譯碼器。 2. 實驗原理框圖秒表設計原理框圖50MHZReg1:0分頻掃描顯示計數100HZ三、實驗過程1、秒表總程序:module dapeng(clk_50M,dig,seg,ena,key);input1:0key;input clk_50M;/輸入頻率為50MHZ的時鐘output2:0dig;/數碼管位選output7:0seg;/數碼管段選output ena;/3-8譯碼器使能reg2:0dig,count3b;reg7:0seg;reg3:0disp_dat;

5、/定義顯示數據存放器reg18:0count;/定義計數存放器reg23:0hour;/定義現在時刻存放器reg clk100;/50MHZ的時鐘信號500000分頻,得到100HZ的時鐘信號reg key_flag;/啟動/暫停的切換標志reg1:0key_inner;assign ena=0;/按鍵輸入緩存always(posedge count16)beginkey_inner=key;endalways(negedge key_inner0)beginkey_flag=key_flag;end/0.01秒信號產生局部,產生100HZ的時鐘信號always(posedge clk_50M

6、)beginif(count=249999)beginclk100=clk100;count=0;endelsecount=count+1b1;end/數碼管動態掃描顯示局部always(posedge count10)begincount3b=count3b+1;case(count3b)3d7:disp_dat=hour3:0;3d6:disp_dat=hour7:4;3d5:disp_dat=4ha;3d4:disp_dat=hour11:8;3d3:disp_dat=hour15:12;3d2:disp_dat=4ha;3d1:disp_dat=hour19:16;3d0:disp_d

7、at=hour23:20;default:disp_dat=4bxxxx;endcasedig=count3b;endalways(disp_dat)begincase(disp_dat)4h0:seg=8h3f; 4h1:seg=8h06; 4h2:seg=8h5b; 4h3:seg=8h4f; 4h4:seg=8h66; 4h5:seg=8h6d; 4h6:seg=8h7d; 4h7:seg=8h07; 4h8:seg=8h7f; 4h9:seg=8h6f; 4ha:seg=8h40; default:seg=8bxxxxxxxx;endcaseend/計時處理局部always(posed

8、ge clk100)/計時處理beginif(!key_inner1&key_flag=1)/判斷是否復位鍵beginhour=24h0;endelse if(!key_flag)beginhour3:0=hour3:0+1;if(hour3:0=4ha)beginhour3:0=4h0;hour7:4=hour7:4+1;if(hour7:4=4ha)beginhour7:4=4h0;hour11:8=hour11:8+1;if(hour11:8=4ha)beginhour11:8=4h0;hour15:12=hour15:12+1;if(hour15:12=4h6)beginhour15:

9、12=4h0;hour19:16=hour19:16+1;if(hour19:16=4ha)beginhour19:16=4h0;hour23:20=hour23:20+1;endif(hour23:20=4h6)hour23:20=4h0;endendendendendendendmodule2.編譯調試編譯后結果如下:編譯正確,接下來進展硬件測試。3硬件實現根據如下各表綁定硬件引腳:50MHZ晶振與FPGA管腳配置表信號名稱對應FPGA管腳名稱功能說明50MHZPin_L150MHZ Clock input八位七段數碼管接口與FPGA管腳配置表信號名稱FPGA I/O名稱核心板接口管腳號功

10、能說明Seg0Pin_M6JP1_287-Seg display “aSeg1Pin_M5JP1_277-Seg display “bSeg2Pin_L8JP1_267-Seg display “cSeg3Pin_J4JP1_257-Seg display “dSeg4Pin_H6JP1_247-Seg display “eSeg5Pin_H5JP1_237-Seg display “fSeg6Pin_H4JP1_227-Seg display “gSeg7Pin_H3JP1_207-Seg display “dpSEL0Pin_N6JP1_317-Seg COM port setcleSEL

11、1Pin_N4JP1_30SEL2Pin_N3JP1_29按鍵開關模塊接口與FPGA管腳配置表信號名稱FPGA I/O名稱核心板接口管腳號功能說明S0Pin_Y18JP2_49S1 SwitchS1Pin_Y19JP2_47S2 SwitchS2Pin_Y20JP2_45S3 SwitchS3Pin_W20JP2_43S4 SwitchS4Pin_Y17JP2_50S5 SwitchS5Pin_V15JP2_48S6 SwitchS6Pin_V14JP2_46S7 SwitchS7Pin_U15JP2_44S8 Switch引腳綁定后如下如以下列圖:綁定完成后編譯,無錯誤后下載測試:硬件測試結

12、果:數碼管顯示格式為:00-00-00,計時進展, Run/stop和Reset功能鍵由FPGA板子上的開關欄的key0和key1代替,按一下key0鍵,數碼管上的時間停頓計時,然后按下key1鍵,數碼管上時間清零復位為00-00-00;接著再按一下key0鍵,數碼管重新開場計時。四、實驗感悟 經過這次的實驗,讓我們對Verilog HDL語言掌握程度加深了,對QuartusII這個軟件的使用也相對開場來說更加熟悉,經過實驗,對課上的知識有了進一步的熟悉。當然,試驗期間也存在許多問題,剛開場寫程序時常因Verilog HDL語言的不熟悉,常出現綜合錯誤的問題,有時程序雖然編譯沒有錯誤,但下到板子上時,卻顯示有誤,還需要經過屢次的調試。總的來說,只要仔細檢查、并經常使用該語言后,就會在很大程度上防止諸如語法錯誤等非邏輯問題。在定義存放器用于計數功能時,最好先賦

溫馨提示

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

評論

0/150

提交評論