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# 63020

Vivado Power Analysis - How do I set switching activities for primary inputs (use set_switching_activity and set_input_delay command on specific protocol or handshaking inputs and data ports)?


How do I set switching activities for primary inputs.

I am using the "set_switching_activity" and "set_input_delay" command on specific protocol or handshaking inputs and data ports.


The primary inputs should be constrained with a set_input_delay command.

In addition to the set_input_delay, the design specific handshaking (protocols, memory interface, etc) and data ports also need attention.

The activity rates on primary ports influences the dynamic power Report_power uses a default switching activity on all inputs (except clock and control ports), which means they will not match the real behavior of the hardware interface.

The default switching activity works fine on the majority of data ports.

But it will have a huge accuracy impact when it is applied to handshaking ports.

You will need to set the correct switching activity settings on these primary inputs. 

The default activity settings can be changed in the Report_power GUI Settings Window or through Tcl Command:

set_switching_activity -default_static_probability 0.5 -default_toggle_rate 25

Please note that it applies the same activity rate to all the primary inputs - it does not understand and distinguish handshaking ports from data ports.

So it is important to specify the activity rates manually to the hand-shaking ports.

This can be done either through a GUI or Tcl command.

***RECOMMENDATION*** Ensure correct switching info on primary I/O Ports.

Report_power results also identifies such primary ports in the design, so that you can quickly validate the switching information on those nets and take the corrective action.

It also gives the number of logic cells that are affected by these nets - Fanout and Logic Type.

If initial switching activity estimation does not seem correct, you can simply select the 'net' in the Power view and edit the Power property in the 'Net Properties' window or
through the Tcl command below:

set_switching_activity -static_probability 0.25 -toggle_rate 10 [get_ports im_fcx_sync_in]
set_switching_activity -static_probability 0.5 -toggle_rate 50 [get_ports im_fcx_data_in]

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# 63020
Date 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
Page Bookmarked