Intel® Cyclone® 10 GX收发器PHY用户指南

ID 683054
日期 12/28/2017
Public
文档目录

2.4.9. 增强PCS端口

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

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

  • <n>—通道的数量
  • <d>—串化因子
  • <s>—符号大小
  • <p>—PLL的数量
表 42.  增强TX PCS:并行数据,控制和时钟
名称 方向 时钟域 说明

tx_parallel_data[<n>128-1:0]

Input

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

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

您必须将那些不活动的数据管脚接地。对于单宽度配置,以下比特是活动的:

  • 32-bit FPGA架构到PCS接口宽度:tx_parallel_data[31:0]. Ground [127:32].
  • 40-bit FPGA架构到PCS接口宽度:tx_parallel_data[39:0]. Ground [127:40].
  • 64-bit FPGA架构到PCS接口宽度:tx_parallel_data[63:0]. Ground [127:64].

对于双宽度配置,以下比特是活动的:

  • 40-bit FPGA架构到PCS接口宽度:data[103:64], [39:0]. Ground [127:104], [63:40].
  • 64-bit FPGA架构到PCS接口宽度: data[127:64], [63:0].

对于32-bit,50-bit和67-bit FPGA架构到PCS接口宽度,不支持双宽度模式。

unused_tx_parallel_data

Input

tx_clkout 当使能Enable simplified data interface时,使能端口。将所有这些比特都连接到0。当Enable simplified data interface禁止时,未使用的比特是tx_parallel_data的一部分。请参考tx_parallel_data来确定需要接地的比特。
tx_control[<n><3>-1:0] or

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

Input

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

根据所选的收发器配置规则,tx_control比特将具有不同的功能。当Simplified data interface使能时,此总线中的比特数量将改变,因为未使用的比特将显示为unused_tx_control端口的一部分。

请参考增强型PCS TX和RX控制端口部分获得详细信息。

unused_tx_control[<n> <15>-1:0]

Input

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

当使能Enable simplified data interface时,此端口使能。将所有这些比特都连接到0。当Enable simplified data interface禁止时,未使用的比特是tx_control的一部分。

请参考tx_control来确定需要接地的比特。

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 GUI中的CRC-32错误插入功能,那么同步头错误(synchronous header error)和CRC32错误都会被插入。

tx_coreclkin Input Clock

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

tx_clkout

Output

Clock

这是一个由本地CGB为非绑定配置(non bonded configurations)以及由主CGB为绑定配置(bonded configurations)生成的并行时钟。此时钟对TX Enhanced PCS的模块提供时钟。此时钟的频率等于数据速率除以PCS/PMA接口宽度。

表 43.  增强RX PCS:并行数据,控制和时钟
名称 方向 时钟域 说明

rx_parallel_data[<n>128-1:0]

Output

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

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

当FPGA架构到PCS接口宽度为64比特时,以下比特对窄于128比特的接口是有效的。您可以将未使用的比特悬空或断开。

  • 32-bit FPGA架构到PCS宽度:data[31:0]。
  • 40-bit FPGA架构到PCS宽度:data[39:0]。
  • 64-bit FPGA架构到PCS宽度:data[63:0]。

当FPGA架构到PCS接口数据宽度是128比特时,以下比特是有效的:

  • 40-bit FPGA架构到PCS宽度:data[103:64],[39:0]。
  • 64-bit FPGA架构到PCS宽度:data[127:0]。
unused_rx_parallel_data

Output

rx_clkout

当开启Enable simplified data interface时,此信号指定未使用的数据。当简化的数据接口没有设置时,未使用的比特是rx_parallel_data的一部分。未使用的数据输出可以处于悬空也可以断开。
rx_control[<n> <20>-1:0] Output

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

指示rx_parallel_data总线是控制还是数据。

请参考增强型PCS TX和RX控制端口部分获得详细信息。

unused_rx_control[<n>10-1:0] Output

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

这些信号仅在Enable simplified data interface开启时存在。当简化的数据接口没有设置时,未使用的比特是rx_control的一部分。这些输出可以处于悬空。
rx_coreclkin Input Clock

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

rx_clkout

Output

Clock

由收发器RX PMA恢复的低速并行时钟。此时钟对RX Enhanced PCS中的模块提供时钟。此时钟的频率等于PCS/PMA接口宽度除以数据速率(datarate)。

表 44.  增强PCS TX FIFO
名称 方向 时钟域 说明
tx_enh_data_valid[<n>-1:0]

Input

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

此信号的置位表明TX数据是有效的。对于10GBASE-R without 1588,将此信号连接到1'b1。对于10GBASE-R with 1588,您必须根据齿轮箱比率控制此信号。对于Basic和Interlaken,您需要根据TX FIFO标志控制此端口,以便FIFO既不会下溢也不会上溢。

请参考增强的PCS FIFO操作获得详细信息。

tx_enh_fifo_full[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

tx_enh_fifo_pfull[<n>-1:0]

Output

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

当TX FIFO达到半满阈值时,此信号被置位。由于深度始终是恒定的,因此对相位补偿模式可以忽略此信号。

请参考增强的PCS FIFO操作获得详细信息。

tx_enh_fifo_empty[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

tx_enh_fifo_pempty[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

表 45.  增强PCS RX FIFO
名称 方向 时钟域 说明
rx_enh_data_valid[<n>-1:0]

Output

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

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

当您选择以下参数时,此选项可用:

  • Enhanced PCS Transceiver configuration rules specifies Interlaken
  • Enhanced PCS Transceiver configuration rules specifies Basic, and RX FIFO mode is Phase compensation
  • Enhanced PCS Transceiver configuration rules specifies Basic, and RX FIFO mode is Register

请参考增强的PCS FIFO操作获得详细信息。

rx_enh_fifo_full[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

rx_enh_fifo_pfull[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

rx_enh_fifo_empty[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

rx_enh_fifo_pempty[<n>-1:0]

Output

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

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

请参考增强的PCS FIFO操作获得详细信息。

rx_enh_fifo_del[<n>-1:0]

Output

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

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

rx_enh_fifo_insert[<n>-1:0]

Output

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

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

rx_enh_fifo_rd_en[<n>-1:0]

Output

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

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

Input

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

置位时,表明已经发现字对齐码型。此信号仅对Interlaken协议有效。

rx_enh_fifo_align_clr[<n>-1:0]

Input

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

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

表 46.  Interlaken Frame Generator, Synchronizer, and CRC32 (Interlaken帧生成器,同步器和CRC32)
名称 方向 时钟域 说明
tx_enh_frame[<n>-1:0] Output

tx_clkout

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

tx_enh_frame_diag_status[<n> 2-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

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

rx_enh_frame_diag_status[2 <n>-1:0]

Output

rx_clkout

驱动器包含在帧层诊断字(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

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

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

rx_clkout

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

rx_enh_highber_clr_cnt[<n>-1:0]

Input

rx_clkout

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

Input

rx_clkout

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

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

rx_clkout

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

rx_clkout

rx_parallel_datarx_bitslip输入的每个正边沿移动1个比特。保持rx_bitslip脉冲间隔至少20个周期。最大位移(maximum shift)是< pcswidth -1>比特,这样如果PCS是64比特宽,那么就能够移动0-63个比特。

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

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