Robuta

https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Errors Errors - Errors - 2.0 English - PG344 errorsenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/QDMA_VF_MAILBOX-0x5000?contentId=p7WZPMcBTp0T75yBNURb6Q QDMA_VF_MAILBOX (0x5000) - QDMA_VF_MAILBOX (0x5000) - 2.0 English - PG344 Table 1. QDMA_VF_MAILBOX (0x05000) Register Space Registers (Address) Address Description Function Status Register (0x5000) 0x5000 Status register bits... qdmavfmailboxenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Unsupported-Request Unsupported Request - Unsupported Request - 1.0 English - PG344 A device for PCIe might not be capable of satisfying a specific read request. For example, if the read request targets an unsupported address for PCIe, the... unsupportedrequestenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/User-Interrupts?contentId=q2FTHlgYlDGhA95y3SBUHA User Interrupts - User Interrupts - 2.0 English - PG344 The user logic must hold usr_irq_req active-High even after receiving usr_irq_ack (acks) to keep the interrupt pending register asserted. This enables the... userinterruptsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/MSI-X-Interrupts?contentId=vk2O_rhIMJvrpRkZEKClrg MSI-X Interrupts - MSI-X Interrupts - 1.0 English - PG344 The DMA supports up to 32 different interrupt source for MSI-X, which consists of a maximum of 16 usable DMA interrupt vectors and a maximum of 16 usable user... msixinterruptsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/C2H_COMPLETION_DATA_3-0x03C C2H_COMPLETION_DATA_3 (0x03C) - C2H_COMPLETION_DATA_3 (0x03C) - 1.0 English - PG344 Table 1. C2H_COMPLETION_DATA_3 (0x03C) Bit Default Access Type Field Description [31:0] 0 NA AXI-ST C2H Completion Data [127:96] completiondataenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/PCIe-BARs-Tab?contentId=XsGOSJ7CxQXlA8NrU0BNHA PCIe BARs Tab - PCIe BARs Tab - 1.0 English - PG344 The PCIe BARs tab is shown in the following figure. Figure 1. PCIe BARs Tab Base Address Register Overview In Endpoint configuration, the core supports up to... pciebarstabenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/PCIe-DMA-Tab?contentId=gB_RBpJ_FjiMRrxUmZZ92w PCIe DMA Tab - PCIe DMA Tab - 1.0 English - PG344 The PCIe DMA tab is shown in the following figure. Figure 1. PCIe DMA Tab Number of DMA Read Channels Available selection is from 1 to 4. Number of DMA Write... pciedmatabenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Design-Flow-Steps?contentId=xI_QEgnE1w7Ei6rvno8vZg Design Flow Steps - Design Flow Steps - 2.0 English - PG344 This section describes customizing and generating the subsystem, constraining the subsystem, and the simulation, synthesis, and implementation steps that are... design flowstepsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/C2H-Stream-Engine?contentId=tTBJWFrt986zSGOekAaY9g C2H Stream Engine - C2H Stream Engine - 1.0 English - PG344 The C2H Stream Engine DMA writes the stream packets to the host memory into the descriptor provided by the host driver through the C2H descriptor queue. The... streamengineenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/DMA-Register-space DMA Register space - DMA Register space - 2.0 English - PG344 DMA queue space registers can be accessed through the AXI4-Lite Slave interface. QDMA Queue space PF register addresses and QDMA Queue space VF register... dmaregisterspaceenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Port-Descriptions Port Descriptions - Port Descriptions - 1.0 English - PG344 Note: The Versal ACAP DMA and Bridge Subsystem for PCIe IP is implemented in a modular IP architecture. This means that GTs, PCIe IP, and the subsystem IP are... portdescriptionsenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Host-Profile?contentId=5clmlnnixBGDUMO6M42B1Q Host Profile - Host Profile - 2.0 English - PG344 Host profile must be programmed to represent root port host. Host profile can be programmed through context programming. Select QDMA_CTXT_SELC_HOST_PROFILE... host profileenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/AXI-MM-Transfer-For-H2C?contentId=BQr~Ov5sgM2yE4EUJsdWXg AXI-MM Transfer For H2C - AXI-MM Transfer For H2C - 2.0 English - PG344 The following figure shows a basic flow chart that explains the data transfer for H2C. The flow chart color coding is as follows: Green is the application... aximmtransferenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/QDMA-Subsystem-Limitations?contentId=Pz7fVO5TH_HOfssZyjdoSg QDMA Subsystem Limitations - QDMA Subsystem Limitations - 1.0 English - PG344 The limitations of the QDMA are as follows: The DMA supports a maximum of 256 Queues on any VF function. Slave Bridge AXI does not support Narrow Burst... qdmasubsystemlimitationsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/H2C-Stream-Data-Aligner?contentId=3Ibly1K4uh1B9AnVKugRmQ H2C Stream Data Aligner - H2C Stream Data Aligner - 1.0 English - PG344 The H2C engine has a data aligner that aligns the data to zero Bytes (0B) boundary before issuing it to the user logic. This allows the start address of a... stream dataalignerenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Implementation-Design-Overview?contentId=m1F7XB3F7mQHtSe4z_MGQQ Implementation Design Overview - Implementation Design Overview - 1.0 English - PG344 For implementation design, the AXI Block RAM controller can be used as a scratch pad memory to write and read to Block RAM locations. design overviewimplementationenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/IRQ-Block-User-Vector-Number-0x84?contentId=bsuVsFcpog8DI8UQbSd9uA IRQ Block User Vector Number (0x84) - IRQ Block User Vector Number (0x84) - 1.0 English - PG344 If MSI is enabled, this register specifies the MSI or MSI-X vector number of the MSI. In legacy interrupts, only the 2 LSB of each field should be used to map... block userirqvectornumberenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/RTL-Version-Register-0x22414 RTL Version Register (0x22414) - RTL Version Register (0x22414) - 1.0 English - PG344 Table 1. RTL Version Register (0x22414) Bit Default Access Type Field Description [31:16] 0x1fd3 RO QDMA ID [15:0] 0 RO Vivado versions 0x10: Vivado version... rtl versionregisterenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/GT-Quad-Locations GT Quad Locations - GT Quad Locations - 2.0 English - PG344 The following table identifies the GT Quad(s) that can be used for each PCIe controller location. The Quad shown in bold is the most adjacent GT Quad for each... gtquadlocationsenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/MSI-X-Interrupts?contentId=YlsDit~2uczC2_LAOFiJDA MSI-X Interrupts - MSI-X Interrupts - 2.0 English - PG344 The DMA supports up to 32 different interrupt source for MSI-X, which consists of a maximum of 16 usable DMA interrupt vectors and a maximum of 16 usable user... msixinterruptsenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Documentation Documentation - Documentation - 2.0 English - PG344 This product guide is the main document associated with the subsystem. This guide, along with documentation related to all products that aid in the design... documentationenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/C2H-Channel-Control-0x08?contentId=Uc0blOkjth2_TmlOXeECMg C2H Channel Control (0x08) - C2H Channel Control (0x08) - 2.0 English - PG344 Table 1. C2H Channel Control (0x08) Bit Index Default Access Type Description W1S Control Bit descriptions are the same as in C2H Channel Control (0x04). channel controlenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/AXI4-Stream-Status-Ports?contentId=Ze1~SqG~027i8tk2znvxZw AXI4-Stream Status Ports - AXI4-Stream Status Ports - 1.0 English - PG344 Table 1. AXI-ST C2H Status Port Descriptions Port Name I/O Description axis_c2h_status_valid O Valid per descriptor. axis_c2h_status_qid [10:0] O QID of the... streamstatusportsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/XDMA-Subsystem?contentId=T4LTEyyRk63bCNxuY8BwQw XDMA Subsystem - XDMA Subsystem - 1.0 English - PG344 Four host-to-card (H2C/Read) data channels Four card-to-host (C2H/Write) data channels Per channel descriptor bypass for custom descriptor creation... subsystemenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Modular-IP-Architecture?contentId=ENfnaJhBzOa_mmr2MLQhEA Modular IP Architecture - Modular IP Architecture - 1.0 English - PG344 The XDMA Subsystem is packaged in what is called a modular IP architecture. Modular IP architecture refers to the programmable logic integrated block for PCIe... modulariparchitectureenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Errors?contentId=E7H2NJeD0aMfYraHuRXgWw Errors - Errors - 1.0 English - PG344 errorsenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Application-Software-Development?contentId=ikJy3HsX0CmxPXqH00KUyQ Application Software Development - Application Software Development - 2.0 English - PG344 This section provides details about the Linux device driver that is provided with the core. application softwaredevelopmentenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/QDMA-PF-Address-Register-Space QDMA PF Address Register Space - QDMA PF Address Register Space - 1.0 English - PG344 All the physical function (PF) registers are listed in the qdma_v4_0_pf_registers.csv available in the Register Reference File. Tip: When you generate the IP... qdmapfaddressregisterspace https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/PCIe-Block-Interface?contentId=H8B36pvITsZybntnGXmrdg PCIe Block Interface - PCIe Block Interface - 1.0 English - PG344 pcieblockinterfaceenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/AXI4-Memory-Mapped-C2H-Flow?contentId=WfbURc6YkgeW2AGqCiQwLQ AXI4 Memory Mapped C2H Flow - AXI4 Memory Mapped C2H Flow - 1.0 English - PG344 Figure 1. AXI4 Memory Mapped Card to Host (C2H) Flow Diagram memorymappedflowenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/AXI4-Stream-C2H-Flow?contentId=Qcwq1m6lOzW9KhbnoLMp_Q AXI4-Stream C2H Flow - AXI4-Stream C2H Flow - 2.0 English - PG344 Figure 1. AXI4-Stream C2H Flow Diagram streamflowenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Expansion-ROM?contentId=VyRlA5KlQygcODrErVLFLQ Expansion ROM - Expansion ROM - 2.0 English - PG344 If selected, the Expansion ROM is activated and can be a value from 2 KB to 4 GB. According to the PCI Local Bus Specification ( PCI-SIG Specifications... expansionromenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Port-Descriptions Port Descriptions - Port Descriptions - 2.0 English - PG344 Note: The AMD Versal adaptive SoC DMA and Bridge Subsystem for PCIe IP is implemented in a modular IP architecture. This means that GTs, PCIe IP, and the... portdescriptionsenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/QDMA-Subsystem-Limitations QDMA Subsystem Limitations - QDMA Subsystem Limitations - 2.0 English - PG344 The limitations of the QDMA are as follows: The DMA supports a maximum of 256 Queues on any VF function. Slave Bridge AXI does not support Narrow Burst... qdmasubsystemlimitationsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/XDMA-Operations?contentId=aHWf8KYNJ6O3lqZzfY7R9w XDMA Operations - XDMA Operations - 1.0 English - PG344 operationsenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/IRQ-Block-User-Vector-Number-0x88 IRQ Block User Vector Number (0x88) - IRQ Block User Vector Number (0x88) - 1.0 English - PG344 If MSI is enabled, this register specifies the MSI or MSI-X vector number of the MSI. In legacy interrupts only the 2 LSB of each field should be used to map... block userirqvectornumberenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/USER_INTERRUPT-0x094?contentId=8_4M5MsryX6iD5x1LGigaw USER_INTERRUPT (0x094) - USER_INTERRUPT (0x094) - 1.0 English - PG344 Table 1. User Interrupt (0x094) Bit Default Access Type Field Description [31:20] 0 NA Reserved [19:12] 0 RW usr_irq_in_fun User interrupt function number... userinterruptenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Port-ID?contentId=l4dcSfFZ~w0O3yK6g4uu1g Port ID - Port ID - 1.0 English - PG344 Port ID is the categorization of some queues on the FPGA side. When the DMA is shared by more than one user application, the port ID provides indirection to... portidenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Output-Logging?contentId=TNNBXhOL4OrJKHYzDrNumQ Output Logging - Output Logging - 2.0 English - PG344 The simulation process creates three output log files. They are tx.dat, rx.dat, and error.dat. The rx.dat and tx.dat files each contain a detailed record of... outputloggingenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Verilog-Flow?contentId=IOOK5cwV~pu9Td9zbOKCqg Verilog Flow - Verilog Flow - 1.0 English - PG344 The model provides a mechanism for outputting the simulation waveform to a file using the +dump_all command line parameter. verilogflowenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/C2H_COMPLETION_DATA_3-0x03C?contentId=qLncTVs8MM4ah9B8axFtzw C2H_COMPLETION_DATA_3 (0x03C) - C2H_COMPLETION_DATA_3 (0x03C) - 1.0 English - PG344 Table 1. C2H_COMPLETION_DATA_3 (0x03C) Bit Default Access Type Field Description [31:0] 0 NA AXI-ST C2H Completion Data [127:96] completiondataenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/BDF-Table?contentId=0qoywK2D7mjq4mvtyqL_TA BDF Table - BDF Table - 2.0 English - PG344 Address translations for AXI address is done based on BDF table programming (0x2420 to 0x2434). These BDF table entries can be programmed through the AXI Slave... bdftableenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/QDMA-Global-Ports?contentId=HgVHj2VNkaEFRWfYXfL5HQ QDMA Global Ports - QDMA Global Ports - 2.0 English - PG344 Table 1. QDMA Global Port Descriptions Port Name I/O Description sys_clk I Should be driven by the ODIV2 port of reference clock IBUFDS_GTE4. See the Versal... global portsqdmaenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/IRQ-Block-User-Vector-Number-0x8C?contentId=DrgD0Gis9vj8JVS1yN3O4w IRQ Block User Vector Number (0x8C) - IRQ Block User Vector Number (0x8C) - 2.0 English - PG344 If MSI is enabled, this register specifies the MSI or MSI-X vector number of the MSI. In legacy interrupts only the 2 LSB of each field should be used to map... block userirqvectornumberenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Completion-Timer?contentId=8~eWs4coctIiNxuG~1nYxw Completion Timer - Completion Timer - 2.0 English - PG344 The Completion Timer engine supports the timer trigger mode in the Completion context. It supports 2048 queues, and each queue has its own timer. When the... completiontimerenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Legacy-Interrupt?contentId=wamgRMEALhEDnbxHGiDriQ Legacy Interrupt - Legacy Interrupt - 2.0 English - PG344 The QDMA supports the legacy interrupt for physical function, and it is expected that the single queue will be associated with interrupt. To enable the legacy... legacyinterruptenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Address-Alignment Address Alignment - Address Alignment - 2.0 English - PG344 Table 1. Address Alignment Interface Type Datapath Width Address Restriction AXI4 MM 64, 128, 256, 512 None AXI4-Stream 64, 128, 256, 512 None AXI4 MM fixed... addressalignmentenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Interrupt-Module?contentId=jyoU33Xo4rmVoT2JMr1WCQ Interrupt Module - Interrupt Module - 1.0 English - PG344 The IRQ module aggregates interrupts from various sources. The interrupt sources are queue-based interrupts, user interrupts and error interrupts. Queue-based... interruptmoduleenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/C2H-Channel-Control-0x04?contentId=Gbu9G_2S4Zu0Dp1V2nV7sQ C2H Channel Control (0x04) - C2H Channel Control (0x04) - 1.0 English - PG344 Table 1. C2H Channel Control (0x04) Bit Index Default Access Type Description 31:28 Reserved 27 0x0 RW Disables the metadata writeback for C2H AXI4-Stream. No... channel controlenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Interrupt-Flow?contentId=hrZT4OD9xqB4mixcm7hLjw Interrupt Flow - Interrupt Flow - 1.0 English - PG344 Figure 1. Interrupt Flow interruptflowenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Unsupported-Request?contentId=a_hyBndx3cNMti7ni8L3vA Unsupported Request - Unsupported Request - 1.0 English - PG344 A device for PCIe might not be capable of satisfying a specific read request. For example, if the read request targets an unsupported address for PCIe, the... unsupportedrequestenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Error-Interrupt Error Interrupt - Error Interrupt - 2.0 English - PG344 There are Leaf Error Aggregators in different places. They log the errors and propagate the errors to the Central Error Aggregator. Each Leaf Error Aggregator... errorinterruptenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/QDMA_TRQ_MSIX_VF-0x4000?contentId=RcqCRzmGP4Q80EkVSt531g QDMA_TRQ_MSIX_VF (0x4000) - QDMA_TRQ_MSIX_VF (0x4000) - 1.0 English - PG344 VF functions can access the MSIX table with offset (0x0000) from that function. The description for this register space is the same as QDMA_TRQ_MSIX (0x30000). qdmatrqmsixvfenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Completion-Context-Structure?contentId=s7lH0Nw9hCCPBNW~CHkZkw Completion Context Structure - Completion Context Structure - 1.0 English - PG344 The completion context is used by the Completion Engine. Table 1. Completion Context Structure Definition Bit Bit Width Field Name Description [256:183] 17... context structurecompletionenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/Config-Block-BusDev-0x04 Config Block BusDev (0x04) - Config Block BusDev (0x04) - 1.0 English - PG344 Table 1. Config Block BusDev (0x04) Bit Index Default Access Type Description [15:0] PCIe IP RO bus_dev Bus, device, and function configblockenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/PCIe-RQ/RC?contentId=3Fo0EXl1wE~aTs_bx5BRvQ PCIe RQ/RC - PCIe RQ/RC - 1.0 English - PG344 The PCIe Requester Request (RQ)/Requester Completion (RC) interface generates PCIeTLPs on the RQ bus and processes PCIe Completion TLPs from the RC bus. This... pcierqrcenglish https://docs.amd.com/r/en-US/pg344-pcie-dma-versal/Descriptor-Context Descriptor Context - Descriptor Context - 2.0 English - PG344 The Descriptor Engine stores per queue configuration, status and control information in descriptor context that can be stored in block RAM or UltraRAM, and the... descriptorcontextenglish https://docs.amd.com/r/1.0-English/pg344-pcie-dma-versal/AXI4-Memory-Mapped-H2C-Flow?contentId=ZGJ5IbnRZ85lsFmBtvESyQ AXI4 Memory Mapped H2C Flow - AXI4 Memory Mapped H2C Flow - 1.0 English - PG344 Figure 1. AXI4 Memory Mapped Host to Card (H2C) Flow Diagram memorymappedflowenglish