Silicon Labs documentation on Simplicity Energy Profiler version 6.0.96.

Documentation source: https://docs.silabs.com/energy-profiler/6.0.96

# Simplicity Energy Profiler

## Energy Profiler Overview

Simplicity Studio® 6 (Studio 6)'s Energy Profiler enables you to visualize the energy consumption of individual devices, multiple devices on one target system, or a network of interacting wireless devices to analyze and improve the power performance of these systems. Real-time information on current consumption is correlated with the program counter providing advanced energy software monitoring capabilities.

Energy saving and efficiency are at the top of developers’ priorities for an ever-growing number of embedded systems applications. These constraints can be due to government regulations (for example, metering applications), a requirement to increase battery life, or simply a need to lower the electricity bill. In battery-operated systems, energy efficiency often plays the most important role. In cases where developers are satisfied with their system’s battery life, increasing the energy efficiency means they can switch to a smaller and cheaper battery, which will lower the overall cost. There are also situations where the operating life must be extended to the absolute maximum, such as products where the battery cannot be replaced or replacement involves very high costs.

Having a low-power MCU by itself does not mean you will have lower energy consumption. The trick is to optimize your software not just in terms of functionality, but also with respect to energy efficiency. Having full control of the hardware surrounding the MCU and optimizing the overall software and peripheral usage are crucial factors for reducing system energy consumption. Software is not usually seen as an energy drain, yet every clock cycle consumes energy. Minimizing the number of clock cycles becomes a key challenge to reduce overall system consumption.

The Energy Profiler enables you to visualize the energy consumption of individual devices, multiple devices on one target system, or a network of interacting wireless devices to analyze and improve the power performance of these systems. Real-time information on current consumption is correlated with the program counter providing advanced energy software monitoring capabilities. It also provides a basic level of integration with the Network Analyzer network analysis tool.

In these pages the following terms will be used:

- **AEM**: Advanced Energy Monitor
- **ISD**: The file extension used with Multi-Node Energy Profiler and Network Analyzer files.
- **PTI**: Packet Trace Information

## Simplicity Energy Profiler Version 6.0.96 (October 16, 2025) Release Notes

Visualize real-time current consumption data with Simplicity Energy Profiler to optimize power consumption and extend battery life in embedded applications.

### Release Summary

#### Key Features

##### Added in 6.0.96

- Initial Release of Energy Profiler as a standalone analysis tool.

#### Bug Fixes

##### Fixed in 6.0.96

- None

#### Removed/Deprecated Features

- None

#### Known Issues and Limitation

- None

## Starting an Energy Analysis Session

Start an energy analysis session by launching Energy Profiler from either Simplicity Studio 6 or from the **Tools** section in the Visual Studio Code extension.

If application firmware is already running on a device, you can connect to it from the Energy Profiler tool. Flash the application firmware to the device and then in the Energy Profiler click **Quick Access** to display its menu and select **Start Energy Capture**.

![energy prof quick start](/energy-profiler-start-energy-analysis/1.0.0/images/energy-prof-quick-start.png)

Studio 6 prompts you to select the devices to profile. Select one or more devices and click **OK**.

![energy prof select device](/energy-profiler-start-energy-analysis/1.0.0/images/energy-prof-select-device.png)

Energy Profiler then:

- Starts energy capture for that device.
- Depending upon which view is currently active, displays the device’s energy data on Single-Node view, Multi-Node view, or Scope view.

### Customer Hardware and Software Design Information

This section discusses design requirements in order for a device to be able to use Energy Profiler features. Among these features is Code Correlation, which connects power consumption and executed code. Using code correlation is discussed in more detail in [Profiling with Code Correlation](/energy-profiler/{build-docspace-version}/energy-profiler-profiling-code-correction).

#### Hardware Design

