blob: fdfed63fb8d2130f66a379fc3643b7d77eefa7e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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: $(PROGRAM).fs
openFPGALoader -b tangnano9k $(FLASH_OPTS) $(PROGRAM).fs
clean:
rm -rf *.json *.fs *.svg *.log
led.fs: clkdiv.v
|