# Note: Yosys chokes on spaces in library directories (reported to yosys) # Library path if not overriden (environment) NEXTPNR_OPTS=--up5k --package sg48 ICETIME_OPTS=-d up5k FN=bldc FLASH_SIZE=524288 ${FN}_filled.bin: ${FN}.bin python3 -c "import sys; sys.stdout.buffer.write(b'\xff'*${FLASH_SIZE})" > $@; dd if=$< of=$@ conv=notrunc ${FN}.json: ${FN}.v $(shell find library -type f -name '*.v') ./run_yosys.sh ${FN} | tee bldc.log ${FN}.asc: ${FN}.json ${FN}.pcf nextpnr-ice40 ${NEXTPNR_OPTS} --pcf "${FN}.pcf" --json "${FN}.json" --asc "${FN}.asc" --freq 25 | tee bldc.log_pnr ${FN}.rpt: ${FN}.pcf ${FN}.asc icetime ${ICETIME_OPTS} -p "${FN}.pcf" -mtr "${FN}.rpt" "${FN}.asc" ${FN}.bin: ${FN}.asc icepack ${FN}.asc ${FN}.bin all: ${FN}_filled.bin timing timing: ${FN}.rpt clean: rm -f ${FN}.json ${FN}.asc ${FN}.bin ${FN}_filled.bin ${FN}.rpt test: make -C tb flash: ${FN}_filled.bin flashrom -p ft2232_spi:type=232H,port=A -w "${FN}_filled.bin"