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

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

07/18 09:29
623
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240205093244634.doc

共1个文件

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

软件:Quartus

语言:Verilog

代码功能:

试用 verilog语言描述一个变模计数器,在s和T的控制下实现同步模10模12模24和模60计数,其模数控制表如6.7.4所示,并要求具有异步清零和暂时计数的能,然后用quartus软件进行逻功能仿真,并给出仿真波形。

QQ图片20240205092712.png

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

演示视频:

设计文档:

1. 题目

2. 工程文件

3. 程序文件

4. 程序编译

5. 仿真图设置

6. 仿真图

整体仿真

异步清零,reset_n为低电平时计数器输出0

异步清零,reset_n为低电平时计数器输出0

暂停计数,enable为低电平时,暂停计数,高电平时正常计数

模10计数器,S=0,T=0

模12计数器,S=0,T=1

模24计数器,S=1,T=0

模60计数器,S=1,T=1

部分代码展示:

module mod_counter(
input clk,
input reset_n,//复位清零信号
input S,//
input T,//
input enable,//暂停控制信号,为1时正常计数,为0时暂停
output reg [5:0] counter//计数器输出
);
wire [1:0] ST;
assign ST={S,T};//输入ST
reg [5:0] mod_cnt=6'd0;
always@(posedge clk or negedge reset_n) 
if(!reset_n)//低电平复位
mod_cnt<=6'd0;
else
case(ST)
2'b00:mod_cnt<=6'd10;//模10计数
2'b01:mod_cnt<=6'd12;//模12计数
2'b10:mod_cnt<=6'd24;//模24计数
2'b11:mod_cnt<=6'd60;//模60计数
default:;
endcase
always@(posedge clk or negedge reset_n) 
if(!reset_n)//低电平复位
counter<=6'd0;
else
if(enable==1)

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

  • 2-240205093244634.doc
    下载

相关推荐