PYNQ: PYTHON PRODUCTIVITY

Output images to DisplayPort/HDMI from PS side

Hi, dear PYNQ experts,

We’re using PYNQ-Z1 and ZCU104 in the project. However, our software needs to output the GUI for result visualization through the screen monitor.

Thus, does anyone know how to display something to the DISPLAY (DISPLAYPORT or HDMI) of ZCU104 or PYNQ-Z1/Z2 from the PS side? The GUI software runs on the PS of the FPGA which is written by QT C/C++ library.

QT C/C++ library–>PS CPU–>Output to Displayport/HDMI on the ZCU104 or PYNQ-Z1/Z2.

Or which FPGA board can support the requirement.

Thank you very much in advance.

All the best,
Nan

I rephrase my question after reading some information about the DISPLAYPORT on FPGA. I appreciate for whatever your comments in this regard. Thank you.

On the ZCU104 the DisplayPort output should already be showing a Linux Desktop from where you can run your GUI code. We don’t have any support for using the HDMI ports from Linux - there are some driver headaches with reprogramming the FPGA while Linux is using the HDMI output so it’s not something we’ve implemented.

Peter

Thank you for the information. We only need to have a way to display the GUI and thus the DisplayPort should be enough. I’ll give it a try on the ZCU104.

Thank you

Nan-Sheng

@PeterOgden

I found the following demo example you did on ZCU104.

If I would like to re-run the demo on my own ZCU104, the first thing I need to do is to connect the monitor with the DisplayPort. Then, I can run the demo to see the status of power consumption on the screen. Is it correct? Are there any external components I should also connect with?

Stats.ipynb shows interaction with the new PMBus API in PYNQ and how on-board power can be measured. It also plots graphs of the data in pseudo real time and writes the output to a window on the monitor so that you can see how the various layers affect the power consumption on the board. The Optical Flow layer in particular causes a noticeable increase in power when activated.

Thank you

No external components are needed - there are power measurement sensors already on the board which PYNQ can interact with.

Peter

@PeterOgden
Just to clarify further. As I see in this demo, it use matplotlib.pyplot to plot the graph. Thus, user needs to connect to the DisplayPort at least if he would like to see the graph. Is it correct?

In that demo we draw the maptlotlib graph directly on to a PYNQ frame buffer and output it via HDMI. When we were presenting the demo live we used the DisplayPort output for interacting with Jupyter to keep everything self-contained.

I took from your question that you had an existing QT GUI you wanted to run so drawing that on to a PYNQ framebuffer is not an option hence the suggestion to use DisplayPort.

Peter

Thank you again.

I’ll try this demo example with ZCU104 connected to DisplayPort.