mirror of https://github.com/VLSIDA/OpenRAM.git
Merge branch 'klayout' into dev
This commit is contained in:
commit
c545299cd6
|
|
@ -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() }}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue