Quartus秒表设计verilog代码仿真

名称:Quartus秒表设计verilog代码仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

设计一个可记录 60 秒时长的秒表,具有两个控制按键 k0 和 k1,基本功能如下:

(1)按下 k0,计时开始;再次按下 k0,计时暂停;再次按下 k0,计时继续。

(2)计时开始后,按下 k1,显示暂停,即显示的数字冻结,内部仍在计时;再次按

下 k1,显示更新为新的计时时间,仍然冻结,内部仍继续计时。

(3)计时暂停时,按下 k1,计时复位清零。

(4)冻结显示时,按下 k0,恢复正常显示

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

按键检测模块

分频模块

控制模块

显示模块

部分代码展示:

//设计一个可记录 60 秒时长的秒表,具有两个控制按键 k0 和 k1,基本功能如下:
//(1)按下 k0,计时开始;再次按下 k0,计时暂停;再次按下 k0,计时继续。
//(2)计时开始后,按下 k1,显示暂停,即显示的数字冻结,内部仍在计时;再次按
//下 k1,显示更新为新的计时时间,仍然冻结,内部仍继续计时。
//(3)计时暂停时,按下 k1,计时复位清零。
//(4)冻结显示时,按下 k0,恢复正常显示
module Digital_clock(
input clk_in,//有源晶振
input k0,//启动//暂停
input k1,//暂停//复位
output [5:0] bit_select,//数码管位选,低电平有效
output [7:0] seg_select//数码管段选,为低电平时,相应字段就点亮
);
wire [7:0] stopwatch_Millisecond;//10毫秒
wire [7:0] stopwatch_second;//秒
wire [7:0] stopwatch_minute;//分
wire k0_n;//启动//暂停
wire k1_n;//暂停//复位
wire clk_100Hz;
//按键检测
key_jitter i0_key_jitter(
. clkin(clk_in),
. key_in(k0),//输入
. key_negedge(k0_n)//消抖后按键下降沿
);
//按键检测
key_jitter i1_key_jitter(
. clkin(clk_in),
. key_in(k1),//输入
. key_negedge(k1_n)//消抖后按键下降沿
);
//分频模块,产生100Hz用于秒表计时
fenping fenping_Hz(
. clk_in(clk_in),
. clk_100Hz(clk_100Hz)//100Hz--对应10ms
);
//
//秒表控制模块
stopwatch i_stopwatch(
. clk_in(clk_in),
. clk_100Hz(clk_100Hz),//100Hz--对应10ms
. k0(k0_n),//启动//暂停
. k1(k1_n),//暂停//复位
. stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒
. stopwatch_second(stopwatch_second),//秒
. stopwatch_minute(stopwatch_minute)//分
);
//数码管显示模块
display i_display(
. clk(clk_in),
. stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒
. stopwatch_second(stopwatch_second),//秒
. stopwatch_minute(stopwatch_minute),//分
. bit_select(bit_select),//数码管位选
. seg_select(seg_select)//数码管段选
);
endmodule
完整代码

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

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值