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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值