Use conda to install the tools needed

This commit is contained in:
Eren Dogan
2023-01-20 15:34:45 -08:00
parent 5816c669f3
commit ca03da8d95
7 changed files with 84 additions and 1 deletions
+15
View File
@@ -196,6 +196,8 @@ def init_openram(config_file, is_unit_test=False):
read_config(config_file, is_unit_test)
install_conda()
import_tech()
set_default_corner()
@@ -230,6 +232,19 @@ def init_openram(config_file, is_unit_test=False):
CHECKPOINT_OPTS = copy.copy(OPTS)
def install_conda():
""" Setup conda for default tools. """
# Don't setup conda if not used
if not OPTS.use_conda or OPTS.is_unit_test:
return
debug.info(1, "Creating conda setup...");
from openram import CONDA_HOME
subprocess.call("./install_conda.sh", cwd=os.path.abspath(CONDA_HOME + "/.."))
def setup_bitcell():
"""
Determine the correct custom or parameterized bitcell for the design.
+3
View File
@@ -121,6 +121,9 @@ class options(optparse.Values):
###################
# Tool options
###################
# Use conda to install the default tools
# (existing tools will be used if disabled)
use_conda = True
# Variable to select the variant of spice
spice_name = None
# The spice executable being used which is derived from the user PATH.
+15
View File
@@ -29,6 +29,21 @@ def run_script(cell_name, script="lvs"):
scriptpath = '{0}run_{1}.sh'.format(OPTS.openram_temp, script)
# Wrap with conda activate & conda deactivate
if OPTS.use_conda:
from openram import CONDA_HOME
with open(scriptpath, "r") as f:
script_content = f.readlines()
with open(scriptpath, "w") as f:
# First line is shebang
f.write(script_content[0] + "\n")
# Activate conda using the activate script
f.write("source {}/bin/activate\n".format(CONDA_HOME))
for line in script_content[1:]:
f.write(line + "\n")
# Deactivate conda at the end
f.write("conda deactivate\n")
debug.info(2, "Starting {}".format(scriptpath))
start = time.time()
with open(outfile, 'wb') as fo, open(errfile, 'wb') as fe: