Personal tools

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

From iis-projects

Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Introduction

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.

Project

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.

Requirements

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

Composition

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

Project Supervisors