issie icon indicating copy to clipboard operation
issie copied to clipboard

Better auto-route

Open tomcl opened this issue 3 years ago • 1 comments

There are some special cases where auto-route should be better

  • When connecting opposite edges of a component, the wire should go round the component, not through it
  • 3 segment routing where middle segment goes through one or more components should go round them
  • 5 segment routing where middle segment goes through one or more components should go round them
  • The above cases should go to the position closest to the original midpoint position that does not go through a component
  • Wires should also, in a similar way, avoid other different net wires with a "minimum spacing" channel around each such parallel wire.
  • Wires should auto-route on top of existing wires where they would otherwise be close and the wires are on the same net

tomcl avatar Feb 12 '22 18:02 tomcl

Currently same-net snapping is implemented nicely when dragging symbols or segments.

  1. The big gain for better auto-routing would be to correctly route wires (with minimal spacing) around the edges of symbols when a symbol is moved and it has wires that wrap round it. There is a systematic way to do this.
  2. Another very common use case is separating (by minimum spacing) auto-routed middle segments in 3 segment wires attached to one side of a symbol.
    • This could cheaply and tolerably (no unexpected behaviour) be implemented as an *autoroute middle-segment of 3 segment wires to avoid other co-incident segments". That would generalise a bit.
    • The new snapping mechanism (see SheetUpdate) could be used: currently we snap on segment drag and symbol move. This would be additionally snapping on segment create as result of autoroute and is actually simpler than normal snapping because there is no requirement to unsnap.

tomcl avatar Apr 19 '22 13:04 tomcl

Closed now with HLP 2023 work v4.0.a.1

tomcl avatar Jul 14 '23 18:07 tomcl