名稱:數字時鐘設計VIVADO軟件Basys3開發(fā)板verilog語言電子表(代碼在文末下載)
軟件:VIVADO
語言:Verilog
代碼功能:
數字時鐘設計:
1、24小時進制計時,數碼管顯示時分秒。
2、可以通過按鍵修改時間。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設計文檔:
1. 工程文件
2. 程序文件
3. Testbench
4. 仿真圖
整體仿真圖
整體仿真圖
分頻模塊仿真圖
計時模塊仿真圖
顯示模塊仿真圖
部分代碼展示:
//頂層模塊 module?digital_clock( input?clk_100M, input?BTNL,//設置時間 input?BTNR,//確認 input?BTNU,//設置時分秒 output??[3:0]?bit_select, output??[7:0]?lednum_select ????); wire?set_time_key;//設置時間 wire?confirm_key;//確認 wire?change_time_key;//設置時分秒 wire?clk_1Hz; wire?[7:0]?hour_time;//時 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),//設置時間 .?confirm_key(confirm_key),//確認 .?change_time_key(change_time_key),//設置時分秒 .?hour_time(hour_time),//時 .?minute_time(minute_time),//分 .?second_time(second_time)//秒 ); display_num?i_display_num( .?clk(clk_100M), .?hour_time(hour_time),//時 .?minute_time(minute_time),//分 .?bit_select(bit_select), .?lednum_select(lednum_select) ); endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=300
閱讀全文