verilog數(shù)字鐘課程設(shè)計(共22頁)_第1頁
verilog數(shù)字鐘課程設(shè)計(共22頁)_第2頁
verilog數(shù)字鐘課程設(shè)計(共22頁)_第3頁
verilog數(shù)字鐘課程設(shè)計(共22頁)_第4頁
verilog數(shù)字鐘課程設(shè)計(共22頁)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計報告 課程設(shè)計題目: 數(shù)字鐘系統(tǒng) 學(xué) 號: 201420130228 學(xué)生姓名: 劉進(jìn)輝 專 業(yè): 通信工程 班 級: 1421301 指導(dǎo)教師: 鐘凱老師 2017年 1 月 1 日 目錄1 摘要.32 概念及原理 .43 實驗過程及分析.54 實驗心得 .75 參考文獻(xiàn).76 實驗代碼.87 評分表.14摘要 在社會快速發(fā)展的今天,時鐘在人們的生活中顯得越發(fā)重要,因此設(shè)計數(shù)字鐘就變得尤為重要。本文介紹一種利用verilog語言產(chǎn)生多功能數(shù)字鐘的設(shè)計方案,不僅讓大家對數(shù)字鐘更為了解,而且可以為人們的生活帶來便利。數(shù)字鐘它具有時、分、秒的正常顯示功能及調(diào)節(jié)時和分的特殊功能,此外,以2

2、4小時循環(huán)計數(shù),具有整點報時功能,并且由按鍵輸入進(jìn)行對數(shù)字鐘的校時、清零功能。本文設(shè)計的數(shù)字鐘方案由控制模塊、計時模塊、以及報時模塊三大模塊組成,滿足所有的功能要求,并且代碼是經(jīng)modelsim軟件編譯和仿真所設(shè)計。 二概念及原理 數(shù)字鐘實際上是一個對標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標(biāo)準(zhǔn)時間(如北京時間)一致,故需要在電路上加一個校時電路。如圖所示為數(shù)字鐘的一般構(gòu)成框圖。主要包括時間基準(zhǔn)電路、計數(shù)器電路、控制電路。其中的控制邏輯電路是比較靈活多樣的,不斷完善它可以增強數(shù)字鐘的功能。 數(shù)字鐘應(yīng)該具有的功能有:顯示時分秒、整點報時、小時和分鐘可調(diào)等基本功能。整個鐘表

3、的工作應(yīng)該是在1Hz信號的作用下進(jìn)行,這樣每來一個時鐘信號,秒增加1秒,當(dāng)秒從59秒跳轉(zhuǎn)到00秒時,分鐘增加1分,同時當(dāng)分鐘從59分跳轉(zhuǎn)到00分時,小時增加1小時,小時的范圍為023。 在實驗中為了顯示的方便,由于分鐘和秒鐘顯示的范圍都是從059,小時他的范圍是從023,所以可以均用一個4位的二進(jìn)制碼顯示十位和個位。 對于整點報時功能,本實驗設(shè)計的是當(dāng)進(jìn)行正點發(fā)出一個高音信號和59分50、5254、56、58秒發(fā)出一個高音信號。調(diào)整時間的按鍵用按鍵模塊的S1和S2,S1調(diào)節(jié)小時,每按下一次,小時增加一個小時;S2調(diào)整分鐘,每按下一次,分鐘增加一分鐘。另用外reset按鍵作為系統(tǒng)時鐘復(fù)位,復(fù)位后

