Win11系统Vivado18.3执行Run Synthesis时卡死

根据runme.log日志发现:

  综合本身已经顺利跑完,真正卡住的是综合之后的一步。

 

日志里的关键信息

  • 综合约 2 分钟就完成了,最后报告 Synthesis finished with 0 errors, 0 critical warnings。
  • 日志最后一行是 INFO: [Project 1-571] Translating synthesized netlist,后面没有任何输出。

所以不是综合慢,而是 Vivado 在把各个网表合并进来时卡死了。

 

最可能的原因:工程里有 NGC 格式的网表

BlackBox 报告里除了 Vivado IP(CLK_GEN、FIFO、SDPRAM 这些 .xci),还有几个看起来不像 IP 的黑盒:dru、VIDEO_ENC、I2C_MASTER。其中 dru 是 Xilinx SDI 参考设计(XAPP)里的数据恢复单元,这个模块通常以 dru.ngc 的形式提供,工程里的 dru.v 只是个空壳。

Vivado 遇到 NGC 文件时,会在这一步调用旧的 ISE 工具 ngc2edif.exe 把它转成 EDIF。这个工具在新版 Windows 上会无限挂起。Xillybus 遇到过一模一样的现象:部分用户在某些 Windows 版本上综合时一直卡在 Translating synthesized netlist,原因是 Vivado 无法在这些平台上把 NGC 转成 EDIF,看起来是 ngc2edif.exe 依赖的运行库缺失。这也能解释为什么同一个工程以前在 Win7/Win10 上能编,换到 Win11 就卡。


先确认一下

  • 卡住时打开任务管理器,看有没有 ngc2edif.exe 进程。
  • 在 Vivado Tcl Console 里执行 get_files *.ngc,看工程里有哪些 NGC 文件。

经过确认,确实是 ngc2edif.exe 进程卡住了。

 

解决办法1
参考:

https://adaptivesupport.amd.com/s/article/000034620?language=en_US
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA0VU0000008pq90AA&l=en-US

Patch文件:xilinx-ise-win10-hang-hotfix.zip,可从上述第二个链接下载。

或者通过百度网盘下载:
链接: https://pan.baidu.com/s/1ZYQFZsmwheWUoh8m8I6d_w?pwd=ntfn 提取码: ntfn

 

Patch安装,x64系统(以vivado18.3安装在D:\Xilinx\Vivado\目录为例):

    把 xilinx-ise-win10-hang-hotfix\nt64\libPortability.dll 拷贝到 D:\Xilinx\Vivado\2018.3\ids_lite\ISE\lib\nt64\ 目录下。

 

解决办法2

  1. 把 NGC 换成 EDIF,一劳永逸: 在一台能正常工作的机器上(Win10、Linux 版 Vivado,或者装了 ISE 14.7 的环境)运行:
 ngc2edif dru.ngc dru.edf

然后在工程里移除 dru.ngc,加入 dru.edf。文件名要和模块名一致,dru.v 这个空壳保留不动。其他 NGC 文件也同样处理。转好的 .edf 建议直接提交到代码库,以后任何机器都不用再转换。如果你们以前有 Win10 机器编过这个工程,也可以去那台机器的 synth_1/.Xil 或工程目录下找找有没有已经转好的 .edf。

 

posted @ 2026-11-10 14:29  闹闹爸爸  阅读(3)  评论(0)    收藏  举报