描述
一般描述:
我的设计包括驱动模块端口的三态缓冲器(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案例1至4
TBUF案例5至7
TBUF案例8A至8B
TBUF案例8C
没有回复内容