Get_fanins, Get_fanins –47 – Altera SDC and TimeQuest API User Manual

Page 57

Advertising
background image

Chapter 2: SDC and TimeQuest API Package and Commands

2–47

sdc_ext

© December 2009

Altera Corporation

SDC and TimeQuest API Reference Manual

get_fanins

Usage

get_fanins [-asynch] [-clock] [-inverting_paths] [-no_logic] [-non_inverting_paths]
[-synch] [-through <names>] <filter>

Options

-asynch: Traverse through asynch edges

-clock: Traverse through clock edges

-inverting_paths: Only follow inverting combinational paths

-no_logic: Do not follow combinational paths

-non_inverting_paths: Only follow non-inverting combinational paths

-synch: Traverse through synch edges

-through <names>: Valid through nodes (string patterns are matched using Tcl string
matching)

<filter>: Valid starting nodes (string patterns are matched using Tcl string matching
or collection)

Description

Returns a collection of fanin nodes starting from the <filter> in the design. When you supply the -no_logic
option, get_fanins ignores the paths that pass through combinational logic elements other than buffers and
inverters.

When you use the -synch, -asynch or -clock options, get_fanins traverses the netlist through corresponding
edges. More than one of these options can be specified. If you do not specify any of these three options, the
command does not ignore any paths.

When the -non_inverting_paths option is used, no_logic does not follow any paths that includes odd
number of inverters. Similarly, when the -inverting_paths option is used, no_logic does not follow any
paths that includes even number of inverters. Both the -non_inverting_paths and -inverting_paths options
require the -no_logic option and are mutually exclusive.

When the -through option is used, only the fanins that can be reached by going through those nodes are
returned.

The filter for the collection is a Tcl list of wildcards, and must follow standard Tcl or TimeQuest-extension
substitution rules. See the help for the use_timequest_style_escaping command for details.

Example

set fanins [get_fanins $item -synch -clock]
foreach_in_collection fanin_keeper $fanins {

lappend fanin_keeper_list [get_node_info $fanin_keeper -name]

}

set fanins_no_logic [get_fanins $item -no_logic -asynch]
foreach_in_collection fanin_keeper $fanins_no_logic {

lappend fanin_keeper_list_no_logic [get_node_info $fanin_keeper \
-name]

}

#-through example
get_fanins inst18 -through inst11

Advertising