OpenRAM/compiler/verify.py

44 lines
1.1 KiB
Python

"""
This is a module that will import the correct DRC/LVS/PEX
module based on what tools are found. It is a layer of indirection
to enable multiple verification tool support.
Each DRC/LVS/PEX tool should implement the functions run_drc, run_lvs, and
run_pex, repsectively. If there is an error, they should abort and report the errors.
If not, OpenRAM will continue as if nothing happened!
"""
import debug
import tech
from globals import OPTS
if OPTS.drc_exe == None:
pass
elif "calibre" in OPTS.drc_exe:
from calibre import run_drc
elif "magic" in OPTS.drc_exe:
from magic import run_drc
else:
debug.warning("Did not find a supported DRC tool.")
if OPTS.lvs_exe == None:
pass
elif "calibre" in OPTS.lvs_exe:
from calibre import run_lvs
elif "netgen" in OPTS.lvs_exe:
from magic import run_lvs
else:
debug.warning("Did not find a supported LVS tool.")
if OPTS.pex_exe == None:
pass
elif "calibre" in OPTS.pex_exe:
from calibre import run_pex
elif "magic" in OPTS.pex_exe:
from magic import run_pex
else:
debug.warning("Did not find a supported PEX tool.")