Zynq UltraScale+ MPSoC Power Advantage Tool 2017.4

Zynq UltraScale+ MPSoC Power Advantage Tool 2017.4

Zynq UltraScale+ MPSoC Power Advantage Tool 2017.4

Now that you have installed and run the Pre-Built Power Advantage Tool, let’s take a moment to see what else you can do with it. The Power Advantage Tool Control Console can be used, with designs, to monitor power during the design process. In addition, the Power Advantage Tool can be used as a demonstration of the power savings with various designs.

Document History

Date
Version
Author
Description of Revisions
Feb 27, 2018

jerrywo
Created


1 Power Advantage Tool


Known 2017.4 Issues:
(1) The MSP430 source builds the compatible MSP430 version, but may not support all debug features.

Note: The Power Advantage Tool now takes control of the APU serial port if available. To give user control of the APU terminal, close the Power Advantage Tool, then launch the following script to open terminals, then open the Power Advantage Tool again. The Power Advantage Tool will complain that "No APU UART available", but just close that message.


1.1 Launching the Power Advantage Tool Control Console

Warning: If you have connected Micro USB (UART) (J83) to PC for the first time, or switched boards, you may need to wait a few minutes for the PC to recognize the new hardware. Then you can open the Power Advantage Tool.

Launch the Power Advantage Tool Shortcut at C:\ZynqUS_Demos\ZynqusPowerTool.exe Shortcut.
In a few seconds, you should see a Power Advantage Tool Control Console window with a Power Report. The Power numbers should update every few seconds.
If it is not displayed properly, refer to “Common Setup Issues”, and debug until the “Power Advantage Tool is alive” before returning here to continue.

1.2 Getting to Know the Power Advantage Tool Control Console


After successfully launching the Power Advantage Tool, you should see the following Power Advantage Tool Control Console window (may take a few seconds):


Figure 1. Power Advantage Tool Control Console
This interface is important to most of the demonstrations, so it would be good to familiarize yourself with it. Take a moment to identify the following:
  • Zoom Display (transparent button [ ]) (A) resizes to fill a 1920x1080 display.
  • Close (transparent button [X]) (B)
  • Minimize (C)
  • Select (D) Selects the display mode (Rails, Plot, About contains the version number)
  • Preset (E) Places the ZCU102 into a selected state.
  • Block Diagram of Zynq (F) shows the current device state.
  • Power Totals for various domains (G) (Note: There can be a few seconds delay for measurement and update.)

Note: The Temperature is polled only every few seconds, so it appears after a short time.

Here is a Table of the Rails for ZCU102:
  • VCCPSINTFP – Core Full Power Domain
  • MGTRAVCC – GTX Power
  • MGTRAVTT – GTX Termination Power
  • VCCO_PSDDR_504 – PS DDR Controller IO
  • VCCPSDDRPLL – PS DDR PLL Power
  • VCCPSINTLP – Core Low Power Domain
  • VCCPSAUX – Aux and GPIO
  • VCCPSPLL – PS PLL Power
  • VCCOPS – PS IO Banks MIO0/1/2
  • VCCOPS3 – Dedicated PS IO
  • VCCINT – PL Operating
  • VCCBRAM – Block RAM
  • VCCAUX – Auxiliary Circuits
  • VCC1V2 – DDR Termination
  • VCC3V3 – Main PMBUS Utility Rails
  • MGTAVCC – Receiver and Transmitter Internal
  • MGTAVTT – Transmit Driver

It is a power advantage to be able to turn off unused circuitry. The more power islands and domains you have, the more flexibility you have to save power.
Islands are power switched internally to the Zynq UltraScale+ MPSoC, whereas Domains switch power rails externally to the Zynq device. When Domain switching can be done, this has the advantage of drawing no power by being able to completely turn off a portion of the silicon device.
Note: Switching off domains can clear the program memory until reboot.
Control can be over entire Domains or individual Islands. The next sections will demonstrate switching the Power Domains.

1.3 Domain Control


Power Domains are broad sections of the Zynq UltraScale+ MPSoC an d are the Full Power, Low Power, and Programmable Logic Domains.
The Power Advantage Tool requires no further setup to have access to the Power Domain Controls.


Figure 2. Power Domain Controls

With the Power Advantage Tool running, identify the following controls:
(A) Preset Button
(B) Low Power Domain Button
(C) FulI Power Domain Button
(D) Four A53 Processor Core Power Island Buttons
(E) Programmable Logic Domain Button

1.4 PL Control


The demo PL design contains a configurable design.
Changing the PL design configuration allows the Power to be compared for various designs.


Figure 3. PL Controls.

PL design controls:
  • Work Utilization and Clock Rate (A): Select the PL algorithm and set standard operating parameters.
  • Options (B): Select the PL algorithm and set the non-standard operating parameters.
  • Information i (C): Display information (block diagram) of the PL algorithm. Turn off all the Power Domains (B) (C) (E)

