Skip to content

Latest commit

 

History

History
61 lines (42 loc) · 1.5 KB

README.md

File metadata and controls

61 lines (42 loc) · 1.5 KB

EASY

Efficient Arbiter SYnthesis (EASY) - a plugin to the LegUp High Level Synthesis tool that simplifies the memory arbitration with the help of formal verifications.

Building

Requirements

LegUp HLS tool

Microsoft Boogie

LegUp Building

Put the LLVM pass folder to the LegUp LLVM directory:

cp -r easy $LEGUP/llvm/lib/Transforms/
if ! grep -q "add_subdirectory(easy)" $LEGUP/llvm/lib/Transforms/CMakeLists.txt; then
  echo "add_subdirectory(EASY)" >> $LEGUP/llvm/lib/Transforms/CMakeLists.txt
fi

Build LegUp:

cd $LEGUP
make

Test Examples

You can use quick_start.sh to play with the existing examples:

# bash quick_start.sh $NUM_PARTITION $BENCHMARK_NAME
bash quick_start.sh 08 histogram

Publication

If you use EASY in your research, please cite our FPGA2019 paper

@inproceedings{cheng-easy-fpga2019,
 author = {Cheng, Jianyi and Fleming, Shane T. and Chen, Yu Ting and Anderson, Jason H. and Constantinides, George A.},
 title = {EASY: Efficient Arbiter SYnthesis from Multi-threaded Code},
 booktitle = {Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays},
 year = {2019},
 address = {Seaside, CA, USA},
 pages = {142--151},
 numpages = {10},
 doi = {10.1145/3289602.3293899},
 publisher = {ACM},
}

Contact

Any questions or queries feel free to contact me on: [email protected]