PCIE学习笔记(四)Xilinx FPGA PCI Express 硬核配置

您所在的位置:网站首页 设置pcie PCIE学习笔记(四)Xilinx FPGA PCI Express 硬核配置

PCIE学习笔记(四)Xilinx FPGA PCI Express 硬核配置

2023-12-25 08:25| 来源: 网络整理| 查看: 265

目录

2.3.2 配置核IP生成

2.3.2.1 Base模式

2.3.2.2 Advanced模式

本文主要介绍Xilinx 7系列FPGA的 IP 核配置与应用,使用的工具版本为VIVADO 2019。

2.3.2 配置核IP生成

打开VIVADO工具,点击 IP Catalog 搜索“PCIE”,双击打开”7 Series Integrated Block for Express(3.3)”.在7系列的PCIe IP核的配置包括两种模式:Base模式和Advanced模式,接下来我们主要介绍这两种模式的页面配置。

2.3.2.1 Base模式

Base模式的配置页面如下。该模式用来定义IP核的基本参数,包括组建名称、通道数和链路速率。

Basic 页面设置详解

在Mode中选择Basic。

Device /Port Type:选择终端模式还是Root Port模式。

PCIe Block Location:选择PCIe所在quad,该选择会生成特定的引脚和区域约束文件和引脚分配。

Xilinx Development Board:选择Xilinx开发板来生成开发板专用的约束文件,比如可以选择官方的KC705 REVA开发板。

Silicon Revision:选择Silicon版本,有Initial_ES或者GES_and_Production。

Number of Lanes:通道数。

Maximum Link Speed:最大的链路速率。

AXI Interface Frequency:AXI接口速率。也是用户的时钟速率。推荐使用默认的速率。参见下图。

1.        接口的数据位宽为静态选择的,不能通过动态链路的更改而改变。

2.        Artix-7设备不支持250MHz。

AXI Interface Width:AXI接口的数据位宽。

Reference Clock Frequency:参考时钟频率,请根据sys_clk提供的参考时钟的频率进行选择。

Tandem Configuration:Tandem配置方式,分为None,PROM和PCIe三种。Tandem支持的设备有K325T,K410T,K420T,V485T和K160T。

PIPE Mode Simulations:管道模式仿真。该选项组提供了三个单选按钮,用来选择两种仿真机制中的一种。

1.        None:不启用仿真的PIPE模型。(默认)。

2.        Enable Pipe Simulation:该选项产生一个连接到IP核的用来仿真的PIPE接口。该选项适用于终端和Root Port模式,并且只有在配置了Shared Logic (clocking) in example design option。才能被选中。

3.        Enable External PIPE Interface:该选项使用了外部第三方的总线功能模块(BFM)连接到PIPE接口。

Enable External Startup Primitive:启用STARTUP元件。

Enable External GT Channel DRP: 启用额外的GT和DRP 端口

Additional Transceiver Control and Status Ports:额外的收发器的监控接口。

IDs 页面设置详解

IDs标签页用来配置IP核的初始化参数,分类代码和卡总线CIS指针信息。

Vendor ID:供应商ID,Xilinx默认的Vendor ID为10EEh, 表示该IP核是Xilinx的产品。

Device ID:设备识别码,默认的设值为70h。该属性可以根据实际的应用被设置为任意值。如图中所示配置PCIE IP 核为2.5 Gps,X1 模式,其Device ID的只即为0x7011

Revision ID:设备或应用的版本号。默认为00h。

Subsystem Vendor ID:子系统供应商号,默认10EE。默认与Vendor ID相同。

Subsystem ID:子系统号,是Vendor的补充信息,默认与Device ID相同。

Class Code Look-up Assistant:提供了辅助设置Class Code的工具,可以根据设备通用的功能,自动设置Class Code中的参数。(建议选择)。

Class Code标签页是IP核的按用途分类信息,分类代码寄存器是只读的,用于标识设备的总体功能。有如下三部分组成。

Base Class:设备的基本类型,如选择内存控制 (Memory controller) 则对应的值为05。

Sub-Class:类型的进一步的细分类型,如选择RAM 则对应的值为00。

Interface:定义了专用的寄存器级的编程接口。允许不依赖于设备的软件,与该设备通讯。

