MAKEFLAGS += --no-builtin-rules MAKEFLAGS += --no-builtin-variables .SUFFIXES: PROGRAM ?= led FLASH_OPTS ?= all: $(PROGRAM).fs tangnano9k.cst: wget https://github.com/YosysHQ/apicula/raw/refs/heads/master/examples/tangnano9k.cst || \ curl -LO https://github.com/YosysHQ/apicula/raw/refs/heads/master/examples/tangnano9k.cst %.json: %.v yosys -p "read_verilog $<; synth_gowin -top $* -json $@" show: $(PROGRAM).v yosys -p "read_verilog $<; show $(PROGRAM)" %.pnr.json: %.json tangnano9k.cst nextpnr-himbaechel --json $< --write $@ \ --device GW1NR-LV9QN88PC6/I5 --vopt family=GW1N-9C \ --vopt cst=tangnano9k.cst \ --placed-svg $*.plc.svg \ --routed-svg $*.rt.svg \ || \ nextpnr-gowin --json $< --write $@ \ --device GW1NR-LV9QN88PC6/I5 --family GW1N-9C \ --cst tangnano9k.cst \ --placed-svg $*.plc.svg \ --routed-svg $*.rt.svg %.fs: %.pnr.json gowin_pack -d GW1N-9C -o $@ $< # flash: -f flash: led.fs openFPGALoader -b tangnano9k $(FLASH_OPTS) led.fs clean: rm -rf *.json *.fs *.svg *.log led.fs: clkdiv.v