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

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

2.3.14. 增强PCS端口

图 27. 增强PCS接口PMA和PCS模块的标记的输入和输出代表总线,而不是单个信号。

在下表中,变量代表这些参数:

  • <n>—通道的数量
  • <d>—串化因子
  • <s>—符号大小
  • <p>—PLL的数量
表 59.  Interlaken帧生成器,同步器和CRC32
名称 方向 时钟域 说明
tx_enh_frame[<n>-1:0] Output

tx_clkout

置位2或3个并行时钟周期,以指示一个新的元帧(metaframe)的开始。

tx_err_ins Input tx_coreclkin

对于Interlaken协议,如果已开启Enable simplified data interface,那么可以使用该比特插入同步头(synchronous header)和CRC32错误。

置位时,该周期字的同步头(synchronous header)被损坏的同步头替换。如果开启Enable Interlaken TX CRC-32 generator error insertion,那么也会插入一个CRC32错误。损坏的同步头是2'b00 (一个控制字)和2'b11 (一个数据字)。对于CRC32错误插入,用于该周期的CRC计算的字被错误地反转,从而造成Diagnostic Word of the Metaframe中不正确的CRC32。

注意:不能生成Framing Control Words的同步头(synchronous header)和CRC32错误,因为Frame Control Words是在嵌入在TX PCS中的帧生成器中生成的。如果使能了Transceiver Native PHY IP Core GUI中的CRC-32错误插入功能,那么同步头错误(synchronous header error)和CRC32错误都会被插入。

tx_dll_lock Output tx_clkout 当在Interlaken或者Basic模式下配置TX Core FIFO时,用户应该监控此锁定状态(lock status)。

关于tx_dll_lock时序图,请参考Resetting Transceiver Channels章节中的Special TX PCS Reset Release Sequence

tx_enh_frame_diag_status[2<n>-1:0]

Input

tx_clkout

驱动包含在帧层诊断字(framing layer diagnostic word)(bits[33:32])中的通道状态消息。此消息插入到frame generator block生成的下一个诊断字中。该总线在tx_enh_frame脉冲前后必须保持5个时钟周期恒定。下面的编码定义为:

  • Bit[1]:为1时表明通道是可操作的。为0时表明通道是不可操作的。
  • Bit[0]:为1时表明链路是可操作的。为0时表明链路是不可操作的。
tx_enh_frame_burst_en[<n>-1:0]

Input

tx_clkout

如果Enable frame burst使能,那么此端口控制从TX FIFO到帧生成器的帧生成器数据读取。如果tx_enh_frame_burst_en的值为0,那么帧生成器不从TX FIFO读取数据用于当前元帧(Metaframe),而是插入SKIP字,作为元帧(Metaframe)的有效负载。当tx_enh_frame_burst_en的值为1时,帧生成器从TX FIFO读取数据用于当前元帧(Metaframe)。此端口在tx_enh_frame脉冲的前后必须保持5个时钟周期恒定。

rx_enh_frame[<n>-1:0]

Output

rx_clkout

置位时表明一个新接收的元帧(Metaframe)的开始。此信号是脉冲展宽的。

rx_enh_frame_lock[<n>-1:0]

Output

rx_clkout

SSR16

置位时表明Frame Synchronizer状态机已经实现元帧描述(Metaframe delineation)。此信号是脉冲展宽的。

rx_enh_frame_diag_status[2 <n>-1:0]

Output

rx_clkout

SSR16

驱动器包含在帧层诊断字(framing layer diagnostic word) (bits[33:32])中的通道状态消息。帧锁定期间,在元帧(Metaframe)的结尾接收到一个有效的诊断字时,此信号被锁存。下面的编码定义为:

  • Bit[1]:为1时表明通道是可操作的。为0时表明通道是不可操作的。
  • Bit[0]:为1时表明链路是可操作的。为0时表明链路是不可操作的。
rx_enh_crc32_err[<n>-1:0]

Output

rx_clkout

FSR16

置位时表明当前元帧(Metaframe)的一个CRC错误。在当前元帧的末尾置位。此信号置位2到3个时钟周期。

表 60.  10GBASE-R BER检查器(10GBASE-R BER Checker)
名称 方向 时钟域 说明
rx_enh_highber[<n>-1:0] Output

rx_clkout

SSR16

置位时表明一个大于10-4的误码率。对于10GBASE-R协议,在125 µs之内有至少16个错误时出现此BER。此信号置位2到3个时钟周期。

rx_enh_highber_clr_cnt[<n>-1:0]

Input

rx_clkout

SSR16

置位时清零内部计数器,该计数器指示BER状态机进入BER_BAD_SH状态的次数。
rx_enh_clr_errblk_count[<n>-1:0] (10GBASE-R and FEC)

Input

rx_clkout

SSR16

置位时,错误模块计数器复位成0。此信号的置位清零内部计数器,该计数器显示RX状态机进入RX_E状态的次数。在FEC模块使能的模式下,此信号的置位复位RX FEC模块中的状态计数器。

表 61.  模块同步器(Block Synchronizer )
名称 方向 时钟域 说明
rx_enh_blk_lock<n>-1:0] Output

rx_clkout

SSR16

置位时表明模块同步器(block synchronizer)已经实现模块描述(block delineation)。此信号用于10GBASE-R和Interlaken。
表 62.  齿轮箱(Gearbox)
名称 方向 时钟域 说明
rx_bitslip[<n>-1:0] Input

rx_clkout

SSR16

rx_parallel_datarx_bitslip输入的每个正边沿滑移1个比特。保持rx_bitslip脉冲为高电平至少200 ns,每个脉冲间隔400 ns,以确保数据被滑移。最大位移(maximum shift)是< pcswidth -1>比特,这样如果PCS是64比特宽,那么就能够滑移0-63个比特。

tx_enh_bitslip[<n>-1:0] Input rx_clkout

SSR16

此信号的值控制传递到PMA之前滑掉tx_parallel_data的比特数量。

表 63.  KR-FEC
名称 方向 时钟域 说明
tx_enh_frame[<n>-1:0] Output

Asynchronous

TX KR-FEC的异步状态标志输出,表示生成的KR FEC帧的开始。
rx_enh_frame[<n>-1:0] Output rx_clkout

SSR16

RX KR-FEC的异步状态标志输出,表示接收的KR FEC帧的开始。
rx_enh_frame_diag_status[2<n>-1:0] Output rx_clkout

SSR16

RX KR-FEC的异步状态标志输出,表示当前接收的帧的状态。

  • 00: 无错误
  • 01: 可纠正的错误
  • 10: 不可纠正的错误
  • 11: 复位条件/预锁条件
16 关于FSR和SSR信号的详细说明,请参考Asynchronous Data Transfer部分。