Autoroute? Is it coming? (Mod edit, short answer is not in the foreseeable future so nothing to see here. ;) )

That begs a definition for “complex” and a reminder that people tend to be stuck with one kind of device line, even with a long career in several jobs (at least that’s what I have noticed from discussions). Some have never needed to create a board as small as possible so that every 0.05 mm counts. Some have never touched high speed, some have never seen a high current or high voltage board.

As has been said by several people who don’t use an autorouter, there’s room for enhancing the automatic capabilities of KiCad for example for one route or for a bus with automatization.

Complex here is 6 layers or more with hundreds of components. High current, high speed.

and high (80vdc) voltage

What’s high speed?

T.

Mainly RF Transceivers, with digital controls. PWM, etc.

I would take a PC motherboard, with BGAs, high speed memory and several smps as an example of a board that really needs and uses the capabilities of the high end ECAD packages (at a high price)

I consider a net “high speed” when the signal edge rate is fast enough and the trace long enough that that transmission line effects must by accounted for. e.g. a net that requires a controlled impedance trace along with possible source and end termination.

If I am turning on an LED or static IO, an “ugly” trace route doesn’t really matter too much. However, I deal with boards in with fine pitch (0.5mm) BGAs, high speed (300MHz to 3GHz) signals and high voltage (4kV). On these there are so many complex constraint corner conditions, it’s hard to see it auto-routed without spending as much time entering the constraints as it would to layout.

Way back when starting with Kicad I stated:

We have now great 3D support, much improved differential routing, and just got area-based DRC support. The KiCad (and add-on) Devs have come a long way.

My next wish:

  • IPC-2581 output
  • Guided Bus Routing support (like Altium)
3 Likes

But CircuitMaker is only for Windows. It’s so sad.

Autorouter, lets see: Altium Desinger-yes, Altium Circuitmaker-yes, AutoDesk Eagle-yes, Advanced Circuits PCB Artist-yes, NI Ultiboard (Ultiroute)-yes, easyEDA-yes, dipTrace-yes, Solidworks PCB-yes…
All of these offerings believe that there is some utility in autorouting and I agree.

1 Like

Yes/no is too simplistic. You would need to take simple, medium and complex designs to evaluate each, then gripe about the results :smiley:

I would never autoroute any signal over 10khz. And today only very complex designs use Addr/Data busses. Serial busses are fast and only a few lines.

KiCad is not stopping you from using any autorouter you want. Elektra/Konekt, Pulsonix, TopoR, gEDA and Freerouting are all supported.

Whilst there are good outside alternatives, high quality aspirations, limited developer time and other significant priorities, this is not going to happen. All software needs development and support and there just aren’t sufficient resources available to the KiCad team or motivation to add autorouting at this stage.

Read the whole thread for more details. And this Autorouting, autorouter, autoplacing

4 Likes

Are you speaking for the development team?

Nope, but John’s post is pretty much in line with what the Kicad team thinks :slight_smile: I can’t speak for the rest of the devs, but I’d rather not spend years of my life developing a high quality autorouter just because some proprietary tools do have an autorouter (whether their autorouting results are acceptable is a different story…). P&S is a sufficiently large beast to maintain.

T.

4 Likes

Is clean-sheet development the only alternative? What about integration of one or more of the freely available autorouters? I have used freerouter.jar and it works, but it is a pain to do all of the steps to make it work with KiCad. And I haven’t figured out a reasonable approach to autorouting when the signal plane has a copper ground fill (zone). And not just everyone has the API expertise to provide reasonable integration of existing tools.
But your response, “…I’d rather not…” suggests that it is more about your personal development efforts than what is good for your KiCad clients; unless I misread–then I apologize in advance.
And for those that don’t “like” autorouters, its mere existence doesn’t make it a requirement to be used.

Open source software development is a bit like stone soup. Most people can bring a pebble, but it’s difficult to find someone who can bring a big rock unless there’s an interested and capable person and sponsorship to pay the bills. Unfortunately autorouting is not something that can be broken up into smaller chunks for many to solve.

3 Likes

Don’t forget, Kicad is largely voluntary so Developers choose what appeals to them to do.

1 Like

The code is open source, contributions welcome.

Otherwise, there are developers who operate an independent company who offer paid development and support services for KiCad if you want to pony up the cash for them to spend their time developing the autorouter.

The rest of us work in KiCad in our personal free time as a hobby and enthusiasts. I can tell you my professional wage is easily $100/hr otherwise :wink:

2 Likes

Written in Java for a start and with history of patent or trade secret problems, which is why the original developer published it and walked.

1 Like

That is $150/hr

6 Likes

And anything that touches topology (for those who don’t know, it’s a branch of mathematics that thinks a coffee mug and a donut are the same, yet, for some reasons its theorems are quite useful when put to work in PCB routing software), it’s $250/hr (studying topology is known to cause heavy brain damage).

T.