L-Tile和H-Tile收发器PHY用户指南

ID 683621
日期 3/29/2021
Public
文档目录

2.3.13. PCS-Core接口端口

本节定义了Enhanced PCS,Standard PCS,PCIe Gen3 PCS和PCS Direct配置通用的PCS-Core接口端口。
图 26. PCS-Core接口端口
每个收发器通道的发送和接收80-bit并行数据接口活动和非活动端口取决于特定的配置参数,例如:PMA宽度,FPGA Fabric宽度,以及双倍速率传输模式是使能还是禁用。The labeled inputs and outputs to the PMA和PCS模块的标记的输入和输出代表总线,而不是单个信号。在下表中,变量代表以下参数:
  • <n>—通道的数量
  • <d>—串化因子
  • <s>— 符号大小
  • <p>—PLL的数量
表 54.  TX PCS:并行数据,控制和时钟
名称 方向 时钟域 说明

tx_parallel_data[<n>80-1:0]

Input

与驱动FIFO的写入侧的时钟同步(tx_coreclkin tx_clkout)

从FPGA架构到TX PCS的TX并行数据输入。如果在Transceiver Native PHY IP core Parameter Editor中选择Enable simplified data interface,那么tx_parallel_data仅包括指定配置所需的比特。

非活动的数据端口必须设为逻辑状态零。要确定哪些端口是活动的,请参考Transceiver PHY PCS-to-Core Interface Port Mapping部分。

unused_tx_parallel_data

Input

tx_clkout 当使能Enable simplified data interface时,使能此端口。将所有这些比特都连接到0。当Enable simplified data interface未设置时,未使用的比特是tx_parallel_data的一部分。请参考Transceiver PHY PCS-to-Core Interface Port Mapping来确定需要设置为逻辑状态零的端口。
tx_control[<n><3>-1:0] or

tx_control[<n><8>-1:0]

Input

与驱动FIFO的写入侧的时钟同步(tx_coreclkin tx_clkout)

根据所选的Enhanced PCS收发器配置规则,tx_control端口有不同的功能。当Enable simplified data interface未设置时,tx_controltx_parallel_data的一部分。

请参考Enhanced PCS TX and RX Control Ports部分来了解详细信息。

请参考Transceiver PHY PCS-to-Core Interface Port Mapping部分来了解基于特定配置的tx_control端口的端口映射。

tx_word_marking_bit Input 与驱动FIFO的写入侧的时钟同步(tx_coreclkin tx_clkout)

如果使能了双倍数据传输模式,那么此端口是需要的。此端口上的一个逻辑状态Zero表明tx_parallel_data总线上的数据包含Lower Significant Word。此端口上的一个逻辑状态One表明tx_parallel_data总线上的数据包含Upper Significant Word。

请注意,Enable simplified data interface必须禁用,以使能双倍数据传输模式,因此tx_word_marking比特始终作为tx_parallel_data的一部分出现。

请参考Transceiver PHY PCS-to-Core Interface Port Mapping部分来了解tx_word_marking_bit的端口映射。

tx_coreclkin Input Clock

FPGA架构时钟。驱动TX FIFO的写入一侧。对于Interlaken协议,此时钟的频率从datarate/67到datarate/32。使用低于此范围的频率会导致TX FIFO下溢,从而导致数据损坏。

tx_coreclkin2 Input Clock 当双倍数据传输使能并且没有字节串化的PMA宽度为20时,使能此时钟来提供一个fifo读时钟。
tx_clkout

Output

Clock

用户可以在PCS clkout,PCS clkout x2和pma_div_clkout之间选择此端口的时钟源。必须根据特定配置来选择一个有效的时钟源。

PCS clkout是一个由本地CGB或主CGB生成的并行时钟,分别用于非绑定配置和绑定配置。此时钟对TX PCS的模块提供时钟。此时钟的频率等于数据速率除以PCS/PMA接口宽度。PCS clkout x2是一个以两倍PCS clkout频率生成的并行时钟,用于双倍传输速率模式配置。pma_div_clkout的频率是TX PMA并行时钟的分频版本。

tx_clkout2 Output Clock

用户可以在PCS clkout,PCS clkout x2和pma_div_clkout之间选择此端口的时钟源。必须根据特定配置来选择一个有效的时钟源。在某些情况下,例如:双倍数据传输和绑定,您可能需要使能此端口用于EMIB范围内的数据传输。

