产品规格 - 1.1 简体中文

Versal Adaptive SoC Transceivers Wizard LogiCORE IP 产品指南 (PG331)

Document ID
PG331
Release Date
2023-10-24
Version
1.1 简体中文

AMD Versal™ Adaptive SoC Transceivers Wizard 解决方案包含 2 个核:

Versal Adaptive SoC Transceivers Wizard
围绕 GT*_QUAD 原语的封装文件。其中包含单个 GT 四通道 (gt_quad_base IP)。对于多通道(>4 条通道)设计,需要例化多个 Transceivers Wizard。
GT Quad base IP
AMD Vivado™ IP 目录中包含 GT Quad base IP,它可作为 Versal Adaptive SoC Transceivers Wizard (gt_quad_base) 以供使用。它用于例化、配置和连接 GT*_QUAD 原语,并提供仿真支持,以展示各种 GT 四通道功能特性。您可配置 GT Quad base IP 以共享多个协议 IP,每个协议 IP 都支持多种线速率;还可创建设计示例并进行仿真,以了解多个协议 IP 之间的动态线速率切换和 GT 四通道共享。如需获取此 IP 的端口列表和定义,请参阅 Versal 自适应 SoC GTY 和 GTYP 收发器架构手册(AM002) Versal 自适应 SoC GTM 收发器架构手册(AM017)
Versal Adaptive SoC Transceivers Bridge
这是参考父级 IP (Bridge IP),用于配置 Transceivers Wizard 参数。
Bridge IP
在 IP integrator 画布中包含 Versal Adaptive SoC Transceivers Bridge IP (gt_bridge_ip) 以供使用。通过每个 Bridge IP 只能创建一个定制设计输入。Bridge IP 是可配置的封装文件,通过此文件即可配置 GT Quad base IP (gt_quad_base)。

Bridge IP 有两种工作模式:

“Default Mode”(默认模式):此模式用于在 FPGA 开发板上进行独立的 Transceivers Wizard 仿真和确认。在此模式下,Bridge IP 会基于已编程的配置来封装数据生成器、检查器逻辑和复位逻辑。

“Pass Through Mode”(直通模式):将 Bridge IP 配置为直通模式时,它会向应用接口公开 GT 四通道的所有相关信号。在配置所有 GT 参数后,它会例化、配置和连接单个或多个 GT Quad base IP (gt_quad_base)

您可在 IP integrator 中添加 Versal Adaptive SoC Transceiver Bridge IP (gt_bridge_ip),并在 GUI 中配置其参数(包括通道数量),完成后单击Block Automation(块自动化设置)。
注释: gt_quad_base 参数继承自 gt_bridge_ip
它会基于 gt_bridge_ip 中配置的通道数量来例化多个 gt_quad_base,并建立所有必要的连接。以下各图显示了含 Bridge IP 和 GT Quad base IP 的系统,这些 IP 可在 IP integrator 画布内生成。每个 Bridge IP 均可配置为在 GUI 中启用多线速率选项。根据 Bridge IP 需求,每个 GT Quad base IP 均可共享多个 Bridge IP。如需了解更多信息,请参阅 适用于定制 IP 的 IP integrator 设计输入
图 1. 直通模式下的 Bridge IP
图 2. 单个 Bridge IP - GT 四通道设计
图 3. 多个 Bridge IP 共享 GT 四通道
Bridge IP 中支持的功能特性如下所示:
  • 单工和双工配置
    • 适用于通用标准的预设配置
    • 用于精调的完整参数控制
    • 用于连接单个或多个 GT 四通道的块自动化设置支持
  • 为动态线速率更改提供原生支持,无需重新编程或构建 APB3 控制器。每条通道每个方向配置最多 16 种线速率

直通模式下的 Bridge IP 端口如下所示:

表 1. 直通模式下的 Bridge IP 端口
名称 方向 宽度 时钟域 描述
gtreset_in 输入 1 异步

此用户信号用于复位收发器原语的锁相环 (PLL) 和有效数据方向。

高电平有效异步脉冲持续保持至少一个 apb3clk 周期,这样即可初始化此进程。

此信号连接到复位控制器帮助程序块的 gtwiz_reset_all_in 信号。

reset_tx_pll_and_datapath_in 输入 1 异步

此用户信号用于复位收发器原语的发射数据方向和关联的 PLL。

高电平有效异步脉冲持续保持至少一个 apb3clk 周期,这样即可初始化此进程。

此信号连接到复位控制器帮助程序块的 gtwiz_reset_tx_pll_and_datapath_in 信号。

reset_rx_pll_and_datapath_in 输入 1 异步

此用户信号用于复位收发器原语的接收数据方向和关联的 PLL。

高电平有效异步脉冲持续保持至少一个 apb3clk 周期,这样即可初始化此进程。

