the next 'step' up from free eagle?
Nov 25, 2008 at 6:07 PM Thread Starter Post #1 of 21

linuxworks

Member of the Trade: Sercona Audio
Joined
Oct 10, 2008
Posts
3,456
Likes
69
I wonder if other programs have a more automatic router for circuit layout?

I did a test run of eagle (it was my first ever attempt at 'schematic capture' and all the rest that follows up to board layout). I'm 100% self taught (maybe that's the problem, lol) and to be honest, I'm not real impressed with the circuit layout tools in eagle. it 'works' but its not at all easy to get good results from and seems to be more of a manual draw tool with 'connect the lines' thrown in but NOT auto-placement of components.

am I dreaming in that its not realistic to get placement and routing that is pretty usable first-off? or is this in the multi-$K level that I'll never be able to afford? (this is for hobby use only, for me).

in my field (network management) there are tools to do 'auto topology' of discovered IP nodes and even draw the nodes and wires for you. some are very geometry based (which are not very good) and some are 'spring and mass' based which *are* very good. I see the circuit board design problem as very similar to the 'draw a diagram of a subnet' problem. there are good free tools for IP drawing, but are there good ones for circuit layout?

related question: is circuit layout still considered an 'art' in that the person controlling the program matters more than the program? or are things to the point where auto-everything 'just plain works' and you can make due with that more times than not?
 
Nov 25, 2008 at 6:28 PM Post #2 of 21
It seems all the easy and intuitive pcb programs are proprietary to a certain board house. There are simple ones out there but support sucks and options are limited compared to eagle.
 
Nov 25, 2008 at 6:33 PM Post #3 of 21
digital auto routing is useful
in analog work auto-place, auto route I consider worse than useless
there may be some tools for chip layout that run to 6 figures $US that are OK


it takes experience and study to appreciate the factors that make a better analog layout
in my experience better analog board layouts are done by the circuit's designer/engineer making many quick judgements involving circuit sensitivities, impedances, parasitics, expected trace I,V, ect.
playing with relative parts placement and routing as the layout progresses, planing and adjusting the plan for signal and power flow and not being afraid to rip up and retry

I start with 4-layer boards as the default, internal groundplane and extra power routing gives a quick step up in analog performance for a very low added cost
 
Nov 25, 2008 at 6:33 PM Post #4 of 21
If you read up, autoplacement just doesn't work very well. The problem is that the software can look at the rats-nest and say that yes that is a capacitor between rail and ground, but it ultimately doesn't know that it should be beside op-amp A as opposed to right next to rail capacitor C. As well, by placing manually, you can ensure that the board is in "sections".

I've seen some OK auto-routing, but I've just found you get a better layout by doing it yourself.

And I hate the interface on Eagle. I'm using Ultiboard and find it more to my liking.

This has some good basic info in it:

PCB Design Tutorial - Learn how to design a professional PCB!
 
Nov 25, 2008 at 6:50 PM Post #5 of 21
Quote:

Originally Posted by cobaltmute /img/forum/go_quote.gif
If you read up, autoplacement just doesn't work very well. The problem is that the software can look at the rats-nest and say that yes that is a capacitor between rail and ground, but it ultimately doesn't know that it should be beside op-amp A as opposed to right next to rail capacitor C. As well, by placing manually, you can ensure that the board is in "sections".


isn't that solvable with 'gravity' concepts? that's the spring and masses idea I mentioned before. the oversimplification is that you connect things in 3d with imaginary springs and the nodes have masses and if you want things to be 'near' each other you make the spring stronger!
wink.gif
then you let it come to rest and you rotate it around until it projects the right 'thing' on 2d. in a nutshell, that's my poor man's understanding of the spring-n-masses algorithm.

so why would this not work with things that need to be 'near each other'? that, to me, implies a cost or gravity or some constant that you assign (?)

Quote:

And I hate the interface on Eagle. I'm using Ultiboard and find it more to my liking.


I'll try that next, then. thanks. I'm *just* starting out in this
wink.gif
 
Nov 25, 2008 at 8:39 PM Post #6 of 21
Quote:

Originally Posted by linuxworks /img/forum/go_quote.gif
isn't that solvable with 'gravity' concepts? that's the spring and masses idea I mentioned before. the oversimplification is that you connect things in 3d with imaginary springs and the nodes have masses and if you want things to be 'near' each other you make the spring stronger!
wink.gif
then you let it come to rest and you rotate it around until it projects the right 'thing' on 2d. in a nutshell, that's my poor man's understanding of the spring-n-masses algorithm.

so why would this not work with things that need to be 'near each other'? that, to me, implies a cost or gravity or some constant that you assign (?)



The issue is a matter of work. By the time that you put in weights and everything, you could have just laid it out on the board. And it is not just a matter of being near, I've read some articles it also matters about the orientation of the various components (for example.

And there are things that it may never get right (input jacks, output jacks, LEDS, etc) as these thing become arbitrary based upon what you want panels to look like.
 
