计时器日历及时间设计Verilog代码VIVADO仿真
名称:计时器日历及时间设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
计时器日历及时间
基本要求:计时显示日历,年/月/日/时/分/秒/百分秒。
提示:
计时器计算设计,
年/月/日的日历查找表。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件

ROM IP 核


3. 程序编译

4. RTL图

5. 仿真文件(testbench)

6. 仿真图



修改起始地址,获得不同年月日




部分代码展示:
`timescale 1ns/100ps module calendar ( input sysclk, input reset_n, output [31:0] rom_data ); reg [15:0] year_h = 8'd20; reg [7:0] year_l = 8'd08; reg [3:0] month = 4'd1; reg [4:0] day = 5'd30; //------------------------------------------------------------------------------ wire month_flag = (day == 28)&!(year_l[1:0] == 0 & year_l !=0 | year_h[1:0] ==0 & year_l ==0)&(month == 2)| (day == 29)& (year_l[1:0] == 0 & year_l !=0 | year_h[1:0] ==0 & year_l ==0)&(month == 2)| (day == 30)& ((month == 4)|(month == 6)|(month == 9)|(month == 11))| (day == 31)& ((month == 1)|(month == 3)|(month == 5)|(month == 7)|(month == 8)|(month == 10)|(month == 12)); //------------------------------------------------------------------------------ always@(posedge sysclk or negedge reset_n) begin if (!reset_n) begin day <= 5'b1; month <= 4'd1; year_l <= 8'd08; year_h <= 8'd20; end else begin if (month_flag) begin day <= 5'd1; if (month == 12) begin month <= 5'd1; if (year_l == 100 -1'b1) begin year_l <= 8'd0; if (year_h == 100 -1'b1) begin year_h <= 8'd0; end else if (year_l == 100 -1'b1) begin year_h <= year_h + 1'b1; end end else if (month == 12) begin year_l <= year_l + 1'b1; end
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 计时器日历及时间设计Verilog代码VIVADO仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 计时器日历及时间设计Verilog代码VIVADO仿真