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.

[参考译文] TMS320C6674:如何强制 PCIe 在出站方向使用已布置的写入

Guru**** 2589280 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/639281/tms320c6674-how-to-force-pcie-to-use-posted-writes-in-outbound-direction

器件型号:TMS320C6674

您好!

我尝试通过 PCIe 在 FPGA 上写入来自 DSP 的一些数据字。

我们的 FPGA 只能接收 PIO 读写操作。 因此、我无法突发数据。

当我每32位写入 FPGA 时、字需要大约1.3微秒。

因此、我希望这是一个未过账的转账。

要启用已布置的写传输,PCI CMD_STATUS 寄存器中有一个名为 LOADD_WR_EN 的位,但标记为>>不适用
进行通信<<。

如何以另一种方式激活此功能?

或者是否还有其他可能强制 PCIe 端口发出已布置的写入?

此致

Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的查询转发给硬件设计专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    请告诉我们、您如何进行写操作。 如果这些只是存储、则 PCIe 按预期工作。 如果要在写入中具有多字有效载荷、则必须使用 DSP 或 FPGA 端的 DMA。 请访问 e2e.ti.com/.../444356
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,拉吉克
    这些只是商店。 我不想有任何突发、因此我不需要为写入设置 DMA。
    它只是 CPU 对先前映射的 PCIe 地址进行的32位写入。 此访问工作正常、但比我预期的_POST_WRITE 要慢得多。 所以我假设它没有发布、我搜索一种方法来发布它。

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

    您好!

    只要您的远程方是 FPGA、您就可以设置一些范围、例如 Xilinx 上的 ChipScope、以及在 FPGA 端对传入的 TLPS 进行 PEEP。 我敢打赌您会看到0_0000的类型归档、这意味着 MWR、 存储器写入请求。 这些写入按性质发布。 我无法想象、可以为存储器写入发出什么其他类型的 TLP。

    您可能会将 PCIe 写入的布置性质与 CPU 行为混淆。 您可能会认为、存储到 PCIe 数据窗口会有效地将数据放入某个出站缓冲区中、该缓冲区的容量有限。 PCIe 子系统需要一些时间来准备接头并向下游传输数据字。

    1.3每 DWORD 的美国也有点慢。 它提供32b/1.3E-6=24.6Mbps、或仅提供3Mbps。 我在 x1 gen1上看到了高达45MBps 的写入而没有突发。 我们也不知道您是使用32位还是64位寻址。 不过、您可以将事务层开销简单地估算为有效负载/(开销+有效负载)、而在32位寻址的最简单情况下、它会提供3dword 标头、并且事务利用率为1/4。 64位寻址中、该地址成为事务层上的1/5。

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

    您好-感谢您的快速响应、

    我的写入是64位寻址。 我认为传输一个字的时间是由于读取端获取这些数据的延迟。

    在 FPGA 实现之后有一个协议娃娃、因此我不得不从另一个来源获取数据、而这个来源使我的速度变慢了。

    我目前尝试以猝发方式读取源代码、并希望数据写入速率与您的数据写入速率相似。

    我将报告它是否符合我的预期。

    感谢你的帮助

    此致 Andreas

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

    写入的数据速率现在符合预期。 通过5GBit 链路、我的数据速率高达大约80MB/秒、因此使用了可确定的过账写入。
    当我以4个内核并行发送到不同的 PCI 目标时、此速率会降低至每秒20MB。
    考虑到内核必须使用相同的 PCIe 接口、这是一个很好的价值。

    再次感谢您的帮助。

    谢谢 Andreas