Extending High-Level Synthesis for Task-Parallel Programs
Project description
Extending High-Level Synthesis for Task-Parallel Programs
Feature Synopsis
- Convenient kernel communication APIs
- Simple host-kernel interface
- Universal software simulation w/ coroutines
- Hierarchical code generator w/ Xilinx HLS backend
Getting Started
Prerequisites
- Ubuntu 16.04+
- Coroutine-based simulator only works on Ubuntu 18.04+
Install from Binary
./install.sh
Install from Source
Build Prerequisites
- CMake 3.13+
- A C++ 11 compiler (e.g.
g++-9
) - Python 3
haoda
,pyverilog
- Google glog library (
libgoogle-glog-dev
) - Clang 8 and its headers (
clang-8
,libclang-8-dev
) - Boost coroutine library (
libboost-coroutine-dev
) - Icarus Verilog (
iverilog
) - FPGA Runtime
Build tapacc
mkdir build
cd build
cmake ..
make
make test
cd ..
sudo ln -s backend/python/tapac /usr/local/bin/
sudo ln -s build/backend/tapacc /usr/local/bin/
Known Issues
- Template functions cannot be tasks
- Vivado HLS include paths (e.g.,
/opt/Xilinx/Vivado/2019.2/include
) must not be specified intapac --cflags
;- Workaround is to
export CPATH=/opt/Xilinx/Vivado/2019.2/include
- Workaround is to
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tapa-0.0.20210312.1.tar.gz
(35.7 kB
view hashes)
Built Distributions
tapa-0.0.20210312.1-py3.6.egg
(92.1 kB
view hashes)
Close
Hashes for tapa-0.0.20210312.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac5231c44ce9b9a32604dc304c8e6a8858d15cc03816d90332e4428555eeef07 |
|
MD5 | 6e2eb874718bcb6a75b9aa7511bdcd4f |
|
BLAKE2b-256 | b95a32f4302f2216e035d8c1bc24e8566f4dd078ab21f1b4345ac4ec9b5624a8 |