coriolis/katana/src
Jean-Paul Chaput a4ad671739 Fix too naive obstacle detection on non-prefered metal2 wires.
* Fix: In Manipulator::avoidBlockage(), the dedicated function to check if
    there is an obstacle in the way of a non-prefered routing wire (done
    for metal2 connecting to terminals only) was too naive.
      We were checking the tracks for obstacles crossing exactly the axis
    of the segment. And for near-miss this is not enough. Now check on
    the whole x-span to be used by the segment.
      Code borrowed and simplified from Track::addOverlapcost().
* Change: In Manipulator::moveUp(), the default value for the extra
    reservation allowing a long wire to move up need to be customized
    for Flexlib/StdCellLib (allow successful routing of ChipFlow/MPW4).
      Add two new configuration parameters to katana:
        * "katana.longWireUpThresold1" : the length, expressed in number
	  of *slice height* above which a global wire is considered a
	  *long* wire (not close interconnect).
        * "katana.longWireUpReserve1" : the extra number of free tracks
	  that must remains free in the up layer after the move up,
	  in each GCell traversed by the wire. Expressed in number of
	  tracks, but can be non-integer (float, for instance: 1.5).
2021-12-21 16:13:31 +01:00
..
katana Fix too naive obstacle detection on non-prefered metal2 wires. 2021-12-21 16:13:31 +01:00
BloatProfile.cpp Clarify semantic of flatten Collections (walkthrough). 2020-03-10 12:10:53 +01:00
Block.cpp Clarify semantic of flatten Collections (walkthrough). 2020-03-10 12:10:53 +01:00
CMakeLists.txt Fix library linking problem for gcc 9 and above (Ubuntu 20/Debian 11). 2021-11-22 00:05:48 +01:00
Configuration.cpp Fix too naive obstacle detection on non-prefered metal2 wires. 2021-12-21 16:13:31 +01:00
Constants.cpp Various fixes for Katana::BloatProfile. 2019-12-11 11:17:32 +01:00
DataNegociate.cpp Fix bad computation of perpandicular free space in DataNegociate. 2021-12-18 17:45:17 +01:00
DataSymmetric.cpp Groudwork for routing density driven placement. Compliance with clang 5.0.1. 2019-12-09 01:57:44 +01:00
GlobalRoute.cpp Restore the measurements taking in Anabatic/Katana. 2021-11-24 15:52:56 +01:00
GraphicKatanaEngine.cpp Fix too naive obstacle detection on non-prefered metal2 wires. 2021-12-21 16:13:31 +01:00
HorizontalTrack.cpp Replace "unsigned int" by "Flags" in all AutoSegments collections. 2017-05-16 14:53:33 +02:00
KatanaEngine.cpp Added Etesian to the measurment system. 2021-12-11 19:47:24 +01:00
Manipulator.cpp Fix too naive obstacle detection on non-prefered metal2 wires. 2021-12-21 16:13:31 +01:00
NegociateWindow.cpp Fix too naive obstacle detection on non-prefered metal2 wires. 2021-12-21 16:13:31 +01:00
PowerRails.cpp Update ad-hoc patch for obstacles for Flexlib & StdCellLib. 2021-12-21 16:13:07 +01:00
PreProcess.cpp Fix 'static assertion failed: comparison object must be invocable as const' 2021-10-30 13:50:44 +01:00
PreRouteds.cpp Redesign of I/O pads and Corona support to mix real and symbolic. 2019-05-10 11:58:05 +02:00
ProtectRoutingPads.cpp In Katana::protectRoutingPad(), check that the RP is not still on the Plug. 2021-03-23 17:19:38 +01:00
PyGraphicKatanaEngine.cpp Happy New Year 2018 ! Update license years... 2018-01-06 17:55:44 +01:00
PyKatana.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyKatanaEngine.cpp Groudwork for routing density driven placement. Compliance with clang 5.0.1. 2019-12-09 01:57:44 +01:00
PyKatanaFlags.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
RoutingEvent.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
RoutingEventHistory.cpp Happy New Year 2018 ! Update license years... 2018-01-06 17:55:44 +01:00
RoutingEventLoop.cpp Basic support for FreePDK 45 completed. 2018-02-17 20:27:38 +01:00
RoutingEventQueue.cpp Complete reorganization of where the routing stage is stored in Katana. 2021-04-21 13:51:08 +02:00
RoutingPlane.cpp Partial management of offgrid fixed segments in Katana. 2021-02-17 23:57:45 +01:00
SegmentFsm.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
Session.cpp Suppress wrong error message in Katana::Session::_addMoveEvent(). 2021-11-03 14:26:53 +01:00
SymmetricRoute.cpp Pin management implemented for NetBuilderHV. 2019-03-10 13:25:43 +01:00
Track.cpp Fix too naive obstacle detection on non-prefered metal2 wires. 2021-12-21 16:13:31 +01:00
TrackCost.cpp Ignore short overlaping same-net segments in realign stage. 2021-05-11 14:30:10 +02:00
TrackElement.cpp Added a new post-routing stage "realign" in Katana. 2021-04-08 15:10:14 +02:00
TrackElements.cpp Various typos correction (courtesy of G. Gouvine). 2019-07-30 13:13:57 +02:00
TrackFixedSegment.cpp Add a new Track finishing stage: close short gaps of same nets wires. 2021-04-10 19:51:19 +02:00
TrackMarker.cpp Basic support for FreePDK 45 completed. 2018-02-17 20:27:38 +01:00
TrackSegment.cpp Suppress wrong error message in Katana::Session::_addMoveEvent(). 2021-11-03 14:26:53 +01:00
TrackSegmentCost.cpp Fix bad computation of perpandicular free space in DataNegociate. 2021-12-18 17:45:17 +01:00
TrackSegmentNonPref.cpp Correcting non-deterministic behavior in Anabatic/Katana (again). 2019-08-20 16:30:03 +02:00
TrackSegmentRegular.cpp Upgrade of Katana detailed router to support Arlet 6502. 2019-07-28 23:20:00 +02:00
TrackSegmentWide.cpp Partial management of offgrid fixed segments in Katana. 2021-02-17 23:57:45 +01:00
Tracks.cpp Upgrade of Katana detailed router to support Arlet 6502. 2019-07-28 23:20:00 +02:00
VerticalTrack.cpp Replace "unsigned int" by "Flags" in all AutoSegments collections. 2017-05-16 14:53:33 +02:00
katanaRefactor.conf Anabatic transient commit 18. Port of Kite (Katana), Yeah, Baby! Yeah! 2016-08-15 16:30:13 +02:00