verilog--偶数分频

    技术2026-02-17  17

     偶数分频,M = 时钟输入频率/时钟输出频率,N = M/2 如输入时钟为50M,输出时钟为5M,则M=10,N=5。

    因此只需将counter以clk为时钟驱动计数,当counter = (N-1)时,clk_out翻转进行了。

    module fen(                                           input clk,         input rst_n,         output reg clk_out           ); parameter N = 2;          //N=2,此时M=4,即系统四分频      reg [31:0] counter;

    always @(posedge clk or posedge rst_n) begin     if (rst_n)         counter <= 0;     else if (counter == N-1)         counter <= 0;     else          counter <= counter + 1; end

    always @(posedge clk or posedge rst_n) begin     if (rst_n)          clk_out <= 0;     else if (counter == N-1)         clk_out <= !clk_out; end

    endmodule

    Processed: 0.009, SQL: 9