ament_vitis package from ament_vitis repo

ament_vitis

Package Summary

Tags No category tags.
Version 0.10.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-acceleration/ament_vitis.git
VCS Type git
VCS Version rolling
Last Updated 2022-04-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

CMake macros and utilities to include Vitis platform into the ROS 2 build system (ament) and its development flows.

Additional Links

No additional links.

Maintainers

  • Víctor Mayoral Vilches

Authors

  • Víctor Mayoral Vilches

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 unified software platform. Download and install Vitis here.

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 for more details.

CHANGELOG

Changelog for package ament_vitis

0.10.0 (2022-03-23) ------------------* Prepare for release, change maintainer * Add usage examples * Enrich ROS_VITIS to be enabled only by VITIS hardware platforms * Add ROS_VITIS and ROS_XRT variables * Clarify output of message after operation

0.9.0 (2022-02-15)

  • Release 0.9.0
  • Account for NOKERNELS CMake var.
  • Add vitis_link_kernel CMake macros

0.8.0 (2022-01-21)

  • Refactor vitis_acceleration_kernel, add clock and link capabilities
  • Add support for 2021.2 dfx-mgr flavour
  • Add DTSI support to vitis_acceleration_kernel, refactor
  • Release 0.8.0

0.7.0 (2021-11-23)

  • Add ROS_ACCELERATION variable enablement
  • Move ROS_ACCELERATION to ament_acceleration
  • Export RTL IP for every kernel solution
  • Update CHANGELOG, release 0.7.0

0.6.0 (2021-10-19)

  • Make output less verbose
  • CMake scripts report only when hardware acceleration disabled

0.5.0 (2021-06-03)

  • Add CHANGELOG.rst
  • Remove leftover from HLS support, and set as default
  • Add x86 Ubuntu default libraries dir
  • Minor improvements for firmware generation
  • Adapt code to a non-Xilinx specific environments
  • Add support to generate dfx-mgr artifacts
  • Various CMake improvements
    • Support multiple include directories with either relative or absolute paths
    • Re-initialize VITIS_HLS_SRC_VALUE to allow for various HLS calls
    • Support multiple include directories
    • etc.

0.4.0 (2021-07-08)

  • Add CMake macro to generate Tcl scripts
  • add HLS Tcl generation capabilities

0.3.0 (2021-06-03)

  • Add license, meet ROS 2 QL5, QL4
  • Adapt to new folder structure to standardize across vendors

0.2.0 (2021-04-18)

  • Simplify build process of kernels
  • Enable hw_emu, hw and sw_emu targets

* Add first iteration on macros, support both Xilinx tools as well as custom ROS packages. * Macros work for all build targets * Variables shield env. variables abstracting them to have a coherent environment for Vitis v++.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ament_vitis at answers.ros.org

No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.

ament_vitis package from ament_vitis repo

ament_vitis

Package Summary

Tags No category tags.
Version 0.10.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-acceleration/ament_vitis.git
VCS Type git
VCS Version rolling
Last Updated 2022-04-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

CMake macros and utilities to include Vitis platform into the ROS 2 build system (ament) and its development flows.

Additional Links

No additional links.

Maintainers

  • Víctor Mayoral Vilches

Authors

  • Víctor Mayoral Vilches

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 unified software platform. Download and install Vitis here.

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 for more details.

CHANGELOG

Changelog for package ament_vitis

0.10.0 (2022-03-23) ------------------* Prepare for release, change maintainer * Add usage examples * Enrich ROS_VITIS to be enabled only by VITIS hardware platforms * Add ROS_VITIS and ROS_XRT variables * Clarify output of message after operation

0.9.0 (2022-02-15)

  • Release 0.9.0
  • Account for NOKERNELS CMake var.
  • Add vitis_link_kernel CMake macros

0.8.0 (2022-01-21)

  • Refactor vitis_acceleration_kernel, add clock and link capabilities
  • Add support for 2021.2 dfx-mgr flavour
  • Add DTSI support to vitis_acceleration_kernel, refactor
  • Release 0.8.0

0.7.0 (2021-11-23)

  • Add ROS_ACCELERATION variable enablement
  • Move ROS_ACCELERATION to ament_acceleration
  • Export RTL IP for every kernel solution
  • Update CHANGELOG, release 0.7.0

0.6.0 (2021-10-19)

  • Make output less verbose
  • CMake scripts report only when hardware acceleration disabled

0.5.0 (2021-06-03)

  • Add CHANGELOG.rst
  • Remove leftover from HLS support, and set as default
  • Add x86 Ubuntu default libraries dir
  • Minor improvements for firmware generation
  • Adapt code to a non-Xilinx specific environments
  • Add support to generate dfx-mgr artifacts
  • Various CMake improvements
    • Support multiple include directories with either relative or absolute paths
    • Re-initialize VITIS_HLS_SRC_VALUE to allow for various HLS calls
    • Support multiple include directories
    • etc.

0.4.0 (2021-07-08)

  • Add CMake macro to generate Tcl scripts
  • add HLS Tcl generation capabilities

0.3.0 (2021-06-03)

  • Add license, meet ROS 2 QL5, QL4
  • Adapt to new folder structure to standardize across vendors

0.2.0 (2021-04-18)

  • Simplify build process of kernels
  • Enable hw_emu, hw and sw_emu targets

* Add first iteration on macros, support both Xilinx tools as well as custom ROS packages. * Macros work for all build targets * Variables shield env. variables abstracting them to have a coherent environment for Vitis v++.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ament_vitis at answers.ros.org

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.