63I模块化设计——如何实现包含三态缓冲器的模块(BUFT/BUEF/TBUF)?-Xilinx-AMD社区-FPGA CPLD-ChipDebug

63I模块化设计——如何实现包含三态缓冲器的模块(BUFT/BUEF/TBUF)?

描述

一般描述:

我的设计包括驱动模块端口的三态缓冲器(TBUFS),并且在初始/主动实现流程中,报告了类似于以下的错误:

“错误:NGDBug:705——Net’& lt;NETNAME.GT’要求上下文逻辑连接到它,这是因为在连接到另一个模块的模块之一上使用了双向端口。”

“错误:NGDBug:456 -逻辑网”和“NETNAME.GT”既有活动状态,也有三态驱动程序。

解决方案

为了避免上述错误,遵循以下基本准则:

1。如果可能的话,将所有三态缓冲区置于顶层设计中。

2。如果一个三态缓冲器是模块内部的,并被驱动到顶层或其他模块,则与该三态缓冲器(TBUF)相关联的模块端口必须声明为“IOUT”。(这是模块化设计流程正确地将信号解释为三态信号的必要条件)。

三。在顶层,至少有一个TBUF必须驱动与模块的TBUF相同的三态信号。

4。在“初始预算”实施过程中,每个信号必须至少有一个TBUFs到TBUF站点,并且UCF必须在后续的活动和最终的组装实现中使用。(由于三态信号驱动长线,只有驱动相同的三态信号的TBUF可以在同一行中。这对于避免三态信号之间的竞争是必要的。

注意:如果所有顶级TBUFS不是LOC,NGDBug在活动或最终组装期间发出以下警告:

“警告:NGDBug:706 -三原语”& lt;PrimivieNo.Gt;“在初始预算后,应该使用FLOORPLANNER附加LOC约束。”

5。如果您必须修改您的设计以采用此更改,则必须重新运行所有模块化设计流程,包括综合、初始预算、活动和最终组装实现。

下图说明了可能的情况:

TBUF Case 1 to 4
TBUF案例1至4

TBUF Case 5 to 7
TBUF案例5至7

TBUF Case 8a to 8b
TBUF案例8A至8B

TBUF Case 8c
TBUF案例8C
请登录后发表评论

    没有回复内容