AXI4 to/from AXI4-Stream Scatter-Gather DMA
The AXI4-SGDMA IP core implements a Host-to-Peripheral (H2P), or a Peripheral-to-Host (P2H) Direct Memory Access (DMA) engine, wh…
Overview
The AXI4-SGDMA IP core implements a Host-to-Peripheral (H2P), or a Peripheral-to-Host (P2H) Direct Memory Access (DMA) engine, which interfaces the host system with an AXI4 Memory-Mapped master port and the peripheral with either a slave or a master AXI4-Stream port.
The core operates in either Scatter-Gather (SG) Mode, reading descriptors from a run-time defined memory mapped-location, or in Direct Mode, transferring data according to a descriptor stored in local registers. In Scatter-Gather mode, the descriptors are accessed from a linear or cyclic (ring) buffer. This descriptors buffer can be stored in any memory-mapped location, allowing for example data to be transferred to/from a DRAM and descriptors being stored either in the same DRAM or in separate on-chip SRAM.
The core is highly configurable both at synthesis and at run time, allowing fine-tuning of its behavior and silicon footprint accord-ing to the user’s requirements. Synthesis time configuration options allow adjusting not only interfaces parameters (e.g. bus widths, unaligned access support), but also the descriptors format, as well as the reset values for the CSRs. Two descriptor for-mats are allowed, one is 32 bytes wide and supports 64-bit address offsets and up to 2GBytes data block transfers per descriptor, and the second, a more compact descriptor format supports 32bit address offsets and 64kB data block transfer per descriptor. The configurable CSR reset values enable usage of the core without initialization right after reset and make it suitable for cases where data transfer on boot is required without invoking the host processor. At run-time, the type and location of the descriptor list, the interrupt triggers, buffers watermark levels, and the core’s treatment of end-of-file conditions are all under software control.
Designed for ease of integration, the AXI4-SGDMA imposes no unnecessary restrictions to the system using it. Its 32-bit or 64-bit AXI4 Memory Mapped interface supports fixed-size and incrementing bursts, as well as unaligned data accesses. The data-bus width of the AXI4-stream interfaces is synthesis-time configurable and can be 32 up to 512 bits. DMA transfers can be initiated and monitored by software using the core’s Control and Status Registers, or by a peripheral via a dedicated handshaking “start-busy-done” interface. The latter allows data transfers to occur without waking up the host CPU, a feature especially useful for low-power operation. Finally, each of the Host, Peripheral, and CSR interfaces operates on an independent clock domain, and the core implements clean CDC boundaries.
The AXI4-SGDMA core is rigorously verified, LINT-clean and scan-ready. It is available in synthesizable Verilog and FPGA netlist forms and includes everything required for successful implementation, including a UVM testbench, simulation, and synthesis scripts and comprehensive user documentation.
Key features
Memory Mapped to Stream & Stream to Memory Mapped DMA
- Scatter-Gather Mode
- Descriptors on any memory-mapped location, independent of data buffers
- Linear or cyclic (ring) descriptor list
- Direct Transfer Mode
- Descriptor on CSR
- Software and/or Hardware Triggered Transfers
- Standalone & Independent Host-to-Peripheral and Peripheral-to-Host DMA channel modules
Interfaces
- Host Data Interface
- AXI4 Master port used to access data, and descriptors
- Fixed and incrementing bursts
- Unaligned accesses.
- Synthesis-time configurable data-bus width (32 or 64 bits) and address bus width
- Peripheral Data Interface
- AXI4-Stream slave port for Host-to-Peripheral, and master port for Peripheral-to-Host
- Synthesis-time configurable data-bus width (32 to 512 bits)
- TLAST behavior controlled by descriptors for Host-to-Peripheral channel
- Peripheral-to-Host channel reports TLAST assertions and optionally updates descriptor
- CSR Interface
- AXI4-Lite or optionally APB3 Slave port
- Provides access to control and status registers
Run-Time Programming Options
- Max burst Size for the Host bus
- Descriptors list type, base address, size, and Head pointer
- End-of-file conditions treatment
Synthesis-Time Configuration Options
- Reset values for CSRs
- Descriptor format (16 or 32 bytes)
- FIFO size
- Unaligned access support, data-bus and address-bus widths
Block Diagram
Applications
- The AXI4-SGDMA core can be used in any SoC integrating streaming-capable peripherals that need to receive input or store outputs in the system memory. Examples include compression, video processing, or packet processing engines. The core is especially suited as a companion to CAST’s data compression, video, jpeg, or lossless image codecs, IP stacks, or cryptography cores.
What’s Included?
- Synthesizable RTL or FPGA netlist
- Testbench & sample test cases
- UVM-based verification environment (optional)
- Simulation & synthesis scripts
- Documentation
Specifications
Identity
Files
Note: some files may require an NDA depending on provider policy.
Provider
Learn more about Bus Fabric IP core
Moving to AMBA® 5? Your AMBA® 4 IP Can Still Come With You
A Time Scaling Theory for Multi-Layer Electronic Systems
CSoC Platform / Digital Subsystem IP for IoT
Arteris loses its brain, continues walking
Secure Mobile Payments - Protecting display data in TrustZone-enabled SoCs with the Evatronix PANTA Family of Display Processors
Frequently asked questions about On-Chip Bus IP cores
What is AXI4 to/from AXI4-Stream Scatter-Gather DMA?
AXI4 to/from AXI4-Stream Scatter-Gather DMA is a Bus Fabric IP core from CAST listed on Semi IP Hub.
How should engineers evaluate this Bus Fabric?
Engineers should review the overview, key features, supported foundries and nodes, maturity, deliverables, and provider information before shortlisting this Bus Fabric IP.
Can this semiconductor IP be compared with similar products?
Yes. Buyers can compare this product with similar semiconductor IP cores or IP families based on category, provider, process options, and structured technical specifications.