Power measurement using PMbus library (pynq.get_rails) on ZCU-106 board

PYNQ version: v2.7.0
Board name: ZCU-106

Hello, I have successfully built v2.7.0 PYNQ image for ZCU106, I would like to measure the PS and PL power consumption when running my own-designed IP.

And I planned to use pynq.get_rails() to monitor the power of the PS and PL. However, I could not find the key belonging to PL or PS (like ‘INT’ or ‘12v’), there is only a power sensor which called ‘power’, so I wonder how to monitor more rails using ZCU106 board?

Here is my execution screenshot:

Btw, when I was building the PYNQ image, I have modified the .spec file from ZCU104 and use it as ZCU106.spec, and add the sensorconf packages in this file. Do I need to modify ZCU104.conf in sensorconf folder? or there are other solutions helping me to monitor PS or PL power on ZCU106?

Thanks.

1 Like

@jeremyatedge

Are you sure all the rails you are required are with proper hardware support?
see schematic:

AMD Adaptive Computing Documentation Portal


image

Yes, I think I need the power rail called ‘VCCINT’ in Table 3-53 that you provided. so how can I print out these rail, as only rails called ‘power1’ appears when executing pynq.get_rails().

Do you mean I should modify the .conf file? Here is my .conf file, I wonder which part I need to modify, thanks!

@jeremyatedge

I am confuse what you need.
There are no chip probing the 12V rail (maybe I missed).
How could you probe 12V when there are no sensor attaching?

BTW label in2 “INT” is what U47 doing (maybe I missed again)?

Sorry, ‘INT’ and ‘12V’ are only the examples I want to use. ‘12V’ could not be probed, and ‘INT’ is what U47 doing. What I need is to monitor the PL power of using ‘pynq.get_rails()’

So I am just wondering how can I get the ‘INT_power’ using PYNQ, because I currently only got the voltage (label in2) based on the print info, where I need to modify?

@jeremyatedge

See:
https://pynq.readthedocs.io/en/latest/pynq_libraries/pmbus.html?highlight=get_rails

BTW, it is just a IIC bus you can do it yourself without really huge workload.
Reading couples of IIC registers are trivial.

ok, thanks, I will further check the library : )