当前位置:   article > 正文

基于FPGA的简易数字钟设计Verilog代码VIVADO仿真

基于FPGA的简易数字钟设计Verilog代码VIVADO仿真

名称:基于FPGA的简易数字钟设计Verilog代码VIVADO仿真(文末获取)

软件:VIVADO

语言:Verilog

代码功能:小时和分钟用数码管显示,秒用发光二极管闪烁显示,每秒闪烁一次

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

分频模块

60进制秒计时模块

60进制分计时模块

24进制小时计时模块

显示模块

部分代码展示:

//小时和分钟用数码管显示,秒用发光二极管闪烁显示,每秒闪烁一次
module clock_top(
input CLK_50M,//时钟
input CLR,//清零,低电平复位
output second_led,//秒led灯
output [7:0] HEX_ten_minute,//数码管显示分钟十位
output [7:0] HEX_one_minute,//数码管显示分钟个位
output [7:0] HEX_ten_hour,//数码管显示小时十位
output [7:0] HEX_one_hour//数码管显示小时个位
);
wire cout_second;
wire cout_minute;
wire [3:0] cnt_ten_second;//计数值十位
wire [3:0] cnt_one_second;//计数值个位
wire [3:0] cnt_ten_minute;//计数值十位
wire [3:0] cnt_one_minute;//计数值个位
wire [3:0] cnt_ten_hour;//计数值十位
wire [3:0] cnt_one_hour;//计数值个位
wire clk;
assign second_led=clk;
//分频模块
divider i_divider(
.CLR(CLR),
.CLK_50M(CLK_50M),
.CLK_1HzOut(clk)
);
//60进制计数器
counter_60 i_second(
. clk(clk),
. CLR(CLR),
. cnt_ten(cnt_ten_second),//计数值十位
. cnt_one(cnt_one_second),//计数值个位
. cout(cout_second)//满60进位
);
//60进制计数器
counter_60 i_minute(
. clk(cout_second),
. CLR(CLR),
. cnt_ten(cnt_ten_minute),//计数值十位
. cnt_one(cnt_one_minute),//计数值个位
. cout(cout_minute)//满60进位
);
//24进制计数器
counter_24 i_hour(
. clk(cout_minute),
. CLR(CLR),
. cnt_ten(cnt_ten_hour),//计数值十位
. cnt_one(cnt_one_hour)//计数值个位
);
源代码

 扫描文章末尾的公众号二维码

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号