1.5 Selecting Displays


Pressing the Select button gives a menu to select from various displays:
  • Plot: Graphically displays the power for each of the three domains and total power.

Figure 4. Plot.
  • Rails: This is the default display. Rails displays the voltage and power for each of the rails, as well as the chip temperature, and the total power. The power measurements are made external to the Zynq by TI INA226 chips.

Figure 5. Rails.
  • Sysmon: This displays the temperature and voltages read by the System Monitor on the Zynq.

Figure 6. Sysmon.
  • Legend: This page defines each of the Zynq rails.

Figure 7. Legend.
  • About: This page contains the legal notice, as well as the software revisions for Qt and MSP430 code.

Figure 8. About.

1.6 Linux


This section runs the "Dimmer Demo" from the Linux command line.

Note: This portion of the demo requires a user APU terminal. The Power Advantage Tool now takes control of the APU serial port if available. To give user control of the APU terminal, close the Power Advantage Tool, then launch the following script to open terminals, then open the Power Advantage Tool again. The Power Advantage Tool will complain that "No APU UART available", but just close that message.



From C:\ZynqUS_Demos\2017.1_Demos, launch 00a_open_terminals_ZCU102.ahk.
Note: Additional convenience additional scripts (noted in parentheses) for the steps below are available from C:\ZynqUS_Demos\2017.1_Demos

1.6.1 Linux A53 All Busy

(01_demo_all_busy.ahk)

From Linux, we can fully load an APU core:

yes > /dev/null &

Repeating this four times fully loads all APU cores.
This can be verified by running "top" command.

1.6.2 Linux A53 CPU Hotplug

(02_demo_3_off.ahk)

The user may take one or more APU cores on-line and off-line as needed.

Keep one CPU core busy with
yes > /dev/null &
top (Control-C exits top)
Top indicates that the A53 is 25% busy.
Note the change in power.

Fill the remaining CPU cores with
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
top
Note the change in power.
Note that top reports were 100% busy

Take cpu3 offline with
echo 0 > /sys/devices/system/cpu/cpu3/online
Note the change in power

Repeat this two more times
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu1/online
top
And note the change in power
But also note that top thinks were still 100% busy (of the cores in the system)

Try one more time
echo 0 > /sys/devices/system/cpu/cpu0/online
cat /sys/devices/system/cpu/cpu0/online
top
There's no change in power
The core still thinks its on
And we're still 100% busy (the PMU does not allow us to turn off all the CPU cores this way)

Turn the cores back on again and finally remove the tasks keeping the cores busy
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
top
killall yes
top

For more on the Linux CPU Hotplug API, please refer to
Zync UltraScale+ MPSoC Power Management - Linux Kernel

1.6.3 Linux A53 Frequency Scaling

(03_demo_3_off_299mhz.ahk, requires 02_demo_3_off.ahk first)

The user may change the frequency of an APU core as needed.

Take note of the power
Then change the frequency of an A53 core to 299MHz
echo 299999 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Note the change in power.

Change the frequency of the A53 core back to 1200MHz
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

For more on the Linux Frequency Scaling API, please refer to
Zync UltraScale+ MPSoC Power Management - Linux Kernel

1.6.4 Linux A53 Power On Suspend to RAM

(04_demo_a53_suspend_uart.ahk)

From Linux, we can Suspend, but first we program a wake source.

To suspend and wake from UART:
echo enabled > /sys/devices/platform/amba/ff000000.serial/tty/ttyPS0/power/wakeup
echo mem > /sys/power/state
Note the drop in power ... Then press a key to resume.

To suspend and wake from a timer:

echo +30 > /sys/class/rtc/rtc0/wakealarm
echo mem > /sys/power/state
Note the drop in power ... Then 30 seconds later, we resume.

For more on the Linux Suspend API, please refer to
Zync UltraScale+ MPSoC Power Management - Linux Kernel

1.6.5 Linux A53 FPD Off Suspend to RAM

(05_demo_rpu_off.ahk, then 04_demo_a53_suspend_uart.ahk)

From Linux, we can demonstrate FPD Off Suspend to RAM by first turning off RPU:

echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
echo force_powerdown 6 > /sys/kernel/debug/zynqmp_pm/power

Then by running the commands in the previous section to A53 Suspend to RAM

Note: It is technically possible to have the FPD Off while RPU is still running (not using anything in FPD). We hope to show that mode in a future version of the Power Advantage Tool Demo.

Caution: The FPD Off Suspend to RAM feature is currently available on a limited basis. Please see your Field Application Engineering representative for more information on this feature.

