仅对英特尔可见 — GUID: vfi1613585239431
Ixiasoft
1. 有关R-tile Avalon® 流 Intel® FPGA IP用于PCI Express
2. IP架构和功能描述
3. 高级功能特性
4. 接口
5. 参数
6. 用于 PCI Express* 的 Intel® FPGA R-tile Avalon® Streaming IP用户指南存档
7. 用于PCI Express的Intel FPGA R-tile Avalon® Streaming IP用户指南文档修订历史
A. 配置空间寄存器
B. 根端口枚举
C. Endpoint模式下Address Translation Services(ATS)的实现
D. TLP Bypass模式下转发到用户应用的数据包
3.2.2.5.1. VirtIO Common Configuration Capability寄存器(地址: 0x012)
3.2.2.5.2. VirtIO Common Configuration Capability寄存器(地址: 0x013)
3.2.2.5.3. VirtIO Common Configuration BAR Offset寄存器(地址: 0x014)
3.2.2.5.4. VirtIO Common Configuration Structure长度寄存器(地址:0x015)
3.2.2.5.5. VirtIO Notifications Capability寄存器(地址:0x016)
3.2.2.5.6. VirtIO Notifications BAR Indicator寄存器(地址:0x017)
3.2.2.5.7. VirtIO Notifications BAR Offset寄存器(地址:0x018)
3.2.2.5.8. VirtIO Notifications Structure长度寄存器(地址:0x019)
3.2.2.5.9. VirtIO Notifications Notify Off Multiplier寄存器(地址:0x01A)
3.2.2.5.10. VirtIO ISR Status Capability寄存器(地址:0x02F)
3.2.2.5.11. VirtIO ISR Status BAR Indicator寄存器(地址:0x030)
3.2.2.5.12. VirtIO ISR Status BAR Offset寄存器(地址:0x031)
3.2.2.5.13. VirtIO ISR Status Structure长度寄存器(地址:0x032)
3.2.2.5.14. VirtIO Device Specific Capability寄存器(地址:0x033)
3.2.2.5.15. VirtIO Device Specific BAR Indicator寄存器(地址:0x034)
3.2.2.5.16. VirtIO Device Specific BAR Offset寄存器(地址:0x035)
3.2.2.5.17. VirtIO Device Specific Structure长度寄存器(地址:0x036)
3.2.2.5.18. VirtIO PCI Configuration Access Capability寄存器(Address: 0x037)
3.2.2.5.19. VirtIO PCI Configuration Access BAR Indicator寄存器(地址:0x038)
3.2.2.5.20. VirtIO PCI Configuration Access BAR Offset寄存器(地址:0x039)
3.2.2.5.21. VirtIO PCI Configuration Access Structure长度寄存器(地址:0x03A)
3.2.2.5.22. VirtIO PCI Configuration Access Data寄存器(地址:0x03B)
4.4.1. Avalon® 流接口
4.4.2. 精确时间测量(PTM)接口(仅端点)
4.4.3. 中断接口
4.4.4. Hard IP重配置接口
4.4.5. Error接口
4.4.6. Completion Timeout接口
4.4.7. Configuration Intercept接口
4.4.8. 电源管理接口
4.4.9. Hard IP状态接口
4.4.10. Page Request Services (PRS)接口(仅Endpoint)
4.4.11. Function-Level Reset (FLR,功能层复位)接口(仅Endpoint)
4.4.12. SR-IOV VF Error Flag接口(仅Endpoint)
4.4.13. 通用VSEC接口
5.2.3.1. 器件Capabilities
5.2.3.2. VirtIO参数
5.2.3.3. 链路Capabilities
5.2.3.4. Legacy中断管脚寄存器
5.2.3.5. MSI Capabilities
5.2.3.6. MSI-X Capabilities
5.2.3.7. 插槽Capabilities
5.2.3.8. Latency Tolerance Reporting (LTR)
5.2.3.9. Process Address Space ID (PASID)
5.2.3.10. 器件序列号Capability
5.2.3.11. Page Request Service (PRS)
5.2.3.12. Access Control Service (ACS)
5.2.3.13. 电源管理
5.2.3.14. Vendor Specific Extended Capability (VSEC,供应商指定扩展性能)寄存器
5.2.3.15. TLP Processing Hints (TPH)
5.2.3.16. Address Translation Services (ATS) Capabilities
5.2.3.17. Precision Time Management (PTM)
仅对英特尔可见 — GUID: vfi1613585239431
Ixiasoft
2.3.1. 时钟
PCIe Hard IP模式中,R-tile Avalon Streaming IP for PCI Express* 有4个主要时钟域:
- PHY时钟域(例如,core_clk域):该时钟与SerDes并行时钟同步。
- EMIB/FPGA架构接口时钟域(例如,pld_clk域):该时钟来源于SerDes所使用的参考时钟(refclk0) 。但是该时钟从独立内核PLL生成。
- 应用程序时钟域(coreclkout_hip),用于频带内信号:该时钟是R-tile IP的输出,与pld_clk频率相同。
- 应用程序时钟域(slow_clk),用于边带信号:该时钟是R-tile IP的另外一个输出。是coreclkout_hip除以2/4后的版本。
图 2. PCIe模式中的时钟域
模式 | PHY时钟频率 | 应用程序时钟频率 |
---|---|---|
PCIe Gen1 | 1000 MHz | Gen1仅支持通过链路下行训练,而非本地支持。因此,应用程序时钟频率取决于您在IP Parameter Editor中选择的配置。例如,如果您选择Gen3配置,则应用程序时钟频率为250 MHz - 300 MHz。 |
PCIe Gen2 | 1000 MHz | Gen2仅支持通过链路下行训练,而非本地支持。因此,应用程序时钟频率取决于您在IP Parameter Editor中选择的配置。例如,如果您选择Gen3配置,则应用程序时钟频率为250 MHz - 300 MHz。 |
PCIe Gen3 | 1000 MHz | 250 MHz - 500 MHz (*) |
PCIe Gen4 | 1000 MHz | 250 MHz - 500 MHz (*) |
PCIe Gen5 | 1000 MHz | 400 MHz - 500 MHz |
注: (*) Application Clock Frequency在Gen3和Gen4的最高频率仅适用于OPN编号中带有后缀R2或R3的器件。有关更多详细信息,请参阅 Intel® Agilex™ FPGA和SoC器件概述。
注: 对于链路下行训练的情况,当在Gen3、Gen4或Gen5配置R-tile时,链路会被下行训练到一个较低速度,应用程序时钟频率将继续以PLD Clock Frequency参数中设置的配置频率运行。例如,当PCIe Hard IP Mode参数设置为Gen5 1x16,而PLD Clock Frequency参数为500 MHz,即使链路已经下行训练到Gen4或更低,PLD时钟频率将仍然以500 MHz运行。
R-tile有两个封装级参考时钟输入,refclk0和refclk1。必须将100 MHz参考时钟源连接到这两个输入。根据端口模式,您可使用单个时钟源或者两个独立时钟源驱动这两个refclk输入。
在1x16和4x4模式中,请使用单个时钟源(通过扇出缓冲区)驱动refclk输入,如下图所示。
图 3. 1x16和4x4模式中使用单个100 MHz时钟源
在2x8模式中,您可以使用单个100 Mhz时钟源(如上图所示),或者两个独立的100 MHz源(参看2x8模式中使用独立1002x8模式中使用独立100 MHz时钟源)来驱动refclk输入,具体根据您的系统架构。例如,如果您的系统中将每个x8端口连接到单独的CPU/Root Complex,则可能需要使用独立时钟源来驱动这些refclk输入。该情况下,Port 0的refclk0输入必须始终运行,因为它为R-tile核PLL提供参考时钟,而该PLL通过EMIB控制R-tile和FPGA架构之间的数据传输。如果该时钟停止运行,则Port 0链路将停止,并且Port 1将无法与FPGA架构通信。以下是在2x8模式中实现两个独立refclks的指导:
- 如果该链路可以处理两个独立参考时钟,则使用板载自由运行振荡器驱动R-tile的refclk0。
- 如果链路需要使用公共参考时钟(common reference clock),那么需要PERST#指示该参考时钟的稳定性。如果该参考时钟停止工作,则必须复位整个R-tile。
图 4. 2x8模式中使用独立的100 MHz时钟源