get_fanin net seg fault resolves #263
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
624d3680b3
commit
aa1e53738c
|
|
@ -563,6 +563,20 @@ net_load_pins(Net *net)
|
|||
return pins;
|
||||
}
|
||||
|
||||
PinSet
|
||||
net_pins(Net *net)
|
||||
{
|
||||
Network *network = Sta::sta()->ensureLinked();
|
||||
PinSet pins(network);
|
||||
NetConnectedPinIterator *pin_iter = network->connectedPinIterator(net);
|
||||
while (pin_iter->hasNext()) {
|
||||
const Pin *pin = pin_iter->next();
|
||||
pins.insert(pin);
|
||||
}
|
||||
delete pin_iter;
|
||||
return pins;
|
||||
}
|
||||
|
||||
const char *
|
||||
pin_location(const Pin *pin)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4960,9 +4960,7 @@ Sta::findFaninPins(PinSeq *to,
|
|||
ensureLevelized();
|
||||
PinSet fanin(network_);
|
||||
FaninSrchPred pred(thru_disabled, thru_constants, this);
|
||||
PinSeq::Iterator to_iter(to);
|
||||
while (to_iter.hasNext()) {
|
||||
const Pin *pin = to_iter.next();
|
||||
for (const Pin *pin : *to) {
|
||||
if (network_->isHierarchical(pin)) {
|
||||
EdgesThruHierPinIterator edge_iter(pin, network_, graph_);
|
||||
while (edge_iter.hasNext()) {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,12 @@ proc get_fanin { args } {
|
|||
}
|
||||
parse_port_pin_net_arg $keys(-to) pins nets
|
||||
foreach net $nets {
|
||||
lappend pins [net_driver_pins $net]
|
||||
set net_pins [net_pins $net]
|
||||
if { $net_pins != {} } {
|
||||
lappend pins $net_pins
|
||||
} else {
|
||||
sta_warn 541 "No load pins connected to net [get_full_name $net]."
|
||||
}
|
||||
}
|
||||
set flat [info exists flags(-flat)]
|
||||
set only_insts [info exists flags(-only_cells)]
|
||||
|
|
|
|||
Loading…
Reference in New Issue