資源描述:
《基于fpga的多功能時鐘設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、基于FPGA的多功能時鐘設(shè)計報告專業(yè):空間信息與數(shù)字技術(shù)班級:學號:姓名:通信工程學院2013年11月目錄摘要................................................................................3設(shè)計內(nèi)容及要求…………………………………………………………..3設(shè)計(代碼)分析……………………………………………………….4實驗過程及步驟…………………………………………….................5實驗結(jié)果的測試及仿真…………………………………
2、………………13實驗總結(jié)與感想……………………………………………………………16參考文獻……………………………………………………………………..17附錄(原代碼)………………………………………….17-27-1摘要在學習了專用集成電路和verilog語言及數(shù)電的相關(guān)知識后,運用所學知識及查閱資料完成對多功能時鐘的設(shè)計,以鞏固以前所學知識,提高解決和分析問題的能力以及掌握稍復雜邏輯電路的設(shè)計方法;深刻理解verilog語言的思路,并進一步掌握操作BASYS2板的使用;掌握計數(shù)器的設(shè)計方法,模塊之間的協(xié)調(diào)方式,了解電路設(shè)計層次
3、。2設(shè)計內(nèi)容及要求多功能時鐘設(shè)計分為基本電路部分和拓展功能部分和特色部分。?基本電路部分l以數(shù)字形式顯示時、分、秒的時間;(要求可切換顯示)l小時計數(shù)器為同步24進制;(同步計數(shù)器)l可精確手動校時,包括小時,分鐘,秒;設(shè)有按鈕,每按一次相應按鈕可使對應的時間循環(huán)改變,以校時用手動校時時,長按按鈕可加速校時速度。?拓展部分l可設(shè)定24小時任意時刻鬧鐘(精確到秒),設(shè)定按鈕與校時按鈕共用。設(shè)有鬧鐘開關(guān)鍵l整點報時59分51秒59分53秒59分55秒-27-59分57秒led[7:4]流水燈式依次點亮以模仿電臺播音(頻率為1H
4、Z)59分59秒時led燈led[3]點亮頻率為10HZ?特色部分stopwatch可儲存記憶10組59分59秒99內(nèi)時間數(shù)據(jù)的秒表??娠@示記錄的數(shù)據(jù)個數(shù)和對應順序精確到1/100秒設(shè)有swo(秒表模式開啟鍵)————K3swp(暫停鍵)————————L3scrl(數(shù)據(jù)控制鍵)——————B4Ncr(清零復位鍵)——————A7counter(記錄數(shù)據(jù)鍵)————M4-(數(shù)據(jù)加鍵)————————C11+(數(shù)據(jù)減鍵)————————G12Switch(顯示切換鍵)---------------P113代碼分析top_cl
5、ock總共分為頂層和底層l頂層top.v計時部分:調(diào)用底層模塊10位計數(shù)器6位計數(shù)器3位計器4*6=24位寄存器cnt[23:0]Cnt[3:0]second0cnt[7:4]second1Cnt[11:8]minute0cnt[15:12]minute1Cnt[19:16]hour0cnt[23:20]hour1校時部分:設(shè)計為信號選擇器ad=1時為計時模式,信號為校時信號ad=0時為正常計時模式數(shù)據(jù)顯示部分:設(shè)有切換switch端-27-數(shù)碼管掃描自動掃描1KHZ4*8=32位寄存器Temp[31:0]分為校時模式顯示
6、ad=1set=0swo=0------------cnt鬧鐘設(shè)置模式顯示ad=0set=1swo=0------------cnt1秒表計時模式顯示ad=0set=0swo=1------------cnt2正常走時模式顯示其余----------------------------------cntl底層部分計數(shù)器counter10.vcounter6.vcounter3.v//counter10.v(0~9)modulecounter10(en,ncr,clk,q);inputen,ncr,clk;output[3:
7、0]q;reg[3:0]q;always@(posedgeclk)beginif(ncr)q<=4'd0;//ncr=0時,異步清零elseif(~en)q<=q;//EN=0,暫停計數(shù)elseif(q==4'b1001)q<=4'b0000;elseq<=q+1;//計數(shù)器加1endendmodule鬧鐘設(shè)定模塊bell.vcnt1代碼見附錄仿電臺報時radio.v代碼見附錄秒表stopwatch.vcnt2代碼見附錄-27-4實驗內(nèi)容及步驟(1)創(chuàng)建工程命名為top_clock(2)選擇BASYS2型號并完成創(chuàng)建-27
8、-(3)新建verilogmodule文件命名為top(1)添加完整代碼完整代碼見附錄-27-(1)檢查語法直至通過雙擊Synthesize—XST(5)創(chuàng)建時鐘信號約束即CLK(6)創(chuàng)建管腳約束雙擊管腳設(shè)置為-27-管腳分布a[0]-a[3]---------àK14F12J12M13數(shù)碼管掃描信號a