FPGA学习之路——遇到的问题及解决办法(持续更新)

1、

问题:使用vivado 2018.3对开发的例程进行仿真时出现问题:ERROR [Common 17-69] Command failed. Simulation for PR Flow is not supported 如下图所示:
在这里插入图片描述
在这里插入图片描述分析及解决:这个问题主要是PR(Partial Reconfiguration,局部重配置)流不支持仿真,其中,PR的相关知识请参考该篇文章:谈谈赛灵思的局部重配置技术。Vivado设置当前工程为PR模式的一个标志是在Flow Navigation->PROJECT MANAGER里会显示Partial Reconfiguration Wizard,如下图。如果设置了PR模式,则无法退回普通模式,所以如果想对当前工程进行仿真,请重新新建工程。在这里插入图片描述

2、

问题:对编写好的例程进行综合与实现后,出现问题:ERROR: spawn error: no error.
分析及解决:出现这个问题时,只要把该工程关闭,并重新打开,然后再次进行综合与实现即可解决。具体原因暂不明确。

3、

问题:对程序进行实现(implement)时,出现问题:[Place 30-574] Poor placement for routing between an IO pin and BUFG. 具体如下:

[Place 30-574] Poor placement for routing between an IO pin and BUFG. 
		If this sub optimal condition is acceptable for this design, 
		you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file 
		to demote this message to a WARNING. 
		However, the use of this override is highly discouraged. 
		These examples can be used directly in the .xdc file to override this clock rule.
			< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets reset_IBUF] >
 
		reset_IBUF_inst (IBUF.O) is locked to IOB_X0Y82
		 and reset_IBUF_BUFG_inst (BUFG.I) is provisionally placed by clockplacer on      	BUFGCTRL_X0Y1

分析及解决:出现这个问题是因为程序配置的时钟输入IO口不是晶振引出的IO口,违反了时钟配置规则,导致出现上面的错误,此时可在生成的.xdc文件中加入下面语句即可(其中,inClk32M_IBUF是违反时钟配置规则的时钟输入端口):

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets inClk32M_IBUF]

(该语句的作用是对该时钟IO口禁用时钟配置规则)

4、

问题:设置的管脚或变量出现多驱动问题,即多个管脚或多个变量存在多个赋值或多个驱动导致管脚或变量类型不明确,输入输出方向不明确,具体如下图:
在这里插入图片描述分析及解决:根据错误提示可知,是In9218data[13:0]存在多驱动问题,方法是:找到该管脚的所有位置,判断是否存在管脚用混,管教名用错地方等情况。经过查找发现,在一个调用模块中,我把模块的数据输入和数据输出都用成了In9218data,导致“实现”时出现多驱动问题,经过修改,完成了“实现”和“生成比特率”。

### 回答1: [common 17-180] spawn failed: 这个错误提示通常出现在使用spawn命令时,表示无法创建一个新的进程。可能是由于权限不足、系统资源不足或者命令不存在等原因导致的。需要检查相关的权限和资源,并确认命令是否正确存在。 ### 回答2: “[common 17-180] spawn failed:”是计算机程序中的错误信息,指的是某个进程无法被创建或者启动。一般地,这种错误通常与以下几种情况有关。 首先,该进程需要占用大量资源,但是系统已经超出了资源的限制,导致无法成功启动。这可能是因为系统被其他进程占满,或者系统资源分配不当导致的。 其次,该进程的安装或配置文件损坏或缺失,在启动时无法找到所需的资源而导致发生错误。在这种情况下,重新安装或修复文件可以解决该问题。 最后,该进程可能被防火墙或安全软件所阻止,因此无法启动。在这种情况下,需要检查安全软件的设置,以允许该进程的运行。 总之,“[common 17-180] spawn failed:”是程序员常见的错误信息之一,通常需要仔细检查程序运行环境、资源限制、安装或配置文件以及安全软件设置等多个方面,才能找到问题的根源并解决。 ### 回答3: “[common 17-180] spawn failed:” 这个错误信息出现在程序员使用编程语言进行开发时,通常是由于错误的代码实现或程序逻辑问题导致的。主要分以下几种情况: 1. 编译器无法创建进程或线程。这可能是由于操作系统限制或硬件故障导致的,需要重新启动电脑或排查系统错误。 2. 程序员代码中出现了错误,导致无法创建子进程或子线程。这可能是由于代码逻辑错误或缺乏足够内存资源导致的。程序员需要检查程序代码中的逻辑错误、内存泄漏等问题,或者增加计算机内存以缓解此问题。 3. 已有太多的子进程或子线程在运行。如果程序员创建了太多的子进程或子线程,操作系统就无法再创建新的进程或线程。程序员需要增加操作系统的最大进程或线程数量限制,或优化代码以减少进程或线程数量。 解决此问题之前,程序员需要仔细检查代码的实现和逻辑,确保程序符合设计要求。一旦发现问题,程序员需要及时纠正错误,修改代码,并再次测试,直到问题得到解决。在解决问题的过程中,程序员需要主动学习如何优化代码和完善程序,以提高程序的性能和效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值