使用 VIAVI ONT 测试和验证FEC 实施
使用 VIAVI ONT 测试和验证FEC 实施

使用 VIAVI ONT 测试和验证FEC 实施

本白皮书说明了如何使用 VIAVI ONT 系列提供的一系列应用程序来开发、测试和验证 400G 及相关以太网技术中使用的 FEC IP。

现代通信系统广泛使用前向纠错 (FEC) 技术来确保可靠和高性能的通信链路。从超长距离海底电缆到背板上的短跳线 – FEC 可用于提高整体性能。最近出现的 400G 以太网导致了具有强制性 FEC 的以太网接口的广泛部署。为了建立一个开放、 多供应商、即插即用的生态系统,需要对此 FEC 模块进行开发、测试和验证。FEC 已被广泛部署在 OTN(光传输网络) 技术中,VIAVI 在测试、FEC 验证和故障排查方面拥有丰富的经验,它通过新的 400G 以太网扩展了这些经验,以满足当今的特定需求和挑战。

什么是 FEC?

在真实的通信系统中,目标报文被编码为多个码元(在最简单的情况下是二进制比特)。然后,报文通过通信信道发送,受到噪声、损坏、失真和其他因素的影响。预期信道中的噪声会破坏随机数量的传输比特,因此目标报文会被破坏,尽管可以使用简单的技术(如奇偶校验或校验和)来验证报文,但这通常意味着必须重新传输报文。这对于现代通信系统来说显然是低效的,因为在任何实际链路中,错误都可能导致数据包的持续重传。

当使用 FEC 时,目标报文在发送端(通常以固定的块大小)编码,其中根据所选的 FEC 算法添加附加比特。然后,该附加信息与目标报文一起在噪声信道上发送。和以前一样,发送的若干比特可能会被破坏,但是接收器 FEC 算法现在可以使用添加的比特来允许它检测和纠正被破坏的比特。根据通信信道的特性和所使用的 FEC 算法,现代的 FEC 算法能够以一些额外的数据“开销”为代价,有效地使有噪声的信道看起来是无差错的。

FEC 算法的性能可以用多种方式来表示,一种常见的方法是编码增益。由于数据以特定的 FEC 方式传输,这可以有效改善信道信噪比 (SNR)。IEEE 在选择用于 400G 以太网 (802.3bs) 的 FEC 时考虑了许多因素,包括实现复杂度、延迟、性能、所需功率和 IC 面积。决定在基于里德-所罗门的 FEC 上使用作用于 514 个码元码字的 FEC,每个码元由 10 个比特组成,通过添加 FEC 编码扩展到 544 个码元。这允许代码检测和纠正每个码字块中的最多 16 个错误码元(FEC 可以检测但不能纠正超过 16 个错误码元,并且可以将码字标记为损坏)。

IEEE 802.3 标准文档是以太网 FEC 的参考,虽然它没有定义实现方法,但它制定了标准和定义。

VIAVI ONT 的屏幕截图(图 1)显示了 FEC 解码器如何匹配信号流。16 个逻辑通道(可以编码为 4 个 PAM-4 光通道(每个通道 100G 或 56 Gbd)和/或 8 个 28 Gbd 的 PAM4 电通道)进入 PCS 逻辑,其中每个通道都有其唯一的对准标记 (AM) 可被识别和跟踪。该逻辑确定每个通道是否被正确识别并且在 skew 的限制范围内,然后将其传递到对通道重新排序的块上(它们可能在传输中使用的多路复用和解复用过程期间已经被重新排序和引入了 skew),然后对其进行去 skew 以将它们重新对齐成码字。然后将码字块传递到交织的 FEC 块中,该交织的 FEC 块检测并纠正在传输期间发生的任何错误,将由于过多错误而不能纠正的任何码字标记为不可纠正。然后码字被转码并传递到协调层进行进一步 (MAC) 处理。

在每个阶段,可以判断各种警报和错误,以跟踪状态机和数据流。FEC 解码器是接收器逻辑中最复杂的部分之一,该逻辑块的正确功能和性能是任何 400G 系统开发、测试和验证的主要部分。

图 1:ONT 显示的 FEC 解码块

400GE FEC 详细信息

FEC 块在发送器(对数据进行编码)和接收器(对错误进行解码,然后检测并纠正错误,并将适当的信息发送到更高层)都涉及额外的复杂逻辑。

下表显示了 PAM-4 中使用的 KR4 FEC(用于 NRZ 编码信号)和 KP4 FEC 的性能。由于我们关注的是 400GE,因此将重点放在 KP4 FEC 上。

