Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 25 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ Huffman, which is the core concept of Deflate. However, our design is not
[RFC 1951](https://datatracker.ietf.org/doc/html/rfc1951) compliant.

## Publication
Please cite the following conference paper when using this code for your own paper

Gagandeep Panwar, Muhammad Laghari, David Bears, Yuqing Liu, Chandler Jearls,
Esha Choukse, Kirk W. Cameron, Ali R. Butt, Xun Jian. "Translation-optimized
Memory Compression for Capacity." In *Proceedings of the 55th Annual IEEE/ACM
International Symposium on Microarchitecture, October 2022.*
doi: 10.1109/MICRO56248.2022.00073

## Dependencies
- Java 8 or later
Expand Down Expand Up @@ -83,18 +86,32 @@ directory with one file per benchmark.
By default, testing will run in parallel on all CPU cores. This may be changed
with the `--max-workers <num threads>` command line option.

## Ubuntu 22.04 workflow
`sudo apt install default-jdk g++ verilator make wget tar`
## Example Ubuntu 22.04 workflow
```
# install dependencies
sudo apt install default-jdk g++ verilator make wget tar

# clone the repository
git clone https://github.com/HEAP-Lab-VT/ASIC-DEFLATE-for-memory

`git clone https://github.com/HEAP-Lab-VT/ASIC-DEFLATE-for-memory`
# cd into the project directory
cd ASIC-DEFLATE-for-memory

`./gradlew genDeflate`
# generate Verilog for the Deflate module
./gradlew genDeflate

# download some benchmark files
wget https://www.dropbox.com/s/x8sxf1gt208sqkh/testBenchmarks.tar.xz

`wget https://www.dropbox.com/s/x8sxf1gt208sqkh/testBenchmarks.tar.xz`
# extract the benchmark files
tar -xJf testBenchmarks.tar.xz

`tar -xJf testBenchmarks.tar.xz`
# test the Deflate module on the benchmarks
./gradlew runTestDeflate reportTestDeflate

`./gradlew runTestDeflate reportTestDeflate`
# print the test results to the console
cat build/test/deflate-reports/*
```

## Gradle Task Examples

Expand Down Expand Up @@ -133,7 +150,7 @@ Generate Verilog for Deflate compressor and decompressor with Gradle wrapper:
./gradlew genDeflate
```

## Customizing Parameters
## Customizing Hardware Parameters

Configuration files may be found in the `configFiles` directory, and these may
be modified per your specific needs. Changing parameters can drastically affect
Expand Down