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

gEDA-user: New branch of PCB



Hello all,

I've made a branch of PCB.  The intent of the branch is to aid in the
debugging and tuning of PCB's autorouter and PCB's trace optimiser.

Motivation
Having laid out a couple of boards with PCB 20091103 I became aware of
some bugs in the autorouter that made the job difficult:
1 The autorouter was generating traces that the trace optimiser was
often refusing to miter.
2 The autorouter would sometimes generate traces that violated DRC by
being too close to other copper.
3 The autorouter would sometimes "route on top of itself".  The
generated traces were valid, but ugly and inefficient.
Whilst investigating these bugs I discovered that PCB20081128 didn't
seem to have bug 1 or bug 3.  I also discovered that the 2008 version
often gave better autorouting results for my board (fewer unrouted rats).
Unfortunately I didn't have enough time to debug the 20091103
autorouter.

Action
I have created a branch of git HEAD that has the following features:
* Resurrects the autorouter as it was in 2008, allowing it to be run
alongside the git HEAD autorouter.
* By default the autorouter action now runs git HEAD autorouter
followed by the 2008 autorouter and then chooses the best result.
* Results of both autorouters are saved alongside the current pcb to
allow visual inspection etc.
 So if your current pcb is "foo.pcb" you'll also see "foo-New.pcb" and
"foo-2008.pcb" after autorouting.

Installation
git clone git://repo.or.cz/geda-pcb/see.git
cd see
./autogen.sh
./configure
make
src/pcb

Desired community response
* If you're working on a PCB, please give this branch a try and let us
know how the two autorouters compare for your board.  The easiest
way is to post the messages from PCB's message log window about
how the two autorouters are performing.  Typical messages look like this:

AutoRoute() added 878.1" wire & 1304 vias in 715sec. 201 rat lines remaining
AutoRoute2008() added 783.1" wire & 1188 vias in 391sec. 112 rat lines remaining
Keeping results from AutoRoute2008()

* If you're happy to share your PCB then let me know.  I'm building up
a set of reference PCBs to allow benchmarking.  The ones I have so
far are located in the new "examples" folder.  "examples/downloaded"
has original PCBs (as downloaded) "examples/notraces" has the PCBs
with existing traces and planes removed to allow autorouter trials.

Notes
* autorouting now breaks undo -> please save your PCB somewhere safe
before experimenting with this branch
* A menu checkbox "Settings->Disable 2008 autorouter" is provided to
disable the dual autorouter approach.  When checked only the normal
(git HEAD) autorouter will be used.

Best Regards,
Stephen Ecob


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