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

时钟分频(偶数)

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 clk_out2_r,clk_out4_r,clk_out8_r;
assign clk_out2 = clk_out2_r ;
assign clk_out4 = clk_out4_r;
assign clk_out8 = clk_out8_r;
//先来个二分频
always@(posedge clk_in or negedge rst)begin
    if(~rst)begin
        clk_out2_r <= 0;
    end
    else begin
        clk_out2_r <= ~clk_out2_r;
    end
end
always@(posedge clk_out2_r or negedge rst)begin
    if(~rst)begin
        clk_out4_r <= 0;
    end
    else begin
        clk_out4_r <= ~clk_out4_r;
    end
end

always@(posedge clk_out4_r or negedge rst)begin
    if(~rst)begin
        clk_out8_r <= 0;
    end
    else begin
        clk_out8_r <= ~clk_out8_r;
    end
end
//*************code***********//
endmodule

做法很多,可能是这几天刷题刷呆了,第一想法居然是用三个计数器,后面改成一个计数器,再后面发现不用计数器也行,呆了呆了,要观察出规律,多思考,多思考。

全部评论

相关推荐

06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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