-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error in IsEmpty() when HLSLIB_SYNTHESIS is set #12
Comments
Hi @mksit. I cannot reproduce this; at least on 2018.3 the |
I tested it with Vivado HLS 2019.1. A minimal program that just invokes IsEmpty() fails to compile when HLSLIB_SYNTHESIS is set. SimpleTest.cpp
|
This is not a bug: When running synthesis, Vivado HLS does not use the You can have a look at |
The synthesis works when I set HLSLIB_SYNTHESIS, but I ran into the same error when I tried to do C/RTL cosimulation. I cannot find how to set the flags properly for cosimulation in your example. I attach my simple testing code along with a tcl script. Could you please suggest how I should change the tcl script in order to get the cosimulation working? |
Unfortunately Vivado HLS' cosimulation is not support by hlslib. This is because the internal version of clang used for cosimulation used to be behind the one used for synthesis, so it did not support the same language features. I have not looked into whether this has been updated in the meantime. Instead, I advise to use SDAccel/Vitis' hardware emulation feature. This uses the OpenCL flow by executing emulation kernels, and can give you cycle accurate emulation, even emitting waveforms you can inspect. Thus, the three stages of validation are:
|
Hi, I got the following error when calling IsEmpty() method after the HLSLIB_SYNTHESIS is set.
The reason of this error is that a non-const method empty() is called from a const method IsEmpty(). I would like to know if the const qualifier is really necessary for this method.
The text was updated successfully, but these errors were encountered: