Scope

This document describes the CEVA Streaming Data Movement Accelerator (CEVA-SDMA™) architecture specifications.

Audience

This document is intended for system architects, software engineers, and system engineers who are implementing Hardware Accelerators using the CEVA-SDMA.

Related Documents

The following documents are related to the information in this document:

  1. AMBA AXI Protocol Version: 2.0 Specification, ARM March 2010
  2. AMBA APB Protocol Version: 2.0 Specification, ARM April 2010
  3. AMBA 4 AXI4-Stream Protocol Version: 1.0 Specification, , ARM March 2010

Overview

The CEVA Streaming Data Movement Accelerator (CEVA-SDMA) is a device that allows for the complete separation between Data-Movement (i.e. loading data in and storing data out) and Data-Path (i.e. data signal processing) functionalities in Hardware Accelerators (HWAs).

The guiding principle behind the architecture of this block is that a single configurable CEVA-SDMA block may be reused with any Data-Path functionality to form flexible, instruction controlled HWAs with ultra fast time-to-market thanks to the complete reuse of the data-movement hardware and the common instruction set for programming the integrated hardware accelerator.

The CEVA-SDMA allows for distributed data stored in memory mapped buffer(s) to be synchronized and streamed through one or more data streams into a data-path block. The output data streams from the Datapath block can then be acquired and synchronized by the CEVA-SDMA and distributed into memory mapped buffers. The control of the Datapath block can be synchronized with the data packet movement into and out of the Datapath block.

illustrates the CEVA-SDMA connected to a data-path block with n output data-streams and m input data-streams.

This data-path block could be a DSP function, such as a filter or it could be a Digital Front End (DFE) for an RF Transceiver.

The basic principles of operation for this block are:

Features

Block Diagram

The CEVA-SDMA top-level block diagram is illustrated in .

The different subsystems highlighted in  are:

Task Subsystem: responsible for loading, queueing and decoding tasks from external memory.

Configuration & Flow Control Subsystem: stores the configuration and status registers for the CEVA-SDMA; Handles the flow-control with upstream and downstream blocks.

AXI Read/Write Switches: provide memory mapped AXI read/write access to multiple clients within the CEVA-SDMA;

Reset & Power Control: manage the reset and power management functionality for the CEVA-SDMA.

Data & Control Channels: Tx/Rx DMA channel that generate the address patterns, reads (for Tx) data from external AXI memory and stream it to the AXI stream channel, and writes (for Rx) the received data streams to external AXI memory.