基于FPGA的可变模计数器设计Verilog代码Quartus仿真

名称:基于FPGA的可变模计数器设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

设计一个可变模计数器(6位数码管2位显示模式4位显示计数)

主要功能:

1.能够任意设定不同的模实现计数

2.能够暂停继续倒计时

3.能够完成常见的810121624303651024计数(独立模式)

部分代码展示:

//计数控制模块
module counter_ctrl(
input clk,//时钟
input rst_p,//复位
input count_en,//继续,暂停
input add_sub,//正计时还是倒计时
input [2:0] sel,//模设置
output reg [10:0] count//计数输出 
);
//进制设置
reg [10:0] mode;
always@(posedge clk or posedge rst_p)
if(rst_p)
mode<=11'd8;//默认模8进制
else
case(sel)//模设置
3'd0:mode<=11'd8;
3'd1:mode<=11'd10;
3'd2:mode<=11'd12;
3'd3:mode<=11'd16;
3'd4:mode<=11'd24;
3'd5:mode<=11'd30;
3'd6:mode<=11'd365;
3'd7:mode<=11'd1024;
default:;
endcase
always@(posedge clk or posedge rst_p)
if(rst_p)
count<=11'd0;
else if(count_en==1)//高电平继续,低电平暂停
if(add_sub==1)//高电平表示正计时
if(count>=mode-1)//计数到最大
count<=11'd0;
else
count<=count+10'd1;//加计数
else 低电平表示倒计时
if(count==11'd0)//计数到最小
count<=mode-1;
else
count<=count-10'd1;//减计数
else //低电平暂停
count<=count;
endmodule
源代码

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值