diff --git a/README.md b/README.md index 6b7014f..54f4bc5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ _Do you use hlslib? Please consider [citing us](https://arxiv.org/abs/1910.04436 ## Quick introduction -hlslib is a collection of C++ headers, CMake files, and examples, aimed at improving the quality of life of HLS developers. The current repertoire primarily supports Vivado HLS, but some Intel FPGA OpenCL support is being added. An extended abstract describing the project is [available here](https://arxiv.org/abs/1910.04436). +hlslib is a collection of C++ headers, CMake files, and examples, aimed at improving the quality of life of HLS developers. The current repertoire primarily supports Vitis and Vitis HLS (formerly SDAccel and Vivado HLS), with some support for Intel FPGA OpenCL. An extended abstract describing the project is [available here](https://arxiv.org/abs/1910.04436). This project is developed at the [Scalable Parallel Computing Lab](https://spcl.inf.ethz.ch/) (SPCL) at ETH Zurich (see our [github](https://github.com/spcl)). @@ -15,13 +15,15 @@ There are a few ways: #### How do I use it? -Just `#include` the header(s) you are interested in. You can see an example [here](https://github.com/spcl/gemm_hls). +Just `#include` the header(s) you are interested in. You can see an example [here](https://github.com/spcl/gemm_hls)! -When a Xilinx hlslib header is included, compilation must allow C++11 features, and the macro `HLSLIB_SYNTHESIS` must be set whenever HLS is run. Set `-cflags "-std=c++11 -DHLSLIB_SYNTHESIS"` in your synthesis script, and `--xp prop:kernel..kernel_flags="-std=c++11 -DHLSLIB_SYNTHESIS"` when building Xilinx kernels. See the included `xilinx_test/CMakeLists.txt` for reference. +When a Xilinx hlslib header is included, compilation must allow C++11 features, and the macro `HLSLIB_SYNTHESIS` must be set whenever HLS is run. Set `-cflags "-std=c++11 -DHLSLIB_SYNTHESIS"` in your synthesis script, and `--advanced.prop kernel..kernel_flags="-std=c++11 -DHLSLIB_SYNTHESIS"` when building Xilinx kernels. See the included `xilinx_test/CMakeLists.txt` for reference. + +Officially supported versions of Vitis currently include 2021.1, 2020.2, 2020.1, and 2019.2. Older versions (including SDx and SDAccel) _might_ work, but should be used at your own discretion. ## Feature overview -We have Doxygen now! Simply run `make` to generate the docs. +We have Doxygen! Set the CMake flag `HLSLIB_BUILD_DOCUMENTATION=ON` to generate the docs. A brief overview of hlslib features is given below. diff --git a/xilinx_test/CMakeLists.txt b/xilinx_test/CMakeLists.txt index d3b1365..a7e326a 100644 --- a/xilinx_test/CMakeLists.txt +++ b/xilinx_test/CMakeLists.txt @@ -91,11 +91,10 @@ function(sdaccel_target KERNEL_NAME ADDITIONAL_HLS_FLAGS ADDITIONAL_VPP_FLAGS) -I${CMAKE_BINARY_DIR} --kernel ${KERNEL_NAME} --platform ${HLSLIB_DSA_NAME} - --xp prop:kernel.${KERNEL_NAME}.kernel_flags="${HLSLIB_SYNTHESIS_FLAGS}" + --advanced.prop kernel.${KERNEL_NAME}.kernel_flags="${HLSLIB_SYNTHESIS_FLAGS}" --profile_kernel "data:all:all:all" --profile_kernel "stall:all:all" - --profile_kernel "exec:all:all" - --max_memory_ports all) + --profile_kernel "exec:all:all") if(((${Vitis_MAJOR_VERSION} LESS 2018) AND (${Vitis_MINOR_VERSION} LESS 3)) OR ${Vitis_MAJOR_VERSION} LESS 2017) add_custom_target(build_${KERNEL_NAME}_hardware COMMAND XILINX_PATH=${CMAKE_CURRENT_BINARY_DIR} ${Vitis_COMPILER} -t hw