题意整理
约翰逊计数器,亦称扭环形计数器,每次状态变化时仅有一个触发器发生翻转,译码不存在竞争冒险,在n(n≥3)位计数器中,使用2n个状态,有2^n-2n个状态未使用;
题解主体
扭环形计数器一方面保持移位寄存器的特点,另一方面又能提高触发器的利用率。
它是将末级的反相输出端反馈到第一级的输入端。
4位扭环形计数器实现电路如下:
根据电路设计,Verilog代码描述如下:
module JC_counter( input clk , input rst_n, output reg [3:0] Q ); always @(posedge clk or negedge rst_n)begin if(!rst_n) Q <= 'd0; else Q <= {~Q[0], Q[3:1]}; end endmodule
参考答案
`timescale 1ns/1ns module JC_counter( input clk , input rst_n, output reg [3:0] Q ); always @(posedge clk or negedge rst_n)begin if(!rst_n) Q <= 'd0; else Q <= {~Q[0], Q[3:1]}; end endmodule