4、全部顯示000000。3 實驗過程及分析1. 功能:顯示時分秒、整點報時、小時和分鐘可調(diào)等基本功能。整個鐘表的工作應(yīng)該是在1Hz信號的作用下進(jìn)行,這樣每來一個時鐘信號,秒增加1秒,當(dāng)秒從59秒跳轉(zhuǎn)到00秒時,分鐘增加1分,同時當(dāng)分鐘從59分跳轉(zhuǎn)到00分時,小時增加1小時,小時的范圍為023。仿真圖: 由圖可知:hour_g,minute_s,minute_g,second_s,second_g分別對應(yīng)于時、分、秒的十和個位,顯然可以正常顯示并滿足條件。2. 功能:對于整點報時功能,本實驗設(shè)計的是當(dāng)進(jìn)行正點發(fā)出一個高音信號和59分50、5254、56、58秒發(fā)出一個高音信號。 仿真圖: 上圖可知

5、在50、52、54、56、58秒時有一個高電平脈沖信號發(fā)出低音,在正點時有一個高脈沖信號發(fā)出高音。3. 功能:調(diào)整時間的按鍵用按鍵模塊的S1和S2,S1調(diào)節(jié)小時,每按下一次,小時增加一個小時;S2調(diào)整分鐘,每按下一次,分鐘增加一分鐘。另用外reset按鍵作為系統(tǒng)時鐘復(fù)位,復(fù)位后全部顯示000000。 仿真圖: 上圖可知,通過按鍵S1,S2控制了時和分的校準(zhǔn)功能,并且通過reset鍵控制清除功能。 四實驗心得 通過本次verilog的數(shù)字鐘課程設(shè)計,不僅鞏固了所學(xué)的相關(guān)知識,還對其有了更加深刻的認(rèn)識。學(xué)東西,基本功要學(xué)的扎實,這樣會給上層建筑帶來難以想象的益處,就如在本次實驗中的測試模塊的函數(shù)調(diào)

6、用的內(nèi)置變量的擺放位置的不當(dāng),導(dǎo)致程序無法得出自己想要的結(jié)果,還要不斷的去檢查,盲目的修改,耗時巨大。另有一些編程的小技巧,這點鐘凱老師的功勞很大,雖然原理一樣,但是用不同的方式去編寫,有時會取得不一樣的結(jié)果。這次實驗考驗的不僅是學(xué)生的基本功,而且考察學(xué)生自我學(xué)習(xí),自我查找相關(guān)資料主動學(xué)習(xí)的能力,一路自己做下來,會收獲你想象不到的東西。這或許就是能力的提高吧。在最后感謝鐘凱老師的耐心解疑,學(xué)生受益匪淺。 六參考文獻(xiàn)【1】 數(shù)字系統(tǒng)設(shè)計與Verilog HDL 第五版 王金明 編著 電子工業(yè)出版社【2】 劉君,常明,秦娟,基于硬件描述語言(VHDL)的數(shù)字時鐘設(shè)計,天津理工大學(xué)學(xué)報,2007,第

7、23卷第4期,40-41?!?】 王開軍,姜宇柏,面向CPLD/FPGA的VHDL設(shè)計,機械工業(yè)出版社,2006,28-65。 六實驗代碼module kongzhi_count(clk,S1,S2,reset,hour_s,hour_g,minute_s,minute_g,second_s,second_g,cout_1,cout_2,alarm_clock_low,alarm_clock_high); input clk,S1,S2,reset;output reg3:0 hour_s,hour_g,minute_s,minute_g,second_s,second_g ;output w

8、ire cout_1,cout_2;output reg alarm_clock_low,alarm_clock_high;reg R1,R2;always (posedge clk) beginif(S1=1)beginR1=1;endelse if(S2=1)beginR2=1;endendalways (posedge clk) /秒個位顯示 begin if(reset) second_g = 0; else if(second_g=9) second_g = 0; else second_g = second_g + 1; end always (posedge clk) /秒十位顯

9、示 begin if(reset) second_s= 0; else if(second_g=9) begin if(second_s=5) second_s= 0; else second_s = second_s + 1; end end assign cout_1=(second_g=9)&(second_s=5)?1:0;always (posedge clk) /分個位顯示 begin if(reset) begin minute_g = 0; end else if(R2=1) begin if(minute_g=9) minute_g = 0; else begin minut

