xilinx/vivado: Provide a fallback mechanism for using the same root for Vivado and ISE toolchains.
This commit is contained in:
parent
0332f73a7b
commit
2b00b7eba4
|
@ -63,7 +63,20 @@ def _run_vivado(build_name, vivado_path, source, ver=None):
|
||||||
command = build_script_file
|
command = build_script_file
|
||||||
else:
|
else:
|
||||||
build_script_contents = "# Autogenerated by LiteX\nset -e\n"
|
build_script_contents = "# Autogenerated by LiteX\nset -e\n"
|
||||||
settings = common.settings(vivado_path, ver)
|
|
||||||
|
# For backwards compatibility with ISE paths, also
|
||||||
|
# look for a version in a subdirectory named "Vivado"
|
||||||
|
# under the current directory.
|
||||||
|
paths_to_try = [vivado_path, os.path.join(vivado_path, "Vivado")]
|
||||||
|
for p in paths_to_try:
|
||||||
|
try:
|
||||||
|
settings = common.settings(p, ver)
|
||||||
|
except OSError:
|
||||||
|
continue
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
raise OSError("Unable to locate Vivado directory or settings.")
|
||||||
|
|
||||||
build_script_contents += "source " + settings + "\n"
|
build_script_contents += "source " + settings + "\n"
|
||||||
build_script_contents += "vivado -mode batch -source " + build_name + ".tcl\n"
|
build_script_contents += "vivado -mode batch -source " + build_name + ".tcl\n"
|
||||||
build_script_file = "build_" + build_name + ".sh"
|
build_script_file = "build_" + build_name + ".sh"
|
||||||
|
@ -182,9 +195,9 @@ class XilinxVivadoToolchain:
|
||||||
toolchain_path=None, source=True, run=True, **kwargs):
|
toolchain_path=None, source=True, run=True, **kwargs):
|
||||||
if toolchain_path is None:
|
if toolchain_path is None:
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
toolchain_path = "C:\\Xilinx"
|
toolchain_path = "C:\\Xilinx\\Vivado"
|
||||||
elif sys.platform == "cygwin":
|
elif sys.platform == "cygwin":
|
||||||
toolchain_path = "/cygdrive/c/Xilinx"
|
toolchain_path = "/cygdrive/c/Xilinx/Vivado"
|
||||||
else:
|
else:
|
||||||
toolchain_path = "/opt/Xilinx/Vivado"
|
toolchain_path = "/opt/Xilinx/Vivado"
|
||||||
os.makedirs(build_dir, exist_ok=True)
|
os.makedirs(build_dir, exist_ok=True)
|
||||||
|
|
Loading…
Reference in New Issue