3.5.1.19.11 SmartHLS Open Source Libraries

Microchip provides open source libraries that complement and expand the functionality of the SmartHLS tool. These libraries are published in Microchip's GitHub site and can be freely downloaded.

A stable copy of the libraries is included with the SmartHLS installer under the [INSTALLATION_DIR]/smarthls-library/external directory. The snapshot of the library is taken at the time when SmartHLS is released, therefore, the online version can include bug fixes and new functionality that may not be present in the installed copy.

To use the latest version of the library users should clone the library from Microchip's GitHub site, then update their designs to include the path where the libraries have been cloned. This can be done by either running export USER_CXX_FLAG=-I/path/to/cloned/library , or by adding USER_CXX_FLAG+=-I/path/to/cloned/library  to their Makefile.

SmartHLS Fixed-Point Math Library (hls_fixpt_math.hpp)

This library provides transcendental and trigonometric functions such as sine, cosine, square root, logarithm, etc. using SmartHLS Fixed Point ap_[u]fixpt data types. The library includes examples, documentation, resource usage reports for each function (some functions with multiple implementations with different characteristics), error plots comparing the inherent approximations of fixed point against floating point form the standard C math library.

The latest version of the library can be found at the Fixed-Point Math Library site on Github.

SmartHLS Vision Library (vision.hpp)

The SmartHLS Vision Library is designed to simplify the development of video processing solutions on Microchip FPGA devices. The library provides pre-optimized HLS C++ functions for fast algorithm prototyping of video applications. OpenCV-based designs can be ported onto FPGAs with a faster time to market thanks to the equivalent functions in this Vision library.

The Vision library also aims to make the verification process easy. Developers can use OpenCV and the provided test utility functions to create the software testbench, making it convenient to verify the HLS C++ implementation against OpenCV reference in software.

The latest version of the library includes documentation and usage examples can be found at the Vision Library site on Github.