多功能數(shù)字鐘論文帶程序_第1頁
多功能數(shù)字鐘論文帶程序_第2頁
多功能數(shù)字鐘論文帶程序_第3頁
多功能數(shù)字鐘論文帶程序_第4頁
多功能數(shù)字鐘論文帶程序_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 真的是為了下載券沒辦法了,很多有用的文件都需要下載券,求幫忙,這份程序是真的靠譜。 EDA2多功能數(shù)字鐘 院系:學(xué)號:912000720姓名: 同組人:指導(dǎo)老師:時間:2014 年 11 月 摘要本實驗通過使用 Quartus7.1軟件,并結(jié)合verilog語言的知識設(shè)計多功能數(shù)字鐘,可以實現(xiàn)正常的時、分、秒的計數(shù)功能,分別由六個數(shù)碼管顯示計時,可以利用開關(guān)實現(xiàn)系統(tǒng)的計時保持、清零和校分、校時的功能。同時,該電路系統(tǒng)還可以完成在 59'53'', 59'55'', 59'57 '' 低音報時, 59'59'

2、;' 高音報時的基本功能。在此基礎(chǔ)上,該電路還實現(xiàn)了設(shè)定鬧鐘,定時叫醒,和關(guān)閉鬧鐘的功能,在利用 Quartus進(jìn)行相應(yīng)的設(shè)計、仿真、調(diào)試后下載到EP3C25F324C8實驗系統(tǒng)上,驗證設(shè)計的正確性。關(guān)鍵詞QuartusII,數(shù)字鐘,Verilog HDL,分層設(shè)計AbstractThis experiment is based on Quartus 7.1,with the knowledge of Verilog HDL and system design, to design a multifunctional digital clock. The basic function

3、of the multifunctional digital clock is a 24-hour timer, and the exact time can be showed by six LED lights. Also we can achieve the functions like time keeping, clearing and time and week adjusting by using the switches. Beyond the basic function, I improved the multifunctional digital clock and it

4、 can beep in low frequency at 59'53'' , 59'55'' , 59'57 '' and in high frequency at 59'59''. Based on this the basic design, I also design extra functions of alarm, whose time can be adjusted by switch. It can also be turned off by switch. All these de

5、signing and simulating work are based on Quartus. After all the work finished on computer, I downloaded the final circuit to EP3C25F324C8 experiment system to test the accuracy of the design.Key wordsQuartus, Digital clock , Verilog HDL, Layered designing目 錄一、設(shè)計要求.3二、分層設(shè)計及其分工.3三、多功能數(shù)字時鐘頂層設(shè)計.4四、各子模塊設(shè)

