Author Topic: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!  (Read 9604 times)

0 Members and 1 Guest are viewing this topic.

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6389
  • Country: ca
  • Non-expert
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #25 on: March 30, 2023, 08:55:05 pm »
This was linked in the previous thread years ago, to demonstrate what Dave said about saving time on point to point routing:


But slightly misleading as the trace space design rules are not the same.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 
The following users thanked this post: EEVblog, karpouzi9

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14490
  • Country: fr
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #26 on: March 30, 2023, 11:01:27 pm »
Oh really?
Freerouting is actually not half bad for an autorouter. I've definitely seen way worse.

I think you misunderstood me. I tried Freerouting a couple of times and was pleasantly surprised.
What I wanted to express was that I think the results of Freerouting will likely be better (or at least not worse) than those of DeepPCB.

Yep your sentence looked ambiguous as to which one would be worse. Thus my answer.

That said, 3 general points regarding autorouting even with Freerouting:

1. Autorouting 1- or 2-layer PCBs is almost always atrocious unless it's a dead-simple circuit. Especially the routing of power supplies and grounds.
2. You should never let an autorouter route 100% of your PCB from scratch. The few times I have used Freerouting (on large boards with a lot of non-critical digital signals), I have routed all power supplies and bypass capacitors manually, then let the autorouter finish the job. Then hand-corrected a few traces.
3. Related to 1, if you can use 4-layer or more, define your power planes beforehand (for Freerouting, there's a documented way of doing it so that the autorouter knows about your power planes). In this case, you can do without hand-routing power supplies in most cases (except for routing switching power supplies, which can be disastrous with an autorouter). Also define net classes. Preparing a PCB for autorouting takes a while, don't expect it to be a 2-second point & click affair.

« Last Edit: March 30, 2023, 11:03:01 pm by SiliconWizard »
 

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #27 on: March 30, 2023, 11:24:09 pm »
 

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #28 on: March 30, 2023, 11:34:19 pm »
This was linked in the previous thread years ago, to demonstrate what Dave said about saving time on point to point routing:


But slightly misleading as the trace space design rules are not the same.

I don't recall seeing that, but I think Altium did contact me for the file.
Yes, that's a just a grouped version of auto routing a single connection which you can also do, and is very handle for those "last mile" traces if would be a PITA to route yourself at the end of a project. Group selected routing works well becasue the human is selecting what's likely to route and what isn't. Essentially a manual priority based pre-conditional setup for the routing.
 

Offline golden_labels

  • Super Contributor
  • ***
  • Posts: 1212
  • Country: pl
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #29 on: March 31, 2023, 01:27:18 am »
Personally, I appreciate a visually pleasing PCB as much as anyone, but that probably shouldn't be the point here. Assuming the autoRouter produces a complete solution, I believe the reasonable questions should be:
- Will the circuit work to spec?
- Is it more prone to production/mechanical/electronic faults than a human design?
- Will it be easier to bodge, when the need arises?
- Is it, all things considered, cheaper and/or faster to design?
Readability of the traces is also a goal, isn’t it?

However, in this case it may be considered a fail. Not because it’s not aesthetically pleasing. Not even due to not finishing the routing and still this taking more than a human would need. It is a fail, because the mistakes it made indicate it has serious trouble with following basic heuristics and making no-cost simplifications. It generates traces and makes choices, which will get in its own way with more complicated designs.
People imagine AI as T1000. What we got so far is glorified T9.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14490
  • Country: fr
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #30 on: March 31, 2023, 03:25:03 am »
 

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2152
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #31 on: March 31, 2023, 07:35:23 am »
I decided to put DeepPCB to a test myself, giving them the same PCB I used a few years back. It completed after about 2 hours but didn't produce a complete solution.

Then I ran the same PCB through freerouting, it produced a complete solution in 10 minutes. Using less Vias than DeepPCB (49 vs. 77).

Both were working under the same constraints, using netclasses and manufacturing constraints I had set up in KiCad.

I've attached both results. I've also attached the human-routed PCB. Note that it used more Vias (88), but many of them were for stitching planes together.
Everybody likes gadgets. Until they try to make them.
 
The following users thanked this post: SiliconWizard

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #32 on: April 01, 2023, 03:41:02 pm »
Personally, I appreciate a visually pleasing PCB as much as anyone, but that probably shouldn't be the point here. Assuming the autoRouter produces a complete solution, I believe the reasonable questions should be: [...]
Readability of the traces is also a goal, isn’t it?

First of all, given the further information that was provided here since my previous post, I guess I'll have to redact most of what I wrote  :D

But as a general question, under the umbrella of "Can computers route traces"? I doubt readability is a goal, certainly in the long term, because the whole point is to take humans out of the loop as much as possible, and only humans need it "readable".

Perhaps a good comparison would be to the famous google.com page source code. We humans really love readable code, but the goal there is simply function and performance.
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14217
  • Country: de
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #33 on: April 01, 2023, 04:27:29 pm »
The the auto-router failed alread the the much simpler example is a bit embarassing for the AI. This one looks really simple and freerouting had not problem with this.
Dave's example was already a bit on the difficult side, as the auto-router of Altium also failed on the that job.

There is usually no real need to have a PCB layout readable. There are more other constraints or secondary targets, like keeping am intact ground plane, minimizing cross talk or emissions or the number of vias that matter.  I don't think the current exampled did care about this. If a computer would produce a well working layout that looks uggly, this would be OK. The main point is getting a layout that gets all connections done - a partial solution is pretty useless (maybe OK for a 1 off with using an extra bodge wire).
 

Offline Damperhead

  • Contributor
  • Posts: 23
  • Country: fi
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #34 on: April 01, 2023, 07:55:38 pm »
It is very interesting to follow the development of autorouter. However, it must be stated that not much real development has taken place during the last decades. In the blog example, the connection was quite simple. Maybe a few major rules that should be followed. What if the autorouter was given the task of wiring a DC/DC (buck) converter, where certain things that strongly affect the operation must be taken into account, such as the ground loop between input and output. What about considerably more complex integrated circuits such as PLL Synthesizers, ADCs etc. All of these have many special features that must be taken into account in the PCB layout, which is ultimately a compromise from the reference design provided by the IC vendor. And I haven't mentioned RF circuits yet, where the design rules and practices differ a lot compared to the DC world.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26912
  • Country: nl
    • NCT Developments
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #35 on: April 03, 2023, 05:26:22 pm »
It is very interesting to follow the development of autorouter. However, it must be stated that not much real development has taken place during the last decades. In the blog example, the connection was quite simple. Maybe a few major rules that should be followed. What if the autorouter was given the task of wiring a DC/DC (buck) converter, where certain things that strongly affect the operation must be taken into account, such as the ground loop between input and output. What about considerably more complex integrated circuits such as PLL Synthesizers, ADCs etc. All of these have many special features that must be taken into account in the PCB layout, which is ultimately a compromise from the reference design provided by the IC vendor. And I haven't mentioned RF circuits yet, where the design rules and practices differ a lot compared to the DC world.
Maybe a DC-DC converter is a bad choice, but I've seen Altium's autorouter do a good job on DDR memory interfaces where length and phase matching (including internal delays in the packages) needs to be taken into account. It is pretty tedious to do this manually. It all comes down to setting up the constraints properly.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6389
  • Country: ca
  • Non-expert
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #36 on: April 03, 2023, 09:20:40 pm »
It is very interesting to follow the development of autorouter. However, it must be stated that not much real development has taken place during the last decades. In the blog example, the connection was quite simple. Maybe a few major rules that should be followed. What if the autorouter was given the task of wiring a DC/DC (buck) converter, where certain things that strongly affect the operation must be taken into account, such as the ground loop between input and output. What about considerably more complex integrated circuits such as PLL Synthesizers, ADCs etc. All of these have many special features that must be taken into account in the PCB layout, which is ultimately a compromise from the reference design provided by the IC vendor. And I haven't mentioned RF circuits yet, where the design rules and practices differ a lot compared to the DC world.
Maybe a DC-DC converter is a bad choice, but I've seen Altium's autorouter do a good job on DDR memory interfaces where length and phase matching (including internal delays in the packages) needs to be taken into account. It is pretty tedious to do this manually. It all comes down to setting up the constraints properly.

Yeah but just in general they could make the constraint setup much more user friendly, and visual, if they actually wanted to expand auto router use.

eg: click on a trace/net in the schematic, type in its minimum current: 5A, now it shows above the trace. Click on the DC/DC feedback trace, select "route shortest possible". Something like that.

Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14490
  • Country: fr
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #37 on: April 04, 2023, 02:04:30 am »
It is very interesting to follow the development of autorouter. However, it must be stated that not much real development has taken place during the last decades. In the blog example, the connection was quite simple. Maybe a few major rules that should be followed. What if the autorouter was given the task of wiring a DC/DC (buck) converter, where certain things that strongly affect the operation must be taken into account, such as the ground loop between input and output. What about considerably more complex integrated circuits such as PLL Synthesizers, ADCs etc. All of these have many special features that must be taken into account in the PCB layout, which is ultimately a compromise from the reference design provided by the IC vendor. And I haven't mentioned RF circuits yet, where the design rules and practices differ a lot compared to the DC world.
Maybe a DC-DC converter is a bad choice, but I've seen Altium's autorouter do a good job on DDR memory interfaces where length and phase matching (including internal delays in the packages) needs to be taken into account. It is pretty tedious to do this manually. It all comes down to setting up the constraints properly.

That's the kind of use cases that I think make autorouters useful.

But placement is the critical part, and can be very tedious. I would definitely favor a good autoplacer over any autorouter.
 
The following users thanked this post: thinkfat

Offline thinkfat

  • Supporter
  • ****
  • Posts: 2152
  • Country: de
  • This is just a hobby I spend too much time on.
    • Matthias' Hackerstübchen
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #38 on: April 04, 2023, 06:24:30 am »
It is very interesting to follow the development of autorouter. However, it must be stated that not much real development has taken place during the last decades. In the blog example, the connection was quite simple. Maybe a few major rules that should be followed. What if the autorouter was given the task of wiring a DC/DC (buck) converter, where certain things that strongly affect the operation must be taken into account, such as the ground loop between input and output. What about considerably more complex integrated circuits such as PLL Synthesizers, ADCs etc. All of these have many special features that must be taken into account in the PCB layout, which is ultimately a compromise from the reference design provided by the IC vendor. And I haven't mentioned RF circuits yet, where the design rules and practices differ a lot compared to the DC world.
Maybe a DC-DC converter is a bad choice, but I've seen Altium's autorouter do a good job on DDR memory interfaces where length and phase matching (including internal delays in the packages) needs to be taken into account. It is pretty tedious to do this manually. It all comes down to setting up the constraints properly.

That's the kind of use cases that I think make autorouters useful.

But placement is the critical part, and can be very tedious. I would definitely favor a good autoplacer over any autorouter.

Absolutely. Even something that grouped parts together based on the "length" and count of crossings of ratsnest lines would be a big help for initial placement. Maybe if one considered ratsnest lines as rubber bands? There are visualization tools able to work out clusters that way.
Everybody likes gadgets. Until they try to make them.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26912
  • Country: nl
    • NCT Developments
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #39 on: April 04, 2023, 12:57:28 pm »
It is very interesting to follow the development of autorouter. However, it must be stated that not much real development has taken place during the last decades. In the blog example, the connection was quite simple. Maybe a few major rules that should be followed. What if the autorouter was given the task of wiring a DC/DC (buck) converter, where certain things that strongly affect the operation must be taken into account, such as the ground loop between input and output. What about considerably more complex integrated circuits such as PLL Synthesizers, ADCs etc. All of these have many special features that must be taken into account in the PCB layout, which is ultimately a compromise from the reference design provided by the IC vendor. And I haven't mentioned RF circuits yet, where the design rules and practices differ a lot compared to the DC world.
Maybe a DC-DC converter is a bad choice, but I've seen Altium's autorouter do a good job on DDR memory interfaces where length and phase matching (including internal delays in the packages) needs to be taken into account. It is pretty tedious to do this manually. It all comes down to setting up the constraints properly.

That's the kind of use cases that I think make autorouters useful.

But placement is the critical part, and can be very tedious. I would definitely favor a good autoplacer over any autorouter.
You have a very good point here. In many cases I spend more time on placement than routing.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14217
  • Country: de
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #40 on: April 04, 2023, 01:46:58 pm »
Of cause it depends on the PCB, but in many cases the placement and rounting are not really separate.  It is quite common to move / rotate parts while doing the routing. In some cases this can even include changing the case / pinout of some parts. Some SMD parts like OP-amps come with different versions to ease on the layout.
Another classic is swapping equivalent pins on some parts (e.g. the data lines on RAM chips).

Doing lenght matched buses is defintely something to let some comupter do. This is usually also one of the easier parts for the computer.

The point where autorouters are a bit weak is when it comes to the topological decisions, so the question of going left or right way around - especially if the leads to a solution where no individual connection gets the direct way on its own, but all have to compromise.
 

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #41 on: April 10, 2023, 12:17:32 am »
The the auto-router failed alread the the much simpler example is a bit embarassing for the AI. This one looks really simple and freerouting had not problem with this.
Dave's example was already a bit on the difficult side, as the auto-router of Altium also failed on the that job.

To be fair to Altium, that video of Altium doing selective autorouting is excellent.
It's not a stretch to expect magical AI to at least figure out some selective way to route local location based group nets like that.
 
The following users thanked this post: nctnico

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #42 on: April 10, 2023, 10:28:19 am »
Chris interviewed another AI PCB company I hadn't heard of last week, Quilter. Haven't listened to it yet:
https://theamphour.com/626-intelligent-routing-with-sergiy-nesterenko/
https://www.quilter.ai/
« Last Edit: April 10, 2023, 10:32:11 am by EEVblog »
 

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #43 on: April 10, 2023, 10:29:53 am »
I feel like I'm missing something.
1) DeepPCB has been "out" for over three years as a product and has amazed approximately 0% of users. It has not been continuously improved and seems to be basically stale/unmaintained code: In other words, a zombie living on AWS.

