名稱:基于ego1開發(fā)板的萬年歷自動數字日歷設計verilog代碼(代碼在文末下載)
軟件:VIVADO
語言:Verilog
代碼功能:
自動數字日歷設計:
設計自動數字日歷,用七段數字顯示器顯示年(后2位)、月、日和星期數,在計日脈沖的作用下,自動完成1-12月的月、日及星期的計數和顯示。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在ego1開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
部分代碼展示:
//頂層模塊 module?calendar( input??clk_in,//時鐘 input??rst,//復位 input?switch,//開關 output??[7:0]?dig_led_1, output??[3:0]?wei_led_1, output??[7:0]?dig_led_2, output??[3:0]?wei_led_2 ); wire?day_add; wire?[7:0]??year;//年 wire?[7:0]??month;//月 wire?[7:0]??day;//日 wire?[3:0]?week; //分頻模塊 clk_div?i_clk_div( .?clk_in(clk_in),//100M .?switch(switch),//開關 .?day_add(day_add)//1Hz的日脈沖 ); //日期控制 data_ctrl?i_data_ctrl ( .??clk_in(clk_in),//時鐘 .??rst(rst),//復位 .??day_add(day_add),//計日使能 .??year(year),//年 .??month(month),//月 .??day(day)//日 ); //星期控制 week_ctrl?i_week_ctrl ( .??clk_in(clk_in),//時鐘 .??rst(rst),//復位 .??day_add(day_add),//計日使能 .??week(week)//星期 ); ??? ??? //顯示模塊 display_num?i_display_num( .?clk(clk_in), .??year(year),//年 .??month(month),//月 .??day(day),//日 .??week(week),//星期 .?dig_led_1(dig_led_1), .?wei_led_1(wei_led_1), .?dig_led_2(dig_led_2), .?wei_led_2(wei_led_2) ); endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=305
閱讀全文