diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala index d442c959..4d64a8ad 100644 --- a/generators/firechip/src/main/scala/BridgeBinders.scala +++ b/generators/firechip/src/main/scala/BridgeBinders.scala @@ -242,3 +242,14 @@ class WithDefaultFireSimBridges extends Config( new WithTracerVBridge ++ new WithFireSimIOCellModels ) + +// Shorthand to register all of the provided mmio-only bridges above +class WithDefaultMMIOOnlyFireSimBridges extends Config( + new WithSerialBridge ++ + new WithUARTBridge ++ + new WithBlockDeviceBridge ++ + new WithFASEDBridge ++ + new WithFireSimMultiCycleRegfile ++ + new WithFireSimFAME5 ++ + new WithFireSimIOCellModels +) diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala index bfdaad63..35846c0f 100644 --- a/generators/firechip/src/main/scala/TargetConfigs.scala +++ b/generators/firechip/src/main/scala/TargetConfigs.scala @@ -282,3 +282,9 @@ class FireSimNoMemPortConfig extends Config( new testchipip.WithBackingScratchpad ++ new WithFireSimConfigTweaks ++ new chipyard.RocketConfig) + +class FireSimRocketMMIOOnlyConfig extends Config( + new WithDefaultMMIOOnlyFireSimBridges ++ + new WithDefaultMemModel ++ + new WithFireSimConfigTweaks ++ + new chipyard.RocketConfig) diff --git a/vlsi/Makefile b/vlsi/Makefile index ab8438d5..8259e7a6 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -46,9 +46,9 @@ VLSI_MODEL_DUT_NAME ?= chiptop # If overriding, this should be relative to $(vlsi_dir) VLSI_OBJ_DIR ?= build ifneq ($(CUSTOM_VLOG),) - OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/custom-$(VLSI_TOP) + OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/$(VLSI_TOP) else - OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/$(long_name)-$(VLSI_TOP) + OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/$(long_name)-$(TOP) endif ######################################################################################### @@ -118,6 +118,12 @@ endif $(SYN_CONF): $(VLSI_RTL) mkdir -p $(dir $@) + echo "sim.inputs:" > $@ + echo " input_files:" >> $@ + for x in $$(cat $(VLSI_RTL)); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " input_files_meta: 'append'" >> $@ echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ diff --git a/vlsi/sim.mk b/vlsi/sim.mk index 5623f9d3..1f5b530d 100644 --- a/vlsi/sim.mk +++ b/vlsi/sim.mk @@ -10,7 +10,7 @@ $(SIM_CONF): $(sim_common_files) echo " top_module: $(VLSI_TOP)" >> $@ echo " tb_name: ''" >> $@ # don't specify -top echo " input_files:" >> $@ - for x in $$(cat $(sim_common_files)); do \ + for x in $$(comm -23 <(cat $(MODEL_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) | sort -u) <(sort $(VLSI_RTL))) $(MODEL_SMEMS_FILE) $(SIM_FILE_REQS); do \ echo ' - "'$$x'"' >> $@; \ done echo " input_files_meta: 'append'" >> $@