More than one application on board

Hi all,
Here is one question. Now i want to have two or more applications on board.
One application is about image processing and others are video and machine learning.
About image processing, I want it to be static overlay which is always on PL.
Video and machine learning are dynamic overlays that always exchange with each other and do not influence image processing overlay.
Can vivado work out for this scenario?

Thanks for your kindly reply.

Can you explain better what you are trying to achieve?
From what I understand:

  • first application uses only one overlay statically loaded on the PL
  • second application switches between two overlays

I don’t think Vivado is going to help you with this, if you already have the overlays and don’t want to combine them, this is a software/host-side issue.
You will have to create an application that combines the two you mentioned and arbitrage the usage of the PL loading and executing stuff from the right overlay. Or more simply put, you will have to implement the same mechanism of application two, but rather switch between 3 overlays instead of 2.

The two applications cannot exactly run in parallel PL-side, unless you do one thing (and in this case, Vivado absolutely supports it): reserve a static region of the PL for the first overlay, and dinamycally reconfigure the other region with the other two overlays of the second application. This means doing partial reconfiguration, which PYNQ supports (read here), but how to design partially reconfigurable overlays is outside of the PYNQ scope. You are better off asking on the official Xilinx forum if that’s what you want to do.

If I didn’t understand correctly, please try to provide more details.

1 Like

Hi @gnatale, appreciate your detailed explanation. What you talk is just what i want to do.
I must reserve a static region of the PL with vivado support and the other region for two overlay use.

Partial reconfiguration will refer teaching on PYNQ document.


1 Like