PROJ=top
TRELLIS?=/usr/share/trellis
DEPS= r8051.v myrom.v myport.v

all: ${PROJ}.bit

%.json: %.v ${DEPS}
	yosys -p "synth_ecp5 -json $@" $^

%_out.config: %.json
	nextpnr-ecp5 --json $< --textcfg $@ --25k --package CABGA256 --lpf pin_assignments.lpf --lpf-allow-unconstrained

%.bit: %_out.config
	ecppack --svf ${PROJ}.svf $< $@

${PROJ}.svf : ${PROJ}.bit

prog: ${PROJ}.svf
	../program_jlink.sh $<

simulate: ${DEPS} ${PROJ}.v test.v
	iverilog -DTEST_ICARUS $^
	./a.out


clean:
	rm -f *.svf *.bit *.config *.json

.PHONY: prog clean
