小企业官方网站制作网页设计作品源代码下载
牛客网Verilog刷题——VL55
- 题目
 - 答案
 
题目
  请用Verilog实现4位约翰逊计数器(扭环形计数器),计数器的循环状态如下:
 
   电路的接口如下图所示:

   输入输出描述:
| 信号 | 类型 | 输入/输出 | 位宽 | 描述 | 
|---|---|---|---|---|
| clk | wire | Input | 1 | 系统时钟信号 | 
| rst_n | wire | Input | 1 | 异步复位信号,低电平有效 | 
| Q | reg | Output | 4 | 输出约翰逊计数器 | 
答案
`timescale 1ns/1nsmodule JC_counter(input                clk ,input                rst_n,output reg [3:0]     Q  
);always @(posedge clk or negedge rst_n) beginif(!rst_n)Q <= 4'd0;elseQ <= {~Q[0],Q[3:1]};
endendmodule
