Personal tools

Adding Linux Support to our DMA Engine (1-2S/B)

From iis-projects

Revision as of 10:47, 15 February 2022 by Tbenz (talk | contribs)
Jump to: navigation, search


At IIS we are developing a modular and extensible high-performance direct memory access (DMA) engine. So far we have integrated it in our cluster-based systems. On those systems are programmed using bare-metal code to achieve the highest energy efficiency.

Next to the cluster-based systems, we are working on Ariane (CVA6), a 64 bit application-grade linux-capable core.

We are now planning to integrate our DMA engine in an Ariane-based SoC and evaluate its benefits in a Linux environment.


We propose to divide the project in these steps:

  • Research: Investigate how Linux interacts with a system-level DMA and collect a set of minimal requirements for the hardware.
  • RTL design: Create a hardware interface for the DMA engine that features this set of minimal requirements Linux opposes on the hardware.
  • Validation and driver development: Create a driver for Linux allowing it to interface with the DMA; validate your hardware using simple transfers
  • Evaluation: Run complex applications to evaluate the performance of the DMA in this context.


  • Experience with digital design in SystemVerilog as taught in VLSI I


  • 30% studying the DMA interface imposed by Linux
  • 20% RTL design
  • 30% driver development & validation
  • 10% evaluation

Project Supervisors