Merge branch 'sky130_regress' into dev

This commit is contained in:
Eren Dogan 2023-04-26 12:33:21 -07:00
commit 938da3b369
3 changed files with 74 additions and 7 deletions

View File

@ -23,14 +23,14 @@ jobs:
run: |
export OPENRAM_HOME="${{ github.workspace }}/compiler"
export OPENRAM_TECH="${{ github.workspace }}/technology"
#cd $OPENRAM_HOME/tests
#export PDK_ROOT="${{ github.workspace }}/pdk"
#make pdk
#make install
export PDK_ROOT="${{ github.workspace }}/pdk"
make pdk
make install
- name: Regress
run: |
export OPENRAM_HOME="${{ github.workspace }}/compiler"
export OPENRAM_TECH="${{ github.workspace }}/technology"
export PDK_ROOT="${{ github.workspace }}/pdk"
export FREEPDK45="~/FreePDK45"
# KLAYOUT_PATH breaks klayout installation. Unset it for now...
unset KLAYOUT_PATH

View File

@ -49,6 +49,9 @@ INSTALL_BASE_DIRS := gds_lib mag_lib sp_lib lvs_lib calibre_lvs_lib klayout_lvs_
INSTALL_BASE := $(OPENRAM_HOME)/../technology/sky130
INSTALL_DIRS := $(addprefix $(INSTALL_BASE)/,$(INSTALL_BASE_DIRS))
# Remove this if you don't want to use conda
USE_CONDA ?= 1
check-pdk-root:
ifndef PDK_ROOT
$(error PDK_ROOT is undefined, please export it before running make)
@ -69,12 +72,23 @@ $(OPEN_PDKS_DIR): $(SKY130_PDKS_DIR)
$(SKY130_PDK): $(OPEN_PDKS_DIR) $(SKY130_PDKS_DIR)
@echo "Installing open_pdks..."
ifdef USE_CONDA
@source $(TOP_DIR)/miniconda/bin/activate && \
cd $(PDK_ROOT)/open_pdks && \
./configure --enable-sky130-pdk=$(PDK_ROOT)/skywater-pdk/libraries --with-sky130-local-path=$(PDK_ROOT) && \
cd sky130 && \
make veryclean && \
make && \
make SHARED_PDKS_PATH=$(PDK_ROOT) install && \
conda deactivate
else
@cd $(PDK_ROOT)/open_pdks && \
./configure --enable-sky130-pdk=$(PDK_ROOT)/skywater-pdk/libraries --with-sky130-local-path=$(PDK_ROOT) && \
cd sky130 && \
make veryclean && \
make && \
make SHARED_PDKS_PATH=$(PDK_ROOT) install
endif
$(SRAM_LIB_DIR): check-pdk-root
@echo "Cloning SRAM library..."

View File

@ -4,7 +4,6 @@ include $(TOP_DIR)/openram.mk
.DEFAULT_GOAL := all
ARGS ?=
TEST_TECHS ?= scn4m_subm freepdk45
TECHS ?= scn4m_subm freepdk45 sky130
TEST_DIR = $(TOP_DIR)/compiler/tests
@ -107,11 +106,65 @@ BROKEN_STAMPS = \
sky130/23_lib_sram_model_corners_test.ok \
sky130/23_lib_sram_model_test.ok \
sky130/23_lib_sram_prune_test.ok \
sky131/23_lib_sram_test.ok
sky130/23_lib_sram_test.ok \
sky130/03_wire_test.ok \
sky130/04_dummy_pbitcell_1rw1r1w_test.ok \
sky130/04_dummy_pbitcell_1rw_test.ok \
sky130/04_replica_pbitcell_1rw1r1w_test.ok \
sky130/04_replica_pbitcell_1rw_test.ok \
sky130/06_hierarchical_decoder_132row_test.ok \
sky130/06_hierarchical_decoder_512row_test.ok \
sky130/06_hierarchical_decoder_64row_test.ok \
sky130/06_hierarchical_decoder_pbitcell_test.ok \
sky130/10_write_driver_array_spare_cols_test.ok \
sky130/10_write_driver_array_wmask_spare_cols_test.ok \
sky130/14_capped_replica_bitcell_array_leftrbl_1rw_test.ok \
sky130/14_capped_replica_bitcell_array_norbl_1rw_test.ok \
sky130/14_replica_bitcell_array_leftrbl_1rw_test.ok \
sky130/14_replica_bitcell_array_norbl_1rw_test.ok \
sky130/14_replica_column_1rw_1r_test.ok \
sky130/14_replica_column_1rw_test.ok \
sky130/14_replica_pbitcell_1rw1r_array_test.ok \
sky130/14_replica_pbitcell_1rw_array_test.ok \
sky130/15_global_bitcell_array_1rw_1r_test.ok \
sky130/15_global_bitcell_array_test.ok \
sky130/15_local_bitcell_array_test.ok \
sky130/18_port_address_512rows_test.ok \
sky130/18_port_data_spare_cols_test.ok \
sky130/19_single_bank_2mux_test.ok \
sky130/19_single_bank_4mux_test.ok \
sky130/19_single_bank_8mux_test.ok \
sky130/19_single_bank_global_bitline_test.ok \
sky130/19_single_bank_nomux_test.ok \
sky130/19_single_bank_spare_cols_test.ok \
sky130/19_single_bank_wmask_test.ok \
sky130/20_sram_1bank_2mux_1rw_1r_spare_cols_test.ok \
sky130/20_sram_1bank_2mux_1w_1r_spare_cols_test.ok \
sky130/20_sram_1bank_2mux_global_test.ok \
sky130/20_sram_1bank_2mux_test.ok \
sky130/20_sram_1bank_2mux_wmask_spare_cols_test.ok \
sky130/20_sram_1bank_2mux_wmask_test.ok \
sky130/20_sram_1bank_4mux_test.ok \
sky130/20_sram_1bank_8mux_test.ok \
sky130/20_sram_1bank_nomux_spare_cols_test.ok \
sky130/20_sram_1bank_nomux_test.ok \
sky130/20_sram_1bank_nomux_wmask_test.ok \
sky130/20_sram_1bank_ring_test.ok \
sky130/21_model_delay_test.ok \
sky130/21_ngspice_delay_extra_rows_test.ok \
sky130/21_ngspice_delay_test.ok \
sky130/21_regression_delay_test.ok \
sky130/21_xyce_delay_test.ok \
sky130/25_verilog_multibank_test.ok \
sky130/25_verilog_sram_test.ok \
sky130/30_openram_back_end_library_test.ok \
sky130/30_openram_back_end_test.ok \
sky130/30_openram_front_end_library_test.ok \
sky130/30_openram_front_end_test.ok \
gettech = $(word 1,$(subst /, ,$*))
getfile = $(word 2,$(subst /, ,$*))
TECH_TEST_STAMPS=$(foreach T, $(TEST_TECHS), $(addprefix $T/, $(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=$(shell shuf -e -- $(filter-out $(BROKEN_STAMPS), $(TECH_TEST_STAMPS)))