描述
当使用Xilinx A1.x/M1.x进行时序仿真和在导师界面中使用交叉探测时,我可以探测和仿真顶层上的所有信号。当我按我原来的设计观点向下推到设计层次时,我无法探测信号。我可以探测一些信号,但不是全部。当我尝试探测一个信号时,我在QuixSIM II窗口中收到一个类似于下面的消息:
找不到名称“/in 3”。没有进行选择。
QuixSimII转录窗口可能会出现类似于以下的错误:
//Error:$AdjMaFabdId跟踪文件747行返回错误状态
产品/IDEA.B4/PKGs/Simv.SS5/UsReave/DeFult/SimvsAdgDig.Actudio内函数AddiMeAdvdAdTracle(来自:UIMS/Ongult/Apple Evave1D)
//错误:无法将字符串’/iNe3’解析为信号或表达式(来自:分析/ SimUI /会话12)
//错误:无法连接表达式:’/iNe3’。(来自:分析/ SimUI /表达式07)
//Error:无法解析名称引用:’/iNe3’。(来自:分析/ SimUI /表达式08)
解决方案
即使使用下列准则来改进交叉探测,几乎总是会有一些信号由于逻辑优化或裁剪而不能交叉探测。请检查MAP报告(*.MRP),以验证哪个逻辑被优化和/或移除,以查看这是否是交叉探测不起作用的原因。
NGDANNO查看实现中的每个CLB,并试图在映射到其上的逻辑上分配CLB的PIN到PIN延迟。这一过程可能无法工作的原因有很多,例如逻辑优化、映射到CLB的复杂逻辑太多或逻辑修整。如果失败,NGDANNO则发现映射到CLB的所有逻辑,并根据需要将原始设计平坦化,从而将所有逻辑带到相同的层次结构级别。然后,它删去逻辑并用CLB的机器生成视图替换它。
1。在验证设计在功能仿真中工作之后,使用默认选项通过M1运行设计,确保“实现选项”TimeTab设置为“EDIF”,并且供应商设置为“指导者”。在QuixSimII中运行交叉探测,以查看时序仿真是否按预期工作。如果设计在时序仿真中似乎不起作用,那么您将不得不开始向下推到设计层次,以尝试缩小问题。这是一些信号可能无法找到时,试图交叉回溯到原来的设计。
2。如果你不能交叉探测信号并验证逻辑没有被移除或优化,那么这很可能是因为逻辑注释失败时发生的设计扁平化。有一些步骤可以帮助缓解这个问题:
a)确保你安装了最新的软件补丁。
b)检查NGD2EDF报告文件,查看是否有任何分层级别被夷平。
C)不要跨越层次边界进行优化,这意味着不要使用以下映射选项:
1)MAP—OS(速度-面积平衡的逻辑优化样式)(默认为无)
2)MAP -OE(正常高的逻辑优化努力)(默认为正常)
d)禁用map中的逻辑复制。
1)如果使用命令行,请使用MAP -L(禁用逻辑复制)。
2)使用GUI取消选择“优化和映射”选项卡中的“实现选项”来复制逻辑以允许逻辑
这可能会损害结果的质量(Qor)。
4K进位逻辑驱动触发器的具体情况提出了NGDNNO不能解决的复杂延迟模型(FG)。
携带模式,使用CIN和包两个触发器到同一CLB)。因此,如果使用这样的加法器驱动寄存器,那么
不要把这两个元件放在层次结构中。
三。重新运行时序仿真以验证设计是否有效。如果不进行设计更改,也会出现同样的结果。现在你应该能够在问题发生的地方交叉设计和调试。进行必要的设计变更。
4。通过步骤2中描述的选项,通过M1运行修改后的设计,然后再次验证时序仿真是否正确。
5。一旦设计在时序仿真中使用步骤2中的选项,则通过M1重新设计该设计,而不需要-L(允许逻辑复制),并验证时序仿真是否正在工作。
6。一旦设计工作在时序仿真,同时允许逻辑复制,将找到最佳的设计实现。γ
注意:如果在使用步骤2的选项时,结果质量不会受到影响,那么该实现可以在器件上使用。
没有回复内容