流水灯——FPGA


前言

环境:
1、Quartus18.0
2、vscode
3、板子型号:EP4CE6F17C8
要求:
每隔0.2s循环亮起LED灯


一、流水灯介绍

在这里插入图片描述

从LED0开始亮起到LED3又回到LED0循环往复。

二、系统设计

1.模块框图

在这里插入图片描述

2.RTL视图

在这里插入图片描述

三、源码

module led #(
    parameter MAX_NUM = 26'd9_999_999
)(
    input clk,
    input rst_n,

    output reg [3:0] led
);//每间隔1s,实现led的亮灭

//parameter MAX_NUM = 26'd9_999_999;

reg [25:0] cnt;

always @(posedge clk or negedge rst_n) begin
    if(!rst_n)begin
        cnt <= 26'd0;
    end
    else if(cnt == MAX_NUM)begin
        cnt <= 26'd0;
    end
    else begin
        cnt <= cnt + 1'd1;      
    end
end

//LED控制
always @(posedge clk or negedge rst_n) begin
    if(!rst_n)begin    
        led <= 4'b0001;
    end
    else if(cnt == MAX_NUM)begin//cnt == 26'd09_999_999
        led <= {led[2:0],led[3]};
    end
    else begin
        led <= led;
    end
end
endmodule

四、效果

流水灯


五、总结

这里使用了拼接符对LED进行处理加上一个0.2s的计时器进行控制即可。

六、参考资料

led流水灯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混子王江江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值