赞
踩
名称:数字时钟设计VIVADO软件Basys3开发板verilog语言电子表
软件:VIVADO
语言:Verilog
代码功能:
数字时钟设计
1、24小时进制计时,数码管显示时分秒
2、可以通过按键修改时间
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在Basys3开发板验证,开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. Testbench
4. 仿真图
整体仿真图
整体仿真图
整体仿真图
消抖模块仿真图
分频模块仿真图
计时模块仿真图
显示模块仿真图
部分代码展示:
//顶层模块 module digital_clock( input clk_100M, input BTNL,//设置时间 input BTNR,//确认 input BTNU,//设置时分秒 output [3:0] bit_select, output [7:0] lednum_select ); wire set_time_key;//设置时间 wire confirm_key;//确认 wire change_time_key;//设置时分秒 wire clk_1Hz; wire [7:0] hour_time;//时 wire [7:0] minute_time;//分 wire [7:0] second_time;//秒 key_jitter key_set_time_key( . clkin(clk_100M), . key_in(BTNL),//输入 . key_posedge(set_time_key),//消抖后按键上升沿 . key_negedge(),//消抖后按键下降沿 . key_value()//消抖后按键 ); key_jitter key_confirm_key( . clkin(clk_100M), . key_in(BTNR),//输入 . key_posedge(confirm_key),//消抖后按键上升沿 . key_negedge(),//消抖后按键下降沿 . key_value()//消抖后按键 ); key_jitter key_change_time_key( . clkin(clk_100M), . key_in(BTNU),//输入 . key_posedge(change_time_key),//消抖后按键上升沿 . key_negedge(),//消抖后按键下降沿 . key_value()//消抖后按键 ); fenping i_fenping( . clk_100M(clk_100M), . clk_1Hz(clk_1Hz) ); jishi i_jishi( . clk_100M(clk_100M), . clk_1Hz(clk_1Hz), . set_time_key(set_time_key),//设置时间 . confirm_key(confirm_key),//确认 . change_time_key(change_time_key),//设置时分秒 . hour_time(hour_time),//时 . minute_time(minute_time),//分 . second_time(second_time)//秒 ); display_num i_display_num( . clk(clk_100M), . hour_time(hour_time),//时 . minute_time(minute_time),//分 . bit_select(bit_select), . lednum_select(lednum_select) ); endmodule
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。