仅对英特尔可见 — GUID: bhc1427965219334
Ixiasoft
5.2. 可编程RBD偏移
您必须设置一个安全的RBD偏移值来确保一个上电周期到另一个上电周期的确定性延迟。按照以下步骤来设置一个安全的RBD偏移:
- 从rx_status0寄存器的csr_rbd_count栏读取RBD数。记录该值。
- 上电周期JESD204B子系统,包含FPGA和转换器件。
- 再次读取RBD数,并记录该值。
- 复位步骤1至3至少5次,并记录RBD数的值。
- 相应地设置csr_rbd_offset,允许一个LMFC数公差。
- 执行多个上电周期,并确保使用这个RBD偏移值时,不会发生通道去偏移错误。
从一个上电周期到另一个上电周期的2个数量变化内,RBD数量必须相当一致。在下面的实例中,参考值分别为L>1、F=1和K=32。LMFC计数器的合法值为0到((FxK/4)-1),即是0至7。在图 26中,最迟到达的通道变量落在1个本地多帧周期内。在这种情况下,如果延迟不是问题,则可以把csr_rbd_offset=0设为默认值,这意味着RBD弹性缓冲器在LMFC边界被释放。在图 27中,最迟到达的通道变量跨越2个本地多帧,最迟到达的通道变量发生在LMFC边界前后。在这种情况下,需要正确地配置RBD偏移来避免通道去偏移错误,如rx_err0寄存器的位4所示。
在上面的实例中,如果在最早到达通道至最迟到达通道的/R/字符的LMFC计数的差异总和,与LMFC计数的数量达到RBD弹性缓冲器的释放,超过RBD弹性缓冲器的容量,那么会发生通道去偏斜错误。如果这是通道去偏斜错误的根源,设置RBD偏移是其中一种技巧来解决该问题。不是每个RBD偏移值都是合法的。下图说明了确定合法RBD偏移值的技巧。
因为IP内核没有报告相对于LMFC边界最早通道到达的位置,您必须执行多个电源周期来观察RBD计数,并相应地调整RBD偏移,直到没有出现通道去偏斜错误。在上图的实例中,建议的RBD偏移值为4或5。将RBD偏移设置为1、2或3是非法的,因为这超出了F和K配置的RBD弹性缓冲区大小。