Vendor: Digital Blocks, Inc. Category: DMA

Fixed-Channel Multi-Channel DMA Controller

Scatter-Gather | AMBA AXI4 | 2, 4, 8 or 16 Channels

Overview

The Digital Blocks DB-DMAC-MCn-AXI4 SystemVerilog RTL IP Core is a Scatter-Gather (SG) Direct Memory Access (DMA) Controller for AMBA AXI4 systems with a fixed number of independent DMA Channels, 2, 4, 8 or 16 (MC2, MC4, MC8, MC16), and a DMA data path of 64, 128 or 256 bits. It is the fixed channel member of the DB-DMAC-MC-AMBA family, at a lower license cost: the data engine, register model, descriptor format and drivers of the configurable DB-DMAC-MCn-AXI4 and the high-throughput DB-DMAC MCn-AXI4-HT.

Each channel runs linked lists of descriptor nodes with 64-bit addresses, any byte alignment and up to 16 MB per node, with read and write bursts of 4, 8, 16 or a programmed 1 to 256 beats and up to 16 requests outstanding. One AXI4 Manager port carries the descriptor fetches and the DMA data of every channel. Measured at 128 bits, two channels use 86.7 % of the bus and one channel with programmed 32-beat bursts 85.3 %.

Key features

AXI4 Data Engine 

  • Programmable bursts: read and write bursts of 4, 8 or 16 beats, or a programmed 1 to 256 beats per channel (MCn MB-AXI4); INCR or FIXED addressing 
  • Outstanding requests: 1, 2, 4, 8 or 16 reads and writes outstanding per channel, bounded by the per-channel data  FIFO (see the TRM) 
  • Data FIFO: 256 words of the data width per channel, with a byte realigner between the read and the write side 
  • Round-robin channel arbitration with an O(log N) parallel-prefix select on each AXI4 Manager; per-channel ARQOS / AWQOS, descriptor fetches at ARQOS 0xF 

Descriptor Processing 

  • Descriptor nodes are fetched over m_axi, one 256-bit read per node (4 beats at 64 bits, 1 beat at 256 bits) 
  • Per-channel pre-fetch of up to 32 descriptor nodes ahead of execution 
  • Descriptor list start / branch (DLB) and re-start (DLR) at any time 

Scatter-Gather and Transfer Control 

  • Linked lists of 32-byte descriptor nodes: 64-bit source, destination and next address, 24-bit byte length (1 byte to 16 MB per descriptor node) 
  • Chained and ring descriptor structures with the descriptor node's NAV, LDN and WOR flags 
  • Memory-to-Memory, Memory-to-Peripheral, Peripheral-to-Memory, Peripheral-to-Peripheral 
  • Unaligned source and destination addresses at any byte, any length (byte rotator, WSTRB on the first and last word);  automatic split at 4 KB boundaries 
  • Fixed-address (FIFO) reads and writes; hardware-paced bursts with per-channel DREQ / DACK pairs for reads and writes 
  • CPU software or external hardware initiated transfers 

Status, Interrupts and Error Handling 

  • Per-channel status: descriptor list and descriptor node complete, descriptor read, source read and destination write errors, data and descriptor parity errors, re-start failure - each with an interrupt mask; a masked error holds the  channel until cleared or reset 
  • Per-channel interrupt outputs; global interrupt status / mask / vector registers and one processor interrupt 
  • Event-safe write-1-to-clear: a hardware event in the same cycle as the clear is never lost 
  • Optional per-byte parity checking on data and descriptor reads; parity generated on writes 
  • Core Identification Register (CIR): vendor, channel count, address width, bus and revision 

Integration 

  • 2, 4, 8 or 16 channels (MC2 / MC4 / MC8 / MC16); data width 64 / 128 / 256 bits; 64-bit addressing. Both fixed per license 
  • SystemVerilog RTL with a flat-pin top level; AMBA AXI4 Manager / Subordinate naming 
  • Fully synchronous single clock, rising-edge, no gated clocks, no internal tri-states; technology-independent RTL for ASIC and FPGA 
  • Upgrade path: the configurable DB-DMAC-MCn-AXI4-Config (1 to 126 channels, up to 512 bits) and the High Throughput DB-DMAC-MCn-AXI4-HT keep the register model, descriptor format and drivers 

Block Diagram

Applications

  • Memory-to-memory copy engines in SoCs 
  • Scatter-gather DMA for networking, storage and PCIe endpoint data movement 
  • Peripheral data streaming with hardware request / acknowledge pacing 
  • Offload of bulk memory copies from CPU clusters, under Linux or bare metal 

Specifications

Identity

Part Number
DB-DMAC-MCn-AXI4 Fixed
Vendor
Digital Blocks, Inc.
Type
Silicon IP

Files

Note: some files may require an NDA depending on provider policy.

Provider

Learn more about DMA IP core

Toki: Profiling HBM Performance on FPGA Systems with RISC-V Soft Cores and PCIe Host DMA Traffic

Toki, released as open source, is the first hardware-software framework that enables profiling the performance of HBM on FPGA accelerator cards by jointly considering (i) the execution of workloads on RISC-V soft cores instantiated on the FPGA and (ii) the injection of memory traffic from the host system via DMA over PCIe, providing insights that cannot be obtained with synthetic traffic generators alone.

DMA IP Integration

There are many IP’s today . These IP’s can be simple IP’s like Timer to complex IP’s like Accelerators. In Most of the cases IP’s are Integrated in standard way. There are cases where you have the option of Integrating it differently. This goes un-noticed or unable to be implemented due to time constraints. One such IP that would be discussed in this paper is DMA . This paper tries to explain idea of Integrating Direct Memory access(DMA) and Interrupt Control Unit(ICU) differently but final implementation requires some changes in IP. There is a possibility that alternate design explained below may be already implemented.

Enter the Arena: How Our Toolchain Started Improving Itself

It started with me prompting an agent to shave cycles off a customer's model, one region at a time. It became an internal arena where engineers and their agents compete to make Chimera kernels faster, an oracle that checks every result bit for bit, and a pipeline that feeds the best ideas back into our compiler.

Frequently asked questions about DMA IP

What is Fixed-Channel Multi-Channel DMA Controller?

Fixed-Channel Multi-Channel DMA Controller is a DMA IP core from Digital Blocks, Inc. listed on Semi IP Hub.

How should engineers evaluate this DMA?

Engineers should review the overview, key features, supported foundries and nodes, maturity, deliverables, and provider information before shortlisting this DMA 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.

×
Semiconductor IP