牛客网Verilog刷题——VL55

牛客网Verilog刷题——VL55

  • 题目
  • 答案

题目

  请用Verilog实现4位约翰逊计数器(扭环形计数器),计数器的循环状态如下:
牛客网Verilog刷题——VL55_第1张图片
  电路的接口如下图所示:

牛客网Verilog刷题——VL55_第2张图片
  输入输出描述:

信号 类型 输入/输出 位宽 描述
clk wire Input 1 系统时钟信号
rst_n wire Input 1 异步复位信号,低电平有效
Q reg Output 4 输出约翰逊计数器

答案

`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 <= 4'd0;
    else
        Q <= {~Q[0],Q[3:1]};
end

endmodule

你可能感兴趣的:(牛客刷题,fpga开发,Verilog,扭环形计数器)