UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 53561

有关 Artix-7 FPGA GTP 收发器的设计咨询:量产芯片 RX 复位顺序要求

描述

此答复记录包含针对 Artix -7 GTP 收发器量产芯片的 RX 复位顺序要求。

解决方案

在 Artix-7 GTP 量产收发器中发布 GTRXRESET、RXPMARESET 或 RXRATE 所需的顺序已在下面的文档中列出。此外,这些复位顺序也可以用在通用 ES 芯片上,但不是必要要求。

这些顺序已经由“ISE 14.4.1 Device Pack 或 ISE 14.5/Vivado 2013.1 ”工具版本中 7 系列 FPGA 收发器向导 v2.5 生成的封装程序实现。新增置顺序至 v1.4 7 系列 FPGA GTP 收发器用户指南(UG482)。 注意:需要特别关注仿真。 请查看以下部分的“其它仿真要求”。

 在这些顺序中,“user_*”代表用户输入。这个信号之前直接与 GT 原语连接。现在它将触发一个可选的复位顺序,如下所示。
“gt_*”代表到 GT 原语的连接。下面的图表指出了新复位顺序的安放位置。
“DRP wr”的功能是在地址 9'h011 执行 DRP 写入。确切的 DRP 事务处理并未显示。


1) GTRXRESET:

当用户想要执行 GTRXRESET 时,必须遵循下面的复位顺序。


 

步骤:

  1. 用户可通过断言 user_GTRXRESET 来触发一个复位请求。
  2. 设置并保持 gt_GTRXRESET 处于高电平。这会导致 gt_RXPMARESETDONE 变为低电平。
  3. 将 DRP 写使能发布到 GTPE2_CHANNEL 原语、DRP 地址 9h011,并且将位[11]设置为 1b0。
  4. 为了确保只有 DRP 地址 9h011 的位[11]被修改,最好执行一个 read-modify-write 函数。
  5. DRP 写使能完成后并且检测到 user_GTRXRESET 为低电平,那么应设置并保持 gt_GTRXRESET 为低电平。如果 DRP 写使能完成后 user_GTRXRESET 仍处于断言状态,那么应继续断言 gt_GTRXRESET 直到 user_GTRXRESET 为低电平。
  6. 等待 gt_RXPMARESETDONE 的下降沿。
  7. 将 DRP 写使能发布到 GTPE2_CHANNEL 原语、DRP 地址 9h011,重建位[11]的原始设置。DRP 写使能设定必须在 gt_RXPMARESETDONE 从低电平切换到高电平之前完成。gt_RXPMARESETDONE 会在最少 0.66 us 的时间内保持低电平。

注:

  1. 确保 gt_GTRXRESET 是寄存器的输出。
  2. 确保 RXPMARESET_TIME 设置为 5'h3。这应该是默认设定。
  3. 只有当 SIM_GTRESET_SPEEDUP 被设置为 FALSE 时,以上顺序才能得到正确仿真执行。如果 SIM_GTRESET_SPEEDUP 被设置为 TRUE,则必须忽视以上顺序。

2) RXPMARESET:

当用户想要执行 RXPMARESET 时,必须遵循以下复位顺序。


 

步骤:

  1. 用户通过断言 user_RXPMARESET 来触发 RXPMARESET 请求。
  2. 将 DRP 写使能发布到 GTPE2_CHANNEL 原语、DRPADDR 9h011,并且将位[11]设置为 1b0。
  3. 为了确保只有 DRPADDR 9h011 的位[11]被修改,最好执行一个 read-modify-write 函数。
  4. DRP 写使能完成后,设置并保持 gt_RXPMARESET 为高电平。
  5. 等待 RXPMARESETDONE 变为低电平。.
  6. 将 DRP 写使能发布到 GTPE2_CHANNEL 原语、DRPADDR 9h011,重建位[11]的原始设置。
  7. 当 DRP 写使能完成并且检测到 user_RXPMARESET 为低电平,需设置并保持 gt_RXPMARESET 为低电平。如果 DRP 写使能完成后 user_RXPMARESET 仍保持断言状态,那么应继续断言 gt_RXPMARESET 直到 user_RXPMARESET 为低电平。

注: 确保 gt_RXPMARESET 是寄存器的输出。

3) RXRATE:

当用户希望通过 RXRATE 触发 RX 速率变化时,必须遵守下面的顺序。




步骤:

  1. 用户通过改变 user_RXRATE 来触发 RX 速率变化请求。
  2. 将 DRP 写使能发布到 GTPE2_CHANNEL 原语、DRPADDR 9h011,并且将位[11]设置为 1b0.
  3. 为了确保只有 DRPADDR 9h011 的位[11]被修改,最好执行一个 read-modify-write 函数。
  4. DRP 写使能完成后,将 gt_RXRATE 设置为 user_RXRATE 的值。
  5. 等待 RXPMARESETDONE 变为低电平。
  6. 将 DRP 写使能发布到 GTPE2_CHANNEL 原语、DRPADDR 9h011,重建位[11]的原始设置。DRP 写使能设定必须在 RXPMARESETDONE 从低电平切换到高电平之前完成。RXPMARESETDONE 会在最少 0.66 us 的时间内保持低电平。


  注:
只有当 SIM_GTRESET_SPEEDUP 被设置为 FALSE 时,以上顺序才能得到正确仿真执行。如果 SIM_GTRESET_SPEEDUP 被设置为 TRUE,则必须忽视以上顺序。 请查看下列“其它仿真要求”。

GTP 属性:

除了以上要求的顺序,还必须正确设置以下属性。

PMA_RSV2 = 32h'00002040.

其它仿真要求

虽然这些序列是为了实现适当硬件工作而在 7 系列 FPGA 收发器向导生成的封装程序中实现的,但用户可以在 RXOUTCLK、RXUSRCLK 及 RXUSRCLK2 以错误时钟速率运行的仿真中看到。 

例如,时钟速率为被分为 16 个分率的 GT 速率,而不是 20 的正确分率(可实现支持 8b10b 解码器的配置以及 20 的内部数据位宽)。

要在仿真中解决/避免这种行为并生成正确的时钟速率,请完成以下步骤:

  1. 将 core_name_gtxreset_seq.v/.vhd 中的 DRP 地址 (drpaddr_o) 设置为 2C。 在默认情况下,该 DRP 地址设为 11,这是硬件的适当设置。
    2C 设置可用作仿真的解决方案。
    对于 Verilog,请查看 core_name_gtrxreset_seq.v 中的 251 行和 324 行。
    对于 VHDL,请查看 core_name_gtxreset_seq.vhd 中的 244 行。
    注意:这只需针对仿真定义,无需针对硬件运行定义。例如,在 Verilog 中,请定义 `ifdef SIMULATION 中的 2C 地址。

  2. 确保 EXAMPLE_SIM_GTRESET_SPEEDUP 参数通过 rtl 层级拖拽至 gt_channel 层面。GT 向导实例设计中需要该步骤。
  3. 请确保 EXAMPLE_SIMULATION 参数设置为 1。

变更这些后,在复位大约 20us 内,仿真中就会看到正确的时钟速率。

修订历史:

02/14/2017增加了其它仿真要求
04/12/2013更新了支持复位序列的用户指南版本
01/31/2013初始版本

链接问答记录

主要问答记录

相关答复记录

AR# 53561
日期 02/17/2017
状态 Active
Type 设计咨询
器件
  • Artix-7
的页面