PCS clkout是一个由本地CGB或主CGB生成的并行时钟,分别用于非绑定配置和绑定配置。此时钟对TX PCS的模块提供时钟。此时钟的频率等于数据速率除以PCS/PMA接口宽度。PCS clkout x2是一个以两倍PCS clkout频率生成的并行时钟,用于双倍传输速率模式配置。pma_div_clkout的频率是TX PMA并行时钟的分频版本。

表 55.  RX PCS-Core接口端口:并行数据,控制和时钟
名称 方向 时钟域 说明

rx_parallel_data[<n>80-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkin rx_clkout)

从RX PCS到FPGA架构的RX并行数据。如果在Transceiver Native PHY IP GUI中选择了Enable simplified data interface,那么rx_parallel_data仅包括指定配置所需的比特。否则,此接口为80比特宽。

要确定哪些端口对于特定收发器配置是活动的,请参考Transceiver PHY PCS-to-Core Interface Port Mapping。您可以将未使用的端口悬空或断开。

unused_rx_parallel_data

Output

rx_clkout

当开启Enable simplified data interface时,此信号指定未使用的数据端口。当简化的数据接口没有设置时,未使用的端口是rx_parallel_data的一部分。要确定哪些端口对于特定收发器配置是活动的,请参考 Transceiver PHY PCS-to-Core Interface Port Mapping。未使用的数据输出可以处于悬空也可以断开。
rx_control[<n> <8>-1:0] Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkin rx_clkout)

根据所选的Enhanced PCS收发器配置规则,rx_control端口有不同的功能。当Enable simplified data interface未设置时,rx_controlrx_parallel_data的一部分。

请参考Enhanced PCS TX and RX Control Ports部分来了解详细信息。

要确定哪些端口对于特定收发器配置是活动的,请参考Transceiver PHY PCS-to-Core Interface Port Mapping

rx_word_marking_bit Output 与驱动FIFO的读取侧的时钟同步(rx_coreclkin rx_clkout)

如果使能了双倍数据传输模式,那么此端口是需要的。此端口上的一个逻辑状态Zero表明rx_parallel_data总线上的数据包含Lower Significant Word。此端口上的一个逻辑状态One表明rx_parallel_data总线上的数据包含Upper Significant Word。

请注意,Enable simplified data interface必须禁用,以使能双倍数据传输模式,因此rx_word_marking比特始终作为rx_parallel_data的一部分出现。

请参考Transceiver PHY PCS-to-Core Interface Port Mapping部分来了解rx_word_marking_bit的端口映射。

rx_coreclkin Input Clock

FPGA架构时钟。驱动RX FIFO的读取端。对于Interlaken协议,此时钟的频率范围从datarate/67到datarate/32。

rx_clkout

Output

Clock

用户可以在PCS clkout,PCS clkout x2和pma_div_clkout之间选择此端口的时钟源。必须根据特定配置来选择一个有效的时钟源。

PCS clkout是由收发器RX PMA恢复的低速并行时钟,对RX PCS中的模块提供时钟。此时钟的频率等于数据速率除以PCS/PMA接口宽度。PCS clkout x2是一个以两倍PCS clkout频率生成的并行时钟,用于双倍传输速率模式配置。pma_div_clkout的频率是RX PMA并行时钟的分频版本。

rx_clkout2 Output Clock

用户可以在PCS clkout,PCS clkout x2和pma_div_clkout之间选择此端口的时钟源。必须根据特定配置来选择一个有效的时钟源。

PCS clkout是由收发器RX PMA恢复的低速并行时钟,对RX PCS中的模块提供时钟。此时钟的频率等于数据速率除以PCS/PMA接口宽度。PCS clkout x2是一个以两倍PCS clkout频率生成的并行时钟,用于双倍传输速率模式配置。pma_div_clkout的频率是RX PMA并行时钟的分频版本。

表 56.  TX PCS-Core接口FIFO
名称 方向 时钟域 说明
tx_fifo_wr_en[<n>-1:0]

Input

与驱动FIFO的写入侧的时钟同步(tx_coreclkin tx_clkout)

此信号的置位表明TX数据是有效的。对于Basic和Interlaken,您要根据TX Core FIFO标志来控制此端口,以便FIFO不会下溢或上溢。

请参考Enhanced PCS FIFO Operation来了解详细信息。

tx_enh_data_valid[<n>-1:0]

Input

与驱动FIFO的写入侧的时钟同步(tx_coreclkin tx_clkout)

