Rework macros to run ROM tests too.

This commit is contained in:
mrg
2023-03-30 11:30:50 -07:00
committed by Jacob Walker
parent eec0f02bb8
commit 041c738cb2
33 changed files with 43 additions and 22 deletions
+33 -14
View File
@@ -17,29 +17,38 @@ endif
# Verbosity
OPENRAM_OPTS += -v --keeptemp
CONFIG_DIR = configs
SRCS=$(filter-out disabled-% %_common.py,$(sort $(notdir $(wildcard $(CONFIG_DIR)/*.py))))
DIRS=$(basename $(SRCS))
STAMPS=$(addsuffix .ok,$(DIRS))
SRAM_CONFIG_DIR = sram_configs
SRAM_SRCS=$(filter-out disabled-% %_common.py,$(sort $(notdir $(wildcard $(SRAM_CONFIG_DIR)/*.py))))
SRAM_DIRS=$(basename $(SRAM_SRCS))
SRAM_STAMPS=$(addsuffix .ok,$(SRAM_DIRS))
ROM_CONFIG_DIR = rom_configs
ROM_SRCS=$(filter-out disabled-% %_common.py,$(sort $(notdir $(wildcard $(ROM_CONFIG_DIR)/*.py))))
ROM_DIRS=$(basename $(ROM_SRCS))
ROM_STAMPS=$(addsuffix .ok,$(ROM_DIRS))
configs:
@echo
@echo "Using OpenRAM at $(OPENRAM_HOME)"
@echo " (which is version $$(cd $(OPENRAM_HOME); git describe --tags))"
@echo
@echo "Configurations:"
@for D in $(DIRS); do echo " - $$D"; done
@echo "SRAM Configurations:"
@for D in $(SRAM_DIRS); do echo " - $$D"; done
@echo "ROM Configurations:"
@for D in $(ROM_DIRS); do echo " - $$D"; done
@echo
.PHONY: configs
BROKEN :=
WORKING_STAMPS=$(filter-out $(addsuffix .ok, $(BROKEN)), $(STAMPS))
EXAMPLE_STAMPS=$(filter example%, $(WORKING_STAMPS))
SKY130_STAMPS=$(filter sky130%, $(WORKING_STAMPS))
FREEPDK45_STAMPS=$(filter freepdk45%, $(WORKING_STAMPS))
SCN4M_SUBM_STAMPS=$(filter scn4m_subm%, $(WORKING_STAMPS))
WORKING_SRAM_STAMPS=$(filter-out $(addsuffix .ok, $(BROKEN)), $(SRAM_STAMPS))
WORKING_ROM_STAMPS=$(filter-out $(addsuffix .ok, $(BROKEN)), $(ROM_STAMPS))
EXAMPLE_STAMPS=$(filter example%, $(WORKING_SRAM_STAMPS)) $(filter example%, $(WORKING_ROM_STAMPS))
SKY130_STAMPS=$(filter sky130%, $(WORKING_SRAM_STAMPS)) $(filter sky130%, $(WORKING_ROM_STAMPS))
FREEPDK45_STAMPS=$(filter freepdk45%, $(WORKING_STAMPS)) $(filter freepdk45%, $(WORKING_ROM_STAMPS))
SCN4M_SUBM_STAMPS=$(filter scn4m_subm%, $(WORKING_STAMPS)) $(filter scn4m_subm%, $(WORKING_ROM_STAMPS))
all: | configs
@echo
@@ -60,12 +69,22 @@ freepdk45: $(FREEPDK45_STAMPS)
scn4m_subm: $(SCN4M_SUBM_STAMPS)
.PHONY: scn4m_subm
rom: $(WORKING_ROM_STAMPS)
.PHONY: rom
sram: $(WORKING_SRAM_STAMPS)
.PHONY: sram
OPENRAM_TMP=$(MACRO_DIR)/$*/tmp
%.ok: configs/%.py
%.ok: sram_configs/%.py
@echo "Building $*"
@mkdir -p $*
@python3 -u $(OPENRAM_COMPILER) $(OPENRAM_OPTS) -o $* -p $(MACRO_DIR)/$* $(MACRO_DIR)/$< && touch $@
@python3 -u $(SRAM_COMPILER) $(OPENRAM_OPTS) -o $* -p $(MACRO_DIR)/$* $(MACRO_DIR)/$< && touch $@
%.ok: rom_configs/%.py
@echo "Building $*"
@mkdir -p $*
@python3 -u $(ROM_COMPILER) $(OPENRAM_OPTS) -o $* -p $(MACRO_DIR)/$* $(MACRO_DIR)/$< && touch $@
.DELETE_ON_ERROR: $(STAMPS)