10-19-2018 07:01 AM
Hi, i'm a newbie in this filed and i have a lot of doubts which i hope to solve with this forum.
At the moment, i'm performing my master thesis in which in this moment, i have to verify if two OpenCL kernels communicate in a streaming mode.
Now the doubts are various and extended to , also other area of the world of HLS in Vivado enviroment.
In order to starting to know the world of High Level Synthesis i've started to read the Tutorial :
Vivado Design Suite Tutorial High Level Synthesis UG871 (v2018.2) June 6, 2018
and in the meanwhile i have clarified to myself all the doubts about VIVADO HLS by following the :
Vivado Design Suite User Guide UG902 (v2018.1) April 4, 2018
Now, i have seen all the optimizations and pragmas that i can use for only C/C++ Designs. Moreover i have seen also the the type of interfaces created for each parameter of the funcion argument.
Now the questions:
1)the interfaces synthetized for the arguments of a C/C++ function are the same of the ones for OpenCL functions?
maybe ca in find these infos in the SDAccel Environment User Guide UG1023 (v2018.2) June 20, 2018?
2)Should i use SDAccel to otimize the single OpenCL Kernel of Vivado HLS?
2) The most important question:
In which way can i veirfy that a kernel writes its output results in off-chip global memory in ordered way? The ordered way is the so-called streaming way? Which is the difference between burst mode access and streaming mode access?
in Complementarity with the first request , in which way can i be able to verify that the second kernel read in a streaming way?By means for example of a testbench in which i can print the location of each output vdata to see if the adresses of the outputs are contiguous?
For all these analysis with openCL kernel codes i have to use ADAccel. Right?
10-23-2018 08:23 PM - edited 10-23-2018 08:23 PM
1) C and Opencl interface can be same. C has interface pragma control. Opencl is automatically done by tool.
2) To verify the correctness other than to verify the internal processing.
If really streaming is needed between kernels, OpenCL has PIPE type to do the communication.
10-23-2018 10:41 PM
Have you an example code made by C++ kernel like OpenCL PIPE?
I can not find it.