SyopSOS形式,ViTEX II,ViTEX II PRO,LVPECL,OBUFDS -后PAR验证失败的设计与注册LVPECL输出

描述

当我验证一个包含注册LVPECL输出的设计时,当检查RTL代码与POR或POST MAP NETLIST的等价性时,匹配和验证失败。以下三个场景会导致这些失败:

1。在ViTEX II硬件中,应该驱动LVPECL输出的OBUFDs没有足够的驱动强度来驱动N侧LVPECL输出。为了解决这个问题,每个输出必须分开驱动。如果注册了LVPECL输出,MAP复制寄存器。这样做是因为您可能希望寄存器在IOB中,并且复制寄存器是唯一的方法来驱动IOB寄存器的两个输出。这个复制的寄存器然后导致匹配失败的形式。

2。IOB寄存器与输出焊盘之间没有反转。MAP将从寄存器的输出端输出到N侧的LVPECL输出反转到复制寄存器的输入端。这导致验证失败的N侧LVPECL输出。

三。最后一个场景涉及重置和初始值。由于反转在寄存器之前被推动,复制寄存器的init值必须与原始寄存器相反,并且在复制寄存器上的重置必须产生原始寄存器的相反输出。MAP正确地处理这个问题,但是如果寄存器既有清晰又有预置,则清除总是获胜。因此,尽管在单独声明时,清零和预置对复制寄存器具有相反的影响,但如果同时声明和预置,则两个LVPECL输出的输出为0。这也会导致验证错误。

解决方案

解决方案1

您的设计包含注册的LVPECL输出,但寄存器不需要打包到IOB中。

在这种情况下,MAP错误地复制寄存器,因为大多数用户会将该寄存器打包到IOB中。这个问题应该在Xilinx.61i软件中进行修正。在这是固定的之前,请参见解决方案2和3。

如果约束IOB= FALSE应用于所述寄存器,这将仅在ISE 61i和以上版本中工作。

解决方案2

您的设计使用注册的LVPECL输出,并且寄存器被打包到IOB中,并且具有清晰和预置。

在这种情况下,上述三种情况都会影响到设计的验证。当两个LVPECL输出都是0时,如果同时清除和预置,则可以将逻辑添加到您的设计中,以确保它们在同一时间不被断言。由于清澈具有更高的优先级,预置用明晰信号的反相来控制,如下面的例子所示:

总是@(CLR或PRE)

开始

NOTH-CLRANDPREY= ~CLR&AMPY;

结束

FDCPE-FDCPEDEST

q(qii),

C(CKKY-BUFG),

Ce(CE),

CLR(CLR),

D(QQI),

预(NothCL)

在应用此设计更改后,复制寄存器的逻辑等效于RTL设计,但形式仍然失败,因为逻辑被移动。您可以使用下列断言来指定逻辑如何由MAP移动(这些是在解决方案3中描述的相同断言):

1。在RTL中的LVPECL寄存器和在POR POR或POST MAP NETLIST中的两个LVPECL寄存器之间设置用户匹配,如以下示例:

StIGUSER匹配://Works/Top/FDCPEGID/QYRGI:

StIGUSER匹配://Works/Top/FDCPEGID/QYRGI: //Work/Top/FDCPEGED/N型单元

2。指定输出的反转被推入复制寄存器的输入端的形式,如以下示例:

QB是输出

{FDCPEGED/N是复制寄存器

必须对两个应用

StuxInvPuxPi:/Works/Top/QB

StuxIngPuxPix//Work/Top/FDCPEGED/N

注意:只有在正式使用2003.03或更高版本后,验证才是成功的。

解决方案3

您的设计使用注册的LVPECL输出,寄存器装入IOB,没有或一个复位。

因为没有一个或一个重置,只有上面描述的场景影响了您的设计验证。您可以使用以下断言在形式上指定映射如何移动逻辑:

1。在RTL中的LVPECL寄存器和在POR POR或POST MAP NETLIST中的两个LVPECL寄存器之间设置用户匹配,如以下示例:

StIGUSER匹配://Works/Top/FDCPEGID/QYRGI:

StIGUSER匹配://Works/Top/FDCPEGID/QYRGI: //Work/Top/FDCPEGED/N型单元

2。在形式上指定输出的反转被推到复制寄存器的输入端,如下面的例子:

QB是输出

{FDCPEGED/N是复制寄存器

必须对两个应用

StuxInvPuxPi:/Works/Top/QB

StuxIngPuxPix//Work/Top/FDCPEGED/N

注:验证仅在形式2003.03或更晚时成功。

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

提问于 2018-07-30 16:11:34 +0800

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

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