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
|
#python3-coverage run -p $OPENRAM_HOME/tests/regress.py -j 12 -t scn4m_subm
|
||||||
#$OPENRAM_HOME/tests/regress.py -j 24 -t scn4m_subm
|
#$OPENRAM_HOME/tests/regress.py -j 24 -t scn4m_subm
|
||||||
cd $OPENRAM_HOME/tests
|
cd $OPENRAM_HOME/tests
|
||||||
|
make clean
|
||||||
make -k -j 48
|
make -k -j 48
|
||||||
- name: Archive
|
- name: Archive
|
||||||
if: ${{ failure() }}
|
if: ${{ failure() }}
|
||||||
|
|
|
||||||
|
|
@ -16,39 +16,67 @@ TEST_STAMPS= $(addsuffix .ok,$(TEST_BASES))
|
||||||
OPENRAM_DIR = /openram/compiler/tests
|
OPENRAM_DIR = /openram/compiler/tests
|
||||||
RESULTS_DIR = $(OPENRAM_DIR)/results
|
RESULTS_DIR = $(OPENRAM_DIR)/results
|
||||||
|
|
||||||
TEST_BROKEN = \
|
# Use % for all techs:
|
||||||
50_riscv_1k_1rw1r_func_test.py \
|
# %/test.py
|
||||||
50_riscv_1k_1rw_func_test.py \
|
# or a specific tech:
|
||||||
50_riscv_1rw1r_func_test.py \
|
# freepdk45/test.py
|
||||||
50_riscv_1rw1r_phys_test.py \
|
BROKEN_STAMPS = \
|
||||||
50_riscv_1rw_func_test.py \
|
sky130/01_library_test.ok \
|
||||||
50_riscv_1rw_phys_test.py \
|
sky130/04_column_mux_pbitcell_test.ok \
|
||||||
50_riscv_2k_1rw1r_func_test.py \
|
sky130/04_dummy_pbitcell_test.ok \
|
||||||
50_riscv_2k_1rw_func_test.py \
|
sky130/04_pbitcell_test.ok \
|
||||||
50_riscv_4k_1rw1r_func_test.py \
|
sky130/04_pnand4_test.ok \
|
||||||
50_riscv_4k_1rw_func_test.py \
|
sky130/04_precharge_pbitcell_test.ok \
|
||||||
50_riscv_512b_1rw1r_func_test.py \
|
sky130/04_replica_pbitcell_test.ok \
|
||||||
50_riscv_512b_1rw_func_test.py \
|
sky130/05_pbitcell_array_test.ok \
|
||||||
50_riscv_8k_1rw1r_func_test.py \
|
sky130/05_bitcell_array_test.ok \
|
||||||
50_riscv_8k_1rw_func_test.py
|
sky130/05_bitcell_array_1rw_1r_test.ok \
|
||||||
|
sky130/05_dummy_array_test.ok \
|
||||||
|
sky130/07_column_mux_array_pbitcell_test.ok \
|
||||||
WORKING_TEST_STAMPS=$(filter-out $(addsuffix .ok, (TEST_BROKEN)), $(TEST_STAMPS))
|
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 /, ,$*))
|
gettech = $(word 1,$(subst /, ,$*))
|
||||||
getfile = $(word 2,$(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
|
# Run all technologies
|
||||||
all: $(WORKING_TECH_TEST_STAMPS)
|
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
|
.PHONY: all
|
||||||
|
|
||||||
# Run a given technology
|
# Run a given technology
|
||||||
# e.g. make freepdk45
|
# e.g. make freepdk45
|
||||||
$(ALL_TECHS):
|
$(ALL_TECHS):
|
||||||
@$(MAKE) --no-print-directory $(addprefix $@/,$(WORKING_TEST_STAMPS))
|
@$(MAKE) --no-print-directory $(filter-out $(BROKEN_STAMPS), $(addprefix $@/, $(TEST_STAMPS)))
|
||||||
.PHONY: $(TECHS)
|
.PHONY: $(TECHS)
|
||||||
|
|
||||||
# Targets for each individual test
|
# Targets for each individual test
|
||||||
|
|
@ -64,7 +92,10 @@ $(TEST_BASES):
|
||||||
@docker run \
|
@docker run \
|
||||||
-v $(TOP_DIR):/openram \
|
-v $(TOP_DIR):/openram \
|
||||||
-v $(FREEPDK45):/pdk/freepdk45\
|
-v $(FREEPDK45):/pdk/freepdk45\
|
||||||
|
-e FREEPDK45=/pdk/freepdk45\
|
||||||
-v $(PDK_ROOT):/pdk \
|
-v $(PDK_ROOT):/pdk \
|
||||||
|
-e PDK_ROOT=/pdk \
|
||||||
|
-e PDKPATH=/pdk/sky130A \
|
||||||
-v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro \
|
-v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro \
|
||||||
--user $(UID):$(GID) \
|
--user $(UID):$(GID) \
|
||||||
-e OPENRAM_TMP=$(OPENRAM_DIR)/results/$*/tmp \
|
-e OPENRAM_TMP=$(OPENRAM_DIR)/results/$*/tmp \
|
||||||
|
|
@ -81,6 +112,8 @@ mount:
|
||||||
-v $(TOP_DIR):/openram \
|
-v $(TOP_DIR):/openram \
|
||||||
-v $(FREEPDK45):/pdk/freepdk45 \
|
-v $(FREEPDK45):/pdk/freepdk45 \
|
||||||
-v $(PDK_ROOT):/pdk \
|
-v $(PDK_ROOT):/pdk \
|
||||||
|
-e PDK_ROOT=/pdk \
|
||||||
|
-e PDKPATH=/pdk/sky130A \
|
||||||
-v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro \
|
-v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro \
|
||||||
--user $(UID):$(GID) \
|
--user $(UID):$(GID) \
|
||||||
vlsida/openram-ubuntu:latest
|
vlsida/openram-ubuntu:latest
|
||||||
|
|
|
||||||
|
|
@ -14,14 +14,6 @@ export XYCE_LIB=$XYCE_HOME/lib
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XYCE_LIB
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XYCE_LIB
|
||||||
export XYCE_NO_TRACKING="anything at all"
|
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
|
# OpenRAM
|
||||||
export OPENRAM_HOME=/openram/compiler
|
export OPENRAM_HOME=/openram/compiler
|
||||||
export OPENRAM_TECH=/openram/technology
|
export OPENRAM_TECH=/openram/technology
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue