数据路径奇偶校验 (Datapath Parity) 功能在该核的 AXI4‑Stream 接口与 Ethernet FCS 逻辑之间驻留的数据路径逻辑上提供了软核错误检测。
对于此数据路径的每个字节,都提供了 1 个单一位元 (single bit) 以反映该字节计算所得的奇偶校验结果。
重要: 此 IP 核通过实现偶校验使数据路径内包含奇偶校验位的所有 1 的总和为偶数(即,0、2、4...)。
在该核的数据路径的发射方向和接收方向中都会实现数据路径奇偶校验。在这两个方向上,仅在有效的 AXI4‑Stream 字节上才将奇偶校验位视为有效。具体来说,AXI4‑Stream 字节在 TKEEP[n]
、TVALID
和 TREADY
全部断言有效的周期内才被视为有效。与接收数据路径内的 AXI4‑Stream 无效字节关联的奇偶校验位应予以忽略。与发射方向内的 AXI4‑Stream 无效字节关联的奇偶校验位将不予检查。
数据路径奇偶校验功能添加了单一统计数据 stat_tx_bad_parity
用于识别是否检测到软核错误。此统计数据基于时钟周期,因此它可针对单一数据包多次断言有效。并且由于它基于时钟周期,因此它只能识别已检测到至少一个软核错误。如果在单一时钟周期内检测到 2 个软核错误,那么将仅标示 1 个软核错误。根据配置,存在奇偶校验错误还可能触发 stat_tx_bad_fcs
错误断言有效。
对于支持奇偶校验的变体,接收数据路径无需配置,因为 AXI4‑Stream 接口上存在的所有数据包都将生成奇偶校验。在发射方向上,下表描述了影响奇偶校验逻辑行为的配置位:
ctl_tx_fcs_ ins_enable | ctl_tx_parity_err_response | 是否为以太网 FCS 添加 stomp 标记的行为 | stat_tx_bad_parity 行为 |
stat_tx_bad_fcs 行为 |
---|---|---|---|---|
0 | 0 | 核将不会为 FCS 添加 stomp 标记,但用户逻辑可能已为 FCS 添加 stomp 标记。 | 如果检测到奇偶校验错误,stat_tx_bad_parity 将断言有效。 1 | 如果传入包中用户生成的 FCS 不正确,stat_tx_bad_fcs 将断言有效。奇偶校验错误无论是否存在都不会导致 stat_tx_bad_fcs 断言有效。 |
0 | 1 | 核将不会为 FCS 添加 stomp 标记,但用户逻辑可能已为 FCS 添加 stomp 标记。 | 同上。 1 | 同上 |
1 | 0 | 不支持 | 同上。 1 | 奇偶校验错误无论是否存在都不会导致 stat_tx_bad_fcs 断言有效。 |
1 | 1 | 是,前提是检测到奇偶校验错误。 | 同上。 1 | 如果检测到奇偶校验错误,stat_tx_bad_fcs 将断言有效。 2 |
|