We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 63021

Vivado Power Analysis - How do I set switching activities for major components (use 'set_switching_activity -type' command on major components such as BRAM, DSP, etc.)?


How do I set switching activities for major components such as BRAM, DSP, etc.?

I am using the 'set_switching_activity -type'  command.


The activity rates across major components can have a considerable impact on the overall power consumption of the design.

The activity rates across hard primitives like BRAM, GTs, DSP are expected to reflect meaningful values.

However we encourage you to double check that the activity rates are correct, and to ensure that there are no internal logic propagation or modeling issues.

For example, report_power does not propagate activity rates across GT components, so all of the GT outputs need the correct activity rates. 

In the report_power GUI Setting window, you can set output activities rates on various types: Registers, shift Registers, LUT RAM, BRAM, DSP &GTs. 

The global setting affects all instances of hard primitives in the design.

For example, setting the Toggle Rate on 'Block RAMs' will apply it to all of the block RAMs in the design. 

Alternatively, The Cell Properties window can also be used to change the activity rates.

Report_power results also identifies these elements in the design, so that you can quickly validate the switching information on those components and take the corrective action.


To change the activity rate, select the hard primitive instance in the Report Power view and edit the Power property in the 'Cell Properties' window. 

Similarly, you can use the Tcl Interface to change the activity rates on types:

To set activity rates on all BRAMs in a design scope u1/transmit use the following:  
set_switching_activity -static_probability 0.25 -toggle_rate 10 -type bram [get_cells u1/transmit]

To set activity rates on all GTs present in the design use the following:  
set_switching_activity -static_probability 0.5 -toggle_rate 50 -type gt -all

Note: Refer to (UG907) Power Analysis & Optimization for more information about Tcl command usage and signal rate or toggle rate usage.

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
63015 Vivado Power Analysis - How do I get the most accurate results from report_power? N/A N/A
AR# 63021
Date Created 12/03/2014
Last Updated 12/04/2014
Status Active
Type General Article
  • Vivado Design Suite - 2014.4
  • Vivado Design Suite - 2014.3
  • Vivado Design Suite - 2014.2
  • Vivado Design Suite - 2014.1