Tang Nano 9Kで6つのLEDを流れるようにLチカしてみました。
Tang Nano 9KにはGowin GW1NR-9 FPGAチップが載っています。
GOWIN FPGA DesignerでVerilog HDLで書いてみました。
main.v(Verilog HDL file)
module ltika (clk,led);
input clk;
output [5:0]led;
parameter maxcnt = 26'd10000000;
reg [25:0] cntnum;
reg [5:0] ledreg;
wire flag;
always@(posedge clk) begin
if(cntnum >= maxcnt-26'd1)
cntnum <= 26'd0;
else
cntnum <= cntnum + 26'd1 ;
end
assign flag=cntnum >= maxcnt-26'd1;
always@(posedge clk) begin
if(flag)
if(ledreg == 6'b111111)
ledreg <= 6'b111110;
else if(ledreg == 6'b011111)
ledreg <= 6'b111110;
else
ledreg <= {ledreg[4:0],ledreg[5]};
end
assign led = ledreg;
endmodule
main.crt(Physical Constraints file)
IO_LOC "led[0]" 10;
IO_PORT "led[0]" PULL_MODE=UP DRIVE=8;
IO_LOC "led[1]" 11;
IO_PORT "led[1]" PULL_MODE=UP DRIVE=8;
IO_LOC "led[2]" 13;
IO_PORT "led[2]" PULL_MODE=UP DRIVE=8;
IO_LOC "led[3]" 14;
IO_PORT "led[3]" PULL_MODE=UP DRIVE=8;
IO_LOC "led[4]" 15;
IO_PORT "led[4]" PULL_MODE=UP DRIVE=8;
IO_LOC "led[5]" 16;
IO_PORT "led[5]" PULL_MODE=UP DRIVE=8;
IO_LOC "clk" 52;
IO_PORT "clk" PULL_MODE=UP;
Run All でSynthesisなどを実行してFSファイルを生成します。
次に、Gowin Programmerで書き込みます。今回はSRAM Program で一時的に書き込みました。
6つのボード上のLEDが流れるように光りました。
点灯イメージ