alt

二分频利用标准频率的上升沿翻转接口,四分频利用二分频的上升沿,八分频利用四分频的上升沿。

`timescale 1ns/1ns

module even_div
    (
    input     wire rst ,
    input     wire clk_in,
    output    wire clk_out2,
    output    wire clk_out4,
    output    wire clk_out8
    );
//*************code***********//
    reg            out2;
    reg            out4;
    reg            out8;
    
    always@(posedge clk_in or negedge rst) begin: gen_out2
        if(~rst) begin
            out2 <= 0;
        end
        else begin
            out2 <= ~out2;
        end
    end
    
    always@(posedge out2 or negedge rst) begin: gen_out4
        if(~rst) begin
            out4 <= 0;
        end
        else begin
            out4 <= ~out4;
        end
    end
    
    always@(posedge out4 or negedge rst) begin: gen_out8
        if(~rst) begin
            out8 <= 0;
        end
        else begin
            out8 <= ~out8;
        end
    end
    
    assign clk_out2 = out2;
    assign clk_out4 = out4;
    assign clk_out8 = out8;

//*************code***********//
endmodule