Files
fpga-stuff/01_setbit/Makefile

54 lines
1.4 KiB
Makefile

#-------------------------------------------------------
#-- Default objective: to do simulation and synthesis
#-------------------------------------------------------
all: sim synth
#----------------------------------------------
#-- make sim
#----------------------------------------------
#-- Objective: testbench
#----------------------------------------------
sim: setbit_tb.vcd
#-----------------------------------------------
#- make synth
#-----------------------------------------------
#- Objective: synthesize and generate bitstream
#-----------------------------------------------
synth: setbit.bin
#-------------------------------
#-- Compilation & simulation
#-------------------------------
setbit_tb.vcd: setbit.v setbit_tb.v
#-- Compilation
iverilog -o setbit_tb.out setbit.v setbit_tb.v
#-- Simulation
./setbit_tb.out
#-- View simulation with gtkwave
gtkwave setbit_tb.vcd setbit_tb.gtkw &
#------------------------------
#-- Synthesis
#------------------------------
setbit.bin: setbit.v TinyFPGA-BX-pins.pcf
#-- Synthesis
yosys -p "synth_ice40 -top setbit -json setbit.json" setbit.v
#-- Place & route
nextpnr-ice40 --lp8k --json setbit.json --pcf TinyFPGA-BX-pins.pcf --asc setbit.txt
#-- Generate final binary, ready to download to FPGA
icepack setbit.txt setbit.bin
#-- Clean
clean:
rm -f *.bin *.txt *.blif *.out *.vcd *~ *.json
.PHONY: all clean