Skip to content

Golui/ansu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansu

a nsuda (Maybe it'll work)

ansu is an implementation of the tANS compression algorithm, targeting Xilinx FPGAs. ansu also features a software backend, aimed mostly at debugging the logic. It has no external dependencies, aside from what is included in this repository.

The project is currently no more than a proof-of-concept. The existing implementation is able to process on average one symbol per FPGA clock cycle, by way of running multiple decompressors in parallel and merging the streams together.

Currently, ansu compressed files are tarballs containing a primitive header file, data blocks and accompanying metadata. At the time, these files are not cross platform compatible, endianness is not taken into account whatsoever.

Libraries:

  • CLI11 - command line interface
  • microtar - tar archive management

Installation:

make

Usage:

./ansu --help

TODO:

  • Wrap exceptions in a user-friendly manner
  • Proper Vivado HLS project
    • Tests on hardware
    • Optimization of processor - FPGA communication
  • Archive
    • Integrity verification
    • Better TAR implementation/custom format
    • Embedded compression tables
  • Dynamic compression table generation

About

An implementation of tANS for FPGAs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published