仅对英特尔可见 — GUID: gvf1621361183856
Ixiasoft
1. 有关用于PCI Express的 英特尔® FPGA R-tile Avalon® Streaming IP
2. IP架构和功能描述
3. 高级特性
4. 接口
5. 参数
6. 故障排查/调试
7. 用于 PCI Express* 的 英特尔® FPGA R-tile Avalon® Streaming IP用户指南存档
8. 用于PCI Express的英特尔FPGA R-tile Avalon® Streaming IP用户指南文档修订历史
A. 配置空间寄存器
B. 根端口枚举
C. Endpoint模式下Address Translation Services(ATS)的实现
D. TLP Bypass模式下转发到用户应用的数据包
E. R-Tile Avalon Streaming Intel FPGAIP for PCI Express支持的掩膜裕量
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 Length寄存器(地址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寄存器 (Address: 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寄存器(地址: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.3.1. Avalon® Streaming接口
4.3.2. 精确时间测量(PTM)接口(仅Endpoint)
4.3.3. 中断接口
4.3.4. 硬IP重配置接口
4.3.5. 错误(Error)接口
4.3.6. Completion Timeout接口
4.3.7. 配置拦截接口
4.3.8. 电源管理接口(Power Management Interface)
4.3.9. Hard IP状态接口
4.3.10. Page Request Services (PRS)接口(仅Endpoint)
4.3.11. Function-Level Reset (FLR)接口(仅Endpoint)
4.3.12. SR-IOV VF Error Flag接口(仅Endpoint)
4.3.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 Measurement (PTM)
仅对英特尔可见 — GUID: gvf1621361183856
Ixiasoft
B. 根端口枚举
本章节通过流程图来解释Root Port枚举过程。
枚举的目的是找到系统中所有连接的器件,并为每个连接的器件设置必要的寄存器并进行地址范围分配。
在枚举过程结束时,Root Port (RP)必须设置以下寄存器:
- Primary Bus, Secondary Bus and Subordinate Bus numbers
- Memory Base and Limit
- IO Base and IO Limit
- Max Payload Size
- Memory Space Enable bit
Endpoint (EP)还必须具有由RP设置的以下寄存器:
- Master Enable bit
- BAR Address
- Max Payload Size
- Memory Space Enable bit
- Severity bit
下图显示了连接器件的树形示例图,也是后面流程图的参考基础。
图 74. 实例系统中已连接器件的树形图
图 75. Root Port枚举流程图
图 76. Root Port枚举流程图(续)
图 77. Root Port枚举流程图(续)
注释:
- 对于Header Type 0和Header Type 1,Vendor ID和Device ID位于偏移0x00h。
- 对于PCIe Gen4,Header Type位于偏移0x0Eh(第二个DW)。如果位0设置为1,则表示该器件是一个Bridge(桥接);否则,它是一个EP。如果位7设置为0,表示是一个单一功能器件;否则,它是一个多功能器件。
- RP和non-RP器件的capability寄存器清单:
- 0x34h – Capabilities Pointers。使用该寄存器指向一个由Function实现的capabilities的链接列表:
- RP的Capabilities Pointer
- Address 40 -标识Power Management Capability ID
- Address 50 -标识MSI Capability ID
- Address 70 -标识PCI Express Capability结构
- non-RP的Capabilities Pointer
- Address 40 -标识Power Management Capability ID
- Address 70 -标识PCI Express Capability结构
- RP的Capabilities Pointer
- 0x34h – Capabilities Pointers。使用该寄存器指向一个由Function实现的capabilities的链接列表:
- EP没有与Primary, Secondary和Subordinate Bus编号相关的寄存器。
- Bridge/Switch IO Base和Limit寄存器偏移0x1Ch。这些寄存器是根据PCIe 4.0 Base Specification而设置。请参阅Base Specification(基本规范)的第7.5.1.3.6章节了解更准确的信息和流程。
- 对于EP Type 0头,BAR地址位于以下偏移:
- 0x10h – Base Address 0
- 0x14h – Base Address 1
- 0x18h – Base Address 2
- 0x1ch – Base Address 3
- 0x20h – Base Address 4
- 0x24h – Base Address 5
- 对于Bridge/Switch Type 1头,BAR地址位于以下偏移:
- 0x10h – Base Address 0
- 0x14h – Base Address 1
- 对于Bridge/Switch Type 1头,IO Base和IO限制寄存器都位于偏移0x1Ch。
- 对于Bridge/Switch Type 1头,Non-Prefetchable Memory Base和Limit寄存器都位于偏移0x20h。
- 对于Bridge/Switch Type 1头,Prefetchable Memory Base和Limit寄存器都位于偏移0x24h。
- 对于Bridge/Switch/EP Type 0 & 1头,Bus Master Enable位位于偏移0x04h (Command Register)位2。
- 对于Bridge/Switch/EP Type 0 & 1头,
- IO Space Enable位在偏移0x04h (Command Register) 位0。
- Memory Space Enable位在偏移0x04h (Command Register)位1。
- Bus Master Enable位在偏移0x04h (Command Register)位2。
- Parity Error Response位在偏移0x04h (Command Register)位6。
- SERR# Enable位在偏移0x04h (Command Register)位8。
- Interrupt Disable位在偏移0x04h (Command Register)位10。