Tang Nano 9KでLチカしてみた

Tang Nano 9K

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'b000000)
            ledreg <= 6'b111111;
        else
            ledreg <= 6'b000000;
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が同時にチカチカしました。

タイトルとURLをコピーしました