10、e_g= minute_g+ 1; end R2=0; end else if(cout_1) begin second_g=0; second_s=0; if(minute_g=9) minute_g = 0; else minute_g= minute_g+ 1; end end always (posedge clk) /分十位顯示 begin if(reset) begin minute_s = 0; end else if(R2=1) begin if(minute_g=9) begin if(minute_s=5) minute_g = 0; else minute_s = min

11、ute_s + 1; end R2=0; end else if(cout_1) begin second_g=0; second_s=0; if(minute_g=9) begin if(minute_s=5) minute_g = 0; else minute_s = minute_s + 1; end end endassign cout_2=(minute_g=9)&(minute_s=5)&(cout_1=1)|(minute_g=9)&(minute_s=5)&(S2=1)?1:0;always (posedge clk) /時個位顯示 begin if(reset) begin

12、hour_g = 0; end else if(R1=1)beginif(hour_g=9) hour_g = 0; else if(hour_s=2)&(hour_g=3) hour_g = 0; else begin hour_g = hour_g+ 1; end R1=0; end else if(cout_2) begin second_g=0; second_s=0; minute_g=0; minute_s=0; if(hour_g=9) hour_g = 0; else if(hour_s=2)&(hour_g=3) hour_g = 0; else hour_g = hour_

13、g+ 1; end endalways (posedge clk) /時十位顯示 begin if(reset) begin hour_s= 0; end else if(R1=1)beginif(hour_g=3)&(hour_s=2) hour_s = 0; else if(hour_g=9) begin hour_s = hour_s + 1; end R1=0; end else if(cout_2) begin second_g=0; second_s=0; minute_g=0; minute_s=0; if(hour_g=3)&(hour_s=2) hour_s = 0; els

14、e if(hour_g=9) hour_s = hour_s + 1; end endalways (posedge clk) /低音警報begin if(!reset) begin alarm_clock_low=0; end else if(minute_g=9)&(minute_s=5) if(second_s=4)&(second_g=9)|(second_s=5)&(second_g=1)|(second_s=5)&(second_g=3)|(second_s=5)&(second_g=5)|(second_s=5)&(second_g=7) alarm_clock_low=1; e

15、lse alarm_clock_low=0; endalways (posedge clk) /高音警報begin if(!reset) begin alarm_clock_high=0; end else if(cout_2) alarm_clock_high=1; else alarm_clock_high=0; endEndmodulemodule clock_test(); reg clk,reset,S1,S2;wire3:0 hour_s,hour_g,minute_s,minute_g,second_s,second_g;wire cout_1,cout_2,alarm_cloc

16、k_low,alarm_clock_high;parameter cycle = 100;kongzhi_count u1(.clk(clk),.S1(S1),.S2(S2),.reset(reset),.hour_s(hour_s),.hour_g(hour_g),.minute_s(minute_s),.minute_g(minute_g),.second_s(second_s),.second_g(second_g),.cout_1(cout_1),.cout_2(cout_2),.alarm_clock_low(alarm_clock_low),.alarm_clock_high(al

17、arm_clock_high); always #(cycle/2) clk = clk; initialbegin clk = 0; reset = 1; S1=0; S2=0; #300 reset = 0;#100 reset = 1;#100 S1=1;#100 S1=0;#100 S2=1;#100 S2=0;#100 S1=1;#100 S1=0;#100 S2=1;#100 S2=0;endendmodule 東華理工大學(xué)課程設(shè)計評分表學(xué)生姓名:劉進(jìn)輝 班級:1421301 學(xué)號:201420130228課程設(shè)計題目:數(shù)字鐘系統(tǒng)項目內(nèi)容滿分實 評選題能結(jié)合所學(xué)課程知識、有一定的能力訓(xùn)練。符合選題要求(5人一題)10工作量適中,難易度合理10能力水平能熟練應(yīng)用所學(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論