# ament_vitis **Repository Path**: mk8/ament_vitis ## Basic Information - **Project Name**: ament_vitis - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-11 - **Last Updated**: 2022-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ament_vitis CMake macros and utilities to include Vitis platform into the ROS 2 build system (ament) and its development flows. **NOTE**: `ament_vitis` has a direct runtime Non-ROS dependency with [`Vitis`](https://www.xilinx.com/products/design-tools/vitis.html) unified software platform. Download and install Vitis [here](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vitis.html). ### Usage examples
Synthesize C++ with Vitis HLS into an acceleration kernel ```cmake # example 1: resize_accel kernel vitis_acceleration_kernel( NAME resize_accel FILE src/image_proc/xf_resize_accel.cpp CONFIG cfg/kv260.cfg INCLUDE include/image_proc ${CMAKE_INSTALL_PREFIX}/include TYPE hw ) # example 2: rectify_accel kernel vitis_acceleration_kernel( NAME rectify_accel FILE src/image_proc/xf_rectify_accel.cpp CONFIG cfg/kv260.cfg INCLUDE include/image_proc ${CMAKE_INSTALL_PREFIX}/include TYPE hw ) ```
Link and implement (place & route) a previously synthesized acceleration kernel with Vitis ```cmake # example 3: image_proc kernel vitis_link_kernel( OUTPUT image_proc KERNELS resize_accel rectify_accel CONFIG cfg/kv260_image_proc.cfg ) ```
Synthesize, place & route an acceleration kernel with Vitis ```cmake # example 4: vadd kernel vitis_acceleration_kernel( NAME vadd_faster FILE src/vadd.cpp CONFIG src/kv260.cfg CLOCK 100000000:vadd_faster DTSI src/vadd_faster.dtsi INCLUDE include TYPE hw LINK PACKAGE ) ```
Advanced: generate TCL scripts for C simulation and synthesis customizing the Vitis or Vivado flows ```cmake # C simulation and synthesis vitis_hls_generate_tcl( PROJECT project_faster_doublevadd_publisher SRC src/vadd.cpp HEADERS include TESTBENCH src/testbench.cpp TOPFUNCTION vadd CLOCK 4 SYNTHESIS ) ```
### Quality Declaration This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.