题解 | #占空比50%的奇数分频#

占空比50%的奇数分频

https://www.nowcoder.com/practice/ccfba5e5785f4b3f9d7ac19ab13d6b31

解法1:上下边沿取或
`timescale 1ns/1ns

module odo_div_or
   (
    input    wire  rst ,
    input    wire  clk_in,
    output   wire  clk_out7
    );

//*************code***********//
    reg clk_neg, clk_pos;
    reg [2:0] cnt;
    
    always@(posedge clk_in or negedge rst) begin
        if(~rst)
            cnt <= 0;
        else
            cnt <= cnt==6? 0: cnt+1;
    end
    
    always@(posedge clk_in or negedge rst) begin
        if(~rst)
            clk_pos <= 0;
        else
            clk_pos <= cnt==3||cnt==6? ~clk_pos: clk_pos;
    end
    
    always@(negedge clk_in or negedge rst) begin
        if(~rst)
            clk_neg <= 0;
        else
            clk_neg <= cnt==3||cnt==6? ~clk_neg: clk_neg;
    end

    assign clk_out7 = clk_neg|clk_pos;
//*************code***********//
endmodule


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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