[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: New autorouter high effort mode



Hi all,

I've just pushed an update to my branch of PCB which provides a new
autorouter high effort mode.

What does it achieve?
It wrings a few extra drops of goodness out of the autorouters.
Typically it will route a few extra tracks.  Useful if the autorouter
is almost doing the job, but leaving a handful of tracks unrouted.
Very useful if you're finishing work for the day and your computer has
nothing better to do all night.

How does it work?
It's a brute force hack.  It sits in an infinite loop repeatedly
running the autorouters, but each run it slightly tweaks the cost
function so that the routing ends up different.  You can use it to
burn CPU cycles to get slightly better autorouting.

Quality ?
No.
It's a brute force hack.  Make copies of your board before using the
hack.  If the hack produces useful results it's safe to take them back
to a stable version of PCB.

What's the work flow ?
0. Back up your PCB.  WARNING: At the end of this work flow you will
manually kill PCB (ctrl-C) without an opportunity to save.
1. Start PCB from a command shell, you'll need it to read status information
2. Set "Settings -> Autorouter high effort"
3. Select at least one autorouter with "Settings -> Disable 2008
autorouter" and "Settings -> Disable default autorouter"
4. Start autorouting (from the "Connects" menu)
5. Wait for status messages in the shell.  They look something like this:

2008FFFFFFF routed 208 nets and 332.681560".
2008AFFFFFF best yet with 208 nets and 329.589900".
2008BFFFFFF best yet with 208 nets and 328.583180".
2008CFFFFFF best yet with 208 nets and 328.471335".
2008DFFFFFF 208 nets and 328.515675".
2008EFFFFFF best yet with 208 nets and 328.347530".
2008GFFFFFF 207 nets and 330.267000".
2008HFFFFFF 207 nets and 337.805590".
2008IFFFFFF 206 nets and 327.564940".
2008JFFFFFF 206 nets and 328.720400".
2008KFFFFFF 207 nets and 328.265705".
2008EAFFFFF 207 nets and 325.139955".
2008EBFFFFF best yet with 209 nets and 326.294555".
2008ECFFFFF 208 nets and 329.716525".
2008EDFFFFF 207 nets and 327.660495".
[...]
2008EBHGHFF 209 nets and 335.422395".
2008EBHGIFF 208 nets and 328.476840".
2008EBHGJFF best yet with 210 nets and 331.878480".

6. Each time is says "best yet ..." a routed copy of your PCB will be
saved with a matching file name, eg myboard-2008EBHGJCF.pcb
7. Ctrl-C in the shell to kill PCB when you're happy with the results
or have run out of patience.

What is this "2008 autorouter" ?
PCB's autorouter underwent a major rewrite in 2009.  This made it work
better in many cases, but in some cases the older version works
better.  My branch of PCB includes both versions.  I often try both
autorouters and keep the best results.

How to get it?
git clone git://repo.or.cz/geda-pcb/see.git
cd see
./autogen.sh
./configure
make
src/pcb

Enjoy!

Stephen Ecob


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user