Merge remote-tracking branch 'origin/dev' into HEAD
This commit is contained in:
Submodule tools/barstools updated: db6776367c...c4e5f66c5e
Submodule tools/chisel3 updated: d1a6126263...21ea734d80
1
tools/dromajo/dromajo-src
Submodule
1
tools/dromajo/dromajo-src
Submodule
Submodule tools/dromajo/dromajo-src added at 56e2ff46b7
59
tools/dromajo/dromajo.mk
Normal file
59
tools/dromajo/dromajo.mk
Normal file
@@ -0,0 +1,59 @@
|
||||
##############################################################
|
||||
# extra variables/targets ingested by the chipyard make system
|
||||
##############################################################
|
||||
|
||||
DROMAJO_DIR = $(base_dir)/tools/dromajo/dromajo-src/src
|
||||
DROMAJO_LIB_NAME = dromajo_cosim
|
||||
DROMAJO_LIB = $(DROMAJO_DIR)/lib$(DROMAJO_LIB_NAME).a
|
||||
|
||||
# Dromajo assumes using the default bootrom
|
||||
DROMAJO_ROM = $(base_dir)/bootrom/bootrom.rv64.img
|
||||
|
||||
DTS_FILE = $(build_dir)/$(long_name).dts
|
||||
DROMAJO_DTB = $(build_dir)/$(long_name).dtb
|
||||
|
||||
$(DTS_FILE): $(FIRRTL_FILE)
|
||||
|
||||
$(DROMAJO_DTB): $(DTS_FILE)
|
||||
dtc -I dts -O dtb -o $(DROMAJO_DTB) $(DTS_FILE)
|
||||
|
||||
DROMAJO_SRCS = $(call lookup_srcs,$(DROMAJO_DIR),cc) $(call lookup_srcs,$(DROMAJO_DIR),h)
|
||||
|
||||
$(DROMAJO_LIB): $(DROMAJO_SRCS)
|
||||
$(MAKE) -C $(DROMAJO_DIR)
|
||||
|
||||
# depending on where the simulation is done, use the auto-variable or the hardcoded defined one
|
||||
ifeq ($(BINARY),)
|
||||
DROMAJO_BIN = $(<)
|
||||
else
|
||||
DROMAJO_BIN = $(BINARY)
|
||||
endif
|
||||
|
||||
DROMAJO_FLAGS = +drj_dtb=$(DROMAJO_DTB) +drj_rom=$(DROMAJO_ROM) +drj_bin=$(DROMAJO_BIN)
|
||||
|
||||
DROMAJO_PARAMS_FILE = $(build_dir)/$(long_name).dromajo_params.h
|
||||
DROMAJO_PARAMS_SYMLINK = $(build_dir)/dromajo_params.h
|
||||
|
||||
$(DROMAJO_PARAMS_FILE): $(FIRRTL_FILE)
|
||||
|
||||
$(DROMAJO_PARAMS_SYMLINK): $(DROMAJO_PARAMS_FILE)
|
||||
rm -rf $(DROMAJO_PARAMS_SYMLINK)
|
||||
ln -s $(DROMAJO_PARAMS_FILE) $(DROMAJO_PARAMS_SYMLINK)
|
||||
|
||||
##################################################################
|
||||
# THE FOLLOWING MUST BE += operators
|
||||
##################################################################
|
||||
|
||||
# simargs needed (i.e. like +drj_test=hello)
|
||||
ifdef ENABLE_DROMAJO
|
||||
EXTRA_SIM_FLAGS += $(DROMAJO_FLAGS)
|
||||
|
||||
# CC flags needed for all simulations
|
||||
EXTRA_SIM_CC_FLAGS += -I$(DROMAJO_DIR)
|
||||
|
||||
# sourced needed for simulation
|
||||
EXTRA_SIM_SOURCES += $(DROMAJO_LIB)
|
||||
|
||||
# requirements needed for simulation
|
||||
EXTRA_SIM_REQS += $(DROMAJO_PARAMS_SYMLINK) $(DROMAJO_LIB) $(DROMAJO_DTB)
|
||||
endif
|
||||
Submodule tools/firrtl updated: f738fbe866...7c6f58d986
Submodule tools/treadle updated: a03b969af1...1c67bc846a
Reference in New Issue
Block a user