基于VerilogHDL設(shè)計的數(shù)字時鐘_第1頁
基于VerilogHDL設(shè)計的數(shù)字時鐘_第2頁
基于VerilogHDL設(shè)計的數(shù)字時鐘_第3頁
基于VerilogHDL設(shè)計的數(shù)字時鐘_第4頁
基于VerilogHDL設(shè)計的數(shù)字時鐘_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、深圳大學考試答題紙(以論文、報告等形式考核專用)二 18 二 19 年第 一 學期課程編號課程名稱硬件描述語言與邏輯綜合主講教師劉春平評分學 號 姓名李思豪 專業(yè)年級電子科學與技術(shù)16級1班 教師評語:題目:基于Verilog HDL設(shè)計的數(shù)字時鐘摘 要:本文運用Verilog HDL語言自頂向下的設(shè)計措施設(shè)計多功能數(shù)字鐘,突出了其作為硬件描述語言的良好的可讀性、可移植性和易理解等長處,并通過Altera Quartus 6.0和cyclnoe II EP2C35F672C6完畢綜合、仿真。此程序通過下載到FPGA芯片后,可應(yīng)用于實際的數(shù)字鐘顯示中核心詞:Verilog HDL;硬件描述語言;

2、FPGA目錄 TOC o 1-3 h z u HYPERLINK l _Toc 一、實驗任務(wù)3 HYPERLINK l _Toc 實驗?zāi)康? HYPERLINK l _Toc 實驗規(guī)定3 HYPERLINK l _Toc 二、設(shè)計思路3 HYPERLINK l _Toc 三、實驗成果10 HYPERLINK l _Toc 四、總結(jié)與收獲14 HYPERLINK l _Toc 實驗任務(wù)實驗?zāi)康倪M一步理解基于quartus ii工具的復雜時序邏輯電路的設(shè)計。理解并純熟運用EDA工具進行綜合設(shè)計。純熟掌握芯片燒錄的流程及環(huán)節(jié)。掌握Verilog HDL 語言的語法規(guī)范及時序電路描述措施。實驗規(guī)定設(shè)計

3、一種帶秒表功能的24 小時數(shù)字鐘,它涉及如下幾種構(gòu)成部分: 顯示屏,由6 個七段數(shù)碼管構(gòu)成,用于顯示目前時間(時:分,秒)或設(shè)立的秒表時間; 復位鍵 復位所有顯示和計數(shù) 設(shè)立鍵,用于擬定新的時間設(shè)立,三個消抖按鍵分別用于時分秒的設(shè)立 秒表鍵,用于切換成秒表功能基本規(guī)定(1) 計時功能:這是本計時器設(shè)計的基本功能,每隔一秒計時一次,并在顯示屏上顯示目前時間。(2) 秒表功能:設(shè)立時間,進行倒計時功能(3) 設(shè)立新的計時器時間:按下設(shè)立鍵后,顧客能通過時分秒三個消抖按鍵對時間進行設(shè)立。二、設(shè)計思路1、總原理框圖:原理如上圖所示,時鐘由分頻器模塊,數(shù)碼管顯示模塊,計時器模塊三個模塊構(gòu)成,每個模塊實現(xiàn)

4、如下的不同功能,最后通過在頂層模塊的調(diào)用,來實現(xiàn)時鐘功能。頂層模塊:頂層模塊調(diào)用三個字模塊,并且定義輸入輸出口,代碼輸入所示:module myclock2(daojishi,stop,clk,reset,shi,fen,miao,miaoout1,miaoout2,fenout1,fenout2,shiout1,shiout2);input clk,reset,stop,shi,fen,miao,daojishi; output6:0 miaoout1,miaoout2,fenout1,fenout2,shiout1,shiout2;wire3:0 miao1,miao2,fen1,fen2

5、,shi1,shi2;wire clk_1hz;divider_1HZ divider1hz(clk_1hz,reset,clk);count count1(daojishi,shi,fen,miao,stop,miao1,miao2,fen1,fen2,shi1,shi2,reset,clk_1hz);decode4_7 d0(miaoout1,miao1);decode4_7 d1(miaoout2,miao2);decode4_7 d2(fenout1,fen1);decode4_7 d3(fenout2,fen2);decode4_7 d4(shiout1,shi1);decode4_

