• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

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

07/23 11:04
697
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2405091S342b2.doc

共1个文件

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

软件:Quartus

语言:Verilog

代码功能:

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

主要功能:

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

2.能够暂停继续倒计时。

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

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

设计文档:

部分代码展示:

//计数控制模块
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

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=722

  • 2-2405091S342b2.doc
    下载

相关推荐