Showing results for 
Search instead for 
Did you mean: 
Registered: ‎09-28-2018

Verification of Streaming communication between kernels

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?




0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
Registered: ‎03-24-2010

Re: Verification of Streaming communication between kernels

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.

Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
Registered: ‎03-08-2018

Re: Verification of Streaming communication between kernels

Hi brucey,


Have you an example code made by C++ kernel like OpenCL PIPE?

I can not find it.




0 Kudos