此信号连接到复位控制器帮助程序块的 gtwiz_reset_rx_pll_and_datapath_in 信号。

reset_tx_datapath_in 输入 1 异步

此用户信号用于复位收发器原语的发射数据方向。

高电平有效异步脉冲持续保持至少一个 apb3clk 周期,这样即可初始化此进程。

此信号连接到复位控制器帮助程序块的 gtwiz_reset_tx_datapath_in 信号。

reset_rx_datapath_in 输入 1 异步

此用户信号用于复位收发器原语的接收数据方向。

高电平有效异步脉冲持续保持至少一个 apb3clk 周期,这样即可初始化此进程。

此信号连接到复位控制器帮助程序块的 gtwiz_reset_tx_datapath_in 信号。

tx_resetdone_out 输出 1 apb3clk 高电平有效指示表示收发器原语的发射器复位序列已完成。
rx_resetdone_out 输出 1 apb3clk 高电平有效指示表示收发器原语的接收器复位序列已完成。
ch*_txdata_ext 输入 128/256 TXUSRCLK 此用户接口可供通过收发器通道发射的数据使用(针对 GTYE5/GTYP 为 128 位,针对 GTME5 则为 256 位)。
ch*_rxdata_ext 输出 128/256 RXUSRCLK 此用户接口可供通过收发器通道接收的数据使用(针对 GTYE5/GTYP 为 128 位,针对 GTME5 则为 256 位)。
ch*_rxgearboxslip_ext 输入 1 RXUSRCLK 连接到收发器原语上的 RXGEARBOXSLIP。
ch*_txheader_ext 输入 6 TXUSRCLK 连接到收发器原语上的 TXHEADER。
ch*_txsequence_ext 输入 7 TXUSRCLK 连接到收发器原语上的 TXSEQUENCE。
ch*_rxstartofseq_ext 输出 2 RXUSRCLK 连接到收发器原语上的 RXSTARTOFSEQ。
ch*_rxheader_ext 输出 6 RXUSRCLK 连接到收发器原语上的 RXHEADER。
ch*_rxheadervalid_ext 输出 2 RXUSRCLK 连接到收发器原语上的 RXHEADERVALID。
ch*_rxdatavalid_ext 输出 2 RXUSRCLK 连接到收发器原语上的 RXDATAVALID。
ch*_txctrl0_ext 输入 16 TXUSRCLK 连接到收发器原语上的 TXCTRL0。
ch*_txctrl1_ext 输入 16 TXUSRCLK 连接到收发器原语上的 TXCTRL1。
ch*_txctrl2_ext 输入 16 TXUSRCLK 连接到收发器原语上的 TXCTRL2。
ch*_rxctrl0_ext 输出 16 RXUSRCLK 连接到收发器原语上的 RXCTRL0。
ch*_rxctrl1_ext 输出 16 RXUSRCLK 连接到收发器原语上的 RXCTRL1。
ch*_rxctrl2_ext 输出 8 RXUSRCLK 连接到收发器原语上的 RXCTRL2。
ch*_rxctrl3_ext 输出 8 RXUSRCLK 连接到收发器原语上的 RXCTRL3。
ch*_rxchbondi_ext 输入 5 RXUSRCLK 连接到收发器原语上的 RXCHBONDI。
ch*_rxchanbondseq_ext 输出 1 RXUSRCLK 连接到收发器原语上的 RXCHANBONDSEQ。
ch*_rxchanisaligned_ext 输出 1 RXUSRCLK 连接到收发器原语上的 RXCHANISALIGNED。
ch*_rxchanrealign_ext 输出 1 RXUSRCLK 连接到收发器原语上的 RXCHANREALIGN。
ch*_rxchbondo_ext 输出 5 RXUSRCLK 连接到收发器原语上的 RXCHBONDO。
ch*_txbufstatus_ext 输出 2 TXUSRCLK 连接到收发器原语上的 TXBUFSTATUS。
ch*_rxbufstatus_ext 输出 3 RXUSRCLK 连接到收发器原语上的 RXBUFSTATUS。
ch*_rxcommadet_ext 输出 1 RXUSRCLK 连接到收发器原语上的 RXCOMMADET。
ch*_rxbyteisaligned_ext 输出 1 RXUSRCLK 连接到收发器原语上的 RXBYTEISALIGNED。
ch*_rxbyterealign_ext 输出 1 RXUSRCLK 连接到收发器原语上的 RXBYTEREALIGN。
gpio_enable 输入 1 apb3clk 在线速率切换期间当 GT REFCLK 值发生更改时,此用户信号断言有效。它保持断言有效直至 *resetdone 信号变为高电平为止。如需了解更多信息,请参阅 gpio_enable 端口用法
gpo_in 输入 1 apb3clk gpio_enable 搭配使用。在块自动化设置期间,会自动连接此信号。不使用此信号时,需要驱动它。
gpi_out 输出 1 apb3clk gpio_enable 搭配使用。在块自动化设置期间,会自动连接此信号。
rate_sel[3:0] 输入 4 apb3clk 此输入速率配置端口用于控制 GT 四通道的 ch*_txrate[7:0] 端口和 ch*_rxrate[7:0] 端口。输入宽度为 4 位,对应于可在 Bridge/GT Quad IP 输入级别采用的配置输入的数量 (16)。
link_status_out 输出 1 apb3clk 这是一个无关紧要的信号,启用直通模式时可忽略此信号。禁用直通模式选项时,此信号用于指示设计示例仿真或确认期间的链路正常运行状态。当 TX 与 RX 的 PRBS 模式相匹配时,此信号即处于高电平有效状态。
gt_tx_usrclk 输入 1 - 连接到收发器原语上的 TXUSRCLK
gt_rx_usrclk 输入 1 - 连接到收发器原语上的 RXUSRCLK
txusrclk_out 输出 1 -

