名称:基于ego1开发板的万年历自动数字日历设计verilog代码(代码在文末下载)
软件:VIVADO
语言:Verilog
代码功能:
自动数字日历设计:
设计自动数字日历,用七段数字显示器显示年(后2位)、月、日和星期数,在计日脉冲的作用下,自动完成1-12月的月、日及星期的计数和显示。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
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
阅读全文
1003