Cardbus CIS Pointer:用于cardbus系统,并指向cardbus卡的卡片信息结构。如果该字段非零,则必须在正确的位置存在适当的卡片信息结构。默认值是0000_0000h;值范围是0000_0000h-FFFF_FFFFh。

BARs 页面配置详解

Base Address Registers (BARs)页面如下,用来配置基地址寄存器,BAR0~5为32bit的参数。

终端模式的IP核的配置空间,支持6个32-bit的BAR或者3个64

bit的BAR(如Bar0使用了64bit则Bar1将会被自动disable),以及扩展的ROM BAR。

而Root Port配置空间支持2个32bit的BAR,或则1个64bit的BAR,以及扩展的ROM BAR。

32-bit BAR:存储和I/O寻址空间在128B—2GB之间。

64-bit BAR:存储和I/O寻址空间在128B—8GB之间。

BARx Enabled:使能该BAR。

Type:该BAR为存储还是I/O类型。

Size:BAR大小。

BAR的大小的设置参考下图。

Prefetchable:存储空间是否具有预读取的能力。

Value:BARx基地址。

Expansion ROM Base Address Register:扩展的ROM基地址寄存器。按照PCI 3.0的总线规范,该BAR的大小不能超过16MB。

建议在新的设计中避免使用I/O类型的BAR。

建议将不使用的BAR disable掉。

Core Capabilities 页面设置详解

Core Capabilities 页面用来配置IP的初始化参数,Class Code和Cardbus CIS指针信息。

Capabilities Register:

Capability Version:定义了PCI-SIG®定义的PCIe capability structure的版本号,该值不能更改。Device Port Type:定义了PCI Express逻辑设备的类型。Slot Implemented:指定与该端口链路连接的槽。(只在Root Port模式下使用)。Capabilities寄存器:表示Capabilities寄存器的值,不可修改。

Device Capabilities Register:

Max Payload Size:设置PCIE支持的最大数据包,可配置128B、256B、512B、1024B。Device Capabilities Register:设备功能寄存器的值,不可修改。

Block RAM配置选项:

Buffering Optimized for Bus Mastering Applications:该选项将会告诉远端设备,其授权机制专门为总线管理应用而优化过。Performance Level:选择性能的级别,该选项将会决定接收器和发送器的大小尺寸。性能越高,相对地消耗的资源越大。

Device Capabilities2 Register:显示Device Capabilities2寄存器的值,不可修改。

Interrupt 页面配置详解

Interrupt页面用来设置PCI兼容的中断和MSI中断仿真的参数。PCIE支持两种中断方式,第一种是PCI总线的中断方式,模拟中断 引脚INTx的中断通知方式,与现行的PCI总线驱动程序核操作系统兼容;第二种是MSI(Message Signaled Interrupt)方式。MSI中断是通过存储器写操作边沿触发的,和原来的INTx方式驱动不兼容。

Enable INTX:使能INTX(PCI兼容传统的PCI中断信号)。

Interrupt PIN:只支持INTA的中断信号。

Enable MSI Capability Structure:使能MSI功能结构。

64 bit Address Capable:该选项可以发送64-bit的消息地址。

Multiple Message Capable:选择向Root Complex请求的中断矢量的数量,最大256个。

Per Vector Masking Capable:该选项可以指定为每个中断矢量启用掩码功能。

2.3.2.2 Advanced模式 Basic页面设置详解

Basic标签页,中的Mode选择Advanced模式,即进入高级配置模式

与Basic模式相同。

Enable External GT Channel DRP:该选项将产生一个DRP接口,用来给用户动态配置IP核属性。(不建议用户使用,需要在Xilinx技术支持的指导下操作)。

Identifiers (IDs)

与Basic模式相同。

Address Registers (BARs)

与Basic模式相同。

Core Capabilities页面配置

本节仅描述和base模式不一样的部分:

