FPGA 设计跑马灯(8个LED灯每个以0.5s的速率闪烁)
  1YQZUCUR1XeB 2023年11月02日 40 0

跑马灯的逻辑代码

module led_run(
    Clk,
    Reset_n,
    Led
);
    input Clk;
    input Reset_n;
    output reg [7:0]Led;
    
    reg [24:0]counter;
    
    parameter MCNT =25'd24999999;
    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        counter <=0;
    else if(counter == MCNT)
        counter <=0;
    else 
        counter <= counter +1'd1;    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)   
        Led <=8'b0000_0001;
    else if(counter == MCNT)begin
        if (Led == 8'b1000_0000)
            Led <=8'b0000_0001;
        else
            Led <=Led <<1;
            
        //Led <= {Led[6:0],Led[7]};
    end
    else
        Led <= Led;
    
endmodule

仿真代码

`timescale 1ns/1ns
 
module led_run_tb;
    reg Clk;
    reg Reset_n;
    wire [7:0]Led;
 
    led_run
    led_run_ints0(
        .Clk(Clk),
        .Reset_n(Reset_n),
        .Led(Led)
    );
    defparam led_run_ints0.MCNT=24999;
    
    initial Clk =1;
    always #10 Clk =!Clk;
    
    initial begin
        Reset_n = 0;
        #201;
        Reset_n=1;
        #40000000;
        $stop;
    end
endmodule

FPGA 设计跑马灯(8个LED灯每个以0.5s的速率闪烁)_流水灯

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  1YQZUCUR1XeB   2023年11月02日   80   0   0 Verilog
  1YQZUCUR1XeB   2023年11月12日   33   0   0 串口通信Verilog
  1YQZUCUR1XeB   2023年11月02日   44   0   0 VerilogDDS
  1YQZUCUR1XeB   2023年11月02日   79   0   0 Verilog交通灯
1YQZUCUR1XeB