@@ -4,7 +4,6 @@ include $(TOP_DIR)/openram.mk
44.DEFAULT_GOAL := all
55
66ARGS ?=
7- TEST_TECHS ?= scn4m_subm freepdk45
87TECHS ?= scn4m_subm freepdk45 sky130
98
109TEST_DIR = $(TOP_DIR ) /compiler/tests
@@ -22,88 +21,43 @@ RESULTS_DIR = $(OPENRAM_DIR)/results
2221# or a specific tech:
2322# freepdk45/test.py
2423BROKEN_STAMPS = \
25- %/06_hierarchical_decoder_4096row_test.ok \
2624 %/19_single_bank_16mux_1rw_1r_test.ok \
2725 %/19_single_bank_16mux_test.ok \
2826 %/20_sram_1bank_16mux_1rw_1r_test.ok \
29- %/20_sram_1bank_16mux_test.ok \
30- %/20_psram_1bank_2mux_1rw_1w_test.ok \
31- %/20_psram_1bank_2mux_1rw_1w_wmask_test.ok \
32- %/20_psram_1bank_2mux_1w_1r_test.ok \
33- %/20_psram_1bank_2mux_test.ok \
34- %/21_hspice_delay_test.ok \
35- %/21_hspice_setuphold_test.ok \
3627 %/21_xyce_delay_test.ok \
37- %/22_psram_1bank_2mux_func_test.ok \
38- %/22_psram_1bank_4mux_func_test.ok \
39- %/22_psram_1bank_8mux_func_test.ok \
40- %/22_psram_1bank_nomux_func_test.ok \
41- %/22_sram_1bank_2mux_func_test.ok \
42- %/22_sram_1bank_2mux_global_func_test.ok \
43- %/22_sram_1bank_2mux_sparecols_func_test.ok \
44- %/22_sram_1bank_4mux_func_test.ok \
45- %/22_sram_1bank_8mux_func_test.ok \
46- %/22_sram_1bank_nomux_1rw_1r_func_test.ok \
47- %/22_sram_1bank_nomux_func_test.ok \
48- %/22_sram_1bank_nomux_sparecols_func_test.ok \
49- %/22_sram_1bank_wmask_1rw_1r_func_test.ok \
50- %/22_sram_wmask_func_test.ok \
51- %/26_hspice_pex_pinv_test.ok \
5228 %/27_verilog_multibank_test.ok \
53- %/50_riscv_1k_1rw1r_func_test.ok \
54- %/50_riscv_1k_1rw_func_test.ok \
55- %/50_riscv_1rw1r_func_test.ok \
56- %/50_riscv_1rw1r_phys_test.ok \
57- %/50_riscv_1rw_func_test.ok \
58- %/50_riscv_1rw_phys_test.ok \
59- %/50_riscv_2k_1rw1r_func_test.ok \
60- %/50_riscv_2k_1rw_func_test.ok \
61- %/50_riscv_4k_1rw1r_func_test.ok \
62- %/50_riscv_4k_1rw_func_test.ok \
63- %/50_riscv_512b_1rw1r_func_test.ok \
64- %/50_riscv_512b_1rw_func_test.ok \
65- %/50_riscv_8k_1rw1r_func_test.ok \
66- %/50_riscv_8k_1rw_func_test.ok \
6729 freepdk45/04_rom_address_control_buf_test.ok \
6830 freepdk45/05_rom_array_test.ok \
6931 freepdk45/06_rom_decoder_test.ok \
32+ freepdk45/06_hierarchical_decoder_4096row_test.ok \
7033 freepdk45/07_rom_column_mux_array_test.ok \
7134 freepdk45/08_rom_decoder_buffer_array_test.ok \
7235 freepdk45/08_rom_precharge_array_test.ok \
73- freepdk45/10_rom_wordline_driver_array_test.ok \
7436 freepdk45/16_rom_control_logic_test.ok \
7537 freepdk45/19_rom_bank_test.ok \
7638 scn4m_subm/04_rom_address_control_buf_test.ok \
7739 scn4m_subm/06_rom_decoder_test.ok \
78- scn4m_subm/07_rom_column_mux_array_test .ok \
40+ scn4m_subm/06_hierarchical_decoder_4096row_test .ok \
7941 scn4m_subm/08_rom_decoder_buffer_array_test.ok \
80- scn4m_subm/08_rom_precharge_array_test.ok \
81- scn4m_subm/10_rom_wordline_driver_array_test.ok \
8242 scn4m_subm/14_rom_array_test.ok \
83- scn4m_subm/16_rom_control_logic_test.ok \
8443 scn4m_subm/19_rom_bank_test.ok \
8544 scn4m_subm/19_single_bank_global_bitline_test.ok \
45+ scn4m_subm/50_riscv_1rw_phys_test.ok \
46+ scn4m_subm/50_riscv_1rw1r_phys_test.ok \
8647 sky130/01_library_test.ok \
8748 sky130/03_wire_test.ok \
8849 sky130/04_column_mux_pbitcell_test.ok \
8950 sky130/04_dummy_pbitcell_test.ok \
9051 sky130/04_pbitcell_test.ok \
91- sky130/04_pnand4_test.ok \
92- sky130/04_pand4_test.ok \
9352 sky130/04_precharge_pbitcell_test.ok \
9453 sky130/04_replica_pbitcell_test.ok \
9554 sky130/04_dummy_pbitcell_1rw1r1w_test.ok \
9655 sky130/04_dummy_pbitcell_1rw_test.ok \
9756 sky130/04_replica_pbitcell_1rw1r1w_test.ok \
9857 sky130/04_replica_pbitcell_1rw_test.ok \
9958 sky130/05_pbitcell_array_test.ok \
100- sky130/05_bitcell_array_test.ok \
10159 sky130/05_bitcell_array_1rw_1r_test.ok \
10260 sky130/05_dummy_array_test.ok \
103- sky130/06_hierarchical_decoder_132row_test.ok \
104- sky130/06_hierarchical_decoder_512row_test.ok \
105- sky130/06_hierarchical_decoder_64row_test.ok \
106- sky130/06_hierarchical_decoder_pbitcell_test.ok \
10761 sky130/07_column_mux_array_pbitcell_test.ok \
10862 sky130/10_write_driver_array_spare_cols_test.ok \
10963 sky130/10_write_driver_array_wmask_spare_cols_test.ok \
@@ -127,7 +81,6 @@ BROKEN_STAMPS = \
12781 sky130/15_local_bitcell_array_leftrbl_1rw_test.ok \
12882 sky130/15_local_bitcell_array_norbl_1rw_1r_test.ok \
12983 sky130/15_local_bitcell_array_norbl_1rw_test.ok \
130- sky130/18_port_address_512rows_test.ok \
13184 sky130/18_port_data_spare_cols_test.ok \
13285 sky130/19_single_bank_2mux_test.ok \
13386 sky130/19_single_bank_4mux_test.ok \
@@ -138,9 +91,13 @@ BROKEN_STAMPS = \
13891 sky130/19_single_bank_nomux_norbl_test.ok \
13992 sky130/19_single_bank_spare_cols_test.ok \
14093 sky130/19_single_bank_wmask_test.ok \
141- sky130/19_pmulti_bank_test.ok \
14294 sky130/19_psingle_bank_test.ok \
14395 sky130/19_bank_select_pbitcell_test.ok \
96+ sky130/20_psram_1bank_2mux_1rw_1w_test.ok \
97+ sky130/20_psram_1bank_2mux_1rw_1w_wmask_test.ok \
98+ sky130/20_psram_1bank_2mux_1w_1r_test.ok \
99+ sky130/20_psram_1bank_2mux_test.ok \
100+ sky130/20_sram_1bank_16mux_test.ok \
144101 sky130/20_psram_1bank_4mux_1rw_1r_test.ok \
145102 sky130/20_sram_1bank_2mux_1rw_1r_spare_cols_test.ok \
146103 sky130/20_sram_1bank_2mux_1w_1r_spare_cols_test.ok \
@@ -164,10 +121,12 @@ BROKEN_STAMPS = \
164121 sky130/22_psram_1bank_4mux_func_test.ok \
165122 sky130/22_psram_1bank_8mux_func_test.ok \
166123 sky130/22_psram_1bank_nomux_func_test.ok \
124+ sky130/22_sram_1bank_2mux_global_func_test.ok \
125+ sky130/22_sram_1bank_wmask_1rw_1r_func_test.ok \
126+ sky130/22_sram_wmask_func_test.ok \
167127 sky130/23_lib_sram_linear_regression_test.ok \
168128 sky130/23_lib_sram_model_corners_test.ok \
169129 sky130/23_lib_sram_model_test.ok \
170- sky130/23_lib_sram_prune_test.ok \
171130 sky130/23_lib_sram_test.ok \
172131 sky130/25_verilog_multibank_test.ok \
173132 sky130/25_verilog_sram_test.ok \
@@ -176,21 +135,28 @@ BROKEN_STAMPS = \
176135 sky130/30_openram_front_end_library_test.ok \
177136 sky130/30_openram_front_end_test.ok \
178137 sky130/30_openram_sram_char_test.ok \
179- sky130/30_openram_sram_func_test.ok \
138+ sky130/50_riscv_1rw_phys_test.ok \
139+ sky130/50_riscv_1rw1r_phys_test.ok \
180140
181141gettech = $(word 1,$(subst /, ,$* ) )
182142getfile = $(word 2,$(subst /, ,$* ) )
183143TECH_TEST_STAMPS =$(foreach T, $(TECHS ) , $(addprefix $T/, $(TEST_STAMPS ) ) )
184144
185- # Filter out the tests after creating the tech stamps
145+ # Filter out the broken tests after creating the tech stamps
186146WORKING_TECH_TEST_STAMPS =$(shell shuf -e -- $(filter-out $(BROKEN_STAMPS ) , $(TECH_TEST_STAMPS ) ) )
187-
147+ # Filter out the working tests after creating the tech stamps
148+ BROKEN_TECH_TEST_STAMPS =$(shell shuf -e -- $(filter $(BROKEN_STAMPS ) , $(TECH_TEST_STAMPS ) ) )
188149
189150# Run all technologies
190151all : clean $(WORKING_TECH_TEST_STAMPS )
191152 @ls -1 $(TOP_DIR ) /compiler/tests/results/* /* .bad 1> /dev/null 2>&1 && echo " FAILING TESTS" && ls -1 $(TOP_DIR ) /compiler/tests/results/* /* .bad | sed -e " s#^.*results\/##" && exit 1 || exit 0
192153.PHONY : all
193154
155+ # Run broken stamps only
156+ broken : clean $(BROKEN_TECH_TEST_STAMPS )
157+ @ls -1 $(TOP_DIR ) /compiler/tests/results/* /* .bad 1> /dev/null 2>&1 && echo " FAILING TESTS" && ls -1 $(TOP_DIR ) /compiler/tests/results/* /* .bad | sed -e " s#^.*results\/##" && exit 1 || exit 0
158+ .PHONY : broken
159+
194160# Run a given technology
195161# e.g. make freepdk45
196162$(TECHS ) :
0 commit comments