使用 SLR 交汇寄存器 - 2023.2 简体中文

适用于 FPGA 和 SoC 的 UltraFast 设计方法指南 (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文

处理 UltraScale+ SSI 技术器件时,可将寄存器间 SLR 交汇映射到直接驱动 Laguna RX_REG 的 Laguna TX_REG。这种类型的连接仅在 UltraScale+ 器件系列中才能实现,在此类器件中,Vivado 布线器可以通过设置局部可编程时钟延迟来修复保持时间违例。将 TX_REG 到 RX_REG SLR 交汇拓扑结构用于流水线寄存器交汇可带来如下性能优势:

  • SLR 交汇的布局垂直分布,可减少 SLR 边界附近的布线拥塞。
  • 将寄存器布局在 Laguna 站点 (site) 内可以提高延迟估算准确性,从而提高时序约束 QoR。
  • SLR 交汇性能会更快且一致性更高。
注释: 处理 UltraScale SSI 技术器件时,只能在 SLR 交汇信号线上使用 Laguna TX_REG 或 RX_REG,并且两者不得同时使用。性能优势与上面列出的类似。

您可在预计将布局在 Laguna 寄存器站点 (site) 上的 SLR 交汇边界处的寄存器上设置 USER_SLL_REG 属性。如果寄存器 D 和 Q 管脚连接到的信号线并未跨 SLR 边界,或并非用于驱动布局在多个 SLR 中的负载,那么 place_design 会忽略 USER_SLL_REG 约束。例如:

set_property USER_SLL_REG TRUE [get_cells {reg_A reg_B}]

将寄存的交汇映射到 Laguna 的有效方法之一是对寄存器同时应用 BEL 和 LOC 约束,以将其锁定到位。LOC 值可分配 Laguna 站点 (site),BEL 值可选择该站点内的特定 Laguna 寄存器,从 6 个 TX_REG 寄存器中选择其中之一,并从 6 个 RX_REG 寄存器中选择其中之一。Laguna 交汇寄存器之间距离固定不变,即每个 TX_REG 寄存器都与 1 个 RX_REG 寄存器配对以实现直接连接。

在以下示例中,在每个 TX_REG 到 RX_REG 的连接上都手动放置 1 个寄存器间连接。流水线寄存器 reg_A 通过寄存器 reg_B 的单一负载来驱动单个扇出。对于 VU9P 目标器件,使用 TX_REG 到 RX_REG 的直接连接来应用以下 XDC 约束,以使 SLR2 中的 reg_A 驱动 SLR1 中 reg_B:

set_property BEL TX_REG3 [get_cells reg_A]
set_property BEL RX_REG3 [get_cells reg_B]
set_property LOC LAGUNA_X2Y480 [get_cells reg_A]
set_property LOC LAGUNA_X2Y360 [get_cells reg_B]

先应用 BEL 分配,寄存器位置 (0、1、…5) 必须在 TX_REG 和 RX_REG 间匹配,在本例中为 3。最后,配对的 Laguna 站点 (site) 之间的距离是 120 行。寄存器 reg_A 可从 SLR2 Laguna 列的最下一行驱动到 SLR1 Laguna 列的最下一行。在创建 LAGUNA BEL 和 LOC 约束时,请尝试使用相同的时钟、时钟使能及复位信号对寄存器进行分组,以避免出现控制集兼容性问题。