本文转载自:Linest-5的CSDN博客
注:本文由作者授权转发,如需转载请联系作者本人
发现问题
在对工程进行综合时,出现综合过程中出现中止或者完全不启动综合,类似下图,明明点击综合启动了几分钟,但是 elapsed 一直显示为 0,表示完全没用启动综合,在 TCL Console 栏中出现了“PID not specified”字样。
解决历程
经过查询网上的解决办法,有说是在安装 Vivado 时有杀毒软件类似 360 存在会导致这种情况,但是我电脑没有任何杀毒软件,很奇怪百思不得其解,这个工程只改动了部分代码就出现这种情况,我检查了代码也是没有问题的。
也想过重新搭一遍工程,但是工程比较大搭起来太费时间就放弃了,同样重新安装 Vivado 可能也可以解决问题,但是这是最后的无奈之举了。
之前也遇到这种问题,是因为在 block design 中有部分的连线出现错误导致,修改了就可以正常综合了,这次出现的新问题应该不是 BD 的问题,于是我重新新建了一个综合文件以及布局布线文件,对其进行综合,果然可以正常综合了,看来多半是 Vivado 自身的 bug。
总结
在遇到 Vivado 无法综合的情况时,可以参考以下的方法,方法的时间难度逐渐递增。
首先检查自身的问题
(1)检查代码是否有问题,或者搭建 Block Design 时有没有出现有些线没有连上或者连的不对。
如果上述方法检查过了仍然不行,执行第二步方法:
(2)重新新建一个 Synthesis 文件和 implementation 文件。
点击 design runs 中的+号,
在打开的选择卡中选择 Both 选项,表示综合和布局布线文件都新建一个
继续点击 Next
继续点 Next
选择 “launch runs on local host” 以及选择工作的线程数,继续点击 Next
最后点击 Finish 即创建新的综合和布局布线文件
在 design runs 中右击 synth 和 imple 选择 make active,表示选择新建的文件作为综合和布局布线的住文件,等会点击综合和布局布线就会针对这个文件进行生成。
然后可以直接生成比特流,我通过这个方法就可以正常生成综合和比特流文件了。
如果上述方法仍然不行,只能用终极方法了——重启、重装大法好!
(3)可以尝试重新搭建新的工程,重启电脑在试试,甚至重新安装 Vivado,注意需要在没有杀毒软件的环境下安装,这个方法我没有试过,但是这也是最后的办法了。