【常见 error】Vivado 综合出现中断、失败、“PID not specified”

目录

 

发现问题 

解决历程

总结


 

发现问题 

在对工程进行综合时,出现综合过程中出现中止或者完全不启动综合,类似下图,明明点击综合启动了几分钟,但是 elapsed 一直显示为 0,表示完全没用启动综合,在 TCL Console 栏中出现了“PID not specified”字样。

607bd91f95e243eca360291153796dd4.png

解决历程

经过查询网上的解决办法,有说是在安装 Vivado 时有杀毒软件类似 360 存在会导致这种情况,但是我电脑没有任何杀毒软件,很奇怪百思不得其解,这个工程只改动了部分代码就出现这种情况,我检查了代码也是没有问题的。

也想过重新搭一遍工程,但是工程比较大搭起来太费时间就放弃了,同样重新安装 Vivado 可能也可以解决问题,但是这是最后的无奈之举了。

之前也遇到这种问题,是因为在 block design 中有部分的连线出现错误导致,修改了就可以正常综合了,这次出现的新问题应该不是 BD 的问题,于是我重新新建了一个综合文件以及布局布线文件,对其进行综合,果然可以正常综合了,看来多半是 Vivado 自身的 bug。

总结

在遇到 Vivado 无法综合的情况时,可以参考以下的方法,方法的时间难度逐渐递增。

首先检查自身的问题

(1)检查代码是否有问题,或者搭建 Block Design 时有没有出现有些线没有连上或者连的不对。

如果上述方法检查过了仍然不行,执行第二步方法:

(2)重新新建一个 Synthesis 文件和 implementation 文件。

点击 design runs 中的+号,

3be645abbc58482ca0d8e6498c709021.png

在打开的选择卡中选择 Both 选项,表示综合和布局布线文件都新建一个

694e7f2b8c554ccbbbe27c702e4e71c4.png

继续点击 Next

cde5ccf5a6434fdcb86f684d5b070c34.png

继续点 Next

0e5d87d9eb904cd2a024f1cdc8da656b.png

选择 “launch runs on local host” 以及选择工作的线程数,继续点击 Next

11b633ca493f45fda23e65e6f0673a24.png

最后点击 Finish 即创建新的综合和布局布线文件

884670a19dcc467da6588e88446bc56a.png

在 design runs 中右击 synth 和 imple 选择 make active,表示选择新建的文件作为综合和布局布线的住文件,等会点击综合和布局布线就会针对这个文件进行生成。

86ad57aecaa9428eb395244e1b8e532d.png

然后可以直接生成比特流,我通过这个方法就可以正常生成综合和比特流文件了。

如果上述方法仍然不行,只能用终极方法了——重启、重装大法好!

(3)可以尝试重新搭建新的工程,重启电脑在试试,甚至重新安装 Vivado,注意需要在没有杀毒软件的环境下安装,这个方法我没有试过,但是这也是最后的办法了。

 

 

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
The /proc/PID/stat file contains various statistics about the process with the specified PID. The file is a single line of text, with each field separated by a space. The fields in the file are as follows: 1. pid - process ID 2. comm - name of the command that started the process 3. state - current state of the process (e.g. running, sleeping, etc.) 4. ppid - parent process ID 5. pgrp - process group ID 6. session - session ID 7. tty_nr - controlling terminal of the process 8. tpgid - ID of the foreground process group of the controlling terminal 9. flags - process flags (e.g. whether it is being traced, etc.) 10. minflt - number of minor faults (i.e. page faults that could be resolved without disk IO) 11. cminflt - number of minor faults of child processes 12. majflt - number of major faults (i.e. page faults that required disk IO) 13. cmajflt - number of major faults of child processes 14. utime - amount of time the process has spent in user mode 15. stime - amount of time the process has spent in kernel mode 16. cutime - amount of time waited-for children have been in user mode 17. cstime - amount of time waited-for children have been in kernel mode 18. priority - priority of the process 19. nice - nice value of the process 20. num_threads - number of threads in the process 21. starttime - time the process started, in jiffies (1/100th of a second) 22. vsize - virtual memory size of the process 23. rss - resident set size of the process (i.e. amount of physical memory it is using) 24. rsslim - current limit on the resident set size 25. startcode - address of the start of the code segment 26. endcode - address of the end of the code segment 27. startstack - address of the start of the stack 28. kstkesp - current value of the stack pointer 29. kstkeip - current value of the instruction pointer 30. signal - bitmap of pending signals for the process 31. blocked - bitmap of blocked signals for the process 32. sigignore - bitmap of ignored signals for the process 33. sigcatch - bitmap of caught signals for the process 34. wchan - address of the kernel function the process is currently waiting in 35. nswap - number of pages swapped to disk 36. cnswap - number of pages swapped to disk of child processes 37. exit_signal - signal to be sent to the parent process when the process exits 38. processor - CPU the process last ran on 39. rt_priority - real-time priority of the process 40. policy - scheduling policy of the process Note: Some fields may be displayed as 0 if they are not applicable to the process or if they are not available. Also, the values for utime, stime, cutime, and cstime are given in clock ticks, which can be converted to seconds by dividing by the value of the system variable HZ (which is typically 100 on most systems).

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linest-5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值