Xilinx ZSTD Decompression¶
ZSTD example resides in L2/demos/zstd_decompress directory.
Follow build instructions to generate host executable and binary.
The binary host file generated is named as “xil_zstd” and it is present in ./build directory.
Results¶
Overall Resource Utilization¶
Table below presents resource utilization of Xilinx Zstd decompress kernel (excluding data movers) supporting Window Size of 32KB. The final Fmax achieved is 232MHz.
| Flow | LUT | LUTMem | REG | BRAM | URAM |
|---|---|---|---|---|---|
| DeCompress | 18.8K | 153 | 17.2K | 52 | 4 |
Decompress Kernel Resource Utilization¶
| Kernel | LUT | LUTMem | REG | BRAM | URAM |
|---|---|---|---|---|---|
| Decompress | 22.3K | 153 | 8.1K | 52 | 4 |
| DmReader | 3.2K | 717 | 3.8K | 10 | 0 |
| DmWriter | 2.6K | 281 | 1.8K | 15 | 0 |
Performance Data¶
| Topic | Best Kernel Throughput |
|---|---|
| Decompression | 783 MB/s |
| Average Compression Ratio | 2.78 (Silesia Corpus) |
| [*] | Decompression uses feasibile options (Bitwidth: 32bit, Window Size: 32KB) |
Executable Usage:
To execute single file for decompression :
./build/xil_zlib -dx ./build/xclbin_<xsa_name>_<TARGET mode>/compress_decompress.xclbin -d <compressed file_name>To decompress multiple files :
./build/xil_zlib -dx ./build/xclbin_<xsa_name>_<TARGET mode>/compress_decompress.xclbin -l <files.list><files.list>: Contains various file names with current path
The usage of the generated executable is as follows:
Usage: application.exe -[-h-d-sx-l] --help, -h Print Help Options Default: [false] --decompress, -d Decompress --decompress_xclbin, -dx Decompress XCLBIN --file_list, -l List of Input Files