Code Monkey home page Code Monkey logo

ament_vitis's Introduction

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
# 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
# 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
# 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
# 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.

ament_vitis's People

Contributors

vmayoral avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.