KP4 FEC 使用由 10 个比特组成的 514 个码元,然后用 KP4 FEC 逻辑对其进行编码,以形成 544 码元码字,这是 30 个“奇偶”码元(每个 10 比特)的相加。在接收到的 544 码元码字块中,接收器 FEC 可以检测和纠正多达 15 个错误码元。如果接收到的码字具有 15 个或更少的错误码元,则 FEC 接收器的输出将是完全纠正的码字。严重错误的码字(多于 15 个错误码元)将被检测和标记,但是接收器不能再纠正这些错误。

FEC 编码过程“扩展”信息以获得编码增益,在 KP4 FEC 的情况下,增加了额外的 30 个码元(原始的 5140 比特码字块增加了 300 个比特)。这就增加了检测和纠正一定数量错误的能力,相当于一种“编码增益”。实际上,链路信噪比似乎提高了几 dB。在 KP4 FEC 的情况下,该编码增益被声明为 6.5 dB(假设为泊松随机误差分布),预期 FEC 纠后误码率为 10^-12。当然,这种编码增益不是免费的。FEC 有三个“成本”:

  • 它需要在发送器和接收器的 PCS 层中使用额外的逻辑,这种逻辑会占用 ASIC 或 FPGA 中的功率和面积,当然也会带来额外的设计成本。
  • 它会增加延迟。FEC 逻辑需要时间对码字进行操作并对其进行编码和解码。对于 FEC 延迟在整个端到端传输延迟中占很大比例的较短链路来说,这可能会成为一个严重的问题。对于电信和长途来说,这通常不是问题。
  • 所需的额外奇偶校验码位意味着传输数据速率必须增加。这种额外的线速率提高了电子和光子元件的带宽、性能和功率要求。

在绝大多数情况下,链路编码增益超过了 FEC 的额外负担,尽管在一些特殊情况下,人们可能使用更低的 FEC(更低的编码增益但更低的延迟)和更好的(工程)链路。

RS-FEC参数名称NRZ PHYPAM4 PHY
FEC 编码RS (528, 514, t=7, m=10)RS (544, 514, t=15, m=10)
码元总数n528544
报文码元k514514
奇偶码元n-k1430
每码元比特数m1010
可纠正的码元t715
编码增益   DFE4.9 dB @ 1E-155.4 dB @ 1E-15
编码增益   随机5.3 dB @ 1E-126.5 dB @ 1E-12
图 2:NRZ PHY (KR4-FEC) 与 PAM-4 PHY (KP4 FEC) 的性能比较

测试逻辑 FEC 实施

这张来自 ONT FEC 工具的视图很好地概述了 400GE 链路上的 FEC。它是发射器码字(544 个码元,每个 10 比特)的简明概述,并显示了对任何选定码元(标记码元)进行“错误处理”的能力。可以使用比特掩码来对 10 比特码元中的各个比特进行错误处理。值得注意的是,400G 使用两个交织的 FEC(FEC A 和 FEC B)来进一步防止突发误码,因为突发会在两个交错的码字之间被“稀释”。

图 3:显示精确的错误定位能力的 ONT FEC 压力应用用户模式屏幕

简单的 FEC 性能监控

今天的大多数测试集都显示了 VIAVI 首创的每码字错误码元表视图。下面的例子显示了一个“坏”链路的输出(在本例中,该链路被设计成导致错误)。请注意,尽管码字中的绝大多数码元没有错误(0 个错误码元),并且错误码元计数迅速下降(对于每个额外的错误码元超过两个数量级)到每个码字 5 个错误码元。关于这是一个坏链路的指示是由 6 到 15 个错误码元计数上的很长的尾部以及该链路每个码字仍然具有不可纠正的 (>=16) 个错误码元的事实给出的。这一链路肯定需要使用 VIAVI“高级错误分析”套件等工具进一步调查。

错误码元计数显示了系统在给定链路上的性能,但它不能验证 FEC 实施或对其进行压力测试,而且它们几乎不能深入了解错误的根本原因。码元计数视图仅显示使用测试集 FEC 块的链路的测试集视图,而不显示任何 DUT FEC 接收器实现方法。

图 4:400GE 链路的每码字经典错误码元视图

需要测试和验证的 FEC 属性

FEC 的两个核心方面需要在研发和验证阶段进行测试和验证 – FEC 的逻辑“正确性”和实际实现的稳定性。尽管它们是相互关联和相互交错的,但它们都需要不同的测试方法来确保稳健性和可靠性。VIAVI 通过其 FEC 测试应用程序集中的两个应用程序实现了这一概念:

