赞
踩
7 Series FPGAs Integrated Block for PCI Express® core" 是在 Xilinx 的 7 系列 FPGA(如 Virtex-7, Kintex-7, Artix-7 等)中集成的专门用于处理 PCI Express(PCIe)协议的IP核,是 FPGA 架构中的一部分,被设计为高效且易于配置的方式来实现 PCIe 接口。它通常包含物理层(PHY)和链路层(MAC)的功能,可以大大简化用户实现 PCIe 接口的复杂性,并提升性能。
7 Series FPGAs Integrated Block IP核基本模式配置的流程如下:
Base Mode 参数定义了IP核的基本设置和属性。
Component Name
为PCIe IP核生成的输出文件的基础名称。名称必须以字母开头,并可以由以下字符组成:a到z、0到9以及“_”。
Mode
选择PCIe IP核配置为Basic模式或Advanced模式。其中,Basic模式可能只提供IP核的基本配置选项,而Advanced模式可能提供更多的定制选项和详细配置。
Device Port Type
指示PCI Express逻辑设备的类型,根复合体(Root Complex)或端点(Endpoint)等。
PCIe Block Location
从可用的集成块中选择,以启用生成特定位置的约束文件和引脚分配。
如果选择了Xilinx开发板,则此选项可能不可用,因为开发板通常已经预定义了PCIe块的位置。
Xilinx Development Board
选择Xilinx开发板以启用生成针对该开发板的特定约束文件。
ilicon Revision
选择硅版本,可能的选项包括Initial_ES(工程样本)或GES_and_Production(工程样本和生产版本)。其中,样本用于早期验证和测试,而生产版本用于最终产品。
Number of Lanes
选择初始的通道宽度。可用的宽度和与之关联的IP核如下表所示。较宽的通道宽度IP核如果连接到较小通道宽度的设备,则能够向下兼容到较小的通道宽度。这提供了灵活性,可以根据连接的设备动态调整带宽。
Maximum Link Speed
选择PCIe设备所支持的最大链路速度。
7系列FPGA的PCIe集成块支持不同的链路速度,如下表所示。这些速度包括PCIe 2.0的5 GT/s、PCIe 3.0的8 GT/s等。如果设备连接到一个支持较低链路速度的设备,较高的链路速度IP核可以向下兼容到较低的链路速度。
AXI Interface Frequency
选择PCIe IP核用户接口的时钟频率。每个通道宽度,都有多个频率选择,包括默认频率和替代频率,如表4-3所定义的那样。
如果可能的话,使用默认频率。选择替代频率并不会在IP核中导致吞吐量的差异,但它允许用户应用以不同的速度运行。
AXI Interface Width
择AXI接口的宽度,如表4-4所定义。默认接口宽度是可能的最低接口宽度。
根据需求选择合适的AXI接口宽度。较宽的AXI接口可以提供更高的数据传输带宽,但也会占用更多的FPGA资源。
Reference Clock Frequency
选择sys_clk上提供的参考时钟的频率。
Tandem Configuration(串联配置)
允许将两个FPGA设备配置为单一PCIe设备,提供更高的带宽或冗余。
选项:无(None)、Tandem PROM和Tandem PCIe。支持的设备包括K325T、K410T、K420T、V485T和K160T。对于Zynq 7Z030、7Z045和7Z100设备,仅支持Tandem PROM选项,不支持Tandem PCIe模式。
PIPE Mode Simulations(PIPE模式仿真)
Enable External GT Channel DRP
将外部GT通道(Gigabit Transceiver通道)的DRP(Dynamic Reconfiguration Port)端口引出到IP核顶层。DRP端口用于动态地重新配置GT通道的参数。
Enable External Startup Primitive
启用STARTUP基本单元。STARTUP基本单元通常用于在FPGA启动时执行一些特定的初始化操作。默认情况下,这个参数是禁用的。
Additional Transceiver Control and Status Ports
提供了对PCIe收发器的额外控制和状态访问。
这个页面用于自定义IP的初始值、类代码和Cardbus CIS指针信息。
重要提示:由于Device ID参数是根据设备系列(7系列IP中为7)、EP或RP模式、链路宽度和链路速度来评估的,因此当这些参数中的任何一个发生变化时,Device ID都会发生变化。例如,如果你首先更改Device ID的值,然后更改链路速度、链路宽度、EP或RP中的任何一个,那么Device ID值将被重新评估并替换你之前设置的值。因此,Xilinx建议首先更改链路宽度、链路速度和Device Port类型,然后再更改Device ID值。
用于标识设备的总体功能,并被分为三个字节大小的字段:基本类、子类和接口
Class Code Look-up Assistant
提供了一个选定的设备一般功能的基本类、子类和接口值。该查找助手工具仅显示选定功能的这三个值。
必须在类代码字段中输入这些值,以便它们被翻译成设备设置。
Cardbus CIS Pointer 是用于Cardbus系统的,它指向Cardbus卡的卡片信息结构。如果该字段非零,则必须在正确的位置存在适当的卡片信息结构。其默认值是0000_0000h,值范围是0000_0000H-FFFF_FFFFH。
Base Address Registers (BARs) 是PCI和PCIe设备中的寄存器,用于描述设备所需的资源,如内存地址空间和I/O端口空间。它们提供了设备和操作系统之间的通信机制,使系统可以为设备分配实际的资源地址,并使设备能够在这些资源上进行操作。在PCI Express的Endpoint配置中,BARs可以设置为32位或64位,具体取决于板卡上的FPGA芯片资源。在Endpoint配置中,可以支持多达六个32位BARs或三个64位BARs,以及扩展ROM BAR。在Root Port配置中,可以支持多达两个32位BARs或一个64位BAR,以及扩展ROM BAR。
BARs可以有两种大小:
32位BARs:地址空间可以从128字节到2吉字节不等,通常用于内存到I/O的映射。
64-bit BARs: 地址空间可以非常小,只有128字节,也可以非常大,达到8 exabytes(2^63字节),仅用于内存映射,不用于I/O映射。
所有BAR寄存器的共同选项:
Expansion ROM Base Address Register
根据PCI 3.0 Local Bus Specification [Ref 2],Expansion ROM BAR最大不应大于16 MB。选择一个大于16 MB的地址空间可能会导致一个不符合规范的IP核。
用于自定义IP的初始值、类代码(Class Code)和Cardbus CIS指针信息。这些参数主要涉及到PCI Express设备的一些基本属性和功能。
Buffering Optimized for Bus Mastering Applications:使设备向其链路伙伴通告针对总线主控应用优化的信用设置。这有助于优化总线主控模式下的数据传输性能。
Performance Level:决定了接收器和发射器的大小。显示的表格指定了与所选最大有效载荷大小相对应的每个性能级别选项的接收器和发射器设置,包括在发射器中缓冲的TLP(事务层数据包)数量、接收器大小、核心向链路伙伴通告的信用数量以及配置所需的Block RAM数量。
Finite Completions:设备将向其链路伙伴通告接收器中实际可用于完成的空间量。对于Endpoint来说,这不符合PCI Express基础规范修订版2.1的要求,因为Endpoint需要通告无限量的完成空间。
Disable Completion Timeout :允许禁用某些情况下的完成超时机制。
Completion Timeout:指定了设备可以处理的完成超时范围。不要让完成超时机制在少于10毫秒的时间内过期,以确保系统稳定性和可靠性。
Device Capabilities2 Register:显示发送到IP核的Device Capabilities2寄存器的值,不能更改。
7 Interrupts选项页
如图4-5所示的中断参数设置包括传统的中断设置和MSI(Message-Signaled Interrupts,消息信号中断)能力。这些设置用于配置和管理PCIe设备的中断行为,以便在需要时通知主机系统。根据具体的应用需求和系统架构,可以选择适当的中断设置。
Enable INTX:允许PCI Express设备使用INTx中断。INTx中断是传统的PCI中断机制,其中“x”可以是A、B、C或D,代表不同的中断线。
Interrupt PIN:如果设置为“None”,则表示不使用传统中断。这里提到“Only INT A is supported”,意味着只支持INT A中断线。
MSI是PCI Express设备使用的一种中断机制,它比传统的INTx中断更高效。
Enable MSI Capability Structure:允许PCI Express设备使用MSI中断,而不是传统的INTx中断。
64 bit Address Capable:该PCI Express功能支持发送64位消息地址。这允许更大的地址空间,可能对于某些高级功能或大量MSI消息是必要的。
Multiple Message Capable:选择从Root Complex请求的MSI向量的数量。MSI向量是MSI消息的不同类型或类别,每个向量可以映射到不同的中断处理程序。
Per Vector Masking Capable:该功能支持MSI每向量屏蔽。这意味着你可以单独地启用或禁用每个MSI向量,从而更精细地控制中断处理。
传统的INTx中断机制简单但可能效率较低,而MSI则提供了更高的效率和灵活性。设计中应根据硬件和需求,选择最适合设置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。