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.
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.
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.
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.
@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.