题解 | #时钟分频(偶数)#

时钟分频(偶数)

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

`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 [2:0]cnt;
reg clk1;
reg clk2;
reg clk3;



always@(posedge clk_in or negedge rst)begin
    if(~rst)
    cnt<=0;
    else
    cnt<=cnt+1;
end

always@(posedge clk_in or negedge rst)begin
    if(~rst)
    clk1<=0;
    else 
    clk1<=~clk1;
end

always@(posedge clk_in or negedge rst)begin
    if(~rst)
    clk2<=0;
    else if(cnt==0||cnt==2||cnt==4||cnt==6)
    clk2<=~clk2;
end

always@(posedge clk_in or negedge rst)begin
    if(~rst)
    clk3<=0;
    else if(cnt==0||cnt==4)
    clk3<=~clk3;
end

assign clk_out2=clk1;
assign clk_out4=clk2;
assign clk_out8=clk3;

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

计数分配即可,简单的偶数分配,到相应的位置翻转

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:20
点赞 评论 收藏
分享
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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