z2006.12 Synopsys Inc. 1988-2006. All rights reserved. 2-1 set_aocvm_derate_component(2) Synopsys Commands _N_A_M_E set_aocvm_derate_component Specifies AOCVM random or systematic component on the top-level design for use during an AOCVM analysis. SYNTAX int set_aocvm_derate_component [-early | -late] [-cell_delay] [-net_delay] [-random _p_a_t_h__d_e_p_t_h | -systematic _p_a_t_h__d_i_s_t_a_n_c_e] _v_a_l_u_e int _p_a_t_h__d_e_p_t_h float _p_a_t_h__d_i_s_t_a_n_c_e float _v_a_l_u_e list _o_b_j_e_c_t__l_i_s_t ARGUMENTS -early Indicates that the component will apply to delay arcs that are early derated. -late Indicates that the component will apply to delay arcs that are late derated. -cell_delay Indicates that the component will apply to cell arc delays only. -net_delay Indicates that the component will apply to net arc delays only. -random _p_a_t_h__d_e_p_t_h Indicates that _v_a_l_u_e is the random component to be used at a path depth of _p_a_t_h__d_e_p_t_h. The _p_a_t_h__d_e_p_t_h should be an integer value greater than zero. -systematic _p_a_t_h__d_i_s_t_a_n_c_e Indicates that _v_a_l_u_e is the systematic component to be used at a path distance of _p_a_t_h__d_i_s_t_a_n_c_e. The _p_a_t_h__d_i_s_t_a_n_c_e should be a floating-point value greater 2-2 Synopsys Inc. 1988-2006. All rights reserved. z2006.12 Synopsys Commands set_aocvm_derate_component(2) than zero. _v_a_l_u_e Indicates the fractional quantity of process variation for this component with respect to nominal arc delay to be set on the design. The _v_a_l_u_e should be a floating-point number between 0 and 1. DESCRIPTION Sets random and systematic AOCVM components. The AOCVM components are user-specified values that allow the user to define process variations on a top-level design basis. AOCVM components are required for an AOCVM analysis. There are two different types of components that can be specified, called random AOCVM components and systematic AOCVM components. User-defined random components are defined as a function of path depth. Path depth is used to lookup the user-defined random AOCVM component for a cell or net. If a random component has not been specified for the exact path depth required, then PrimeTime will linearly interpolate or extrapolate to determine the required random component. PrimeTime will not extrapolate below the lowest user-defined random component in order to avoid unspecified optimism. See the section named "CALCULATING PATH DEPTH" for more detailed information. User-specified systematic components are defined as a function of path distance. Path distance is used to lookup the user-defined systematic AOCVM component for a cell or net. If a systematic component has not been specified for the exact path distance required, then PrimeTime will linearly interpolate or extrapolate to determine the required systematic component. PrimeTime will not extrapolate below the lowest user-defined systematic component in order to avoid unspecified optimism. See the section named "CALCULATING PATH DISTANCE" for more detailed information. Systematic component scaling can occur on a cell or library cell basis for further granularity if desired. Refer to the manual page for the set_aocvm_derate_coefficient command for more detailed information. AOCVM derate components are combined internally in PrimeTime to generate AOCVM derate factors. PrimeTime provides two different calculation methods for combining derate components. The user may choose z2006.12 Synopsys Inc. 1988-2006. All rights reserved. 2-3 set_aocvm_derate_component(2) Synopsys Commands between these two calculation methods as a matter of preference using the variable named timing_aocvm_use_summation_for_derate_combination. For more information on the calculation methods refer to the manual page for the variable timing_aocvm_use_summation_for_derate_combination. User-specified constant guard-band derates can be incorporated into the analysis. Constant guard-band derate factors are specified using the timing_aocvm_derate_list variable. Lists of set_timing_derate commands are stored in the variable and used during an AOCVM analysis. In an AOCVM analysis these derate factors are applied as constant guard-band factors. For information on how to specify constant guard-band derates refer to the manual page for the timing_aocvm_derate_list variable. AOCVM derate factors are bounded by traditional global derate factors specified using the set_timing_derate command outside of a path-based environment for the same object under consideration. PrimeTime will choose the least pessimistic of the user-specified global derate factor and the calculated AOCVM derate factor for a cell or net object in an AOCVM analysis. Global derate factors are required for an AOCVM analysis. If neither -cell_delay nor -net_delay options have been specified, then the component will be applied to both net arc delays and cell arc delays. To display AOCVM components, use the report_aocvm command. To remove AOCVM components from a design, use the remove_aocvm or the reset_design command. CALCULATING PATH DEPTH Paths depth is calculated internally in PrimeTime. Given a launch path and a capture path different path depths are determined for the objects in each of the paths. Separate launch path depths are used for cells and nets. Similarly, separate capture path depths are used for cells and nets. Path depth is determined by simply counting the number of objects of a specific type in a path. PrimeTime does not include objects in the common path for AOCVM depth calculations. 2-4 Synopsys Inc. 1988-2006. All rights reserved. z2006.12 Synopsys Commands set_aocvm_derate_component(2) Path depth scaling can occur on a cell or library cell basis for further granularity if desired. Refer to the manual page for the set_aocvm_derate_coefficient command for more detailed information. CALCULATING PATH DISTANCE Paths distance is calculated internally in PrimeTime. Given a launch path and a capture path different path distances are determined for the objects in each of the paths. Separate path distances are used for cells and nets. Cell path distance is determined by computing the diagonal of a box which encompasses all of the cells in the path. Similarly, net path distance is determined by computing the diagonal of a box which encompasses all of the nets in the path. PrimeTime does not include objects in the common path for AOCVM distance calculations. Coordinates are required to calculate path distance. The coordinates of various nodes of nets, pins, and ports are imported into PrimeTime from a parasitic file using the read_parasitics command. Set the read_parasitics_load_locations variable to true to instruct PrimeTime to import coordinates. EXAMPLES The following example specifies late systematic components for all cells and nets in the design at various path distances between 1000 and 20000. pt_shell> set_aocvm_derate_component -late -systematic 1000 0.010 pt_shell> set_aocvm_derate_component -late -systematic 5000 0.050 pt_shell> set_aocvm_derate_component -late -systematic 10000 0.100 pt_shell> set_aocvm_derate_component -late -systematic 20000 0.200 The following example specifies late random components for all cells in the design at various path depths between 1 and 10. pt_shell> set_aocvm_derate_component -late -cell_delay -random 1 0.200 pt_shell> set_aocvm_derate_component -late -cell_delay -random 2 0.141 pt_shell> set_aocvm_derate_component -late -cell_delay -random 3 0.115 pt_shell> set_aocvm_derate_component -late -cell_delay -random 4 0.100 pt_shell> set_aocvm_derate_component -late -cell_delay -random 5 0.089 pt_shell> set_aocvm_derate_component -late -cell_delay -random 7 0.076 pt_shell> set_aocvm_derate_component -late -cell_delay -random 10 0.063 z2006.12 Synopsys Inc. 1988-2006. All rights reserved. 2-5 set_aocvm_derate_component(2) Synopsys Commands Given that a design has been timed using traditional global derates and that AOCVM derates have been specified the following example shows how to perform an AOCVM analysis on the worst 1000 paths. pt_shell> report_timing -aocvm -nworst 1000 Users may also obtain timing path collections, which have been adjusted by AOCVM derate factors. Given that a design has been timed using traditional global derates and that AOCVM derates have been specified the following example shows how to obtain a collection of the worst 1000 paths. pt_shell> get_timing_paths -aocvm -nworst 1000 SEE ALSO remove_aocvm(2), _r_e_p_o_r_t__a_o_c_v_m(2), _r_e_p_o_r_t__t_i_m_i_n_g(2), _s_e_t__a_o_c_v_m__d_e_r_a_t_e__c_o_e_f_f_i_c_i_e_n_t(2), _s_e_t__t_i_m_i_n_g__d_e_r_a_t_e(2), _r_e_a_d__p_a_r_a_s_i_t_i_c_s(2), _r_e_a_d__p_a_r_a_s_i_t_i_c_s__l_o_a_d__l_o_c_a_t_i_o_n_s(3), _t_i_m_i_n_g__a_o_c_v_m__d_e_r_a_t_e__l_i_s_t(3), _t_i_m_i_n_g__a_o_c_v_m__u_s_e__s_u_m_m_a_t_i_o_n__f_o_r__d_e_r_a_t_e__c_o_m_b_i_n_a_t_i_o_n(3). 2-6 Synopsys Inc. 1988-2006. All rights reserved. z2006.12