AM335x Power Estimation Tool

Introduction
The Power Estimation Tool (PET) allows users to gain insight into the power consumption of select Sitara processors. The tool includes the ability for the user to choose multiple application scenarios and understand the power consumption as well as how advanced power saving techniques can be applied to further reduce overall power consumption.

PET is comprised of three modules:


 * 1) Input Spreadsheet – this downloadable spreadsheet is the mechanism in which users input device parameters needed for their application. Parameters include IP activities/loadings, desired power states, and power management usages. For advanced users, multiple operating conditions can be applied along with time slots for each state.
 * 2) Spreadsheet Upload – upon completion of the input spreadsheet, users can then upload the spreadsheet to TI for the power consumption analysis. Registration and legal agreement acceptance is required for the upload.
 * 3) Power Analysis Report – contains the information on power consumption based on the spreadsheet upload. The report which includes leakage, active and total average power, as well as power management voltages, will be sent to the user via email.

Note: The AM335x PET applies to AM3352, AM3354, AM3356, AM3357, AM3358 and AM3359 devices.

Input Spreadsheet
 Download AM335x PET Input Spreadsheet here. 

There are two types of input spreadsheets. The Simplified input spreadsheet is designed for estimating the power for a single application scenario. The Advanced input spreadsheet has additional columns (slots) for multiple application scenarios. The power estimates from the Advanced spreadsheet will be an average power of the multiple application scenarios (slots) configured in the input spreadsheet.

The input spreadsheet consists of 4 sections: High-Level System Configuration, Processors, Peripherals, and Analog Modules. To use the input spreadsheet, users need to modify the input fields with their appropriate usage parameters. Cells that are designed for user input are light green in color. Simply configure the light green cells to a value most closely aligned with your intended scenario.

Briefly, the purpose of each of the 4 sections is:
 * Section A: configure the high-level system configuration such as junction temperature and power estimation mode.
 * Section B: configure processor subsystem components.
 * Section C: configure peripherals.
 * Section D: configure analog modules.

Macro Buttons
The spreadsheet includes macros. If you can't run macros, please review your excel security settings described in below articles. Change macro security settings in Excel (Office 2007) Enable macros to run (Office 2003)

The input spreadsheet has command buttons to run macros as shown in Figure 1.

'''Figure 1. Macro Buttons'''


 * 1) "Click to Submit" - Navigate to PET spreadsheet upload page.
 * 2) "Default Settings" - Clear all settings and configure them to the default values.
 * 3) "Dhrystone" - Configure settings to the Dhrystone benchmark example application scenario. [MPU intensive, high power use case]
 * 4) "OS Idle" - Configure settings to Linux OS Idle example application scenario. [MPU idle, medium power use case]
 * 5) "DeepSleep0" - Configure settings to DS0 example application scenario. [MPU off, low power use case]
 * 6) "Wiki Article" - Navigate to this wiki article.

Section A: High-Level System Configuration
This section allows users to select the device revision, choose DDR type and loading, set a junction temperature (not ambient temperature) between 0C and 105C, power estimation mode, SmartReflex AVS (Adaptive Voltage Scaling) and Dual-Voltage IO VDDSHVx voltages as shown in Figure 2.

'''Figure 2. Section A of AM335x PET input spreadsheet.'''


 * Device Revision: PG2.1, PG1.0 (most users should be evaluating PG2.1)
 * DDR Type: mDDR, DDR2, DDR3, DDR3L,None
 * DDR Loading: 0, 1, 2 (corresponds to the number of DDR devices in the system)
 * Junction Temperature (°C) : 0 ~ 105 (negative values are not supported in the tool)
 * Power Estimation Mode : Max, Typ ('Max' accounts for the worst-case silicon process variation)
 * SmartReflex : On, Off
 * VDDSHVx Voltage [V] : 1.8 or 3.3
 * Power Mode: Active, Standby, DeepSleep1, DeepSleep0, RTC Only
 * Dynamic Power Switching: On, Off (currently only supported for PD_GFX)

'''Table 1. Typical Power Modes.'''

The spreadsheet presents information only for the full-featured device in the AM335x family. However, since the spreadsheet breaks out the power consumption due to each module in the full-featured device, estimates for the other devices in the AM335x family can be obtained by setting zero for the modules not present in the device under consideration. This will ensure that active power from the non-applicable modules are not included in the power tally. The device differences are summarized at the overview section in AM335x Device Evaluation Wiki.

