赞
踩
名称:基于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)//计数值个位 );
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。