我是靠谱客的博主 虚幻时光,这篇文章主要介绍一个简单的五进制加法计数器一个简单的五进制加法计数器,现在分享给大家,希望可以做个参考。

一个简单的五进制加法计数器

1.1 verilog代码

module counter_fsm(clk,rst_n,Z);
input clk,rst_n;
output reg Z;
reg [2:0] pre_state,next_state;
parameter s0=3’b000,s1=3’b001,s2=3’b010,s3=3’b011,s4=3’b100;
always@(posedge clk or negedge rst_n)
if(!rst_n) pre_state<=s0;
else pre_state<=next_state;
always@(pre_state) begin
next_state=3’bxxx;
Z=1’b0;
case(pre_state)
s0:begin next_state=s1;Z=1’b0;end
s1:begin next_state=s2;Z=1’b0;end
s2:begin next_state=s3;Z=1’b0;end
s3:begin next_state=s4;Z=1’b0;end
s4:begin next_state=s0;Z=1’b1;end
default:begin next_state=s0; end
endcase
end
endmodule

1.2 testbench

`timescale 1ns/1ns
module counter_fsm_tb;
reg clk,rst_n;
wire Z;
counter_fsm U1(.clk(clk),.rst_n(rst_n),.Z(Z));
always #10 clk=~clk;
initial begin
clk=1’b0;
rst_n=1’b1;
#10 rst_n=1’b0;
#10 rst_n=1’b1;
end
endmodule

1.3 wave
在这里插入图片描述

最后

以上就是虚幻时光最近收集整理的关于一个简单的五进制加法计数器一个简单的五进制加法计数器的全部内容,更多相关一个简单内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部