要用于用户逻辑的发射器时钟输出。

在内部绑定到 Bridge IP 的 gt_txusrclk 输入。

rxusrclk_out 输出 1 -

要用于用户逻辑的接收器时钟输出。

在内部绑定到 Bridge IP 的 gt_rxusrclk 输入。

tx_clr_out 输出 1 apb3clk 此高电平有效信号扇出到 BUFG_GT 或 MBUFG_GT 原语的 CLR 端口。
rx_clr_out 输出 1 apb3clk 此高电平有效信号扇出到 BUFG_GT 或 MBUFG_GT 原语的 CLR 端口。
tx_clrb_leaf_out 输出 1 apb3clk 此低电平有效信号扇出到 MBUFG_GT 原语的 CLRB_LEAF 端口。
rx_clrb_leaf_out 输出 1 apb3clk 此低电平有效信号扇出到 MBUFG_GT 原语的 CLRB_LEAF 端口。
  1. 可以忽略 gt_lcpll_lockgt_rpll_lockch_phystatus_inilo_resetdone 输入。
  2. gt_ilo_resetgt_pll_resetrpll_lock_outlcpll_lock_outpcie_rstbreset_mask 输出值不予使用,且可忽略。建议使用来自相应 gt_quad_base IP 的 hsclk0_lcplllockhsclk1_lcplllockhsclk0_rplllockhsclk1_rplllock 信号进行监控。
  3. 默认模式下的 Bridge IP 包含 表 1 中列出的同一组端口(gpio_enable 除外)。这些信号是在Bridge IP 与 GT Quad 之间处理的,在 Bridge IP 的应用接口上不可用。如需了解有关复位序列在内部的发生方式的更多信息,请参阅 Versal 自适应 SoC GTY 和 GTYP 收发器架构手册(AM002) Versal 自适应 SoC GTM 收发器架构手册(AM017)

如果在直通模式下未配置 Bridge IP,它包含模式生成器和检查器,用于支持各种编码/解码选项。这主要用于仿真。在此情况下,应用接口不可供使用。如需了解设计示例仿真,请参阅 设计示例

图 4. 默认模式下的 Bridge IP

通道绑定端口

通道绑定端口在 GT Bridge IP 中不可用,但您可使用 CHANNEL_BONDING 参数在 Quad(四通道)级别启用这些端口。

生成 IP 核期间,请在 dict 中包含以下 Tcl 命令作为核生成的一部分:

set CHANNEL_BONDING true

Quad IP 中的通道绑定端口如下所示

表 2. Quad IP 中的通道绑定端口
名称 方向 宽度 时钟域 描述
ch*_rxchanbond_en 输入 1 apb3clk 更新 CH*_RX_ELASTIC_BUF_CFG7 寄存器的 EB8B10B_CHAN_BOND_EN 位
ch*_rxchanbond_master 输入 1 apb3clk 更新 CH*_RX_ELASTIC_BUF_CFG7 寄存器的 EB8B10B_CHAN_BOND_MASTER 位
ch*_rxchanbond_slave 输入 1 apb3clk 更新 CH*_RX_ELASTIC_BUF_CFG7 寄存器的 EB8B10B_CHAN_BOND_SLAVE 位
ch*_rxchanbond_level 输入 3 apb3clk 更新 CH*_RX_ELASTIC_BUF_CFG7 寄存器的 EB8B10B_CHAN_BOND_LEVEL 位
ch*_rxchanbond_busy 输出 1 apb3clk 指示将通道绑定端口值更新到寄存器位的状态

如需了解有关主复位序列的更多信息,请参阅 Versal 自适应 SoC GTY 和 GTYP 收发器架构手册(AM002) Versal 自适应 SoC GTM 收发器架构手册(AM017)