My title page contents

自动数字日历设计Verilog代码ISE SEED-XDTK开发板

名称:自动数字日历设计Verilog代码ISE  SEED-XDTK开发板

软件:ISE

语言:Verilog

代码功能:

自动数字日历设计

在实验二的基础上,设计自动数字日历,用七段数字显示器显示年(后2位)、月、日和星期数,在计日脉冲的作用下,自动完成1-12月的月、日及星期的计数和显示。

日历.JPG

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在SEED-XDTK开发板验证,SEED-XDTK开发板如下,其他开发板可以修改管脚适配:SEED-XDTK开发板.png

演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件


3. 程序编译


4. RTL图


5. 管脚分配


6. Testbench


7. 仿真图







部分代码展示:

`timescale  1ns/100ps
//日历控制模块
module control
(
input  clk,//时钟
input  rst,//复位
input  cnt_en,//计日使能
output [3:0]   year_ten,//年
output [3:0]   year_one,
output [3:0]   month_ten,//月
output [3:0]   month_one,
output [3:0]   day_ten,//日
output [3:0]   day_one,
output reg [3:0]   week//星期
);
reg [7:0]   year_h    =  8'd20;
reg [7:0]   year_l    =  8'd21;
reg [3:0]   month     =  4'd12;
reg [4:0]   day       =  5'd22;
wire  month_add;
always@(posedge clk or negedge rst)
begin
  if (!rst)//复位星期3
week   <=4'd3;//星期3
  else 
if (cnt_en == 1) 
if(week==4'd7)
week<=4'd1;
else
week<=week+1;//星期1~7
end
always@(posedge clk or negedge rst)
begin
  if (!rst)//复位到时间2021年12月22日
  begin
    year_h  <= 8'd20;
year_l  <= 8'd21;
month   <= 4'd12;
day     <= 5'd22;
  end
  else 
if (cnt_en == 1) 
begin
if (month_add) 
begin
day <=1;
if (month == 12) //月1~12
begin
month <= 1;
if (year_l == 99)
begin
year_l <= 0;
if (year_h == 99)
year_h <= 0;
else if (year_l == 99)
year_h <= year_h + 1;                    
end
else if (month == 12)
year_l <= year_l + 1;//年加1                   
end
else if (month_add)
month <= month + 1;//月加1                
end
else
day <= day + 1;//日加1
end
end

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动数字日历设计Verilog代码ISE SEED-XDTK开发板

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员