Personal tools

Difference between revisions of "Adding Linux Support to our DMA Engine (1-2S/B)"

From iis-projects

Jump to: navigation, search
m
 
Line 7: Line 7:
 
[[Category:Tbenz]]
 
[[Category:Tbenz]]
 
[[Category:Michaero]]
 
[[Category:Michaero]]
[[Category:In progress]]
+
[[Category:Completed]]
  
 
== Introduction ==
 
== Introduction ==

Latest revision as of 11:12, 21 June 2022


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