基于FPGA的定时器设计Verilog代码Quartus仿真

本文详细介绍了一种使用Verilog在FPGA上设计的定时器,包括系统要求、功能如按键设置时间和倒计时、以及与Quartus工具的集成。设计涵盖了1Hz分频、时间设置模块和倒计时逻辑,还展示了部分关键代码和仿真过程。
摘要由CSDN通过智能技术生成

名称:基于FPGA的定时器设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

设计一个基于FPGA的定时器。

设计要求

1.系统主要外设:自恢复式按键4个(key1~key4)、LED灯1个、蜂鸣器1个、系统时钟(50MHz);

2.系统主要功能:能够通过按键改变定时的初始值,设置后进行自动倒计时,并通过数码管显示当前剩余时间。

备注:数码管上显示时、分、秒,并要求时、分、秒都可配置;倒计时结束,LED闪烁

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. testbench

6. 仿真图

部分代码展示:

module timing(
input clk_in,//50M
input reset,//复位
input start_key,//开始
input hour_key,//小时按键
input minute_key,//分钟按键
input second_key,//秒钟按键
output LED,
output [7:0] HEX0,//数码管-低亮
output [7:0] HEX1,//数码管-低亮
output [7:0] HEX2,//数码管-低亮
output [7:0] HEX3,//数码管-低亮
output [7:0] HEX4,//数码管-低亮
output [7:0] HEX5 //数码管-低亮
);
wire clk_1Hz;//1Hz时钟
wire[7:0]hour_set;//小时
wire[7:0]minute_set;//分钟
wire[7:0]second_set;//秒钟
wire[7:0]hour_out;//小时
wire[7:0]minute_out;//分钟
wire[7:0]second_out;//秒钟
//分频模块,分频到1Hz
fenping i_fenping(
. clk_50M(clk_in),
. clk_1Hz(clk_1Hz)
);
//时间设置
time_set i_time_set(
. clk_1Hz(clk_1Hz),//1Hz时钟
. hour_key(hour_key),//小时按键
. minute_key(minute_key),//分钟按键
. second_key(second_key),//秒钟按键
. hour_set(hour_set),//小时
. minute_set(minute_set),//分钟
. second_set(second_set)//秒钟
);
//时间倒计时
time_down i_time_down(
. clk_1Hz(clk_1Hz),//1Hz时钟
. reset(reset),//复位
. start_key(start_key),//开始
. LED(LED),
. hour_set(hour_set),//起始时间小时
. minute_set(minute_set),//起始时间分钟
. second_set(second_set),//起始时间秒钟
. hour_out(hour_out),//小时
. minute_out(minute_out),//分钟
. second_out(second_out)//秒钟
);
源代码

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

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值