coriolis/katana/src
Jean-Paul Chaput 07f269196b Manage new cases of stacked VIAs potential creation.
When placing a vertical M1 (and setting it's axis), the perpandiculars
M2 extremities changes, and they have a VIA. If they are already placed
too, they may silently create a stacked VIAs because the track markers
of the perpendiculars are not taken into account. Now, force to rip them
up so the markers will be re-read. If no stacked VIAs has been created,
the segment will be re-put at it's previous place, otherwise it will be
placed on another track.

* New: Track::hasViaMarker(), check if a marker of a Net is under a
    given interval (so we can know we are about to create a VIA stack).
* New: Manipulator::avoidStackedVias(), ripup perpandiculars to the
    current segment that *may* create stacked VIAs. That is perpandicular
    in the *up* layer which begin or end on the moved vertical.
* New: In SegmentFsm::insertInTrack(), bindTotrack() & moveToTrack(),
    call Manipulator::avoidStackedVias(), if activated.
* Change: In NegociateWidow/loadRoutingPads(), no longer exclude clock
    nets. So the TrackMarkers are created for the root net.
2023-02-14 22:35:56 +01:00
..
katana Manage new cases of stacked VIAs potential creation. 2023-02-14 22:35:56 +01:00
BloatProfile.cpp Clarify semantic of flatten Collections (walkthrough). 2020-03-10 12:10:53 +01:00
Block.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +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 Support for non-stacked VIAs in Katana. 2023-01-14 22:35:57 +01:00
Constants.cpp Fix overlap of non-used RoutinPads in VH,2RL styles. 2023-01-18 23:42:38 +01:00
DataNegociate.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +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 Support for avoidance of vertical tracks in low metal techs. 2022-12-13 16:02:23 +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 Fix overlap of non-used RoutinPads in VH,2RL styles. 2023-01-18 23:42:38 +01:00
Manipulator.cpp Manage new cases of stacked VIAs potential creation. 2023-02-14 22:35:56 +01:00
NegociateWindow.cpp Manage new cases of stacked VIAs potential creation. 2023-02-14 22:35:56 +01:00
PowerRails.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +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 Fix overlap of non-used RoutinPads in VH,2RL styles. 2023-01-18 23:42: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 Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +01:00
PyKatanaFlags.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
RoutingEvent.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +01: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 Manage new cases of stacked VIAs potential creation. 2023-02-14 22:35:56 +01:00
Session.cpp Support for non-stacked VIAs in Katana. 2023-01-14 22:35:57 +01:00
SymmetricRoute.cpp Pin management implemented for NetBuilderHV. 2019-03-10 13:25:43 +01:00
Track.cpp Manage new cases of stacked VIAs potential creation. 2023-02-14 22:35:56 +01:00
TrackCost.cpp Add management for very rare segment cross blocking (ripup loop). 2022-05-23 17:58:17 +02:00
TrackElement.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +01:00
TrackElements.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +01:00
TrackFixedSegment.cpp Fix overlap of non-used RoutinPads in VH,2RL styles. 2023-01-18 23:42:38 +01:00
TrackMarker.cpp Manage new cases of stacked VIAs potential creation. 2023-02-14 22:35:56 +01:00
TrackSegment.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +01:00
TrackSegmentCost.cpp Clean parameters for routing topologies. Improved 2RL- support. 2022-11-26 13:07:12 +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