Visible to Intel only — GUID: jei1666634615805
Ixiasoft
1. About the R-Tile Avalon® Streaming Intel® FPGA IP for PCI Express
2. IP Architecture and Functional Description
3. Advanced Features
4. Interfaces
5. Parameters
6. Troubleshooting/Debugging
7. R-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* User Guide Archives
8. Document Revision History for the R-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* User Guide
A. Configuration Space Registers
B. Root Port Enumeration
C. Implementation of Address Translation Services (ATS) in Endpoint Mode
D. Packets Forwarded to the User Application in TL Bypass Mode
E. Margin Masks for the R-Tile Avalon Streaming Intel FPGA IP for PCI Express
3.2.2.5.1. VirtIO Common Configuration Capability Register (Address: 0x012)
3.2.2.5.2. VirtIO Common Configuration BAR Indicator Register (Address: 0x013)
3.2.2.5.3. VirtIO Common Configuration BAR Offset Register (Address: 0x014)
3.2.2.5.4. VirtIO Common Configuration Structure Length Register (Address 0x015)
3.2.2.5.5. VirtIO Notifications Capability Register (Address: 0x016)
3.2.2.5.6. VirtIO Notifications BAR Indicator Register (Address: 0x017)
3.2.2.5.7. VirtIO Notifications BAR Offset Register (Address: 0x018)
3.2.2.5.8. VirtIO Notifications Structure Length Register (Address: 0x019)
3.2.2.5.9. VirtIO Notifications Notify Off Multiplier Register (Address: 0x01A)
3.2.2.5.10. VirtIO ISR Status Capability Register (Address: 0x02F)
3.2.2.5.11. VirtIO ISR Status BAR Indicator Register (Address: 0x030)
3.2.2.5.12. VirtIO ISR Status BAR Offset Register (Address: 0x031)
3.2.2.5.13. VirtIO ISR Status Structure Length Register (Address: 0x032)
3.2.2.5.14. VirtIO Device Specific Capability Register (Address: 0x033)
3.2.2.5.15. VirtIO Device Specific BAR Indicator Register (Address: 0x034)
3.2.2.5.16. VirtIO Device Specific BAR Offset Register (Address 0x035)
3.2.2.5.17. VirtIO Device Specific Structure Length Register (Address: 0x036)
3.2.2.5.18. VirtIO PCI Configuration Access Capability Register (Address: 0x037)
3.2.2.5.19. VirtIO PCI Configuration Access BAR Indicator Register (Address: 0x038)
3.2.2.5.20. VirtIO PCI Configuration Access BAR Offset Register (Address: 0x039)
3.2.2.5.21. VirtIO PCI Configuration Access Structure Length Register (Address: 0x03A)
3.2.2.5.22. VirtIO PCI Configuration Access Data Register (Address: 0x03B)
4.3.1. Avalon® Streaming Interface
4.3.2. Precision Time Measurement (PTM) Interface (Endpoint Only)
4.3.3. Hot Plug Interface
4.3.4. Interrupt Interface
4.3.5. Hard IP Reconfiguration Interface
4.3.6. Error Interface
4.3.7. Completion Timeout Interface
4.3.8. Configuration Intercept Interface
4.3.9. Power Management Interface
4.3.10. Hard IP Status Interface
4.3.11. Page Request Services (PRS) Interface (Endpoint Only)
4.3.12. Function-Level Reset (FLR) Interface (Endpoint Only)
4.3.13. SR-IOV VF Error Flag Interface (Endpoint Only)
4.3.14. General Purpose VSEC Interface
5.2.3.1. Device Capabilities
5.2.3.2. VirtIO Parameters
5.2.3.3. Link Capabilities
5.2.3.4. Legacy Interrupt Pin Register
5.2.3.5. MSI Capabilities
5.2.3.6. MSI-X Capabilities
5.2.3.7. Slot Capabilities
5.2.3.8. Latency Tolerance Reporting (LTR)
5.2.3.9. Process Address Space ID (PASID)
5.2.3.10. Device Serial Number Capability
5.2.3.11. Page Request Service (PRS)
5.2.3.12. Access Control Service (ACS)
5.2.3.13. Power Management
5.2.3.14. Vendor Specific Extended Capability (VSEC) Registers
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)
Visible to Intel only — GUID: jei1666634615805
Ixiasoft
4.3.1.4.1. Application Logic Guidelines for the Avalon Streaming TX Interface
The following guidelines must be considered by the Application logic:
- Application logic must adhere to the requirements for the pX_tx_st_ready_o signal behavior as outlined in Avalon Streaming TX Interface pX_tx_st_ready_o Behavior.
- Transmission of a TLP must be uninterrupted when pX_tx_st_ready_o is asserted. The application must not deassert pX_tx_stN_valid_i between pX_tx_stN_sop_i and pX_tx_stN_eop_i unless there is backpressure from the R-Tile PCIe IP core indicated by the deassertion of pX_tx_st_ready_o.
Note: Failing to meet this guideline may cause the transmission of a TLP with an invalid LCRC.
- For the Configuration Mode 0 (1x16) in double-width mode, the start of a TLP (pX_tx_stN_sop_i) can only happen in segment 0 (st0) or segment 2 (st2) (i.e. a given TLP cannot start on segment 1 or segment 3).
-
For Configuration Mode 0 (1x16) in double-width mode, the header for segment 2 (st2_hdr) is allowed depending on the utilization for segment 0 and segment 1. Refer to the table below for the allowed conditions. Note that the table does not include all the signals for the Avalon Streaming TX interface. It only shows the relevant signals to highlight the valid cases where a TLP can be started on segment 2.
Table 59. Possible Combinations for the pX_tx_st2_sop_i in Configuration Mode 0 (1x16) Double-width Mode pX_tx_st0_sop_i pX_tx_st0_eop_i pX_tx_st0_hvalid_i pX_tx_st0_dvalid_i pX_tx_st1_sop_i pX_tx_st1_eop_i pX_tx_st1_hvalid_i pX_tx_st1_dvalid_i pX_tx_st2_sop_i pX_tx_st2_hvalid_i pX_tx_st2_dvalid_i 1'b1 1'b1 1'b1 1'b1 1'b0 1'b0 1'b0 1'b0 1'b1 1'b1 1'b1 1'b1 1'b0 1'b1 1'b1 1'b0 1'b1 1'b0 1'b1 1'b1 1'b1 1'b1 1'b0 1'b1 1'b0 1'b1 1'b0 1'b0 1'b0 1'b0 1'b1 1'b1 1'b1 1'b0 1'b0 1'b0 1'b1 1'b0 1'b1 1'b0 1'b1 1'b1 1'b1 1'b1 - For Configuration Mode 1 (2x8) and Configuration Mode 2 (4x4) in double-width mode, the header for segment 1 (st1_hdr) is allowed depending on the utilization for segment 0. Refer to the table below for the allowed conditions. Note that the table does not include all the signals for the Avalon Streaming TX interface. It only shows the relevant signals to highlight the valid cases where a TLP can be started on segment 1.
Table 60. Possible Combinations for the pX_tx_st1_sop_i in Configuration Mode 1 (2x8) and Configuration Mode 2 (4x4), Both in Double-width Mode pX_tx_st0_sop_i pX_tx_st0_eop_i pX_tx_st0_hvalid_i pX_tx_st0_dvalid_i pX_tx_st1_sop_i pX_tx_st1_hvalid_i pX_tx_st1_dvalid_i 1'b1 1'b1 1'b1 1'b1 1'b1 1'b1 1'b1 1'b0 1'b1 1'b0 1'b1 1'b1 1'b1 1'b1 - For a single TLP spanning across multiple segments, the application logic needs to send the TLP in the order of the segment index (segment st0 → st1 → st2 → st3 → st0).
- If the TLP length of the TLP being transmitted is greater than the segment size, the segment used to assert the pX_tx_stN_eop_i signal is dictated by the TLP length.
- If the TLP length being transmitted is less than the segment size (255 bits), the corresponding pX_tx_stN_eop_i signal needs to happen in the same segment where pX_tx_stN_sop_i is being asserted.
- The maximum number of clock cycles allowed between the deassertion of pX_tx_st_ready_o and pX_tx_stN_valid_i is 16 coreclkout_hip cycles.
- For Configuration Mode 0 (1x16) in single-width mode, the start of a TLP is allowed in one segment per clock cycle (i.e. st0_hdr/st0_data or st1_hdr/st1_data). In addition, If segment 1 is used, st0_data must be used by the previous TLP.