Common nodes are taken care of with the above recommendations. However, design specific handshaking (protocols, memory interface, etc.) and data ports also need attention. Ideally, the activity rates on primary ports decide the overall activity of the design, which influences the dynamic power accuracy. Report Power assigns a default switching activity of Toggle_rate=12.5 and Static_Probability=0.5 on primary inputs (except clock and control ports). These values mean that the port will toggle once in eight clock cycles, and 50% of time the port stays at High (Logic 1). This assumption works fairly well on data ports. But it will have a huge accuracy impact when it is applied to handshaking nodes. This emphasizes the importance of correct switching information settings on primary inputs. The default activity settings can be found in the Switching tab of the Report Power dialog box:
You can change the default values which will be applied to all primary inputs (non-clock and non-control). Equivalent Tcl command:
set_switching_activity -default_static_probability 0.5 -default_toggle_rate 25
The same activity rate is applied to all the primary inputs - Report Power does not understand and distinguish handshaking ports from data ports. So it is important to specify the activity rates manually for the handshaking ports. This can be done either through the Vivado® Integrated Design Environment or a Tcl command.
In the Power Report, the I/O section lists all the ports and corresponding switching activity information.
Verify the activity rates on I/O ports. To change the activity rate, select the input port in the Power Report and edit the Power properties in the I/O Port Properties window.
Equivalent Tcl commands:
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]