FPGA 和 PCIe 开关
FPGA and PCIe Swich
我们计划用一个Xilinx FPGA 开发一个独立板,需要与多个板载模块进行通信。其中一些模块具有 PCIe 接口,因此可以用作 PCIe 端点。我们在这个领域没有太多经验,但到目前为止我们知道的是我们需要使用 FPGA 内部的 PCIe IP 内核,作为根端口,与这些芯片进行通信。据我了解,我们还需要在 FPGA 和端点之间使用 PCIe 开关来扩展 PCIe 总线。为了管理这些设备之间的所有通信,我们正在考虑实施 MicroBlaze CPU 软核和 PetaLinux。
我的问题是:
谁负责 PCIe 端点枚举,PetaLinux OS 或根端口 IP 核?
中间有 PCIe 开关,我是否需要某种驱动程序才能工作,或者它是完全透明的,OS 或 Root 端口只能看到所有 PCIe 端点连接到下游端口?
PCIe 根联合体背后的操作系统、驱动程序和所谓的 PCIe 子系统进行枚举。
正如名字"switch"所说,它是透明的。尽管如此,一些交换机具有额外的功能来编程 link 计数、通道计数、QoS、热故障转移,...
PCIe 开关在 PCIe 子系统驱动程序枚举时也已配置。
这本书可能有帮助:PCI Express Technology 3.0 来自 Mindshare Press。
我们计划用一个Xilinx FPGA 开发一个独立板,需要与多个板载模块进行通信。其中一些模块具有 PCIe 接口,因此可以用作 PCIe 端点。我们在这个领域没有太多经验,但到目前为止我们知道的是我们需要使用 FPGA 内部的 PCIe IP 内核,作为根端口,与这些芯片进行通信。据我了解,我们还需要在 FPGA 和端点之间使用 PCIe 开关来扩展 PCIe 总线。为了管理这些设备之间的所有通信,我们正在考虑实施 MicroBlaze CPU 软核和 PetaLinux。
我的问题是:
谁负责 PCIe 端点枚举,PetaLinux OS 或根端口 IP 核?
中间有 PCIe 开关,我是否需要某种驱动程序才能工作,或者它是完全透明的,OS 或 Root 端口只能看到所有 PCIe 端点连接到下游端口?
PCIe 根联合体背后的操作系统、驱动程序和所谓的 PCIe 子系统进行枚举。
正如名字"switch"所说,它是透明的。尽管如此,一些交换机具有额外的功能来编程 link 计数、通道计数、QoS、热故障转移,...
PCIe 开关在 PCIe 子系统驱动程序枚举时也已配置。
这本书可能有帮助:PCI Express Technology 3.0 来自 Mindshare Press。