Merge branch 'klayout' into dev

This commit is contained in:
mrg 2022-02-02 07:05:02 -08:00
commit c545299cd6
3 changed files with 56 additions and 30 deletions

View File

@ -25,6 +25,7 @@ jobs:
#python3-coverage run -p $OPENRAM_HOME/tests/regress.py -j 12 -t scn4m_subm
#$OPENRAM_HOME/tests/regress.py -j 24 -t scn4m_subm
cd $OPENRAM_HOME/tests
make clean
make -k -j 48
- name: Archive
if: ${{ failure() }}

View File

@ -16,39 +16,67 @@ TEST_STAMPS= $(addsuffix .ok,$(TEST_BASES))
OPENRAM_DIR = /openram/compiler/tests
RESULTS_DIR = $(OPENRAM_DIR)/results
TEST_BROKEN = \
50_riscv_1k_1rw1r_func_test.py \
50_riscv_1k_1rw_func_test.py \
50_riscv_1rw1r_func_test.py \
50_riscv_1rw1r_phys_test.py \
50_riscv_1rw_func_test.py \
50_riscv_1rw_phys_test.py \
50_riscv_2k_1rw1r_func_test.py \
50_riscv_2k_1rw_func_test.py \
50_riscv_4k_1rw1r_func_test.py \
50_riscv_4k_1rw_func_test.py \
50_riscv_512b_1rw1r_func_test.py \
50_riscv_512b_1rw_func_test.py \
50_riscv_8k_1rw1r_func_test.py \
50_riscv_8k_1rw_func_test.py
WORKING_TEST_STAMPS=$(filter-out $(addsuffix .ok, (TEST_BROKEN)), $(TEST_STAMPS))
# Use % for all techs:
# %/test.py
# or a specific tech:
# freepdk45/test.py
BROKEN_STAMPS = \
sky130/01_library_test.ok \
sky130/04_column_mux_pbitcell_test.ok \
sky130/04_dummy_pbitcell_test.ok \
sky130/04_pbitcell_test.ok \
sky130/04_pnand4_test.ok \
sky130/04_precharge_pbitcell_test.ok \
sky130/04_replica_pbitcell_test.ok \
sky130/05_pbitcell_array_test.ok \
sky130/05_bitcell_array_test.ok \
sky130/05_bitcell_array_1rw_1r_test.ok \
sky130/05_dummy_array_test.ok \
sky130/07_column_mux_array_pbitcell_test.ok \
sky130/19_pmulti_bank_test.ok \
sky130/19_psingle_bank_test.ok \
sky130/19_bank_select_pbitcell_test.ok \
sky130/20_psram_1bank_2mux_1rw_1w_test.ok \
sky130/20_psram_1bank_2mux_1rw_1w_wmask_test.ok \
sky130/20_psram_1bank_2mux_1w_1r_test.ok \
sky130/20_psram_1bank_2mux_test.ok \
sky130/20_psram_1bank_4mux_1rw_1r_test.ok \
sky130/22_psram_1bank_2mux_func_test.ok \
sky130/22_psram_1bank_4mux_func_test.ok \
sky130/22_psram_1bank_8mux_func_test.ok \
sky130/22_psram_1bank_nomux_func_test.ok \
%/50_riscv_1k_1rw1r_func_test.ok \
%/50_riscv_1k_1rw_func_test.ok \
%/50_riscv_1rw1r_func_test.ok \
%/50_riscv_1rw1r_phys_test.ok \
%/50_riscv_1rw_func_test.ok \
%/50_riscv_1rw_phys_test.ok \
%/50_riscv_2k_1rw1r_func_test.ok \
%/50_riscv_2k_1rw_func_test.ok \
%/50_riscv_4k_1rw1r_func_test.ok \
%/50_riscv_4k_1rw_func_test.ok \
%/50_riscv_512b_1rw1r_func_test.ok \
%/50_riscv_512b_1rw_func_test.ok \
%/50_riscv_8k_1rw1r_func_test.ok \
%/50_riscv_8k_1rw_func_test.ok
gettech = $(word 1,$(subst /, ,$*))
getfile = $(word 2,$(subst /, ,$*))
WORKING_TECH_TEST_STAMPS=$(foreach T, $(TECHS),$(addprefix $T/,$(WORKING_TEST_STAMPS)))
TECH_TEST_STAMPS=$(foreach T, $(TECHS), $(addprefix $T/, $(TEST_STAMPS)))
# Filter out the tests after creating the tech stamps
WORKING_TECH_TEST_STAMPS=$(filter-out $(BROKEN_STAMPS), $(TECH_TEST_STAMPS))
# Run all technologies
all: $(WORKING_TECH_TEST_STAMPS)
@ls $(TOP_DIR)/compiler/tests/results/*/*.bad 1> /dev/null 2>&1 && echo "REGRESSION FAIL" && exit 1 || echo "REGRESSION PASS"
@ls $(TOP_DIR)/compiler/tests/results/*/*.bad 1> /dev/null 2>&1 && echo "FAILING TESTS" && ls $(TOP_DIR)/compiler/tests/results/*/*.bad && exit 1
.PHONY: all
# Run a given technology
# e.g. make freepdk45
$(ALL_TECHS):
@$(MAKE) --no-print-directory $(addprefix $@/,$(WORKING_TEST_STAMPS))
@$(MAKE) --no-print-directory $(filter-out $(BROKEN_STAMPS), $(addprefix $@/, $(TEST_STAMPS)))
.PHONY: $(TECHS)
# Targets for each individual test
@ -64,7 +92,10 @@ $(TEST_BASES):
@docker run \
-v $(TOP_DIR):/openram \
-v $(FREEPDK45):/pdk/freepdk45\
-e FREEPDK45=/pdk/freepdk45\
-v $(PDK_ROOT):/pdk \
-e PDK_ROOT=/pdk \
-e PDKPATH=/pdk/sky130A \
-v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro \
--user $(UID):$(GID) \
-e OPENRAM_TMP=$(OPENRAM_DIR)/results/$*/tmp \
@ -81,6 +112,8 @@ mount:
-v $(TOP_DIR):/openram \
-v $(FREEPDK45):/pdk/freepdk45 \
-v $(PDK_ROOT):/pdk \
-e PDK_ROOT=/pdk \
-e PDKPATH=/pdk/sky130A \
-v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro \
--user $(UID):$(GID) \
vlsida/openram-ubuntu:latest

View File

@ -14,14 +14,6 @@ export XYCE_LIB=$XYCE_HOME/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XYCE_LIB
export XYCE_NO_TRACKING="anything at all"
# PDKs
export FREEPDK45=/PDK/freepdk45
# Set to the PDK you want to use
export PDK_DIR=$FREEPDK45
# Skywater PDK
export PDK_ROOT=/pdk
# OpenRAM
export OPENRAM_HOME=/openram/compiler
export OPENRAM_TECH=/openram/technology