81i NGDBug——“错误:NGDBuff:%-%s NET '%s'有多个驱动程序。xBuffer-= %s xLID=%d xSyrNe==%s

描述

NGDBuild出现以下错误:

“错误:NGDBug:455 %%Net ''%1!''有多个驱动程序。xBuffer-= %s xLID=%d xSyrNe==%s

解决方案

这个错误表明一个元件上的一个引脚有多于一个驱动它的信号,或者它有不止一个源。以下是为什么出现这种错误的原因和解决这个问题的可能的解决方案:

-多个BiF(和OBUF)型元件串联连接。不应该连接在一起的IBF类型的组件的例子包括:IBUFx;IFDDRx;BufGP。

解决方案:在库指南中检查宏(类似于IFDDRx),并确保它们不会被您的设计中的iBF驱动。

-设计包含无负载的iBF。

解决方案:删除此IBF以消除错误。

多个IP核信号在没有三态码的情况下驱动相同的信号。

解决方案:为了帮助调试多个源,使用XST分层分隔符“/”代替默认的“*”。现在,“//”用于遍历设计层次,而不是“i”,它最小化了在信号名称中使用“*”引起的混淆。

这些错误通常是在创建网络列表时用包含I/O缓冲区的选项来综合的。XST的默认值是检查“添加IO缓冲区”。如果这个块的所有I/O信号已经有了iBFS和OBUFs,当您尝试将其包含在EDK设计中时,PrLGEGN会放置额外的I/O缓冲器。因此,出现这些错误是因为有两组缓冲器(多个驱动器)。

解决方案:为了解决这个问题,不选中选项,重新综合设计。

-在EDK系统中可能有IP核端口,它实例化没有连接到顶级端口的输入I/O缓冲器(如BIF)。EDK平台生成器把这个端口与GND原语和NETGNGD网绑定在一起。然后NGDBug为这个缓冲区推断出一个端口(PAD),它在PAD、GND和输入缓冲区之间创建非法连接。

解决方案:为了解决此错误,请检查每个内核的MPD文件的MHS,以验证所有具有实例化I/O缓冲器的端口(用BoF或Reg的IOBL状态指示)连接到MHS的顶部。或者,可以从核心移除I/O缓冲器。

级联DCM/DLL分量之间的IGBFG

解决方案:确保在第一个DCM的输出和第二个DCM的输入之间没有一个iBFG。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 10:38:24 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它