Section B: Processors
This section allows the user to set an operating performance point (OPP) for MPU domain and CORE domain, MPU utilization and SGX utilization as shown in Figure 3.

'''Figure 3. Section B of the AM335x input spreadsheet.'''

The OPP options supported for the MPU voltage domain (VDD_MPU) and the CORE voltage domain (VDD_CORE) are shown in the tables below.

'''Table 2. PG1.0 VDD_CORE Operating Performance Points for ZCZ Package.''' '''Table 3. PG1.0 VDD_MPU Operating Performance Points for ZCZ Package.''' '''Table 4. PG1.0 VDD_CORE Operating Performance Points for ZCE Package.''' '''Table 5. PG2.1 VDD_CORE Operating Performance Points for ZCZ Package.''' '''Table 6. PG2.1 VDD_MPU Operating Performance Points for ZCZ Package.''' '''Table 7. PG2.1 VDD_CORE Operating Performance Points for ZCE Package.'''

Module utilization is the percentage of the available MHz at the selected OPP needed to meet the scenario processing requirement.

A separate utilization entry is provided for the Cortex-A8 ARM processor and the NEON SIMD engine.
 * 1) Cortex-A8 (ARM Cortex-A8 processor core): 0 - 100 %
 * 2) Cortex-A8 NEON (General purpose SIMD engine): 0 - 100 %

For the graphics accelerator subsystem, a separate utilization entry is provided:
 * 1) SGX (2D/3D graphics accelerator engine): 0 - 100 %

Section C: Peripherals
This section is used to configure the activity on peripheral modules as shown in Figure 4.

'''Figure 4. Section C of the AM335x PET Input Spreadsheet.'''

For each modules, a user can enter module utilization as a percentage (0-100). A separate utilization entry is provided for the following modules:
 * EDMA (Enhanced Direct Memory Access controller)
 * EMIF (External Memory InterFace controller)
 * GPMC (General Purpose Memory Controller)
 * OCMC-RAM (On-Chip Memory Controller and RAM)
 * LCDC (LCD Controller)
 * USB (Universal Serial Bus)
 * Ethernet MAC
 * PRUSS (Programmable Real-Time Unit Subsystem)
 * McASP (MultiChannel Audio Serial Port)
 * MMC (MultiMedia Card host controller)
 * MISC. PERIPHERALS (other miscellaneous peripherals such as UART, SPI, I2C, CAN, GPIO, eHRPWM, eQEP and RTC modules)

Section D: Analog Modules
Section D enables a configuration for analog modules in the AM335x as shown in Figure 5 below.

'''Figure 5. Section D of the AM335x PET Input Spreadsheet.'''


 * ADC (A/D converter): On, Off

Spreadsheet Upload
 Upload your AM335x PET Input Spreadsheet here. 

Upon completion of the input spreadsheet, users can then upload the spreadsheet to TI for the power consumption analysis. Registration and legal agreement acceptance is required for the upload.

Power Estimation Report Sheet
The power estimation tool generates a power analysis report in a spreadsheet format (See Figure 6). The estimated values are leakage, active and total average power over the time during the entire application scenario. The report also lists per power rail groups. When SmartReflex (AVS) is enabled, MPU and CORE voltage rails show controlled voltages by SmartReflex.

'''Figure 6. Power Estimation Report.'''

Power consumption in the AM335x device consists of:
 * leakage power – due to leakage current, and dependent on temperature and device process
 * active power – due to transistor switching, and independent of temperature

The AM335x Power Estimation Tool models temperature and device process effects on device power consumption. Active power consumption is the power that is consumed by portions of the AM335x that are performing some processing. Active power is independent of temperature, but dependent on voltage and module activity levels.

Module Utilization Sheet
The available bandwidth for each module depends on the device interconnects architecture and the selected CORE OPP. The power estimation tool calculates current module bandwidth from utilization entered by the user and shows the results for each time slot with the maximum available bandwidth for the selected OPP in a separate worksheet (See Figure 7).

'''Figure 7. Maximum Module Utilization.'''

Important Notes and Limitations
The following notes and limitations apply to the AM335x Power Estimation Tool:
 * It is up to the user to input reasonable utilization numbers for the MPU subsystem for the purposes of maximum power analysis. 90-100% loading on the subsystem is not realistic for most application scenarios.