Jump to content
  • 0

Parallel Processing in Xilinx SDK using HLS IP core


fpga_123

Question

Hello,

I am working on string matching algorithms where I created an IP in HLS and then it is exported in Vivado to create a block design. I am using Zynq Ultrascale+ processor. I am  using HP ports to connect the IP so that the interfaces can access the DDR memory. The block design right now has Zynq Ultrascale+ PS, HLS created IP (m_axi interfaces for ddr access, clk and reset interfaces),  and AXI_Smartconnect. Since there are 4 High performance ports, I can have 4 copies of IP to reduce the execution time. However, I am just wondering what if I have to connect the 4 copies of IP using only one HP port because the other 3 HP ports are used some where else. I see that the execution times reduces but by a very small amount. Also, if I connect all the 4 copies of the same IP to only one HP port than how do I ensure that when coding in SDK, all 4 copies of IP start processing at the same time? Is there any specific way to do this in programming or any thing that takes care of this? I am using C programming and the driver functions of the IP that will be exported to the SDK in the design hardware platform folder. Also, I am working on a bare-metal application right now. Any tutorial or any help is highly appreciated. 

----------------------------------------

 

Thanks,

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Hi @sgandhi,

This question would be better addressed on the Xilinx forum; Digilent hasn't worked very much in the HLS space, nor do I know how you can programmatically ensure something starts processing simultaneously in SDK.

One thing to consider about multi-threading (presuming I am interpreting your desired application correctly) is that performs best with longer computation times. Tasks that don't take a long time can likely be faster on a single thread without the additional overhead of having to communicate and work in tandem with different processes.

Thanks,
JColvin

Link to comment
Share on other sites

On 6/12/2020 at 9:02 AM, JColvin said:

Hi @sgandhi,

This question would be better addressed on the Xilinx forum; Digilent hasn't worked very much in the HLS space, nor do I know how you can programmatically ensure something starts processing simultaneously in SDK.

One thing to consider about multi-threading (presuming I am interpreting your desired application correctly) is that performs best with longer computation times. Tasks that don't take a long time can likely be faster on a single thread without the additional overhead of having to communicate and work in tandem with different processes.

Thanks,
JColvin

Thank you for the reply. I have posted the question on to Xilinx forums, hope to get the reply soon.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...