This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 66AK2H12:串行 RapidIO (SRIO)入站 DirectI/O 传输吞吐量与放大器;优先级

Guru**** 2937200 points

Other Parts Discussed in Thread: 66AK2H12

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668339/66ak2h12-serial-rapidio-srio-inbound-directi-o-transfer-throughput-priority

器件型号:66AK2H12

您好!

我使用的 FPGA 连接到66ak2h12 SOC 部件、每个通道具有1个端口/4条信道、每条信道5Gbit。 我发现、当使用 directio 数据包类型从 FPGA 写入数据时(我已经尝试过 NWRITE、NWRITE_R 和 SWRITE 数据包-没有什么不同)、会将数据写入 SOC DDR3A。

现在、我仅尝试在该数据连接中写入1 Gbit/秒。 如果这就是我要做的事情、那么 SOC 会继续保持正常运行。 如果我传输数据并进行通读以验证数据中的测试模式、我会看到 SRIO 数据包有效负载已丢弃(它们从不会将数据传输到 DDR3A 存储器)。 DDR3A 的争用似乎会使 SRIO 外设的 MAU DMA 挂起、使其无法进行传输。

我在 TI 文档中看到了有关输出直接传输的性能统计数据、但没有任何有关入站传输的信息。

我是否达到了此类传输的带宽阈值? 为什么 DDR3A 上有足够的争用来丢弃 SRIO 数据包? 我是否可以更改任何优先级以使 SRIO 取代存储器总线上的任何其他传输?

谢谢、

Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知软件团队。 您能否分享您正在使用的 SDK?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chris、

    它是否是您提到的 TI 文档《KeyStone II 器件吞吐量性能指南(修订版 B)》(www.ti.com/lit/an/sprabk5b/sprabk5b.pdf)? 表19显示了在1x、2x 和4x 模式下使用5Gbps PHY 线路速率(SRIO 线路速率4Gbps)进行 Nread 事务时 DirectIO 操作的吞吐量。 测试用例"传输数据和读取"中的数据包丢弃率是多少?

    >>是否可以更改任何优先级以使 SRIO 取代内存总线上的任何其他传输?

    存储器总线上的其他传输是什么? AK2H 数据表中描述的 PRI_ALLOC 可能有所帮助。

    6.4带宽管理

    系统外设在 CorePac 外部启动的操作的优先级通过声明

    优先级分配寄存器(PRI_ALLOC)。

    9.4总线优先级

    所有主外设通信的优先级均在 TeraNet 边界定义。 用户可编程

    优先级寄存器允许通过 TeraNet 对数据流量进行软件配置。 请注意、A 越低

    数字表示更高优先级—PRI = 000b =紧急、PRI = 111b =低电平

    此致、Garrett

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Chris、

    >>我已经尝试过 NWRITE、NWRITE_R 和 SWRITE 数据包--没有什么不同

    我与团队进行了更多讨论:

    如果使用 NWRITE_R、则不应出现数据包丢弃、因为它始终需要写入完成响应。
    您是否在测试期间将 NWRITES/NWRITE_R/SWRITE 和 NREADY 设置为相同的优先级? 您如何验证丢失的数据包? 您是否验证了本地路径是否有任何数据包丢弃?

    如果您在写入和读取时使用不同的优先级、甚至只是使用不同的 LSU、则可能会重新排序、并且 nread 响应可能不会反映正确的数据、但存储器内容可能仍然正确。

    此致、
    Garrett
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Garret、

    为了澄清这一点、我将从 FPGA 生成 NWRITE、NWRITE_R 和 SWRITE 数据包、然后再传输到 SOC。 我的理解是、这是通过 SOC 上的 MAU 而不是 LSU 进行的。

    此外、我还有一个校正。 在传输期间在 SOC 上读取 DRAM 实际上不会影响吞吐量或丢弃的数据包。 这只是测试条件出现红色鲱鱼的症状。

    我的团队发现了两种情况:
    a)当 PBMi 水线位设置为默认值时、我们会将大约120MB/s 的数据传输到 SOC 大约10秒。 此时、FPGA 会看到重试请求、必须倒带内部传输缓冲区、而不是发送新数据
    B)将 PBMi 水线位设置为0时、我们执行相同的传输、但在相同的时间段后、我们会看到数据包消失、任何寄存器中都没有明显的错误记录。 在这里使用 NWRITE_R 时、我们看到 FPGA 上没有对丢弃的数据包做出响应。

    是否有任何已发布的 MAU 吞吐量测量结果? 我们在这里进行初步测试、发现4通道5GBit 连接的最大吞吐量约为500MB/s、几乎是我们预期的四分之一。 我们还会看到上面讨论的数据较慢的问题。

    我们正在写入四个不同的 DestID (并将 SOC 设置为混杂模式)以尝试充分利用 MAU 的四个 DMA。

    谢谢、
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chris、

    正确- LSU 控制直接 I/O 数据包的传输、MAU 控制直接 I/O 数据包的接收。

    表18 - 5Gbps PHY 时的"DR3存储器软件板对板模式吞吐量值"中的"KeyStone II 器件吞吐量性能指南"中的"DR3存储器软件板对板模式吞吐量值"、SPRABK5B.pdf 显示的远高于4Gbps。

    www.ti.com/lit/an/sprabk5b/sprabk5b.pdf

    此致、Garrett