下表显示了 40G/50G PCS IP 核端口。这些是在提供仅限 PCS 选项时可用的端口。没有 FCS 功能,也不存在 AXI4-Stream 相关端口。
PCS 不包含“暂停”和“流量控制”端口。系统接口是 XLGMII/50GMII,而非 AXI4-Stream。
可在 *wrapper.v
层级中找到这些信号。如需了解时钟域定义,请参阅“PCS 时钟”。
名称 | I/O | 时钟域 | 描述 |
---|---|---|---|
收发器 I/O | |||
rx_serdes_data_n0 | 输入 | rx_serdes_clk | 来自通道 0 线路的串行数据;差分信号的负相 |
rx_serdes_data_p0 | 输入 | rx_serdes_clk | 来自通道 0 线路的串行数据;差分信号的正相 |
tx_serdes_data_n0 | 输出 | tx_serdes_clk | 到通道 0 线路的串行数据;差分信号的负相。 |
tx_serdes_data_p0 | 输出 | tx_serdes_clk | 到通道 0 线路的串行数据;差分信号的正相。 |
rx_serdes_data_n1 | 输入 | rx_serdes_clk | 来自通道 1 线路的串行数据;差分信号的负相 |
rx_serdes_data_p1 | 输入 | rx_serdes_clk | 来自通道 1 线路的串行数据;差分信号的正相 |
tx_serdes_data_n1 | 输出 | tx_serdes_clk | 到通道 1 线路的串行数据;差分信号的负相。 |
tx_serdes_data_p1 | 输出 | tx_serdes_clk | 到通道 1 线路的串行数据;差分信号的正相。 |
GT_reset (ctl_gt_reset_all) | 输入 | 异步 | 收发器启动 FSM 的高电平有效复位。请注意,此信号还会启动整个 IP 核的复位序列。 |
refclk_n0 | 输入 | SerDes 的差分参考时钟输入,负相。 | |
refclk_p0 | 输入 | SerDes 的差分参考时钟输入,负相。 | |
XLGMII/50GMII 接口信号 | |||
rx_mii_d[127:0] | 输出 | rx_mii_clk | 接收 XLGMII/50GMII 数据总线。 |
rx_mii_c[15:0] | 输出 | rx_mii_clk | XLGMII/50GMII 接收控制总线。 |
rx_mii_clk | 输入 | 接收 XLGMII/50GMII 时钟输入。 | |
tx_mii_d[127:0] | 输入 | tx_mii_clk | 发射 XLGMII/50GMII 数据总线。 |
tx_mii_c[15:0] | 输入 | tx_mii_clk | XLGMII/50GMII 控制总线。 |
tx_mii_clk | 输入 | tx_mii_clk | XLGMII/50GMII 发射时钟输入。 |
rx_mii_reset | 输入 | RX XLGMII/50GMII 接口的复位输入。 | |
tx_mii_reset | 输入 | TX XLGMII/50GMII 接口的复位输入。 | |
rx_serdes_clk | 输入 | 用于对 RX PCS 核逻辑进行时钟设置的输入时钟信号。 | |
tx_core_clk | 输入 | 用于对 TX PCS 核逻辑进行时钟设置的输入时钟信号。 | |
rx_reset | 输入 | rx_serdes_clk |
与 rx_serdes_clk 逻辑关联的复位。 必须与 rx_serdes_clk 同步。 |
tx_reset | 输入 | tx_core_clk | 与 tx_core_clk 逻辑关联的复位。必须与 tx_core_clk 同步。 |
XLGMII/50GMII 接口 - 控制/状态信号 | |||
ctl_rx_vl_length_minus1[15:0] | 输入 | static |
PCS 通道标记间的字数减 1(对于 RX)。根据 IEEE 802.3 中的定义,默认值应设置为 16,383。 仅当对应的复位输入断言有效时,才应更改此输入。 注释: 在 50G 核配置中启用 RS-FEC 时,此值将设置为 20479。
|
ctl_tx_vl_length_minus1[15:0] | 输入 | static |
PCS 通道标记间的字数减 1(对于 TX)。根据 IEEE 802.3 中的定义,默认值应设置为 16,383。 仅当对应的复位输入断言有效时,才应更改此输入。 注释: 在 50G 核配置中启用 RS-FEC 时,此值将设置为 20479。
|
ctl_rx_vl_marker_id0[63:0] | 输入 | static |
RX PCS lane0 的 PCS 通道标记。如需了解 IEEE 802.3 默认值,请参阅“RX 和 TX PCS 通道标记值”。仅当对应的复位输入断言有效时,才应更改此输入。 |
ctl_rx_vl_marker_id1[63:0] | 输入 | static | RX PCS lane1 的 PCS 通道标记。 |
ctl_rx_vl_marker_id2[63:0] | 输入 | static | RX PCS lane2 的 PCS 通道标记。 |
ctl_rx_vl_marker_id3[63:0] | 输入 | static | RX PCS lane3 的 PCS 通道标记。 |
ctl_tx_vl_marker_id0[63:0] | 输入 | static |
TX PCS lane0 的 PCS 通道标记。如需了解 IEEE 802.3 默认值,请参阅“RX 和 TX PCS 通道标记值”。仅当对应的复位输入断言有效时,才应更改此输入。 |
ctl_tx_vl_marker_id1[63:0] | 输入 | static | TX PCS lane1 的 PCS 通道标记。 |
ctl_tx_vl_marker_id2[63:0] | 输入 | static | TX PCS lane2 的 PCS 通道标记。 |
ctl_tx_vl_marker_id3[63:0] | 输入 | static | TX PCS lane3 的 PCS 通道标记。 |
ctl_rx_test_pattern | 输入 | rx_serdes_clk | 对 RX 核启用测试模式以接收扰码空闲模式。具有第三优先级。 |
ctl_tx_test_pattern | 输入 | tx_core_clk | 针对 TX 核启用扰码空闲测试模式生成。值为 1 表示启用测试模式。具有第三优先级。 |
stat_rx_fifo_error | 输出 | rx_serdes_clk |
接收时钟补偿 FIFO 错误指示符。值为 1 表示时钟补偿 FIFO 发生下溢或上溢。仅当恢复的时钟与局部参考时钟之间的 PPM 差超过 ±200 ppm 时,才会发生此状况。 如果在任意时钟周期内此输出采样为 1,那么对应端口必须复位才能恢复正常运行。 |
stat_rx_local_fault | 输出 | rx_serdes_clk |
值为 1 表示接收解码器状态机处于 RX_INIT 状态。 此输出对电平敏感。 |
stat_rx_hi_ber | 输出 | rx_serdes_clk |
误码率 (BER) 过高指示符。设置为 1 时,BER 过高(根据 IEEE 802.3 的定义)。 对应于第 82.3 条中所定义的 MDIO 寄存器位 3.32.1。 此输出对电平敏感。 |
stat_rx_block_lock[3:0] | 输出 | rx_serdes_clk |
每个 PCS 通道的块锁定状态。值为 1 表示对应通道已达到第 82 条中定义的块锁定状态。 对应于第 82.3 条中所定义的 MDIO 寄存器位 3.50.7:0 和 3.51.11:0。 此输出对电平敏感。 |
stat_rx_error[7:0] | 输出 | rx_serdes_clk |
测试模式不匹配数递增值。任一周期内的非 0 值 均表示 RX 核在测试模式下发生的不匹配次数。 仅当 ctl_rx_test_pattern 设置为 1 时,此输出才有效。 此输出可用于根据第 82.3 条的定义生成 MDIO 寄存器 3.43.15:0。 此输出将脉冲 1 个时钟周期。 |
stat_rx_error_valid | 输出 | rx_serdes_clk | 增量有效指示符。如果在任意时钟周期内此信号为 1,则 stat_rx_error 的值有效。 |
stat_rx_bad_code[1:0] | 输出 | rx_serdes_clk |
此信号为递增值,对应 64B/66B 编码违例数。此信号指示接收到的包含无效块的 64b/66b 字的数量,或者指示是否检测到错误的 64b/66b 块序列。 此输出可用于根据第 82.3 条的定义生成 MDIO 寄存器 3.33:7:0。 |
stat_rx_bad_code_valid | 输出 | rx_serdes_clk | 增量有效指示符。如果在任意时钟周期内此信号为 1,则 stat_rx_bad_code 的值有效。 |
stat_rx_framing_err_0[3:0] | 输出 | rx_serdes_clk | 针对 PCS 通道 0 检测到的同步报头错误数量的增量值。该总线的值仅在 stat_rx_framing_err_valid_0 为 1 的周期内才有效。 |
stat_rx_framing_err_1[3:0] | 输出 | rx_serdes_clk | 针对 PCS 通道 1 检测到的同步报头错误数量的增量值。 |
stat_rx_framing_err_2[3:0] | 输出 | rx_serdes_clk | 针对 PCS 通道 2 检测到的同步报头错误数量的增量值。 |
stat_rx_framing_err_3[3:0] | 输出 | rx_serdes_clk | 针对 PCS 通道 3 检测到的同步报头错误数量的增量值。 |
stat_rx_valid_0 | 输出 | rx_serdes_clk | PCS 通道 0 的增量有效指示符。如果在任意时钟周期内此信号为 1,则 stat_rx_framing_err_0 的值有效。 |
stat_rx_valid_1 | 输出 | rx_serdes_clk | PCS 通道 1 的增量有效指示符。 |
stat_rx_valid_2 | 输出 | rx_serdes_clk | PCS 通道 2 的增量有效指示符。 |
stat_rx_valid_3 | 输出 | rx_serdes_clk | PCS 通道 3 的增量有效指示符。 |
stat_rx_aligned | 输出 | rx_serdes_clk |
所有 PCS 通道均已对齐/去歪斜。此信号表示是否所有 PCS 通道均已对齐并去歪斜。值为 1 表示所有 PCS 通道均已对齐并去歪斜。 当此信号为 1 时,表示 RX 路径已对齐并且可接收包数据。 当此信号为 0 时,表示存在本地故障状况。 还对应于 MDIO 寄存器位 3.50.12(根据第 82.3 条中的定义)。此输出对电平敏感。 |
stat_rx_aligned_err | 输出 | rx_serdes_clk |
通道对齐/去歪斜丢失。此信号表示 PCS 通道对齐期间发生错误或者虚拟通道对齐已丢失。值为 1 表示发生了错误。 此输出对电平敏感。 |
stat_rx_misaligned | 输出 | rx_serdes_clk |
对齐错误。此信号表示通道对齐器并未在所有通道上都接收到期望的 PCS 通道标记。在所有通道上都至少接收到 1 个 PCS 通道标记后,此信号才会断言有效。 此输出将脉冲 1 个时钟周期,以指示错误状况。 |
stat_rx_status | 输出 | rx_serdes_clk |
PCS 状态。值为 1 表示 PCS 已对齐且未处于 hi_ber 状态。 对应于第 82.3 条中所定义的 MDIO 寄存器位 3.32.12。 此输出对电平敏感。 |
stat_rx_vl_demuxed[3:0] | 输出 | rx_serdes_clk |
已找到 PCS 通道标记。如果该总线的信号采样为 1,则表示接收器已对该 PCS 通道进行了正确的逆多路复用。 此输出对电平敏感。 |
stat_tx_local_fault | 输出 | tx_core_clk |
值为 1 表示发射编码器状态机当前处于 TX_INIT 状态。 此输出对电平敏感。 |
stat_tx_fifo_error | 输出 | tx_core_clk |
发射时钟补偿 FIFO 错误指示符。值为 1 表示时钟补偿 FIFO 发生下溢或上溢。仅当发射器时钟与局部参考时钟之间的 PPM 差超过 ±200 ppm 时,才会发生此状况。 如果在任意时钟周期内此输出采样为 1,那么对应端口必须复位才能恢复正常运行。 |
stat_rx_vl_number_0[1:0] | 输出 | rx_serdes_clk |
该总线的值指示 PCS 通道 0 上出现的物理通道。 仅当 stat_rx_synced[PCS_LANES-1:0] 的对应位为 1 时,该总线才有效。 这些输出对电平敏感。 |
stat_rx_vl_number_1[1:0] | 输出 | rx_serdes_clk | 该总线的值指示 PCS 通道 1 上出现的物理通道。 |
stat_rx_vl_number_2[1:0] | 输出 | rx_serdes_clk | 该总线的值指示 PCS 通道 2 上出现的物理通道。 |
stat_rx_vl_number_3[1:0] | 输出 | rx_serdes_clk | 该总线的值指示 PCS 通道 3 上出现的物理通道。 |
stat_rx_bip_err_0 | 输出 | rx_serdes_clk |
BIP8 错误指示符(对应 PCS 通道 0)。非 0 值表示 BIP8 签名出错。非 0 值将脉冲 1 个时钟周期。 此输出将脉冲 1 个时钟周期,以指示错误状况。 |
stat_rx_bip_err_1 | 输出 | rx_serdes_clk | BIP8 错误指示符(对应 PCS 通道 2)。 |
stat_rx_bip_err_2 | 输出 | rx_serdes_clk | BIP8 错误指示符(对应 PCS 通道 2)。 |
stat_rx_bip_err_3 | 输出 | rx_serdes_clk | BIP8 错误指示符(对应 PCS 通道 3)。 |
stat_rx_synced[3:0] | 输出 | rx_serdes_clk |
字边界已同步。这些信号用于指示 PCS 通道是否已完成字边界同步。值为 1 表示对应 PCS 通道已实现字边界同步,并且已接收到 PCS 通道标记。 对应于第 82.3 条中所定义的 MDIO 寄存器位 3.52.7:0 和 3.53.11:0。 此输出对电平敏感。 |
stat_rx_synced_err[3:0] | 输出 | rx_serdes_clk |
字边界同步错误。这些信号用于指示在相应的 PCS 通道内进行字边界同步期间,是否发生错误。值为 1 表示由于同步报头成帧位错误或者从未收到 PCS 通道标记,对应 PCS 通道已丢失字边界同步。 此输出对电平敏感。 |
stat_rx_mf_len_err[3:0] | 输出 | rx_serdes_clk |
虚拟通道标记长度错误。这些信号用于指示相应通道内是否发生了 PCS 通道标记不匹配(即,接收到的 PCS 通道标记间隔字数并非 ctl_rx_vl_length_minus1)。值为 1 表示对应通道接收 PCS 通道标记的间隔错误。 此输出将脉冲 1 个时钟周期,以指示错误状况。 |
stat_rx_mf_repeat_err[3:0] | 输出 | rx_serdes_clk |
PCS 通道标记连续错误。这些信号用于指示相应通道内是否发生了 4 个连续 PCS 通道标记错误。值为 1 表示对应通道内存在错误。 此输出将脉冲 1 个时钟周期,以指示错误状况。 |
stat_rx_mf_err | 输出 | rx_serdes_clk |
PCS 通道标记字错误。这些信号用于表示在相应通道内检测到构成的 PCS 通道标记字错误。值为 1 表示发生了错误。 此输出将脉冲 1 个时钟周期,以指示错误状况。 |
杂项状态信号和控制信号 | |||
dclk | 输入 | rx_serdes_clk | 动态重配置端口 (DRP) 时钟输入。通过在 Vivado® IDE 的“GT Selection and Configuration”选项卡中的“GT DRP Clock”字段中提供值,设置必需的频率。这必须是自由运行的输入时钟。 |
gt_loopback_in[12|6:0] | 输入 | 异步 |
每个收发器的 GT 环回输入信号。请参阅 GT 用户指南。 针对 50G 单核,位宽为 6 位,针对 40G 单核或 50G 双核,位宽为 12 位。 |