google / google/xls

Implement DSLX DMA

Open
#1,208 0 comments 0 reactions 0 assignees View on GitHub
app
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

# DSLX DMA

This is an umbrella issue to track implementation of the DSLX DMA.

## Motivation

Decoders/encoders (RLE, Zstd), security hash functions (SHA), error detection and correction function (CRC) are amongst most commonly developed modules in DSLX. In broader terms, they can be characterized as hardware accelerators, which operate on streams of data. In order to provide a common environment for as many applications as possible, it is desired to build a generic acceleration interface. This goal will be achieved by implementing a Direct Memory Access module.

## Architecture

The DMA module will:
- read and write data to system memory over AXI interface
- push and pop data from the accelerator over AXI-Stream interface
- be controlled by writes and reads from CSRs, available from the AXI interface
- use an interrupt pin to signal job completion or errors
- take after [the FastVDMA project](https://github.com/antmicro/fastvdma), a similar project, but implemented in Chisel

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.