net9 时序 闪烁灯

用  clk  来控制  cnt  ;用  cnt  来控制  FLAG ;用   FLAG  来控制  led

 

 

复制代码
module led(
input wire clk,
input wire rst,
output    reg led);

reg [31:0]clk_cnt;
parameter clk_50M=499;//;99999;
reg            flag;

always @(posedge clk or negedge rst ) begin
    if (!rst) begin
        clk_cnt<=0;
    end
    else if (clk_cnt==clk_50M) begin
        clk_cnt<=0;
    end
    else begin 
        clk_cnt<=clk_cnt+1'b1;
    end
end

always @(posedge clk or negedge rst) begin
    if (!rst) begin
        flag<=0;// reset
        
    end
    else if (clk_cnt==clk_50M) begin
        flag<=1;
    end
    else begin
        flag<=0;
    end
end

always @(posedge clk or negedge rst) begin
    if (!rst) begin
        led<=1'b0;
        
    end
    else if (flag==1) begin
        led<=~led;
    end
    else begin
        led<=led;
    end
end

endmodule
复制代码
复制代码
`timescale 1ns/1ns
module    tb_flash_led();
reg clk,rst;
wire led;

initial begin
    clk=0;
    rst=0;
    #200 rst=1;
end

always #10 clk=~clk;

led tb_flash_led_inst(
.clk(clk),
.rst(rst),
.led(led));

endmodule
复制代码

 

 

 

 

 

 

posted @   涛大林  阅读(243)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示