z2006.12 Synopsys Inc. 1988-2006. All rights reserved. 2-1 all_fanout(2) Synopsys Commands _N_A_M_E all_fanout Creates a collection of pins/ports or cells in the fanout of the specified sources. SYNTAX collection all_fanout -from _s_o_u_r_c_e__l_i_s_t -clock_tree [-flat] [-only_cells] [-endpoints_only] [-levels level_count] [-pin_levels pin_count] [-step_into_hierarchy] list _s_o_u_r_c_e__l_i_s_t int _l_e_v_e_l__c_o_u_n_t ARGUMENTS -from _s_o_u_r_c_e__l_i_s_t Specifies a list of source pins, ports, or nets in the design. Each object is a named pin, port, or net, or a collection of pins, ports, or nets. The timing fanout of each source in _s_o_u_r_c_e__l_i_s_t becomes part of the resulting collection. If a net is specified, the effect is the same as listing all load pins on the net. This option is exclusive with the -clock_tree option. -clock_tree Indicates that all clock source pins and/or ports in the design are to be used as the list of sources. Clock sources are specified using create_clock. If there are no clocks, or if the clocks have no sources, the result is the empty collection. This option is exclusive with the -from option. -endpoints_only When this option is specified, only the timing endpoints will be included in the result. -only_cells The result will include only cells in the timing fanout of the _s_o_u_r_c_e__l_i_s_t and not pins or ports. 2-2 Synopsys Inc. 1988-2006. All rights reserved. z2006.12 Synopsys Commands all_fanout(2) -flat There are two major modes in which all_fanout functions: hierarchical (the default) and flat. When in hierarchical mode, only objects within the same hierarchical level as the current source are included in the result. In flat mode, the only non-leaf objects in the result will be hierarchical source pins. -levels _c_e_l_l__c_o_u_n_t The traversal will stop when reaching a depth of search of _c_e_l_l__c_o_u_n_t hops, where the counting is performed over the layers of cells of same distance from the source. -pin_levels _p_i_n__c_o_u_n_t The traversal will stop when reaching a depth of search of _p_i_n__c_o_u_n_t hops, where the counting is performed over the layers of pins of same distance from the source. -step_into_hierarchy This option may only be used in hierarchical mode and only has effect with either -levels or -pin_levels. Without the switch, a hierarchical block at the same level of hierarchy as the current sink is considered to be a cell; the output pins are considered a single level away from the related input pins, regardless of what is inside the block. With the switch enabled, the counting is performed as though the design were flat, and although pins inside the hierarchy are not returned, they determine the depth of the related input pins. DESCRIPTION The all_fanout command creates a collection of objects in the timing fanout of specified source pins/ports or nets in the design. A pin is considered to be in the timing fanout of a source if there is a timing path through combinational logic from that source to the pin. The fanout stops at the inputs to registers (sequential cells). The sources are specified using z2006.12 Synopsys Inc. 1988-2006. All rights reserved. 2-3 all_fanout(2) Synopsys Commands either -clock_tree or -from _s_o_u_r_c_e__l_i_s_t. If current instance in the design is not the top level of hierarchy, only objects within the current instance will be returned. EXAMPLES This example shows the timing fanout of a port in the design. The fanout includes a register, reg3. pt_shell> query_objects [all_fanout -from in1] {"in1", "reg3/D"} This example shows the difference between the hierarhical and flat modes of all_fanout. The source is an output pin of a hierarchical cell, H3/z1, which is connected to an input pin of another hierarchical cell, H4/a. H4 contains contains a leaf cell U1 with input A and output Z. The first command is hierarchical mode, and shows that hierarchical pins are included in the result. The second command is in leaf mode, and leaf pins from the lower level are included. pt_shell> query_objects [all_fanout -from H3/z1] {"H3/z1", "H4/a", "H4/z", "reg2/D"} pt_shell> query_objects [all_fanout -from H3/z1 -flat] {"H3/z1", "H4/U1/A", "H4/U1/Z", "reg2/D"} SEE ALSO all_fanin(2), _r_e_p_o_r_t__t_r_a_n_s_i_t_i_v_e__f_a_n_i_n(2), _c_u_r_r_e_n_t__i_n_s_t_a_n_c_e(2). 2-4 Synopsys Inc. 1988-2006. All rights reserved. z2006.12