EDA課程設(shè)計報告60秒倒計時器MAXII240T_第1頁
EDA課程設(shè)計報告60秒倒計時器MAXII240T_第2頁
EDA課程設(shè)計報告60秒倒計時器MAXII240T_第3頁
EDA課程設(shè)計報告60秒倒計時器MAXII240T_第4頁
EDA課程設(shè)計報告60秒倒計時器MAXII240T_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、EDA課程設(shè)計報告60秒倒計時器MAXII240T EDA課程設(shè)計報告 設(shè)計題目:基于verilog的倒計時器設(shè)計 專業(yè)班級: 姓名學(xué)號: 姓名學(xué)號: 姓名學(xué)號: 指導(dǎo)教師: 設(shè)計時間: 目 錄 摘要 3 關(guān)鍵字 3 前言 3 1 倒計時的功能和設(shè)計結(jié)構(gòu) 3 1.1 倒計時器的系統(tǒng)的功能 3 1.2 倒計時器的設(shè)計結(jié)構(gòu) 4 2 主要模塊程序 4 2.1 分頻器 4 2.2 計時器 5 2.3 顯示器 7 2.4 指示器 9 3 各模塊原理圖 10 3.1 頂層模塊原理圖 10 3.2 計數(shù)模塊原理圖 11 3.3 分頻模塊原理圖 11 3.4 彩燈模塊原理圖 11 3.5 顯示模塊原理圖 12

2、 4 實際電路運行效果圖 12 5 軟件介紹和管腳說明 13 5.1 管腳說明 13 5.2 軟件介紹 13 6 總結(jié)與心得體會 14 7 致謝 14 7 參考文獻 15 基于Verilog 的60秒倒計時器設(shè)計 () 摘 要 本文提出一種基于Verilog HDL語言的60秒倒計時器設(shè)計方法。該設(shè)計實現(xiàn)有兩組輸入,具有清零功能和暫停功能,能進行60秒的倒計時器。文中介紹了倒計時器設(shè)計架構(gòu)和控制程序的設(shè)計方法。該倒計時器采用Verilog HDL語言模塊化和層次化的思想,使設(shè)計十分簡單,并能在MAX II開發(fā)板上實現(xiàn)驗證,具有廣泛的現(xiàn)實意義。 關(guān)鍵字 倒計時器;Verilog HDL;層次化和

3、模塊化;仿真驗證 前言 現(xiàn)行的倒計時器主要有兩種,基于小規(guī)模數(shù)字邏輯芯片設(shè)計,另外一種基于單片機設(shè)計。小規(guī)模數(shù)字邏輯電路比較復(fù)雜,單片機隨著倒計時器功能輸入的增加,存在I/O資源不足的情況。本文提出一種方便可行的倒計時器的設(shè)計方法,即利用Verilog HDL硬件描述語言來設(shè)計倒計時器,并且在MAX II開發(fā)板上仿真實現(xiàn),Verilog HDL語言滿足數(shù)字系統(tǒng)設(shè)計和綜合的所有要求,設(shè)計中充分利用Verilog HDL層次化和模塊化的思想,使得倒計時器的整個設(shè)計過程簡單,靈活;同時,在設(shè)計過程中始終運用EDA工具開發(fā)板對設(shè)計進行驗證,使得設(shè)計更加可靠。由于開發(fā)板的I/O端口比較豐富,可以在本設(shè)計

4、基礎(chǔ)上稍加修改設(shè)計具有更多功能的倒計時。 1 倒計時器的功能和設(shè)計結(jié)構(gòu) 1.1 倒計時器系統(tǒng)的功能 本文設(shè)計一個電子倒計時器:可進行60秒倒計時,七段顯示譯碼管顯示秒數(shù),循環(huán)彩燈顯示電路正常工作。 倒計時器具體功能如下:(1)可進行60秒倒計時,倒計時開始,開發(fā)板上7段顯示譯碼管上從60開始進行倒數(shù),直至0,重新返回60重新開始計時,這一過程用七段譯碼管顯示器顯示;(2)設(shè)置了一個復(fù)位控制開關(guān)reset,可以進行復(fù)位清零功能控制,當(dāng)?shù)褂嫊r正在進行倒數(shù)工作時,當(dāng)按下清零復(fù)位開關(guān),倒計時器重新返回60,開始倒計時。(3)設(shè)置了一個暫??刂崎_關(guān)stop,可以進行暫停功能控制,當(dāng)?shù)褂嫊r進行倒數(shù)工作,無

