Power Aware Debug
The power architecture in today's designs is getting more and more complex, and multiple power domains with many power modes require a thorough verification method. Some technologies are provided to define and verify the complex power domains. Among these technologies, the standard power formats, Common Power Format (CPF)/Unified Power Format (UPF), and power-aware simulation are widely used to ensure that low-power designs still produce a high confidence chip.
In order to support the standard power formats and also visualize the power intent and simulation results, the VerdiTM Automated Debug system started supporting power-aware debug in 2009.10. The standard Verdi debug capability can be used to debug power issues which are found by these visualizations.
The Power Manager window
The following figure shows the GUI of the Power Manager window which will be brought up automatically after users imported the UPF or CPF file. There are four panes in the Power Manager window to visualize the imported power intent: Power Domain Details, Power State Table, Source Code Pane, and Message Pane.

The Power Domain Details pane shows all power domains defined in this design and is called the power domain details pane. Every domain is marked with a different color, and these colors can be re-defined by the Tools > Highlight Power Domain command in nTrace. All power definitions for the selected power domain are shown in a structural way so the related definitions can be easily found. A viewing filter is also provided for the power domain details pane. Use the option commands under View to optimize the information displayed in this pane. If the FSDB file has been loaded and the Source > Active Annotation toggle command has been turned on, the domain status will be displayed dynamically by "on" or "off" icon according to the time in the Cursor Time field on the toolbar.
The Power State Table pane of the browser shows the power state table of the imported design. The table will be enabled by default if there is power mode/power state information in the imported CPF/UPF file. If the Source > Active Annotation toggle command has been turned on, the active state will be highlighted. The row for active power mode will be highlighted with an orange background color, and the un-matched state in the non-active rows will be marked with red text.
The Source Code Pane of the Power Manager window shows the source code of the imported CPF/UPF power file. The content will be changed accordingly when double-clicking different items in the Power Domain Details pane. Just like the source code pane in the nTrace window, enabling the Source > Active Annotation command will annotate the FSDB value for signals under the source code if the FSDB file is loaded into the Verdi system. Tracing capabilities including tracing HDL driver/load and tracing power driver/load are also available in the Source Code Pane, where tracing power driver/load can help to locate the associated power commands and tracing HDL driver/load provides the same signal tracing capabilities as nTrace.
The bottom pane of the Power Manager window is called the Message Pane. When you invoke the Source > Find command to find any item in the power file, all searched results will be listed in the message pane. The Find Type could be String, Signal, Scope, Domain, and Power Net. Double-clicking on the search result message will jump to the corresponding line in the source code pane.
Besides the dedicated Power Manager window, the Verdi system also extended the power aware debugging capability to the current debug windows, such as nTrace, nWave, nSchema, and Temporal Flow View.
Power Debug in nTrace
After importing the UPF/CPF file, the color for power domains will be highlighted in the nTrace Hierarchy Browser pane. Every instance will be highlighted with a different color according to its power domain, and the color is synchronized with the setting in the Power Manager window. Besides colorizing instances, all Power Aware Objects (which includes Isolation, Retention, Level Shifted signals...etc) will also be highlighted in the nTrace Source Code Pane. Also, a tip with power information is supported in the nTrace window. When the mouse cursor is placed over a node in the Hierarchy Browser pane, the node's domain, state, and conditions will be displayed in the yellow tip. When the mouse cursor is placed over a retention/isolation/level-shifted signal in the source code pane, the associated rules and conditions will be shown in the yellow tip. The following figure shows an example for the above capabilities.

Furthermore, when tracing drivers or loads in nTrace, some additional messages will be added in the Message Pane to indicate whether the result belongs to the same power domain or a different one and the result will be colored to match its power domain settings.

Power Debug in nSchema
Power domains and power aware signals will also be highlighted in the schematic view. The highlight can be turned on/off with the View > Power Object Color > Power Domain Color and View > Power Object Color > Power Signal Color commands.

The power state will be annotated after turning on the Schematic > Active Annotation command, and the instance with "off" state will be grayed out. The following figure shows an example for this.

Power Debug in nWave
The power aware colors also affect the nWave display. When the Get Signals command is used in nWave, the signal color will follow the setting in this option. The following figure shows an example of color highlighting for power in the Get Signals form. The red color represents retention signals.

After adding these signals into nWave, the signal retains the color setting in the waveform view. The nWave window also adds a suffix to the signal in the signal pane. Turning on the View > Power Off Mask toggle command will mask out power-off range in the waveform view. The following figure shows an example for the highlight and power-off mask capabilities.

Tracing capabilities for power domains are provided in the waveform view for power-aware signals. For example users can select a signal in the Signal Pane, and invoke the RMB > Power > Add Power Domain command to add the power domain which the selected signal belongs to. Users can also select a signal (or domain), and invoke the RMB > Power > Add Power Mode command to add the power mode under the selected signal. The following figure shows an example for these two tracing capabilities.

Tracing capabilities are also provided for tracing power-aware signals like Retention, Isolation, and Level-Shifted signals. These tracing commands will trace to the power aware rule and its affected controls and signals, and shows the traced result on nWave and the Power Manager window. Users can click the right mouse button on these power aware signals to bring up tracing commands.
Power Debug in Temporal Flow View
The Temporal Flow View (TFV) window also supports power domain highlight. The path shown in the TFV will have instances highlighted with the color of the respective power domains and the RET/ISO annotation for retention/isolation latches/FFs if there are any in the path. The Power domain name and status will be shown on toolbar. The following figure shows an example for the highlight.

A dedicated symbol is also provided to represent isolation signals. Users can double-click on the CONDITION pin to trace the condition for isolation rule, and Drag & Drop the CONDITION symbol to the Power Manager window for tracing power rules. See the following figure for an example:

To read more about the evolution of power-aware debug and the advancements that the Verdi system provides, please see the whitepaper titled Challenges and Requirements for Power-Aware Debug.
For more detailed commands and usage, please refer to the Novas Command Reference manual.
