- Also disable TCL unit COSIM test. Can be enable by turning 'true' to
false in the CMakeLists,
- v4.6 doesn't support C++14, nor some C++11, so some hacky ways have
been found. Unit test has been updated but still works and coverage is
good (94%, the 6% beeing exeption handling, unrelevant in HLS).
- Only 2 bits more than input is enough, CoSimulation works (test
succeed, even if VitisHLS reports failure on some computers...).
- Rename `catch_common` to `catch_common_${PROJECT_NAME}` to avoid
problems when included in a cmake top project.
- Add a sanity check to unit tests to avoid SEGV.
- For whatever reasons, v2019.1 can C-Simulate CCordicAbs, but cannot
C-Synthetize it. So the process member function have been mirrored to
a static process function in the top level, called directly. It just
works.
- The TCL script have been amended to support both Vivado_HLS 2019.1 and
Vitis_HLS 2020.2 (maybe .1 also, but hasn't been tested).
- The CMake project works and is validated for G++ > 6.2, so can't be
used with vivado less than 2020.1 (which use 4.6.3). This vivado
version must be used with the TCL script directly.
- A custom target `run_hls` has been created to call vitis_hls 2020.2 if
ENABLE_XILINX and ENABLE_TESTING have been specified. It is called by
ctest by default. It can produce an IP (option IP_XILINX) and run Vivado implementation
design flow (option IMPL_XILINX).