6、計原理及程序.54.1 分頻電路.54.2 計數(shù)器.64.3 計時電路.84.4 整點報時.94.5 LED電路.104.6 定時鬧鐘.12五、程序下載、仿真與調(diào)試.135.1 管腳設(shè)定 .135.2 修改 Device&Pins Options 及重新編譯.135.3 程序下載及運行結(jié)果.14六、實驗中遇到的問題及其應(yīng)對方案.15七、實驗總結(jié)與感想.15八、參考文獻(xiàn).151、 設(shè)計要求1.1 設(shè)計基本部分要求能進(jìn)行正常的時、分、秒計時功能;分別由六個數(shù)碼管顯示時分秒的計時;K1 是系統(tǒng)的使能開關(guān)(K1=0 正常工作,K1=1 時鐘保持不變);K2 是系統(tǒng)的清零開關(guān)(K2=0 正常工作

7、,K2=1 時鐘的分、秒全清零);K3 是系統(tǒng)的校分開關(guān)(K3=0 正常工作,K3=1 時可以快速校分);K4 是系統(tǒng)的校時開關(guān)(K4=0 正常工作,K4=1 時可以快速校分);使時鐘具有整點報時功能(當(dāng)時鐘計到 59'53''時開始報時,在 59'53'', 59'55'',59'57 '' 時報時頻率為 500Hz, 59'59'' 時報時頻率為 1000Hz);1.2 設(shè)計提高部分要求鬧表設(shè)定功能;萬年歷功能;自己添加其他功能;2、 分層設(shè)計及其分工2.1 分層設(shè)計為了

8、實現(xiàn)多功能數(shù)字鐘,我們采用了Verilog語言描述其功能,如圖2.1所示,為本實驗的層次分析設(shè)計結(jié)構(gòu)圖。圖2.1 多功能數(shù)字鐘電路的層次模型Digital Clock直接或間接的調(diào)用了下面所有的函數(shù),規(guī)定了整個系統(tǒng)的輸入和輸出變量,是整個系統(tǒng)的Top-Level Entity。Top Frequency調(diào)用了48MHz分為1kHz的Original Frequency模塊和1kHz分為500Hz,1Hz的實用分頻模塊,構(gòu)成了整個電路的頻率基礎(chǔ)。Top Clock由3種計數(shù)器和一個二選一電路實現(xiàn),表示時的模24計數(shù)器和模12計數(shù)器在整個電路中同時保持計時,通過二選一電路選擇其中一個,顯示在LED

9、電路中。Radio是控制整點報時的電路,聲調(diào)由分頻電路的1kHz和500Hz提供。Alarm是鬧鐘控制電路,通過比較鬧鐘時間和計時時間得到需要叫醒的時刻,并且連續(xù)響鈴1min,但是它的程序與Bell合并,寫入了一個程序中。LED顯示電路,通過遠(yuǎn)大于1Hz的掃描頻率,在每1s內(nèi)掃描多次時、分、秒數(shù)值,并閃爍顯示在七段譯碼管上,由于掃描頻率很高,人眼是不會分辨出顯示時間在閃爍的。2.2 分工情況整個多功能時鐘的設(shè)計由鄭蕤荻和我(徐潔)共同完成,既有明確的分工以提高效率,也有互相幫助,互相指出錯誤的合作過程,以下為我們兩個人明確分工的情況:*:Digital Clock, Top Clock, 2t

10、o1 MUX, Comparator, Bell, LED;*:Top Frequency, Original Frequency, Divided Frequency, All the counters and Radio.三、多功能數(shù)字時鐘頂層設(shè)計Digital Clock為整個多功能數(shù)字鐘系統(tǒng)的頂層設(shè)計,它直接或間接的調(diào)用了所有的子程序,實現(xiàn)了將整個底層程序貫穿聯(lián)接的功能,規(guī)定了多功能數(shù)字鐘的輸入和輸出。輸入有:EP3C25F324C8的自帶晶振頻率48MHz,清零信號,清零按鈕,12/24小時切換按鈕,開啟鬧鐘時間設(shè)置鍵,計時時設(shè)置鍵,計時分設(shè)置鍵,鬧鐘時設(shè)置鍵,鬧鐘分設(shè)置鍵以及鬧鐘關(guān)

11、閉按鍵;輸出有:LED管的位碼和段碼。Digital Clock,程序中簡稱DC,verilog語言程序及各句含義如下:/Digital_Clockmodule DC(LED_Hr,LED_Min,LED_Sec,ALARM,_48MHz,AdjMinkey,AdjHrkey,SetMinkey, SetHrkey,CtrlBell,Mode1,Mode2,nCR,Segout,Seg_in,Count, SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8);input _48MHz; /系統(tǒng)的輸入時鐘信號input nCR; /系統(tǒng)總清零信號output SG1,SG2,SG3,

12、SG4,SG5,SG6,SG7,SG8; /select LEDoutput 7:0 LED_Hr,LED_Min,LED_Sec; /輸出變量,輸出8421BCD碼給顯示器wire 7:0 LED_Hr,LED_Min,LED_Sec; /說明變量的類型wire _1kHzIN,_1Hz, _500Hz; /分頻器輸出信號input AdjMinkey, AdjHrkey; /校正計時器小時、分鐘的輸入按鍵wire 7:0 Hour,Hour_24,Hour_12,Minute,Second; /計時器的輸出信號input SetHrkey, SetMinkey; /設(shè)定鬧鐘小時、分鐘輸入按

13、鍵wire 7:0 Set_Hr,Set_Min; /設(shè)定的鬧鐘時間輸出信號wire ALARM_Radio; /仿電臺報時信號輸出wire ALARM_Clock; /鬧鐘的信號輸出output ALARM; /仿電臺或鬧鐘的聲音信號輸出input CtrlBell; /控制鬧鐘的聲音是否輸出的按鍵input Mode1,Mode2; /*控制顯示模式切換的按鍵 Mode1=1時,顯示鬧鐘設(shè)定的時間,Mode1=0時,顯示計時器的時間 Mode2=1時,顯示24小時制,Mode2=0時,顯示12小時制*/output6:0Segout; / 7-segment code output,seg

14、out6.0-gfedcbaoutput2:0Count;output 3:0Seg_in;Top_Frequency(_48MHz,CP,_1Hz,_500HzOut,nCR);top_clock U1(Hour,Minute,Second,_1Hz,nCR,AdjMinkey,AdjHrkey,Mode2); /計時主體電路LED2(CP,LED_Hr7:4,LED_Hr3:0,LED_Min7:4,LED_Min3:0,LED_Sec7:4, LED_Sec3:0,Segout,Seg_in,Count,SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8);Radio U2

15、(ALARM_Radio,Minute, Second,CP,_500Hz); /仿電臺整點報時Bell U3 (ALARM_Clock, Set_Hr,Set_Min,Hour,Minute,Second,SetHrkey,SetMinkey,CP,_500Hz,_1Hz,CtrlBell);/定時鬧鐘模塊assign ALARM=ALARM_Radio | ALARM_Clock; /揚聲器總控制模塊/選擇要顯示的數(shù)碼送數(shù)模塊_2to1MUX MU2(LED_Hr,Mode1,Set_Hr,Hour); _2to1MUX MU3(LED_Min,Mode1,Set_Min,Minute);

16、_2to1MUX MU4(LED_Sec,Mode1,8'h00,Second);endmodule4、 各子模塊設(shè)計原理及程序4.1 分頻電路分頻模塊是為了實現(xiàn)EP3C25F324C8的自帶晶振頻率48MHz,往1kHz,500Hz以及1Hz的分頻,由于48MHz直接分到1kHz后,所有波形都沒有辦法在QuartusII仿真中直觀的看見,為了調(diào)試和檢驗的方便,我們將48MHz分為1kHz稱為原始分頻,與后面的分頻斷開。下面是該電路的verilog程序以及其原理簡介:/Top_Frequencymodule Top_Frequency(_48MHz,_1kHzIN,_1HzOut,_5

17、00HzOut,nCR);input _48MHz,nCR;output _1kHzIN,_500HzOut,_1HzOut;wire _1kHzIN;wire _1HzOut,_500HzOut;Original_Frequency U0(_1kHzIN,_48MHz,nCR);Divided_Frequency U1(_1HzOut,_500HzOut,nCR,_1kHzIN);endmodule/Original_Frequencymodule Original_Frequency (_1kHzIN,_48MHz,nCR);input _48MHz,nCR;output _1kHzIN;

18、supply1 Vdd;wire 19:0Q;wire EN1,EN2,EN3,EN4;counter10 EU0(Q3:0,nCR,Vdd,_48MHz);counter10 EU1(Q7:4,nCR,EN1,_48MHz);counter10 EU2(Q11:8,nCR,EN2,_48MHz);counter6 EU3(Q15:12,nCR,EN3,_48MHz);counter10 EU4(Q19:16,nCR,EN4,_48MHz);assign EN1=(Q3:0=4'h9);assign EN2=(Q7:4=4'h9)&(Q3:0=4'h9);ass

19、ign EN3=(Q11:8=4'h9)&(Q7:4=4'h9)&(Q3:0=4'h9);assign EN4=(Q15:12=4'h5)&(Q11:8=4'h9)&(Q7:4=4'h9)&(Q3:0=4'h9);assign _1kHzIN=Q18;endmodulemodule Divided_Frequency(_1HzOut,_500HzOut,nCR,_1kHzIN);input _1kHzIN,nCR;output _1HzOut,_500HzOut;supply1 Vdd; /定義Vd

20、d為高電平wire 11:0 Q; /計數(shù)器的輸出信號(中間變量)wire EN1,EN2; /計數(shù)器使能信號(中間變量)counter10 DU0(Q3:0,nCR,Vdd,_1kHzIN); /調(diào)用十進(jìn)制計數(shù)器模塊counter10 DU1(Q7:4,nCR,EN1,_1kHzIN);counter10 DU2(Q11:8,nCR,EN2,_1kHzIN);assign EN1=(Q3:0=4'h9);assign EN2=(Q7:4=4'h9)&(Q3:0=4'h9);assign _1HzOut=Q11;assign _500HzOut=Q0;endmo

21、dule4.2 計數(shù)器計數(shù)器是整個數(shù)字鐘電路的最基本模塊,在分頻、時鐘等處被多次調(diào)用,模60計數(shù)器是秒和分的計數(shù)器,模12和模24為時的計數(shù)器,分頻中則多次用到十分頻、八分頻以及六分頻,verilog語言程序及原理簡介如下:/counter24.vmodule counter24(CounterH,CounterL,nCR,EN,CP); input CP,nCR,EN; /timing impulse CP,zero clearing singal nCR,enable singal EN output 3:0 CounterH,CounterL; reg 3:0 CounterH,Coun

22、terL;/*定義了兩個四位Reg型矢量,等效于8個變量(CounterH0、CounterH1、CounterH2、CounterH3),(CounterL0、CounterL1、CounterL2、CounterL3)*/ always(posedge CP or negedge nCR) /時鐘上升沿或清零信號跳變?yōu)榈碗娖綍r,條件為真 begin if(nCR) CounterH,CounterL<= 8'h00; /nCR=0,異步清零 else if (EN) CounterH,CounterL<=CounterH,CounterL; /對使能信號無效的處理 el

23、se if (CounterH>2)|(CounterL>9)|(CounterH=2)&&(CounterL>=3) CounterH,CounterL<=8'h00; /對小時計時器出錯的處理 else if (CounterH=2)&&(CounterL<3) begin CounterH<=CounterH; CounterL<=CounterL+1'b1;end /進(jìn)行20到23計數(shù) else if (CounterL=9) begin CounterH<=CounterH+1'b

24、1; CounterL<=4'b0000;end /小時十位進(jìn)位計數(shù) else begin CounterH<=CounterH; CounterL<=CounterL+1'b1;end /小時個位計數(shù) endendmodule/counter60.vmodule counter10(Q,nCR,EN,CP);input CP,nCR,EN;output 3:0 Q;reg 3:0 Q; /定義了一個四位Reg型矢量,等效于4個變量(Q0、Q1、Q2、Q3)always (posedge CP or negedge nCR) /時鐘上升沿或清零信號跳變?yōu)榈碗娖?/p>

25、時,條件為真beginif(nCR) Q<=4'b0000; /nCR=0,計數(shù)器被異步清零else if (EN) Q<=Q; /EN=0,使能無效,暫停計數(shù)else if (Q=4'b1001) Q<=4'b0000; else Q<=Q+1'b1; /計數(shù)器増1計數(shù)endendmodulemodule counter6(Q,nCR,EN,CP);input CP,nCR,EN;output 3:0 Q;reg 3:0 Q;always(posedge CP or negedge nCR)beginif (nCR) Q<=4&#

26、39;b0000; /nCR=0,計數(shù)器被異步清零else if (EN) Q<=Q; /EN=0,暫停計數(shù)else if (Q=4'b0101) Q<=4'b0000;else Q<=Q+1'b1; /計數(shù)器増1計數(shù)end endmodulemodule counter60(Counter,nCR,EN,CP);input CP,nCR,EN;output 7:0 Counter; /模六十計數(shù)器的輸出信號wire 7:0 Counter; /輸出為8421BCD碼wire ENP; /計數(shù)器十位的使能信號(中間變量)counter10 UC0 (C

27、ounter3:0,nCR,EN,CP); /計數(shù)器的個數(shù)counter6 UC1 (Counter7:4,nCR,ENP,CP); /計數(shù)器的十位assign ENP=(Counter3:0=4'h9); /產(chǎn)生計數(shù)器十位的使能信號endmodule/counter12module counter12(CntH,CntL,nCR,EN,CP); input CP,nCR,EN; /timing impulse CP,zero clearing singal nCR,enable singal EN output 3:0 CntH,CntL; reg 3:0 CntH,CntL; al

28、ways(posedge CP or negedge nCR) begin if(nCR) CntH,CntL<= 8'h00; else if (EN) CntH,CntL<=CntH,CntL; else if (CntH>1)|(CntL>9)|(CntH=1)&&(CntL>=1) CntH,CntL<=8'h00; else if (CntH=1)&&(CntL<1) begin CntH<=CntH; CntL<=CntL+1'b1;end else if (CntL=9)

29、 begin CntH<=CntH+1'b1; CntL<=4'b0000;end else begin CntH<=CntH; CntL<=CntL+1'b1;end endendmodule4.3 計時電路計時電路將秒往分的進(jìn)位,以及分往時的進(jìn)位寫入了程序,再利用分頻得出的1Hz頻率作為秒的CP信號,使得整個時鐘電路得以正常工作。Verilog程序及其原理簡介如下:/top_clock.vmodule top_clock (Hour,Minute,Second,_1Hz,nCR,AdjMinkey,AdjHrkey,Mode2); input

30、 _1Hz,nCR,AdjMinkey,AdjHrkey; output7:0 Hour,Minute,Second; wire7:0 Hour,Hour_24,Hour_12, Minute, Second; supply1 Vdd; /定義Vdd為高電平 wire MinCP,HrCP; /分別為分鐘,小時計數(shù)器時鐘信號的中間變量 input Mode2; /*控制顯模式切換的按鍵 Mode2=1時,顯示24小時制,Mode2=0時,顯示12小時制*/Hour:Minute:Second countercounter60 UT1(Second,nCR,Vdd,_1Hz); counter6

31、0 UT2(Minute,nCR,Vdd,MinCP); counter24 UT3(Hour_247:4,Hour_243:0,nCR,Vdd,HrCP); counter12 UT4(Hour_127:4,Hour_123:0,nCR,Vdd,HrCP); _2to1MUX MU1(Hour,Mode2,Hour_24,Hour_12);assign MinCP= AdjMinkey ? _1Hz : (Second=8'h59);/產(chǎn)生分鐘計數(shù)器時鐘信號。AdjMinkey=1,校正分鐘;AdjMinkey=0分鐘正常計時assign HrCP= AdjHrkey ? _1Hz

32、: (Minute,Second= 16'h5959);/產(chǎn)生小時計數(shù)器時鐘信號。AdjHrkey=1,小時分鐘;AdjHrkey=0小時正常計時endmodule4.4 整點報時整點報時電路的關(guān)鍵就在于一個case語句,在符合條件時,輸出特定頻率的聲音。Verilog程序及其原理簡介如下:/Radio.vmodule Radio (ALARM_Radio,Minute,Second,_1kHzIN,_500Hz);input _1kHzIN,_500Hz; /定義輸入端口變量input 7:0 Minute,Second; output ALARM_Radio; /定義輸出端口變量r

33、eg ALARM_Radio; /說明變量的類型always (Minute or Second) /generate alarm signalif (Minute=8'h59) case (Second)8'h53,8'h55,8'h57:ALARM_Radio=_500Hz;8'h59:ALARM_Radio=_1kHzIN;default :ALARM_Radio=1'b0;endcaseelse ALARM_Radio=1'b0;endmodule4.5 LED電路LED顯示電路,通過遠(yuǎn)大于1Hz的掃描頻率,在每1s內(nèi)掃描多次時、

34、分、秒數(shù)值,并閃爍顯示在七段譯碼管上,由于掃描頻率很高,人眼是不會分辨出顯示時間在閃爍的。其程序及原理簡介如下:module LED2(CP,LED_HrH3:0,LED_HrL3:0,LED_MinH3:0,LED_MinL3:0,LED_SecH3:0,LED_SecL3:0,Segout,Seg_in,Count,SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8);input CP; /1kHz clockinput 3:0 LED_HrH,LED_HrL,LED_MinH,LED_MinL,LED_SecH,LED_SecL;output6:0Segout; / 7-se

35、gment code output,segout6.0-gfedcbaoutput SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8; /select LEDoutput 3:0Seg_in;output 2:0Count;reg SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8;reg 6:0Segout;reg 2:0Count; /internal 3-bit counterreg 3:0Seg_in; /4-bit binary code/select LED0LED5 displayalways(posedge CP) /CP=1kHz case(Coun

36、t) 3'b000:begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b01111111; /LED0 display Seg_in=LED_HrH3:0; Count=Count+1; /Count=1 end 3'b001:begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b10111111; /LED1 display Seg_in=LED_HrL3:0; Count=Count+1; /Count=2 end 3'b010:begin SG1,SG2,SG3,SG4,SG5,SG6,SG

37、7,SG8=8'b11011111; /LED2 display Seg_in=LED_MinH3:0; Count=Count+1; /Count=3 end 3'b011: begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b11101111; /LED3 display Seg_in=LED_MinL3:0; Count=Count+1; /Count=4 end 3'b100:begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b11110111; /LED4 display Seg_in

38、=LED_SecH3:0; Count=Count+1; /Count=5 end 3'b101:begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b11111011; /LED5 display Seg_in=LED_SecL3:0; Count=Count+1; /Count=6 end 3'b110:begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b11111111; /LED4 display Seg_in=LED_SecH3:0; Count=Count+1; /Count=7 end 3&

39、#39;b111:begin SG1,SG2,SG3,SG4,SG5,SG6,SG7,SG8=8'b11111111; /LED5 display Seg_in=LED_SecL3:0; Count=Count+1; /Count=0 end endcase/ BCD Code=>7 Segment Code(ag)always(Seg_in) case(Seg_in) /gfedcba4'b0000:Segout=7'b1000000;4'b0001:Segout=7'b1111001;4'b0010:Segout=7'b0100

40、100;4'b0011:Segout=7'b0110000;4'b0100:Segout=7'b0011001;4'b0101:Segout=7'b0010010;4'b0110:Segout=7'b0000010;4'b0111:Segout=7'b1111000;4'b1000:Segout=7'b0000000;4'b1001:Segout=7'b0010000;4'b1010:Segout=7'b0001000;4'b1011:Segout=7'

41、;b0000011;4'b1100:Segout=7'b0100111;4'b1101:Segout=7'b0100001;4'b1110:Segout=7'b0000110;4'b1111:Segout=7'b0001110;default: Segout= 7'b0100011;endcaseendmodule4.6 定時鬧鐘定時鬧鐘的關(guān)鍵部分在于比較器,如果鬧鐘所定的時間與計時的時間相同時,就以奇數(shù)秒低,偶數(shù)秒高的頻率發(fā)出鬧鈴聲響,可由按鍵關(guān)閉。Verilog程序及其基本原理如下:module Bell (ALARM

42、_Clock,Set_Hr,Set_Min,Hour,Minute,Second,SetHrkey,SetMinkey,_1kHzIN,_500Hz,_1Hz,CtrlBell);output ALARM_Clock;output 7:0Set_Hr,Set_Min; /設(shè)定的鬧鈴時間wire7:0Set_Hr,Set_Min;wire ALARM_Clock; /鬧鈴輸出信號 input _1kHzIN,_500Hz,_1Hz; /定義輸入端口變量input SetHrkey,SetMinkey; /設(shè)定鬧鐘小時、分鐘的輸入鍵input CtrlBell; /控制鬧鐘的時間是否輸出的按鍵in

43、put 7:0Hour,Minute,Second; /定義內(nèi)部節(jié)點信號supply1 Vdd; /定義Vdd為高電平wire HrH_EQU,HrL_EQU,MinH_EQU,MinL_EQU;/比較器的內(nèi)部信號wire Time_EQU; /相等比較電路的輸出/鬧鐘設(shè)定模塊(Set Hour &Minute counter)/60進(jìn)制分鐘比較器:用于鬧鐘設(shè)定分鐘counter60 SU1(Set_Min,Vdd,SetMinkey,_1Hz); /24進(jìn)制小時計數(shù)器:用于鬧鐘設(shè)定小時counter24 SU2(Set_Hr7:4,Set_Hr3:0,Vdd,SetHrkey,_1H

44、z);/比較鬧鐘的設(shè)定時間和計數(shù)器的當(dāng)前時間是否相等_4bitcomparator SU4(HrH_EQU,Set_Hr7:4,Hour7:4);_4bitcomparator SU5(HrL_EQU,Set_Hr3:0,Hour3:0);_4bitcomparator SU6(MinH_EQU,Set_Min7:4,Minute7:4);_4bitcomparator SU7(MinL_EQU,Set_Min3:0,Minute3:0);/鬧鐘聲音控制信號assign Time_EQU= (HrH_EQU && HrL_EQU && MinH_EQU &

45、;& MinL_EQU);assign ALARM_Clock=CtrlBell ? (Time_EQU && (Second0=1'b1)&&_500Hz)|(Second0= 1'b0)&&_1kHzIN):1'b0;endmodule /_4bitcomparator.vmodule _4bitcomparator (EQU,A,B);/4-bit comparator input3:0 A,B; output EQU=(A=B);endmodule5、 程序下載、仿真與調(diào)試編譯好的程序經(jīng)過管腳設(shè)定后即可下載到 FPGA 芯片進(jìn)行調(diào)試。5.1 管腳設(shè)定具體的管腳設(shè)定如下:5.2 修改 Device&Pins Options 及重新編譯管腳分配保存好后,選擇 Assignments 選項中的 De

溫馨提示

  • 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

提交評論