A zombie that made bank. DeepPCB was part of Instadeep that got acquired.
https://techcrunch.com/2023/01/10/biontech-acquires-tunisian-born-and-u-k-based-ai-startup-instadeep-for-562m/
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6389
  • Country: ca
  • Non-expert
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #44 on: April 10, 2023, 09:26:40 pm »
Yeah, doesn't matter if they sat around doing nothing of value, if investors were impressed.

Chris interviewed another AI PCB company I hadn't heard of last week, Quilter. Haven't listened to it yet:
https://theamphour.com/626-intelligent-routing-with-sergiy-nesterenko/
https://www.quilter.ai/

Here is one of their example boards on the site.
The use of any-angled traces could work well in some situations. But it also means a human going in a selectively re-routing is going to have a painful experience.

Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 
The following users thanked this post: EEVblog

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #45 on: April 11, 2023, 05:54:29 am »
Here is one of their example boards on the site.
The use of any-angled traces could work well in some situations. But it also means a human going in a selectively re-routing is going to have a painful experience.

Seriously? The released that as an example?  :palm:
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14490
  • Country: fr
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #46 on: April 11, 2023, 07:52:54 pm »
Yeah, doesn't matter if they sat around doing nothing of value, if investors were impressed.

Chris interviewed another AI PCB company I hadn't heard of last week, Quilter. Haven't listened to it yet:
https://theamphour.com/626-intelligent-routing-with-sergiy-nesterenko/
https://www.quilter.ai/

Here is one of their example boards on the site.
The use of any-angled traces could work well in some situations. But it also means a human going in a selectively re-routing is going to have a painful experience.
(...)

Very nice!! :-DD
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6389
  • Country: ca
  • Non-expert
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #47 on: April 11, 2023, 09:03:19 pm »
I should use any-angle traces more often...

Its useful on single sided boards with limited space. But don't start the layout until everything is placed, push and shove with these traces doesn't work well (altium).
Rounded traces are another fun one to do.

On a rectangular board like this with tons of space it makes no sense.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 
The following users thanked this post: karpouzi9

Offline golden_labels

  • Super Contributor
  • ***
  • Posts: 1212
  • Country: pl
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #48 on: April 12, 2023, 12:08:31 am »
it definitely screams "solve by greedy algorithm on a graph".
Hey, they at least used a graph! Appreciate that!
People imagine AI as T1000. What we got so far is glorified T9.
 

Offline EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37750
  • Country: au
    • EEVblog
Re: EEVblog 1535 - DeepPCB AI AutoRouting TESTED!
« Reply #49 on: April 12, 2023, 11:07:04 am »
FYI, Altium contacted me and said they'll give a me pro license again  :-+
 
The following users thanked this post: thm_w


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf