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

占空比50%的奇数分频

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

`timescale 1ns/1ns

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

//*************code***********//
reg [2:0] cnt;
reg div7_p,div7_n;
/*
always@(posedge clk_in or negedge rst)
    if(!rst)
        cnt<=0;
    else
        if(cnt>=6)
            cnt<=0;
        else
            cnt<=cnt+1;

always@(posedge clk_in or negedge rst)
    if(!rst)
        div7_p<=0;
    else
        if(cnt==7/2-1||cnt==6)
            div7_p<=~div7_p;

always@(negedge clk_in or negedge rst)
    if(!rst)
        div7_n<=0;
    else
        if(cnt==7/2-1||cnt==6)
            div7_n<=~div7_n;


assign clk_out7=div7_n&&div7_p;*/

//与分频和或分频的区别在于,与分频的时钟上升沿对齐,或分频的居中对齐。

always@(posedge clk_in or negedge rst)
    if(!rst)
        cnt<=0;
    else
        if(cnt>=6)
            cnt<=0;
        else
            cnt<=cnt+1;

always@(posedge clk_in or negedge rst)
    if(!rst)
        div7_p<=0;
    else
        if(cnt==7/2||cnt==6)
            div7_p<=~div7_p;

always@(negedge clk_in or negedge rst)
    if(!rst)
        div7_n<=0;
    else
        if(cnt==7/2||cnt==6)
            div7_n<=~div7_n;


assign clk_out7=div7_n||div7_p;

endmodule

全部评论

相关推荐

09-27 10:54
重庆大学 C++
人已微死:致敬传奇耐测王。
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务