FPGA点灯

源码下载

请到github下载,地址为 https://github.com/Lichee-Pi/Tang_FPGA_Examples/tree/master/0.LED

代码简析

module led
(
input wire CLK_IN, //时钟输入,24MHz
input wire RST_N, //复位按键输入,低有效
output wire [2:0]RGB_LED //RGB led输出
);

parameter time1 = 24’d24_000_000;//晶振为24Mhz,这里表示计数一秒

reg [2:0]rledout;
reg [23:0] count;
reg [1:0]shift_cnt;

initial
begin
count=24’b0;
rledout=3’b1;
shift_cnt=2’b0;
end

always @(posedge CLK_IN)begin
if(RST_N==0)begin //复位按键按下就清空计数并清空输出
count <= 24’b0;
rledout <= 3’b1;
shift_cnt <=2’b0;
end

if(count == time1) //计数时间到
begin
count<= 24’d0; //清空计数值

if(shift_cnt==2’b10)begin //移位3次
rledout <= 3’b1;
shift_cnt <=2’b0;
end
else begin
rledout <= {rledout[1:0],1’b0}; //led输出移位
shift_cnt <= shift_cnt + 1’b1;
end
end
else
count <= count + 1’b1; //计数累加
end

assign RGB_LED = rledout;
endmodule

将代码综合,下载码流到fpga,可以看到板上的rgb led会移位闪烁。(emmm,闪烁效果太差,如果你有更好的可以发过来。(╯︵╰)