google / xls

XLS: Accelerated HW Synthesis
http://google.github.io/xls/
Apache License 2.0
1.22k stars 180 forks source link

modules/zstd: Rework ZSTD Decoder #1654

Open lpawelcz opened 1 month ago

lpawelcz commented 1 month ago

This PR reworks the existing ZSTD Decoder to memory-based approach instead of relying on stream-based architecture.

The PR relies on peripherals (MemReader and MemWriter) for accessing external memory through AXI interface that are introduced in: https://github.com/google/xls/pull/1613. It is also based on https://github.com/google/xls/pull/1616.

The Decoder is able to decompress ZSTD frames that consist of RAW and RLE blocks. This is tested in a verilog simulation with a cocotb testbench.

The changes in this PR include:

This PR is currently a WIP. It is opened to showcase the work done and to create a space for discussion on certain topics. The following list enumerates task that are currently being addressed and which are required for this PR to be completed before it is marked as ready for review.

Next steps:

CC @proppy

lpawelcz commented 1 month ago

Updated the PR with:

Also rebased the code onto current main

CC @proppy