mirror of https://github.com/VLSIDA/OpenRAM.git
FreePDK45 running with klayout and Sky130 running with magic.
This commit is contained in:
parent
83d7c2a1fb
commit
049751ae1f
2
Makefile
2
Makefile
|
|
@ -41,7 +41,7 @@ MAGICRC_FILE := $(SKY130_PDK)/libs.tech/magic/sky130A.magicrc
|
||||||
ALL_FILES := $(ALL_SPICE_FILES) $(GDS_FILES) $(MAG_FILES) $(MAGLEF_FILES)
|
ALL_FILES := $(ALL_SPICE_FILES) $(GDS_FILES) $(MAG_FILES) $(MAGLEF_FILES)
|
||||||
|
|
||||||
|
|
||||||
INSTALL_BASE_DIRS := gds_lib mag_lib sp_lib lvs_lib calibre_lvs_lib klayout_lvs_lib lef_lib maglef_lib
|
INSTALL_BASE_DIRS := gds_lib mag_lib sp_lib lvs_lib calibre_lvs_lib klayout_lvs_lib maglef_lib
|
||||||
INSTALL_BASE := $(OPENRAM_HOME)/../technology/sky130
|
INSTALL_BASE := $(OPENRAM_HOME)/../technology/sky130
|
||||||
INSTALL_DIRS := $(addprefix $(INSTALL_BASE)/,$(INSTALL_BASE_DIRS))
|
INSTALL_DIRS := $(addprefix $(INSTALL_BASE)/,$(INSTALL_BASE_DIRS))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -161,12 +161,6 @@ class ptx(design.design):
|
||||||
self.mults,
|
self.mults,
|
||||||
self.tx_width,
|
self.tx_width,
|
||||||
drc("minwidth_poly"))
|
drc("minwidth_poly"))
|
||||||
|
|
||||||
elif OPTS.lvs_exe and OPTS.lvs_exe[0] == "klayout":
|
|
||||||
self.lvs_device = "M{{0}} {{1}} {0} m={1} w={2} l={3}".format(spice[self.tx_type],
|
|
||||||
self.mults,
|
|
||||||
self.tx_width,
|
|
||||||
drc("minwidth_poly"))
|
|
||||||
elif cell_props.ptx.model_is_subckt:
|
elif cell_props.ptx.model_is_subckt:
|
||||||
self.lvs_device = "X{{0}} {{1}} {0} m={1} w={2}u l={3}u".format(spice[self.tx_type],
|
self.lvs_device = "X{{0}} {{1}} {0} m={1} w={2}u l={3}u".format(spice[self.tx_type],
|
||||||
self.mults,
|
self.mults,
|
||||||
|
|
|
||||||
|
|
@ -42,15 +42,13 @@ tests:
|
||||||
%.ok: %.py
|
%.ok: %.py
|
||||||
@echo "Running $*"
|
@echo "Running $*"
|
||||||
@mkdir -p $(TOP_DIR)/compiler/tests/results/$*
|
@mkdir -p $(TOP_DIR)/compiler/tests/results/$*
|
||||||
@docker run -v $(TOP_DIR):/openram \
|
@docker run \
|
||||||
-v $(SKY130_PDK):$(SKY130_PDK) \
|
-v $(TOP_DIR):/openram \
|
||||||
-e PDK_ROOT=$(PDK_ROOT) \
|
-v $(FREEPDK45):/pdk/freepdk45\
|
||||||
-e OPENRAM_HOME=/openram/compiler \
|
-v $(PDK_ROOT):/pdk \
|
||||||
-e OPENRAM_TECH=/openram/technology \
|
|
||||||
-e OPENRAM_TMP=/openram/compiler/tests/results/$* \
|
|
||||||
--user $(UID):$(GID) \
|
--user $(UID):$(GID) \
|
||||||
vlsida/openram-ubuntu:latest \
|
vlsida/openram-ubuntu:latest \
|
||||||
python3 -u /openram/compiler/tests/$*.py $(ARGS) && touch $@
|
sh -c ". ~/.bashrc && python3 -u /openram/compiler/tests/$*.py $(ARGS) && touch $@"
|
||||||
|
|
||||||
.DELETE_ON_ERROR: $(TEST_STAMPS)
|
.DELETE_ON_ERROR: $(TEST_STAMPS)
|
||||||
|
|
||||||
|
|
@ -58,18 +56,38 @@ TECHS := scn4m_subm freepdk45
|
||||||
#sky130
|
#sky130
|
||||||
|
|
||||||
$(TECHS):
|
$(TECHS):
|
||||||
@docker run -v $(TOP_DIR):/openram \
|
docker run \
|
||||||
-e OPENRAM_HOME=/openram/compiler \
|
-v $(TOP_DIR):/openram \
|
||||||
-e OPENRAM_TECH=/openram/technology \
|
-v $(FREEPDK45):/pdk/freepdk45 \
|
||||||
|
-v $(PDK_ROOT):/pdk \
|
||||||
--user $(UID):$(GID) \
|
--user $(UID):$(GID) \
|
||||||
-e OPENRAM_TMP=/openram/compiler/tests/tmp_$@/$* \
|
-e OPENRAM_TMP=/openram/compiler/tests/tmp_$@/$* \
|
||||||
vlsida/openram-ubuntu:latest \
|
vlsida/openram-ubuntu:latest \
|
||||||
sh -c "python3 -u /openram/compiler/tests/regress.py $(ARGS) -t $@"
|
sh -c ". ~/.bashrc && python3 -u /openram/compiler/tests/regress.py $(ARGS) -t $@"
|
||||||
.PHONY: $(TECHS)
|
.PHONY: $(TECHS)
|
||||||
|
|
||||||
regress: $(TECHS)
|
regress: $(TECHS)
|
||||||
.PHONY: regress
|
.PHONY: regress
|
||||||
|
|
||||||
|
foo:
|
||||||
|
docker run \
|
||||||
|
-v $(TOP_DIR):/openram \
|
||||||
|
-v $(FREEPDK45):/pdk/freepdk45 \
|
||||||
|
-v $(PDK_ROOT):/pdk \
|
||||||
|
--user $(UID):$(GID) \
|
||||||
|
vlsida/openram-ubuntu:latest \
|
||||||
|
sh -c ". ~/.bashrc && env"
|
||||||
|
.PHONY: foo
|
||||||
|
|
||||||
|
mount:
|
||||||
|
docker run -it \
|
||||||
|
-v $(TOP_DIR):/openram \
|
||||||
|
-v $(FREEPDK45):/pdk/freepdk45 \
|
||||||
|
-v $(PDK_ROOT):/pdk \
|
||||||
|
--user $(UID):$(GID) \
|
||||||
|
vlsida/openram-ubuntu:latest
|
||||||
|
.PHONY: mount
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -rf $(TEST_STAMPS)
|
@rm -rf $(TEST_STAMPS)
|
||||||
@rm -rf $(TEST_DIRS)
|
@rm -rf $(TEST_DIRS)
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,13 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XYCE_LIB
|
||||||
export XYCE_NO_TRACKING="anything at all"
|
export XYCE_NO_TRACKING="anything at all"
|
||||||
|
|
||||||
# PDKs
|
# PDKs
|
||||||
export FREEPDK45=/home/PDKs/FreePDK45
|
export FREEPDK45=/PDK/freepdk45
|
||||||
# Set to the PDK you want to use
|
# Set to the PDK you want to use
|
||||||
export PDK_DIR=$FREEPDK45
|
export PDK_DIR=$FREEPDK45
|
||||||
|
|
||||||
|
# Skywater PDK
|
||||||
|
export PDK_ROOT=/pdk
|
||||||
|
|
||||||
|
# OpenRAM
|
||||||
|
export OPENRAM_HOME=/openram/compiler
|
||||||
|
export OPENRAM_TECH=/openram/technology
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,17 @@ the trunk
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import debug
|
||||||
|
|
||||||
TECHNOLOGY = "freepdk45"
|
TECHNOLOGY = "freepdk45"
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# FreePDK45 paths
|
# FreePDK45 paths
|
||||||
|
|
||||||
PDK_DIR=os.path.abspath(os.environ.get("FREEPDK45"))
|
PDK_PATH=os.environ.get("FREEPDK45")
|
||||||
|
if PDK_PATH==None:
|
||||||
|
debug.error("Must define FREEPDK45 to point to PDK.", -1)
|
||||||
|
PDK_DIR=os.path.abspath(PDK_PATH)
|
||||||
os.environ["PDK_DIR"] = PDK_DIR
|
os.environ["PDK_DIR"] = PDK_DIR
|
||||||
os.environ["SYSTEM_CDS_LIB_DIR"] = "{0}/ncsu_basekit/cdssetup".format(PDK_DIR)
|
os.environ["SYSTEM_CDS_LIB_DIR"] = "{0}/ncsu_basekit/cdssetup".format(PDK_DIR)
|
||||||
os.environ["CDS_SITE"] = PDK_DIR
|
os.environ["CDS_SITE"] = PDK_DIR
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue