Add spare column option to tests for sky130

This commit is contained in:
mrg 2022-03-07 07:58:41 -08:00
parent ce2b125762
commit f17d661e3a
16 changed files with 155 additions and 21 deletions

View File

@ -31,9 +31,18 @@ class timing_sram_test(openram_test):
reload(characterizer)
from characterizer import delay
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Testing timing for sample 1bit, 16words SRAM with 1 bank")

View File

@ -33,9 +33,18 @@ class model_delay_test(openram_test):
from characterizer import elmore
from sram import sram
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=1,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Testing timing for sample 1bit, 16words SRAM with 1 bank")

View File

@ -33,9 +33,18 @@ class timing_sram_test(openram_test):
from characterizer import delay
from sram_config import sram_config
OPTS.local_array_size = 2
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
# c = sram_config(word_size=8,

View File

@ -30,9 +30,18 @@ class timing_sram_test(openram_test):
reload(characterizer)
from characterizer import delay
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Testing timing for sample 1bit, 16words SRAM with 1 bank")

View File

@ -33,9 +33,18 @@ class regression_model_test(openram_test):
from characterizer import neural_network
from sram import sram
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=1,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Testing timing for sample 1bit, 16words SRAM with 1 bank")

View File

@ -31,9 +31,18 @@ class timing_sram_test(openram_test):
reload(characterizer)
from characterizer import delay
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Testing timing for sample 1bit, 16words SRAM with 1 bank")

View File

@ -32,9 +32,18 @@ class sram_1bank_2mux_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=32,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=2
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -33,9 +33,18 @@ class sram_1bank_2mux_func_test(openram_test):
from characterizer import functional
from sram_config import sram_config
OPTS.local_array_size = 8
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=8,
num_words=32,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=2
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -32,10 +32,18 @@ class sram_1bank_2mux_sparecols_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=32,
num_spare_cols=3,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols+2,
num_spare_rows=num_spare_rows)
c.words_per_row=2
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -32,9 +32,18 @@ class sram_1bank_4mux_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=128,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=4
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -35,9 +35,18 @@ class sram_1bank_8mux_func_test(openram_test):
debug.error("Could not find {} simulator.".format(OPTS.spice_name),-1)
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=128,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=8
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -32,9 +32,18 @@ class sram_1bank_nomux_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=16,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -32,10 +32,18 @@ class sram_1bank_nomux_sparecols_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=4,
num_words=16,
num_spare_cols=3,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols+2,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -36,10 +36,19 @@ class sram_wmask_1w_1r_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=8,
num_words=16,
write_size=2,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row = 1
c.recompute_sizes()
debug.info(1,

View File

@ -32,10 +32,19 @@ class sram_wmask_func_test(openram_test):
reload(characterizer)
from characterizer import functional
from sram_config import sram_config
if OPTS.tech_name == "sky130":
num_spare_rows = 1
num_spare_cols = 1
else:
num_spare_rows = 0
num_spare_cols = 0
c = sram_config(word_size=8,
num_words=16,
write_size=4,
num_banks=1)
num_banks=1,
num_spare_cols=num_spare_cols,
num_spare_rows=num_spare_rows)
c.words_per_row=1
c.recompute_sizes()
debug.info(1, "Functional test for sram with "

View File

@ -96,7 +96,7 @@ WORKING_TECH_TEST_STAMPS=$(shell shuf -e -- $(filter-out $(BROKEN_STAMPS), $(TEC
# Run all technologies
all: $(WORKING_TECH_TEST_STAMPS)
all: clean $(WORKING_TECH_TEST_STAMPS)
@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
.PHONY: all
@ -120,8 +120,8 @@ $(TEST_BASES):
@mkdir -p results/$*/tmp
@docker run \
-v $(TOP_DIR):/openram \
-v $(FREEPDK45):/pdk/freepdk45\
-e FREEPDK45=/pdk/freepdk45\
-v $(FREEPDK45):/freepdk45\
-e FREEPDK45=/freepdk45\
-v $(PDK_ROOT):/pdk \
-e PDK_ROOT=/pdk \
-e PDKPATH=/pdk/sky130A \
@ -144,7 +144,8 @@ docker-pull:
mount:
docker run -it \
-v $(TOP_DIR):/openram \
-v $(FREEPDK45):/pdk/freepdk45 \
-v $(FREEPDK45):/freepdk45 \
-e FREEPDK45=/freepdk45\
-v $(PDK_ROOT):/pdk \
-e PDK_ROOT=/pdk \
-e PDKPATH=/pdk/sky130A \