mirror of
https://github.com/VLSIDA/OpenRAM.git
synced 2026-08-29 09:30:38 +02:00
Use conda to install the tools needed
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user