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

时钟分频(偶数)

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 [3:0]cnt;
always@(posedge clk_in or negedge rst)
if(!rst)
    cnt<=0;
else begin
    if(cnt==7)
        cnt<=0; 
    else    
        cnt<=cnt+1;   
end

reg rclk_out2;
reg rclk_out4;
reg rclk_out8;
always@(posedge clk_in or negedge rst)
if(!rst)begin
    rclk_out2<=0;
    rclk_out4<=0;
    rclk_out8<=0;
end
else begin
    case(cnt)
    0:begin
        rclk_out2<=1;
        rclk_out4<=1;
        rclk_out8<=1;
    end
    1:begin
        rclk_out2<=0;
        rclk_out4<=1;
        rclk_out8<=1;
    end
    2:begin
        rclk_out2<=1;
        rclk_out4<=0;
        rclk_out8<=1;
    end
    3:begin
        rclk_out2<=0;
        rclk_out4<=0;
        rclk_out8<=1;
    end
    4:begin
        rclk_out2<=1;
        rclk_out4<=1;
        rclk_out8<=0;
    end
    5:begin
        rclk_out2<=0;
        rclk_out4<=1;
        rclk_out8<=0;
    end
    6:begin
        rclk_out2<=1;
        rclk_out4<=0;
        rclk_out8<=0;
    end
    7:begin
        rclk_out2<=0;
        rclk_out4<=0;
        rclk_out8<=0;
    end
    endcase
end
assign clk_out2=rclk_out2;
assign clk_out4=rclk_out4;
assign clk_out8=rclk_out8;
//*************code***********//
endmodule

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
06-25 09:33
厦门大学 Java
程序员饺子:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司8个岗位
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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