本文解决方案参考 https://www.xilinx.com/support/answers/66106.html.
笔者使用 Vivado 2020.1 和 2020.2 均出现此问题, 上面的参考链接则是 2018 年的.
问题的提出
综合失败且从错误提示中找不到原因时, 可打开工程文件夹中的 <project_name>.runs/synth_1
或<project_name>.runs/XXX_synth_1
(使用OOC综合时) 文件夹, 查看 runme.log
和.vivado.error.rst
(后者仅在综合失败时出现)
-
若有错误信息, 则上网查找相应错误信息的解决方案即可(找不到我也没办法), 此处不做讨论.
-
若没有错误信息
- 此时
.vivado.error.rst
为空文件, 而runme.log
中则出现了 “系统找不到指定的路径”. - 可能是 Vivado 调用外部系统工具时出现了错误. 本文要解决的就是该问题.
- 此时
解决方案及分析
Win
+R
打开"运行", 输入 regedit
, 打开注册表编辑器, 查看注册表项 HKEY_CURRENT_USER/Software/Microsoft/Command Processor
中的 AutoRun
项, 若其中有失效链接, 删除即可.
笔者遇到的情况是曾经安装了 Anaconda 又卸载了, 而 Anaconda 安装时把自己放在了 CMD 启动项里, 卸载的时候又不自觉. 如图所示:
于是当 Vivado 调用 CMD 时, 会尝试加载该路径的 Anaconda, 于是在 log 中出现了 “系统找不到指定的路径”, 并且 CMD 返回了一个错误状态, 这个错误状态最终导致了与 Vivado 本身无关的综合失败.
注: 本文所述仅是该问题的一个可能的原因, 不排除其他未知因素.