Johnson计数器

约翰逊(Johnson)计数器又称扭环计数器,是一种用n位触发器来表示2n个状态的计数器。它与环形计数器不同,后者用n位触发器仅可表示n个状态。n位二进制计数器(n为触发器的个数)有2^n个状态。若以四位二进制计数器为例,它可表示16个状态。

module johnson
#(
    parameter N=4
)
(
    input clk,
    input rst_n,
    output reg [N-1:0] q
);

always @ (posedge clk,negedge rst_n)
if(!rst_n)
    q <= {N{1'b0}};
else if(!q[0])
    q <= {1'b1,q[N-1:1]};
else
    q <= {1'b0,q[N-1:1]};

endmodule 

用原理图搭

posted on 2011-09-12 16:06  齐威王  阅读(6478)  评论(0编辑  收藏

导航