题解 | 时钟分频(偶数)

时钟分频(偶数)

https://www.nowcoder.com/practice/49a7277c203a4ddd956fa385e687a72e

module even_div
    (
    input     wire rst ,
    input     wire clk_in,
    output    wire clk_out2,
    output    wire clk_out4,
    output    wire clk_out8
    );
//*************code***********//
    reg cnt0;
    reg [1:0] cnt1; // Counter to track clock cycles
    reg [2:0] cnt2; // Counter to track clock cycles

    assign clk_out2 = cnt0; // Output clock toggles every clock cycle
    assign clk_out4 = cnt1[1]; // Output clock toggles every 2 clock cycles
    assign clk_out8 = cnt2[2]; // Output clock toggles every 4 clock cycles

    always @(posedge clk_in or negedge rst) begin
        if (!rst) begin
            cnt0 <= 'b0;
            cnt1 <= 'b00;
            cnt2 <= 'b000;
        end else begin
            cnt0 <= cnt0 + 1'b1; // Toggle every clock cycle
            cnt1 <= cnt1 - 1'b1;
            cnt2 <= cnt2 - 1'b1;
        end
    end

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

全部评论

相关推荐

06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务