框图如下,四个led灯依次点亮,间隔0.5s,亮0.5s
下面是波形图,cnt计数器拿来分0.5秒的
下面是verilog代码,因为实现流水效果是不停左移一位,但是左移后会自动补0,所以引出led_out_reg拿来直接反转就是我们需要的led_out信号
module water_led
#(
parameter CNT_MAX = 25'd999_999
)
(
input wire sys_clk ,
input wire sys_rst_n ,
output wire [3:0] led_out
);
reg [24:0]cnt ;
reg cnt_flag ;
reg [3:0]led_out_reg;
always@(posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
cnt <= 25'd0;
else