6、7 d5(shiout2,shi2);endmodule 輸入輸出端口類型功能表:引腳名類型 功能daojishiinput秒表倒計時模式stopinput暫停按鍵clkinput晶振脈沖resetinput復位按鍵shiinput小時調(diào)節(jié)按鍵feninput分鐘調(diào)節(jié)按鍵miaoinput秒調(diào)節(jié)按鍵miaoout1output秒個位數(shù)碼管輸出miaoout2output秒十位數(shù)碼管輸出fenout1output分個位數(shù)碼管輸出fenout2output分十位數(shù)碼管輸出shiout1output時個位數(shù)碼管輸出shiout2output時十位數(shù)碼管輸出三個子模塊的原理和代碼:(1)分頻模塊 :分

7、頻模塊的作用重要是要獲得多種頻率的時鐘信號。輸入信號27MHZ的信號,要想獲得1HZ的信號作為秒脈沖計時,則要對27MHZ信號分頻。通過計數(shù)的方式,當計數(shù)從0開始到13999999時,1HZ信號取反一次,計數(shù)又從0開始,如此循環(huán),就可以得到1HZ脈沖信號。對于其她信號也是如此,只是計數(shù)值不同樣,得到的分頻信號不同。模塊代碼如下:module divider_1HZ(clk_1hz,reset,clk);output clk_1hz;input reset,clk;reg clk_1hz;reg23:0 count;always (posedge clk)begin if(reset)begin

8、 count=0; clk_1hz=0; end else begin if(count=13499999)begincount=0;clk_1hz=clk_1hz;endelsecount=count+1;/計數(shù)endendendmodule譯碼顯示模塊:一、數(shù)碼管顯示:通過傳入響應(yīng)的十進制數(shù),運用case語句轉(zhuǎn)換輸出相應(yīng)的7位二進制顯示碼,送入數(shù)碼管顯示。 代碼如下:module decode4_7(temp,indec);output6:0 temp;input3:0 indec;reg6:0 temp;always (indec)begincase(indec) /用case 語句進行

9、譯碼4d0:temp6:0=7b1000000; 4d1:temp6:0=7b1111001; 4d2:temp6:0=7b0100100; 4d3:temp6:0=7b0110000; 4d4:temp6:0=7b0011001; 4d5:temp6:0=7b0010010; 4d6:temp6:0=7b0000010; 4d7:temp6:0=7b1111000; 4d8:temp6:0=7b0000000; 4d9:temp6:0=7b0010000; default: temp=7bz;endcaseendendmodule、計時器模塊 :秒計數(shù):在1HZ脈沖下進行秒計時,當計時達到5

10、9秒后,在下一種脈沖來臨變0,并發(fā)出一種脈沖信號,可供下面分鐘計數(shù)作為輸入脈沖信號計時。分鐘計數(shù):在輸入脈沖下,分鐘開始計時,當計時達到59后,在下一種脈沖來臨變0,并發(fā)出一種脈沖,供小時計數(shù)的輸入脈沖新號。小時計數(shù):脈沖信號來臨時,計數(shù)加1,達到23后在下一種脈沖的作用下清零,從新計時。如果有復位信號,則時分秒所有清零。計時器模塊還涉及了設(shè)立時間 和秒表切換的功能部分代碼如下:module count(daojishi,shi,fen,miao,stop,miao1,miao2,fen1,fen2,shi1,shi2,reset,clk_1hz);input reset,clk_1hz,st

11、op,daojishi;input shi,fen,miao;output miao1,miao2,fen1,fen2,shi1,shi2;reg3:0 miao1,miao2,fen1,fen2,shi1,shi2; always (posedge clk_1hz) begin if(reset) begin miao1=0;miao2=0;fen1=0;fen2=0;shi1=0;shi2=0; end if(stop=1)begin /秒調(diào)節(jié) if(miao=0) begin miao1=miao1+1; if(miao1=9) begin miao1=0; miao2=miao2+1;

12、 if(miao2=5) begin miao2=0; end end end if(fen=0) /分調(diào)節(jié) begin fen1=fen1+1; if(fen1=9) begin fen1=0; fen2=fen2+1; if(fen2=5) begin fen2=0; end end end if(shi=0) /時調(diào)節(jié) begin shi1=shi1+1; if(shi1=9|(shi1=3)&(shi2=2) begin shi1=0; shi2=2) begin shi2=0; end end end end if(!reset)&(stop=0) begin if(daojishi

13、=0) /時鐘程序 begin miao1=miao1+1; if(miao1=9) begin miao1=0; miao2=miao2+1; if(miao2=5) begin miao2=0; fen1=fen1+1; if(fen1=9) begin fen1=0; fen2=fen2+1; if(fen2=5) begin fen2=0; shi1=shi1+1; if(shi1=9)|(shi1=3)&(shi2=2) begin shi1=0; shi2=shi2+1; if(shi2=2) begin shi2=0; end end end end end end end el

