关于FPGA的仿真问题提问

FPGA的相关问题
tb代码

`timescale 1ns/1ns
module tb_water_led();
reg sys_clk;
reg sys_rst_n;
wire [7:0] led_out;
initial
begin
sys_clk = 1'b1;
sys_rst_n <= 1'b0;
#20
sys_rst_n <= 1'b1;
end
always #10 sys_clk = ~sys_clk;
water_led
#(
.CNT_MAX(25'd24)
)
water_led_inst
(
.sys_clk(sys_clk),
.sys_rst_n(sys_rst_n),
.led_out(led_out)
);
endmodule

源代码
module water_led
#(
parameter CNT_MAX = 25'd24_999_999
)
(
input wire sys_clk,
input wire sys_rst_n,
output wire [7:0] led_out

);
reg [24:0] cnt;
reg cnt_flag;
reg [7:0] led_out_reg;
always@(posedge sys_clk or negedge sys_rst_n) //计数部分
if(sys_rst_n == 1'b0)
cnt <= 25'd0;
else if (cnt == CNT_MAX)
cnt <= 25'd0;
else
cnt <= cnt + 25'd1;
always@(posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n ==1'b0)
cnt_flag <= 1'b0;
else if (cnt == (CNT_MAX - 25'd1))
cnt_flag <= 1'b1;
else
cnt_flag <= 1'b0;
always@(posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
led_out_reg <= 8'b11111110;
else if((led_out == 8'b01111111)&&(cnt_flag == 1'b1))
led_out_reg <= 8'b11111110;
else if(cnt_flag == 1'b1)
led_out_reg <= led_out_reg<< 1'b1;
else
led_out_reg <= led_out_reg;
endmodule

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

没运行或运行的时间太短
可以用 runs 1000ns