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.

[参考译文] J784S4XEVM:PCIe 时钟配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1505535/j784s4xevm-pcie-clock-configuration

器件型号:J784S4XEVM
Thread 中讨论的其他器件:DRA829VTDA4VM

工具/软件:

您好、

我对插槽 PCIe0 (4通道1)上的 PCIe 时钟配置有疑问。

在电路板原理图上、PCIe 插槽的时钟由外部时钟发生器生成、相同的时钟进入 Jacinto 的 SERDES_REF_CLK 引脚。

我们使用 Jacinto 作为 RC、使用 Xilinx FPG A 板作为 EP、我希望这两个板都保持同步、但在我们的测试过程中、我不确定会是哪种情况、因为性能不如预期、所以我们研究了原因。

我找到这篇文章[常见问题解答] TDA4VM:TDA4VM/DRA829V:从外部路由 PCIe 参考时钟 =>"也向 TDA4VM SOC 提供了相同的 REFCLK、但 SDK 软件不使用此时钟源、而是为每个 PCIe SERDES 使用内部 PLL 时钟源"

因此、为了在 Jacinto 和 FPGA 之间实现同步 PCIe 时钟、我们只需修改 SDK 中的配置、而不修改电路板上的硬件?

您能告诉我们必须在 SDK 中修改什么才能正确设置它吗、我们使用的是 SDK 09_00_00_02

此致

Mickael

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

    你好、Mickael:  

    根据当前信息、我对导致性能问题的时钟存在一些疑问。 主要是因为我过去没有看到时钟会影响性能(不过、由于功能而不是性能的问题、 时钟配置是一个常见问题)。

    要了解您对时钟的怀疑、 需要回答以下几个问题:

    1. 观察到的绩效是什么?
    2. 怀疑时钟的原因是什么?

    此致、

    Takuma

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

    您好、

    我们怀疑其中一个是异步的、另一个是同步的、过去发生在我们身上(不是使用 Jacinto、而是使用 PC)、这确实对性能产生了影响。

    所以在这里是这样的、Jacinto 是异步的、FPGA 是同步的、现在我们的异步和性能都提高了~30%、但我们还没有达到预期的水平、Gen3 x4用于4MB DMA 传输:

    H2C:1,25GB/秒

    C2H:0.15GB/s

    我们必须对此进行调查。

    所以,如果我想使 Jacinto 在插槽时钟同步,它只是 SDK 中的一个配置,没有硬件修改 J784S4 ? 我们必须在 SDK 中修改什么?

    此致

    Mickael

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

    你好、Mickael:

    理解怀疑。

    不过、为了澄清一下、您是否在寻找下面正确的"通用时钟架构"?

    通用时钟:RC 为 EP 提供 PCIe REFCLK。 在这种情况下、您需要使用通过电缆路由时钟的电缆、此外还需要确保 EP 时钟未连接到插座、否则会发生争用。 EP 应仅依赖 RC 提供的时钟来运行 PCIe。 这是最常见的实现方式。

     

    单独的时钟:EP 和 RC 使用自己的 PCIe REFCLK。 在这种情况下、您需要使用"无时钟"电缆。 这是 SDK 示例。

     

    数据时钟:接收器从发送器中提取嵌入式时钟。 仅限 Gen2和 Gen3。 这也是一根"无时钟"电缆。

    此致、

    Takuma

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

    对于 J784S4、默认情况下、它应使用通用时钟架构。 我认为您要参考的常见问题解答位于我们使用两个 EP 的 J721E EVM 示例的上下文中、其中每个电路板都有自己的参考时钟、因此必须将"无时钟"电缆用于单独的时钟架构。

    我假设 FPGA 正在从 J784S4接收基准时钟。 如果没有、您能否说明 FPGA 和 J784S4之间的硬件连接(也称为路由哪些信号)?

    此致、

    Takuma

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

    尊敬的 Takuma:

    是的、我们想使用通用时钟架构。

    我同意、 从硬件的角度来看、与 J784S4似乎正常、Jacinto 和 PCIe 连接器上以及 FPGA 之后都有相同的时钟、但当我检查 Jacinto 寄存器0x0D0000D0  (PCIE_CORE_DBN_CFG_PCIE_CORE_RC_I_RC_RC_RC_RC_PCIE_BASE_I_LINK_CTRL_STATUS )位6 (CCC)等于0: "值0表示该器件的基准时钟与上游器件异步、 值1表示基准时钟是公共的"。 SDK 将 PCIe 配置为异步模式。

    这就是我问在 SDK 中修改内容以处于同步模式的原因。

    此致

    Mickael

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

    你好、Mickael:

    在软件方面、我在驱动程序中看不到配置 CCC 位的任何内容。 过去曾有一个 E2E 补丁、用于对此处的位进行硬编码: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1458527/am6442-the-common-clock-for-pcie-cannot-be-enabled-continued/5644422?tisearch=e2e-sitesearch&keymatch=pcie%20common%20clock#5644422

    我没有尝试 上述方法、因此我不知道它是否会影响绩效。 我将在下周试一下、但也可以在结束时尝试、看看这是否会导致改进。

    另一方面、 我过去尝试移除了电路板上的外部时钟发生器、以便配置为使用内部 SoC 时钟。 移除外部时钟发生器会导致错误(也称为 SERDES PHY 将无法初始化)、这意味着外部时钟发生器正在为 SoC 提供参考时钟、并且该时钟发生器会在硬件上为 PCIe 连接器提供时钟。 据此、我的理解是、默认情况下正在使用通用时钟架构...

    此致、

    Takuma

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

    尊敬的 Takuma:

    好的、器件树中没有参数、我们必须修改 Cadence 驱动程序才能设置该位。 感谢链接、我将在此处请求尝试此操作、以查看它是否发生了变化。

    是的、移除时钟并停止工作的事实表明 Jacinto 使用该时钟。 也许 PCIe 时隙时钟配置与时钟架构不一致这一事实可以解释为什么它的行为类似于 单独的时钟架构。

    此致

    Mickael

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

    你好、Mickael:

    我尝试了补丁并使用 PCIe SSD 卡和 FiO 进行了基准测试。 到目前为止、我没有看到因时钟而出现任何性能改进。

    如果您看到改进或结果相同、请告诉我。

    此致、

    Takuma