名称:基于ego1开发板的万年历自动数字日历设计verilog代码
软件:VIVADO
语言:Verilog
代码功能:
自动数字日历设计
设计自动数字日历,用七段数字显示器显示年(后2位)、月、日和星期数,在计日脉冲的作用下,自动完成1-12月的月、日及星期的计数和显示。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管脚适配:
扫描二维码关注公众号,回复:
17227599 查看本文章
![](/qrcode.jpg)
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