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.20210313.2.tar.gz
(35.7 kB
view hashes)
Built Distributions
tapa-0.0.20210313.2-py3.6.egg
(92.1 kB
view hashes)
Close
Hashes for tapa-0.0.20210313.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 464837b1e35c2e9f8132d46d8a2c3d65a8e934b38ed5963f23d866e04f552cb5 |
|
MD5 | 89c7f4815ac0277d00cbe33aa4fa5950 |
|
BLAKE2b-256 | c9ccd6d8aecba05a618adaddc4c55ae3cd871012752bd79d6596102702e0692d |