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
用原理图搭
路漫漫其修远兮,吾将上下而求索