* New: In KatanaEngine::digitalInit(), when using a "VH,2RL" style,
protect all RoutingPads of each net, because unlike "2RL+" style,
the standard cell RoutingPads are not in a "below" layer only
used inside the cell, but on the V layer. So the area of the RP,
even if not fully used to connect, must be protected.
* Change: In NegociateOverlapCost(), when computing cost from a fixed
or blockage, do not set the infinite flag if it's the *same* net.
* New: In KatanaEngine::protectRoutingPads(), add a new "flags" argument
to pass on whether we want to protect the the RP candidates or just
the non-used ones.
* Change: In protectRoutingpad(), change the formula (again) to compute
the berth to give to a fixed segment... Should really try to
summarize all the case.
* Change: In TrackFixedSegment::getNet(), no longer return the blockage
net if the real net is tagged as clock.
* Bug: In Anabatic::AutoHorizontal::_makeDogleg(), the up/down flag
was incorrectly computed when the RoutingGauge RL where not the
lower one. This was leading to making doglegs in non-routable
layers (but present in the gauge for other purposes).
* New: In Katana::Configuration, added option:
"cfg.katana.disableStackedVias" (default to false), so the router
do not stack VIAs on top of each other.
* Bug: In NegociateWindow::loadRoutingPads(), create TrackMarkers using
the right depth when the gauge starts with non-routable ones.
* New: In Track::addOverlapCost(), when disableStackedVias is active,
uses the markers from the below terminals to tag the cost as
"infinite", so the track *cannot* be used by the marker's net
owner. Can be refined by checking that we are not at a segment's
end but will do for now.