graycounter.v

来自「计数器」· Verilog 代码 · 共 36 行

V
36
字号
//==========================================// Function : Code Gray counter.// Coder    : Alex Claros F.// Date     : 15/May/2005.//=======================================`timescale 1ns/1psmodule GrayCounter   #(parameter   COUNTER_WIDTH = 4)       (output reg  [COUNTER_WIDTH-1:0]    GrayCount_out,  //'Gray' code count output.         input wire                         Enable_in,  //Count enable.     input wire                         Clear_in,   //Count reset.         input wire                         Clk);    /////////Internal connections & variables///////    reg    [COUNTER_WIDTH-1:0]         BinaryCount;    /////////Code///////////////////////        always @ (posedge Clk)        if (Clear_in) begin            BinaryCount   <= {COUNTER_WIDTH{1'b 0}} + 1;  //Gray count begins @ '1' with            GrayCount_out <= {COUNTER_WIDTH{1'b 0}};      // first 'Enable_in'.        end        else if (Enable_in) begin            BinaryCount   <= BinaryCount + 1;            GrayCount_out <= {BinaryCount[COUNTER_WIDTH-1],                              BinaryCount[COUNTER_WIDTH-2:0] ^ BinaryCount[COUNTER_WIDTH-1:1]};        end    endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?