02-23-2021 05:54 AM
I am following the Interface Synthesis tutorial from UG871 documentation (chapter 4). When I run the example for lab 1 I get type ap_ctrl_none for the output value, not ap_ctrl_hs as shown in the tutorial. How do I fix this?
02-23-2021 01:42 PM
I get the results in the tutorial if I comment out this line from adder.c: #pragma HLS INTERFACE ap_ctrl_none port=return
Someone should update the code that goes with this tutorial.
02-23-2021 07:12 AM
This is controlled through an INTERFACE pragma that can be found in the adders.c source file, or directive that can be found in the directives.tcl file. You can check to see if somehow the pragma or directive were set in the code. Generally the control protocol is assigned to the return port on the top-level function.
You can look at the Vivado HLS User Guide (UG902) for more information, which you can find along with other information on the Design Hub.
02-23-2021 07:16 AM
The source code and pragmas as well as the directives.tcl file are provided with the tutorial. The tutorial does not state that anything needs to be changed. Is there a problem with the tutorial files?
02-23-2021 07:21 AM
Apparently not:
02-23-2021 07:24 AM
Although, the text doesn't show the presence of ap_ctrl_none, so perhaps it is not intended to be there in the tutorial. Just remove it or comment it out and see what you get.
02-23-2021 01:42 PM
I get the results in the tutorial if I comment out this line from adder.c: #pragma HLS INTERFACE ap_ctrl_none port=return
Someone should update the code that goes with this tutorial.
02-23-2021 02:01 PM
Yes, you are right. I will pass along your feedback.
02-23-2021 02:03 PM
Thanks!