FPGA编程实践:8个LED灯以0.5秒间隔闪烁设计

跑马灯的逻辑代码


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的速率闪烁)_Verilog



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空