Caution: For reliable RAM retention, this feature requires the latest MSP430 code, or for PSDDR VCCO SEL jumper J56 to be moved from pins 1,2 (default) to pins 3,4 to keep the DDR I/O Rail powered.

1.6.6 Linux A53 Debugfs

Warning: This API is for debug, and is likely cause unexpected problems with normal Power Management.

Here's an example of the format:
echo request_node 22 1 100 1 > /sys/kernel/debug/zynqmp_pm/power
Node 22 = USB_0
Capabilities 1 = Preserve context
QoS 100 = Quality of Service max
Ack 1 = Blocking acknowledge requested

For more on the Linux Debugfs API, please refer to XPm_RequestNode
Zync UltraScale+ MPSoC Power Management - Linux Kernel
Power Management Framework User Guide: For Zynq UltraScale+ MPSoC Devices UG1199

1.7 GUI


Some power states can be demonstrated from the GUI. These controls execute the same Linux commands automatically from the GUI.
This section runs the "Dimmer Demo" from the GUI.
Note: There may be slight differences in the content of the two "Dimmer Demo" versions.

Note: This portion of the demo requires the Power Advantage Tool to have control of the APU serial port. If you have a user APU terminal, close the user APU terminal and reopen the Power Advantage Tool.

1.7.1 GUI A53 All Busy

From the GUI, we can fully load an APU core:

Click the APU load button (Tachometer Icon, just under "A53/0"). Select "4 tasks".

Note the change in power.
Note: If HDMI is used, XaoS Mandelbrot will not display.

1.7.2 GUI A53 CPU Hotplug

The user may take one or more APU cores on-line and off-line as needed.

Click the APU button ("A53/1") to take that core offline.
Also take offline "A53/2" and "A53/3"

Note the change in power.

1.7.3 GUI A53 Frequency Scaling

The user may change the frequency of an APU core as needed.

Take note of the power
Click the APU clock button (Clock Icon, centered below "A53/2" and "A53/3")
Then change the frequency of an A53 core to 300MHz
Note the change in power.

1.7.4 GUI A53 Power On Suspend to RAM

From the GUI, we can Suspend.
Preset > "FPD - On Suspend"

To Resume from Suspend
Preset > "FPD - 1 CPU"

Note the change in power.
Note Ubuntu state has been retained.

1.7.5 Demo Reset

To reset the demo to the beginning state:

Click the APU clock button (Clock Icon, centered below "A53/2" and "A53/3")
Then change the frequency of an A53 core to 1.2GHz

Click the APU buttons to take the cores back online ("A53/1", "A53/2" and "A53/3")

Click the APU load button (Tachometer Icon, just under "A53/0"). Select "0 tasks".

1.7.6 GUI Reboot

We can reboot by power cycling the board, and reopening the Power Advantage Tool (if the tool is in a demo state).
But we can also reboot from the GUI:
Preset > All Off
Preset > FPD - On, LPD - On, PLD - On

Note: Please wait a minute or two for boot before resuming the demo.

1.8 Telnet


Since the Power Advantage Tool takes the APU serial port if available, it is also possible to connect to the APU via Telnet.

Note: When available instead, it is often easier to take the APU Serial port from the Power Advantage Tool by closing the Power Advantage Tool, opening up a user APU Terminal, then reopening the Power Advantage Tool (cancelling the "APU COM Port in use" complaint).

Note: The network interface may be randomly assigned, in which case you may need to set the static IP Address manually from the Linux terminal (then close the Linux terminal, and reopen the Power Advantage Tool). This can be done by "ifconfig -a" to find the network interface name <ethX>. Then "ifconfig <ethX> 192.168.1.112" to assign the proper static IP Address (e.g. "ifconfig eth0 192.168.1.112").

Note: This portion of the demo assumes that you have properly configured your PC to static IP address 192.168.1.110 as described in the Setup section 1 of Installing the Pre-Built Power Advantage Tool

Note: The Telnet demo is known not to be persistent through Suspend/Resume.

1.8.1 Launch PuTTY

From C:\ZynqUS_Demos, open putty.exe - Shortcut.

1.8.2 Configure PuTTY for Telnet

Enter the Host Name (or IP Address): 192.168.1.112.
Select Connection type: Telnet
Open



1.8.3 Telnet Login

Login with: root
Password: root



1.9 Ubuntu


The 2017.4 Power Advantage Tool features Ubuntu. There are several manual demos that can be done from the Ubuntu Keyboard / Mouse.

1.9.1 Ubuntu Apps

System Monitor (Shows CPU Load): Applications > Utilities > System Monitor
Mandelbrot (Loads a CPU): XaoS - Fractal Zoomer > UI > Autopilot
3D Car Model (Loads GPU): 3D Car Model > Left Mouse Drag to View Angle, Right Mouse Drag to Zoom, Esc Closes

Related Links

Home Previous Back Next

© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy