我是一名代码有吗,或许有人能帮忙看看这段代码什么意思吗?联系我,有%尝有常!谢谢大家帮助,谢谢!module xsled
(
input sys_clk, //系统时钟端口,开发板用的 50M 晶振
input sys_rst_n, //复位的端口低电平复位
output reg [7:0] led //LED输出信号
);
reg [26:0] cnt;
integer led_control;
//计数的计数器
always @ (posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n) //复位
cnt<=26’d0;
else if(cnt<26’d20000000) //没到计数值,cnt就加1,等到到达20000000也就是20000000/50000000 =0.4秒时,cnt就置0
cnt<=cnt+1;
else //溢出归零
cnt<=26'd0;
end
//led灯状态的选择
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
led_control <= 0;
else if(cnt == 26’d0_000_000) begin
led_control = led_control + 1;
if(led_control>23)
led_control=0;
case (led_control)
0 : led<=8'b00000001;
1 : led<=8'b00000011;
2 : led<=8'b00000111;
3 : led<=8'b00001111;
4 : led<=8'b00011111;
5 : led<=8'b00111111;
6 : led<=8'b01111111;
7 : led<=8'b11111111;
8 : led<=8'b01111111;
9 : led<=8'b00111111;
10 : led<=8'b00011111;
11 : led<=8'b00001111;
12 : led<=8'b00000111;
13 : led<=8'b00000011;
14 : led<=8'b00000001;
15 : led<=8'b00000000;
16 : led<=8'b10000001;
17 : led<=8'b01000010;
18 : led<=8'b00100100;
19 : led<=8'b00011000;
20 : led<=8'b00011000;
21 : led<=8'b00100100;
22 : led<=8'b01000010;
23 : led<=8'b10000001;
endcase
end
end
endmodule