This Answer Record documents all of the known issues in the SDSoC 2016.4 tool upon release.
Below is a list of all of the known issues for the SDSoC 2016.4 release:
If you cancel a build in the SDSoC IDE, you must delete the build target directory for the current build configuration (for example, Debug, Release) before rebuilding.
Otherwise, the SDX_GUI behavior of the build is indeterminate.
If you encounter an "error copying" message on a Windows host, the SDSoC install directory or your workspace has a path name that causes file path names generated by SDSoC to exceed the Windows limit of 260 characters.
To mitigate this issue, you can choose short names for the install and workspace directories, for example, "C:\i" or "C:\w".
In performance estimation flows, do not use variables named clock_start and clock_end in a function marked for acceleration, or the performance root function. Otherwise, a conflict occurs with the variables created flow.
Standalone applications cannot write the filesystem on an SD card due to a bug in the f_write() function in the xilffs library.
Vivado HLS support for half-precision floating point is a Beta feature, and casting from other types might result in incorrect hardware.
The Vivado HSI utility used in SDSoC requires the host OS to provide gmake, which is not by default installed with Ubuntu 16.04 LTS.
If you see the following error, you will need to install gmake:
SDx might exit unexpectedly on startup. This can occur when the splash screen is displayed or after the you select a workspace.
Most often this is caused by out-of-sync preferences stored in the .Xilinx/SDx directory. Remove this directory to resolve the problem.
SDx crashes on RHEL 7.* and Ubuntu 14 when creating a new project.
The console message is as follows:
This crash is due to a bug in GTK. The work-around is as follows:
QEMU/RTL emulation might fail if a hardware function's generated Vivado IP name collides with another IP in the Vivado catalog.
In SDSoC 2016.4, a hardware function can have an HLS dataflow pragma at the top level, or it can have multi-buffered BRAM-mapped array arguments at the top level.
However, assigning both simultaneously results in hardware that does not behave properly.
Half data-type support is in beta. If there are simulation errors due to half data-type, please use 2016.4 Vivado HLS with 2016.4 SDx.
On Linux, the following is an example of how to use the 2016.4 Vivado HLS with 2016.4 SDx:
(This example is for C-Shell, but bash is similar):