仅限 FEC 模式和 FlexO 模式 - 2.2 简体中文

Versal Adaptive SoC 600G Channelized Multirate Ethernet Subsystem (DCMAC) LogiCORE IP 产品指南 (PG369)

Document ID
PG369
Release Date
2023-08-08
Version
2.2 简体中文

仅限 FEC 模式和 FlexO 模式的运行速率为 SerDes (tx_serdes_clk[5:0]/rx_serdes_clk[5:0]) 时钟的有效时钟速率的一半(实际 flexif 时钟速率可能更高,但启用的周期均为 SerDes 时钟速率的一半)。在发射方向,必须指明代码字的起始位置,然后持续提供数据直至此代码字结束为止,同时监测 tx_flex_stall_<N>。除代码字内停滞所需的间隔外,不允许存在任何其他间隔。代码字之间允许存在间隔,以支持您控制有效的数据速率。

对于 50G 仅限 FEC 模式,每个端口都支持 2 条独立串流(在这 2 条串流之间共享 tx_flex_stall_<N>tx_flex_ena_<N>)。第一条串流使用 tx_flex_data_<N>[159:0]tx_flex_start_<N>。第二条串流则使用 tx_flex_data_<N>[319:160]tx_flex_startb_<N>。对于 100G RS(528,514) 仅限 FEC 模式,由于代码字大小并非整数周期数,因此使用 tx_flex_startb_<N> 来指明在下半 tx_flex_data_<N> 信号中此代码字何时起始(此信号包含第一个代码字的结束和第二个代码字的开始)。
注释: 对于仅限 FEC 模式,tx_flex_ena_<N> 必须持续断言有效(除非以 tx_flex_stall_<N> 来指示)至代码字结束位置外。此数据将被忽略,直至下一次 tx_flex_start_<N> 断言有效为止。在使用并行代码字的 FEC 模式下,两个代码字必须对齐。

50G 仅限 FEC 模式可与可编程逻辑相结合,以更快的速度等级创建 64GFC 解决方案。同样,100G 仅限 FEC 模式也可以与可编程逻辑组合以创建覆盖速度等级范围更广泛的 64GFC 解决方案(密度减半)。

对于仅限 FEC 模式,穿过 DCMAC 的时延取决于时钟频率和启动条件。将 DCMAC 的给定端口复位可能导致穿过 DCMAC 的该端口增加新时延,即使时钟频率保持固定也是如此。建议您使用由 FLEXIF 和收发器接口上的 start 信号所提供的信息。

FlexO 模式类似于仅限 FEC RS(544,514) 原始模式,但 TX 上的代码字之间不存在间隔,并且指明对齐标记。

在接收方向上,以逐通道 rx_flex_ena_<N> 来指示有效数据。当 rx_flex_ena_<N> 断言无效时,数据即为无效。rx_flex_ena_<N> 可能随时断言无效,包括穿过代码字的部分路径。

注释: rx_flex_fec_rx_dout_flags_<N>(以及适用于 50G 模式的 rx_flex_fec_rx_dout_flagsb_<N>)信号用于指示 AM 状态标志。每个代码字均包含这些信号。rx_flex_ena_<N> 信号并不用于限定这些标志。

在以下示例中,客户端 0 为 100G。客户端 2 为 2 条 50G 数据流。客户端 4 为 200G FlexO,其中 tx_flex_amflag_4 用于指示对齐标记的位置。

图 1. TX 仅限 FEC/FlexO 灵活接口

在以下示例中,客户端 0 为 100G RS(528,514),含两个连续代码字(如图所示)。rx_flex_start_0 信号用于指示在 rx_flex_data_0 总线的上半段中代码字何时启动,而 rx_flex_startb_0 信号则用于指示在 rx_flex_data_0 总线的下半段中代码字何时启动。客户端 2 为 200G。rx_flex_data_2 信号包含代码字 A。rx_flex_data_3 包含代码字 B。代码字结束后的数据则可忽略。客户端 4 为 200G FlexO 并包含 rx_flex_amflag_4 用于指示对齐标记的位置。由于 SerDes 接口按线速率运行,因此除未使能周期外,不得存在任何已忽略的数据。

图 2. RX 仅限 FEC/FlexO 灵活接口