14、se /倒計時程序 begin if(!(shi1=0)&(shi2=0)&(fen1=0)&(fen2=0)&(miao2=0)&(miao1=0) begin miao1=miao1-1; if(miao1=0) begin miao1=9; miao2=miao2-1; if(miao2=0) begin miao2=5; fen1=fen1-1; if(fen1=0) begin fen1=9; fen2=fen2-1; if(fen2=0) begin fen2=5; shi1=shi1-1; if(shi1=0) begin shi1=9; shi2=shi2-1; if(shi2

15、=0) begin shi2=0; end end end end end end end end end endendmodule引腳排布:如下所示: 引腳分布圖二、實驗成果波形仿真在Quartus II中運用仿真波形進行功能或時序仿真的基本環(huán)節(jié)如下:(1)創(chuàng)立新的矢量波形文獻(*.vwf).(2)添加輸入、輸出節(jié)點。(3)編譯輸入節(jié)點的波形。(4)完畢矢量波形文獻的創(chuàng)立之后,顧客即可以對設(shè)計進行功能或時序仿真。(5)仿真啟動后,狀態(tài)窗口會同步自動打開,在狀態(tài)窗口中顯示仿真進度及所用時間。(6)默認狀況下,仿真器報告窗口內(nèi)在仿真過程中會顯示仿真波形部分,其中還涉及目前仿真器的設(shè)立信息和仿真信

16、息等。 下面我們單獨對三個子模塊分別進行仿真并分析仿真成果:分頻器模塊仿真成果: 分頻器仿真圖仿真分析:我們?nèi)r鐘信號的周期是20ns,為了讓仿真成果更明顯,取每三個時鐘周期讓秒脈沖clk_1hz翻轉(zhuǎn)一次,而不是1349999翻轉(zhuǎn)一次。并且讓reset復位信號在仿真的160ns-300ns有效。成果如圖所示,在每三個時鐘信號浮現(xiàn)時,秒脈沖都會翻轉(zhuǎn)一次,在reset信號有效時,秒脈沖無輸出,仿真成果符合估計規(guī)定。顯示譯碼模塊仿真成果: 數(shù)碼管輸出數(shù)字8仿真圖 數(shù)碼管輸出數(shù)字8仿真圖仿真成果分析: indec是我們要輸出的十進制數(shù),temp是連接7段數(shù)碼的7位二進制數(shù),已知數(shù)碼管為共陰極數(shù)碼管。我

17、們設(shè)定indec為8,從圖中可以看見temp7:0都是0;因此7個數(shù)碼管都會被點亮,就是顯示8。我們再設(shè)定indec為1,可以預(yù)見1在數(shù)碼管中應(yīng)當是亮兩個,如第二圖所示只有temp1和temp2是0,因此就是亮兩個燈,顯示1。仿真成果符合設(shè)計規(guī)定。計時器模塊仿真成果: 計數(shù)器計數(shù)仿真圖 計數(shù)器復位測試仿真圖 仿真成果:miao1,miao2,fen1,fen2,shi1,shi2分別是秒分時的個位和十位,時鐘脈沖clk_1hz每一種上升沿,miao1就加1,miao1再依次進位給更高的為。如圖所示,當miao1計數(shù)到9的時候,miao2加1,當miao2計數(shù)到5的時候,fen1加1,時鐘計數(shù)功

18、能實現(xiàn),仿真符合設(shè)計規(guī)定。圖二是復位信號reset的測試,當reset為1有效時,合計的時間清零。如圖因此,當reset=1時,miao1,miao2,fen1,fen2,shi1,shi2所有變0,仿真符合技術(shù)規(guī)定。此模塊尚有設(shè)立時間和倒計時的功能,但是在波形仿真中不夠直觀,因此不做波形仿真。DE2開發(fā)板實現(xiàn)將開發(fā)板插入電腦中,燒錄進程序,進行各項功能測試,涉及計時功能,時間調(diào)節(jié)功能,秒表功能,復位功能,暫停功能。實驗過程記錄:燒錄程序完畢,DE2立即開始從0秒計數(shù),依次向分鐘,小時進位,當時間為23:59:59時,下一秒所有跳0;時鐘功能實現(xiàn)。復位功能測試:switch0為復位信號按鍵,撥下該

溫馨提示

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

評論

0/150

提交評論