Benefits

Using the DMA Builder block in VisualSim provides:

  • CPU Offloading: Reduces processor overhead by automating repetitive data transfers.
  • Parallel Efficiency: Multiple channels allow simultaneous transfers.
  • Scalability: Configure outstanding requests to match workload intensity.
  • Latency Reduction: Direct transfer avoids CPU-mediated delays.
  • Power Optimization: Lower CPU activity reduces power consumption.
  • Flexible Exploration: Evaluate arbitration strategies, buffer sizing, and transfer modes.

The Direct Memory Access (DMA) Builder block in VisualSim models a DMA controller, a hardware subsystem that transfers data directly between memory and I/O devices without continuous CPU intervention. By offloading repetitive data movement tasks, the DMA controller significantly improves system efficiency, allowing the CPU to focus on computation rather than data transfer. This system Modeling Component also supports the Remote-DMA features.

The DMA block supports sequential transfers, burst mode, and outstanding request processing, enabling architects to explore performance trade-offs in latency, throughput, and resource utilization. It is particularly vital in embedded systems, multimedia processing, networking, and AI accelerators, where large volumes of data must be moved with minimal overhead.

Overview

The DMA Builder block in VisualSim includes all key functional elements of a real DMA controller:

  • DMA Transfer Cycles: Defines cycle count for DMA-to-device and device-to-DMA transfers.
  • FIFO Buffers: Temporary buffers to smooth transaction flow and reduce bottlenecks.
  • Speed Configuration: Execution speed adjustable in MHz for performance scaling.
  • Multiple DMA Channels: Parallel DMA channels enable concurrent data transfers.
  • Outstanding Request Count: Controls how many pending requests each channel can manage.
  • Arbitration Logic: Resolves contention between multiple active channels.
  • Interrupt Support: Signals CPU when transfers are complete or when errors occur.
  • Error Handling: Retry and error-detection mechanisms for reliability.

Supported Standards

The DMA block is not tied to a single standard but supports integration with commonly used bus and interconnect protocols:

  • AMBA AXI/AHB bus-based DMA engines.
  • PCIe DMA engines for high-speed peripheral access.
  • Ethernet for high-speed network access.
  • Custom DMA controllers for embedded and proprietary architectures.

Key Parameters

Key configurable parameters include:

  • DMA_to_Device_Cycles: Number of cycles per memory-to-device transfer.
  • Device_to_DMA_Cycles: Number of cycles per device-to-memory transfer.
  • Channel_FIFO_Buffers: Queue depth for outstanding requests.
  • DMA_Speed_MHz: Clock frequency of the DMA controller.
  • Outstanding_Request_Count: Number of active requests per channel.
  • Burst_Length: Size of each burst transfer.
  • Interrupt_Enable: Boolean setting for CPU notifications.
  • Error_Retry_Count: Defines retry behavior under fault conditions.

Application

DMA controllers are a core component of modern high-performance systems. Typical use cases include:

  • High-Performance Computing (HPC): Offloading bulk data transfers from CPUs/GPUs.
  • Embedded Systems: Real-time data movement in automotive, IoT, and industrial control.
  • Networking: High-speed packet transfer between NICs and memory buffers.
  • Graphics & Multimedia: Streaming textures, frames, and audio/video data to GPUs.
  • AI & ML Accelerators: Efficient tensor/matrix data movement between compute cores and memory.
  • Automotive Systems: Deterministic data transfer for sensor fusion and ADAS workloads.

Integrations

  • Works seamlessly with processor, cache, and memory models in VisualSim.
  • Integrates with buses and interconnects (AXI, CoreLink, Arteris NoC) for full system studies.
  • Can be combined with peripheral models (NICs, GPUs, accelerators) to evaluate I/O-intensive workloads.
  • Supports SoC-level simulation with multi-DMA configurations.

Schedule a consultation with our experts

    Subscribe