名稱:數(shù)字時(shí)鐘設(shè)計(jì)VIVADO軟件Basys3開發(fā)板verilog語言電子表(代碼在文末下載)
軟件:VIVADO
語言:Verilog
代碼功能:
數(shù)字時(shí)鐘設(shè)計(jì):
1、24小時(shí)進(jìn)制計(jì)時(shí),數(shù)碼管顯示時(shí)分秒。
2、可以通過按鍵修改時(shí)間。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. Testbench
4. 仿真圖
整體仿真圖
整體仿真圖
分頻模塊仿真圖
計(jì)時(shí)模塊仿真圖
顯示模塊仿真圖
部分代碼展示:
//頂層模塊 module?digital_clock( input?clk_100M, input?BTNL,//設(shè)置時(shí)間 input?BTNR,//確認(rèn) input?BTNU,//設(shè)置時(shí)分秒 output??[3:0]?bit_select, output??[7:0]?lednum_select ????); wire?set_time_key;//設(shè)置時(shí)間 wire?confirm_key;//確認(rèn) wire?change_time_key;//設(shè)置時(shí)分秒 wire?clk_1Hz; wire?[7:0]?hour_time;//時(shí) wire?[7:0]?minute_time;//分 wire?[7:0]?second_time;//秒 key_jitter?key_set_time_key( ?????.?clkin(clk_100M), ?????.?key_in(BTNL),//輸入 ?.?key_posedge(set_time_key),//消抖后按鍵上升沿 ?.?key_negedge(),//消抖后按鍵下降沿 ?????.?key_value()//消抖后按鍵 ); key_jitter?key_confirm_key( ?????.?clkin(clk_100M), ?????.?key_in(BTNR),//輸入 ?.?key_posedge(confirm_key),//消抖后按鍵上升沿 ?.?key_negedge(),//消抖后按鍵下降沿 ?????.?key_value()//消抖后按鍵 ); key_jitter?key_change_time_key( ?????.?clkin(clk_100M), ?????.?key_in(BTNU),//輸入 ?.?key_posedge(change_time_key),//消抖后按鍵上升沿 ?.?key_negedge(),//消抖后按鍵下降沿 ?????.?key_value()//消抖后按鍵 ); fenping?i_fenping( .?clk_100M(clk_100M), .?clk_1Hz(clk_1Hz) ); jishi?i_jishi( .?clk_100M(clk_100M), .?clk_1Hz(clk_1Hz), .?set_time_key(set_time_key),//設(shè)置時(shí)間 .?confirm_key(confirm_key),//確認(rèn) .?change_time_key(change_time_key),//設(shè)置時(shí)分秒 .?hour_time(hour_time),//時(shí) .?minute_time(minute_time),//分 .?second_time(second_time)//秒 ); display_num?i_display_num( .?clk(clk_100M), .?hour_time(hour_time),//時(shí) .?minute_time(minute_time),//分 .?bit_select(bit_select), .?lednum_select(lednum_select) ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=300