Cyclone V SoC Power Optimization

ID 683713
Date 2/09/2015
Document Table of Contents

1.2.3. HPS Power Reduction Summary

There are several methods for reducing HPS power consumption.

  1. Fit code in cache
    • Ensure that the loop you're running (code and data being accessed) doesn't consume more than the 512Kb of L2 cache.
  2. Processor standby modes and clock gating
    • Follow the instructions preceding the WFI/WFE call to take advantage of dynamic clock gating in the MPU
    • Issue WFI or WFE instructions to enter standby mode
      • Entering this mode engages any dynamic clock gating logic you’ve enabled
  3. Put CPU1 in WFI/WFE or “standby loop” when CPU1 is not be used in your system.
  4. Reduce the overall CPU clock frequency
  5. Utilize low power modes in Ethernet
  6. Utilize low power modes in the USB controller
  7. Hold unused peripherals in reset

The table below gives an order of magnitude estimate of the potential power savings that can be gained using each of these methods:

Table 2.  Order of Magnitude Power Savings for HPS Power Reduction Methods
HPS Power Saving Method Approximate Power Reduction
Code Loop in L2 Cache 400 mW
CPU Frequency Reduction ~0.475 mW/MHz
WFI/WFE or Standby Loop 200 mW
WFI/WFE vs CPU1 held in reset 90 mW1
Ethernet EEE/Idle 20-30 mW
USB Idle 10-15 mW
Note: These numbers are approximate and are provided to give visibility to relative power reduction gains for the listed methods. They are provided to help prioritize power saving efforts for the biggest payoff. They are not guaranteed and will vary from system to system or SoC to SoC. All numbers with the exception of the "Frequency Reduction" are based on an 800 MHz CPU clock.
1 It is best to put an unused core in a WFE/WFI loop to take advantage of the power reduction.