TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] CCS/TMS320C6678:DSP 根复合体至 FPGA 端点之间的连接具有 PCIe 性能

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/928285/ccs-tms320c6678-pcie-performance-on-connection-between-the-dsp-root-complex-to-fpga-end-point

器件型号:TMS320C6678

工具/软件:Code Composer Studio

您好!

我们通过 PCIe Gen2将数据从 FPGA 发送到 DSP、并通过 DMA (由 FPGA 手动发送、无中断)、数据速率为2.4Gbs、DSP 读取数据并执行其他算法。

当 FPGA 和没有 DSP 的数据被激活时、我们得到的数据速率约为5.7Gbs。

在 FPGA 中、当开始读取数据时不知道 DSP 阶段、因此 DSP 配置会优先考虑 FPGA、以免在 PCIe 上卡住 FPGA 吞吐量。

当 FPGA 和 DSP 协同工作时、PCIe 长时间处于停滞状态、您能给我们一些技巧吗?从 FPGA 到 DSP、PCIe 的性能如何更好?

注意:FPGA 和 DSP 与 DDR 中的不同区域进行读取和写入

谢谢、

兹维

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

    您好!

    您以多快的速度运行 DDR3?

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

    您好!

    感谢快速响应。

    DDR 速度为 16000MB/秒

    谢谢

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

    我的错误是1000MB/秒

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

    您好!

    我不能识别任一速度、它们应该是每秒800、1066、1333、1600万次传输。 正如我们看到的,以16*开头的内容,我们假设后者是正确的。 然后、DDR3 EMIF 最多可产生8B x 1600 MTP = 12800 Mbps x 8位= 102400 Mbps。 考虑开销后、PCIe 可能在 Gen2 x2链路上以最高8Gbps 的速率产生、这大约是 EMIF 带宽的10%。 另一方面、C66x 内核具有128位宽的存储器总线、在其最低1GHz 速度下、将产生128位 x 1000MHz = 128000 MBps/8位= 16000 Mbps。 这有点超出 EMIF 最大容量、因此如果观察到 PCIe 上的吞吐量严重下降、则可能是由消耗所有资源的 C66x 内核引起的。

    根据我们目前所知、您的系统性能看起来是合理的。 问题是您要尝试实现的目标。 如果您希望 FPGA 能够以相同的吞吐量定期提供数据、则可能需要在 C66x 上分配暂停窗口并将其与 FPGA 进行通信。 这可能是从 DSP 进行 DMA 传输的起始信号。 总线访问优先级可能有更好的设置、但我不是很熟悉这种语言、您最好等待 TI 专家的介入。

    此外、我建议以不同的方式查看您的日程安排。 如果您看到 PCIe 链路速度严重下降、这可能意味着 C66x 内核在一个事件中将一种方式传输到大量数据。 然后、您可以考虑通过 C66x 以较小的片段读取/写入数据、从而为 FPGA 传输留出空间。 或者、您可以通过来自 DSP 的信号来协调 FPGA 传输。

    希望这对您有所帮助。