FEC 压力测试

这项测试的重点是 FEC 的逻辑验证,它确保 FEC 对给定码字中的一系列错误计数和位置具有真实的覆盖范围。考虑到有无数种可能的组合,不可能涵盖所有组合,但这些应用程序足够“智能”,可以提供可靠的覆盖范围。

VIAVI FEC 压力应用程序允许用户通过手动定位错误来精确探测 FEC(如图 3 所示),但它还支持全面的自动模式,该模式可以扫描码字中巨大的错误位置潜在范围,查找 1 到 15 个错误码元,从而提供可靠的覆盖范围来验证 FEC 的逻辑性能。虽然自动模式不能覆盖错误码元位置和计数的每一个组合,但应用程序经过精心设计,能够在合理的运行时间内提供最佳覆盖。用户可以调整测试的“深度”,以匹配潜在的测试执行时间。如果自动测试显示出了问题,则可以使用手动测试来调查逻辑的哪个区域以及在什么条件下没有按预期执行。

动态 FEC 压力

即使 FEC 逻辑正确,被测硬件仍可能由于实施中的故障而失败,特别是在电源完整性等挑战方面。FEC 解码和校验块通常在具有许多基于 XOR 的逻辑门的宽并行总线结构中实现。错误检测和纠正会导致逻辑功率需求的快速变化,这些快速的电流尖峰可能会导致电源完整性问题,特别是在 FPGA 中。它们还可能暴露出负载点转换器输出阻抗动态范围以及 PCB 布局和解耦的问题。该应用程序可以与示波器等工具结合使用,以跟踪 IC 封装周围的电源动态范围。

图 5:ONT 动态 FEC 压力控制页面,显示以动态方式改变压力的能力

上面的屏幕显示了对 FEC 施加动态压力所需的一些重要设置。用户拨入码字中的错误码元数量,但是现在可以通过错误注入的速率来提供额外的控制,这是以频率来表示的,因为这是功率和电流脉冲的物理速率。能够以不同的频率驱动功率脉冲(并在范围内扫描)可以用来对电源和与 FEC 接收器逻辑相关的元件施加压力。一个“好”的实现方法在所有条件下都会按预期执行,而不稳定的实现方法可能会导致不可预测和不一致的结果,甚至可能会锁定或崩溃。当然,这种压力突发错误频率的组合在该领域可能非常罕见,但很难进行故障排查或重现,因此在研发和 SVT 阶段进行繁重和全面的压力验证对于生产稳定和合规的产品至关重要。

这类测试还可以在温度和电源电压水平上执行,以实现全裕度测试并了解实际故障模式。

测试模式特征应用领域
FEC 验证FEC 逻辑的分步组合测试。FEC IP 供应商选择 FEC IP 验证 整个温度范围内的时序稳定性 互操作调试 FEC BER 的主机软件验证
FEC 用户模式能够精确定位码字内的错误特定逻辑领域的深度故障排查和研发 FPGA 团队在时序裕度稳定性方面的研究 固件团队为 FEC 逻辑编写控制工具
动态 FEC 电源完整性动态错误突发FPGA 和 ASIC 布局 信号完整性 电源设计 PCB 解耦 最大功率消耗和热测试

总结

FEC 是高速以太网的关键元素,在网络中起着至关重要的作用。高速以太网必须具备 FEC 的可靠性和互操作性。如果没有正确的工具,就不可能可靠地覆盖 FEC 性能。动态问题使逻辑互操作的挑战进一步复杂化,这种罕见且随机的问题会导致虚假的、难以排除故障的事件。

简单的 FEC 概述工具可以提供链路运行状况的非常基本的概述,但无法深入了解真实的 FEC 和链路性能。只有 ONT 上的高级错误分析应用程序才能深入了解错误的性质,而 FEC 工具套件对于提供能够在 400G 生态系统中正确互操作的强大且合规的 400GE 产品至关重要。逻辑 FEC 压力可以自动扫描压力错误模式以验证逻辑。如果发现问题,工程师可以通过手动错误放置工具深入查找根本原因。动态 FEC 压力测试加载 FEC 逻辑,这是其他测试和验证应用程序无法做到的。动态错误突发强调整个电源的完整性,同时动态加载 FEC 逻辑、最大错误数、最大功率、最大动态。

借助 VIAVI ONT FEC 应用程序,让您对 FEC 的设计和实施充满信心。