5 NEXTPNR ?
= nextpnr-ecp5
13 uart_files
= $(wildcard ..
/uart16550
/rtl
/verilog
/*.v
)
16 VERILATOR_ROOT
=$(shell verilator
-getenv VERILATOR_ROOT
2>/dev
/null
)
17 ifeq (, $(VERILATOR_ROOT
))
19 $(error
"Verilator is required to make this target !")
29 #RAM_INIT_FILE=hello_world/hello_world.bin
30 #RAM_INIT_FILE=../microwatt2/tests/xics/xics.bin
31 RAM_INIT_FILE
=coldboot
/coldboot.bin
36 #RAM_INIT_FILE=micropython/firmware.bin
39 #MEMORY_SIZE=536870912
40 #RAM_INIT_FILE=dtbImage.microwatt.bin
42 SIM_BRAM_CHAINBOOT
=6291456 # 0x600000
44 FPGA_TARGET ?
= verilator
46 ifeq ($(FPGA_TARGET
), verilator
)
49 CLK_FREQUENCY
=100000000
50 clkgen
=fpga
/clk_gen_bypass.vhd
54 python3 src
/ls2.py sim
$(RAM_INIT_FILE
)
56 # Need to investigate why yosys is hitting verilator warnings,
57 # and eventually turn on -Wall
58 microwatt-verilator
: ls2.v \
59 verilator
/microwatt-verilator.
cpp \
60 verilator
/uart-verilator.c
61 verilator
-O3
-CFLAGS
"-DCLK_FREQUENCY=$(CLK_FREQUENCY) -I../verilator" \
66 --cc external_core_top.v \
67 --exe verilator
/microwatt-verilator.
cpp verilator
/uart-verilator.c \
68 -o
$@
-I..
/uart16550
/rtl
/verilog \
69 -Wno-fatal
-Wno-CASEOVERLAP
-Wno-UNOPTFLAT \
77 # --unroll-count 256 \
78 # --output-split 5000 \
79 # --output-split-cfuncs 500 \
80 # --output-split-ctrace 500 \
81 make
-C obj_dir
-f Vtop.mk
82 @cp
-f obj_dir
/microwatt-verilator microwatt-verilator
85 rm -fr obj_dir microwatt-verilator ls2.v