Re: gEDA-user: How do write an autorouter?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Am 13.09.2010 09:02, schrieb Oliver King-Smith: >So I want to auto route a design for my ASIC, and magic is being a >little flakey (It seems it connects some nets together that don't >belong and fail to connect nets that do belong). I was wondering if >anyone has any references on how auto routers get written. >I know some stuff about my design. For example I want the router to >avoid certain regions (rectangles that represent cells). I know the >net list, and the connection points on the edge of cells. >If this is 1000's of lines of code, well that is not practical in my >time frame. But if folks have designed these things and the principle >is straight forward, I should at least consider writing one. So what >is the principle behind the routers and how hard have they been to >implemented in the past? >Oliver It's probably a lot less work to discuss with the maintainer of magic, learn how the autorouter in magic works (I didn'T even know it has one) and fix bugs in it. Philipp -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyN7Q0ACgkQbtUV+xsoLpoklACdH/2h6s2/OZrtiWNOjnh2sish uAAAnjd9M8SljSlo2/tPef/VJKYjW7Kp =Zpuy -END PGP SIGNATURE- ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: How do write an autorouter?
Writing an autorouter is a very demanding task. I'd estimate it in the range of 10.000's of lines of code since a good working router will contain many heuristics to try and achieve optimal results in many situations. Lots of cases that are mathematically difficult to understand have to be handled. The datastructures and algorithms have to handle geometry and topology and performe transformations on "bundles" of traces. Have a look at the mathematics describing knots, nonlinear optimisation,... Maybe to negative, but you have been warned - if someone knows tricks to get past this, correct me ;-) Oliver King-Smith wrote: So I want to auto route a design for my ASIC, and magic is being a little flakey (It seems it connects some nets together that don't belong and fail to connect nets that do belong). I was wondering if anyone has any references on how auto routers get written. I know some stuff about my design. For example I want the router to avoid certain regions (rectangles that represent cells). I know the net list, and the connection points on the edge of cells. If this is 1000's of lines of code, well that is not practical in my time frame. But if folks have designed these things and the principle is straight forward, I should at least consider writing one. So what is the principle behind the routers and how hard have they been to implemented in the past? Oliver ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: How do write an autorouter?
So I want to auto route a design for my ASIC, and magic is being a little flakey (It seems it connects some nets together that don't belong and fail to connect nets that do belong). I was wondering if anyone has any references on how auto routers get written. I know some stuff about my design. For example I want the router to avoid certain regions (rectangles that represent cells). I know the net list, and the connection points on the edge of cells. If this is 1000's of lines of code, well that is not practical in my time frame. But if folks have designed these things and the principle is straight forward, I should at least consider writing one. So what is the principle behind the routers and how hard have they been to implemented in the past? Oliver ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user