From f87c41b7c4ee14a6f5142dec55ca6a3647253e7a Mon Sep 17 00:00:00 2001 From: deepesh2017 Date: Fri, 8 Nov 2024 01:46:15 +0000 Subject: [PATCH] Build: (8e0622f) Update PG344_important_design_considerations.rst --- ...44_important_design_considerations.doctree | Bin 89893 -> 124038 bytes pciedebug/build/doctrees/environment.pickle | Bin 403840 -> 403840 bytes ...44_important_design_considerations.rst.txt | 120 ++++++++++++++++++ ...PG344_important_design_considerations.html | 120 ++++++++++++++++++ pciedebug/build/html/searchindex.js | 2 +- .../PG344_important_design_considerations.rst | 120 ++++++++++++++++++ 6 files changed, 361 insertions(+), 1 deletion(-) diff --git a/pciedebug/build/doctrees/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.doctree b/pciedebug/build/doctrees/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.doctree index eecaefc72fcdbd42397c878b87573d91bd28aca3..087f968c35d7a9fdb996f09a5c940659631df65b 100644 GIT binary patch delta 20992 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 diff --git a/pciedebug/build/doctrees/environment.pickle b/pciedebug/build/doctrees/environment.pickle index 6ec0cfba11f2b6638bca7f7a1295f3aad07928db..9a8b06aec197f0f553462b510c92bdf1fc111044 100644 GIT binary patch delta 38592 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 diff --git a/pciedebug/build/html/_sources/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst.txt b/pciedebug/build/html/_sources/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst.txt index 3ea0f3ec..742ae877 100644 --- a/pciedebug/build/html/_sources/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst.txt +++ b/pciedebug/build/html/_sources/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst.txt @@ -259,3 +259,123 @@ Important Design Considerations from PG344 - When prefetch mode is enabled, the user application cannot send credits as input in QDMA Descriptor Credit input ports. - In cache bypass mode, prefetch tag is maintained by the IP internally. Signal c2h_byp_out_pfch_tag[6:0] should be looped back as an input c2h_byp_in_st_csh_pfch_tag[6:0]. The prefetch tag points to the cam that stores the active queues in the prefetch engine. - No sequence is required between payload and completion packets. + +.. note:: + :class: highlight-box + + **Link**: `Handling Descriptors With Errors `_ + + - For a queue in bypass mode, it is the responsibility of the user logic to not issue a batch of descriptors with an error descriptor. Instead, it must send just one descriptor with error input asserted on the C2H Stream bypass-in interface and set the SOP, EOP, no_dma signal, and sdi or mrkr_req signal to make the C2H Stream Engine send a writeback to Host. + +.. note:: + :class: highlight-box + + **Link**: `Completion Engine `_ + + - Although not a requirement, a CMPT is typically used with a C2H queue. + - The user-defined portion of the CMPT packet typically needs to specify the length of the data packet transferred and whether or not descriptors were consumed as a result of the data packet transfer. + - Maximum buffer size register 0xB50 bits[31:26] is programmed to 0 (default value). This value might result in an overflow depending on the simulator or the synthesis tool used. To avoid overflow, set 0xB50 bits[31:26] to maximum value of 63. + +.. note:: + :class: highlight-box + + **Link**: `Completion Context Structure `_ + + - baddr4_low: Since the minimum alignment supported is 64B in this case, this field must be 0. + - pidx: Completion Ring Producer Index. This is a field written by the hardware. The software must initialize it to 0 and then treat it as read-only. Color bit to be used on Completion. + +.. note:: + :class: highlight-box + + **Link**: `Completion Status Structure `_ + + - In order to make the QDMA write Completion Status to the Completion ring, Completion Status must be enabled in the Completion context. + +.. note:: + :class: highlight-box + + **Link**: `Completion Status/Interrupt Moderation `_ + + - When in TRIGGER_EVERY, TRIGGER_USER, and TRIGGER_USER_COUNT mode, the software must read all the Completion entries in the Completion ring as indicated by an interrupt (or a Completion Status write). + +.. note:: + :class: highlight-box + + **Link**: `Address Translation `_ + + - When this option is selected, one full 64-bit BAR space is given for slave data transfer. You must set up any address translation if needed. If No Address Translation is not selected, DMA will do address translation. + +.. note:: + :class: highlight-box + + **Link**: `Slave Address Translation Examples `_ + + - The slave bridge does not support narrow burst AXI transfers. + +.. note:: + :class: highlight-box + + **Link**: `Legacy Interrupt `_ + + - To enable the legacy interrupt, the software needs to set the en_lgcy_intr bit in the register QDMA_GLBL_GLBL_INTERRUPT_CFG (0x2C4). + +.. note:: + :class: highlight-box + + **Link**: `Function Map Table `_ + + - Along with FMAP table programming in the IP, you must program the FMAP table in the Mailbox IP. This is needed for function level reset (FLR) procedure. + +.. note:: + :class: highlight-box + + **Link**: `Context Programming `_ + + - A host profile table context needs to be programmed before any context settings. + +.. note:: + :class: highlight-box + + **Link**: `Queue Setup `_ + + - If interrupts/status writes are desired (enabled in the Completion Context), an initial Completion CIDX update is required to send the hardware into a state where it is sensitive to trigger conditions. This initial CIDX update is required, because when out of reset, the hardware initializes into an unarmed state. + +.. note:: + :class: highlight-box + + **Link**: `Host Profile `_ + + - Host profile must be programmed to represent root port host. Host profile can be programmed through context programming. Select QDMA_CTXT_SELC_HOST_PROFILE (4'hA) in QDMA_IND_CTXT_CMD. + - H2C AXI4-MM steering bit and C2H AXI4-MM steering bit should be set to 0s. If not, DMA AXI4-MM transfers do not work. For most cases, host profile context structure is all 0s, and host profile must still be programmed to represent a host. + +.. note:: + :class: highlight-box + + **Link**: `Resets `_ + + - Reset the QDMA logic through the soft_reset_n port. This port needs to be held in reset for a minimum of 100 clock cycles (axi_aclk cycles). This does not reset PCIe hard block. It resets only the DMA portion of logic. This reset can be asserted if there is a DMA hang or some error condition. + - The use cases that prompt the use of soft_reset include: + - DMA hangs and user is not getting proper values. + - DMA transfers have errors, but the PCIe links are good. DMA records some asynchronous error. + - After soft_reset, you must reinitialize the queues and program all queue context. + +.. note:: + :class: highlight-box + + **Link**: `Expansion ROM `_ + + - The maximum size for the Expansion ROM BAR should be no larger than 16 MB. Selecting an address space larger than 16 MB can result in a non-compliant core. + +.. note:: + :class: highlight-box + + **Link**: `Data Path Errors `_ + + - Any DMA during and after the parity error should be considered invalid. If there is a parity error and transfer hangs or stops, the DMA will log the error. You must investigate and fix the parity issues. + +.. note:: + :class: highlight-box + + **Link**: `AXI Bridge Slave Ports `_ + + - The valid data identified by s_axib_wstrb must be continuous from the first byte enable to the last byte enable. diff --git a/pciedebug/build/html/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.html b/pciedebug/build/html/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.html index b9c92e7a..27d5c06b 100644 --- a/pciedebug/build/html/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.html +++ b/pciedebug/build/html/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.html @@ -386,6 +386,126 @@
  • No sequence is required between payload and completion packets.

  • +
    +

    Note

    +

    Link: Handling Descriptors With Errors

    +
      +
    • For a queue in bypass mode, it is the responsibility of the user logic to not issue a batch of descriptors with an error descriptor. Instead, it must send just one descriptor with error input asserted on the C2H Stream bypass-in interface and set the SOP, EOP, no_dma signal, and sdi or mrkr_req signal to make the C2H Stream Engine send a writeback to Host.

    • +
    +
    +
    +

    Note

    +

    Link: Completion Engine

    +
      +
    • Although not a requirement, a CMPT is typically used with a C2H queue.

    • +
    • The user-defined portion of the CMPT packet typically needs to specify the length of the data packet transferred and whether or not descriptors were consumed as a result of the data packet transfer.

    • +
    • Maximum buffer size register 0xB50 bits[31:26] is programmed to 0 (default value). This value might result in an overflow depending on the simulator or the synthesis tool used. To avoid overflow, set 0xB50 bits[31:26] to maximum value of 63.

    • +
    +
    +
    +

    Note

    +

    Link: Completion Context Structure

    +
      +
    • baddr4_low: Since the minimum alignment supported is 64B in this case, this field must be 0.

    • +
    • pidx: Completion Ring Producer Index. This is a field written by the hardware. The software must initialize it to 0 and then treat it as read-only. Color bit to be used on Completion.

    • +
    +
    +
    +

    Note

    +

    Link: Completion Status Structure

    +
      +
    • In order to make the QDMA write Completion Status to the Completion ring, Completion Status must be enabled in the Completion context.

    • +
    +
    +
    +

    Note

    +

    Link: Completion Status/Interrupt Moderation

    +
      +
    • When in TRIGGER_EVERY, TRIGGER_USER, and TRIGGER_USER_COUNT mode, the software must read all the Completion entries in the Completion ring as indicated by an interrupt (or a Completion Status write).

    • +
    +
    +
    +

    Note

    +

    Link: Address Translation

    +
      +
    • When this option is selected, one full 64-bit BAR space is given for slave data transfer. You must set up any address translation if needed. If No Address Translation is not selected, DMA will do address translation.

    • +
    +
    +
    +

    Note

    +

    Link: Slave Address Translation Examples

    +
      +
    • The slave bridge does not support narrow burst AXI transfers.

    • +
    +
    +
    +

    Note

    +

    Link: Legacy Interrupt

    +
      +
    • To enable the legacy interrupt, the software needs to set the en_lgcy_intr bit in the register QDMA_GLBL_GLBL_INTERRUPT_CFG (0x2C4).

    • +
    +
    +
    +

    Note

    +

    Link: Function Map Table

    +
      +
    • Along with FMAP table programming in the IP, you must program the FMAP table in the Mailbox IP. This is needed for function level reset (FLR) procedure.

    • +
    +
    +
    +

    Note

    +

    Link: Context Programming

    +
      +
    • A host profile table context needs to be programmed before any context settings.

    • +
    +
    +
    +

    Note

    +

    Link: Queue Setup

    +
      +
    • If interrupts/status writes are desired (enabled in the Completion Context), an initial Completion CIDX update is required to send the hardware into a state where it is sensitive to trigger conditions. This initial CIDX update is required, because when out of reset, the hardware initializes into an unarmed state.

    • +
    +
    +
    +

    Note

    +

    Link: Host Profile

    +
      +
    • Host profile must be programmed to represent root port host. Host profile can be programmed through context programming. Select QDMA_CTXT_SELC_HOST_PROFILE (4’hA) in QDMA_IND_CTXT_CMD.

    • +
    • H2C AXI4-MM steering bit and C2H AXI4-MM steering bit should be set to 0s. If not, DMA AXI4-MM transfers do not work. For most cases, host profile context structure is all 0s, and host profile must still be programmed to represent a host.

    • +
    +
    +
    +

    Note

    +

    Link: Resets

    +
      +
    • Reset the QDMA logic through the soft_reset_n port. This port needs to be held in reset for a minimum of 100 clock cycles (axi_aclk cycles). This does not reset PCIe hard block. It resets only the DMA portion of logic. This reset can be asserted if there is a DMA hang or some error condition.

    • +
    • The use cases that prompt the use of soft_reset include: +- DMA hangs and user is not getting proper values. +- DMA transfers have errors, but the PCIe links are good. DMA records some asynchronous error.

    • +
    • After soft_reset, you must reinitialize the queues and program all queue context.

    • +
    +
    +
    +

    Note

    +

    Link: Expansion ROM

    +
      +
    • The maximum size for the Expansion ROM BAR should be no larger than 16 MB. Selecting an address space larger than 16 MB can result in a non-compliant core.

    • +
    +
    +
    +

    Note

    +

    Link: Data Path Errors

    +
      +
    • Any DMA during and after the parity error should be considered invalid. If there is a parity error and transfer hangs or stops, the DMA will log the error. You must investigate and fix the parity issues.

    • +
    +
    +
    +

    Note

    +

    Link: AXI Bridge Slave Ports

    +
      +
    • The valid data identified by s_axib_wstrb must be continuous from the first byte enable to the last byte enable.

    • +
    +
    diff --git a/pciedebug/build/html/searchindex.js b/pciedebug/build/html/searchindex.js index ae01af3d..54bce268 100644 --- a/pciedebug/build/html/searchindex.js +++ b/pciedebug/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/images", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/index", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_faq", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_gotchas", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/index", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/issue_q&a_debug_tips", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/links_docs_misc", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/specific_issues", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_RootPort_Driver/debug_faq", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_checklist", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_gotchas", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/images", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/index", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/issue_q&a_debug_tips", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/links_docs_misc", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/performance_debug_checklist", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/specific_issues", "docs/Interrupt/index", "docs/Link_Training/general_debug_checklist_reasons_questions", "docs/Link_Training/index", "docs/Link_Training/issue_q&a_debug_tips", "docs/Link_Training/links_docs_misc", "docs/Link_Training/specific_issues", "docs/PCIe_Collaterals/PCIe_Application_Notes", "docs/PCIe_Collaterals/PCIe_Debug_Tips_and_Techniques_Blogs", "docs/PCIe_Collaterals/PCIe_LFARs_Long_Form_Answer_Records", "docs/PCIe_Collaterals/PCIe_PGs_and_relevant_Docs", "docs/PCIe_Collaterals/PCIe_Release_Notes", "docs/PCIe_Collaterals/PCIe_Videos", "docs/PCIe_Collaterals/PCIe_White_Papers", "docs/PCIe_Collaterals/index", "docs/PCIe_Common_Issues/index", "docs/PCIe_Debug_General_Techniques/Link_Training/general_debug_checklist_reasons_questions", "docs/PCIe_Debug_General_Techniques/Link_Training/index", "docs/PCIe_Debug_General_Techniques/Link_Training/issue_q&a_debug_tips", "docs/PCIe_Debug_General_Techniques/Link_Training/links_docs_misc", "docs/PCIe_Debug_General_Techniques/Link_Training/specific_issues", "docs/PCIe_Debug_General_Techniques/index", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/debugging", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/device_tree_structure", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/ecam_mapping_and_addressing", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/hardware_design_creation", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/index", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/petalinux_image_generation", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/supporting_documentation", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/system_testability_and_setup", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/tactical_patch_requirement", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/debug_faq", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/index", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/issue_q&a_debug_tips", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/links_docs_misc", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/specific_issues", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG302_important_design_considerations", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/debug_faq", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/links_docs_misc", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/PIDX_update_mechanism", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/ports/tables", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/debug_gotchas", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/dmesg_log", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/errors", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/check_pidx_update", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/ip_configuration_parameters", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/CMPT_Packet_is_not_sent", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/QDMA_driver_debug_resources", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/axis_c2h_status_drop is asserted", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/general_debug_checklist", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/invalid_pidx_update_error", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/qdma_performance_debug", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/simple_bypass_packet_drop", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/specific_issues", "docs/Simulation_Issue/index", "docs/Tandem_PCIe/index", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_faq", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_gotchas", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/images_checklist/images", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/index", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/issue_q&a_debug_tips", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/links_docs_misc", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/specific_issues", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/debug_faq", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/index", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/issue_q&a_debug_tips", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/links_docs_misc", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/specific_issues", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/versal_acap_cpm_example_designs", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_faq", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_gotchas", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/index", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/issue_q&a_debug_tips", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/links_docs_misc", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/specific_issues", "index"], "filenames": ["README.md", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/images.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/index.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_faq.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_gotchas.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/index.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/issue_q&a_debug_tips.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/links_docs_misc.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/specific_issues.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_RootPort_Driver/debug_faq.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_checklist.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_gotchas.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/images.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/index.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/issue_q&a_debug_tips.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/links_docs_misc.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/performance_debug_checklist.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/specific_issues.rst", "docs/Interrupt/index.rst", "docs/Link_Training/general_debug_checklist_reasons_questions.rst", "docs/Link_Training/index.rst", "docs/Link_Training/issue_q&a_debug_tips.rst", "docs/Link_Training/links_docs_misc.rst", "docs/Link_Training/specific_issues.rst", "docs/PCIe_Collaterals/PCIe_Application_Notes.rst", "docs/PCIe_Collaterals/PCIe_Debug_Tips_and_Techniques_Blogs.rst", "docs/PCIe_Collaterals/PCIe_LFARs_Long_Form_Answer_Records.rst", "docs/PCIe_Collaterals/PCIe_PGs_and_relevant_Docs.rst", "docs/PCIe_Collaterals/PCIe_Release_Notes.rst", "docs/PCIe_Collaterals/PCIe_Videos.rst", "docs/PCIe_Collaterals/PCIe_White_Papers.rst", "docs/PCIe_Collaterals/index.rst", "docs/PCIe_Common_Issues/index.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/general_debug_checklist_reasons_questions.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/index.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/issue_q&a_debug_tips.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/links_docs_misc.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/specific_issues.rst", "docs/PCIe_Debug_General_Techniques/index.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/debugging.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/device_tree_structure.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/ecam_mapping_and_addressing.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/hardware_design_creation.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/index.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/petalinux_image_generation.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/supporting_documentation.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/system_testability_and_setup.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/tactical_patch_requirement.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/debug_faq.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/index.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/issue_q&a_debug_tips.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/links_docs_misc.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/specific_issues.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG302_important_design_considerations.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/debug_faq.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/links_docs_misc.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/PIDX_update_mechanism.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/ports/tables.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/debug_gotchas.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/dmesg_log.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/errors.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/check_pidx_update.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/ip_configuration_parameters.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/CMPT_Packet_is_not_sent.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/QDMA_driver_debug_resources.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/axis_c2h_status_drop is asserted.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/general_debug_checklist.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/invalid_pidx_update_error.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/qdma_performance_debug.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/simple_bypass_packet_drop.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/specific_issues.rst", "docs/Simulation_Issue/index.rst", "docs/Tandem_PCIe/index.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_faq.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_gotchas.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/images_checklist/images.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/index.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/issue_q&a_debug_tips.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/links_docs_misc.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/specific_issues.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/debug_faq.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/index.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/issue_q&a_debug_tips.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/links_docs_misc.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/specific_issues.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/versal_acap_cpm_example_designs.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_faq.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_gotchas.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/index.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/issue_q&a_debug_tips.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/links_docs_misc.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/specific_issues.rst", "index.rst"], "titles": ["<no title>", "Global Signals", "<no title>", "General Debug Checklist", "Debug Gotchas", "DMA/Bridge Subsystem for PCI Express (Bridge IP Endpoint)", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "Specific Issues", "General Debug Checklist", "General Debug Checklist", "Debug Gotchas", "Top-Level Interface Signals", "DMA/Bridge Subsystem for PCI Express (XDMA IP/Driver)", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "XDMA Performance Debug", "<no title>", "Interrupt Issue", "Common Link Training Issue Reasons", "Link Training Issue", "Issues and Answers", "Documents and Debug Collaterals", "<no title>", "PCIe Application Notes", "PCIe Debug Tips and Techniques Blogs", "PCIe LFARs (Long Form Answer Records)", "PCIe Application Notes", "PCIe Release Notes", "PCIe Videos", "PCIe White Papers", "PCIe Collaterals", "PCIe Common Issues", "Common Link Training Issue Reasons", "Link Training", "Issues and Answers", "Documents and Debug Collaterals", "<no title>", "PCIe General Debug Techniques", "Debugging", "Device Tree Structure", "ECAM Mapping and Addressing", "Hardware Design Creation", "Versal CPM4 PCIe Root Port Design (Linux)", "Petalinux Image Generation", "Supporting Documentation", "System Testability and Setup", "Tactical Patch Requirement", "General Debug Checklist", "Documentation & Debugging Resources", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "<no title>", "Important Design Considerations from PG302", "Important Design Considerations from PG344", "General FAQs", "QDMA Subsystem for PCIExpress (IP/Driver)", "Documents and Debug Collaterals", "Deciphering the PIDX Update Mechanism in a QDMA Subsystem for CPM5", "QDMA Conceptual Topics", "QDMA Debug Flow", "QDMA Global Port Descriptions", "Debug Gotchas", "dmesg Log", "Global Error Registers", "Check PIDX Update", "IP Configuration Parameters", "CMPT Packet is not sent", "QDMA Driver Debug Resources", "axis_c2h_status_drop is Asserted", "General Debug Checklist", "QDMA Debug Topics", "qdma_hw_error_handler( ): Detected Invalid PIDX update error", "Debugging QDMA Performance Issues", "Packets being dropped in Simple Bypass Mode", "<no title>", "Simulation Issue", "Tandem PCIe", "General Debug Checklist", "Debug Gotchas", "Configuration Status Interface Port Descriptions Phy Link", "UltraScale+ Devices Integrated Block for PCIExpress", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "<no title>", "General Debug Checklist", "Versal ACAP CPM Mode for PCI Express", "Issues and Debug Tips/Questions", "Documents and Debug Collaterals", "<no title>", "Versal Adaptive SoC CPM Example Designs", "General Debug Checklist", "Debug Gotchas", "Versal ACAP Integrated Block for PCI Express", "<no title>", "Documents and Debug Collaterals", "Specific Issues", "PCIe Debug K-Map"], "terms": {"pcie": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 18, 19, 33, 48, 50, 51, 53, 54, 55, 57, 61, 62, 66, 73, 76, 78, 85, 88, 90, 91, 95, 96], "debug": [0, 5, 8, 13, 20, 24, 26, 27, 29, 31, 34, 43, 54, 56, 81, 86, 90, 93], "k": [0, 74], "map": [0, 10, 15, 25, 26, 32, 43, 53, 54, 55, 60, 62, 65, 67], "see": [1, 4, 8, 12, 14, 16, 19, 29, 32, 33, 38, 50, 53, 61, 62, 65, 70, 72, 74, 78, 80, 85, 91, 92], "latest": [1, 3, 4, 9, 11, 12, 16, 18, 48, 50, 61, 62, 78, 79, 80], "version": [1, 3, 4, 7, 9, 11, 12, 15, 16, 19, 28, 33, 48, 50, 55, 57, 61, 62, 67, 68, 76, 78, 79, 80], "pg194": [1, 3, 7], "updat": [1, 3, 4, 11, 12, 25, 53, 54, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 91, 97], "global": [2, 53, 60], "signal": [2, 3, 8, 10, 16, 18, 19, 25, 32, 33, 53, 54, 55, 60, 67, 70, 72, 76, 78, 79, 92], "axi": [2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 25, 26, 28, 29, 32, 48, 51, 53, 54, 57, 60, 62, 66, 70, 72, 90], "slave": [2, 3, 4, 6, 10, 25, 53, 54, 62, 66], "interfac": [2, 3, 4, 6, 8, 9, 10, 11, 16, 19, 22, 25, 33, 36, 48, 53, 54, 55, 58, 60, 62, 66, 67, 76, 78, 79, 83, 85, 91, 96], "master": [2, 3, 4, 7, 10, 15, 16, 24, 26, 27, 28, 50, 53, 54, 57, 62, 66, 68, 78, 92], "axi4": [2, 3, 4, 10, 11, 24, 27, 53, 54, 60, 62, 72], "lite": [2, 3, 4, 8, 9, 10, 24, 27, 48, 66], "control": [2, 3, 4, 8, 9, 10, 11, 18, 25, 32, 48, 53, 54, 57, 62, 68], "bridg": [2, 3, 4, 6, 7, 8, 9, 15, 24, 25, 27, 28, 32, 48, 53, 54, 57, 62, 66, 74, 90], "gen3": [2, 3, 4, 7, 15, 16, 19, 22, 24, 25, 26, 27, 28, 29, 33, 36, 76, 83, 85], "msi": [2, 3, 11, 16, 18, 25, 50, 66, 85], "x": [2, 3, 11, 16, 18, 25, 50, 66, 85], "dma_bridg": [2, 3], "subsystem": [2, 3, 4, 7, 15, 24, 25, 26, 27, 28, 29, 51, 53, 54, 57, 59, 73, 77], "mode": [2, 3, 4, 9, 16, 19, 24, 25, 27, 28, 33, 48, 50, 53, 54, 55, 60, 62, 66, 67, 71, 72, 76, 77, 78, 85, 88, 97], "interrupt": [2, 3, 4, 11, 16, 25, 26, 50, 53, 54, 62, 65, 66, 67, 69, 83, 97], "decod": [2, 3, 4, 6, 69], "regist": [2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 18, 19, 25, 26, 32, 33, 48, 50, 53, 54, 55, 60, 62, 67, 69, 70, 72, 74, 78, 85, 88, 92], "phy": [2, 3, 28, 78, 91], "status_control": [2, 3], "root": [2, 3, 4, 9, 19, 26, 29, 33, 48, 50, 51, 53, 78, 88, 90, 97], "port": [2, 3, 4, 9, 10, 19, 26, 33, 48, 50, 51, 53, 54, 55, 60, 62, 67, 72, 78, 82, 88, 96, 97], "error": [2, 3, 4, 6, 16, 19, 25, 33, 50, 53, 54, 55, 58, 60, 62, 63, 66, 67, 70, 71, 76, 77, 78, 79, 92, 97], "fifo": [2, 3, 53, 79], "read": [2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 25, 26, 48, 50, 53, 54, 60, 62, 66, 70, 76, 78, 85, 97], "clock": [2, 3, 4, 18, 20, 34, 53, 66, 76, 77, 79, 85, 91, 97], "diagram": [2, 3, 78, 85, 91], "ultrascal": [2, 3, 9, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 33, 36, 48, 50, 51, 57, 77, 78, 82, 83, 85, 91], "devic": [2, 3, 4, 9, 10, 16, 19, 22, 25, 26, 29, 30, 33, 36, 38, 43, 48, 50, 53, 54, 55, 57, 77, 78, 83, 85, 87, 91, 97], "endpoint": [2, 3, 4, 9, 16, 19, 24, 25, 26, 27, 28, 32, 33, 48, 50, 51, 76, 78, 90, 97], "system": [2, 3, 6, 9, 16, 20, 24, 26, 27, 30, 32, 34, 43, 48, 50, 51, 53, 54, 57, 68, 97], "reset": [2, 3, 4, 9, 19, 32, 33, 48, 50, 53, 54, 62, 76, 77, 91], "connect": [2, 3, 4, 16, 19, 24, 27, 29, 30, 32, 33, 48, 50, 53, 70, 76, 77, 91], "confirm": [3, 9, 19, 33, 48, 50, 70, 72, 74, 85, 91], "architectur": [3, 19, 25, 28, 30, 33, 77], "i": [3, 4, 6, 8, 9, 10, 11, 14, 16, 18, 19, 32, 33, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 53, 54, 55, 60, 61, 62, 65, 66, 70, 71, 72, 73, 74, 76, 77, 78, 79, 82, 85, 87, 91, 92, 97], "correct": [3, 4, 9, 19, 25, 33, 48, 55, 62, 74, 76, 77], "rootport": [3, 50], "check": [3, 6, 8, 10, 14, 16, 18, 19, 32, 33, 48, 50, 55, 60, 66, 67, 69, 70, 72, 73, 74, 76, 78, 85, 91, 92, 97], "statu": [3, 10, 14, 16, 19, 25, 33, 50, 53, 54, 55, 58, 60, 62, 65, 66, 67, 72, 78, 85, 97], "If": [3, 4, 6, 8, 14, 16, 18, 19, 32, 33, 38, 48, 50, 53, 54, 55, 62, 65, 67, 70, 72, 76, 77, 78, 85, 91, 92], "issu": [3, 4, 5, 7, 10, 13, 15, 16, 22, 25, 26, 34, 36, 49, 53, 54, 57, 62, 63, 67, 68, 70, 71, 72, 74, 78, 81, 83, 85, 86, 91, 93, 95, 97], "relat": [3, 6, 10, 14, 19, 25, 33, 73, 78, 85], "incom": [3, 62], "outgo": 3, "packet": [3, 4, 6, 8, 11, 19, 22, 25, 26, 33, 36, 53, 54, 55, 62, 66, 71, 72, 79, 83, 85, 97], "from": [3, 4, 6, 9, 11, 16, 19, 29, 32, 33, 48, 50, 55, 56, 57, 58, 61, 62, 63, 67, 68, 70, 72, 78, 79, 91, 97], "user": [3, 4, 9, 11, 16, 19, 25, 32, 33, 38, 48, 53, 54, 55, 62, 67, 70, 72, 73, 76, 77, 79, 85, 91], "logic": [3, 4, 16, 53, 54, 55, 62, 70, 72, 76, 77], "follow": [3, 4, 8, 9, 10, 11, 14, 19, 32, 33, 38, 48, 50, 53, 54, 69, 70, 73, 78, 82, 85, 87, 91, 92], "vivado": [3, 4, 7, 10, 15, 16, 19, 22, 24, 25, 26, 27, 28, 29, 33, 36, 53, 55, 57, 67, 76, 78, 83, 85, 91], "ila": [3, 10, 19, 25, 26, 32, 33, 70, 78, 85, 92], "an": [3, 4, 9, 11, 14, 16, 19, 26, 29, 32, 33, 38, 48, 50, 53, 54, 55, 62, 63, 74, 76, 77, 78, 79, 85], "write": [3, 4, 8, 10, 14, 25, 32, 53, 54, 60, 62, 66, 70, 72, 78, 85], "For": [3, 4, 6, 8, 9, 10, 11, 16, 19, 28, 33, 38, 48, 50, 53, 54, 62, 70, 72, 74, 76, 77, 78, 85, 91, 92], "pleas": [3, 4, 11, 14, 19, 33, 39, 40, 41, 42, 44, 45, 46, 47, 62, 78, 79], "refer": [3, 4, 10, 11, 19, 24, 27, 30, 33, 53, 55, 61, 62, 78, 79, 85, 88], "new": [3, 4, 11, 25, 38, 53, 54, 60, 62, 77, 78, 79, 91, 96], "more": [3, 4, 11, 16, 32, 38, 53, 54, 62, 72, 74, 78, 79, 91, 92], "detail": [3, 4, 9, 16, 19, 33, 38, 48, 53, 54, 60, 62, 78, 79, 85, 92], "referenc": [3, 78], "assert": [4, 6, 11, 18, 53, 54, 55, 62, 71, 78, 79, 97], "bit": [4, 8, 10, 11, 18, 32, 48, 50, 53, 54, 55, 60, 62, 65, 67, 72, 78, 79, 92], "doe": [4, 16, 19, 32, 33, 50, 53, 54, 55, 62, 67, 78, 91], "caus": [4, 19, 32, 33, 53, 54, 62, 77], "line": [4, 18, 19, 32, 33, 62], "unless": [4, 53, 54], "correspond": [4, 8, 19, 33, 53, 54, 67, 73, 76, 79], "mask": [4, 19, 33, 66, 67], "also": [4, 16, 18, 53, 54, 55, 62, 65, 77, 78, 79, 85], "set": [4, 6, 8, 9, 14, 19, 32, 33, 48, 50, 53, 54, 55, 62, 66, 67, 69, 72, 73, 76, 82, 87, 91], "avail": [4, 14, 16, 19, 33, 39, 40, 41, 42, 44, 45, 46, 47, 50, 53, 55, 62, 65, 69, 72, 91], "dma": [4, 10, 14, 15, 16, 24, 25, 26, 27, 28, 29, 50, 53, 54, 55, 57, 60, 62, 65, 66, 68, 72, 74, 76, 77, 97], "option": [4, 9, 16, 19, 33, 48, 53, 66, 78, 79, 96], "dma_bridge_resetn": 4, "input": [4, 19, 24, 27, 32, 33, 53, 54, 55, 60, 62, 70, 76], "pin": [4, 9, 11, 18, 19, 32, 33, 48, 77, 91], "which": [4, 6, 14, 16, 19, 33, 50, 53, 54, 55, 62, 67, 70, 78], "allow": [4, 19, 33, 53, 54, 62, 79], "you": [4, 8, 11, 14, 16, 18, 19, 32, 33, 38, 48, 53, 54, 62, 67, 72, 79, 92], "all": [4, 11, 19, 28, 32, 33, 53, 54, 55, 60, 62, 66, 67, 70, 72, 74, 76, 77, 78], "intern": [4, 7, 8, 10, 15, 26, 53, 54, 55, 60, 62, 66, 67, 72], "engin": [4, 53, 54, 60, 61, 62, 65, 72], "well": [4, 19, 33, 50, 62, 65, 85, 91], "peripher": [4, 6], "driven": [4, 32, 53, 54, 76], "axi_aresetn": [4, 6, 70], "axi_ctl_aresetn": 4, "when": [4, 6, 9, 11, 14, 32, 48, 50, 53, 54, 55, 62, 66, 67, 70, 76, 77, 79, 92, 97], "paramet": [4, 8, 10, 19, 33, 60, 73], "need": [4, 11, 18, 50, 53, 54, 55, 62, 72, 73, 92], "dure": [4, 11, 32, 48, 50, 53, 62, 77, 79], "initi": [4, 9, 10, 14, 16, 24, 27, 48, 50, 53, 54, 58, 60, 65, 77], "link": [4, 5, 6, 13, 14, 16, 24, 25, 26, 27, 32, 48, 49, 50, 53, 54, 55, 58, 61, 62, 68, 73, 74, 78, 79, 81, 85, 86, 90, 91, 92, 93, 97], "up": [4, 6, 8, 9, 14, 16, 32, 38, 48, 50, 53, 54, 55, 62, 78, 85], "oper": [4, 9, 48, 50, 53, 54, 62], "becaus": [4, 6, 8, 53, 54, 55, 62, 73], "done": [4, 6, 9, 11, 18, 32, 48, 50, 53, 54, 55, 62, 67, 70, 72, 77, 87, 91], "automat": [4, 91], "ip": [4, 6, 7, 9, 11, 14, 15, 16, 18, 19, 24, 25, 26, 27, 29, 33, 48, 53, 54, 55, 57, 60, 61, 67, 70, 73, 76, 77, 78, 82, 85, 91, 95, 96, 97], "must": [4, 8, 11, 32, 48, 53, 54, 62, 72, 77, 78, 79], "termin": [4, 11, 19, 33], "transact": [4, 6, 8, 25, 53, 62, 76, 78], "befor": [4, 6, 8, 14, 28, 48, 50, 53, 54, 55, 62, 70, 85, 91], "thi": [4, 6, 8, 11, 14, 16, 18, 19, 32, 33, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 53, 54, 55, 62, 67, 70, 72, 73, 77, 78, 79, 85, 87, 91, 92, 96], "after": [4, 6, 8, 19, 32, 33, 53, 54, 62, 67, 70, 77, 79, 91, 97], "being": [4, 9, 16, 19, 32, 33, 48, 50, 53, 54, 62, 67, 71, 72, 76, 97], "kept": 4, "minimum": [4, 19, 33, 53], "durat": [4, 79], "least": [4, 53], "equal": [4, 6, 19, 33, 53, 54], "complet": [4, 8, 16, 25, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72, 77, 78, 79, 97], "timeout": [4, 6, 62, 67, 76, 92, 97], "valu": [4, 9, 14, 16, 19, 33, 48, 50, 53, 58, 62, 67, 70, 72, 74, 77, 79, 92], "typic": [4, 11, 16, 32, 53], "50": 4, "m": [4, 50, 77], "clear": [4, 11, 19, 33, 53, 54, 62, 70], "ani": [4, 6, 8, 16, 19, 33, 53, 54, 55, 62, 63, 67, 72, 73, 76, 78, 79, 92], "pend": [4, 8, 11, 53, 60], "transfer": [4, 10, 11, 14, 16, 53, 54, 60, 62, 63, 70, 72, 74, 79], "mai": [4, 19, 33, 62], "current": [4, 53, 54, 55, 62, 91], "queu": 4, "data": [4, 6, 8, 11, 16, 19, 33, 53, 54, 55, 60, 62, 63, 66, 78, 79, 87, 97], "path": [4, 19, 33, 53], "To": [4, 10, 38, 48, 53, 54, 55, 62, 78, 85, 91], "type": [4, 6, 11, 19, 33, 53, 66, 73, 79], "command": [4, 9, 11, 14, 18, 32, 48, 50, 67, 78, 91, 92], "tcl": [4, 11, 38, 55, 77, 91], "set_properti": [4, 11, 77, 91], "dict": [4, 11], "list": [4, 11, 19, 29, 32, 33, 53, 54, 67, 76], "config": [4, 6, 10, 11, 19, 24, 27, 32, 33, 77, 91], "soft_reset_en": 4, "true": [4, 11, 19, 33, 55, 77, 91], "get_ip": [4, 11, 91], "ip_nam": [4, 11], "request": [4, 6, 8, 11, 50, 53, 54, 55, 62, 78, 79, 97], "length": [4, 6, 11, 53, 54, 55, 66], "greater": [4, 6, 50], "than": [4, 6, 11, 16, 32, 50, 53, 54, 62, 72, 78, 79], "1": [4, 6, 7, 8, 10, 11, 14, 15, 19, 22, 25, 26, 29, 32, 33, 36, 48, 50, 53, 55, 57, 60, 67, 70, 77, 78, 79, 83, 90], "dword": [4, 6, 78], "size": [4, 6, 11, 16, 32, 53, 54, 55, 58, 62, 67, 70, 72, 79], "burst": [4, 6, 16, 53, 54], "alwai": [4, 6, 11, 53, 54, 60, 62, 67, 76], "width": [4, 6, 11, 16, 19, 33, 38, 53, 78, 79, 92], "bu": [4, 6, 9, 24, 27, 32, 48, 50, 54, 62, 78, 79, 92], "even": [4, 6, 11, 53, 67, 77], "receiv": [4, 6, 18, 50, 53, 54, 62, 79, 97], "shorter": [4, 6], "s_axi_wstrb": 4, "can": [4, 6, 8, 9, 11, 16, 19, 32, 33, 38, 48, 50, 53, 54, 55, 58, 62, 72, 73, 77, 78, 79, 87, 91, 96], "us": [4, 5, 6, 9, 10, 11, 13, 14, 16, 19, 20, 24, 25, 26, 27, 29, 32, 33, 34, 38, 48, 49, 50, 53, 54, 55, 62, 66, 67, 68, 72, 78, 79, 81, 85, 86, 90, 91, 92, 93, 97], "facilit": 4, "align": [4, 53, 70, 78], "address": [4, 6, 8, 10, 11, 25, 26, 32, 43, 53, 54, 62, 65, 70, 78, 97], "boundari": [4, 54, 55], "0": [4, 7, 10, 28, 29, 32, 48, 50, 53, 54, 55, 57, 65, 67, 74], "begin": [4, 53], "valid": [4, 48, 53, 54, 79], "cycl": [4, 11, 18, 32, 53, 54, 79], "appropri": [4, 53, 77], "calcul": [4, 53, 54], "offset": [4, 8, 10, 53, 77], "given": [4, 11, 18, 53, 54, 72, 76], "howev": [4, 16, 50, 53, 54, 78], "identifi": [4, 10, 19, 33, 53, 62, 77], "continu": [4, 16, 32, 53, 54, 62], "first": [4, 8, 19, 32, 33, 53, 55, 62, 70, 76, 77, 97], "byte": [4, 10, 11, 16, 53, 54, 55, 78], "enabl": [4, 8, 11, 14, 16, 18, 19, 32, 33, 48, 50, 53, 54, 60, 62, 65, 66, 67, 70, 77, 78, 82, 85, 91, 92, 96], "last": [4, 11, 53, 54, 55, 65, 79], "The": [4, 6, 8, 9, 10, 11, 14, 16, 18, 19, 29, 32, 33, 38, 48, 50, 53, 54, 55, 58, 61, 62, 63, 70, 72, 73, 77, 78, 79, 85, 87, 91, 92, 96], "core": [4, 14, 19, 24, 26, 27, 29, 33, 53, 54, 73, 77, 79, 88, 95], "conform": 4, "order": [4, 8, 32, 53, 54, 72, 73], "rule": [4, 8, 19, 33], "pci": [4, 7, 9, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 32, 33, 36, 48, 50, 51, 57, 58, 76, 77, 78, 82, 83, 85, 88, 91, 92, 95], "sig": [4, 29], "specif": [4, 5, 9, 19, 33, 48, 93, 97], "behavior": [4, 20, 34, 53, 97], "ar": [4, 8, 9, 10, 11, 14, 16, 18, 19, 28, 32, 33, 48, 50, 53, 54, 55, 62, 65, 66, 67, 70, 72, 73, 74, 76, 77, 78, 79, 85, 87, 91], "implement": [4, 11, 20, 29, 34, 53, 62, 70, 97], "enforc": 4, "highli": 4, "parallel": 4, "bresp": [4, 8, 62], "remot": 4, "until": [4, 18, 53, 77, 79], "memwr": 4, "tlp": [4, 6, 78, 79, 97], "transmiss": [4, 19, 33], "guarante": [4, 53, 54], "sent": [4, 11, 53, 54, 62, 71, 97], "subsequ": [4, 58], "tx": [4, 19, 33, 53, 76], "relax": [4, 32], "within": [4, 10, 11, 16, 18, 19, 32, 33, 50, 53, 54, 77, 79], "header": 4, "permit": 4, "pass": [4, 29, 53, 54, 55], "previou": [4, 8, 19, 33, 91], "phase": [4, 19, 33, 62, 76, 85], "held": [4, 18], "have": [4, 8, 16, 19, 32, 33, 38, 50, 53, 54, 55, 62, 72, 85], "ha": [4, 8, 9, 10, 11, 14, 18, 19, 32, 33, 48, 50, 53, 54, 62, 72, 73, 77, 78, 79], "been": [4, 6, 9, 11, 14, 19, 32, 33, 48, 55, 72, 73, 77, 85], "attribut": [4, 78], "prior": [4, 8, 28, 53, 54, 62], "": [4, 6, 11, 15, 16, 19, 25, 26, 32, 33, 48, 50, 55, 57, 58, 62, 70, 73, 90], "present": [4, 53, 54], "channel": [4, 10, 16, 19, 33, 91], "integr": [4, 14, 16, 18, 19, 22, 24, 25, 26, 27, 28, 32, 33, 36, 38, 62, 76, 77, 78, 79, 82, 83, 85, 91, 95, 97], "block": [4, 11, 18, 19, 22, 24, 25, 26, 27, 28, 33, 36, 50, 53, 55, 62, 72, 76, 77, 78, 79, 82, 83, 85, 91, 95, 96, 97], "express": [4, 7, 9, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 33, 36, 38, 48, 51, 57, 58, 76, 77, 78, 82, 83, 85, 88, 91, 95], "detect": [4, 11, 14, 32, 50, 55, 62, 70, 71, 78, 85, 87, 91, 97], "malform": 4, "configur": [4, 9, 11, 16, 18, 20, 24, 25, 27, 29, 34, 48, 53, 54, 60, 62, 67, 70, 76, 77, 78, 79, 85, 87, 92, 97], "result": [4, 6, 53, 54, 62], "fatal": [4, 50, 55], "messag": [4, 25, 77], "upstream": [4, 78], "report": [4, 48, 50, 55, 57, 67, 70], "monitor": [4, 25, 53, 55], "ensur": [4, 8, 11, 16, 18, 19, 32, 33, 50, 53, 54, 62, 76], "onli": [4, 6, 10, 11, 16, 18, 19, 25, 33, 38, 50, 53, 54, 55, 60, 62, 65, 67, 78, 79, 90, 91], "incr": [4, 53], "increment": [4, 53, 62], "other": [4, 8, 19, 33, 50, 53, 54, 76], "treat": [4, 54, 79], "condit": [4, 53], "illeg": 4, "sib": 4, "In": [4, 6, 19, 24, 25, 27, 33, 38, 50, 53, 54, 55, 62, 73, 74, 78, 87, 91], "case": [4, 19, 26, 33, 38, 53, 54, 55, 62, 68, 78], "slverr": 4, "beat": [4, 11, 53, 54, 79], "arbitrari": 4, "place": [4, 19, 32, 33, 53, 77], "s_axi_rdata": 4, "respons": [4, 6, 10, 14, 25, 53, 54, 62, 66, 67, 72], "discard": 4, "normal": [4, 62], "depend": [4, 6, 8, 11, 53, 62, 70, 73, 79], "establish": [4, 6, 48], "maintain": [4, 53, 54, 62, 65, 77], "point": [4, 19, 33, 53, 54, 55], "extern": [4, 53, 54, 87, 96], "lost": [4, 32, 62], "re": [4, 32, 77, 78, 85, 91], "return": [4, 6, 32, 85], "hot": [4, 18, 50], "goe": [4, 50, 62, 73, 78, 85, 91], "down": [4, 14, 19, 32, 33, 50, 62, 67], "space": [4, 10, 18, 19, 25, 32, 33, 48, 51, 53, 54, 62, 65, 78, 88, 92], "reconfigur": [4, 24, 27, 77], "yet": 4, "associ": [4, 50, 53, 54, 55, 62, 70], "start": [4, 50, 53, 54, 62, 77, 79, 85], "bar": [4, 8, 9, 16, 19, 32, 33, 48, 53, 54, 66, 85], "support": [4, 7, 10, 11, 15, 16, 18, 19, 22, 24, 27, 30, 33, 36, 38, 43, 48, 50, 51, 53, 54, 55, 57, 68, 70, 76, 78, 83, 85, 88, 90, 91, 95, 97], "filter": [4, 77], "forward": [4, 8], "translat": [4, 8, 9, 25, 48, 53, 54], "disabl": [4, 6, 9, 11, 16, 18, 19, 32, 33, 48, 50, 53, 54, 62, 66, 78, 92], "custom": [4, 16, 19, 25, 33, 53, 55, 67, 77, 91], "design": [4, 9, 10, 11, 15, 16, 20, 22, 24, 25, 26, 27, 28, 29, 30, 32, 34, 36, 48, 51, 56, 62, 67, 68, 70, 72, 73, 77, 78, 83, 85, 86, 91, 96, 97], "suit": [4, 28, 76], "rp": [4, 19, 33, 50], "applic": [4, 11, 16, 31, 32, 53, 54, 62, 67, 68, 72, 73, 77, 78, 79, 97], "without": [4, 6, 50, 53], "default": [4, 6, 15, 19, 22, 25, 33, 36, 53, 62, 78], "0x0000_0000": 4, "program": [4, 9, 24, 25, 27, 29, 32, 48, 50, 53, 54, 55, 60, 62, 65, 70, 77, 87], "separ": [4, 19, 33, 62, 77], "hit": [4, 70], "accord": [4, 19, 33], "outsid": [4, 67, 91], "rang": [4, 9, 48], "cannot": [4, 53, 54, 77], "recommend": [4, 9, 48, 53, 54, 62], "do": [4, 8, 14, 16, 19, 32, 33, 38, 48, 50, 53, 54, 55, 67, 72, 77, 78, 85, 91], "set_finite_credit": 4, "fals": [4, 77, 91], "infinit": [4, 79], "credit": [4, 14, 16, 19, 25, 32, 33, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72, 79], "advertis": [4, 48], "complex": [4, 26, 29, 51, 90], "finit": 4, "requir": [4, 18, 19, 25, 32, 33, 43, 48, 50, 53, 54, 55, 62, 68, 70, 77, 91, 97], "most": [4, 19, 33, 53, 54], "obei": [4, 54], "caution": 4, "verifi": [4, 19, 25, 33, 60], "function": [4, 14, 48, 53, 54, 55, 66, 70, 78, 92], "output": [4, 14, 19, 24, 27, 33, 53, 54, 60, 67, 70, 72, 77, 87, 92], "s_axi_arreadi": 4, "s_axi_rvalid": 4, "unrespons": 4, "met": [4, 24, 27], "older": 4, "axi_ctl_aclk": 4, "axi_ctl_aclk_out": 4, "puls": 4, "out": [4, 10, 19, 25, 32, 33, 53, 54, 55, 63, 87, 96], "activ": [4, 54, 70, 77, 79], "low": [4, 53, 54, 62], "main": [4, 16], "toggl": [4, 70], "simul": [4, 19, 24, 25, 26, 27, 29, 33, 53, 70, 90, 97], "run": [4, 9, 19, 25, 29, 32, 33, 48, 50, 53, 54, 62, 67, 78, 85, 91], "featur": [4, 14, 19, 22, 25, 26, 33, 36, 53, 54, 55, 62, 66, 77, 78, 83, 85, 91], "captur": [4, 10, 19, 33, 78, 85], "waveform": 4, "access": [4, 6, 14, 48, 53, 54, 70, 77], "abov": [4, 11, 19, 50, 53, 54, 61, 62, 78, 79, 85], "taken": [4, 11, 19, 33, 62, 79], "qdma": [4, 15, 25, 26, 29, 38, 53, 54, 55, 57, 62, 63, 67, 70, 72, 76, 79, 90, 96], "product": [4, 7, 11, 16, 18, 53, 54, 62, 78, 79, 83, 88, 95], "guid": [4, 11, 15, 16, 18, 19, 22, 25, 26, 33, 36, 48, 51, 53, 54, 57, 62, 78, 79, 83, 85, 88, 91, 95], "pg195": [4, 10, 11, 12, 15], "document": [4, 5, 11, 13, 19, 20, 24, 27, 30, 33, 34, 43, 56, 62, 68, 73, 78, 79, 81, 85, 86, 91, 93, 97], "gotcha": [5, 13, 56, 60, 81, 93, 97], "gener": [5, 11, 13, 14, 20, 25, 26, 29, 34, 43, 49, 51, 53, 54, 56, 60, 62, 71, 73, 81, 86, 93], "checklist": [5, 13, 20, 34, 49, 60, 71, 81, 86, 93, 97], "tip": [5, 13, 31, 49, 81, 86, 97], "question": [5, 13, 20, 34, 49, 72, 81, 86, 97], "collater": [5, 13, 20, 34, 49, 56, 81, 86, 93, 97], "between": [6, 10, 19, 33, 53, 54, 58], "d0": 6, "uniniti": 6, "state": [6, 8, 19, 32, 33, 50, 53, 54, 62, 78, 82, 85, 91, 92], "mean": [6, 32, 53, 67], "physic": [6, 53, 54, 66, 77], "hasn": [6, 55], "t": [6, 19, 33, 50, 55, 77], "exchang": [6, 32], "initfc": 6, "enumer": [6, 9, 14, 19, 33, 48, 85, 97], "thu": [6, 62, 77, 79], "get": [6, 14, 16, 53, 54, 60, 72, 74, 77, 82, 85], "through": [6, 8, 10, 24, 25, 27, 32, 50, 53, 54, 55, 62, 65, 70, 73, 78], "essenti": [6, 53, 54], "user_reset": 6, "releas": [6, 7, 15, 31, 48, 51, 53, 57, 83, 95, 97], "layer": 6, "should": [6, 9, 10, 16, 19, 32, 33, 48, 50, 53, 54, 55, 62, 65, 70, 72, 73, 77, 78, 79], "therefor": [6, 53, 54], "indic": [6, 11, 14, 18, 19, 32, 33, 53, 54, 62, 92], "send": [6, 16, 53, 54, 55, 62, 67, 72, 76], "over": [6, 11, 53, 54, 79], "usabl": 6, "host": [6, 11, 16, 19, 25, 32, 33, 53, 54, 62, 65, 70, 78, 85, 87, 91], "testbench": 6, "hang": [6, 14, 53, 54, 70], "memori": [6, 10, 15, 16, 19, 24, 25, 26, 27, 32, 33, 48, 53, 54, 60, 62, 67, 70, 78, 85, 92], "whether": [6, 19, 32, 33, 38, 53], "non": [6, 9, 19, 33, 48, 50, 53, 54, 77, 79], "exist": [6, 19, 32, 33, 91], "These": [6, 72, 77], "attempt": [6, 19, 33], "would": [6, 16, 50, 53, 54], "readi": [6, 53, 54, 79], "mechan": [6, 11, 25, 59, 97], "unlik": [6, 48], "A": [6, 11, 19, 25, 33, 51, 53, 54, 62, 76, 88], "possibl": [6, 10, 16, 19, 33, 38, 53, 54, 62, 91], "workaround": 6, "firewal": 6, "outstand": [6, 53, 54, 62, 79], "number": [6, 9, 16, 28, 48, 53, 54, 55, 58, 62, 66, 67, 70, 72, 79], "8": [6, 10, 25, 26, 50, 53, 54, 90], "c_s_axi_num_read": 6, "one": [6, 11, 18, 32, 53, 54, 76], "instead": [6, 16, 19, 32, 33, 53, 54, 62, 78, 91], "narow": 6, "event": [6, 54], "though": [6, 67], "limit": [6, 16, 50, 53, 54, 91], "masteraxi": 6, "descript": [7, 15, 18, 19, 22, 33, 36, 51, 57, 60, 76, 78, 83, 88, 95], "url": [7, 15, 18, 22, 36, 51, 57, 76, 83, 88, 95], "v3": [7, 57], "http": [7, 15, 16, 18, 19, 22, 24, 27, 29, 30, 33, 36, 38, 48, 50, 51, 53, 55, 57, 58, 61, 68, 70, 73, 74, 76, 78, 83, 85, 88, 90, 91, 95], "www": [7, 15, 18, 19, 22, 24, 27, 29, 30, 33, 36, 38, 48, 50, 51, 57, 76, 78, 83, 85, 88, 91, 95], "xilinx": [7, 9, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 33, 36, 38, 48, 50, 51, 55, 57, 62, 67, 68, 70, 74, 76, 78, 83, 85, 88, 90, 91, 95], "com": [7, 15, 16, 18, 19, 22, 24, 27, 29, 30, 33, 36, 38, 48, 50, 51, 53, 55, 57, 58, 61, 70, 73, 74, 76, 78, 83, 85, 88, 90, 91, 95], "ip_document": [7, 15, 83], "axi_pcie3": 7, "v3_0": 7, "pdf": [7, 15, 19, 22, 24, 27, 30, 33, 36, 76, 83, 88, 95], "xdma": [7, 9, 10, 11, 14, 15, 25, 26, 29, 48, 57, 63], "jtag": [7, 15, 19, 26, 32, 33], "answer": [7, 9, 15, 16, 18, 19, 22, 28, 31, 33, 34, 36, 38, 48, 50, 51, 57, 70, 78, 83, 85, 91, 95, 97], "71322": [7, 15], "html": [7, 15, 18, 19, 22, 29, 33, 36, 38, 48, 50, 51, 57, 68, 78, 83, 85, 91, 95], "note": [7, 15, 31, 48, 50, 51, 53, 54, 57, 67, 72, 83, 95, 97], "known": [7, 15, 19, 33, 50, 57, 83, 95], "2013": 7, "newer": [7, 15, 57], "tool": [7, 15, 53, 57, 77], "54646": [7, 28], "gen": 7, "3": [7, 10, 15, 19, 25, 26, 33, 50, 53, 55, 60, 76, 83, 85, 90], "intellectu": 7, "properti": [7, 87, 91], "axi_pcie_gen3": 7, "trasfer": 8, "probe": [8, 14, 19, 33, 50], "m_axi": 8, "s_axi": 8, "direct": [8, 19, 32, 33, 53, 54, 55, 62, 65, 70, 87, 91], "flow": [8, 9, 10, 25, 38, 48, 50, 56, 68, 91, 97], "trigger": [8, 25, 53, 54, 66, 92], "catch": 8, "made": [8, 29, 53, 54], "show": [8, 19, 33, 50, 55, 63, 97], "here": [8, 73], "field": [8, 53, 55, 58, 66, 78], "araddr": 8, "awaddr": 8, "expect": [8, 19, 33, 76], "vector": [8, 53, 54], "c_pciebar2axibar_": 8, "c_axibar_": 8, "anyth": [8, 53, 54, 55], "failur": [8, 19, 32, 33, 50], "make": [8, 9, 19, 32, 33, 38, 48, 50, 53, 54, 62, 69, 70, 72, 73, 74, 77, 78, 87, 96], "sure": [8, 9, 19, 32, 33, 48, 50, 53, 54, 69, 70, 72, 73, 74, 78, 87], "thei": [8, 53, 54, 72, 73], "bvalid": 8, "breadi": 8, "each": [8, 10, 32, 53, 54, 62, 66, 67, 70, 92], "rresp": 8, "rvalid": 8, "rreadi": 8, "both": [8, 53, 54, 55, 72, 73, 76, 79, 85, 91, 96], "investig": [8, 48, 53], "those": [8, 55, 72, 77], "move": [8, 77], "strict": 8, "might": [8, 19, 32, 33, 53, 54, 68, 72, 73, 76], "halt": [8, 54], "pipelin": [8, 19, 33], "0x148": 8, "s_axil_": 8, "axis_tx": 8, "rx": [8, 53, 76], "spot": 8, "visibl": [8, 32], "problem": [8, 50, 62], "mm": [8, 53, 54, 60, 62, 65, 66, 90], "gen2": [8, 16, 19, 24, 27, 33, 76], "machin": [8, 16, 19, 32, 33, 50, 78, 85, 91], "seen": [8, 50, 53, 62, 76], "axis_": 8, "datapath": [8, 11, 53], "p": [9, 15, 19, 22, 26, 29, 33, 36, 38, 48, 50, 51, 54, 78, 83, 85, 87, 91], "driver": [9, 10, 14, 15, 16, 18, 19, 24, 25, 26, 27, 29, 32, 33, 48, 50, 51, 53, 55, 57, 60, 62, 63, 65, 67, 70, 71, 72, 73, 77, 88, 97], "model": [9, 26, 48, 76], "section": [9, 14, 48, 85, 91], "ug1085": [9, 48], "summar": [9, 48], "review": [9, 10, 19, 33, 48, 60, 67, 68, 70, 85, 91], "gt": [9, 14, 19, 32, 33, 48, 50, 77, 82, 91], "transceiv": [9, 19, 33, 48], "iou": [9, 48], "correctli": [9, 32, 48, 69, 70, 73], "try": [9, 16, 19, 32, 33, 48, 50, 72, 82], "petalinux": [9, 26, 43, 48, 51, 97], "bsp": [9, 48], "particular": [9, 14, 48, 53, 54], "board": [9, 16, 19, 25, 29, 32, 33, 48, 50, 54, 87], "silicon": [9, 16, 48], "revis": [9, 19, 33, 48], "base": [9, 14, 16, 25, 30, 48, 54, 55, 62, 65, 70, 85, 90, 91], "templat": [9, 48], "build": [9, 48], "project": [9, 38, 48], "hdf": [9, 48], "file": [9, 14, 19, 22, 33, 36, 38, 48, 57, 68, 70], "dt": [9, 48], "test": [9, 24, 25, 26, 27, 29, 48, 50, 55], "off": [9, 19, 33, 48, 53, 54, 62, 87], "shelf": [9, 48], "card": [9, 11, 19, 32, 33, 48, 50], "exampl": [9, 10, 11, 15, 16, 19, 24, 25, 26, 27, 29, 33, 48, 51, 53, 54, 70, 77, 78, 85, 86, 91, 96, 97], "nic": [9, 48, 50], "help": [9, 14, 48, 50, 62, 67, 68], "compar": [9, 19, 33, 48, 62, 67], "develop": [9, 19, 25, 29, 33, 48, 62], "zcu102": [9, 26, 48, 50, 51], "below": [9, 19, 33, 38, 48, 50, 55, 58, 61, 63, 68, 73, 74, 78, 85, 91, 96], "xsct": [9, 48], "mrd": [9, 48], "0xfd480000": [9, 48], "100": [9, 48, 50], "pl": [9, 25, 26, 38, 48, 50, 51, 54, 55, 57, 73, 91], "zynq": [9, 29, 48, 50, 51], "mpsoc": [9, 48, 51], "experi": [9, 48], "seamless": [9, 48], "interoper": [9, 48], "70854": [9, 48], "provid": [9, 16, 19, 33, 38, 48, 53, 54, 55, 58, 62, 70, 73, 74, 77, 85, 91], "topic": [9, 48, 97], "prefetch": [9, 16, 48, 53, 54, 55, 60, 62, 65, 66, 67], "top": [10, 76, 96], "level": [10, 16, 53, 62, 72, 76, 77, 96], "h2c": [10, 15, 25, 53, 54, 60, 62, 65, 70], "c2h": [10, 11, 14, 16, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72, 74], "setup": [10, 19, 33, 43, 53, 97], "summari": [10, 53, 54], "stream": [10, 11, 14, 16, 53, 54, 60, 62, 65, 66, 67, 70, 72, 74], "track": [10, 19, 33, 53, 54, 58], "bypass": [10, 19, 25, 33, 53, 54, 55, 60, 62, 66, 67, 71, 72, 76, 85, 97], "descriptor": [10, 11, 14, 16, 25, 53, 54, 55, 58, 60, 62, 65, 66, 67, 69, 70, 72, 78], "defin": [10, 19, 25, 33, 53, 54], "0x00": 10, "0x04": 10, "etc": [10, 19, 33, 54, 55, 58, 65, 92], "how": [10, 16, 19, 25, 29, 33, 55, 65, 67, 70, 72, 73, 96, 97], "find": [10, 55], "differ": [10, 11, 19, 33, 54, 55, 91], "format": [10, 53, 54], "tabl": [10, 25, 53, 61, 83], "e": [10, 16, 38, 55, 76, 92], "g": [10, 16, 38, 55, 92], "0x00000104": 10, "7": [10, 22, 24, 25, 26, 27, 28, 29, 30, 36, 50, 53, 54, 77, 90], "11": [10, 25, 26, 90], "id": [10, 19, 32, 33, 53, 96], "15": [10, 25, 26, 53, 90], "12": [10, 25, 26, 53, 54, 90], "submodul": 10, "31": [10, 25, 53], "16": [10, 25, 26, 50, 53, 70, 90], "reserv": [10, 53, 54, 62], "arm": [10, 50, 53, 54, 65], "processor": 10, "No": [10, 25, 26, 53, 54, 55, 66], "what": [10, 14, 16, 19, 33, 55, 67, 72, 78, 91], "xdma0_bypass_h2c_0": 10, "xdma0_bypass_c2h_0": 10, "xdma0_bypass": 10, "xdma0_bypass_h2c": 10, "xdma0_bypass_c2h_": 10, "so": [10, 16, 18, 19, 32, 33, 53, 54, 55, 62, 72, 77, 79, 91], "ignor": 10, "combin": [10, 53, 77], "xdma0_c2h_0": 10, "xdma0_c2h_1": 10, "xdma0_c2h_2": 10, "xdma0_c2h_3": 10, "singl": [10, 19, 33, 53, 78], "select": [10, 19, 33, 53, 54, 66, 77, 79, 83, 88, 95, 96], "individu": [10, 62, 66], "its": [10, 50, 53, 54, 62, 77], "wai": [10, 11, 55, 62], "specifi": [11, 19, 33, 53], "time": [11, 16, 19, 33, 53, 54, 55, 62, 77, 78, 85, 91], "take": 11, "preced": 11, "legaci": [11, 16, 18], "softwar": [11, 53, 54, 55, 58, 60, 62, 65, 66, 67, 73], "switch": [11, 19, 33], "either": [11, 50, 53, 62, 79], "while": [11, 19, 33, 53, 54, 55, 91], "user_irq_ack": 11, "remain": [11, 77], "queri": [11, 48], "servic": [11, 53, 62], "routin": 11, "isr": [11, 16], "determin": [11, 53, 54], "sourc": [11, 14, 38, 53, 54, 61, 62], "know": [11, 55], "mani": [11, 16, 54, 67, 70, 72, 78], "your": [11, 16, 19, 32, 33, 53, 54], "involv": 11, "arrai": 11, "modifi": [11, 14, 25, 53, 91], "destin": [11, 54, 62], "unus": 11, "span": [11, 53, 54], "multipl": [11, 19, 32, 33, 53, 54, 55, 78, 85, 91], "eop": [11, 53, 54], "tlast": [11, 32, 53, 54, 55], "tkeep": 11, "except": [11, 60], "On": [11, 50], "full": [11, 16, 38, 53, 54, 62, 72], "pack": 11, "lsb": 11, "contigu": [11, 19, 33, 53, 54], "buffer": [11, 53, 54, 62, 66, 70, 77], "It": [11, 53, 54, 55, 62, 72, 77], "64": [11, 32, 53, 54, 78, 79], "irq": [11, 50], "usr_irq_exd": 11, "faq": [13, 56, 81, 93, 97], "perform": [13, 24, 25, 27, 30, 53, 54, 57, 62, 66, 71, 78, 90, 97], "similar": [14, 19, 32, 33, 63, 91], "boot": [14, 32, 50, 77], "strategi": 14, "fail": [14, 18, 20, 34, 48, 50, 70, 77, 78, 87, 97], "load": [14, 53, 63, 70, 77], "dmesg": [14, 25, 50, 60], "narrow": [14, 16, 53, 54], "where": [14, 38, 48, 53, 74], "onc": [14, 16, 53, 54, 65], "call": [14, 16, 76], "pio": [14, 25, 26, 78, 90, 91], "primari": [14, 62], "look": [14, 16, 55, 63, 72], "insid": [14, 16, 77], "c": 14, "insert": [14, 19, 29, 33, 66, 77], "kernel": [14, 16, 18, 25, 26, 29, 32, 48, 50, 57, 68], "variou": [14, 38, 73], "insmod": 14, "load_driv": 14, "sh": 14, "ko": 14, "enable_credit_mp": 14, "download": [15, 16, 57, 67], "github": [15, 16, 55, 57, 67, 68, 76, 90], "dma_ip_driv": [15, 16, 55, 57, 68], "v4": [15, 29, 57], "v4_1": 15, "2015": 15, "65443": [15, 28], "71435": [15, 16], "articl": [15, 53, 54, 57, 58, 70, 73, 90], "000034166": 15, "languag": [15, 57, 70, 73, 76, 90], "en_u": [15, 57, 70, 73, 90], "v": [15, 19, 29, 33, 77], "forum": [15, 19, 22, 29, 33, 36, 38, 78, 83, 85, 91], "t5": [15, 19, 22, 29, 33, 36, 38, 78, 83, 85, 91], "cpm": [15, 25, 28, 54, 55, 61, 73, 74, 85, 88, 97], "td": 15, "944098": 15, "measur": [16, 19, 33], "lspci": [16, 25, 38, 48, 50, 70, 78, 85, 91, 97], "come": [16, 19, 33, 53, 54, 91], "speed": [16, 19, 33, 38, 78, 92], "video": [16, 31, 51, 97], "best": [16, 53, 73], "ar71435": 16, "record": [16, 28, 31, 78, 85, 91, 97], "ar68049": 16, "did": [16, 19, 32, 33, 50], "65444": 16, "tree": [16, 43, 76, 90, 97], "linux": [16, 25, 26, 29, 48, 50, 53, 57, 68, 88, 97], "tri": [16, 19, 33], "improv": [16, 53, 62], "One": [16, 53, 54], "factor": 16, "affect": [16, 53, 62, 73], "throughput": 16, "process": [16, 32, 50, 53, 54, 62], "wait": [16, 53, 54, 62], "predict": 16, "overal": [16, 73], "total": [16, 53, 54, 55, 79], "slow": [16, 87], "unpredict": 16, "There": [16, 19, 33, 53, 55, 62, 72], "coupl": [16, 19, 33], "work": [16, 53, 54, 55, 70, 76, 77, 78, 85], "around": [16, 58], "With": [16, 53, 54], "rate": [16, 19, 33, 62], "better": [16, 54, 78], "we": [16, 55], "explain": 16, "some": [16, 18, 33, 50, 53, 73], "lower": 16, "poll": [16, 53, 62], "give": [16, 50, 53, 55, 72], "mp": [16, 54], "mrr": 16, "128byte": 16, "wp350": [16, 30], "x58": 16, "256": [16, 53, 78, 79], "maximum": [16, 53, 54, 58, 62, 79], "payload": [16, 54, 78, 79, 97], "x38": 16, "128": 16, "high": [16, 19, 33, 54, 73, 77, 79, 87], "end": [16, 38, 53, 54, 79, 96], "effici": 16, "comparison": 16, "stabl": [16, 32], "ltssm": [16, 19, 33, 50, 78, 82, 85, 91, 92, 97], "go": [16, 19, 32, 33, 55], "recoveri": [16, 19, 32, 33, 62, 78, 85, 91], "intermitt": 16, "ar71355": 16, "analyz": [16, 19, 33], "nak": 16, "could": [16, 19, 33, 38, 72, 73, 85], "pipe": [16, 19, 22, 24, 25, 27, 29, 33, 36, 76, 83], "descrambl": [16, 19, 22, 25, 33, 36, 83], "modul": [16, 19, 22, 25, 33, 36, 53, 54, 77, 83, 88], "blog": [16, 19, 22, 29, 31, 33, 36, 38, 58, 73, 78, 83, 85, 91, 97], "lane": [16, 19, 25, 33, 38, 78], "gen3x8": 16, "larger": [16, 53], "higher": [16, 38, 53], "tradeoff": 16, "consum": [16, 53, 54, 77], "inform": [16, 32, 53, 54, 57, 62, 65, 74, 91], "enough": [16, 50, 53, 54, 62, 70, 78, 85, 91], "partner": [16, 19, 33, 78], "bram": 16, "ddr": 16, "prone": 16, "robust": 16, "reduc": [16, 53, 54, 62], "kick": 16, "happen": [16, 19, 33, 67, 92], "increas": [16, 53, 77], "side": [16, 53, 54, 62, 72, 76], "frequenc": [16, 19, 33, 76], "smart": [16, 53], "replac": 16, "interconnect": 16, "synchron": [16, 19, 33, 76], "same": [16, 19, 33, 53, 54, 55, 67, 72], "boost": 16, "due": [16, 53, 54, 62, 72], "hardwar": [16, 19, 29, 33, 43, 53, 54, 60, 62, 65, 70, 73, 97], "log": [16, 48, 53, 55, 60, 62], "repeat": 16, "cfg_interrupt_int": 18, "cfg_interrupt_don": 18, "certain": [18, 53, 62, 67, 92, 97], "steadi": 18, "respond": 18, "encod": [18, 92], "58495": 18, "72702": [18, 83], "howto": 18, "org": 18, "doc": [18, 53, 61, 74, 85, 88, 91, 95], "unabl": [19, 33], "retain": [19, 33], "l0": [19, 32, 33, 78, 85, 91], "incorrect": [19, 33, 48], "pinout": [19, 33], "revers": [19, 25, 33, 78], "neither": [19, 33], "ep": [19, 25, 32, 33, 50], "too": [19, 33, 77], "big": [19, 33], "wrong": [19, 33], "mayb": [19, 33], "miss": [19, 33, 53, 97], "surpris": [19, 33], "vm": [19, 33], "assign": [19, 32, 33, 48, 50, 53, 54, 55, 77, 91], "proper": [19, 33, 53], "iommu": [19, 33], "bifurc": [19, 33], "doesn": [19, 33, 50, 55, 77], "match": [19, 33, 53, 55, 62, 74], "vice": [19, 33], "versa": [19, 33], "slot": [19, 32, 33, 50, 66], "power": [19, 29, 32, 33, 85, 91], "vendor": [19, 25, 32, 33], "invalid": [19, 33, 53, 54, 60, 62, 71, 97], "pointer": [19, 33, 53, 54], "extend": [19, 33], "bad": [19, 33], "tandem": [19, 24, 25, 27, 29, 33, 90], "imag": [19, 26, 33, 43, 51, 97], "constraint": [19, 33, 53, 77, 91], "stall": [19, 33, 53, 62], "throttl": [19, 33], "cfg_space": [19, 33], "errata": [19, 33], "bio": [19, 33, 48, 50, 73, 87], "occur": [19, 33, 53, 55, 62, 67, 70, 78], "gen1x1": [19, 33, 38], "motherboard": [19, 33], "pc": [19, 33], "who": [19, 33, 55], "manufactur": [19, 33], "chipset": [19, 33], "gen1": [19, 33], "describ": [19, 33, 85, 96], "fpga": [19, 22, 24, 26, 27, 28, 29, 30, 33, 36, 51, 83, 97], "estim": [19, 33], "loss": [19, 33], "desir": [19, 33, 53, 77], "passiv": [19, 33], "interpos": [19, 33], "retim": [19, 33], "part": [19, 32, 33, 54, 90], "chip": [19, 33], "add": [19, 33, 53, 54, 77], "backplan": [19, 33], "cabl": [19, 33], "lock": [19, 33, 82], "asynchron": [19, 33], "ssc": [19, 33, 87], "were": [19, 33, 53, 67, 77], "synthesi": [19, 33, 53], "rout": [19, 33, 53], "xdc": [19, 33], "immedi": [19, 33, 53, 62, 66], "hour": [19, 33], "back": [19, 32, 33, 53, 54], "observ": [19, 33, 53, 54], "chang": [19, 33, 79, 91, 92], "long": [19, 31, 33, 54, 97], "success": [19, 33], "wa": [19, 32, 33, 50, 53, 54, 55, 62, 66, 67, 97], "protocol": [19, 22, 33, 36, 53], "analysi": [19, 25, 26, 33, 53], "oscilloscop": [19, 33], "free": [19, 33], "ti": [19, 33, 53, 54], "abil": [19, 33, 53, 62], "clean": [19, 33], "graph": [19, 33], "debugg": [19, 33], "gui": [19, 33, 82, 96], "ey": [19, 24, 27, 33, 78, 85, 91], "scan": [19, 24, 27, 32, 33], "ibert": [19, 33], "jitter": [19, 33, 85, 91], "nois": [19, 33, 85, 91], "refclk": [19, 33], "plot": [19, 33], "dfe": [19, 33], "lpm": [19, 33], "autorxeq": [19, 33], "regener": [19, 33], "tape": [19, 33], "38988": [19, 33], "eou": [19, 33], "techniqu": [19, 22, 31, 33, 36, 78, 83, 85, 91, 97], "ba": [19, 22, 29, 33, 36, 38, 78, 83, 85, 91], "1097525": [19, 33, 78], "versal": [19, 25, 28, 29, 33, 38, 55, 57, 61, 85, 88, 91, 95], "acap": [19, 25, 28, 29, 33, 38, 57, 85, 88, 91, 95], "1203707": [19, 33, 38, 85, 91], "guidelin": [19, 25, 33, 73], "gth": [19, 33], "gty": [19, 33], "user_guid": [19, 33], "ug576": [19, 33], "ug578": [19, 33], "56616": [19, 22, 33, 36], "73361": [19, 22, 33, 36, 38, 78, 83, 85, 91], "transit": [19, 33], "store_ltssm": [19, 33], "71355": [19, 33], "erron": [19, 33], "consult": [19, 33], "understand": [19, 25, 30, 33, 38, 91], "why": [19, 33], "As": [19, 33, 62], "put": [19, 33, 53, 54, 76], "ac": [19, 33], "capacitor": [19, 33], "transmitt": [19, 33], "differenti": [19, 33], "pair": [19, 33], "75": [19, 33], "nf": [19, 33], "200": [19, 33, 53, 54], "close": [19, 33, 38], "proxim": [19, 33], "crack": [19, 33], "sheet": [19, 33], "target": [19, 30, 33, 53, 54, 76], "care": [19, 33], "respect": [19, 33, 48, 53], "schemat": [19, 33, 85, 91], "per": [19, 33, 53, 54, 62, 65, 66, 67, 77, 79, 85, 91], "io": [19, 33, 57, 68, 77, 87], "standard": [19, 33, 77], "suppli": [19, 33], "decoupl": [19, 33, 77], "mention": [19, 33, 55], "peak": [19, 33], "resistor": [19, 33], "calibr": [19, 33], "circuit": [19, 33], "layout": [19, 33], "fulfil": [19, 33], "oscil": [19, 33], "regard": [19, 33], "dedic": [19, 33, 77], "meet": [19, 33, 50, 55, 77], "exce": [19, 33], "characterist": [19, 33], "datasheet": [19, 33], "keep": [19, 33, 53, 54, 79], "imped": [19, 33], "discontinu": [19, 33, 79], "auto": [19, 33], "rxeq": [19, 33], "sometim": [19, 33], "cpll": [19, 33], "qpll": [19, 33], "pll": [19, 33], "preset": [19, 33], "5": [19, 24, 25, 26, 27, 33, 50, 90], "4": [19, 25, 26, 29, 33, 50, 54, 55, 57, 72, 90], "2": [19, 25, 26, 29, 33, 53, 55, 57, 60, 69, 76, 77, 79, 85, 90], "phase2": [19, 33], "mac": [19, 33], "skew": [19, 33], "demystifi": [19, 22, 25, 33, 36, 83], "built": [19, 22, 25, 29, 33, 36, 51, 55, 83], "980246": [19, 22, 33, 36, 83], "third": [19, 33, 50, 76], "parti": [19, 33, 50, 76], "mandatori": [19, 33], "pg239": [19, 33], "drive": [19, 29, 33, 54, 55, 77, 79, 87], "persist": [19, 33, 77, 78, 85, 91], "bitstream": [19, 33, 50, 77], "spi": [19, 33], "bp": [19, 33], "flash": [19, 33, 77], "across": [19, 53, 54, 77], "common": [20, 34, 48, 91, 97], "reason": [20, 34, 53, 54, 62, 72, 97], "regress": [20, 34, 97], "capabl": [20, 24, 27, 34, 50, 66, 77, 78, 97], "si": [20, 34, 97], "info": [20, 34, 97], "train": [22, 25, 26, 36, 78, 83, 97], "2019": [22, 26, 29, 36, 83], "usag": [22, 25, 26, 29, 36, 83, 87], "72471": [22, 36, 38, 83], "seri": [22, 24, 26, 27, 28, 29, 30, 36, 77, 88, 95], "troubleshoot": [22, 25, 36, 53, 54], "pcisig": [22, 36], "site": [22, 36, 77], "02_01_troubleshooting_pci_express_link_training_and_protocol_issues_frozen": [22, 36], "xapp1177": [24, 27], "sr": [24, 27], "iov": [24, 27], "virtex": [24, 26, 27, 28, 29], "application_not": [24, 27, 76], "sriov": [24, 26, 27, 66], "xapp1179": [24, 27], "kintex": [24, 27, 29], "trd": [24, 27], "xapp1184": [24, 27, 76], "x8": [24, 27, 29, 50, 76], "xapp1171": [24, 27], "central": [24, 27], "xapp1201": [24, 27], "xt": [24, 27], "ht": [24, 27], "xapp1198": [24, 27], "xapp859": [24, 27], "ddr2": [24, 27], "sdram": [24, 27], "demonstr": [24, 27], "platform": [24, 27, 48, 50], "xapp1002": [24, 27], "chipscop": [24, 27], "pro": [24, 27], "plu": [24, 26, 27, 28, 83], "wrapper": [24, 26, 27, 28], "xapp": [24, 27], "1022": [24, 27], "xapp1022": [24, 27], "1052": [24, 27], "solut": [24, 27, 77], "xapp1052": [24, 27], "xapp518": [24, 27], "bpi": [24, 27], "prom": [24, 27, 77], "6": [24, 25, 26, 27, 28, 29, 30, 50, 53, 54, 74, 90], "technologi": [24, 27], "isp": [24, 27], "xapp883": [24, 27], "fast": [24, 27, 29, 76], "partial": [24, 27, 77], "xapp883_fast_config_pci": [24, 27], "xapp1286": [24, 27], "titl": [25, 26, 28], "setpci": [25, 32, 38, 48, 50, 78, 85, 91], "python": 25, "9": [25, 26, 90], "10": [25, 26, 53, 54, 90], "advanc": 25, "bdf": 25, "manag": [25, 53, 54, 58, 60, 61, 62, 66, 67, 72, 77], "13": [25, 26, 90], "14": [25, 26, 50, 90], "cpm4": [25, 57, 90, 91, 97], "gen4x8": [25, 90], "ced": [25, 76, 90], "17": [25, 26, 50, 90], "18": [25, 26, 90], "aer": [25, 32], "19": [25, 26, 90], "20": [25, 26], "vpk120": 25, "21": [25, 26], "modular": 25, "22": [25, 26], "cpm5": [25, 59, 90, 97], "23": [25, 26], "questa": 25, "24": 25, "queue": [25, 26, 28, 53, 54, 55, 57, 58, 60, 62, 65, 66, 67, 70, 72], "tune": [25, 73], "25": 25, "compil": [25, 53, 54], "dpdk": [25, 29, 55, 68], "app": 25, "step": [25, 38], "screenshot": [25, 63], "26": [25, 50, 53], "pcie4": [25, 83, 91], "pcie5": [25, 57], "27": 25, "adapt": [25, 86, 88, 95, 97], "soc": [25, 86, 88, 95, 97], "logicor": [25, 95], "28": [25, 50], "29": [25, 29], "deep": 25, "dive": 25, "loopback": [25, 53, 78], "30": [25, 29, 53], "profil": [25, 53, 65], "context": [25, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72], "32": [25, 32, 53, 54, 78], "2023": [25, 90], "33": 25, "deciph": [25, 59, 97], "pidx": [25, 53, 54, 59, 60, 62, 69, 70, 71, 97], "34": 25, "flr": [25, 53, 62, 66], "35": 25, "36": 25, "illustr": 25, "37": 25, "marker": [25, 53, 55, 62, 66], "38": 25, "39": 25, "st": [25, 53, 54, 60, 90], "2024": 25, "40": 25, "downstream": 26, "quick": 26, "serial": [26, 76], "rapidio": 26, "verilog": [26, 76], "zc706": [26, 51], "kc705": [26, 51], "zcu106": 26, "ultraz": 26, "intel": 26, "ssd": 26, "750": 26, "nvme": 26, "remark": [28, 66], "75397": 28, "75396": 28, "75350": 28, "73083": [28, 95], "72289": 28, "70927": [28, 57], "66988": 28, "71399": 28, "4c": 28, "65751": [28, 83], "57945": 28, "61898": 28, "54645": 28, "v2": 28, "onward": 28, "47441": 28, "ISE": 28, "54643": 28, "40469": 28, "44969": 28, "edk": 28, "65178": 28, "65177": 28, "spartan": [28, 30], "xilnx": 28, "51597": 28, "x16": 29, "harden": 29, "complianc": [29, 53], "now": [29, 32, 91], "100gbp": 29, "xcell": 29, "daili": 29, "694911": 29, "mig": [29, 51, 77], "kcu105": 29, "windriv": 29, "jungo": 29, "ipi": [29, 38, 51, 76, 90], "ddr4": 29, "creat": [29, 38, 67, 77], "youtub": 29, "watch": 29, "1ygviynflyi": 29, "g8n86wvh2ig": 29, "mentor": 29, "bfm": 29, "vwnkg01rjei": 29, "0knvw_6bgu0": 29, "simpl": [29, 53, 54, 55, 60, 66, 71, 97], "d1vofbsuwac": 29, "demo": 29, "iohgltr11qi": 29, "wxd71xdmmke": 29, "maw7ao6p6zu": 29, "bu8bspuiyoo": 29, "index": [29, 53, 54, 65], "pl35626fef3d5cb8f2": 29, "i8axs4hw2f4": 29, "startup": [29, 77], "dt3ytlwfehw": 29, "104": 29, "n5ovptstwua": 29, "youtu": 29, "c2j89lixhya": 29, "ryozp": 29, "dmwsk": 29, "vcu118": 29, "hjuarbawyqw": 29, "x0njx": 29, "zzg4k": 29, "u200": 29, "2020": [29, 57], "esjc6twgafi": 29, "live": 29, "premium": [29, 88, 95], "gen5": 29, "wp464": 30, "white_pap": 30, "wp384": 30, "wp384_pcie_7seri": 30, "wp363": 30, "lfar": [31, 97], "form": [31, 53, 97], "white": [31, 97], "paper": [31, 97], "cfg_ltssm_state": [32, 92], "h10": 32, "consist": [32, 38], "stai": 32, "repeatedli": 32, "100m": [32, 50, 77], "good": [32, 72], "warm": [32, 78, 85, 91], "reboot": [32, 78, 85, 91], "violat": 32, "server": 32, "anoth": [32, 53, 54], "discoveri": 32, "cold": 32, "recov": 32, "00": [32, 48, 50], "indefinit": [32, 53, 54], "cfg_link_training_en": 32, "b1": [32, 53, 70], "fsm": 32, "phy_status_rst": 32, "reset_don": 32, "cross": [32, 54], "against": [32, 62], "max": [32, 53, 66], "chanc": [32, 50], "rescan": [32, 48, 50], "properli": [32, 50, 54], "treadi": 32, "tvalid": 32, "vvv": 32, "d": [32, 85, 91], "someth": 32, "region": [32, 77], "word": 32, "virtual": [32, 53, 54], "previous": 32, "unexpect": [32, 53], "them": [32, 53, 54, 67, 76, 77, 96], "util": [32, 48, 53, 54, 79], "alloc": [32, 50, 53, 70], "larg": [32, 53, 62, 77], "realloc": 32, "mmio": 32, "rxof": 32, "suffici": [32, 53, 54], "item": 33, "reproduc": [38, 67], "u": [38, 53, 61, 74, 85, 88, 91, 95], "1148199": [38, 78, 85, 91], "37406": 38, "instruct": 38, "isol": 38, "introduc": 38, "concept": 38, "split": [38, 54], "compon": [38, 91], "1215986": [38, 91], "wish": 38, "extract": 38, "project_1": 38, "name": [38, 65, 77], "catalog": 38, "right": 38, "click": [38, 53, 54, 96], "two": [38, 62, 72, 96], "_rp": 38, "export": 38, "_ep": 38, "shown": [38, 48, 96], "snapshot": [38, 96], "page": [39, 40, 41, 42, 44, 45, 46, 47, 51, 53, 54, 62, 88], "progress": [39, 40, 41, 42, 44, 45, 46, 47], "soon": [39, 40, 41, 42, 44, 45, 46, 47, 53, 54, 62], "visit": [39, 40, 41, 42, 44, 45, 46, 47], "later": [39, 40, 41, 42, 44, 45, 46, 47, 53, 54], "creation": [43, 97], "structur": [43, 50, 53, 54, 65, 66, 70, 97], "ecam": [43, 97], "tactic": [43, 97], "patch": [43, 97], "testabl": [43, 97], "class": 48, "code": [48, 50, 78], "pcw": 48, "70702": [48, 51], "71210": [48, 51], "x86": [48, 50], "memen": 48, "embed": [48, 77], "relev": [48, 53, 54, 61, 62, 85], "api": [48, 50, 53, 55], "via": [48, 50, 76], "devmem": [48, 50], "01": [48, 50], "0x7": [48, 50], "successfulli": [48, 97], "proceed": 48, "further": [48, 53, 54, 62], "detec": 48, "echo": [48, 50, 53], "sy": [48, 50], "0000": [48, 50], "remov": [48, 50, 53, 54, 77], "mellanox": 50, "connect4": 50, "lx": 50, "recogn": [50, 53, 55], "mlx5": 50, "encount": [50, 54, 62], "excerpt": 50, "940428": 50, "0002": 50, "946132": 50, "mellanox_check_broken_intx_mask": 50, "0x0": [50, 53, 54, 61], "0x1b8": 50, "took": 50, "11111": 50, "usec": 50, "954572": 50, "mlx5_core": 50, "got": 50, "51": 50, "954852": 50, "954929": 50, "firmwar": 50, "1040": 50, "960966": 50, "000": 50, "gb": 50, "bandwidth": [50, 53, 54], "x4": 50, "63": [50, 53], "008": 50, "278293": 50, "mlx5_load": 50, "1068": 50, "pid": 50, "003727": 50, "init_on": 50, "1349": 50, "mlx5_load_on": 50, "012869": 50, "012981": 50, "019199": 50, "025095": 50, "52": 50, "025685": 50, "025765": 50, "031808": 50, "349033": 50, "072889": 50, "082038": 50, "082160": 50, "zu": 50, "fsbl": 50, "abl": [50, 62, 87], "gtr": 50, "includ": [50, 53, 54, 62], "ref": [50, 78, 85, 91], "ug1137": 50, "fit": [50, 54], "0xfd480238": 50, "prompt": [50, 91], "0x3": [50, 61], "html_doc": [50, 85], "ug1087": 50, "pcie_attrib___attr_101": 50, "0xfd480228": 50, "pg054": 50, "found": [50, 62], "just": [50, 53, 54, 77, 78], "0xfd1a0100": 50, "pcie_ctrl_reset": 50, "like": [50, 72], "perst": 50, "ultrascaleregist": 50, "crf_apb___rst_fpd_top": 50, "nwl": 50, "fd0e0000": 50, "unsupport": [50, 97], "gpu": 50, "3130": 50, "483591": 50, "490863": 50, "0x4": 50, "execut": [50, 62], "invok": 50, "pci_enable_device_mem": 50, "manual": [50, 77, 88, 91], "land": 51, "wiki": [51, 88], "atlassian": [51, 88], "net": [51, 88], "85983409": 51, "71493": 51, "71494": 51, "tackl": [53, 54], "navig": [53, 54], "lengthi": [53, 54], "overwhelm": [53, 54], "streamlin": [53, 54], "directli": [53, 54], "highlight": [53, 54], "kei": [53, 54, 58, 65, 77, 85, 91], "mind": [53, 54], "condens": [53, 54], "focus": [53, 54, 58], "easier": [53, 54], "quickli": [53, 54], "explor": [53, 54], "origin": [53, 54], "amd": [53, 54, 58, 61, 73], "r": [53, 61, 74, 82, 85, 88, 91, 95], "en": [53, 61, 74, 85, 88, 91, 95], "tocid": [53, 61, 74], "iapafaz_pmiftrjvfo5taq": 53, "aggreg": [53, 54, 62, 65, 67], "turn": [53, 54, 62, 87], "ring": [53, 54, 55, 58, 62, 65, 70, 72], "5bp1owspu0kfrsl": 53, "uev2lq": 53, "togeth": [53, 54], "less": [53, 54, 79], "kb": [53, 54], "straddl": [53, 54, 77, 79], "lack": [53, 54, 72], "storag": [53, 54, 62], "w7xytgq781syeea3xb7g3a": 53, "own": [53, 54], "method": [53, 54], "deliv": [53, 54, 62], "fetch": [53, 54, 55, 60, 62, 66, 70, 72], "pf": [53, 54, 55, 62, 96], "vf": [53, 54, 55, 62], "group": 53, "vfg": 53, "equival": 53, "vfg_offset": [53, 54], "first_vf_offset": 53, "belong": [53, 54, 55], "share": [53, 54, 62], "concaten": [53, 54], "actual": [53, 54, 55], "rq": [53, 62], "rc": [53, 62, 79], "512": [53, 54, 79], "contain": [53, 54, 65], "entri": [53, 54, 55, 62, 65, 72], "never": [53, 54], "cidx": [53, 54, 58, 62, 65, 69, 70, 72], "smartconnect": [53, 54], "ecc": [53, 54, 62], "mutual": [53, 54, 77], "exclus": [53, 54, 77], "want": [53, 54, 55], "resourc": [53, 54, 62, 71, 97], "timer": 53, "\u03bc": 53, "batch": [53, 54], "scatter": 53, "gather": 53, "optim": [53, 54, 62], "16b": [53, 54], "And": 53, "left": 53, "h2c_byp_in_st_sdi": 53, "basi": [53, 54, 62, 65], "appli": [53, 85, 91], "dsc_crdt_in_fenc": 53, "assum": 53, "alreadi": [53, 54, 62], "coalesc": [53, 54, 66], "fenc": 53, "qdma_c2h_pfch_cfg_2": 53, "0xa84": 53, "qen": 53, "produc": [53, 54], "0x1": [53, 54, 61], "irq_req": 53, "irq_arm": [53, 54, 62], "err_wb_sent": 53, "writeback": [53, 54, 60, 62, 65, 66], "irq_no_last": 53, "dsc_sz": 53, "32b": [53, 54], "8b": [53, 54], "fetch_max": 53, "fcrd_en": [53, 54], "proce": [53, 62], "At": [53, 54], "wbi_chk": [53, 54], "interv": [53, 54], "traffic": [53, 54, 58, 60, 61, 62, 66, 67, 72], "sdi": [53, 54], "tm_dsc_st": [53, 54, 62], "pressur": [53, 54], "rvdoy7fzh1dbbxgmq3ytwg": 53, "reassert": [53, 54, 62], "quiesc": [53, 54, 62], "impos": 53, "mark": [53, 54], "Of": [53, 54], "sop": [53, 54], "among": [53, 54, 66], "piec": [53, 54], "feed": [53, 54, 72], "eventu": [53, 54], "multi": [53, 54], "fed": [53, 54], "sequenti": [53, 54], "interleav": [53, 54], "accumul": [53, 54], "Not": [53, 54], "submit": [53, 54], "qualiti": [53, 62], "sever": [53, 54, 62], "satur": [53, 54, 62], "128b": [53, 54, 62], "restrict": [53, 54, 62, 77, 79], "unit": [53, 54, 62], "amount": [53, 62], "sw": [53, 62, 65], "threshold": [53, 62], "h2c_req_throt": [53, 62], "0xe24": [53, 62], "handl": [53, 54, 60, 62, 77], "c1gc1g3yi2rqbfyc6cotcg": 53, "no_dma": [53, 54], "mrkr": [53, 54], "req": [53, 54], "iizb4_5eqe28ijzng1quba": 53, "post": [53, 54, 62, 72, 79], "cach": [53, 54, 60, 62, 66], "tag": [53, 54, 66], "freez": [53, 54], "qid": [53, 54, 55, 65, 72], "c2h_byp_in_st_csh_pfch_tag": [53, 54, 74], "n": 53, "_s_axis_c2h_mti": 53, "empti": [53, 55, 72], "_s_axis_c2h_cmpt_ctrl_wait_pld_pkt_id": 53, "cmpt": [53, 55, 62, 65, 66, 70, 71, 72, 97], "count": [53, 67, 78], "regular": [53, 66], "_s_axis_c2h_ctrl_has_cmpt": 53, "_s_axis_c2h_cmpt_ctrl_cmpt_typ": 53, "has_pld": 53, "depth": [53, 66], "largest": 53, "accommod": 53, "zero": [53, 54, 66], "drop": [53, 55, 62, 71, 72, 97], "lhogtrzwefbwbmskihgw": 53, "portion": [53, 62], "exact": 53, "content": [53, 54, 73], "0xb50": 53, "overflow": [53, 79, 97], "avoid": [53, 77, 79], "baddr4_low": 53, "sinc": [53, 54], "64b": 53, "priorit": [53, 62], "arbitr": 53, "leav": 53, "gap": 53, "convert": 53, "along": 53, "fmap": [53, 70], "mailbox": [53, 66], "procedur": 53, "sensit": 53, "unarm": 53, "privileg": 53, "period": 53, "repres": 53, "steer": 53, "still": [53, 67, 69, 78, 85, 91], "soft_reset": 53, "reiniti": 53, "expans": 53, "rom": 53, "mb": 53, "compliant": 53, "pariti": [53, 62], "recover": 53, "consid": [53, 54], "stop": [53, 62], "fix": [53, 54], "reopen": 53, "sys_clk": 53, "odiv2": 53, "ibufds_gte4": 53, "s_axib_wstrb": 53, "hw_ctxt": 53, "dsc_pend": 53, "loop": [53, 54], "c2h_byp_out_pfch_tag": [53, 54], "mdma_c2h_pfch_byp_tag": [53, 54, 74], "0x140c": [53, 54, 74], "c2h_byp_in_st_csh_": [53, 54], "h2c_byp_out_rdi": 53, "h2c_byp_out_cidx": 53, "c2h_byp_out_cidx": 53, "c2h_byp_out_rdi": 53, "otherwis": 53, "tm_dsc_sts_rdy": [53, 70], "qsts_out_rdi": 53, "simplifi": 53, "programm": 53, "flip": 53, "flop": 53, "critic": [53, 78], "modif": [53, 67], "advers": 53, "effect": 53, "dialog": 53, "box": 53, "tab": [53, 96], "deeper": 53, "area": 53, "downsid": 53, "protect": [53, 66], "crc": 53, "becom": [53, 77], "2022": [53, 76], "explicitli": 53, "edg": 54, "connector": 54, "cip": 54, "necessari": 54, "vari": 54, "o": [54, 78, 92], "interact": 54, "indirect": 54, "excess": 54, "fill": 54, "prevent": 54, "itself": [54, 62], "retir": 54, "accept": [54, 67, 72, 79], "multidescriptor": 54, "metadata": [54, 55], "tuser": 54, "consequ": 54, "flag": 54, "written": [54, 62, 85], "sw_crdt": 54, "upfront": 54, "q0": 54, "q1": 54, "q2": 54, "mdma_c2h_pfch_byp_qid": 54, "0x1408": 54, "retriev": 54, "bypass_in": 54, "cam": 54, "store": [54, 65], "dma_s_axis_c2h_ctrl_qid": 54, "commun": 54, "prefetch_tag": 54, "sequenc": 54, "seper": 55, "intend": 55, "let": 55, "ye": [55, 91], "rc_tlast": 55, "figur": 55, "choos": 55, "s_axis_c2h_mti": 55, "mty": 55, "qdma_c2h_err_stat": [55, 64, 69], "0xaf0": 55, "erorr": 55, "qdma_hw_error_handl": [55, 71, 97], "mismatch": 55, "s_axis_c2h_ctrl": 55, "len": 55, "pg": 55, "h2c_byp_in_st_at": 55, "enable_at_port": 55, "consol": [55, 91], "de": 55, "thoroughli": 55, "pg302": [55, 56, 61, 62, 97], "sai": 55, "don": 55, "0x844": 55, "252": 55, "4pf": 55, "Then": 55, "pf0": [55, 66, 70], "pf1": 55, "jumbo": 55, "10k": 55, "upto": 55, "64k": 55, "break": 55, "chunk": 55, "4k": [55, 70], "cater": 55, "hard": [55, 57], "import": [56, 97], "consider": [56, 97], "pg344": [56, 61, 97], "2018": 57, "migrat": 57, "75234": 57, "71453": 57, "debugf": [57, 68], "000033516": [57, 70], "000033539": [57, 70], "000033502": 57, "000033503": 57, "2021": 57, "soft": 57, "33054": 57, "aim": 58, "conceptu": [58, 97], "grasp": 58, "aspect": [58, 73], "correl": 58, "purg": 58, "wrap": 58, "scenario": 58, "adaptivesupport": [58, 73], "collect": 60, "reiview": 60, "tm": 60, "desc": 60, "ozuhnosk7b_ljtfacfexow": 61, "pg347": [61, 74], "nhcc": 61, "3lukchyh9mzrlldra": 61, "jddzmasujf8xvoqyc4qd7w": 61, "bitp2ey_91kncztqp1myfa": 61, "qsts_out_data": 61, "0x2": 61, "workload": 62, "pre": 62, "opportunist": 62, "significantli": 62, "latenc": 62, "almost": 62, "color": [62, 65], "qdma_dmap_sel_h2c_dsc_pidx": [62, 65], "qdma_dmap_sel_c2h_dsc_pidx": [62, 65], "tm_dsc_sts_valid": 62, "deassert": [62, 79], "categori": 62, "second": [62, 77], "functio": 62, "ram": 62, "abort": 62, "pull": [62, 77, 87], "awar": [62, 77], "gone": 62, "potenti": [62, 77], "head": 62, "sink": 62, "much": 62, "faster": 62, "suffer": 62, "situat": 62, "screenshost": 63, "qdma_glbl_err_stat": 64, "qdma_glbl_trq_err_st": 64, "qdma_ram_sbe_sts_a": 64, "qdma_ram_dbe_sts_a": 64, "qdma_glbl_dsc_err_st": 64, "qdma_glbl_dsc_err_log0": 64, "qdma_glbl_dsc_err_log1": 64, "qdma_glbl_dsc_dbg_dat0": 64, "qdma_glbl_dsc_dbg_dat1": 64, "qdma_glbl_dsc_dbg_ctl": 64, "qdma_glbl_dsc_err_log2": 64, "qdma_glbl_trq_err_log": 64, "qdma_qdma_h2c_mm_statu": 64, "qdma_h2c_mm_error_cod": 64, "qdma_h2c_mm_error_info": 64, "qdma_h2c_mm_debug": 64, "qdma_c2h_mm_statu": 64, "c2h_channel_completed_descriptor_count": 64, "qdma_c2h_mm_error_cod": 64, "qdma_c2h_mm_error_info": 64, "qdma_c2h_mm_debug": 64, "qdma_c2h_fatal_err_stat": 64, "qdma_c2h_first_err_qid": 64, "qdma_c2h_stat_s_axis_c2h_accept": [64, 67, 72], "qdma_c2h_stat_s_axis_wrb_accept": 64, "qdma_c2h_stat_desc_rsp_pkt_accept": [64, 67, 72], "qdma_c2h_stat_debug_dma_eng_0": 64, "qdma_c2h_stat_debug_dma_eng_1": 64, "qdma_c2h_stat_debug_dma_eng_2": 64, "qdma_c2h_stat_debug_dma_eng_3": 64, "qdma_c2h_stat_desc_rsp_drop_accept": [64, 72], "qdma_c2h_stat_desc_rsp_err_accept": 64, "qdma_h2c_err_stat": 64, "qdma_h2c_dbg_reg0": 64, "qdma_h2c_dbg_reg1": 64, "qdma_h2c_dbg_reg2": 64, "qdma_h2c_dbg_reg3": 64, "qdma_h2c_dbg_reg4": 64, "qdma_c2h_intr_h2c_req": 64, "qdma_c2h_intr_c2h_mm_req": 64, "qdma_c2h_intr_err_int_req": 64, "qdma_c2h_intr_c2h_st_req": 64, "qdma_c2h_intr_h2c_err_c2h_mm_msix_ack": 64, "qdma_c2h_intr_h2c_err_c2h_mm_msix_fail": 64, "qdma_c2h_intr_h2c_err_c2h_mm_msix_no_msix": 64, "qdma_c2h_intr_h2c_err_c2h_mm_ctxt_inv": 64, "qdma_c2h_intr_c2h_st_msix_ack": 64, "qdma_c2h_intr_c2h_st_msix_fail": 64, "qdma_c2h_intr_c2h_st_no_msix": 64, "qdma_c2h_intr_c2h_st_ctxt_inv": 64, "ctl": [65, 68], "dump": [65, 72, 74], "locat": [65, 77, 91], "containx": 65, "copi": 65, "dynam": 65, "2048": 65, "0x18004": 65, "0x18008": 65, "dmactl": [65, 68], "multip": 65, "aggregatoin": 65, "aggretatoin": 65, "informaton": 65, "vdm": 66, "csr": 66, "exted": 66, "none": 66, "user_trig": 66, "tear": 67, "local": [67, 78, 92], "feasibl": 67, "propag": 67, "determinist": 67, "tm_dsc_sts_vld": 67, "counter": 67, "0xa88": [67, 72], "qdma_c2h_stat_s_axis_cmpt_accept": [67, 72], "0xa8c": [67, 72], "0xa90": [67, 72], "s_axis_c2h_ctrl_has_cmpt": 67, "s_axis_c2h_cmpt_ctrl_cmpt_typ": 67, "qdma_usecas": 68, "qdma_design": 68, "distribut": 68, "usecas": 68, "desc_rsp_err": 69, "qdma_c2h_drop_len_mismatch": 69, "0xbb4": 69, "qdma_c2h_drop_desc_rsp_len": 69, "0xbb8": 69, "qdma_c2h_drop_qid_fifo_len": 69, "0xbbc": 69, "qdma_c2h_drop_payload_cnt": 69, "0xbb0": 69, "0xe38": 69, "c2h_packets_drop": 69, "0x088": 69, "tm_dsc_sts_error": [69, 70], "tm_dsc_sts_avl": 69, "s_axis_c2h_treadi": [69, 70], "72813": 70, "bar2": 70, "qdma_device_onlin": 70, "qdma_init": 70, "st_rx_msg_rdy": 70, "soft_reset_n": 70, "seem": 70, "bounderi": 70, "s_axis_c2h_cmpt_treadi": 70, "user_link_up": 70, "phy_readi": 70, "axis_c2h_status_drop": [71, 72, 97], "bigger": 72, "tell": 72, "axis_c2h_status_error": 72, "0xa80": 72, "0xbf4": 72, "axi_st": 72, "tm_dsc_sts_": 72, "q": 72, "0xb10": 72, "smaller": 72, "64byte": 72, "0xa94": 72, "userappl": 72, "qdma_c2h_stat_axis_pkg_cmp": 72, "cover": 73, "advis": 73, "confus": 73, "challeng": 73, "achiev": 73, "practic": 73, "ecosystem": 73, "000035142": 73, "agbmxdqps_4dpkxb2mlg": 74, "eq": 76, "pl_eq_bypass_phase23": 76, "vhdl": 76, "polar": 76, "unisim_v": 76, "librari": 76, "launch": 76, "script": [76, 77], "txp": 76, "txn": 76, "pipe_txdata": 76, "xilinxcedstor": [76, 90], "versal_cpm5_qdma_simulation_design": 76, "me": 76, "blob": 76, "readm": 76, "txt": 76, "veral": 76, "bmd": [76, 90, 91], "versal_cpm5_pcie_bmd_simulation_design": 76, "tutori": 76, "sw_manual": 76, "xilinx2020_2": 76, "ug937": 76, "stage": 77, "bank": 77, "aliv": 77, "float": 77, "obuft": 77, "mux": 77, "z": 77, "constant": 77, "unconfigur": 77, "pudc_b": 77, "pullup": [77, 87], "quad": [77, 91], "x2": 77, "x1": 77, "granular": [77, 91], "dual": [77, 90], "icap": 77, "65": 77, "especi": 77, "partit": 77, "NOT": 77, "design_switch": 77, "signifi": 77, "stage2": 77, "multiplex": 77, "bank65": 77, "stage1": 77, "cell": 77, "hd": 77, "get_cel": 77, "stage1cel": 77, "tandem_ip_pblock": 77, "stage1_main": 77, "term": 77, "stage1_config_io": 77, "stage1_io": 77, "pblock": 77, "create_pblock": 77, "stage1pblocknam": 77, "resize_pblock": 77, "get_pblock": 77, "stage1siterang": 77, "contain_rout": 77, "exclude_plac": 77, "add_cells_to_pblock": 77, "compress": 77, "current_design": 77, "override_persist": 77, "tandem_bitstream": 77, "cellnam": 77, "refclk_ibuf": 77, "sys_reset_n_ibuf": 77, "primit": 77, "special": 77, "attent": 77, "bscan": 77, "Be": 77, "hwicap": 77, "microblaz": 77, "mdm": 77, "opt_design": 77, "instanti": 77, "inadvert": 77, "ad": 77, "conflict": 77, "entireti": 77, "dbg_hub": 77, "opt_deisgn": 77, "opt_design_post": 77, "quiet": 77, "hierarch": 77, "primitive_typ": 77, "mcap": 77, "window": 77, "64761": 77, "350h": 77, "oppos": 77, "340h": 77, "recompil": 77, "discuss": [78, 85, 91], "wide": [78, 85, 91], "phy_link": 78, "negoti": 78, "pg213": [78, 79, 80, 83], "dw": 78, "completiontlp": 78, "By": 78, "disable_lane_revers": 78, "signific": 79, "ineffici": 79, "lead": 79, "advert": 79, "s_axis_cc_tvalid": 79, "nullifi": 79, "transmit": 79, "corrupt": 79, "s_axis_cc_tlast": 79, "s_axis_cc_treadi": 79, "cc": 79, "sampl": 79, "whenev": 79, "s_axis_cc_tdata": 79, "pace": 79, "transciev": 82, "coinfigur": 82, "expos": 82, "stuck": 82, "v1": 83, "pcie4_uscale_plu": 83, "v1_3": 83, "pcb": [85, 91], "ug863": [85, 91], "xtp546": [85, 91], "cgi": [85, 91], "bin": [85, 91], "ctdoc": [85, 91], "cid": [85, 91], "90f995d8": [85, 91], "c517": [85, 91], "4adc": [85, 91], "a95c": [85, 91], "13a8994d6618": [85, 91], "zip": [85, 91], "pg346": [85, 88], "theori": [85, 91], "thing": [85, 91, 97], "spec": [85, 91], "1218411": 85, "phy_rdi": 85, "am012": [85, 88], "cpm4_pcie0_attr___phy_rdi": 85, "cpm4_pcie0_attr___pl_eq_bypass_phase23": 85, "cpm4_pcie0_attr___pfx_bar0_control_0": 85, "cpm4_pcie0_attr___pfx_bar0_control_1": 85, "cpm4_pcie0_attr___pfx_bar0_control_2": 85, "cpm4_pcie0_attr___cfg_interrupt": 85, "xsdb": 85, "1221922": 85, "vmk180": 87, "vck190": 87, "es1": 87, "pdi": 87, "pmc": 87, "pmc_mio_37": 87, "gpio": 87, "strength": 87, "8ma": 87, "slew": 87, "ccix": 88, "184287255": 88, "technic": 88, "am011": 88, "trm": 88, "prime": [88, 95], "psg": [88, 95], "ai": [88, 95], "versal_cpm_qdma_ep_simulation_design": 90, "cpm5_qdma": 90, "cpm4_qdma": 90, "versal_cpm_pcie_bmd_ep_simulation_design": 90, "cpm5_bmd": 90, "cpm4_bmd": 90, "versal_cpm_pcie_debug": 90, "versal_cpm_tandem_pci": 90, "versal_cpm_bridge_rp_design": 90, "versal_cpm_qdma_ep_design": 90, "cpm4_qdma_perf": 90, "ctrl": 90, "cpm5_qdma_dual_ctrl": 90, "gen5x8": 90, "cpm5_qdma_g5x8_mm_perf": 90, "cpm5_qdma_mm_st": 90, "cpm5_qdma_st_onli": 90, "versal_cpm_pcie_pio_ep_design": 90, "cpm5_pcie_pio": 90, "000035901": 90, "cpm4_pcie_pio": 90, "versal_cpm_pcie_bmd_ep_design": 90, "cpm5_bmd_ep": 90, "cpm4_bmd_ep": 90, "versal_cpm_qdma_ep_design_partbas": 90, "cpm5_qdma_g5x8_dual_perf": 90, "cpm5_qdma_g5x8_st_perf": 90, "pg343": [91, 92, 95], "enter": 91, "thevers": 91, "bmd_pio_mod": 91, "pcie_versal_0": 91, "mio38": 91, "open": 91, "sue": 91, "insert_cip": 91, "major": 91, "went": 91, "wizard": 91, "cfg_function_statu": 92, "intx": 92, "cfg_negotiated_width": 92, "cfg_current_spe": 92, "cfg_local_error_out": 92, "replai": 92, "repli": 92, "rollov": 92, "sign": 96, "_support": 96, "doubl": 96, "brought": 96, "pciexpress": 97}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"global": [1, 61, 64], "signal": [1, 12, 61], "axi": [1, 61], "slave": [1, 12, 61], "interfac": [1, 12, 61, 80], "master": [1, 12, 61], "axi4": [1, 12, 61], "lite": [1, 12, 61], "control": 1, "bridg": [1, 5, 13, 61, 97], "pcie": [1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 38, 43, 77, 97], "gen3": 1, "msi": 1, "x": 1, "dma_bridg": 1, "subsystem": [1, 5, 13, 56, 58, 97], "mode": [1, 61, 74, 86], "interrupt": [1, 12, 18, 61, 64], "decod": 1, "regist": [1, 64], "phy": [1, 80], "status_control": 1, "root": [1, 43], "port": [1, 12, 43, 61, 80], "error": [1, 64, 72, 80], "fifo": 1, "read": [1, 12, 32, 61], "clock": [1, 19, 33], "diagram": 1, "ultrascal": [1, 81, 97], "devic": [1, 32, 40, 81], "endpoint": [1, 5, 38], "system": [1, 19, 33, 46], "reset": 1, "connect": 1, "gener": [3, 9, 10, 18, 19, 33, 38, 44, 48, 55, 70, 76, 77, 78, 85, 91, 97], "debug": [3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 18, 19, 22, 25, 33, 36, 38, 39, 48, 49, 50, 51, 57, 60, 62, 68, 70, 71, 73, 76, 77, 78, 79, 82, 83, 85, 87, 88, 91, 92, 95, 97], "checklist": [3, 9, 10, 18, 19, 33, 48, 70, 76, 77, 78, 85, 91], "gotcha": [4, 11, 62, 79, 92], "dma": [5, 12, 13, 32, 61], "pci": [5, 13, 86, 93, 97], "express": [5, 13, 86, 93, 97], "ip": [5, 13, 38, 56, 66], "issu": [6, 8, 14, 18, 19, 20, 21, 32, 33, 35, 38, 50, 73, 76, 77, 82, 87, 96], "tip": [6, 14, 25, 50, 77, 82, 87], "question": [6, 14, 19, 33, 50, 77, 82, 87], "document": [7, 15, 18, 22, 36, 45, 49, 51, 57, 76, 77, 83, 88, 95], "collater": [7, 15, 18, 22, 31, 36, 51, 57, 76, 77, 83, 88, 95], "us": [7, 15, 18, 22, 36, 51, 76, 77, 83, 88, 95], "link": [7, 15, 18, 19, 20, 22, 33, 34, 36, 38, 51, 76, 77, 80, 83, 88, 95], "specif": [8, 77, 96], "faq": [10, 55, 77, 78, 91], "top": 12, "level": 12, "h2c": [12, 61, 64], "channel": 12, "0": 12, "3": 12, "stream": [12, 61], "c2h": [12, 61, 64], "memori": [12, 61], "map": [12, 41, 61, 97], "address": [12, 41, 61], "write": [12, 61], "respons": [12, 61], "bypass": [12, 61, 74], "config": [12, 61], "statu": [12, 38, 61, 80], "configur": [12, 19, 33, 38, 61, 66, 80], "extend": [12, 61], "descript": [12, 61, 80], "manag": 12, "descriptor": [12, 61, 64, 80], "exampl": [12, 38, 76, 90], "flow": [12, 60, 61], "initi": 12, "setup": [12, 46], "For": 12, "transfer": 12, "summari": 12, "xdma": [13, 16, 97], "driver": [13, 56, 68], "perform": [16, 73], "common": [19, 32, 33], "train": [19, 20, 33, 34, 38, 80], "reason": [19, 33], "regress": [19, 33], "design": [19, 33, 38, 42, 43, 53, 54, 76, 90], "implement": [19, 33], "fail": [19, 33], "behavior": [19, 33], "capabl": [19, 33], "si": [19, 33], "info": [19, 33], "answer": [21, 26, 35, 77], "applic": [24, 27], "note": [24, 27, 28], "techniqu": [25, 38], "blog": 25, "lfar": 26, "long": 26, "form": 26, "record": 26, "releas": 28, "video": 29, "white": 30, "paper": 30, "enumer": [32, 38], "show": 32, "lspci": 32, "miss": 32, "data": [32, 61], "certain": 32, "request": [32, 80], "payload": 32, "tlp": 32, "unsupport": 32, "complet": [32, 61, 80], "timeout": 32, "receiv": 32, "overflow": 32, "first": 38, "thing": 38, "check": [38, 65], "how": 38, "ltssm": [38, 80], "wa": 38, "successfulli": 38, "detect": [38, 72], "when": 38, "fpga": 38, "i": [38, 67, 69], "after": 38, "block": [38, 81, 93], "from": [38, 53, 54], "tree": 40, "structur": [40, 61], "ecam": 41, "hardwar": [42, 61], "creation": 42, "versal": [43, 76, 86, 90, 93, 97], "cpm4": 43, "linux": 43, "petalinux": 44, "imag": 44, "support": 45, "testabl": 46, "tactic": 47, "patch": 47, "requir": 47, "resourc": [49, 68], "import": [53, 54], "consider": [53, 54], "pg302": 53, "pg344": 54, "qdma": [56, 58, 59, 60, 61, 68, 71, 73, 97], "pciexpress": [56, 81], "deciph": 58, "pidx": [58, 65, 72], "updat": [58, 65, 72], "mechan": 58, "cpm5": [58, 76], "conceptu": 59, "topic": [59, 71], "st": [61, 64], "cmp": 61, "vdm": 61, "flr": 61, "input": 61, "mm": [61, 64], "cach": 61, "output": 61, "credit": 61, "tm": 61, "user": 61, "queue": 61, "context": 61, "program": 61, "fetch": 61, "softwar": 61, "definit": 61, "prefetch": 61, "intern": 61, "handl": 61, "except": 61, "event": 61, "simpl": [61, 74], "writeback": 61, "dmesg": 63, "log": 63, "ram": 64, "singl": 64, "bit": 64, "doubl": 64, "engin": 64, "target": 64, "access": 64, "In": 64, "direct": 64, "paramet": 66, "cmpt": 67, "packet": [67, 74], "sent": 67, "axis_c2h_status_drop": 69, "assert": 69, "qdma_hw_error_handl": 72, "invalid": 72, "being": 74, "drop": 74, "simul": 76, "acap": [76, 86, 93, 97], "tandem": 77, "miscellan": 77, "negoti": 80, "width": 80, "speed": 80, "function": 80, "local": 80, "field": 80, "byte": 80, "count": 80, "dword": 80, "code": 80, "integr": [81, 93], "cpm": [86, 90], "adapt": 90, "soc": 90, "k": 97, "embed": 97}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/images", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/index", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_faq", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_gotchas", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/index", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/issue_q&a_debug_tips", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/links_docs_misc", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/specific_issues", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_RootPort_Driver/debug_faq", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_checklist", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_gotchas", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/images", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/index", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/issue_q&a_debug_tips", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/links_docs_misc", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/performance_debug_checklist", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/specific_issues", "docs/Interrupt/index", "docs/Link_Training/general_debug_checklist_reasons_questions", "docs/Link_Training/index", "docs/Link_Training/issue_q&a_debug_tips", "docs/Link_Training/links_docs_misc", "docs/Link_Training/specific_issues", "docs/PCIe_Collaterals/PCIe_Application_Notes", "docs/PCIe_Collaterals/PCIe_Debug_Tips_and_Techniques_Blogs", "docs/PCIe_Collaterals/PCIe_LFARs_Long_Form_Answer_Records", "docs/PCIe_Collaterals/PCIe_PGs_and_relevant_Docs", "docs/PCIe_Collaterals/PCIe_Release_Notes", "docs/PCIe_Collaterals/PCIe_Videos", "docs/PCIe_Collaterals/PCIe_White_Papers", "docs/PCIe_Collaterals/index", "docs/PCIe_Common_Issues/index", "docs/PCIe_Debug_General_Techniques/Link_Training/general_debug_checklist_reasons_questions", "docs/PCIe_Debug_General_Techniques/Link_Training/index", "docs/PCIe_Debug_General_Techniques/Link_Training/issue_q&a_debug_tips", "docs/PCIe_Debug_General_Techniques/Link_Training/links_docs_misc", "docs/PCIe_Debug_General_Techniques/Link_Training/specific_issues", "docs/PCIe_Debug_General_Techniques/index", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/debugging", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/device_tree_structure", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/ecam_mapping_and_addressing", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/hardware_design_creation", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/index", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/petalinux_image_generation", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/supporting_documentation", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/system_testability_and_setup", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/tactical_patch_requirement", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/debug_faq", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/index", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/issue_q&a_debug_tips", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/links_docs_misc", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/specific_issues", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG302_important_design_considerations", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/debug_faq", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/links_docs_misc", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/PIDX_update_mechanism", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/ports/tables", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/debug_gotchas", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/dmesg_log", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/errors", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/check_pidx_update", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/ip_configuration_parameters", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/CMPT_Packet_is_not_sent", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/QDMA_driver_debug_resources", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/axis_c2h_status_drop is asserted", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/general_debug_checklist", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/index", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/invalid_pidx_update_error", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/qdma_performance_debug", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/simple_bypass_packet_drop", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/specific_issues", "docs/Simulation_Issue/index", "docs/Tandem_PCIe/index", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_faq", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_gotchas", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/images_checklist/images", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/index", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/issue_q&a_debug_tips", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/links_docs_misc", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/specific_issues", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/debug_faq", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/index", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/issue_q&a_debug_tips", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/links_docs_misc", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/specific_issues", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/versal_acap_cpm_example_designs", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_faq", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_gotchas", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/index", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/issue_q&a_debug_tips", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/links_docs_misc", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/specific_issues", "index"], "filenames": ["README.md", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/images.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_checklist/index.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_faq.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/debug_gotchas.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/index.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/issue_q&a_debug_tips.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/links_docs_misc.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_IP_Endpoint/specific_issues.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_Bridge_RootPort_Driver/debug_faq.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_checklist.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/debug_gotchas.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/images.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/index.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/issue_q&a_debug_tips.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/links_docs_misc.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/performance_debug_checklist.rst", "docs/DMA_Bridge_Subsystem_for_PCI_Express_XDMA_IP_Driver/specific_issues.rst", "docs/Interrupt/index.rst", "docs/Link_Training/general_debug_checklist_reasons_questions.rst", "docs/Link_Training/index.rst", "docs/Link_Training/issue_q&a_debug_tips.rst", "docs/Link_Training/links_docs_misc.rst", "docs/Link_Training/specific_issues.rst", "docs/PCIe_Collaterals/PCIe_Application_Notes.rst", "docs/PCIe_Collaterals/PCIe_Debug_Tips_and_Techniques_Blogs.rst", "docs/PCIe_Collaterals/PCIe_LFARs_Long_Form_Answer_Records.rst", "docs/PCIe_Collaterals/PCIe_PGs_and_relevant_Docs.rst", "docs/PCIe_Collaterals/PCIe_Release_Notes.rst", "docs/PCIe_Collaterals/PCIe_Videos.rst", "docs/PCIe_Collaterals/PCIe_White_Papers.rst", "docs/PCIe_Collaterals/index.rst", "docs/PCIe_Common_Issues/index.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/general_debug_checklist_reasons_questions.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/index.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/issue_q&a_debug_tips.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/links_docs_misc.rst", "docs/PCIe_Debug_General_Techniques/Link_Training/specific_issues.rst", "docs/PCIe_Debug_General_Techniques/index.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/debugging.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/device_tree_structure.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/ecam_mapping_and_addressing.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/hardware_design_creation.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/index.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/petalinux_image_generation.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/supporting_documentation.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/system_testability_and_setup.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/Versal_CPM4_PCIe_Root_Port_Design_Linux/tactical_patch_requirement.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/debug_faq.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/index.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/issue_q&a_debug_tips.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/links_docs_misc.rst", "docs/PS_PCIe_PL_PCIe_Root_Port_Driver/specific_issues.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG302_important_design_considerations.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/debug_faq.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/links_docs_misc.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/PIDX_update_mechanism.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_conceptual_topics/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/ports/tables.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/debug_gotchas.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/dmesg_log.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/src/errors.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/check_pidx_update.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_flow/table_sources/ip_configuration_parameters.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/CMPT_Packet_is_not_sent.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/QDMA_driver_debug_resources.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/axis_c2h_status_drop is asserted.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/general_debug_checklist.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/index.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/invalid_pidx_update_error.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/qdma_performance_debug.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/qdma_debug_topics/simple_bypass_packet_drop.rst", "docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/specific_issues.rst", "docs/Simulation_Issue/index.rst", "docs/Tandem_PCIe/index.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_faq.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/debug_gotchas.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/images_checklist/images.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/index.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/issue_q&a_debug_tips.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/links_docs_misc.rst", "docs/UltraScale+_Devices_Integrated_Block_for_PCIExpress/specific_issues.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/debug_faq.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/index.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/issue_q&a_debug_tips.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/links_docs_misc.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/specific_issues.rst", "docs/Versal_ACAP_CPM_Mode_for_PCI_Express/versal_acap_cpm_example_designs.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_faq.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/debug_gotchas.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/index.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/issue_q&a_debug_tips.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/links_docs_misc.rst", "docs/Versal_ACAP_Integrated_Block_for_PCI_Express/specific_issues.rst", "index.rst"], "titles": ["<no title>", "Global Signals", "<no title>", "General Debug Checklist", "Debug Gotchas", "DMA/Bridge Subsystem for PCI Express (Bridge IP Endpoint)", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "Specific Issues", "General Debug Checklist", "General Debug Checklist", "Debug Gotchas", "Top-Level Interface Signals", "DMA/Bridge Subsystem for PCI Express (XDMA IP/Driver)", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "XDMA Performance Debug", "<no title>", "Interrupt Issue", "Common Link Training Issue Reasons", "Link Training Issue", "Issues and Answers", "Documents and Debug Collaterals", "<no title>", "PCIe Application Notes", "PCIe Debug Tips and Techniques Blogs", "PCIe LFARs (Long Form Answer Records)", "PCIe Application Notes", "PCIe Release Notes", "PCIe Videos", "PCIe White Papers", "PCIe Collaterals", "PCIe Common Issues", "Common Link Training Issue Reasons", "Link Training", "Issues and Answers", "Documents and Debug Collaterals", "<no title>", "PCIe General Debug Techniques", "Debugging", "Device Tree Structure", "ECAM Mapping and Addressing", "Hardware Design Creation", "Versal CPM4 PCIe Root Port Design (Linux)", "Petalinux Image Generation", "Supporting Documentation", "System Testability and Setup", "Tactical Patch Requirement", "General Debug Checklist", "Documentation & Debugging Resources", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "<no title>", "Important Design Considerations from PG302", "Important Design Considerations from PG344", "General FAQs", "QDMA Subsystem for PCIExpress (IP/Driver)", "Documents and Debug Collaterals", "Deciphering the PIDX Update Mechanism in a QDMA Subsystem for CPM5", "QDMA Conceptual Topics", "QDMA Debug Flow", "QDMA Global Port Descriptions", "Debug Gotchas", "dmesg Log", "Global Error Registers", "Check PIDX Update", "IP Configuration Parameters", "CMPT Packet is not sent", "QDMA Driver Debug Resources", "axis_c2h_status_drop is Asserted", "General Debug Checklist", "QDMA Debug Topics", "qdma_hw_error_handler( ): Detected Invalid PIDX update error", "Debugging QDMA Performance Issues", "Packets being dropped in Simple Bypass Mode", "<no title>", "Simulation Issue", "Tandem PCIe", "General Debug Checklist", "Debug Gotchas", "Configuration Status Interface Port Descriptions Phy Link", "UltraScale+ Devices Integrated Block for PCIExpress", "Issues/Debug Tips/Questions", "Documents and Debug Collaterals", "<no title>", "General Debug Checklist", "Versal ACAP CPM Mode for PCI Express", "Issues and Debug Tips/Questions", "Documents and Debug Collaterals", "<no title>", "Versal Adaptive SoC CPM Example Designs", "General Debug Checklist", "Debug Gotchas", "Versal ACAP Integrated Block for PCI Express", "<no title>", "Documents and Debug Collaterals", "Specific Issues", "PCIe Debug K-Map"], "terms": {"pcie": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 18, 19, 33, 48, 50, 51, 53, 54, 55, 57, 61, 62, 66, 73, 76, 78, 85, 88, 90, 91, 95, 96], "debug": [0, 5, 8, 13, 20, 24, 26, 27, 29, 31, 34, 43, 54, 56, 81, 86, 90, 93], "k": [0, 74], "map": [0, 10, 15, 25, 26, 32, 43, 53, 54, 55, 60, 62, 65, 67], "see": [1, 4, 8, 12, 14, 16, 19, 29, 32, 33, 38, 50, 53, 61, 62, 65, 70, 72, 74, 78, 80, 85, 91, 92], "latest": [1, 3, 4, 9, 11, 12, 16, 18, 48, 50, 61, 62, 78, 79, 80], "version": [1, 3, 4, 7, 9, 11, 12, 15, 16, 19, 28, 33, 48, 50, 55, 57, 61, 62, 67, 68, 76, 78, 79, 80], "pg194": [1, 3, 7], "updat": [1, 3, 4, 11, 12, 25, 53, 54, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 91, 97], "global": [2, 53, 60], "signal": [2, 3, 8, 10, 16, 18, 19, 25, 32, 33, 53, 54, 55, 60, 67, 70, 72, 76, 78, 79, 92], "axi": [2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 25, 26, 28, 29, 32, 48, 51, 53, 54, 57, 60, 62, 66, 70, 72, 90], "slave": [2, 3, 4, 6, 10, 25, 53, 54, 62, 66], "interfac": [2, 3, 4, 6, 8, 9, 10, 11, 16, 19, 22, 25, 33, 36, 48, 53, 54, 55, 58, 60, 62, 66, 67, 76, 78, 79, 83, 85, 91, 96], "master": [2, 3, 4, 7, 10, 15, 16, 24, 26, 27, 28, 50, 53, 54, 57, 62, 66, 68, 78, 92], "axi4": [2, 3, 4, 10, 11, 24, 27, 53, 54, 60, 62, 72], "lite": [2, 3, 4, 8, 9, 10, 24, 27, 48, 66], "control": [2, 3, 4, 8, 9, 10, 11, 18, 25, 32, 48, 53, 54, 57, 62, 68], "bridg": [2, 3, 4, 6, 7, 8, 9, 15, 24, 25, 27, 28, 32, 48, 53, 54, 57, 62, 66, 74, 90], "gen3": [2, 3, 4, 7, 15, 16, 19, 22, 24, 25, 26, 27, 28, 29, 33, 36, 76, 83, 85], "msi": [2, 3, 11, 16, 18, 25, 50, 66, 85], "x": [2, 3, 11, 16, 18, 25, 50, 66, 85], "dma_bridg": [2, 3], "subsystem": [2, 3, 4, 7, 15, 24, 25, 26, 27, 28, 29, 51, 53, 54, 57, 59, 73, 77], "mode": [2, 3, 4, 9, 16, 19, 24, 25, 27, 28, 33, 48, 50, 53, 54, 55, 60, 62, 66, 67, 71, 72, 76, 77, 78, 85, 88, 97], "interrupt": [2, 3, 4, 11, 16, 25, 26, 50, 53, 54, 62, 65, 66, 67, 69, 83, 97], "decod": [2, 3, 4, 6, 69], "regist": [2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 18, 19, 25, 26, 32, 33, 48, 50, 53, 54, 55, 60, 62, 67, 69, 70, 72, 74, 78, 85, 88, 92], "phy": [2, 3, 28, 78, 91], "status_control": [2, 3], "root": [2, 3, 4, 9, 19, 26, 29, 33, 48, 50, 51, 53, 54, 78, 88, 90, 97], "port": [2, 3, 4, 9, 10, 19, 26, 33, 48, 50, 51, 53, 54, 55, 60, 62, 67, 72, 78, 82, 88, 96, 97], "error": [2, 3, 4, 6, 16, 19, 25, 33, 50, 53, 54, 55, 58, 60, 62, 63, 66, 67, 70, 71, 76, 77, 78, 79, 92, 97], "fifo": [2, 3, 53, 79], "read": [2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 25, 26, 48, 50, 53, 54, 60, 62, 66, 70, 76, 78, 85, 97], "clock": [2, 3, 4, 18, 20, 34, 53, 54, 66, 76, 77, 79, 85, 91, 97], "diagram": [2, 3, 78, 85, 91], "ultrascal": [2, 3, 9, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 33, 36, 48, 50, 51, 57, 77, 78, 82, 83, 85, 91], "devic": [2, 3, 4, 9, 10, 16, 19, 22, 25, 26, 29, 30, 33, 36, 38, 43, 48, 50, 53, 54, 55, 57, 77, 78, 83, 85, 87, 91, 97], "endpoint": [2, 3, 4, 9, 16, 19, 24, 25, 26, 27, 28, 32, 33, 48, 50, 51, 76, 78, 90, 97], "system": [2, 3, 6, 9, 16, 20, 24, 26, 27, 30, 32, 34, 43, 48, 50, 51, 53, 54, 57, 68, 97], "reset": [2, 3, 4, 9, 19, 32, 33, 48, 50, 53, 54, 62, 76, 77, 91], "connect": [2, 3, 4, 16, 19, 24, 27, 29, 30, 32, 33, 48, 50, 53, 70, 76, 77, 91], "confirm": [3, 9, 19, 33, 48, 50, 70, 72, 74, 85, 91], "architectur": [3, 19, 25, 28, 30, 33, 77], "i": [3, 4, 6, 8, 9, 10, 11, 14, 16, 18, 19, 32, 33, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 53, 54, 55, 60, 61, 62, 65, 66, 70, 71, 72, 73, 74, 76, 77, 78, 79, 82, 85, 87, 91, 92, 97], "correct": [3, 4, 9, 19, 25, 33, 48, 55, 62, 74, 76, 77], "rootport": [3, 50], "check": [3, 6, 8, 10, 14, 16, 18, 19, 32, 33, 48, 50, 55, 60, 66, 67, 69, 70, 72, 73, 74, 76, 78, 85, 91, 92, 97], "statu": [3, 10, 14, 16, 19, 25, 33, 50, 53, 54, 55, 58, 60, 62, 65, 66, 67, 72, 78, 85, 97], "If": [3, 4, 6, 8, 14, 16, 18, 19, 32, 33, 38, 48, 50, 53, 54, 55, 62, 65, 67, 70, 72, 76, 77, 78, 85, 91, 92], "issu": [3, 4, 5, 7, 10, 13, 15, 16, 22, 25, 26, 34, 36, 49, 53, 54, 57, 62, 63, 67, 68, 70, 71, 72, 74, 78, 81, 83, 85, 86, 91, 93, 95, 97], "relat": [3, 6, 10, 14, 19, 25, 33, 73, 78, 85], "incom": [3, 62], "outgo": 3, "packet": [3, 4, 6, 8, 11, 19, 22, 25, 26, 33, 36, 53, 54, 55, 62, 66, 71, 72, 79, 83, 85, 97], "from": [3, 4, 6, 9, 11, 16, 19, 29, 32, 33, 48, 50, 55, 56, 57, 58, 61, 62, 63, 67, 68, 70, 72, 78, 79, 91, 97], "user": [3, 4, 9, 11, 16, 19, 25, 32, 33, 38, 48, 53, 54, 55, 62, 67, 70, 72, 73, 76, 77, 79, 85, 91], "logic": [3, 4, 16, 53, 54, 55, 62, 70, 72, 76, 77], "follow": [3, 4, 8, 9, 10, 11, 14, 19, 32, 33, 38, 48, 50, 53, 54, 69, 70, 73, 78, 82, 85, 87, 91, 92], "vivado": [3, 4, 7, 10, 15, 16, 19, 22, 24, 25, 26, 27, 28, 29, 33, 36, 53, 55, 57, 67, 76, 78, 83, 85, 91], "ila": [3, 10, 19, 25, 26, 32, 33, 70, 78, 85, 92], "an": [3, 4, 9, 11, 14, 16, 19, 26, 29, 32, 33, 38, 48, 50, 53, 54, 55, 62, 63, 74, 76, 77, 78, 79, 85], "write": [3, 4, 8, 10, 14, 25, 32, 53, 54, 60, 62, 66, 70, 72, 78, 85], "For": [3, 4, 6, 8, 9, 10, 11, 16, 19, 28, 33, 38, 48, 50, 53, 54, 62, 70, 72, 74, 76, 77, 78, 85, 91, 92], "pleas": [3, 4, 11, 14, 19, 33, 39, 40, 41, 42, 44, 45, 46, 47, 62, 78, 79], "refer": [3, 4, 10, 11, 19, 24, 27, 30, 33, 53, 55, 61, 62, 78, 79, 85, 88], "new": [3, 4, 11, 25, 38, 53, 54, 60, 62, 77, 78, 79, 91, 96], "more": [3, 4, 11, 16, 32, 38, 53, 54, 62, 72, 74, 78, 79, 91, 92], "detail": [3, 4, 9, 16, 19, 33, 38, 48, 53, 54, 60, 62, 78, 79, 85, 92], "referenc": [3, 78], "assert": [4, 6, 11, 18, 53, 54, 55, 62, 71, 78, 79, 97], "bit": [4, 8, 10, 11, 18, 32, 48, 50, 53, 54, 55, 60, 62, 65, 67, 72, 78, 79, 92], "doe": [4, 16, 19, 32, 33, 50, 53, 54, 55, 62, 67, 78, 91], "caus": [4, 19, 32, 33, 53, 54, 62, 77], "line": [4, 18, 19, 32, 33, 62], "unless": [4, 53, 54], "correspond": [4, 8, 19, 33, 53, 54, 67, 73, 76, 79], "mask": [4, 19, 33, 66, 67], "also": [4, 16, 18, 53, 54, 55, 62, 65, 77, 78, 79, 85], "set": [4, 6, 8, 9, 14, 19, 32, 33, 48, 50, 53, 54, 55, 62, 66, 67, 69, 72, 73, 76, 82, 87, 91], "avail": [4, 14, 16, 19, 33, 39, 40, 41, 42, 44, 45, 46, 47, 50, 53, 55, 62, 65, 69, 72, 91], "dma": [4, 10, 14, 15, 16, 24, 25, 26, 27, 28, 29, 50, 53, 54, 55, 57, 60, 62, 65, 66, 68, 72, 74, 76, 77, 97], "option": [4, 9, 16, 19, 33, 48, 53, 54, 66, 78, 79, 96], "dma_bridge_resetn": 4, "input": [4, 19, 24, 27, 32, 33, 53, 54, 55, 60, 62, 70, 76], "pin": [4, 9, 11, 18, 19, 32, 33, 48, 77, 91], "which": [4, 6, 14, 16, 19, 33, 50, 53, 54, 55, 62, 67, 70, 78], "allow": [4, 19, 33, 53, 54, 62, 79], "you": [4, 8, 11, 14, 16, 18, 19, 32, 33, 38, 48, 53, 54, 62, 67, 72, 79, 92], "all": [4, 11, 19, 28, 32, 33, 53, 54, 55, 60, 62, 66, 67, 70, 72, 74, 76, 77, 78], "intern": [4, 7, 8, 10, 15, 26, 53, 54, 55, 60, 62, 66, 67, 72], "engin": [4, 53, 54, 60, 61, 62, 65, 72], "well": [4, 19, 33, 50, 62, 65, 85, 91], "peripher": [4, 6], "driven": [4, 32, 53, 54, 76], "axi_aresetn": [4, 6, 70], "axi_ctl_aresetn": 4, "when": [4, 6, 9, 11, 14, 32, 48, 50, 53, 54, 55, 62, 66, 67, 70, 76, 77, 79, 92, 97], "paramet": [4, 8, 10, 19, 33, 60, 73], "need": [4, 11, 18, 50, 53, 54, 55, 62, 72, 73, 92], "dure": [4, 11, 32, 48, 50, 53, 54, 62, 77, 79], "initi": [4, 9, 10, 14, 16, 24, 27, 48, 50, 53, 54, 58, 60, 65, 77], "link": [4, 5, 6, 13, 14, 16, 24, 25, 26, 27, 32, 48, 49, 50, 53, 54, 55, 58, 61, 62, 68, 73, 74, 78, 79, 81, 85, 86, 90, 91, 92, 93, 97], "up": [4, 6, 8, 9, 14, 16, 32, 38, 48, 50, 53, 54, 55, 62, 78, 85], "oper": [4, 9, 48, 50, 53, 54, 62], "becaus": [4, 6, 8, 53, 54, 55, 62, 73], "done": [4, 6, 9, 11, 18, 32, 48, 50, 53, 54, 55, 62, 67, 70, 72, 77, 87, 91], "automat": [4, 91], "ip": [4, 6, 7, 9, 11, 14, 15, 16, 18, 19, 24, 25, 26, 27, 29, 33, 48, 53, 54, 55, 57, 60, 61, 67, 70, 73, 76, 77, 78, 82, 85, 91, 95, 96, 97], "must": [4, 8, 11, 32, 48, 53, 54, 62, 72, 77, 78, 79], "termin": [4, 11, 19, 33], "transact": [4, 6, 8, 25, 53, 62, 76, 78], "befor": [4, 6, 8, 14, 28, 48, 50, 53, 54, 55, 62, 70, 85, 91], "thi": [4, 6, 8, 11, 14, 16, 18, 19, 32, 33, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 53, 54, 55, 62, 67, 70, 72, 73, 77, 78, 79, 85, 87, 91, 92, 96], "after": [4, 6, 8, 19, 32, 33, 53, 54, 62, 67, 70, 77, 79, 91, 97], "being": [4, 9, 16, 19, 32, 33, 48, 50, 53, 54, 62, 67, 71, 72, 76, 97], "kept": 4, "minimum": [4, 19, 33, 53, 54], "durat": [4, 79], "least": [4, 53], "equal": [4, 6, 19, 33, 53, 54], "complet": [4, 8, 16, 25, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72, 77, 78, 79, 97], "timeout": [4, 6, 62, 67, 76, 92, 97], "valu": [4, 9, 14, 16, 19, 33, 48, 50, 53, 54, 58, 62, 67, 70, 72, 74, 77, 79, 92], "typic": [4, 11, 16, 32, 53, 54], "50": 4, "m": [4, 50, 77], "clear": [4, 11, 19, 33, 53, 54, 62, 70], "ani": [4, 6, 8, 16, 19, 33, 53, 54, 55, 62, 63, 67, 72, 73, 76, 78, 79, 92], "pend": [4, 8, 11, 53, 60], "transfer": [4, 10, 11, 14, 16, 53, 54, 60, 62, 63, 70, 72, 74, 79], "mai": [4, 19, 33, 62], "current": [4, 53, 54, 55, 62, 91], "queu": 4, "data": [4, 6, 8, 11, 16, 19, 33, 53, 54, 55, 60, 62, 63, 66, 78, 79, 87, 97], "path": [4, 19, 33, 53, 54], "To": [4, 10, 38, 48, 53, 54, 55, 62, 78, 85, 91], "type": [4, 6, 11, 19, 33, 53, 66, 73, 79], "command": [4, 9, 11, 14, 18, 32, 48, 50, 67, 78, 91, 92], "tcl": [4, 11, 38, 55, 77, 91], "set_properti": [4, 11, 77, 91], "dict": [4, 11], "list": [4, 11, 19, 29, 32, 33, 53, 54, 67, 76], "config": [4, 6, 10, 11, 19, 24, 27, 32, 33, 77, 91], "soft_reset_en": 4, "true": [4, 11, 19, 33, 55, 77, 91], "get_ip": [4, 11, 91], "ip_nam": [4, 11], "request": [4, 6, 8, 11, 50, 53, 54, 55, 62, 78, 79, 97], "length": [4, 6, 11, 53, 54, 55, 66], "greater": [4, 6, 50], "than": [4, 6, 11, 16, 32, 50, 53, 54, 62, 72, 78, 79], "1": [4, 6, 7, 8, 10, 11, 14, 15, 19, 22, 25, 26, 29, 32, 33, 36, 48, 50, 53, 55, 57, 60, 67, 70, 77, 78, 79, 83, 90], "dword": [4, 6, 78], "size": [4, 6, 11, 16, 32, 53, 54, 55, 58, 62, 67, 70, 72, 79], "burst": [4, 6, 16, 53, 54], "alwai": [4, 6, 11, 53, 54, 60, 62, 67, 76], "width": [4, 6, 11, 16, 19, 33, 38, 53, 78, 79, 92], "bu": [4, 6, 9, 24, 27, 32, 48, 50, 54, 62, 78, 79, 92], "even": [4, 6, 11, 53, 67, 77], "receiv": [4, 6, 18, 50, 53, 54, 62, 79, 97], "shorter": [4, 6], "s_axi_wstrb": 4, "can": [4, 6, 8, 9, 11, 16, 19, 32, 33, 38, 48, 50, 53, 54, 55, 58, 62, 72, 73, 77, 78, 79, 87, 91, 96], "us": [4, 5, 6, 9, 10, 11, 13, 14, 16, 19, 20, 24, 25, 26, 27, 29, 32, 33, 34, 38, 48, 49, 50, 53, 54, 55, 62, 66, 67, 68, 72, 78, 79, 81, 85, 86, 90, 91, 92, 93, 97], "facilit": 4, "align": [4, 53, 54, 70, 78], "address": [4, 6, 8, 10, 11, 25, 26, 32, 43, 53, 54, 62, 65, 70, 78, 97], "boundari": [4, 54, 55], "0": [4, 7, 10, 28, 29, 32, 48, 50, 53, 54, 55, 57, 65, 67, 74], "begin": [4, 53], "valid": [4, 48, 53, 54, 79], "cycl": [4, 11, 18, 32, 53, 54, 79], "appropri": [4, 53, 77], "calcul": [4, 53, 54], "offset": [4, 8, 10, 53, 77], "given": [4, 11, 18, 53, 54, 72, 76], "howev": [4, 16, 50, 53, 54, 78], "identifi": [4, 10, 19, 33, 53, 54, 62, 77], "continu": [4, 16, 32, 53, 54, 62], "first": [4, 8, 19, 32, 33, 53, 54, 55, 62, 70, 76, 77, 97], "byte": [4, 10, 11, 16, 53, 54, 55, 78], "enabl": [4, 8, 11, 14, 16, 18, 19, 32, 33, 48, 50, 53, 54, 60, 62, 65, 66, 67, 70, 77, 78, 82, 85, 91, 92, 96], "last": [4, 11, 53, 54, 55, 65, 79], "The": [4, 6, 8, 9, 10, 11, 14, 16, 18, 19, 29, 32, 33, 38, 48, 50, 53, 54, 55, 58, 61, 62, 63, 70, 72, 73, 77, 78, 79, 85, 87, 91, 92, 96], "core": [4, 14, 19, 24, 26, 27, 29, 33, 53, 54, 73, 77, 79, 88, 95], "conform": 4, "order": [4, 8, 32, 53, 54, 72, 73], "rule": [4, 8, 19, 33], "pci": [4, 7, 9, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 32, 33, 36, 48, 50, 51, 57, 58, 76, 77, 78, 82, 83, 85, 88, 91, 92, 95], "sig": [4, 29], "specif": [4, 5, 9, 19, 33, 48, 93, 97], "behavior": [4, 20, 34, 53, 97], "ar": [4, 8, 9, 10, 11, 14, 16, 18, 19, 28, 32, 33, 48, 50, 53, 54, 55, 62, 65, 66, 67, 70, 72, 73, 74, 76, 77, 78, 79, 85, 87, 91], "implement": [4, 11, 20, 29, 34, 53, 62, 70, 97], "enforc": 4, "highli": 4, "parallel": 4, "bresp": [4, 8, 62], "remot": 4, "until": [4, 18, 53, 77, 79], "memwr": 4, "tlp": [4, 6, 78, 79, 97], "transmiss": [4, 19, 33], "guarante": [4, 53, 54], "sent": [4, 11, 53, 54, 62, 71, 97], "subsequ": [4, 58], "tx": [4, 19, 33, 53, 76], "relax": [4, 32], "within": [4, 10, 11, 16, 18, 19, 32, 33, 50, 53, 54, 77, 79], "header": 4, "permit": 4, "pass": [4, 29, 53, 54, 55], "previou": [4, 8, 19, 33, 91], "phase": [4, 19, 33, 62, 76, 85], "held": [4, 18, 54], "have": [4, 8, 16, 19, 32, 33, 38, 50, 53, 54, 55, 62, 72, 85], "ha": [4, 8, 9, 10, 11, 14, 18, 19, 32, 33, 48, 50, 53, 54, 62, 72, 73, 77, 78, 79], "been": [4, 6, 9, 11, 14, 19, 32, 33, 48, 55, 72, 73, 77, 85], "attribut": [4, 78], "prior": [4, 8, 28, 53, 54, 62], "": [4, 6, 11, 15, 16, 19, 25, 26, 32, 33, 48, 50, 55, 57, 58, 62, 70, 73, 90], "present": [4, 53, 54], "channel": [4, 10, 16, 19, 33, 91], "integr": [4, 14, 16, 18, 19, 22, 24, 25, 26, 27, 28, 32, 33, 36, 38, 62, 76, 77, 78, 79, 82, 83, 85, 91, 95, 97], "block": [4, 11, 18, 19, 22, 24, 25, 26, 27, 28, 33, 36, 50, 53, 54, 55, 62, 72, 76, 77, 78, 79, 82, 83, 85, 91, 95, 96, 97], "express": [4, 7, 9, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 33, 36, 38, 48, 51, 57, 58, 76, 77, 78, 82, 83, 85, 88, 91, 95], "detect": [4, 11, 14, 32, 50, 55, 62, 70, 71, 78, 85, 87, 91, 97], "malform": 4, "configur": [4, 9, 11, 16, 18, 20, 24, 25, 27, 29, 34, 48, 53, 54, 60, 62, 67, 70, 76, 77, 78, 79, 85, 87, 92, 97], "result": [4, 6, 53, 54, 62], "fatal": [4, 50, 55], "messag": [4, 25, 77], "upstream": [4, 78], "report": [4, 48, 50, 55, 57, 67, 70], "monitor": [4, 25, 53, 55], "ensur": [4, 8, 11, 16, 18, 19, 32, 33, 50, 53, 54, 62, 76], "onli": [4, 6, 10, 11, 16, 18, 19, 25, 33, 38, 50, 53, 54, 55, 60, 62, 65, 67, 78, 79, 90, 91], "incr": [4, 53], "increment": [4, 53, 62], "other": [4, 8, 19, 33, 50, 53, 54, 76], "treat": [4, 54, 79], "condit": [4, 53, 54], "illeg": 4, "sib": 4, "In": [4, 6, 19, 24, 25, 27, 33, 38, 50, 53, 54, 55, 62, 73, 74, 78, 87, 91], "case": [4, 19, 26, 33, 38, 53, 54, 55, 62, 68, 78], "slverr": 4, "beat": [4, 11, 53, 54, 79], "arbitrari": 4, "place": [4, 19, 32, 33, 53, 77], "s_axi_rdata": 4, "respons": [4, 6, 10, 14, 25, 53, 54, 62, 66, 67, 72], "discard": 4, "normal": [4, 62], "depend": [4, 6, 8, 11, 53, 54, 62, 70, 73, 79], "establish": [4, 6, 48], "maintain": [4, 53, 54, 62, 65, 77], "point": [4, 19, 33, 53, 54, 55], "extern": [4, 53, 54, 87, 96], "lost": [4, 32, 62], "re": [4, 32, 77, 78, 85, 91], "return": [4, 6, 32, 85], "hot": [4, 18, 50], "goe": [4, 50, 62, 73, 78, 85, 91], "down": [4, 14, 19, 32, 33, 50, 62, 67], "space": [4, 10, 18, 19, 25, 32, 33, 48, 51, 53, 54, 62, 65, 78, 88, 92], "reconfigur": [4, 24, 27, 77], "yet": 4, "associ": [4, 50, 53, 54, 55, 62, 70], "start": [4, 50, 53, 54, 62, 77, 79, 85], "bar": [4, 8, 9, 16, 19, 32, 33, 48, 53, 54, 66, 85], "support": [4, 7, 10, 11, 15, 16, 18, 19, 22, 24, 27, 30, 33, 36, 38, 43, 48, 50, 51, 53, 54, 55, 57, 68, 70, 76, 78, 83, 85, 88, 90, 91, 95, 97], "filter": [4, 77], "forward": [4, 8], "translat": [4, 8, 9, 25, 48, 53, 54], "disabl": [4, 6, 9, 11, 16, 18, 19, 32, 33, 48, 50, 53, 54, 62, 66, 78, 92], "custom": [4, 16, 19, 25, 33, 53, 55, 67, 77, 91], "design": [4, 9, 10, 11, 15, 16, 20, 22, 24, 25, 26, 27, 28, 29, 30, 32, 34, 36, 48, 51, 56, 62, 67, 68, 70, 72, 73, 77, 78, 83, 85, 86, 91, 96, 97], "suit": [4, 28, 76], "rp": [4, 19, 33, 50], "applic": [4, 11, 16, 31, 32, 53, 54, 62, 67, 68, 72, 73, 77, 78, 79, 97], "without": [4, 6, 50, 53], "default": [4, 6, 15, 19, 22, 25, 33, 36, 53, 54, 62, 78], "0x0000_0000": 4, "program": [4, 9, 24, 25, 27, 29, 32, 48, 50, 53, 54, 55, 60, 62, 65, 70, 77, 87], "separ": [4, 19, 33, 62, 77], "hit": [4, 70], "accord": [4, 19, 33], "outsid": [4, 67, 91], "rang": [4, 9, 48], "cannot": [4, 53, 54, 77], "recommend": [4, 9, 48, 53, 54, 62], "do": [4, 8, 14, 16, 19, 32, 33, 38, 48, 50, 53, 54, 55, 67, 72, 77, 78, 85, 91], "set_finite_credit": 4, "fals": [4, 77, 91], "infinit": [4, 79], "credit": [4, 14, 16, 19, 25, 32, 33, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72, 79], "advertis": [4, 48], "complex": [4, 26, 29, 51, 90], "finit": 4, "requir": [4, 18, 19, 25, 32, 33, 43, 48, 50, 53, 54, 55, 62, 68, 70, 77, 91, 97], "most": [4, 19, 33, 53, 54], "obei": [4, 54], "caution": 4, "verifi": [4, 19, 25, 33, 60], "function": [4, 14, 48, 53, 54, 55, 66, 70, 78, 92], "output": [4, 14, 19, 24, 27, 33, 53, 54, 60, 67, 70, 72, 77, 87, 92], "s_axi_arreadi": 4, "s_axi_rvalid": 4, "unrespons": 4, "met": [4, 24, 27], "older": 4, "axi_ctl_aclk": 4, "axi_ctl_aclk_out": 4, "puls": 4, "out": [4, 10, 19, 25, 32, 33, 53, 54, 55, 63, 87, 96], "activ": [4, 54, 70, 77, 79], "low": [4, 53, 54, 62], "main": [4, 16], "toggl": [4, 70], "simul": [4, 19, 24, 25, 26, 27, 29, 33, 53, 54, 70, 90, 97], "run": [4, 9, 19, 25, 29, 32, 33, 48, 50, 53, 54, 62, 67, 78, 85, 91], "featur": [4, 14, 19, 22, 25, 26, 33, 36, 53, 54, 55, 62, 66, 77, 78, 83, 85, 91], "captur": [4, 10, 19, 33, 78, 85], "waveform": 4, "access": [4, 6, 14, 48, 53, 54, 70, 77], "abov": [4, 11, 19, 50, 53, 54, 61, 62, 78, 79, 85], "taken": [4, 11, 19, 33, 62, 79], "qdma": [4, 15, 25, 26, 29, 38, 53, 54, 55, 57, 62, 63, 67, 70, 72, 76, 79, 90, 96], "product": [4, 7, 11, 16, 18, 53, 54, 62, 78, 79, 83, 88, 95], "guid": [4, 11, 15, 16, 18, 19, 22, 25, 26, 33, 36, 48, 51, 53, 54, 57, 62, 78, 79, 83, 85, 88, 91, 95], "pg195": [4, 10, 11, 12, 15], "document": [4, 5, 11, 13, 19, 20, 24, 27, 30, 33, 34, 43, 56, 62, 68, 73, 78, 79, 81, 85, 86, 91, 93, 97], "gotcha": [5, 13, 56, 60, 81, 93, 97], "gener": [5, 11, 13, 14, 20, 25, 26, 29, 34, 43, 49, 51, 53, 54, 56, 60, 62, 71, 73, 81, 86, 93], "checklist": [5, 13, 20, 34, 49, 60, 71, 81, 86, 93, 97], "tip": [5, 13, 31, 49, 81, 86, 97], "question": [5, 13, 20, 34, 49, 72, 81, 86, 97], "collater": [5, 13, 20, 34, 49, 56, 81, 86, 93, 97], "between": [6, 10, 19, 33, 53, 54, 58], "d0": 6, "uniniti": 6, "state": [6, 8, 19, 32, 33, 50, 53, 54, 62, 78, 82, 85, 91, 92], "mean": [6, 32, 53, 67], "physic": [6, 53, 54, 66, 77], "hasn": [6, 55], "t": [6, 19, 33, 50, 55, 77], "exchang": [6, 32], "initfc": 6, "enumer": [6, 9, 14, 19, 33, 48, 85, 97], "thu": [6, 62, 77, 79], "get": [6, 14, 16, 53, 54, 60, 72, 74, 77, 82, 85], "through": [6, 8, 10, 24, 25, 27, 32, 50, 53, 54, 55, 62, 65, 70, 73, 78], "essenti": [6, 53, 54], "user_reset": 6, "releas": [6, 7, 15, 31, 48, 51, 53, 57, 83, 95, 97], "layer": 6, "should": [6, 9, 10, 16, 19, 32, 33, 48, 50, 53, 54, 55, 62, 65, 70, 72, 73, 77, 78, 79], "therefor": [6, 53, 54], "indic": [6, 11, 14, 18, 19, 32, 33, 53, 54, 62, 92], "send": [6, 16, 53, 54, 55, 62, 67, 72, 76], "over": [6, 11, 53, 54, 79], "usabl": 6, "host": [6, 11, 16, 19, 25, 32, 33, 53, 54, 62, 65, 70, 78, 85, 87, 91], "testbench": 6, "hang": [6, 14, 53, 54, 70], "memori": [6, 10, 15, 16, 19, 24, 25, 26, 27, 32, 33, 48, 53, 54, 60, 62, 67, 70, 78, 85, 92], "whether": [6, 19, 32, 33, 38, 53, 54], "non": [6, 9, 19, 33, 48, 50, 53, 54, 77, 79], "exist": [6, 19, 32, 33, 91], "These": [6, 72, 77], "attempt": [6, 19, 33], "would": [6, 16, 50, 53, 54], "readi": [6, 53, 54, 79], "mechan": [6, 11, 25, 59, 97], "unlik": [6, 48], "A": [6, 11, 19, 25, 33, 51, 53, 54, 62, 76, 88], "possibl": [6, 10, 16, 19, 33, 38, 53, 54, 62, 91], "workaround": 6, "firewal": 6, "outstand": [6, 53, 54, 62, 79], "number": [6, 9, 16, 28, 48, 53, 54, 55, 58, 62, 66, 67, 70, 72, 79], "8": [6, 10, 25, 26, 50, 53, 54, 90], "c_s_axi_num_read": 6, "one": [6, 11, 18, 32, 53, 54, 76], "instead": [6, 16, 19, 32, 33, 53, 54, 62, 78, 91], "narow": 6, "event": [6, 54], "though": [6, 67], "limit": [6, 16, 50, 53, 54, 91], "masteraxi": 6, "descript": [7, 15, 18, 19, 22, 33, 36, 51, 57, 60, 76, 78, 83, 88, 95], "url": [7, 15, 18, 22, 36, 51, 57, 76, 83, 88, 95], "v3": [7, 57], "http": [7, 15, 16, 18, 19, 22, 24, 27, 29, 30, 33, 36, 38, 48, 50, 51, 53, 55, 57, 58, 61, 68, 70, 73, 74, 76, 78, 83, 85, 88, 90, 91, 95], "www": [7, 15, 18, 19, 22, 24, 27, 29, 30, 33, 36, 38, 48, 50, 51, 57, 76, 78, 83, 85, 88, 91, 95], "xilinx": [7, 9, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 29, 30, 33, 36, 38, 48, 50, 51, 55, 57, 62, 67, 68, 70, 74, 76, 78, 83, 85, 88, 90, 91, 95], "com": [7, 15, 16, 18, 19, 22, 24, 27, 29, 30, 33, 36, 38, 48, 50, 51, 53, 55, 57, 58, 61, 70, 73, 74, 76, 78, 83, 85, 88, 90, 91, 95], "ip_document": [7, 15, 83], "axi_pcie3": 7, "v3_0": 7, "pdf": [7, 15, 19, 22, 24, 27, 30, 33, 36, 76, 83, 88, 95], "xdma": [7, 9, 10, 11, 14, 15, 25, 26, 29, 48, 57, 63], "jtag": [7, 15, 19, 26, 32, 33], "answer": [7, 9, 15, 16, 18, 19, 22, 28, 31, 33, 34, 36, 38, 48, 50, 51, 57, 70, 78, 83, 85, 91, 95, 97], "71322": [7, 15], "html": [7, 15, 18, 19, 22, 29, 33, 36, 38, 48, 50, 51, 57, 68, 78, 83, 85, 91, 95], "note": [7, 15, 31, 48, 50, 51, 53, 54, 57, 67, 72, 83, 95, 97], "known": [7, 15, 19, 33, 50, 57, 83, 95], "2013": 7, "newer": [7, 15, 57], "tool": [7, 15, 53, 54, 57, 77], "54646": [7, 28], "gen": 7, "3": [7, 10, 15, 19, 25, 26, 33, 50, 53, 55, 60, 76, 83, 85, 90], "intellectu": 7, "properti": [7, 87, 91], "axi_pcie_gen3": 7, "trasfer": 8, "probe": [8, 14, 19, 33, 50], "m_axi": 8, "s_axi": 8, "direct": [8, 19, 32, 33, 53, 54, 55, 62, 65, 70, 87, 91], "flow": [8, 9, 10, 25, 38, 48, 50, 56, 68, 91, 97], "trigger": [8, 25, 53, 54, 66, 92], "catch": 8, "made": [8, 29, 53, 54], "show": [8, 19, 33, 50, 55, 63, 97], "here": [8, 73], "field": [8, 53, 54, 55, 58, 66, 78], "araddr": 8, "awaddr": 8, "expect": [8, 19, 33, 76], "vector": [8, 53, 54], "c_pciebar2axibar_": 8, "c_axibar_": 8, "anyth": [8, 53, 54, 55], "failur": [8, 19, 32, 33, 50], "make": [8, 9, 19, 32, 33, 38, 48, 50, 53, 54, 62, 69, 70, 72, 73, 74, 77, 78, 87, 96], "sure": [8, 9, 19, 32, 33, 48, 50, 53, 54, 69, 70, 72, 73, 74, 78, 87], "thei": [8, 53, 54, 72, 73], "bvalid": 8, "breadi": 8, "each": [8, 10, 32, 53, 54, 62, 66, 67, 70, 92], "rresp": 8, "rvalid": 8, "rreadi": 8, "both": [8, 53, 54, 55, 72, 73, 76, 79, 85, 91, 96], "investig": [8, 48, 53, 54], "those": [8, 55, 72, 77], "move": [8, 77], "strict": 8, "might": [8, 19, 32, 33, 53, 54, 68, 72, 73, 76], "halt": [8, 54], "pipelin": [8, 19, 33], "0x148": 8, "s_axil_": 8, "axis_tx": 8, "rx": [8, 53, 76], "spot": 8, "visibl": [8, 32], "problem": [8, 50, 62], "mm": [8, 53, 54, 60, 62, 65, 66, 90], "gen2": [8, 16, 19, 24, 27, 33, 76], "machin": [8, 16, 19, 32, 33, 50, 78, 85, 91], "seen": [8, 50, 53, 62, 76], "axis_": 8, "datapath": [8, 11, 53], "p": [9, 15, 19, 22, 26, 29, 33, 36, 38, 48, 50, 51, 54, 78, 83, 85, 87, 91], "driver": [9, 10, 14, 15, 16, 18, 19, 24, 25, 26, 27, 29, 32, 33, 48, 50, 51, 53, 55, 57, 60, 62, 63, 65, 67, 70, 71, 72, 73, 77, 88, 97], "model": [9, 26, 48, 76], "section": [9, 14, 48, 85, 91], "ug1085": [9, 48], "summar": [9, 48], "review": [9, 10, 19, 33, 48, 60, 67, 68, 70, 85, 91], "gt": [9, 14, 19, 32, 33, 48, 50, 77, 82, 91], "transceiv": [9, 19, 33, 48], "iou": [9, 48], "correctli": [9, 32, 48, 69, 70, 73], "try": [9, 16, 19, 32, 33, 48, 50, 72, 82], "petalinux": [9, 26, 43, 48, 51, 97], "bsp": [9, 48], "particular": [9, 14, 48, 53, 54], "board": [9, 16, 19, 25, 29, 32, 33, 48, 50, 54, 87], "silicon": [9, 16, 48], "revis": [9, 19, 33, 48], "base": [9, 14, 16, 25, 30, 48, 54, 55, 62, 65, 70, 85, 90, 91], "templat": [9, 48], "build": [9, 48], "project": [9, 38, 48], "hdf": [9, 48], "file": [9, 14, 19, 22, 33, 36, 38, 48, 57, 68, 70], "dt": [9, 48], "test": [9, 24, 25, 26, 27, 29, 48, 50, 55], "off": [9, 19, 33, 48, 53, 54, 62, 87], "shelf": [9, 48], "card": [9, 11, 19, 32, 33, 48, 50], "exampl": [9, 10, 11, 15, 16, 19, 24, 25, 26, 27, 29, 33, 48, 51, 53, 54, 70, 77, 78, 85, 86, 91, 96, 97], "nic": [9, 48, 50], "help": [9, 14, 48, 50, 62, 67, 68], "compar": [9, 19, 33, 48, 62, 67], "develop": [9, 19, 25, 29, 33, 48, 62], "zcu102": [9, 26, 48, 50, 51], "below": [9, 19, 33, 38, 48, 50, 55, 58, 61, 63, 68, 73, 74, 78, 85, 91, 96], "xsct": [9, 48], "mrd": [9, 48], "0xfd480000": [9, 48], "100": [9, 48, 50, 54], "pl": [9, 25, 26, 38, 48, 50, 51, 54, 55, 57, 73, 91], "zynq": [9, 29, 48, 50, 51], "mpsoc": [9, 48, 51], "experi": [9, 48], "seamless": [9, 48], "interoper": [9, 48], "70854": [9, 48], "provid": [9, 16, 19, 33, 38, 48, 53, 54, 55, 58, 62, 70, 73, 74, 77, 85, 91], "topic": [9, 48, 97], "prefetch": [9, 16, 48, 53, 54, 55, 60, 62, 65, 66, 67], "top": [10, 76, 96], "level": [10, 16, 53, 54, 62, 72, 76, 77, 96], "h2c": [10, 15, 25, 53, 54, 60, 62, 65, 70], "c2h": [10, 11, 14, 16, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72, 74], "setup": [10, 19, 33, 43, 53, 54, 97], "summari": [10, 53, 54], "stream": [10, 11, 14, 16, 53, 54, 60, 62, 65, 66, 67, 70, 72, 74], "track": [10, 19, 33, 53, 54, 58], "bypass": [10, 19, 25, 33, 53, 54, 55, 60, 62, 66, 67, 71, 72, 76, 85, 97], "descriptor": [10, 11, 14, 16, 25, 53, 54, 55, 58, 60, 62, 65, 66, 67, 69, 70, 72, 78], "defin": [10, 19, 25, 33, 53, 54], "0x00": 10, "0x04": 10, "etc": [10, 19, 33, 54, 55, 58, 65, 92], "how": [10, 16, 19, 25, 29, 33, 55, 65, 67, 70, 72, 73, 96, 97], "find": [10, 55], "differ": [10, 11, 19, 33, 54, 55, 91], "format": [10, 53, 54], "tabl": [10, 25, 53, 54, 61, 83], "e": [10, 16, 38, 55, 76, 92], "g": [10, 16, 38, 55, 92], "0x00000104": 10, "7": [10, 22, 24, 25, 26, 27, 28, 29, 30, 36, 50, 53, 54, 77, 90], "11": [10, 25, 26, 90], "id": [10, 19, 32, 33, 53, 96], "15": [10, 25, 26, 53, 90], "12": [10, 25, 26, 53, 54, 90], "submodul": 10, "31": [10, 25, 53, 54], "16": [10, 25, 26, 50, 53, 54, 70, 90], "reserv": [10, 53, 54, 62], "arm": [10, 50, 53, 54, 65], "processor": 10, "No": [10, 25, 26, 53, 54, 55, 66], "what": [10, 14, 16, 19, 33, 55, 67, 72, 78, 91], "xdma0_bypass_h2c_0": 10, "xdma0_bypass_c2h_0": 10, "xdma0_bypass": 10, "xdma0_bypass_h2c": 10, "xdma0_bypass_c2h_": 10, "so": [10, 16, 18, 19, 32, 33, 53, 54, 55, 62, 72, 77, 79, 91], "ignor": 10, "combin": [10, 53, 77], "xdma0_c2h_0": 10, "xdma0_c2h_1": 10, "xdma0_c2h_2": 10, "xdma0_c2h_3": 10, "singl": [10, 19, 33, 53, 78], "select": [10, 19, 33, 53, 54, 66, 77, 79, 83, 88, 95, 96], "individu": [10, 62, 66], "its": [10, 50, 53, 54, 62, 77], "wai": [10, 11, 55, 62], "specifi": [11, 19, 33, 53, 54], "time": [11, 16, 19, 33, 53, 54, 55, 62, 77, 78, 85, 91], "take": 11, "preced": 11, "legaci": [11, 16, 18, 54], "softwar": [11, 53, 54, 55, 58, 60, 62, 65, 66, 67, 73], "switch": [11, 19, 33], "either": [11, 50, 53, 62, 79], "while": [11, 19, 33, 53, 54, 55, 91], "user_irq_ack": 11, "remain": [11, 77], "queri": [11, 48], "servic": [11, 53, 62], "routin": 11, "isr": [11, 16], "determin": [11, 53, 54], "sourc": [11, 14, 38, 53, 54, 61, 62], "know": [11, 55], "mani": [11, 16, 54, 67, 70, 72, 78], "your": [11, 16, 19, 32, 33, 53, 54], "involv": 11, "arrai": 11, "modifi": [11, 14, 25, 53, 91], "destin": [11, 54, 62], "unus": 11, "span": [11, 53, 54], "multipl": [11, 19, 32, 33, 53, 54, 55, 78, 85, 91], "eop": [11, 53, 54], "tlast": [11, 32, 53, 54, 55], "tkeep": 11, "except": [11, 60], "On": [11, 50], "full": [11, 16, 38, 53, 54, 62, 72], "pack": 11, "lsb": 11, "contigu": [11, 19, 33, 53, 54], "buffer": [11, 53, 54, 62, 66, 70, 77], "It": [11, 53, 54, 55, 62, 72, 77], "64": [11, 32, 53, 54, 78, 79], "irq": [11, 50], "usr_irq_exd": 11, "faq": [13, 56, 81, 93, 97], "perform": [13, 24, 25, 27, 30, 53, 54, 57, 62, 66, 71, 78, 90, 97], "similar": [14, 19, 32, 33, 63, 91], "boot": [14, 32, 50, 77], "strategi": 14, "fail": [14, 18, 20, 34, 48, 50, 70, 77, 78, 87, 97], "load": [14, 53, 63, 70, 77], "dmesg": [14, 25, 50, 60], "narrow": [14, 16, 53, 54], "where": [14, 38, 48, 53, 54, 74], "onc": [14, 16, 53, 54, 65], "call": [14, 16, 76], "pio": [14, 25, 26, 78, 90, 91], "primari": [14, 62], "look": [14, 16, 55, 63, 72], "insid": [14, 16, 77], "c": 14, "insert": [14, 19, 29, 33, 66, 77], "kernel": [14, 16, 18, 25, 26, 29, 32, 48, 50, 57, 68], "variou": [14, 38, 73], "insmod": 14, "load_driv": 14, "sh": 14, "ko": 14, "enable_credit_mp": 14, "download": [15, 16, 57, 67], "github": [15, 16, 55, 57, 67, 68, 76, 90], "dma_ip_driv": [15, 16, 55, 57, 68], "v4": [15, 29, 57], "v4_1": 15, "2015": 15, "65443": [15, 28], "71435": [15, 16], "articl": [15, 53, 54, 57, 58, 70, 73, 90], "000034166": 15, "languag": [15, 57, 70, 73, 76, 90], "en_u": [15, 57, 70, 73, 90], "v": [15, 19, 29, 33, 77], "forum": [15, 19, 22, 29, 33, 36, 38, 78, 83, 85, 91], "t5": [15, 19, 22, 29, 33, 36, 38, 78, 83, 85, 91], "cpm": [15, 25, 28, 54, 55, 61, 73, 74, 85, 88, 97], "td": 15, "944098": 15, "measur": [16, 19, 33], "lspci": [16, 25, 38, 48, 50, 70, 78, 85, 91, 97], "come": [16, 19, 33, 53, 54, 91], "speed": [16, 19, 33, 38, 78, 92], "video": [16, 31, 51, 97], "best": [16, 53, 73], "ar71435": 16, "record": [16, 28, 31, 54, 78, 85, 91, 97], "ar68049": 16, "did": [16, 19, 32, 33, 50], "65444": 16, "tree": [16, 43, 76, 90, 97], "linux": [16, 25, 26, 29, 48, 50, 53, 57, 68, 88, 97], "tri": [16, 19, 33], "improv": [16, 53, 62], "One": [16, 53, 54], "factor": 16, "affect": [16, 53, 62, 73], "throughput": 16, "process": [16, 32, 50, 53, 54, 62], "wait": [16, 53, 54, 62], "predict": 16, "overal": [16, 73], "total": [16, 53, 54, 55, 79], "slow": [16, 87], "unpredict": 16, "There": [16, 19, 33, 53, 55, 62, 72], "coupl": [16, 19, 33], "work": [16, 53, 54, 55, 70, 76, 77, 78, 85], "around": [16, 58], "With": [16, 53, 54], "rate": [16, 19, 33, 62], "better": [16, 54, 78], "we": [16, 55], "explain": 16, "some": [16, 18, 33, 50, 53, 54, 73], "lower": 16, "poll": [16, 53, 62], "give": [16, 50, 53, 55, 72], "mp": [16, 54], "mrr": 16, "128byte": 16, "wp350": [16, 30], "x58": 16, "256": [16, 53, 78, 79], "maximum": [16, 53, 54, 58, 62, 79], "payload": [16, 54, 78, 79, 97], "x38": 16, "128": 16, "high": [16, 19, 33, 54, 73, 77, 79, 87], "end": [16, 38, 53, 54, 79, 96], "effici": 16, "comparison": 16, "stabl": [16, 32], "ltssm": [16, 19, 33, 50, 78, 82, 85, 91, 92, 97], "go": [16, 19, 32, 33, 55], "recoveri": [16, 19, 32, 33, 62, 78, 85, 91], "intermitt": 16, "ar71355": 16, "analyz": [16, 19, 33], "nak": 16, "could": [16, 19, 33, 38, 72, 73, 85], "pipe": [16, 19, 22, 24, 25, 27, 29, 33, 36, 76, 83], "descrambl": [16, 19, 22, 25, 33, 36, 83], "modul": [16, 19, 22, 25, 33, 36, 53, 54, 77, 83, 88], "blog": [16, 19, 22, 29, 31, 33, 36, 38, 58, 73, 78, 83, 85, 91, 97], "lane": [16, 19, 25, 33, 38, 78], "gen3x8": 16, "larger": [16, 53, 54], "higher": [16, 38, 53], "tradeoff": 16, "consum": [16, 53, 54, 77], "inform": [16, 32, 53, 54, 57, 62, 65, 74, 91], "enough": [16, 50, 53, 54, 62, 70, 78, 85, 91], "partner": [16, 19, 33, 78], "bram": 16, "ddr": 16, "prone": 16, "robust": 16, "reduc": [16, 53, 54, 62], "kick": 16, "happen": [16, 19, 33, 67, 92], "increas": [16, 53, 77], "side": [16, 53, 54, 62, 72, 76], "frequenc": [16, 19, 33, 76], "smart": [16, 53], "replac": 16, "interconnect": 16, "synchron": [16, 19, 33, 76], "same": [16, 19, 33, 53, 54, 55, 67, 72], "boost": 16, "due": [16, 53, 54, 62, 72], "hardwar": [16, 19, 29, 33, 43, 53, 54, 60, 62, 65, 70, 73, 97], "log": [16, 48, 53, 54, 55, 60, 62], "repeat": 16, "cfg_interrupt_int": 18, "cfg_interrupt_don": 18, "certain": [18, 53, 62, 67, 92, 97], "steadi": 18, "respond": 18, "encod": [18, 92], "58495": 18, "72702": [18, 83], "howto": 18, "org": 18, "doc": [18, 53, 61, 74, 85, 88, 91, 95], "unabl": [19, 33], "retain": [19, 33], "l0": [19, 32, 33, 78, 85, 91], "incorrect": [19, 33, 48], "pinout": [19, 33], "revers": [19, 25, 33, 78], "neither": [19, 33], "ep": [19, 25, 32, 33, 50], "too": [19, 33, 77], "big": [19, 33], "wrong": [19, 33], "mayb": [19, 33], "miss": [19, 33, 53, 97], "surpris": [19, 33], "vm": [19, 33], "assign": [19, 32, 33, 48, 50, 53, 54, 55, 77, 91], "proper": [19, 33, 53, 54], "iommu": [19, 33], "bifurc": [19, 33], "doesn": [19, 33, 50, 55, 77], "match": [19, 33, 53, 55, 62, 74], "vice": [19, 33], "versa": [19, 33], "slot": [19, 32, 33, 50, 66], "power": [19, 29, 32, 33, 85, 91], "vendor": [19, 25, 32, 33], "invalid": [19, 33, 53, 54, 60, 62, 71, 97], "pointer": [19, 33, 53, 54], "extend": [19, 33], "bad": [19, 33], "tandem": [19, 24, 25, 27, 29, 33, 90], "imag": [19, 26, 33, 43, 51, 97], "constraint": [19, 33, 53, 77, 91], "stall": [19, 33, 53, 62], "throttl": [19, 33], "cfg_space": [19, 33], "errata": [19, 33], "bio": [19, 33, 48, 50, 73, 87], "occur": [19, 33, 53, 55, 62, 67, 70, 78], "gen1x1": [19, 33, 38], "motherboard": [19, 33], "pc": [19, 33], "who": [19, 33, 55], "manufactur": [19, 33], "chipset": [19, 33], "gen1": [19, 33], "describ": [19, 33, 85, 96], "fpga": [19, 22, 24, 26, 27, 28, 29, 30, 33, 36, 51, 83, 97], "estim": [19, 33], "loss": [19, 33], "desir": [19, 33, 53, 54, 77], "passiv": [19, 33], "interpos": [19, 33], "retim": [19, 33], "part": [19, 32, 33, 54, 90], "chip": [19, 33], "add": [19, 33, 53, 54, 77], "backplan": [19, 33], "cabl": [19, 33], "lock": [19, 33, 82], "asynchron": [19, 33, 54], "ssc": [19, 33, 87], "were": [19, 33, 53, 54, 67, 77], "synthesi": [19, 33, 53, 54], "rout": [19, 33, 53], "xdc": [19, 33], "immedi": [19, 33, 53, 62, 66], "hour": [19, 33], "back": [19, 32, 33, 53, 54], "observ": [19, 33, 53, 54], "chang": [19, 33, 79, 91, 92], "long": [19, 31, 33, 54, 97], "success": [19, 33], "wa": [19, 32, 33, 50, 53, 54, 55, 62, 66, 67, 97], "protocol": [19, 22, 33, 36, 53], "analysi": [19, 25, 26, 33, 53], "oscilloscop": [19, 33], "free": [19, 33], "ti": [19, 33, 53, 54], "abil": [19, 33, 53, 62], "clean": [19, 33], "graph": [19, 33], "debugg": [19, 33], "gui": [19, 33, 82, 96], "ey": [19, 24, 27, 33, 78, 85, 91], "scan": [19, 24, 27, 32, 33], "ibert": [19, 33], "jitter": [19, 33, 85, 91], "nois": [19, 33, 85, 91], "refclk": [19, 33], "plot": [19, 33], "dfe": [19, 33], "lpm": [19, 33], "autorxeq": [19, 33], "regener": [19, 33], "tape": [19, 33], "38988": [19, 33], "eou": [19, 33], "techniqu": [19, 22, 31, 33, 36, 78, 83, 85, 91, 97], "ba": [19, 22, 29, 33, 36, 38, 78, 83, 85, 91], "1097525": [19, 33, 78], "versal": [19, 25, 28, 29, 33, 38, 55, 57, 61, 85, 88, 91, 95], "acap": [19, 25, 28, 29, 33, 38, 57, 85, 88, 91, 95], "1203707": [19, 33, 38, 85, 91], "guidelin": [19, 25, 33, 73], "gth": [19, 33], "gty": [19, 33], "user_guid": [19, 33], "ug576": [19, 33], "ug578": [19, 33], "56616": [19, 22, 33, 36], "73361": [19, 22, 33, 36, 38, 78, 83, 85, 91], "transit": [19, 33], "store_ltssm": [19, 33], "71355": [19, 33], "erron": [19, 33], "consult": [19, 33], "understand": [19, 25, 30, 33, 38, 91], "why": [19, 33], "As": [19, 33, 62], "put": [19, 33, 53, 54, 76], "ac": [19, 33], "capacitor": [19, 33], "transmitt": [19, 33], "differenti": [19, 33], "pair": [19, 33], "75": [19, 33], "nf": [19, 33], "200": [19, 33, 53, 54], "close": [19, 33, 38], "proxim": [19, 33], "crack": [19, 33], "sheet": [19, 33], "target": [19, 30, 33, 53, 54, 76], "care": [19, 33], "respect": [19, 33, 48, 53], "schemat": [19, 33, 85, 91], "per": [19, 33, 53, 54, 62, 65, 66, 67, 77, 79, 85, 91], "io": [19, 33, 57, 68, 77, 87], "standard": [19, 33, 77], "suppli": [19, 33], "decoupl": [19, 33, 77], "mention": [19, 33, 55], "peak": [19, 33], "resistor": [19, 33], "calibr": [19, 33], "circuit": [19, 33], "layout": [19, 33], "fulfil": [19, 33], "oscil": [19, 33], "regard": [19, 33], "dedic": [19, 33, 77], "meet": [19, 33, 50, 55, 77], "exce": [19, 33], "characterist": [19, 33], "datasheet": [19, 33], "keep": [19, 33, 53, 54, 79], "imped": [19, 33], "discontinu": [19, 33, 79], "auto": [19, 33], "rxeq": [19, 33], "sometim": [19, 33], "cpll": [19, 33], "qpll": [19, 33], "pll": [19, 33], "preset": [19, 33], "5": [19, 24, 25, 26, 27, 33, 50, 90], "4": [19, 25, 26, 29, 33, 50, 54, 55, 57, 72, 90], "2": [19, 25, 26, 29, 33, 53, 55, 57, 60, 69, 76, 77, 79, 85, 90], "phase2": [19, 33], "mac": [19, 33], "skew": [19, 33], "demystifi": [19, 22, 25, 33, 36, 83], "built": [19, 22, 25, 29, 33, 36, 51, 55, 83], "980246": [19, 22, 33, 36, 83], "third": [19, 33, 50, 76], "parti": [19, 33, 50, 76], "mandatori": [19, 33], "pg239": [19, 33], "drive": [19, 29, 33, 54, 55, 77, 79, 87], "persist": [19, 33, 77, 78, 85, 91], "bitstream": [19, 33, 50, 77], "spi": [19, 33], "bp": [19, 33], "flash": [19, 33, 77], "across": [19, 53, 54, 77], "common": [20, 34, 48, 91, 97], "reason": [20, 34, 53, 54, 62, 72, 97], "regress": [20, 34, 97], "capabl": [20, 24, 27, 34, 50, 66, 77, 78, 97], "si": [20, 34, 97], "info": [20, 34, 97], "train": [22, 25, 26, 36, 78, 83, 97], "2019": [22, 26, 29, 36, 83], "usag": [22, 25, 26, 29, 36, 83, 87], "72471": [22, 36, 38, 83], "seri": [22, 24, 26, 27, 28, 29, 30, 36, 77, 88, 95], "troubleshoot": [22, 25, 36, 53, 54], "pcisig": [22, 36], "site": [22, 36, 77], "02_01_troubleshooting_pci_express_link_training_and_protocol_issues_frozen": [22, 36], "xapp1177": [24, 27], "sr": [24, 27], "iov": [24, 27], "virtex": [24, 26, 27, 28, 29], "application_not": [24, 27, 76], "sriov": [24, 26, 27, 66], "xapp1179": [24, 27], "kintex": [24, 27, 29], "trd": [24, 27], "xapp1184": [24, 27, 76], "x8": [24, 27, 29, 50, 76], "xapp1171": [24, 27], "central": [24, 27], "xapp1201": [24, 27], "xt": [24, 27], "ht": [24, 27], "xapp1198": [24, 27], "xapp859": [24, 27], "ddr2": [24, 27], "sdram": [24, 27], "demonstr": [24, 27], "platform": [24, 27, 48, 50], "xapp1002": [24, 27], "chipscop": [24, 27], "pro": [24, 27], "plu": [24, 26, 27, 28, 83], "wrapper": [24, 26, 27, 28], "xapp": [24, 27], "1022": [24, 27], "xapp1022": [24, 27], "1052": [24, 27], "solut": [24, 27, 77], "xapp1052": [24, 27], "xapp518": [24, 27], "bpi": [24, 27], "prom": [24, 27, 77], "6": [24, 25, 26, 27, 28, 29, 30, 50, 53, 54, 74, 90], "technologi": [24, 27], "isp": [24, 27], "xapp883": [24, 27], "fast": [24, 27, 29, 76], "partial": [24, 27, 77], "xapp883_fast_config_pci": [24, 27], "xapp1286": [24, 27], "titl": [25, 26, 28], "setpci": [25, 32, 38, 48, 50, 78, 85, 91], "python": 25, "9": [25, 26, 90], "10": [25, 26, 53, 54, 90], "advanc": 25, "bdf": 25, "manag": [25, 53, 54, 58, 60, 61, 62, 66, 67, 72, 77], "13": [25, 26, 90], "14": [25, 26, 50, 90], "cpm4": [25, 57, 90, 91, 97], "gen4x8": [25, 90], "ced": [25, 76, 90], "17": [25, 26, 50, 90], "18": [25, 26, 90], "aer": [25, 32], "19": [25, 26, 90], "20": [25, 26], "vpk120": 25, "21": [25, 26], "modular": 25, "22": [25, 26], "cpm5": [25, 59, 90, 97], "23": [25, 26], "questa": 25, "24": 25, "queue": [25, 26, 28, 53, 54, 55, 57, 58, 60, 62, 65, 66, 67, 70, 72], "tune": [25, 73], "25": 25, "compil": [25, 53, 54], "dpdk": [25, 29, 55, 68], "app": 25, "step": [25, 38], "screenshot": [25, 63], "26": [25, 50, 53, 54], "pcie4": [25, 83, 91], "pcie5": [25, 57], "27": 25, "adapt": [25, 86, 88, 95, 97], "soc": [25, 86, 88, 95, 97], "logicor": [25, 95], "28": [25, 50], "29": [25, 29], "deep": 25, "dive": 25, "loopback": [25, 53, 78], "30": [25, 29, 53], "profil": [25, 53, 54, 65], "context": [25, 53, 54, 55, 60, 62, 65, 66, 67, 70, 72], "32": [25, 32, 53, 54, 78], "2023": [25, 90], "33": 25, "deciph": [25, 59, 97], "pidx": [25, 53, 54, 59, 60, 62, 69, 70, 71, 97], "34": 25, "flr": [25, 53, 54, 62, 66], "35": 25, "36": 25, "illustr": 25, "37": 25, "marker": [25, 53, 55, 62, 66], "38": 25, "39": 25, "st": [25, 53, 54, 60, 90], "2024": 25, "40": 25, "downstream": 26, "quick": 26, "serial": [26, 76], "rapidio": 26, "verilog": [26, 76], "zc706": [26, 51], "kc705": [26, 51], "zcu106": 26, "ultraz": 26, "intel": 26, "ssd": 26, "750": 26, "nvme": 26, "remark": [28, 66], "75397": 28, "75396": 28, "75350": 28, "73083": [28, 95], "72289": 28, "70927": [28, 57], "66988": 28, "71399": 28, "4c": 28, "65751": [28, 83], "57945": 28, "61898": 28, "54645": 28, "v2": 28, "onward": 28, "47441": 28, "ISE": 28, "54643": 28, "40469": 28, "44969": 28, "edk": 28, "65178": 28, "65177": 28, "spartan": [28, 30], "xilnx": 28, "51597": 28, "x16": 29, "harden": 29, "complianc": [29, 53], "now": [29, 32, 91], "100gbp": 29, "xcell": 29, "daili": 29, "694911": 29, "mig": [29, 51, 77], "kcu105": 29, "windriv": 29, "jungo": 29, "ipi": [29, 38, 51, 76, 90], "ddr4": 29, "creat": [29, 38, 67, 77], "youtub": 29, "watch": 29, "1ygviynflyi": 29, "g8n86wvh2ig": 29, "mentor": 29, "bfm": 29, "vwnkg01rjei": 29, "0knvw_6bgu0": 29, "simpl": [29, 53, 54, 55, 60, 66, 71, 97], "d1vofbsuwac": 29, "demo": 29, "iohgltr11qi": 29, "wxd71xdmmke": 29, "maw7ao6p6zu": 29, "bu8bspuiyoo": 29, "index": [29, 53, 54, 65], "pl35626fef3d5cb8f2": 29, "i8axs4hw2f4": 29, "startup": [29, 77], "dt3ytlwfehw": 29, "104": 29, "n5ovptstwua": 29, "youtu": 29, "c2j89lixhya": 29, "ryozp": 29, "dmwsk": 29, "vcu118": 29, "hjuarbawyqw": 29, "x0njx": 29, "zzg4k": 29, "u200": 29, "2020": [29, 57], "esjc6twgafi": 29, "live": 29, "premium": [29, 88, 95], "gen5": 29, "wp464": 30, "white_pap": 30, "wp384": 30, "wp384_pcie_7seri": 30, "wp363": 30, "lfar": [31, 97], "form": [31, 53, 97], "white": [31, 97], "paper": [31, 97], "cfg_ltssm_state": [32, 92], "h10": 32, "consist": [32, 38], "stai": 32, "repeatedli": 32, "100m": [32, 50, 77], "good": [32, 54, 72], "warm": [32, 78, 85, 91], "reboot": [32, 78, 85, 91], "violat": 32, "server": 32, "anoth": [32, 53, 54], "discoveri": 32, "cold": 32, "recov": 32, "00": [32, 48, 50], "indefinit": [32, 53, 54], "cfg_link_training_en": 32, "b1": [32, 53, 70], "fsm": 32, "phy_status_rst": 32, "reset_don": 32, "cross": [32, 54], "against": [32, 62], "max": [32, 53, 66], "chanc": [32, 50], "rescan": [32, 48, 50], "properli": [32, 50, 54], "treadi": 32, "tvalid": 32, "vvv": 32, "d": [32, 85, 91], "someth": 32, "region": [32, 77], "word": 32, "virtual": [32, 53, 54], "previous": 32, "unexpect": [32, 53], "them": [32, 53, 54, 67, 76, 77, 96], "util": [32, 48, 53, 54, 79], "alloc": [32, 50, 53, 70], "larg": [32, 53, 62, 77], "realloc": 32, "mmio": 32, "rxof": 32, "suffici": [32, 53, 54], "item": 33, "reproduc": [38, 67], "u": [38, 53, 61, 74, 85, 88, 91, 95], "1148199": [38, 78, 85, 91], "37406": 38, "instruct": 38, "isol": 38, "introduc": 38, "concept": 38, "split": [38, 54], "compon": [38, 91], "1215986": [38, 91], "wish": 38, "extract": 38, "project_1": 38, "name": [38, 65, 77], "catalog": 38, "right": 38, "click": [38, 53, 54, 96], "two": [38, 62, 72, 96], "_rp": 38, "export": 38, "_ep": 38, "shown": [38, 48, 96], "snapshot": [38, 96], "page": [39, 40, 41, 42, 44, 45, 46, 47, 51, 53, 54, 62, 88], "progress": [39, 40, 41, 42, 44, 45, 46, 47], "soon": [39, 40, 41, 42, 44, 45, 46, 47, 53, 54, 62], "visit": [39, 40, 41, 42, 44, 45, 46, 47], "later": [39, 40, 41, 42, 44, 45, 46, 47, 53, 54], "creation": [43, 97], "structur": [43, 50, 53, 54, 65, 66, 70, 97], "ecam": [43, 97], "tactic": [43, 97], "patch": [43, 97], "testabl": [43, 97], "class": 48, "code": [48, 50, 78], "pcw": 48, "70702": [48, 51], "71210": [48, 51], "x86": [48, 50], "memen": 48, "embed": [48, 77], "relev": [48, 53, 54, 61, 62, 85], "api": [48, 50, 53, 55], "via": [48, 50, 76], "devmem": [48, 50], "01": [48, 50], "0x7": [48, 50], "successfulli": [48, 97], "proceed": 48, "further": [48, 53, 54, 62], "detec": 48, "echo": [48, 50, 53], "sy": [48, 50], "0000": [48, 50], "remov": [48, 50, 53, 54, 77], "mellanox": 50, "connect4": 50, "lx": 50, "recogn": [50, 53, 55], "mlx5": 50, "encount": [50, 54, 62], "excerpt": 50, "940428": 50, "0002": 50, "946132": 50, "mellanox_check_broken_intx_mask": 50, "0x0": [50, 53, 54, 61], "0x1b8": 50, "took": 50, "11111": 50, "usec": 50, "954572": 50, "mlx5_core": 50, "got": 50, "51": 50, "954852": 50, "954929": 50, "firmwar": 50, "1040": 50, "960966": 50, "000": 50, "gb": 50, "bandwidth": [50, 53, 54], "x4": 50, "63": [50, 53, 54], "008": 50, "278293": 50, "mlx5_load": 50, "1068": 50, "pid": 50, "003727": 50, "init_on": 50, "1349": 50, "mlx5_load_on": 50, "012869": 50, "012981": 50, "019199": 50, "025095": 50, "52": 50, "025685": 50, "025765": 50, "031808": 50, "349033": 50, "072889": 50, "082038": 50, "082160": 50, "zu": 50, "fsbl": 50, "abl": [50, 62, 87], "gtr": 50, "includ": [50, 53, 54, 62], "ref": [50, 78, 85, 91], "ug1137": 50, "fit": [50, 54], "0xfd480238": 50, "prompt": [50, 54, 91], "0x3": [50, 61], "html_doc": [50, 85], "ug1087": 50, "pcie_attrib___attr_101": 50, "0xfd480228": 50, "pg054": 50, "found": [50, 62], "just": [50, 53, 54, 77, 78], "0xfd1a0100": 50, "pcie_ctrl_reset": 50, "like": [50, 72], "perst": 50, "ultrascaleregist": 50, "crf_apb___rst_fpd_top": 50, "nwl": 50, "fd0e0000": 50, "unsupport": [50, 97], "gpu": 50, "3130": 50, "483591": 50, "490863": 50, "0x4": 50, "execut": [50, 62], "invok": 50, "pci_enable_device_mem": 50, "manual": [50, 77, 88, 91], "land": 51, "wiki": [51, 88], "atlassian": [51, 88], "net": [51, 88], "85983409": 51, "71493": 51, "71494": 51, "tackl": [53, 54], "navig": [53, 54], "lengthi": [53, 54], "overwhelm": [53, 54], "streamlin": [53, 54], "directli": [53, 54], "highlight": [53, 54], "kei": [53, 54, 58, 65, 77, 85, 91], "mind": [53, 54], "condens": [53, 54], "focus": [53, 54, 58], "easier": [53, 54], "quickli": [53, 54], "explor": [53, 54], "origin": [53, 54], "amd": [53, 54, 58, 61, 73], "r": [53, 61, 74, 82, 85, 88, 91, 95], "en": [53, 61, 74, 85, 88, 91, 95], "tocid": [53, 61, 74], "iapafaz_pmiftrjvfo5taq": 53, "aggreg": [53, 54, 62, 65, 67], "turn": [53, 54, 62, 87], "ring": [53, 54, 55, 58, 62, 65, 70, 72], "5bp1owspu0kfrsl": 53, "uev2lq": 53, "togeth": [53, 54], "less": [53, 54, 79], "kb": [53, 54], "straddl": [53, 54, 77, 79], "lack": [53, 54, 72], "storag": [53, 54, 62], "w7xytgq781syeea3xb7g3a": 53, "own": [53, 54], "method": [53, 54], "deliv": [53, 54, 62], "fetch": [53, 54, 55, 60, 62, 66, 70, 72], "pf": [53, 54, 55, 62, 96], "vf": [53, 54, 55, 62], "group": 53, "vfg": 53, "equival": 53, "vfg_offset": [53, 54], "first_vf_offset": 53, "belong": [53, 54, 55], "share": [53, 54, 62], "concaten": [53, 54], "actual": [53, 54, 55], "rq": [53, 62], "rc": [53, 62, 79], "512": [53, 54, 79], "contain": [53, 54, 65], "entri": [53, 54, 55, 62, 65, 72], "never": [53, 54], "cidx": [53, 54, 58, 62, 65, 69, 70, 72], "smartconnect": [53, 54], "ecc": [53, 54, 62], "mutual": [53, 54, 77], "exclus": [53, 54, 77], "want": [53, 54, 55], "resourc": [53, 54, 62, 71, 97], "timer": 53, "\u03bc": 53, "batch": [53, 54], "scatter": 53, "gather": 53, "optim": [53, 54, 62], "16b": [53, 54], "And": 53, "left": 53, "h2c_byp_in_st_sdi": 53, "basi": [53, 54, 62, 65], "appli": [53, 85, 91], "dsc_crdt_in_fenc": 53, "assum": 53, "alreadi": [53, 54, 62], "coalesc": [53, 54, 66], "fenc": 53, "qdma_c2h_pfch_cfg_2": 53, "0xa84": 53, "qen": 53, "produc": [53, 54], "0x1": [53, 54, 61], "irq_req": 53, "irq_arm": [53, 54, 62], "err_wb_sent": 53, "writeback": [53, 54, 60, 62, 65, 66], "irq_no_last": 53, "dsc_sz": 53, "32b": [53, 54], "8b": [53, 54], "fetch_max": 53, "fcrd_en": [53, 54], "proce": [53, 62], "At": [53, 54], "wbi_chk": [53, 54], "interv": [53, 54], "traffic": [53, 54, 58, 60, 61, 62, 66, 67, 72], "sdi": [53, 54], "tm_dsc_st": [53, 54, 62], "pressur": [53, 54], "rvdoy7fzh1dbbxgmq3ytwg": 53, "reassert": [53, 54, 62], "quiesc": [53, 54, 62], "impos": 53, "mark": [53, 54], "Of": [53, 54], "sop": [53, 54], "among": [53, 54, 66], "piec": [53, 54], "feed": [53, 54, 72], "eventu": [53, 54], "multi": [53, 54], "fed": [53, 54], "sequenti": [53, 54], "interleav": [53, 54], "accumul": [53, 54], "Not": [53, 54], "submit": [53, 54], "qualiti": [53, 62], "sever": [53, 54, 62], "satur": [53, 54, 62], "128b": [53, 54, 62], "restrict": [53, 54, 62, 77, 79], "unit": [53, 54, 62], "amount": [53, 62], "sw": [53, 62, 65], "threshold": [53, 62], "h2c_req_throt": [53, 62], "0xe24": [53, 62], "handl": [53, 54, 60, 62, 77], "c1gc1g3yi2rqbfyc6cotcg": 53, "no_dma": [53, 54], "mrkr": [53, 54], "req": [53, 54], "iizb4_5eqe28ijzng1quba": 53, "post": [53, 54, 62, 72, 79], "cach": [53, 54, 60, 62, 66], "tag": [53, 54, 66], "freez": [53, 54], "qid": [53, 54, 55, 65, 72], "c2h_byp_in_st_csh_pfch_tag": [53, 54, 74], "n": 53, "_s_axis_c2h_mti": 53, "empti": [53, 55, 72], "_s_axis_c2h_cmpt_ctrl_wait_pld_pkt_id": 53, "cmpt": [53, 54, 55, 62, 65, 66, 70, 71, 72, 97], "count": [53, 67, 78], "regular": [53, 66], "_s_axis_c2h_ctrl_has_cmpt": 53, "_s_axis_c2h_cmpt_ctrl_cmpt_typ": 53, "has_pld": 53, "depth": [53, 66], "largest": 53, "accommod": 53, "zero": [53, 54, 66], "drop": [53, 55, 62, 71, 72, 97], "lhogtrzwefbwbmskihgw": 53, "portion": [53, 54, 62], "exact": 53, "content": [53, 54, 73], "0xb50": [53, 54], "overflow": [53, 54, 79, 97], "avoid": [53, 54, 77, 79], "baddr4_low": [53, 54], "sinc": [53, 54], "64b": [53, 54], "priorit": [53, 62], "arbitr": 53, "leav": 53, "gap": 53, "convert": 53, "along": [53, 54], "fmap": [53, 54, 70], "mailbox": [53, 54, 66], "procedur": [53, 54], "sensit": [53, 54], "unarm": [53, 54], "privileg": 53, "period": 53, "repres": [53, 54], "steer": [53, 54], "still": [53, 54, 67, 69, 78, 85, 91], "soft_reset": [53, 54], "reiniti": [53, 54], "expans": [53, 54], "rom": [53, 54], "mb": [53, 54], "compliant": [53, 54], "pariti": [53, 54, 62], "recover": 53, "consid": [53, 54], "stop": [53, 54, 62], "fix": [53, 54], "reopen": 53, "sys_clk": 53, "odiv2": 53, "ibufds_gte4": 53, "s_axib_wstrb": [53, 54], "hw_ctxt": 53, "dsc_pend": 53, "loop": [53, 54], "c2h_byp_out_pfch_tag": [53, 54], "mdma_c2h_pfch_byp_tag": [53, 54, 74], "0x140c": [53, 54, 74], "c2h_byp_in_st_csh_": [53, 54], "h2c_byp_out_rdi": 53, "h2c_byp_out_cidx": 53, "c2h_byp_out_cidx": 53, "c2h_byp_out_rdi": 53, "otherwis": 53, "tm_dsc_sts_rdy": [53, 70], "qsts_out_rdi": 53, "simplifi": 53, "programm": 53, "flip": 53, "flop": 53, "critic": [53, 78], "modif": [53, 67], "advers": 53, "effect": 53, "dialog": 53, "box": 53, "tab": [53, 96], "deeper": 53, "area": 53, "downsid": 53, "protect": [53, 66], "crc": 53, "becom": [53, 77], "2022": [53, 76], "explicitli": 53, "edg": 54, "connector": 54, "cip": 54, "necessari": 54, "vari": 54, "o": [54, 78, 92], "interact": 54, "indirect": 54, "excess": 54, "fill": 54, "prevent": 54, "itself": [54, 62], "retir": 54, "accept": [54, 67, 72, 79], "multidescriptor": 54, "metadata": [54, 55], "tuser": 54, "consequ": 54, "flag": 54, "written": [54, 62, 85], "sw_crdt": 54, "upfront": 54, "q0": 54, "q1": 54, "q2": 54, "mdma_c2h_pfch_byp_qid": 54, "0x1408": 54, "retriev": 54, "bypass_in": 54, "cam": 54, "store": [54, 65], "dma_s_axis_c2h_ctrl_qid": 54, "commun": 54, "prefetch_tag": 54, "sequenc": 54, "mrkr_req": 54, "although": 54, "color": [54, 62, 65], "moder": 54, "trigger_everi": 54, "trigger_us": 54, "trigger_user_count": 54, "en_lgcy_intr": 54, "qdma_glbl_glbl_interrupt_cfg": 54, "0x2c4": 54, "qdma_ctxt_selc_host_profil": 54, "qdma_ind_ctxt_cmd": 54, "soft_reset_n": [54, 70], "axi_aclk": 54, "hard": [54, 55, 57], "seper": 55, "intend": 55, "let": 55, "ye": [55, 91], "rc_tlast": 55, "figur": 55, "choos": 55, "s_axis_c2h_mti": 55, "mty": 55, "qdma_c2h_err_stat": [55, 64, 69], "0xaf0": 55, "erorr": 55, "qdma_hw_error_handl": [55, 71, 97], "mismatch": 55, "s_axis_c2h_ctrl": 55, "len": 55, "pg": 55, "h2c_byp_in_st_at": 55, "enable_at_port": 55, "consol": [55, 91], "de": 55, "thoroughli": 55, "pg302": [55, 56, 61, 62, 97], "sai": 55, "don": 55, "0x844": 55, "252": 55, "4pf": 55, "Then": 55, "pf0": [55, 66, 70], "pf1": 55, "jumbo": 55, "10k": 55, "upto": 55, "64k": 55, "break": 55, "chunk": 55, "4k": [55, 70], "cater": 55, "import": [56, 97], "consider": [56, 97], "pg344": [56, 61, 97], "2018": 57, "migrat": 57, "75234": 57, "71453": 57, "debugf": [57, 68], "000033516": [57, 70], "000033539": [57, 70], "000033502": 57, "000033503": 57, "2021": 57, "soft": 57, "33054": 57, "aim": 58, "conceptu": [58, 97], "grasp": 58, "aspect": [58, 73], "correl": 58, "purg": 58, "wrap": 58, "scenario": 58, "adaptivesupport": [58, 73], "collect": 60, "reiview": 60, "tm": 60, "desc": 60, "ozuhnosk7b_ljtfacfexow": 61, "pg347": [61, 74], "nhcc": 61, "3lukchyh9mzrlldra": 61, "jddzmasujf8xvoqyc4qd7w": 61, "bitp2ey_91kncztqp1myfa": 61, "qsts_out_data": 61, "0x2": 61, "workload": 62, "pre": 62, "opportunist": 62, "significantli": 62, "latenc": 62, "almost": 62, "qdma_dmap_sel_h2c_dsc_pidx": [62, 65], "qdma_dmap_sel_c2h_dsc_pidx": [62, 65], "tm_dsc_sts_valid": 62, "deassert": [62, 79], "categori": 62, "second": [62, 77], "functio": 62, "ram": 62, "abort": 62, "pull": [62, 77, 87], "awar": [62, 77], "gone": 62, "potenti": [62, 77], "head": 62, "sink": 62, "much": 62, "faster": 62, "suffer": 62, "situat": 62, "screenshost": 63, "qdma_glbl_err_stat": 64, "qdma_glbl_trq_err_st": 64, "qdma_ram_sbe_sts_a": 64, "qdma_ram_dbe_sts_a": 64, "qdma_glbl_dsc_err_st": 64, "qdma_glbl_dsc_err_log0": 64, "qdma_glbl_dsc_err_log1": 64, "qdma_glbl_dsc_dbg_dat0": 64, "qdma_glbl_dsc_dbg_dat1": 64, "qdma_glbl_dsc_dbg_ctl": 64, "qdma_glbl_dsc_err_log2": 64, "qdma_glbl_trq_err_log": 64, "qdma_qdma_h2c_mm_statu": 64, "qdma_h2c_mm_error_cod": 64, "qdma_h2c_mm_error_info": 64, "qdma_h2c_mm_debug": 64, "qdma_c2h_mm_statu": 64, "c2h_channel_completed_descriptor_count": 64, "qdma_c2h_mm_error_cod": 64, "qdma_c2h_mm_error_info": 64, "qdma_c2h_mm_debug": 64, "qdma_c2h_fatal_err_stat": 64, "qdma_c2h_first_err_qid": 64, "qdma_c2h_stat_s_axis_c2h_accept": [64, 67, 72], "qdma_c2h_stat_s_axis_wrb_accept": 64, "qdma_c2h_stat_desc_rsp_pkt_accept": [64, 67, 72], "qdma_c2h_stat_debug_dma_eng_0": 64, "qdma_c2h_stat_debug_dma_eng_1": 64, "qdma_c2h_stat_debug_dma_eng_2": 64, "qdma_c2h_stat_debug_dma_eng_3": 64, "qdma_c2h_stat_desc_rsp_drop_accept": [64, 72], "qdma_c2h_stat_desc_rsp_err_accept": 64, "qdma_h2c_err_stat": 64, "qdma_h2c_dbg_reg0": 64, "qdma_h2c_dbg_reg1": 64, "qdma_h2c_dbg_reg2": 64, "qdma_h2c_dbg_reg3": 64, "qdma_h2c_dbg_reg4": 64, "qdma_c2h_intr_h2c_req": 64, "qdma_c2h_intr_c2h_mm_req": 64, "qdma_c2h_intr_err_int_req": 64, "qdma_c2h_intr_c2h_st_req": 64, "qdma_c2h_intr_h2c_err_c2h_mm_msix_ack": 64, "qdma_c2h_intr_h2c_err_c2h_mm_msix_fail": 64, "qdma_c2h_intr_h2c_err_c2h_mm_msix_no_msix": 64, "qdma_c2h_intr_h2c_err_c2h_mm_ctxt_inv": 64, "qdma_c2h_intr_c2h_st_msix_ack": 64, "qdma_c2h_intr_c2h_st_msix_fail": 64, "qdma_c2h_intr_c2h_st_no_msix": 64, "qdma_c2h_intr_c2h_st_ctxt_inv": 64, "ctl": [65, 68], "dump": [65, 72, 74], "locat": [65, 77, 91], "containx": 65, "copi": 65, "dynam": 65, "2048": 65, "0x18004": 65, "0x18008": 65, "dmactl": [65, 68], "multip": 65, "aggregatoin": 65, "aggretatoin": 65, "informaton": 65, "vdm": 66, "csr": 66, "exted": 66, "none": 66, "user_trig": 66, "tear": 67, "local": [67, 78, 92], "feasibl": 67, "propag": 67, "determinist": 67, "tm_dsc_sts_vld": 67, "counter": 67, "0xa88": [67, 72], "qdma_c2h_stat_s_axis_cmpt_accept": [67, 72], "0xa8c": [67, 72], "0xa90": [67, 72], "s_axis_c2h_ctrl_has_cmpt": 67, "s_axis_c2h_cmpt_ctrl_cmpt_typ": 67, "qdma_usecas": 68, "qdma_design": 68, "distribut": 68, "usecas": 68, "desc_rsp_err": 69, "qdma_c2h_drop_len_mismatch": 69, "0xbb4": 69, "qdma_c2h_drop_desc_rsp_len": 69, "0xbb8": 69, "qdma_c2h_drop_qid_fifo_len": 69, "0xbbc": 69, "qdma_c2h_drop_payload_cnt": 69, "0xbb0": 69, "0xe38": 69, "c2h_packets_drop": 69, "0x088": 69, "tm_dsc_sts_error": [69, 70], "tm_dsc_sts_avl": 69, "s_axis_c2h_treadi": [69, 70], "72813": 70, "bar2": 70, "qdma_device_onlin": 70, "qdma_init": 70, "st_rx_msg_rdy": 70, "seem": 70, "bounderi": 70, "s_axis_c2h_cmpt_treadi": 70, "user_link_up": 70, "phy_readi": 70, "axis_c2h_status_drop": [71, 72, 97], "bigger": 72, "tell": 72, "axis_c2h_status_error": 72, "0xa80": 72, "0xbf4": 72, "axi_st": 72, "tm_dsc_sts_": 72, "q": 72, "0xb10": 72, "smaller": 72, "64byte": 72, "0xa94": 72, "userappl": 72, "qdma_c2h_stat_axis_pkg_cmp": 72, "cover": 73, "advis": 73, "confus": 73, "challeng": 73, "achiev": 73, "practic": 73, "ecosystem": 73, "000035142": 73, "agbmxdqps_4dpkxb2mlg": 74, "eq": 76, "pl_eq_bypass_phase23": 76, "vhdl": 76, "polar": 76, "unisim_v": 76, "librari": 76, "launch": 76, "script": [76, 77], "txp": 76, "txn": 76, "pipe_txdata": 76, "xilinxcedstor": [76, 90], "versal_cpm5_qdma_simulation_design": 76, "me": 76, "blob": 76, "readm": 76, "txt": 76, "veral": 76, "bmd": [76, 90, 91], "versal_cpm5_pcie_bmd_simulation_design": 76, "tutori": 76, "sw_manual": 76, "xilinx2020_2": 76, "ug937": 76, "stage": 77, "bank": 77, "aliv": 77, "float": 77, "obuft": 77, "mux": 77, "z": 77, "constant": 77, "unconfigur": 77, "pudc_b": 77, "pullup": [77, 87], "quad": [77, 91], "x2": 77, "x1": 77, "granular": [77, 91], "dual": [77, 90], "icap": 77, "65": 77, "especi": 77, "partit": 77, "NOT": 77, "design_switch": 77, "signifi": 77, "stage2": 77, "multiplex": 77, "bank65": 77, "stage1": 77, "cell": 77, "hd": 77, "get_cel": 77, "stage1cel": 77, "tandem_ip_pblock": 77, "stage1_main": 77, "term": 77, "stage1_config_io": 77, "stage1_io": 77, "pblock": 77, "create_pblock": 77, "stage1pblocknam": 77, "resize_pblock": 77, "get_pblock": 77, "stage1siterang": 77, "contain_rout": 77, "exclude_plac": 77, "add_cells_to_pblock": 77, "compress": 77, "current_design": 77, "override_persist": 77, "tandem_bitstream": 77, "cellnam": 77, "refclk_ibuf": 77, "sys_reset_n_ibuf": 77, "primit": 77, "special": 77, "attent": 77, "bscan": 77, "Be": 77, "hwicap": 77, "microblaz": 77, "mdm": 77, "opt_design": 77, "instanti": 77, "inadvert": 77, "ad": 77, "conflict": 77, "entireti": 77, "dbg_hub": 77, "opt_deisgn": 77, "opt_design_post": 77, "quiet": 77, "hierarch": 77, "primitive_typ": 77, "mcap": 77, "window": 77, "64761": 77, "350h": 77, "oppos": 77, "340h": 77, "recompil": 77, "discuss": [78, 85, 91], "wide": [78, 85, 91], "phy_link": 78, "negoti": 78, "pg213": [78, 79, 80, 83], "dw": 78, "completiontlp": 78, "By": 78, "disable_lane_revers": 78, "signific": 79, "ineffici": 79, "lead": 79, "advert": 79, "s_axis_cc_tvalid": 79, "nullifi": 79, "transmit": 79, "corrupt": 79, "s_axis_cc_tlast": 79, "s_axis_cc_treadi": 79, "cc": 79, "sampl": 79, "whenev": 79, "s_axis_cc_tdata": 79, "pace": 79, "transciev": 82, "coinfigur": 82, "expos": 82, "stuck": 82, "v1": 83, "pcie4_uscale_plu": 83, "v1_3": 83, "pcb": [85, 91], "ug863": [85, 91], "xtp546": [85, 91], "cgi": [85, 91], "bin": [85, 91], "ctdoc": [85, 91], "cid": [85, 91], "90f995d8": [85, 91], "c517": [85, 91], "4adc": [85, 91], "a95c": [85, 91], "13a8994d6618": [85, 91], "zip": [85, 91], "pg346": [85, 88], "theori": [85, 91], "thing": [85, 91, 97], "spec": [85, 91], "1218411": 85, "phy_rdi": 85, "am012": [85, 88], "cpm4_pcie0_attr___phy_rdi": 85, "cpm4_pcie0_attr___pl_eq_bypass_phase23": 85, "cpm4_pcie0_attr___pfx_bar0_control_0": 85, "cpm4_pcie0_attr___pfx_bar0_control_1": 85, "cpm4_pcie0_attr___pfx_bar0_control_2": 85, "cpm4_pcie0_attr___cfg_interrupt": 85, "xsdb": 85, "1221922": 85, "vmk180": 87, "vck190": 87, "es1": 87, "pdi": 87, "pmc": 87, "pmc_mio_37": 87, "gpio": 87, "strength": 87, "8ma": 87, "slew": 87, "ccix": 88, "184287255": 88, "technic": 88, "am011": 88, "trm": 88, "prime": [88, 95], "psg": [88, 95], "ai": [88, 95], "versal_cpm_qdma_ep_simulation_design": 90, "cpm5_qdma": 90, "cpm4_qdma": 90, "versal_cpm_pcie_bmd_ep_simulation_design": 90, "cpm5_bmd": 90, "cpm4_bmd": 90, "versal_cpm_pcie_debug": 90, "versal_cpm_tandem_pci": 90, "versal_cpm_bridge_rp_design": 90, "versal_cpm_qdma_ep_design": 90, "cpm4_qdma_perf": 90, "ctrl": 90, "cpm5_qdma_dual_ctrl": 90, "gen5x8": 90, "cpm5_qdma_g5x8_mm_perf": 90, "cpm5_qdma_mm_st": 90, "cpm5_qdma_st_onli": 90, "versal_cpm_pcie_pio_ep_design": 90, "cpm5_pcie_pio": 90, "000035901": 90, "cpm4_pcie_pio": 90, "versal_cpm_pcie_bmd_ep_design": 90, "cpm5_bmd_ep": 90, "cpm4_bmd_ep": 90, "versal_cpm_qdma_ep_design_partbas": 90, "cpm5_qdma_g5x8_dual_perf": 90, "cpm5_qdma_g5x8_st_perf": 90, "pg343": [91, 92, 95], "enter": 91, "thevers": 91, "bmd_pio_mod": 91, "pcie_versal_0": 91, "mio38": 91, "open": 91, "sue": 91, "insert_cip": 91, "major": 91, "went": 91, "wizard": 91, "cfg_function_statu": 92, "intx": 92, "cfg_negotiated_width": 92, "cfg_current_spe": 92, "cfg_local_error_out": 92, "replai": 92, "repli": 92, "rollov": 92, "sign": 96, "_support": 96, "doubl": 96, "brought": 96, "pciexpress": 97}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"global": [1, 61, 64], "signal": [1, 12, 61], "axi": [1, 61], "slave": [1, 12, 61], "interfac": [1, 12, 61, 80], "master": [1, 12, 61], "axi4": [1, 12, 61], "lite": [1, 12, 61], "control": 1, "bridg": [1, 5, 13, 61, 97], "pcie": [1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 38, 43, 77, 97], "gen3": 1, "msi": 1, "x": 1, "dma_bridg": 1, "subsystem": [1, 5, 13, 56, 58, 97], "mode": [1, 61, 74, 86], "interrupt": [1, 12, 18, 61, 64], "decod": 1, "regist": [1, 64], "phy": [1, 80], "status_control": 1, "root": [1, 43], "port": [1, 12, 43, 61, 80], "error": [1, 64, 72, 80], "fifo": 1, "read": [1, 12, 32, 61], "clock": [1, 19, 33], "diagram": 1, "ultrascal": [1, 81, 97], "devic": [1, 32, 40, 81], "endpoint": [1, 5, 38], "system": [1, 19, 33, 46], "reset": 1, "connect": 1, "gener": [3, 9, 10, 18, 19, 33, 38, 44, 48, 55, 70, 76, 77, 78, 85, 91, 97], "debug": [3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 18, 19, 22, 25, 33, 36, 38, 39, 48, 49, 50, 51, 57, 60, 62, 68, 70, 71, 73, 76, 77, 78, 79, 82, 83, 85, 87, 88, 91, 92, 95, 97], "checklist": [3, 9, 10, 18, 19, 33, 48, 70, 76, 77, 78, 85, 91], "gotcha": [4, 11, 62, 79, 92], "dma": [5, 12, 13, 32, 61], "pci": [5, 13, 86, 93, 97], "express": [5, 13, 86, 93, 97], "ip": [5, 13, 38, 56, 66], "issu": [6, 8, 14, 18, 19, 20, 21, 32, 33, 35, 38, 50, 73, 76, 77, 82, 87, 96], "tip": [6, 14, 25, 50, 77, 82, 87], "question": [6, 14, 19, 33, 50, 77, 82, 87], "document": [7, 15, 18, 22, 36, 45, 49, 51, 57, 76, 77, 83, 88, 95], "collater": [7, 15, 18, 22, 31, 36, 51, 57, 76, 77, 83, 88, 95], "us": [7, 15, 18, 22, 36, 51, 76, 77, 83, 88, 95], "link": [7, 15, 18, 19, 20, 22, 33, 34, 36, 38, 51, 76, 77, 80, 83, 88, 95], "specif": [8, 77, 96], "faq": [10, 55, 77, 78, 91], "top": 12, "level": 12, "h2c": [12, 61, 64], "channel": 12, "0": 12, "3": 12, "stream": [12, 61], "c2h": [12, 61, 64], "memori": [12, 61], "map": [12, 41, 61, 97], "address": [12, 41, 61], "write": [12, 61], "respons": [12, 61], "bypass": [12, 61, 74], "config": [12, 61], "statu": [12, 38, 61, 80], "configur": [12, 19, 33, 38, 61, 66, 80], "extend": [12, 61], "descript": [12, 61, 80], "manag": 12, "descriptor": [12, 61, 64, 80], "exampl": [12, 38, 76, 90], "flow": [12, 60, 61], "initi": 12, "setup": [12, 46], "For": 12, "transfer": 12, "summari": 12, "xdma": [13, 16, 97], "driver": [13, 56, 68], "perform": [16, 73], "common": [19, 32, 33], "train": [19, 20, 33, 34, 38, 80], "reason": [19, 33], "regress": [19, 33], "design": [19, 33, 38, 42, 43, 53, 54, 76, 90], "implement": [19, 33], "fail": [19, 33], "behavior": [19, 33], "capabl": [19, 33], "si": [19, 33], "info": [19, 33], "answer": [21, 26, 35, 77], "applic": [24, 27], "note": [24, 27, 28], "techniqu": [25, 38], "blog": 25, "lfar": 26, "long": 26, "form": 26, "record": 26, "releas": 28, "video": 29, "white": 30, "paper": 30, "enumer": [32, 38], "show": 32, "lspci": 32, "miss": 32, "data": [32, 61], "certain": 32, "request": [32, 80], "payload": 32, "tlp": 32, "unsupport": 32, "complet": [32, 61, 80], "timeout": 32, "receiv": 32, "overflow": 32, "first": 38, "thing": 38, "check": [38, 65], "how": 38, "ltssm": [38, 80], "wa": 38, "successfulli": 38, "detect": [38, 72], "when": 38, "fpga": 38, "i": [38, 67, 69], "after": 38, "block": [38, 81, 93], "from": [38, 53, 54], "tree": 40, "structur": [40, 61], "ecam": 41, "hardwar": [42, 61], "creation": 42, "versal": [43, 76, 86, 90, 93, 97], "cpm4": 43, "linux": 43, "petalinux": 44, "imag": 44, "support": 45, "testabl": 46, "tactic": 47, "patch": 47, "requir": 47, "resourc": [49, 68], "import": [53, 54], "consider": [53, 54], "pg302": 53, "pg344": 54, "qdma": [56, 58, 59, 60, 61, 68, 71, 73, 97], "pciexpress": [56, 81], "deciph": 58, "pidx": [58, 65, 72], "updat": [58, 65, 72], "mechan": 58, "cpm5": [58, 76], "conceptu": 59, "topic": [59, 71], "st": [61, 64], "cmp": 61, "vdm": 61, "flr": 61, "input": 61, "mm": [61, 64], "cach": 61, "output": 61, "credit": 61, "tm": 61, "user": 61, "queue": 61, "context": 61, "program": 61, "fetch": 61, "softwar": 61, "definit": 61, "prefetch": 61, "intern": 61, "handl": 61, "except": 61, "event": 61, "simpl": [61, 74], "writeback": 61, "dmesg": 63, "log": 63, "ram": 64, "singl": 64, "bit": 64, "doubl": 64, "engin": 64, "target": 64, "access": 64, "In": 64, "direct": 64, "paramet": 66, "cmpt": 67, "packet": [67, 74], "sent": 67, "axis_c2h_status_drop": 69, "assert": 69, "qdma_hw_error_handl": 72, "invalid": 72, "being": 74, "drop": 74, "simul": 76, "acap": [76, 86, 93, 97], "tandem": 77, "miscellan": 77, "negoti": 80, "width": 80, "speed": 80, "function": 80, "local": 80, "field": 80, "byte": 80, "count": 80, "dword": 80, "code": 80, "integr": [81, 93], "cpm": [86, 90], "adapt": 90, "soc": 90, "k": 97, "embed": 97}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 56}}) \ No newline at end of file diff --git a/pciedebug/source/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst b/pciedebug/source/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst index 3ea0f3ec..742ae877 100644 --- a/pciedebug/source/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst +++ b/pciedebug/source/docs/QDMA_Subsystem_for_PCIExpress_IP_Driver/PG344_important_design_considerations.rst @@ -259,3 +259,123 @@ Important Design Considerations from PG344 - When prefetch mode is enabled, the user application cannot send credits as input in QDMA Descriptor Credit input ports. - In cache bypass mode, prefetch tag is maintained by the IP internally. Signal c2h_byp_out_pfch_tag[6:0] should be looped back as an input c2h_byp_in_st_csh_pfch_tag[6:0]. The prefetch tag points to the cam that stores the active queues in the prefetch engine. - No sequence is required between payload and completion packets. + +.. note:: + :class: highlight-box + + **Link**: `Handling Descriptors With Errors `_ + + - For a queue in bypass mode, it is the responsibility of the user logic to not issue a batch of descriptors with an error descriptor. Instead, it must send just one descriptor with error input asserted on the C2H Stream bypass-in interface and set the SOP, EOP, no_dma signal, and sdi or mrkr_req signal to make the C2H Stream Engine send a writeback to Host. + +.. note:: + :class: highlight-box + + **Link**: `Completion Engine `_ + + - Although not a requirement, a CMPT is typically used with a C2H queue. + - The user-defined portion of the CMPT packet typically needs to specify the length of the data packet transferred and whether or not descriptors were consumed as a result of the data packet transfer. + - Maximum buffer size register 0xB50 bits[31:26] is programmed to 0 (default value). This value might result in an overflow depending on the simulator or the synthesis tool used. To avoid overflow, set 0xB50 bits[31:26] to maximum value of 63. + +.. note:: + :class: highlight-box + + **Link**: `Completion Context Structure `_ + + - baddr4_low: Since the minimum alignment supported is 64B in this case, this field must be 0. + - pidx: Completion Ring Producer Index. This is a field written by the hardware. The software must initialize it to 0 and then treat it as read-only. Color bit to be used on Completion. + +.. note:: + :class: highlight-box + + **Link**: `Completion Status Structure `_ + + - In order to make the QDMA write Completion Status to the Completion ring, Completion Status must be enabled in the Completion context. + +.. note:: + :class: highlight-box + + **Link**: `Completion Status/Interrupt Moderation `_ + + - When in TRIGGER_EVERY, TRIGGER_USER, and TRIGGER_USER_COUNT mode, the software must read all the Completion entries in the Completion ring as indicated by an interrupt (or a Completion Status write). + +.. note:: + :class: highlight-box + + **Link**: `Address Translation `_ + + - When this option is selected, one full 64-bit BAR space is given for slave data transfer. You must set up any address translation if needed. If No Address Translation is not selected, DMA will do address translation. + +.. note:: + :class: highlight-box + + **Link**: `Slave Address Translation Examples `_ + + - The slave bridge does not support narrow burst AXI transfers. + +.. note:: + :class: highlight-box + + **Link**: `Legacy Interrupt `_ + + - To enable the legacy interrupt, the software needs to set the en_lgcy_intr bit in the register QDMA_GLBL_GLBL_INTERRUPT_CFG (0x2C4). + +.. note:: + :class: highlight-box + + **Link**: `Function Map Table `_ + + - Along with FMAP table programming in the IP, you must program the FMAP table in the Mailbox IP. This is needed for function level reset (FLR) procedure. + +.. note:: + :class: highlight-box + + **Link**: `Context Programming `_ + + - A host profile table context needs to be programmed before any context settings. + +.. note:: + :class: highlight-box + + **Link**: `Queue Setup `_ + + - If interrupts/status writes are desired (enabled in the Completion Context), an initial Completion CIDX update is required to send the hardware into a state where it is sensitive to trigger conditions. This initial CIDX update is required, because when out of reset, the hardware initializes into an unarmed state. + +.. note:: + :class: highlight-box + + **Link**: `Host Profile `_ + + - Host profile must be programmed to represent root port host. Host profile can be programmed through context programming. Select QDMA_CTXT_SELC_HOST_PROFILE (4'hA) in QDMA_IND_CTXT_CMD. + - H2C AXI4-MM steering bit and C2H AXI4-MM steering bit should be set to 0s. If not, DMA AXI4-MM transfers do not work. For most cases, host profile context structure is all 0s, and host profile must still be programmed to represent a host. + +.. note:: + :class: highlight-box + + **Link**: `Resets `_ + + - Reset the QDMA logic through the soft_reset_n port. This port needs to be held in reset for a minimum of 100 clock cycles (axi_aclk cycles). This does not reset PCIe hard block. It resets only the DMA portion of logic. This reset can be asserted if there is a DMA hang or some error condition. + - The use cases that prompt the use of soft_reset include: + - DMA hangs and user is not getting proper values. + - DMA transfers have errors, but the PCIe links are good. DMA records some asynchronous error. + - After soft_reset, you must reinitialize the queues and program all queue context. + +.. note:: + :class: highlight-box + + **Link**: `Expansion ROM `_ + + - The maximum size for the Expansion ROM BAR should be no larger than 16 MB. Selecting an address space larger than 16 MB can result in a non-compliant core. + +.. note:: + :class: highlight-box + + **Link**: `Data Path Errors `_ + + - Any DMA during and after the parity error should be considered invalid. If there is a parity error and transfer hangs or stops, the DMA will log the error. You must investigate and fix the parity issues. + +.. note:: + :class: highlight-box + + **Link**: `AXI Bridge Slave Ports `_ + + - The valid data identified by s_axib_wstrb must be continuous from the first byte enable to the last byte enable.