Bug fix: Always select the Pin as best RoutingPad component.
* Bug: In Anabatic::Configuration::selectRpComponent(), always select the Pin as the best component. It is mandatory for a block that we pick up the terminal at the periphery and not one deep inside the block. * Bug: In Hurricane::RoutingPad::setOnBestcomponent(), same rule as in Anabatic, if there is any, the Pin must always be the best RoutingPad component.
This commit is contained in:
parent
a971f6f91b
commit
be2f9f8a45
|
@ -465,6 +465,12 @@ namespace Anabatic {
|
|||
continue;
|
||||
}
|
||||
|
||||
if (dynamic_cast<Pin*>(component)) {
|
||||
cdebug_log(112,0) << " Pins are always considered best candidates:" << component << endl;
|
||||
bestComponent = component;
|
||||
break;
|
||||
}
|
||||
|
||||
Component* candidate = dynamic_cast<Segment*>(component);
|
||||
if (not candidate
|
||||
or (candidate->getLayer()->getMask() != metal1->getMask()) )
|
||||
|
|
|
@ -350,6 +350,11 @@ namespace Hurricane {
|
|||
for ( Component* component : NetExternalComponents::get(plug->getMasterNet()) ) {
|
||||
if (not bestComponent) { bestComponent = component; continue; }
|
||||
|
||||
if (dynamic_cast<Pin*>(component)) {
|
||||
bestComponent = component;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (flags & ComponentSelection) {
|
||||
case LowestLayer:
|
||||
if (component->getLayer()->below(bestComponent->getLayer()))
|
||||
|
|
Loading…
Reference in New Issue