Nov 25, 2008 at 10:10 PM Post #7 of 21
Quote:

Originally Posted by cobaltmute /img/forum/go_quote.gif
And there are things that it may never get right (input jacks, output jacks, LEDS, etc) as these thing become arbitrary based upon what you want panels to look like.


I am not asking for full autolayout on ALL things, since as you say some manual 'lock downs' are needed. I was assuming that would always be *part* of the solution but eagle seems to do *no* autoplacement at all, not even a first try. the user has to drag in all things and the only helps are the airwires and the autoroute as a batch process, when you say 'go'.

again, I have not used any other programs that do this for circuits - this is my first. I've done a bit in network mgmt where you have some 'anchor' IP nodes (hosts, routers, whatever) and some static things you don't want torn up; but you often do get new objects during a scan and its nice if they can auto-place and auto-wire and not cause a whole lot of re-do work.

so, it seems that if I am to use eagle I have to get used to the idea of my doing most of the design work and the program really only doing the book keeping and grunt work of trace layout
wink.gif
I was hoping to draw a schematic, say 'go' and have at least a workable (not optimal but at least working) layout with traces. maybe I was assuming too much automation for such low-end programs.

again, if I wanted to get to the next step up in programs (paid-for windows programs are ok) - what would that be?
 
Nov 25, 2008 at 10:28 PM Post #8 of 21
I think you'll be disappointed looking for autoplace to work for you.

Ultiboard does it. It has the ability to set some different criteria regarding weights (i.e number of net connections) but I've ended ripping it up every single time. Again what it does it not the same as what I want the board to look like.
 
Nov 26, 2008 at 2:09 AM Post #11 of 21
Routing a PCB is much, much more complex than routing a network. There are more, smaller nets, more constraints on parameters (ie. physical area/distance, impedance, route length etc.), nodes are generally connected to a lot more nets. It's a different animal and I'm surprised you're comparing them
smily_headphones1.gif
. For simple boards it probably works okay, but there are just too many variables for it to be fully automated successfully any time soon. There still has to be someone/thing that actually understands the circuit at a higher level than 'this must connect to this' to end up with a sensible design.

Once you get the parts laid out on the board in a reasonable fashion, the autorouter can help get some of the work done for you, but when I use it, I tend to only use it on specific nets that I already know will route easily when I click on them. And even then I end up ripping up half of it and redoing it so it goes where I want it to.

I'm hardly an expert, but I haven't had much luck. I use a *sheepishly* pirated copy of an expensive commercial EDA package and the automation tools really aren't a huge deal better than EAGLE's (though the PCB and schematic capture interfaces are much nicer).

There's a reason people call PCB layouts 'art' (and you still see it called that). It's a lot of work, and it takes a lot of intuition and understanding to end up with a good layout (which I need to work on
wink.gif
).

cobaltmute: Thanks for that PDF, looks like a good read.
 
Nov 26, 2008 at 2:17 AM Post #12 of 21
Being a network guy as well, I can see the reason to do the analogy. However, it falls down in that it is easy to map a network but a board is a collection of networks which is a different beast.

Read a couple of good articles and you can learn some things that decode the art fo you.

It helps if you like the tool. I've tried going back to Eagle a couple of times for the libraries, but I just can't stand the way it aligns and places the parts.
 
Nov 26, 2008 at 2:43 AM Post #13 of 21
Yes, PCB routing is an art that cannot be automated in software. All my PCBs are manually-routed, and even then I spend countless nights and hours sweating the little details, nudging a part or trace this way or another so that not only does it satisfy the circuit requirements, but appease my sense of feng shui on its orderliness.
 
Nov 26, 2008 at 3:17 AM Post #14 of 21
I still keep thinking of the 3d modeling spring/mass idea.

for example, when I mount things on their own leads, 'in air', I'm free to orient transistors sideways or upside down - whatever gives the magic bunch of leads that have a minimal 'spanning tree' so to speak
wink.gif
in 3d, you have a lot more freedom but the same idea should apply, I would *think*. no?

as for networks being simpler - ha! not when you go Really Big. the spring/mass thing was done when I was at DEC back in the late 80's. at that time, our internal network was about 120,000 nodes which was the largest private network in the world. this software DID map out all those nets and subnets (DECnet areas) and it did an auto-layout that was anything but symmetrical or simple-geometry shape based. it really was a spaghetti but was rotated and projected until it had minimal overlap. it blew my socks off
wink.gif
I think someone did their phd on this subject and this tool that I used was based on that.

having seen that it does not really seem all that impossible to me to have the same thing, more or less, applied to pc board layout.

at any rate, it seems the consensus is that its better done manually and that's "how its done" today by the pros. but I was really hoping someone would say 'oh yeah, this auto placement stuff really does work and here's the product that does it well..'.

btw, is it that tool makers just can't do a good job at this or that users stopped asking for it?
 

Users who are viewing this thread

Back
Top