微處理器 - Gowin GW1NSR-LV4CQN48PC6/I5 (Lichee Tang Nano 4K) - Verilog - LED



main.v

module main (
    input clk,
    output reg led
);
  
reg [23:0] clk_cnt;
  
always @(posedge clk) begin
    if (clk_cnt == 24'd10000000)
        clk_cnt <= 24'd0;
    else
        clk_cnt <= clk_cnt + 1;
 
    if (clk_cnt == 24'd10000000)
        led <= ~led;
end
  
endmodule

main.cst

IO_LOC "led" 10;
IO_LOC "clk" 45;

Makefile

all:
	yosys -p "synth_gowin -json main.json -top main" main.v
	nextpnr-himbaechel --json main.json --write main.pack --device GW1NSR-LV4CQN48PC6/I5 --vopt cst=main.cst
	gowin_pack -d GW1NSR-LV4CQN48PC6/I5 -o main.fs main.pack

ram:
	openFPGALoader -m -b tangnano20k main.fs

flash:
	openFPGALoader -f -b tangnano20k main.fs

clean:
	rm -f *.json *.fs *.pack

編譯、下載

$ make
$ make ram

完成