command = build_script_file
else:
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 += "vivado -mode batch -source " + build_name + ".tcl\n"
build_script_file = "build_" + build_name + ".sh"
toolchain_path=None, source=True, run=True, **kwargs):
if toolchain_path is None:
if sys.platform == "win32":
- toolchain_path = "C:\\Xilinx"
+ toolchain_path = "C:\\Xilinx\\Vivado"
elif sys.platform == "cygwin":
- toolchain_path = "/cygdrive/c/Xilinx"
+ toolchain_path = "/cygdrive/c/Xilinx/Vivado"
else:
toolchain_path = "/opt/Xilinx/Vivado"
os.makedirs(build_dir, exist_ok=True)