To use the Energy Profiler functionality on a board design, the board needs to include a debug interface that can be connected to a Silicon Labs STK or WSTK. For the basic Energy Profiler current measurements, the board must be powered from the VAEM supply of a Silicon Labs STK or WSTK. To also include code correlation, the debug interface must include the SWO interface. Both the current measurement and the code correlation (SWO) can be obtained by using the Silicon Labs Mini Simplicity 10 pin connector. This connector is detailed in [AN958: Debugging and Programming Interfaces for Custom Designs](https://www.silabs.com/documents/public/application-notes/an958-mcu-stk-wstk-guide.pdf). The Mini Simplicity 10 pin connector can be used with all EFM32 and EFR32 parts. The pinout is shown in the following figure.

![energy prof efm8](/energy-profiler-start-energy-analysis/1.0.0/images/energy-prof-efm8.png)

The WPK (BRD4002A) include a built-in Mini Simplicity connector, so it can be used as is for current measurement and code correlation. As mentioned in [AN958: Debugging and Programming Interfaces for Custom Designs](https://www.silabs.com/documents/public/application-notes/an958-mcu-stk-wstk-guide.pdf), using the Silicon Labs debug adapter board (BRD8010A) is the easiest way to get the Mini Simplicity pinout from a Silicon Labs STK or WSTK development kit.

#### Software Design

To use the current monitoring functionality provided by the AEM interface, no software changes or setup are required. To use the code correlation functionality, the SWO pin interface must be configured to output periodic program counter information.

Use the Project Configurator to configure the project to support code correlation by completing the following four steps:

1. In the Project Configurator, SOFTWARE COMPONENTS tab, find and install the **SWO Debug** component.
2. Click **Configure** to open the Component editor.
3. Open its configuration file and turn on **Enable interrupt event trace** and **Enable program counter samples**.
4. If the device allows SWO functionality on multiple GPIO pins, in the SL_Debug card's **SWV** field, select the pin to be used as the SWO output.

![SWO Debug component configuration](/energy-profiler-start-energy-analysis/1.0.0/images/swo-debug-component-configuration.png)

Further initialization of the software component in code is not required provided that the **System Init** component is installed in the project.

## User Interface

The Energy Profiler is divided into six primary sections.

- **Quick Access Menus** - The most frequently used menus for Multi-Node Energy Profiler are available on the user interface itself and also from the Profiler menu at the top menu bar.
- **View Selector** - Three views for Multi-Node Energy Profiler can be selected by clicking the View Selector bar.
- **Data Control** - Controls in this area are used to enable and disable data flow to the user interface and to disk.
- **Statistics** - Energy data for the waveform is shown in the statistics area.
- **Code Correlation** - Function execution related to power consumption is shown in the Code Correlation view.
- **Editor** - Source code for the program is shown here and works in conjunction with the Code Correlation view.

The following figure shows Single-Node view.

![energy prof interface](/energy-profiler-user-interface/1.0.0/images/energy-prof-interface.png)

Three views are available for evaluating power performance:

- [Single-Node View](#single-node-view)
- [Multi-Node View](#multi-node-view)
- [Scope View](#scope-view)

### Single-Node View

Single-Node view is used to display a single device’s waveform and events. It displays a high-detail waveform and ensures that all events rows are visible, without the need to scroll the UI. Energy Profiler combines this Single-Node view, the Code Correlation view, and the source code Editor view, allowing you to perform in-depth analysis of a single device from many viewpoints. Any active device may be selected through the **Display Nodes** menu.

![energy prof single node](/energy-profiler-user-interface/1.0.0/images/energy-prof-single-node.png)

### Multi-Node View

Multi-Node view is used to display multiple device waveform and events. It allows you to investigate system behavior and interactions between devices. Two devices are visible in the main portion of the UI, while others are viewed by scrolling. The Multi-Node view groups each individual device’s waveform and events together. Energy Profiler combines this Multi-Node view, the Code Correlation view, and the source code Editor view, allowing you to perform in-depth analysis of multiple devices from many viewpoints.

![energy prof multi node](/energy-profiler-user-interface/1.0.0/images/energy-prof-multi-node.png)

Multi-Node view offers the following capabilities:

- Sorting
- Node display control

#### Sorting

Sorting in Multi-Node view allows you to order waveforms based upon several criteria. For example, it may be useful to sort descending by average power, such that the highest power consumers are easily identified at the top. As shown in the following figure, devices may be sorted ascending and descending by name, average current, average power, or total energy.

![energy prof multi sort](/energy-profiler-user-interface/1.0.0/images/energy-prof-multi-sort.png)

#### Displaying Nodes

Enabling capture on any device automatically adds it to the Multi-Node view. However, as the number of devices displayed increases, UI performance may be impacted. Click **Display Nodes** to select the devices that will be displayed. This selection only affects the waveform display. If recording is enabled, data for all actively capturing devices is streamed to disk regardless of whether or not they are displayed.

![energy prof multi select](/energy-profiler-user-interface/1.0.0/images/energy-prof-multi-select.png)

### Scope View

Scope view is used to display multiple device waveforms and events, allowing you to investigate system behavior and interactions between devices. In Scope view, all waveforms are displayed in one waveform area, so that you can see all waveforms without needing to scroll the UI. It also enables the user overlay and align traces like an oscilloscope. All event traces are grouped below the waveform view.  Energy Profiler combines this Scope view, the Code Correlation view, and the source code Editor view allowing you to perform in-depth analysis of a single device from many viewpoints.

![energy prof scope](/energy-profiler-user-interface/1.0.0/images/energy-prof-scope.png)

Scope view offers the following capabilities:

- Sorting
- Node display control
- Waveform display control

#### Sorting

Sorting in Scope view allows you to order events based upon several criteria. For example, it may be useful to sort events descending by average power, such that the events for the highest power consumers are easily identified at the top.

![energy prof multi sort](/energy-profiler-user-interface/1.0.0/images/energy-prof-multi-sort.png)

#### Displaying Nodes

Enabling capture on any device automatically adds it to scope view. However, as the number of devices displayed increases, UI performance may be impacted. Click **Display Nodes** to select which devices will be displayed. This selection only enables or disables display of waveform and event data in the UI. If recording is enabled, data for all actively capturing devices is streamed to disk regardless of whether they are displayed.

![energy prof scope select](/energy-profiler-user-interface/1.0.0/images/energy-prof-scope-select.png)

#### Displaying Waveforms

One of the Scope view’s key benefits is the ability to view waveforms in a single view at difference scales, enabling you to compare waveform characteristics that would not be possible for two waveforms on the same scale. The waveform scale/offset controls are available by default at the upper right corner of the Scope waveform view. The color of the waveform scale/offset control indicates which waveform will be adjusted when the sliders are moved.

![energy prof scope wave](/energy-profiler-user-interface/1.0.0/images/energy-prof-scope-wave.png)

The drop-down menu at the top of the control allows you to select the device to be adjusted by the waveform scale and offset control. The debug adapter name colors match the colors in the waveform portion of Scope view.

![energy prof scope wave2](/energy-profiler-user-interface/1.0.0/images/energy-prof-scope-wave2.png)

Toggle wave scale/offset control display using the show/hide button above it.

![energy prof scope wave3](/energy-profiler-user-interface/1.0.0/images/energy-prof-scope-wave3.png)

#### Selecting Ranges

Energy Profiler provides the ability to select a range of data by clicking and dragging across the waveforms or events. This is useful for determining power statistics for regions of interest. Once a range is selected, a light gray section summarizing the energy statistics for the selected region is displayed. That section also allows you to re-center the selection in the waveform view if it has scrolled out of view and includes a button to close/deselect the region.

![energy prof select range](/energy-profiler-user-interface/1.0.0/images/energy-prof-select-range.png)

## Energy Statistics

Energy Profiler calculates the following device and system statistics:

- Average current
- Average power
- Total energy

Statistics are provided for each individual device in the waveform’s top bar on both Single-Node and Multi-Node views. The sum for all devices is provided in the top bar of Multi-Node Energy Profiler for all three views. Single-Node and Multi-Node views provide individual device statistics, while Scope view does not.

![energy prof stats](/energy-profiler-energy-statistics/1.0.0/images/energy-prof-stats.png)

This page reviews how to:

- [Configure energy statistics](#energy-statistics-configuration)
- [Save a snapshot for future reference](#energy-statistics-snapshot)
- [Review saved statistics](#review-saved-statistics)

### Energy Statistics Configuration

Energy Profiler allows you to select which of the actively capturing devices are included in the total system energy statistics calculation displayed in the top bar. Click the **Energy Statistics Configuration** icon and select the devices to be included in the calculation. It is important to note that the devices available for selection are those that are actively capturing data, which may be different from the devices that are selected for display in the UI.

![energy prof stats config](/energy-profiler-energy-statistics/1.0.0/images/energy-prof-stats-config.png)

### Energy Statistics Snapshot

Energy Profiler allows you to save statistics for future reference and comparison. Click the **Save Snapshot** icon on any of the energy statistics panels and be presented with a dialog to provide a name and tag for future reference.

![energy prof stats snapshot](/energy-profiler-energy-statistics/1.0.0/images/energy-prof-stats-snapshot.png)

### Review Saved Statistics

Once you have saved multiple snapshots, you may want to review them, or to copy them to the clipboard for use in other applications. This is possible through the **Profiler->Session Statistics...** menu.

![energy prof stats save](/energy-profiler-energy-statistics/1.0.0/images/energy-prof-stats-save.png)

## Play and Record Data

The following diagram provides a general description of data flow from target devices into SSv5 profiling applications. Data is sourced from target devices from the debug adapter either through USB or Ethernet connectivity to the host PC. The host debug adapter software layer provides data to the AEM/PTI data streaming engine, which in turn provides data to analysis applications such as Multi-Node Energy Profiler or Network Analyzer. The AEM/PTI data streaming engine saves data to disk in temporary files during a capture session. When the user ends the session, Energy Profiler prompts the user with the option to save the data to file.

![energy prof control chart](/energy-profiler-play-record-data-control/1.0.0/images/energy-prof-control-chart.png)

[Play](#play-control) and [record](#record-control) controls in the top bar of the Energy Profiler perspective provide control over data being captured from connected devices.

![energy prof control buttons](/energy-profiler-play-record-data-control/1.0.0/images/energy-prof-control-buttons.png)

### Play Control

The Play control determines whether data being captured is displayed in the Multi-Node Energy Profiler UI. The Play control has three states:

- Running (green)
- Paused (black)
- Frozen (orange)

![energy prof control play](/energy-profiler-play-record-data-control/1.0.0/images/energy-prof-control-play.png)

- **Running**: The "Running" state is entered when a capture is first started. When the Play control is green and displays "Running", it means energy capture data is actively arriving and being displayed on the UI. The visible portion of the waveform and events is the most recently captured data as it is arriving to Multi-Node Energy Profiler. The time position scroll bar is all the way to the right.
- **Paused**: The "Paused" state is entered by clicking **Play** while it is in the green "Running" state. The Play control turns black and displays "Paused", indicating energy capture data is actively arriving but it is not being displayed on the UI. The visible portion of the waveform and events may be anywhere on the timeline of previously captured data. Pausing the display has no effect on whether data is saved to disk. Save to disk is determined by the state of the Record control.
- **Frozen**: The "Frozen" state means energy capture data is actively arriving for display, but the visible portion of the waveform and events in the UI is previously captured data. The time position scroll bar may be anywhere on the timeline of previously captured data. The "Frozen" state is entered when the UI is in the play state and the time position scroll bar is scrolled or moved to the left. The "Frozen" state may also be entered as the result of a "Freeze trigger" condition. The "Frozen" Play control state has no effect on whether data is saved to disk. Save to disk is determined by the state of the Record control.

### Record Control

The Record control manages data streaming to disk. There are two states to the Record control:

- Recording (red)
- Not recording (black)

![energy prof control record](/energy-profiler-play-record-data-control/1.0.0/images/energy-prof-control-record.png)

- **Recording**: When the Record control is red and displays "Recording", it means energy capture data is actively arriving and is being saved to temporary files to disk. When an energy capture is started, the "Recording" state is entered automatically. The state of the Record control has no effect on the Play control or the data being displayed in the UI. Clicking the Record control while in the "Recording" state transitions to the "Not Rec" state (that is, not recording). The "Recording" state may also be entered by use of Record triggers.
- **Not Recording**: When the Record control is black and displays "Not Rec", it means energy capture data is actively arriving but it is not being saved to disk. The "Not Rec" state is entered by clicking the Record control when it is in the "Recording" state. The state of the Record control has no effect on the Play control or the data being displayed in the UI. Clicking the Record control while in the "Not Rec" state will transition to the "Recording" state. The "Not Rec" state may also be entered by use of record triggers.

## Freeze and Record Triggers

Triggers provide a method to automate freezing the display or recording to disk. Trigger icons are found below the Play and Record controls. Three triggers are available:

- [Freeze trigger](#freeze-trigger)
- [Record start trigger](#record-start-stop-triggers)
- [Record stop trigger](#record-start-stop-triggers)

![energy prof trigger controls](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-controls.png)

Triggers are driven by criteria set by the user. To set the criteria, use the context menu available from each trigger icon. The context menu also provides the ability to clear all conditions, which also disables the trigger.

![energy prof trigger criteria](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-criteria.png)

### Trigger States

The four trigger states are each designated by a color:

- Grey - Trigger conditions are not set
- Yellow - Trigger conditions are set, trigger is not armed
- Red - Trigger conditions are set, trigger is armed
- Green - Trigger has fired

When Energy Profiler first starts up in a new workspace, all trigger icons are grey, indicating trigger conditions have not yet been set. Clicking a grey trigger icon opens the trigger configuration dialog, allowing you to specify trigger conditions. Once trigger conditions have been set, the trigger icon turns yellow, indicating the trigger conditions are set but the trigger is not armed. Clicking a yellow trigger icon arms the trigger as indicated by the trigger icon turning red. Incoming data is now evaluated against the trigger condition. Once the trigger condition is satisfied, the trigger icon turns green, indicating the armed trigger has fired. The relevant action (freeze, record start, or record stop) will have been executed. The following diagram shows the trigger state behavior.

![energy prof trigger states](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-states.png)

### Freeze Trigger

The freeze trigger transitions the user interface from play to freeze mode automatically based upon search criteria. The freeze criteria are set through the Freeze Trigger Conditions dialog. This is invoked either through the **Profiler > Freeze Trigger...** menu selection or by right-clicking the **Freeze Trigger** icon and selecting **Configure Freeze Trigger".

![energy prof trigger freeze](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-freeze.png)

In the following diagram, the play freeze trigger condition has occurred in the incoming data. Freeze mode is automatically entered for the waveform display and data continues to arrive as indicated by the scroll bar automatically moving to the left as new data arrives. Notice that the freeze trigger icon is green, indicating the trigger condition has occurred in arriving data.

![energy prof trigger freeze2](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-freeze2.png)

### Record Start/Stop Triggers

The record start/stop triggers automatically start and stop data record to disk based upon search criteria. This may be beneficial for capturing rare conditions rather than recording large amounts of data followed by search. The record start criteria are set through the Record Start/Stop Trigger Conditions dialog, which is invoked through the **Profiler > Record Triggers...** selection" menu or by right-clicking the **Record Start** or **Record Stop** icon and selecting the **Configure** option. The record start/stop trigger conditions are set together in a single dialog as shown in the following figure.

![energy prof trigger record](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-record.png)

In the following figure, the record start trigger condition has occurred in the incoming data as indicated by the green record start trigger icon. The record stop trigger condition has not yet occurred and data will be written to disk until it does.

![energy prof trigger record2](/energy-profiler-freeze-record-triggers/1.0.0/images/energy-prof-trigger-record2.png)

## Search Capability

One of Energy Profiler's most powerful aspects is the ability to search data. Search is available both during a live capture and with an offline ISD file. Click **Search** to open the Search Conditions dialog.

![energy prof search](/energy-profiler-search/1.0.0/images/energy-prof-search.png)

When you click **OK**, a search is performed on all data currently available, whether from the currently active capture or in offline mode from an open file.

The search results window is displayed on completion. Sections where the data matched the criteria are shown in red. A summary of the count and % coverage of the matching regions is shown at the upper right. Use the context menu to jump to the matching in the waveform view from the search results window.

![energy prof search2](/energy-profiler-search/1.0.0/images/energy-prof-search2.png)

## Profiling with Code Correlation

Code correlation is one of the most powerful features in Energy Profiler. Energy Profiler captures program execution in conjunction with the energy data. This allows Energy Profiler to calculate the power consumed by each function executed in the application. This data may then be sorted to highlight the portions of an application that consume the most power. This enables the application developer to know where they should concentrate their software development efforts to reduce power consumption. Additionally, Energy Profiler can color-code sections of the current waveform to represent which functions were executing when a given section of the current waveform occurred.

This page reviews:

- [Enabling code correlation](#enabling-code-correlation)
- [The Code Correlation view](#code-correlation-view)
- [Color coding](#color-coding-and-code-correlation)

### Enabling Code Correlation

This section assumes an embedded application is already configured to produce AEM data through a debug adapter (see [Customer Hardware and Software Design Information](./starting-a-session#customer-hardware-and-software-design-information)  for details). For code correlation to operate, Energy Profiler needs access to debug information associated with the embedded application that is currently running. This information is available in the OUT file output from the build. Code correlation is enabled with an application that is already running on an embedded device that is being profiled in Energy Profiler.

When you start energy capture with a running embedded application, Energy Profiler does not have the debug information it needs to associate program execution with source code. In these cases, the Code Correlation view is as shown in the following figure.

![energy prof code correl profiler](/energy-profiler-profiling-code-correction/1.0.0/images/energy-prof-code-correl-profiler.png)

Select the debug adapter for the device running the application (even if only one is available) and then click the **Select an Executable** link. The program selection dialog appears.

Click the Browse icon, navigate to to the application's build output directory, select the OUT file, and then click **Open**.

![energy prof code correl profiler2](/energy-profiler-profiling-code-correction/1.0.0/images/energy-prof-code-correl-profiler2.png)

### Code Correlation View

The Code Correlation view is shown below the waveform portion of the Multi-Node Energy Profiler Perspective, and works in conjunction with the Editor view. When multiple devices are displayed in the Multi-Node view, you can click on each adapter to view the function profile data associated with that device. The function data may be sorted as desired. Clicking on any function opens the associated source file in the Editor view with the start of scope for that function selected.

![energy prof code correl view2](/energy-profiler-profiling-code-correction/1.0.0/images/energy-prof-code-correl-view2.png)

### Color Coding and Code Correlation

Energy Profiler provides the ability to color-code the current waveform based on program execution. You can set the color for each function using the context menus in the Code Correlation view.

![energy prof code correl color](/energy-profiler-profiling-code-correction/1.0.0/images/energy-prof-code-correl-color.png)

The following figure shows the current waveform view with several functions set to different colors.

![energy prof code correl color2](/energy-profiler-profiling-code-correction/1.0.0/images/energy-prof-code-correl-color2.png)

## Debugging with the Logic Analyzer

**Note:** Energy Profiler's integrated Logic Analyzer can only be used with Wireless Pro Kit Mainboards, such as BRD4002A. The features described in this section are enabled only when supported hardware is connected.

The Logic Analyzer displays the profiles from up to eight channels corresponding to the mainboard's four external pins, two LEDs, and two buttons:

External channels: 0-3

- CH0
- CH1
- CH2
- CH3

Internal channels: 4-7

- CH4: LED0
- CH5: LED1
- CH6: BTN0
- CH7: BTN1

![pro kit for logic analyzer](/energy-profiler-debugging-logic-analyzer/1.0.0/images/logic-analyzer-pro-kit.png)

The Logic Analyzer's channel buttons act as toggles: click a button to display the logic signal, click again to turn it off. The channels that are being displayed can be dragged and positioned closer to or farther away from other channels or the energy profile.

![logic analyzer generic view](/energy-profiler-debugging-logic-analyzer/1.0.0/images/logic-analyzer-generic-view.png)

Freeze triggers can be set for the logic signals as for other features, as described in Freeze and Record Triggers. Click the Freeze trigger to open the configuration dialog, then select **DigitalSignal**, the target channel, and the condition.

Logic channel data recording will be enabled in a future release.

![logic analyzer freeze trigger](/energy-profiler-debugging-logic-analyzer/1.0.0/images/logic-analyzer-trigger-view.png)