题解 | #Johnson Counter#

Johnson Counter

http://www.nowcoder.com/practice/7ee6e9ed687c40c3981d7586a65bc22d

  1. 本题的循环计数规律是:当最后一位是0是,右移补位是1,否则为0。
  2. 另一种方法是用状态机,比较适用于没规律的计数。

完整代码

`timescale 1ns/1ns

module JC_counter(
   input                clk ,
   input                rst_n,
 
   output reg [3:0]     Q  
);
    always@(negedge rst_n or posedge clk)begin
        if(~rst_n)
            Q <= 0;
        else
            Q <= Q[0]? {1'b0,Q[3:1]}: {1'b1,Q[3:1]};
    end
endmodule
全部评论

相关推荐

10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务