Device Capabilities寄存器配置参数有: Extended Tag Field:扩展的发送包的标志字段,启用时为Tag字段为8-bit,不启用时Tag字段为5-bit。Extended Tag Default:默认的扩展标记。启用时Device Control寄存器的第8Bit位被设置为1,用来支持拓展的Tag使能(ECN)。Phantom Functions:表示支持使用未声明的函数号,以通过逻辑地将未声明的函数号(称为Phantom函数)与标记标识符结合,来扩展未完成的事务数。Acceptable L0s Latency:表示由于从L0s状态转换到L0状态,端口能够承受的可接受的总延迟。Acceptable L1 Latency:表示从L1状态转换到L0状态时,端点可以承受的可接受延迟。 PCIe 2.1 Specific: UR Atomic:如果选中,内核将自动响应原子操作请求,并发出不支持的请求。如果未选中,内核将原子操作TLPs传递给用户。32-bit AtomicOp Completer Support:表示支持32-bit的原子响应完成机制。64-bit AtomicOp Completer Support:表示支持64-bit的原子响应完成机制。128-bit CAS Completer Support:表示支持128-bit的比较和交换的完成机制。TPH Completer Supported:表示支持TPH的完成机制。 Link Registers页面配置

Supported Link Speed:链路速率,不可修改。Maximum Link Width:链路通道数:不可修改。ASPM Optionality:是否使能ASPM(活动状态的电源管理)。DLL Link Active Reporting Capability:是否启用报告数据链路控制和管理状态机的DL_Active状态信号。Link Capabilities Register:Link Capabilities寄存器的值,不可修改。Hardware Autonomous Speed Disable:该选项禁止硬件因设备特定原因改变链路速度,而不是试图通过降低链路速度来纠正不可靠的链路操作。Read Completion Boundary:Root Port模式下,读包的边界。Target Link Speed:设置链路运行速度的上限。这用于设置远端设备需要遵从的速度模式。该值在链接速度设置为5.0 Gb/s时才能进行编辑。Compliance De-emphasis:链路为5.0Gb/s时上游设备的预强调的级别。不可修改。Link Control Register 1:Link Control寄存器的值。不可修改。Link Control Register 2:Link Control 2寄存器的值。不可修改。Link Status Register(链路状态寄存器)的参数:

                Enable Slot Clock Configuration:表示终端模式下使用的是连接器提供的物理的参考时钟,如果使用的是独立的参考时钟,则必须不能选中该选项。

Interrupts页面配置详解

Enable MSIx Capability Structure:是否使能MSIx功能结构。MSIx Table Setting:定义MSI-X表的结构。

                Table Size:表的大小。

                Table Offset:表基地址相对基地址寄存器的偏移。

                BAR Indicator:表示在配置空间中映射MSI-X表的基地址寄存器。如果基地址寄存器为64-bit,则由低的DW来表示。

MSIx Pending Bit Array (PBA) Settings:定义了MSI-X的PBA结构。

                PBA Offset:MSI-X PBA基地址相对基地址寄存器的偏移。

                PBA BAR Indicator:表示在配置空间中映射MSI-X PBA的基地址寄存器。

其他选项通base 模式。

 

Power Management页面配置

该标签页用来设置电源管理寄存器的参数,功率消耗(power consumption包括整个应用的功率消耗,如I/O扇出的功率等)和功率耗散(power dissipation 只包括芯片自身的热消耗和电阻压降等)的参数。

Device Specific Initialization:是否需要使用特殊的设备初始化功能,如果启用该选项,则设备进入D0未初始化状态后由专门的初始化程序来对设备进行初始化。标准的通用PCI设备,通常不会用到该选项。D1 Support:支持D1的电源状态。D2 Support:支持D2的电源状态。PME Support From:表示可以通过置位cfg_pm_wake信号来切换电源状态。Power Consumption:7系列总是将功率消耗报告为0W。Power Dissipated:7系列总是将功率耗散报告为0W。 Extended Capabilities页面配置

(暂略)。

Extended Capabilities 2页面配置

(暂略)。

TL Settings页面配置

(暂略)。

DL and PL Settings 页面配置

(暂略)。

Shared Logic页面配置

设置在example中的多个实例中共享时钟还是共享GT_COMMON。

Core Interface Parameters页面配置

用户可以选择要使用的核心接口参数。默认情况下,所有端口都被取出。对于某些情况,如果不使用某些接口,您可能会选择禁用它们。当禁用时,接口(端口)将从核心顶部删除。

Add. Debug Options 页面配置

该选项使能JTAG调试功能。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3