5、論倒數(shù)進行到哪一步,當(dāng)按下暫停控制開關(guān)stop時,七段顯示譯碼管的數(shù)字將保持不變,循環(huán)彩燈也將保持不變,說明整個倒計時器停止工作。當(dāng)松開暫??刂崎_關(guān),倒計時器重新開始工作,循環(huán)彩燈開始閃亮,說明倒計時器正在工作。 1.2 倒計時器的設(shè)計結(jié)構(gòu) 本文以Verilog HDL語言為基礎(chǔ)設(shè)計的60秒的倒計時器,根據(jù)設(shè)計功能的要求,該設(shè)計主要包括分頻器產(chǎn)生時鐘信號,倒計時的計數(shù),和清零復(fù)位、暫停按鍵的鍵入,數(shù)碼管的顯示,以及循壞彩燈的設(shè)置。 分頻器產(chǎn)生時鐘信號 把50MHZ分頻成1HZ 暫停、清零控制開關(guān)用來控制倒計時的工作 七段譯碼管進行數(shù)字的顯示 計數(shù)器用來進行倒計時 循環(huán)彩燈用來顯示倒計時器的工作

6、狀態(tài) 2.主要模塊程序 2.1 分頻器 module div_fre(clk,sec); input clk; output sec; reg sec; reg 27:0 count; always (posedge clk) begin count=count+1b1; if(count=28d24999999) /用于產(chǎn)生1HZ的脈沖 begin count=0; sec=sec; end end endmodule 該模塊是用以實現(xiàn)把50MHZ的信號轉(zhuǎn)化為1HZ的信號,從而產(chǎn)生一個1秒的時鐘信號。 2.2 計時器 module control(clk,reset,disp,stop);

7、input clk,reset,stop; integer count; output7:0 disp; reg5:0 num; always (negedge clk ) begin if(reset) count=1b0; else if(stop) / 用于實現(xiàn)計數(shù)器的暫停功能 count=count+1b0; else if(count=6b111100)/用于計數(shù)器計數(shù)到達60,重新置0 count=1b0; else count=count+1b1; end assign disp7:4=num/10,/用于向數(shù)碼管送顯示數(shù)據(jù),A方向十位 disp3:0=num%10; alway

8、s (negedge clk ) begin if(reset)/用于倒計時器的清零功能 begin num=0; end else if (count7b1100100) begin num=6b111100-(count);/用于實現(xiàn)倒計時 end end endmodule 該模塊首先用count進行計數(shù),將倒計時器的初始時間設(shè)置為60秒,再用一個條件語句執(zhí)行倒計時功能。除此以外,該模塊還可進行清零復(fù)位和暫停功能的實現(xiàn)。 2.3顯示模塊 module seg7(clk,dataout,en,datain); input 7:0 datain; input clk; output6:0 d

9、ataout; output 1:0 en;/COM使能輸出 reg6:0 dataout;/各段數(shù)據(jù)輸出 reg1:0 en; reg15:0 cnt_scan;/掃描頻率計數(shù)器 reg 3:0 dataout_buf; always(posedge clk ) begin cnt_scan=cnt_scan+1; end always (cnt_scan) begin case(cnt_scan15) 1b0 : en = 2b10; 1b1 : en = 2b01; default : en = 2b11; endcase end always(en) /對應(yīng)COM信號給出各段數(shù)據(jù) be

10、gin case(en) 2b10: dataout_buf=datain7:4; 2b01: dataout_buf=datain3:0; default: dataout_buf=8; endcase end always(dataout_buf) begin case(dataout_buf) 4b0000:dataout=7b0111111; 4b0001:dataout=7b0000110; 4b0010:dataout=7b1011011; 4b0011:dataout=7b1001111; 4b0100:dataout=7b1100110; 4b0101:dataout=7b11

11、01101; 4b0110:dataout=7b1111101; 4b0111:dataout=7b0000111; 4b1000:dataout=7b1111111; 4b1001:dataout=7b1101111; default: dataout=7b0001_000; endcase end Endmodule 該模塊是用以將倒計時器的數(shù)字通過七段譯碼管顯示出來。 2.4指示模塊 module led(clock,key,style,light,reset); input clock,key,style,reset; /端口定義 output 3:0light; reg 3:0 li

12、ght =4b1111 ; reg clk = 1; parameter cnt = 24000000; reg 24:0count; always (posedge clk) /LED燈輸出 begin if(!reset) light =4b0000; else if (!key) /key鍵被按下 ight = light; /暫停 else begin if (light =4b0000) /LED燈全部點亮?xí)r,重新熄滅再準(zhǔn)備下次循環(huán) light =4b1111; end end endmodule 該模塊是用循環(huán)彩燈來指示倒計時器是否處于工作狀態(tài)。 3.各模塊原理圖 頂層模塊原理圖

