mirror of https://github.com/VLSIDA/OpenRAM.git
Remove tools from tech file and have search order preference like spice.
This commit is contained in:
parent
3e0f39cd8e
commit
257cd62d25
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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):
|
||||||
|
|
|
||||||
|
|
@ -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.")
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
###################################################
|
###################################################
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue