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;
|
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 *
|
const char *
|
||||||
pin_location(const Pin *pin)
|
pin_location(const Pin *pin)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4960,9 +4960,7 @@ Sta::findFaninPins(PinSeq *to,
|
||||||
ensureLevelized();
|
ensureLevelized();
|
||||||
PinSet fanin(network_);
|
PinSet fanin(network_);
|
||||||
FaninSrchPred pred(thru_disabled, thru_constants, this);
|
FaninSrchPred pred(thru_disabled, thru_constants, this);
|
||||||
PinSeq::Iterator to_iter(to);
|
for (const Pin *pin : *to) {
|
||||||
while (to_iter.hasNext()) {
|
|
||||||
const Pin *pin = to_iter.next();
|
|
||||||
if (network_->isHierarchical(pin)) {
|
if (network_->isHierarchical(pin)) {
|
||||||
EdgesThruHierPinIterator edge_iter(pin, network_, graph_);
|
EdgesThruHierPinIterator edge_iter(pin, network_, graph_);
|
||||||
while (edge_iter.hasNext()) {
|
while (edge_iter.hasNext()) {
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,12 @@ proc get_fanin { args } {
|
||||||
}
|
}
|
||||||
parse_port_pin_net_arg $keys(-to) pins nets
|
parse_port_pin_net_arg $keys(-to) pins nets
|
||||||
foreach net $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 flat [info exists flags(-flat)]
|
||||||
set only_insts [info exists flags(-only_cells)]
|
set only_insts [info exists flags(-only_cells)]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue