【iCore4 双核心板_FPGA】例程一:GPIO输出实验——点亮LED

时间:2023-03-09 15:27:13
【iCore4 双核心板_FPGA】例程一:GPIO输出实验——点亮LED

实验现象:

三色LED循环点亮。

核心源代码:

module led_ctrl(
input clk_25m,
input rst_n,
output fpga_ledr,
output fpga_ledg,
output fpga_ledb
); //--------------------cnt----------------------------------//
reg [:]cnt;
reg [:]led_cnt; always @ (posedge clk_25m or negedge rst_n)
if(!rst_n)
begin
cnt <= 'd0;
led_cnt <= 'd0;
end
else if(cnt == 'd5000000)
begin
cnt <= 'd0;
if(led_cnt == 'd2)
led_cnt <= 'd0;
else
led_cnt <= led_cnt + 'd1;
end
else
begin
cnt <= cnt + 'd1;
end //--------------------led_ctrl----------------------------//
/*led状态切换状态机*/
reg ledr,ledg,ledb; always @ (posedge clk_25m or negedge rst_n)
if(!rst_n)
begin
ledr <= 'd1;
ledg <= 'd1;
ledb <= 'd1;
end
else
case(led_cnt)
'd0: //红灯亮
begin
ledr <= 'd0;
ledg <= 'd1;
ledb <= 'd1;
end
'd1: //绿灯亮
begin
ledr <= 'd1;
ledg <= 'd0;
ledb <= 'd1;
end
'd2: //蓝灯亮
begin
ledr <= 'd1;
ledg <= 'd1;
ledb <= 'd0;
end
default: //都不亮
begin
ledr <= 'd1;
ledg <= 'd1;
ledb <= 'd1;
end
endcase assign {fpga_ledr,fpga_ledg,fpga_ledb} = {ledr,ledg,ledb}; //--------------------endmodule---------------------------//
endmodule

源代码下载链接:

链接:http://pan.baidu.com/s/1nu74Iy1 密码:dz3y

iCore4链接:

【iCore4 双核心板_FPGA】例程一:GPIO输出实验——点亮LED