From e210d3d49a882d6248650bf2f47f1c304e1db1df Mon Sep 17 00:00:00 2001 From: mguthaus Date: Mon, 12 Feb 2018 12:00:59 -0800 Subject: [PATCH] Make some common lib memory sizes. Update Makefile to auto build and char them all. --- compiler/globals.py | 9 +++--- lib/freepdk45/Makefile | 28 +++++++++++++++++++ .../sram_1rw_128b_1024w_1bank_freepdk45.py | 5 ++++ .../sram_1rw_32b_1024w_1bank_freepdk45.py} | 4 --- .../sram_1rw_32b_2048w_1bank_freepdk45.py | 5 ++++ .../sram_1rw_8b_1024w_4bank_freepdk45.py | 5 ++++ .../sram_1rw_8b_256w_1bank_freepdk45.py | 5 ++++ .../sram_1rw_8b_512w_4bank_freepdk45.py | 5 ++++ 8 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 lib/freepdk45/Makefile create mode 100644 lib/freepdk45/configs/sram_1rw_128b_1024w_1bank_freepdk45.py rename lib/freepdk45/{config_1rw_1k_32b_freepdk45.py => configs/sram_1rw_32b_1024w_1bank_freepdk45.py} (61%) create mode 100644 lib/freepdk45/configs/sram_1rw_32b_2048w_1bank_freepdk45.py create mode 100644 lib/freepdk45/configs/sram_1rw_8b_1024w_4bank_freepdk45.py create mode 100644 lib/freepdk45/configs/sram_1rw_8b_256w_1bank_freepdk45.py create mode 100644 lib/freepdk45/configs/sram_1rw_8b_512w_4bank_freepdk45.py diff --git a/compiler/globals.py b/compiler/globals.py index 5ce3e90e..4023f927 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -173,10 +173,11 @@ def read_config(config_file, is_unit_test=True): # If config didn't set output name, make a reasonable default. if (OPTS.output_name == ""): - OPTS.output_name = "sram_{0}_{1}_{2}_{3}".format(OPTS.word_size, - OPTS.num_words, - OPTS.num_banks, - OPTS.OPTS.tech_name) + OPTS.output_name = "sram_{0}rw_{1}b_{2}w_{3}bank_{4}".format(OPTS.rw_ports, + OPTS.word_size, + OPTS.num_words, + OPTS.num_banks, + OPTS.tech_name) # Don't delete the output dir, it may have other files! # make the directory if it doesn't exist diff --git a/lib/freepdk45/Makefile b/lib/freepdk45/Makefile new file mode 100644 index 00000000..c0e707aa --- /dev/null +++ b/lib/freepdk45/Makefile @@ -0,0 +1,28 @@ +CUR_DIR = $(shell pwd) +TEST_DIR = ${CUR_DIR}/tests + +MAKEFLAGS += -j 2 + +CONFIG_DIR = configs +OUT_DIRS = sp lib lef gds +$(shell mkdir -p $(OUT_DIRS)) + +SRCS=$(wildcard $(CONFIG_DIR)/*.py) +SPICES=$(SRCS:.py=.sp) +all : $(SPICES) + +%.sp : %.py + openram.py -c $< + mv ($basename $<).lef lef + mv ($basename $<).sp sp + mv ($basename $<).gds gds + mv ($basename $<)\*.lib lib + +clean: + find . -name \*.pyc -exec rm {} \; + find . -name \*~ -exec rm {} \; + find . -name \*.lef -exec rm {} \; + find . -name \*.lib -exec rm {} \; + find . -name \*.sp -exec rm {} \; + find . -name \*.gds -exec rm {} \; + diff --git a/lib/freepdk45/configs/sram_1rw_128b_1024w_1bank_freepdk45.py b/lib/freepdk45/configs/sram_1rw_128b_1024w_1bank_freepdk45.py new file mode 100644 index 00000000..2a84bf8e --- /dev/null +++ b/lib/freepdk45/configs/sram_1rw_128b_1024w_1bank_freepdk45.py @@ -0,0 +1,5 @@ +word_size = 128 +num_words = 1024 +num_banks = 1 + +tech_name = "freepdk45" diff --git a/lib/freepdk45/config_1rw_1k_32b_freepdk45.py b/lib/freepdk45/configs/sram_1rw_32b_1024w_1bank_freepdk45.py similarity index 61% rename from lib/freepdk45/config_1rw_1k_32b_freepdk45.py rename to lib/freepdk45/configs/sram_1rw_32b_1024w_1bank_freepdk45.py index debfaceb..8ecdfef8 100644 --- a/lib/freepdk45/config_1rw_1k_32b_freepdk45.py +++ b/lib/freepdk45/configs/sram_1rw_32b_1024w_1bank_freepdk45.py @@ -3,7 +3,3 @@ num_words = 1024 num_banks = 1 tech_name = "freepdk45" - -output_path = "sram_1rw_32b_1k_freepdk45" - - diff --git a/lib/freepdk45/configs/sram_1rw_32b_2048w_1bank_freepdk45.py b/lib/freepdk45/configs/sram_1rw_32b_2048w_1bank_freepdk45.py new file mode 100644 index 00000000..b18dbca6 --- /dev/null +++ b/lib/freepdk45/configs/sram_1rw_32b_2048w_1bank_freepdk45.py @@ -0,0 +1,5 @@ +word_size = 32 +num_words = 2048 +num_banks = 1 + +tech_name = "freepdk45" diff --git a/lib/freepdk45/configs/sram_1rw_8b_1024w_4bank_freepdk45.py b/lib/freepdk45/configs/sram_1rw_8b_1024w_4bank_freepdk45.py new file mode 100644 index 00000000..e15b7c3d --- /dev/null +++ b/lib/freepdk45/configs/sram_1rw_8b_1024w_4bank_freepdk45.py @@ -0,0 +1,5 @@ +word_size = 8 +num_words = 1024 +num_banks = 4 + +tech_name = "freepdk45" diff --git a/lib/freepdk45/configs/sram_1rw_8b_256w_1bank_freepdk45.py b/lib/freepdk45/configs/sram_1rw_8b_256w_1bank_freepdk45.py new file mode 100644 index 00000000..f1962d9f --- /dev/null +++ b/lib/freepdk45/configs/sram_1rw_8b_256w_1bank_freepdk45.py @@ -0,0 +1,5 @@ +word_size = 8 +num_words = 256 +num_banks = 1 + +tech_name = "freepdk45" diff --git a/lib/freepdk45/configs/sram_1rw_8b_512w_4bank_freepdk45.py b/lib/freepdk45/configs/sram_1rw_8b_512w_4bank_freepdk45.py new file mode 100644 index 00000000..daeb9c8f --- /dev/null +++ b/lib/freepdk45/configs/sram_1rw_8b_512w_4bank_freepdk45.py @@ -0,0 +1,5 @@ +word_size = 8 +num_words = 512 +num_banks = 4 + +tech_name = "freepdk45"