13、計數(shù)模塊 彩燈模塊 分頻模塊 顯示模塊 4. 實際電路運行效果圖 5.管腳說明和軟件介紹 5.1管腳說明 5.2 軟件介紹 設(shè)計中所使用軟件為Quartus。Quartus是Altera公司推出的第四代開發(fā)軟件,提供了方便的設(shè)計輸入方式、快速的編譯和直接易懂的器件編程。能夠支持百萬門以上邏輯門數(shù)的邏輯器件的開發(fā),并且為第三方工具提供了無縫接口。Quartus軟件的設(shè)計流程概括為設(shè)計輸入、設(shè)計編譯、設(shè)計仿真和設(shè)計下載等過程。該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持基于Internet的協(xié)作設(shè)計。Quartus平臺與Cadence、ExemplarLogic、 MentorGraphic

14、s、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設(shè)計功能,增添 了FastFit編譯選項,推進了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。 6.總結(jié)與心得體會 這次的EDA課程設(shè)計比我想象的要難很多,原本以為一兩天就可以搞定的,結(jié)果一個倒計時程序?qū)懥怂奈逄觳艑懗鰜?,后面下載到硬件的時候又是各種各種的問題,讓我很郁悶,曾經(jīng)甚至想過要放棄!最后在郭老師的耐心指導(dǎo)下重新修改程序才做出來。通過這次EDA課程設(shè)計我深深的感知到對Verilog HDL語言編程的缺乏,連一些簡單的語法知識都不知道,有編譯程序遇到一個錯誤改半天都改不對,最終通過查看相關(guān)書籍

15、和在網(wǎng)上查找相關(guān)資料才得以一個個解決。經(jīng)過這次教訓(xùn),在以后的學(xué)習(xí)我應(yīng)該認(rèn)真對待每一門學(xué)科,扎實理論基礎(chǔ)知識,只有這樣在以后遇到相關(guān)問題才能輕松解決。 在這次EDA課程設(shè)計中,學(xué)到很多東西,不僅鞏固了以前所學(xué)過的基礎(chǔ)知識,而且對EDA硬件實驗有了進一步的了解。通過這次課程設(shè)計使我弄懂了鍵盤的構(gòu)造原理以及對它的掃描原理。由于第一次用Verilog語言對這種比較復(fù)雜的硬件電路編程,所以有很多地方不懂,因此必須通過查閱大量的相關(guān)資料才能弄懂,所以這期間進一步鍛煉了自己查閱資料和自學(xué)的能力,學(xué)習(xí)能力得到進一步加強,對以后的學(xué)習(xí)生活打下根深基礎(chǔ)。 總的來說,這次課程設(shè)計痛苦但有收獲,雖然遇到很多問題,最后

16、在老師的指導(dǎo)下和資料的指引下下都一一解決,本次課程設(shè)計充分鍛煉了我們的能力,提高了自己對實踐操作和理論研究的興趣,也為明年的畢業(yè)設(shè)計做了一定的準(zhǔn)備。 7.致謝 本論文設(shè)計在郭老師的悉心指導(dǎo)和嚴(yán)格要求下業(yè)已完成,從選題到具體的實訓(xùn)和寫作過程,無不凝聚著老師們的心血和汗水。在我們實訓(xùn)期間,老師為我們 提供了種種專業(yè)知識上的指導(dǎo)和一些富于創(chuàng)造性的建議,老師嚴(yán)謹(jǐn)求實的態(tài)度使我們深受感動,沒有這樣的幫助和關(guān)懷和熏陶,我們不會這么順利的完成實訓(xùn)任務(wù)。在此向老師表示深深的感謝和崇高的敬意! 這次實訓(xùn)還要感謝郭老師的熱情幫助,是他讓我在短時間內(nèi)熟VerilogHDL源程序的編寫。在硬件調(diào)試階段,也有很多同學(xué)給予了幫助,在此謝謝郭老師。 我還要借此機會向給予我諸多教誨和幫助的各位老師表示由衷的謝意,感謝他們的辛勤栽培。不積跬步何以至千里,各位任課老師認(rèn)真負責(zé),在他們的悉心幫助和支持下,我能夠很好的掌握和運用專業(yè)知識,并在實訓(xùn)中得以體現(xiàn),順利完成實訓(xùn)任務(wù)。 同時,在論文寫作過程中,我還參考了有關(guān)的書籍和論文,在這里一并向有關(guān)的作者表示謝意。 我還要感謝同組的各位同學(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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論