此信号的置位表明TX数据是有效的。对于使用10GBASE-R,10GBASE-R 1588,10GBASE-R w/KR FEC,40GBASE-R w/KR FEC,Basic w/KR FEC或者双倍数据传输模式的收发器配置,您必须根据齿轮箱比率(gearbox ratio)来控制此信号。当收发器Enhanced PCS gearbox没有设为1:1比率(例如:66:40或者64:32)时,您也必须使用此信号,而不是使用tx_fifo_wr_en,除非当RX Core FIFO在Interlaken或Basic模式下配置时,在这种情况下,您就必须使用 tx_fifo_wr_en

请参考Enhanced PCS FIFO Operation来了解详细信息。

tx_fifo_full[<n>-1:0]

Output

与驱动FIFO的写入侧的时钟同步(tx_coreclkintx_clkout)

此信号的置位表明TX Core FIFO是满的。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

tx_fifo_pfull[<n>-1:0]

Output

与驱动FIFO的写入侧的时钟同步(tx_coreclkintx_clkout)

当TX Core FIFO达到其半满阈值(通过Native PHY IP core PCS-Core Interface选项卡设置)时,此信号被置位。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

tx_fifo_empty[<n>-1:0]

Output

Asynchronous

置位时表明TX Core FIFO是空的。此信号置位2到3个时钟周期。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

tx_fifo_pempty[<n>-1:0]

Output

Asynchronous

置位时,表明TX Core FIFO已达到其指定的半满阈值,此值是通过 Native PHY IP core PCS-Core Interface选项卡设置的。当开启此选项时,Enhanced PCS使能tx_fifo_pempty端口,这是异步的。此信号置位2到3个时钟周期。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

表 57.  RX PCS-Core接口FIFO
名称 方向 时钟域 说明
rx_data_valid[<n>-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

置位时表明rx_parallel_data是有效的。当rx_data_valid信号为低电平时,忽略无效的RX并行数据。

请参考Enhanced PCS FIFO Operation来了解详细信息。

rx_enh_data_valid[<n>-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

置位时,表明rx_parallel_data是有效的。当rx_enh_data_valid为低电平时,丢弃无效的RX并行数据。当收发器Enhanced PCS gearbox没有设为1:1比率(例如:66:40或者64:32)时,您必须使用此信号,而不是使用rx_data_valid,除非当RX Core FIFO在Interlaken或Basic模式下配置时,在这种情况下,您就必须使用rx_data_valid

请参考Enhanced PCS FIFO Operation来了解详细信息。

rx_fifo_full[<n>-1:0]

Output

Asynchronous

置位时表明RX Core FIFO是满的。此信号置位2到3个时钟周期。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

rx_fifo_pfull[<n>-1:0]

Output

Asynchronous

置位时表明RX Core FIFO已到达其指定的半满阈值。此信号置位2到3个时钟周期。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

rx_fifo_empty[<n>-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

此信号的置位表明RX Core FIFO是空的。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

rx_fifo_pempty[<n>-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

此信号的置位表明RX Core FIFO已到达其指定的半空阈值。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考Enhanced PCS FIFO Operation来了解详细信息。

rx_fifo_del[<n>-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

置位时,表明已经从RX Core FIFO中删除一个字。此信号置位2到3个时钟周期。此信号用于10GBASE-R协议。

rx_fifo_insert[<n>-1:0]

Output

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

置位时,表明已经插入一个字到RX Core FIFO。此信号用于10GBASE-R协议。

rx_fifo_rd_en[<n>-1:0]

Input

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

对于RX Core FIFO Interlaken和Basic配置,当此信号置位时,从RX Core FIFO读取一个字。您需要根据RX Core FIFO标志控制此端口,以便FIFO既不会下溢也不会上溢。
rx_fifo_align_clr[<n>-1:0]

Input

与驱动FIFO的读取侧的时钟同步(rx_coreclkinrx_clkout)

FSR 15

置位时,RX Core FIFO复位并开始查找一个新的对齐码型。此信号仅对Interlaken协议有效。置位此信号至少4个周期。

表 58.  延迟测量/调整
名称 方向 时钟域 说明
latency_sclk Input clock 延迟测量输入参考时钟。
tx_fifo_latency_pulse Output tx_coreclkin 延迟测量得到的TX core FIFO的延迟脉冲。
tx_pcs_fifo_latency_pulse Output tx_clkout 延迟测量得到的TX core FIFO的延迟脉冲。
rx_fifo_latency_pulse Output rx_coreclkin 延迟测量得到的RX core FIFO的延迟脉冲。
rx_pcs_fifo_latency_pulse; Output rx_clkout 延迟测量得到的RX PCS FIFO的延迟脉冲。
15 关于FSR和SSR信号的详细说明,请参考Asynchronous Data Transfer部分。