Visible to Intel only — GUID: xip1614817765005
Ixiasoft
1. Acronyms
2. Introduction
3. IP Architecture and Functional Description
4. Advanced Features
5. Interfaces
6. Parameters
7. Testbench
8. Troubleshooting/Debugging
9. F-Tile Avalon Streaming Intel FPGA IP for PCI Express User Guide Archives
10. Revision History of the F-Tile Avalon Streaming Intel FPGA IP for PCI Express User Guide
A. Configuration Space Registers
B. Implementation of Address Translation Services (ATS) in Endpoint Mode
C. Packets Forwarded to the User Application in TLP Bypass Mode
D. Root Port Enumeration
E. Bifurcated Endpoint Support for Independent Resets
3.1. Architecture
3.2. Functional Description
3.3. Avalon-ST TX/RX
3.4. Interrupts
3.5. Completion Timeout
3.6. Hot Plug
3.7. Power Management
3.8. Configuration Output Interface (COI)
3.9. Configuration Intercept Interface (EP Only)
3.10. Hard IP Reconfiguration Interface
3.11. PHY Reconfiguration Interface
3.12. Page Request Service (PRS) (EP Only)
5.1. Overview
5.2. Clocks and Resets
5.3. Serial Data Interface
5.4. Avalon-ST Interface
5.5. Interrupt Interface
5.6. Hard IP Status Interface
5.7. Error Interface
5.8. 10-bit Tag Support Interface
5.9. Completion Timeout Interface
5.10. Power Management Interface
5.11. Hot Plug Interface (RP Only)
5.12. Configuration Output Interface
5.13. Configuration Intercept Interface (EP Only)
5.14. Hard IP Reconfiguration Interface
5.15. PHY Reconfiguration Interface
5.16. Page Request Service (PRS) Interface (EP Only)
5.17. FLR Interface Signals
5.18. PTM Interface Signals
5.19. VF Error Flag Interface Signals
5.20. VirtIO PCI Configuration Access Interface Signals
6.2.3.1. Device Capabilities
6.2.3.2. Link Capabilities
6.2.3.3. Legacy Interrupt Pin Register
6.2.3.4. MSI Capabilities
6.2.3.5. MSI-X Capabilities
6.2.3.6. Slot Capabilities
6.2.3.7. Latency Tolerance Reporting (LTR)
6.2.3.8. Process Address Space ID (PASID)
6.2.3.9. Device Serial Number Capability
6.2.3.10. Page Request Service (PRS)
6.2.3.11. Access Control Service (ACS) Capabilities
6.2.3.12. Power Management
6.2.3.13. Vendor Specific Extended Capability (VSEC) Registers
6.2.3.14. Precision Time Measurement (PTM)
6.2.3.15. Address Translation Services (ATS)
6.2.3.16. TLP Processing Hints (TPH)
6.2.3.17. VirtIO Parameters
7.5.1. ebfm_barwr Procedure
7.5.2. ebfm_barwr_imm Procedure
7.5.3. ebfm_barrd_wait Procedure
7.5.4. ebfm_barrd_nowt Procedure
7.5.5. ebfm_cfgwr_imm_wait Procedure
7.5.6. ebfm_cfgwr_imm_nowt Procedure
7.5.7. ebfm_cfgrd_wait Procedure
7.5.8. ebfm_cfgrd_nowt Procedure
7.5.9. BFM Configuration Procedures
7.5.10. BFM Shared Memory Access Procedures
7.5.11. BFM Log and Message Procedures
7.5.12. Verilog HDL Formatting Functions
A.3.1. Intel-Defined VSEC Capability Header (Offset 00h)
A.3.2. Intel-Defined Vendor Specific Header (Offset 04h)
A.3.3. Intel Marker (Offset 08h)
A.3.4. JTAG Silicon ID (Offset 0x0C - 0x18)
A.3.5. User Configurable Device and Board ID (Offset 0x1C - 0x1D)
A.3.6. General Purpose Control and Status Register (Offset 0x30)
A.3.7. Uncorrectable Internal Error Status Register (Offset 0x34)
A.3.8. Uncorrectable Internal Error Mask Register (Offset 0x38)
A.3.9. Correctable Internal Error Status Register (Offset 0x3C)
A.3.10. Correctable Internal Error Mask Register (Offset 0x40)
Visible to Intel only — GUID: xip1614817765005
Ixiasoft
4.1.2.2. VirtIO Registers
The following VirtIO capability structure registers references apply to each PF and VF. Addresses shown are register addresses.
Capability | Start Byte Address | Last Byte Address | DW Count |
---|---|---|---|
Type0 | 0x00 | 0x3F | 16 |
PM (PF only) | 0x40 | 0x47 | 2 |
VirtIO Common Configuration | 0x48 | 0x57 | 4 |
VirtIO Notifications | 0x58 | 0x6B | 5 |
Reserved | 0x6C | 0x6F | 1 |
PCIe | 0x70 | 0xA3 | 13 |
Reserved | 0xA4 | 0xAF | 3 |
MSIX | 0xB0 | 0xBB | 3 |
VirtIO ISR Status | 0xBC | 0xCB | 4 |
VirtIO Device-Specific Configuration | 0xCC | 0xDB | 4 |
VirtIO PCI Configuration Access | 0xDC | 0xEF | 5 |
Reserved | 0xF0 | 0xFF | 4 |
Address | Name | Description |
---|---|---|
VirtIO Common Configuration Capability Structure | ||
012 | Common Configuration Capability Register | Capability ID, next capability pointer, capability length |
013 | BAR Indicator Register | Lower 8 bits indicate which BAR holds the structure |
014 | BAR Offset Register | Indicates starting address of the structure within the BAR |
015 | Structure Length Register | Indicates length of structure |
VirtIO Notifications Capability Structure | ||
016 | Notifications Capability Register | Capability ID, next capability pointer, capability length |
017 | BAR Indicator Register | Lower 8 bits indicate which BAR holds the structure |
018 | BAR Offset Register | Indicates starting address of the structure within the BAR |
019 | Structure Length Register | Indicates length of structure |
01A | Notify Off Multiplier | Multiplier for queue_notify_off |
VirtIO ISR Status Capability Structure | ||
02F | ISR Status Capability Register | Capability ID, next capability pointer, capability length |
030 | BAR Indicator Register | Lower 8 bits indicate which BAR holds the structure |
031 | BAR Offset Register | Indicates starting address of the structure within the BAR |
032 | Structure Length Register | Indicates length of structure |
VirtIO Device-Specific Capability Structure (Optional) | ||
033 | Device Specific Capability Register | Capability ID, next capability pointer, capability length |
034 | BAR Indicator Register | Lower 8 bits indicate which BAR holds the structure |
035 | BAR Offset Register | Indicates starting address of the structure within the BAR |
036 | Structure Length Register | Indicates length of structure |
VirtIO PCI Configuration Access Structure | ||
037 | PCI Configuration Access Capability Register | Capability ID, next capability pointer, capability length |
038 | BAR Indicator Register | Lower 8 bits indicate which BAR holds the structure |
039 | BAR Offset Register | Indicates starting address of the structure within the BAR |
03A | Structure Length Register | Indicates length of structure |
03B | PCI Configuration Data | Data for BAR access |
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Configuration Type | RO | 0x01 |
23:16 | Capability Length | RO | 0x10 |
15:8 | Next Capability Pointer | RO | 0x58 |
7:0 | Capability ID | RO | 0x09 |
Note: The capability register identifies that this is a vendor-specific capability. It also identifies the structure type.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Padding | RO | 0x00 |
23:16 | Padding | RO | 0x00 |
15:8 | Padding | RO | 0x00 |
7:0 | BAR Indicator | RO | Programmable |
Note: The Bar Indicator field holds the values 0x0 to 0x5 specifying a Base Address register (BAR) belonging to the function located beginning at 10h in PCI Configuration Space. The BAR is used to map the structure into the memory space. Any other value is reserved for future use.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | BAR Offset | RO | Programmable |
Note: This register indicates where the structure begins relative to the base address associated with the BAR. The alignment requirements of the offset are indicated in each structure-specific section.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | Structure Length | RO | Programmable |
Note: The capability register identifies that this is a vendor-specific capability. It also identifies the structure type.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Configuration Type | RO | 0x02 |
23:16 | Capability Length | RO | 0x14 |
15:8 | Next Capability Pointer | RO | 0xBC |
7:0 | Capability ID | RO | 0x09 |
Note: The capability register identifies that this is a vendor-specific capability. It also identifies the structure type.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Padding | RO | 0x00 |
23:16 | Padding | RO | 0x00 |
15:8 | Padding | RO | 0x00 |
7:0 | BAR Indicator | RO | Programmable |
Note: The Bar Indicator field holds the values 0x0 to 0x5 specifying a Base Address register (BAR) belonging to the function located beginning at 10h in PCI Configuration Space. The BAR is used to map the structure into memory space. Any other value is reserved for future use.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | BAR Offset | RO | 31:0 |
Note: This register indicates where the structure begins relative to the base address associated with the BAR. The alignment requirements of the offset are indicated in each structure-specific section.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | Structure Length | RO | 31:0 |
Note: The length register indicates the length of the structure. The length may include padding, fields unused by the driver, or future extensions.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | Multiplier for queue_notify_off | RO | 31:0 |
Note: The notify off multiplier register indicates the multiplier for queue_notify_off in the structure.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Configuration Type | RO | 0x03 |
23:16 | Capability Length | RO | 0x10 |
15:8 | Next Capability Pointer | RO | If Device-Specific Capability is present, then points to 0xCC, else points to 0xDC. |
7:0 | Capability ID | RO | 0x09 |
Note: The capability register identifies that this is a vendor-specific capability. It also identifies the structure type.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Padding | RO | 0x00 |
23:16 | Padding | RO | 0x00 |
15:8 | Padding | RO | 0x00 |
7:0 | BAR Indicator | RO | Programmable |
Note: The Bar Indicator field holds the values 0x0 to 0x5 specifying a Base Address register (BAR) belonging to the function located beginning at 10h in PCI Configuration Space. The BAR is used to map the structure into memory space. Any other value is reserved for future use.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | BAR Offset | RO | Programmable |
Note: This register indicates where the structure begins relative to the base address associated with the BAR. The alignment requirements of the offset are indicated in each structure-specific section.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | Structure Length | RO | Programmable |
Note: The length register indicates the length of the structure. The length may include padding, fields unused by the driver, or future extensions.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Configuration Type | RO | 0x04 |
23:16 | Capability Length | RO | 0x10 |
15:8 | Next Capability Pointer | RO | 0xDC |
7:0 | Capability ID | RO | 0x09 |
Note: The capability register identifies that this is a vendor-specific capability. It also identifies the structure type.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Padding | RO | 0x00 |
23:16 | Padding | RO | 0x00 |
15:8 | Padding | RO | 0x00 |
7:0 | BAR Indicator | RO | Programmable |
Note: The BAR Indicator field holds the values 0x0 to 0x5 specifying a Base Address register (BAR) belonging to the function located beginning at 10h in PCI Configuration Space. The BAR is used to map the structure into memory space. Any other value is reserved for future use.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | BAR Offset | RO | Programmable |
Note: This register indicates where the structure begins relative to the base address associated with the BAR. The alignment requirements of the offset are indicated in each structure-specific section.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | Structure Length | RO | Programmable |
Note: The length register indicates the length of the structure. The length may include padding, fields unused by the driver, or future extensions.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Configuration Type | RO | 0x05 |
23:16 | Capability Length | RO | 0x14 |
15:8 | Next Capability Pointer | RO | 0x00 |
7:0 | Capability ID | RO | 0x09 |
Note: The capability register identifies that this is a vendor-specific capability. It also identifies the structure type.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:24 | Padding | RO | 0x00 |
23:16 | Padding | RO | 0x00 |
15:8 | Padding | RO | 0x00 |
7:0 | BAR Indicator | RWS | Undetermined |
Note: The BAR Indicator field holds the values 0x0 to 0x5 specifying a Base Address register (BAR) belonging to the function located beginning at 10h in PCI Configuration Space. The BAR is used to map the structure into memory space. Any other value is reserved for future use.
Note: Register attribute RWS means RW with sticky behavior. It doesn’t get reset by FLR, Hot Reset nor Warm Reset.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | BAR Offset | RWS | Undetermined |
Note: This register indicates where the structure begins relative to the base address associated with the BAR. The alignment requirements of the offset are indicated in each structure-specific section.
Note: Register attribute RWS means RW with sticky behavior. It doesn’t get reset by FLR, Hot Reset nor Warm Reset.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | Structure Length | RWS | Undetermined |
Note: The length register indicates the length of the structure. The length may include padding, fields unused by the driver, or future extensions.
Note: Register attribute RWS means RW with sticky behavior. It doesn’t get reset by FLR, Hot Reset nor Warm Reset.
Bit Location | Description | Access Type | Default Value |
---|---|---|---|
31:0 | PCI Configuration Data | RWS | Undetermined |
Note: The PCI configuration data register indicates the data for BAR access.
Note: Register attribute RWS means RW with sticky behavior. It doesn’t get reset by FLR, Hot Reset nor Warm Reset.