Trying to understand "pick two layers" in autorouting 4, 6 & 8 layers

I have a complicated board, maybe it can be routed in 6 or 8 layers… or maybe more…or maybe just 4 … how do I tell? There are areas of congestion near the QFN64’s, but overall it is a large board with lots of free area.

I thought that I might just set the layers to a high number (say 32), let it autoroute, and when successful, just keep reducing the layers until the autorouter failed, and then maybe go in manually.

However, the autorouter seems to want to have me pick which 2 layers to autoroute… if so, then does it expect me to run every combination of 2 layers? Does the option “Automatically route all Footprints” just route these 2 layers, or all the layers?

Lastly, I am using top-to-bottom this pattern (signal, mixed, mixed, … mixed, power) is this correct? It advises me “top is the same as bottom” which I don’t understand.

  ---------

Also, when I set it to autorouting with tiny grids (say 0.1mm) it declares “No memory for autorouting”, but then it runs using 0.2mm grid and it is only using 1G of memory (and I have ~30GB free memory), so does that mean the autorouter is constrained to only using a 32bit (ie 3.5 or 4GB) memory space?

Which autorouter
Which version of KiCad and your OS?

I guess he means KiCad builtin autorouter, AFAIK this is old and unmaintained. It does not appear in OpenGL canvas (4.0.7) so maybe it will be dropped?

I think most people use the external Freeroute for autorouting.

The internal push and shove router and the external Freerouting are the way to go. I understand that the internal autorouter is being dropped

Note that there are forks of Freerouting. It does need maintenance since the original developer was forced to drop it

OS: Linux/64bit Mint 18.3
KiCAD: the current download provided by synaptic: 4.0.2+dfsg1-4
Autorouter: Any and all…whatever it takes (for this high-tracecount, but large area board)… but initially I tried the built-in autorouter.

Ahhhh… no, not at the beginning, yes for final touch-ups. I’d be here for a year…

Of course, that is currently unavailable… unless someone can point me to where it might be downloaded

Can you please specify their names, and where they can be downloaded from? Although I think I know how to run it, it would be nice to see some docs.

BTW, my board is 54 square inches (the size is needed for large connectors, not due to high IC density), with tons of space … only about 2 square inches are covered by several QFN64 ICs, so its not like this is an impossible task to route.

I was provided with “pcbroute” (one fork of freerouting.net) which “seems” to “sort-of” work, but it can’t really be, as even when pcbnew is configured with 32 layers, “WHEN FIRST STARTED” it fails on the first 3 traces… come on, its got a blank canvas of 31 completely free layers, how can it possibly fail? The first 31 traces have their own blank layer !!! So, something is definitely wrong.

After the first pass (8-12 hours) it routes about 1/2 of the traces, then after several more passes (taking a few days), it gets stuck at just completing 2/3 of the traces, leaving about 700 uncompleted.

OTH, I actually think the built-in router for KiCAD works better, but from what I think is happening, it only routes 2 layers at a time (or one layer, if for example you pick top layer & top layer as the pair of layers to route). By working better, it seems to me that KiCAD does almost as well with 2 layers, as “pcbroute” does with 32 layers!

Transitioning KiCADs routing to pcbroute actually allows pcbroute to progress farther than using pcbroute from scratch, but still comes nowhere close to finishing, even with 32 layers.

Hence the topic of this thread: Do I have to pick every combination of layers and re-run the routing? Example for 4 layers: 1&1, 1&2, 1&3, 1&4, 2&2, 2&3, 2&4, 3&3, 3&4, and finally 4&4 ? You can see how this is possible but impractical with 4, 6, 8 or more layers. Further, if you can pick only 2 layers, then a 3+ layer trace is never going to be possible!

That is still inferior to a different algorithm: trying to rout on initial layer first, then picking the best option after first trying all layers to complete…

       ----------------

Regarding new algorithms, I came across the old autorouter code from Mike at PikeAero.com (et al)
https://sourceforge.net/p/qautorouter/wiki/Home/ :slight_smile:

and it nicely and graphically loads up the Spectra .dsn export from newpcb

But, thats all it does, as that is as far as those developers had time for. Yet, it gives an AMAZING head start to anyone who wants to write a fast router algorithm… freerouting.net and clones being speed-crippled by having been written in Java (not C or Julia).

Therefore, I raise the alert to those (especially in the University crowd) who might want to experiment with routing algorithms, to start from this point… BTW with blessings from Mike !

Seems the mint packagers are even more behind than the debian long time support guys.

From the kicad download page https://kicad.org/download/linux-mint/ i read that there is a ppa available to get 4.0.7

Github: https://github.com/freerouting/freerouting (This fork does not seem to be maintained but maybe there are newer options. Just dig around a bit.)

I know in Debian you can use backports to get up to 4.0.7. I’ve never used Mint though.

[quote=“pentam, post:1, topic:9713”]
I have a complicated board, maybe it can be routed in 6 or 8 layers… or maybe more…or maybe just 4 … how do I tell?
[/quote] By manually routing it.

I generally hate it when people don’t answer the original question and push a view point, but… :wink:

There is a reason that Kicad is thinking of dropping auto-routing. There is more to board layout than connecting traces. Manual routing is not as hard as you might think, especially since you seem to indicate you are flexible on layers. You may have already spent more time on trying to figure out auto-routing as it would take to do the board. Been there done that.

You may be surprised how much your board layout improves when you do manual routing too. It sounds like you are making something akin to a breakout board? Make a copy of your project and spend an hour or two with manual routing. You’d be surprised how quick it can go.

https://youtu.be/CCG4daPvuVI

2 Likes

And this is a fork
http://www.freerouting.eu/wpress/

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.