Remove tools from tech file and have search order preference like spice.

This commit is contained in:
Matt Guthaus 2017-11-14 15:27:03 -08:00
parent 3e0f39cd8e
commit 257cd62d25
5 changed files with 27 additions and 67 deletions

View File

@ -115,11 +115,13 @@ def init_openram(config_file):
set_spice() set_spice()
set_drc() global OPTS
OPTS.drc_exe = get_tool("DRC",["calibre","magic"])
set_lvs() OPTS.lvs_exe = get_tool("LVS",["calibre","netgen"])
OPTS.pex_exe = get_tool("PEX",["calibre","magic"])
set_pex() #set_drc()
#set_lvs()
#set_pex()
def read_config(config_file): def read_config(config_file):
@ -168,59 +170,25 @@ def find_exe(check_exe):
return exe return exe
return None return None
def get_tool(tool_type, preferences):
def set_drc(): """
debug.info(2,"Finding DRC tool...") Find which tool we have from a list of preferences and return the full path.
"""
debug.info(2,"Finding {} tool...".format(tool_type))
global OPTS global OPTS
if not OPTS.check_lvsdrc: if not OPTS.check_lvsdrc:
debug.info(1,"LVS/DRC/PEX disabled.") debug.info(1,"LVS/DRC/PEX disabled.")
return return
else: else:
import tech for name in preferences:
if tech.drc_version != "": exe_name = find_exe(name)
OPTS.drc_exe=find_exe(tech.drc_version) if exe_name!=None:
if OPTS.drc_exe==None: debug.info(1, "Using {0}: {1}".format(tool_type,exe_name))
debug.warning("{0} not found. Unable to perform DRC.".format(tech.drc_version)) return(exe_name)
OPTS.check_lvsdrc = False
else: else:
debug.info(1, "Using DRC: " + OPTS.drc_exe) debug.info(1, "Could not find {0}, trying next {1} tool.".format(name,tool_type))
def set_lvs():
debug.info(2,"Finding LVS tool...")
global OPTS
if not OPTS.check_lvsdrc:
debug.info(1,"LVS/DRC/PEX disabled.")
return
else:
import tech
if tech.lvs_version != "":
OPTS.lvs_exe=find_exe(tech.lvs_version)
if OPTS.lvs_exe==None:
debug.warning("{0} not found. Unable to perform LVS.".format(tech.lvs_version))
OPTS.check_lvsdrc = False
else:
debug.info(1, "Using LVS: " + OPTS.lvs_exe)
def set_pex():
debug.info(2,"Finding PEX tool...")
global OPTS
if not OPTS.check_lvsdrc:
debug.info(1,"LVS/DRC/PEX disabled.")
return
else:
import tech
if tech.pex_version != "":
OPTS.pex_exe=find_exe(tech.pex_version)
if OPTS.pex_exe==None:
debug.warning("{0} not found. Unable to perform PEX.".format(tech.pex_version))
OPTS.check_lvsdrc = False
else:
debug.info(1, "Using PEX: " + OPTS.pex_exe)
def end_openram(): def end_openram():
""" Clean up openram for a proper exit """ """ Clean up openram for a proper exit """
cleanup_paths() cleanup_paths()

View File

@ -16,8 +16,6 @@ import re
import importlib import importlib
import globals import globals
global OPTS
(OPTS, args) = globals.parse_args() (OPTS, args) = globals.parse_args()
def print_time(name, now_time, last_time=None): def print_time(name, now_time, last_time=None):

View File

@ -10,25 +10,27 @@ If not, OpenRAM will continue as if nothing happened!
import debug import debug
import tech import tech
from globals import OPTS
if tech.drc_version=="calibre":
if "calibre" in OPTS.drc_exe:
from calibre import run_drc from calibre import run_drc
elif tech.drc_version=="magic": elif "magic" in OPTS.drc_exe:
from magic import run_drc from magic import run_drc
else: else:
debug.warning("Did not find a supported DRC tool.") debug.warning("Did not find a supported DRC tool.")
if tech.lvs_version=="calibre": if "calibre" in OPTS.lvs_exe:
from calibre import run_lvs from calibre import run_lvs
elif tech.lvs_version=="netgen": elif "netgen" in OPTS.lvs_exe:
from magic import run_lvs from magic import run_lvs
else: else:
debug.warning("Did not find a supported LVS tool.") debug.warning("Did not find a supported LVS tool.")
if tech.pex_version=="calibre": if "calibre" in OPTS.pex_exe:
from calibre import run_pex from calibre import run_pex
elif tech.pex_version=="magic": elif "magic" in OPTS.pex_exe:
from magic import run_pex from magic import run_pex
else: else:
debug.warning("Did not find a supported PEX tool.") debug.warning("Did not find a supported PEX tool.")

View File

@ -17,10 +17,6 @@ GDS["unit"] = (0.0005,1e-9)
# default label zoom # default label zoom
GDS["zoom"] = 0.05 GDS["zoom"] = 0.05
drc_version = "calibre"
lvs_version = "calibre"
pex_version = "calibre"
################################################### ###################################################
##GDS Layer Map ##GDS Layer Map
################################################### ###################################################

View File

@ -17,10 +17,6 @@ GDS["unit"]=(0.001,1e-6)
# default label zoom # default label zoom
GDS["zoom"] = 0.5 GDS["zoom"] = 0.5
drc_version = "magic"
lvs_version = "netgen"
pex_version = "magic"
################################################### ###################################################
##GDS Layer Map ##GDS Layer Map