-
EEVblog #975 - Human vs Autorouter
Posted by
EEVblog
on 27 Feb, 2017 08:55
-
Which produces the better PCB layout, a human or a computer?
By popular request, a walkthough to see what the Altium Situs Autorouter can do on the Nixie tube PCB layout. Does it beat Dave's human layout?
How useful are autorouters?
-
#1 Reply
Posted by
sleemanj
on 27 Feb, 2017 09:24
-
Are you able to export a dsn file from AD? If so would be interesting to fire it through FreeRouting and see what it makes of it compared to the AD autorouter, post the file.
-
-
I would have routed the traces manually for one tube down to an imaginary point below each tube. Then duplicated those routes for each tube (may or may not be easy depending on your tools). Maybe I'm wrong, but I suspect it might result in a "prettier" layout. That combined with gate swapping, which you decided not to do in your last video.
-
#3 Reply
Posted by
EEVblog
on 27 Feb, 2017 10:50
-
I would have routed the traces manually for one tube down to an imaginary point below each tube.
That's basically the "FPGA fanout method", and yeah, it can work. But doesn't add much value in this case IMO, could even make things worse unless you add pin swapping.
-
#4 Reply
Posted by
DutchGert
on 27 Feb, 2017 11:29
-
Nice video
I was hoping you would try out the new ActiveRoute stuff from AD17....
-
#5 Reply
Posted by
Windfall
on 27 Feb, 2017 12:05
-
A perfect demonstration of why autorouters suck (although this one seems particularly bad !). Most will see the board as just a random collection of single ended connections and go to town, one by one. If you do that too, you will paint yourself into a corner very quickly, and end up with the same copper spaghetti.
-
#6 Reply
Posted by
Brumby
on 27 Feb, 2017 12:10
-
I know I was one of those who asked for this - and I can't say I was impressed with this algorithm.
Even just casually watching, something I thought that seemed ridiculous caught my eye - so I went back and took a screen shot.
I've marked out the two traces - and it seems to me there was a far easier way to route these, with only one very minor change to another trace.
.... but this just seems to be typical.
A bit disappointing.
-
#7 Reply
Posted by
AndyC_772
on 27 Feb, 2017 13:21
-
It certainly used to be the case that the only worthwhile auto-router in the industry was Cadence SPECCTRA. I think it's been renamed and absorbed into Allegro since then. Maybe others have now caught up.
I used to use it to determine how many layers, and what geometry, a board was likely to require. For example, after a few hours, it would become clear that a board really couldn't be done on, say, 6 tracking layers, and really needed 8.
Sometimes it really would come up with a decent solution to the bulk of the routing, and would require only minimal modification by hand afterwards.
Remember, it's a mistake to reject a PCB layout just because it looks 'ugly'. If it meets DRC requirements for spacing, timing, noise, differential pair routing, decoupling and so on, then by definition it's OK. An auto-router, quite rightly, does not make aesthetic or other subjective judgment about whether or not a given layout is 'attractive' as well as functional.
I'm probably as guilty as anyone of trying to make PCB layouts that look "nice" as well as work, but it's important to understand that the two aren't necessarily related.
-
#8 Reply
Posted by
krivx
on 27 Feb, 2017 13:39
-
There are some functional benefits to "beautiful" boards, especially if they are assembled or tested by humans. It's much easier to spot a polarized component populated the wrong way round if they all face the same way for example. Tombstoned parts can be easy to find if they are all lined up in rows, the part that breaks the pattern jumps out to the eye.
-
#9 Reply
Posted by
AndyC_772
on 27 Feb, 2017 14:20
-
Totally agree when it comes to component placement.
-
#10 Reply
Posted by
fmaimon
on 27 Feb, 2017 17:00
-
Your 160V line seems a little too close to the bottom ground fill. It may be better to increase the clearance in there...
-
#11 Reply
Posted by
andrew_c
on 27 Feb, 2017 20:42
-
Spectacular fail or not Dave, I'm just rebuilding your schematic and will soon let the power of Diptrace Auto-place/route commence!
-
#12 Reply
Posted by
digsys
on 27 Feb, 2017 23:27
-
Been manually routing for ever. I've tried various auto-routers as they appeared, adn in all cases MEH. There's something satisfying in solving a tricky placement / route by
unconventional means :-) or getting a boner on a really nice looking layout ! Humans will never be replaced !!
-
#13 Reply
Posted by
james_s
on 27 Feb, 2017 23:32
-
I haven't tried any recently but I never had much luck with autorouters. They work ok for doing a quick layout of a simple board where the layout is not critical but I was never really happy with the results. Seems like the router was happy to put 10 vias on a single trace and zip it all over the board.
-
-
The big problem is that current autorouters start too late in the process. Good layout is all about placement, so this us where the process should start. A router should also be able to do pin and gate swapping.
Of course all this needs more setup and constraint definition, but it ought to be able to produce a far better result in most cases.
And of course it should also be able to use GPU power to speed things up.
-
#15 Reply
Posted by
andrew_c
on 28 Feb, 2017 00:29
-
Soooo, Diptrace couldn't auto-place in such a small-defined board size.
It didn't do an awful job of the autoroute. Though, the data lines are all over the shop and it wouldn't auto-place the vias in the copper pour. But get this, it only took a whopping 5 seconds... A WHOLE 5 SECONDS to autoroute the board - not minutes. Crazy fast.
Of course, I'm not quite using the same pads/traces. But this took a few hours re-learning this software and building components.
-
#16 Reply
Posted by
sleemanj
on 28 Feb, 2017 01:38
-
Soooo, Diptrace couldn't auto-place in such a small-defined board size.
Could you do an export of the DSN (without anything routed or poured, just placed components)? File > Export from memory without looking.
-
-
I'm sure it must be possible to apply all this new machine-learning stuff to PCB layout - there's a huge amount of examples to teach it what a good layout should look like.
-
-
-
#19 Reply
Posted by
Poe
on 28 Feb, 2017 02:44
-
What the hell was that Dave? It shouldn't take AD17's autorouter more than ten seconds on a board that simple. Probably less than five if you exclude the ground plane.
I'm running Altium 11 on an XP machine from 2004. I just used Autorouter on a board twice as dense and it took 55 seconds.
Are these files public so I can download and fix Dave's setup issues?
-
#20 Reply
Posted by
Poe
on 28 Feb, 2017 02:59
-
Looks like the gap between your nixie pins can accommodate at least three times as many traces as Dave's footprint, among other apples/oranges.
-
#21 Reply
Posted by
Cerebus
on 28 Feb, 2017 03:30
-
What the hell was that Dave? It shouldn't take AD17's autorouter more than ten seconds on a board that simple. Probably less than five if you exclude the ground plane.
I'm running Altium 11 on an XP machine from 2004. I just used Autorouter on a board twice as dense and it took 55 seconds.
Are these files public so I can download and fix Dave's setup issues?
Don't forget, Dave did say that running screen capture sucked up some juice, and I strongly suspect that translates to a lot of juice with all the redraws that Designer is doing during autoroute and I'm told more recent versions of AD live or die on graphics card performance much more so than older versions. Remember, Designer can't update the screen until screen capture has finished with it. I've known some graphic intensive things run like they are in treacle if run with screen capture, it's very package specific how bad the damage is.
-
#22 Reply
Posted by
EEVblog
on 28 Feb, 2017 03:40
-
Soooo, Diptrace couldn't auto-place in such a small-defined board size.
It didn't do an awful job of the autoroute. Though, the data lines are all over the shop and it wouldn't auto-place the vias in the copper pour. But get this, it only took a whopping 5 seconds... A WHOLE 5 SECONDS to autoroute the board - not minutes. Crazy fast.
Of course, I'm not quite using the same pads/traces. But this took a few hours re-learning this software and building components.
Look at how many traces it fits through the Nixie pins! 4 of them compared to 1 in my example.
Like I said in the video, do not compare autorouters unless everything, and I mean every single condition, is 100% identical.
-
#23 Reply
Posted by
kalleboo
on 28 Feb, 2017 04:42
-
Soooo, Diptrace couldn't auto-place in such a small-defined board size.
It didn't do an awful job of the autoroute. Though, the data lines are all over the shop and it wouldn't auto-place the vias in the copper pour. But get this, it only took a whopping 5 seconds... A WHOLE 5 SECONDS to autoroute the board - not minutes. Crazy fast.
Of course, I'm not quite using the same pads/traces. But this took a few hours re-learning this software and building components.
What the heck is going on on NX6 pin 2? Is it going up to a mm away, then going through a via to the other side and finishing there?
-
#24 Reply
Posted by
bpiphany
on 28 Feb, 2017 05:10
-
Why on earth not do the pin swapping? It would have made the routing so much easier and obvious it would probably have been faster in total. Could have spent some time doing a super neat "fanout" of one nixie tube and then copy pasted that. It would have looked tidier, there would be more room for clearances, the signal paths would have been more similar (not that it matters), and I would believe doable without a single track on the back.
It would probably also be an excellent exercise of an autorouter badly messing up something humanly obvious.