Mail Archives: geda-user/2015/10/06/17:18:45
On Tue, 2015-10-06 at 14:11 -0500, John Griessen wrote:
> On 10/06/2015 01:45 PM, Stefan Salewski wrote:
> > toporouter idea is generally starting with a board
> > with no traces, and doing a complete route.
>
> It seems like automating the starting point handed off to the
> toporouter
> is the least-effort path to using it incrementally in designs.
>
> What if you selected a set of traces and footprints in PCB that were
> what you wanted to keep as is.
> The automation needed is to generate a set of pins on footprints to
> route, and keep outs corresponding to the
> existing stuff. That is almost the same as starting with a new board
> of odd irregular shape except for the pins.
>
> The new thing is "autoroute a subset of the pins on the footprints"
> rather than all that are in the full netlist.
> Probably just needs a newly generated netlist from that selected
> set...
The toporouter as described in in the PhD thesis of Tal Dayan from 1997
assumes that there is an empty area for routing, which is only
restricted by the size of pads and pins. So each already existing trace
is a problem. OK, we may solve that, a trace around a pin virtually
increases the size of that pin. But the strength of that toporouter is a
sophisticated ordering of nets, and that is strongly restricted when you
let it route only subsets of nets. As I already said, the thesis is more
concerned with chip design. In that area generally more space is
available, because there are no large pads and pins which occupy much
area and can even build barriers. Routing of PCB with more than 2 planes
is closer to the thesis generally, but I think our target is mainly 2
plans.
Generally, not all is really described fine in that thesis. There are
interesting ideas, and the layer assignment is described in detail.
Other points are described only in a theoretical way. So there is much
room for better understanding the ideas in the thesis and for optimizing
the router. Generally it is possible to transfer the curved traces into
straight lines, that is covered in a related diploma thesis. They did it
when they have to postprocess the layout with other tools, or when tools
in production do not accept curved traces. In that thesis also
backtracking is mentioned, I had no idea how to really implement that.
Generally I think that a toporouter is even helpful for manually
routing: A partly toporouted board is a much better guide for manually
routing than a rats net. Just put the curved traces in unused
intermediate layers (gray) and reroute manually what you like.
I have discovered yesterday that the Ruby glue code for CGAL's
apollonius graph is still missing on my page, I will add it in the next
few days, then you can experiment with the router yourself.
- Raw text -