My apologies if this one has been asked before but if it has, I can't find it.
WARNING! Contains auto router question.... people with religious or fanatical zeal and/or opinions regarding auto routers ... look away now....
Ok, this is a it of a doozy. I have a sort-of workaround but I'm not particularly happy with it as it involves a fair bit more work than it really should need.
The question is pretty simple ... how can I enforce a net prioritisation for the Autorouter in Eagle?
About now ... a million people will probably be wondering "why" or of what use is that, but it is actually pretty important and let me explain. When I'm laying out a board, I typically start with the layout of tracks in the following order:
Clock Lines
Busses
Power/Ground Planes
... everything else ...
Put simply, for clock lines, I want them as *direct* as possible, with as few (preferably no) vias as possible.
After that, I think lay out the relevant busses and if there are differential paired lines, then they go next.
After that, power and ground (for 4 layer and more, I usually have a separate plane for those but I digress)
... and finally, everything else gets done.
The way I've been doing it up until now, is I typically start with a throw down of components, and then start by getting the auto router to start with individual clock nets. Typically I'll look at what it suggests and then either I'lll move stuff around or I'll adjust it manually but I try to have stuff laid out that is routed by the auto-router in the same or a similar fashion to the way that I would do it. When it doesn't do what I think it would do, I usually try to work out why.
After that, I then attack the various busses and so froth. Now ... the question is that if you do this, and you wind up with a board, if you just rip up the board and then let the auto-router have play at it, it will in 95% of the cases make a complete and utter mess of it. In most of my cases, simply applying a manual priority usually produces a much better job (even if you use nothing other than the auto-router).
The big hassle with this is that it is *horribly* time consuming. Is there a way of letting the auto-router work on a net class list (vs an individual net) and if there is, is there a way of then telling it to then assigning a priority so that it starts with say a net class of say "clock", then progresses to "bus" and so on ...