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
完成