[Eda-dev] Any tips on how to improve routability?

R. Timothy Edwards rtedwards8 at gmail.com
Fri Jul 26 15:42:10 EDT 2019

Hello Øyvind,

> I have a part of our design, 10000 cells, that fails to route in qroute.
> There's always 4 nets that fail to route.
> Any tips on how to improve routability?
> I've set initial_density=0.1

10k cells is not large for qrouter, and you should be able to get by
with a density of 0.7 or better.

The most recent version of qrouter (1.4, updated in the last few days)
has a much better fill generation algorithm that makes the design more
routable and can allow an increased density.

However, if you are "always" getting a handful of route failures, then
it is most likely a bug.  There are a couple of bugs floating around
that I have not yet pinned down and that affect routing.  One is that
the pin arranger can end up placing pins outside of the route area
(this is inevitable if you have way more pins than space along a side
of the design, and/or have overconstrained the pin placement restrictions).
The other is a bug that I have seen exactly once that mis-places an
obstruction layer meant for pins and ends up covering pins along an edge
of the design.

The best thing to do is to look at the "fail.out" file and then bring up
a layout and find the pins that are not getting routed.  It should be
obvious if they are off the edge of the design, or in a place where
they are boxed in by other pins, or something like that.

Most problems can be resolved with carefully applied pin constraints.
The one-off problem with the mis-positioned obstruction layer was
corrected by hand-editing the <project>.obs file.

If you aren't sure, find one of the nets that's failing and send me a
screenshot of it.

| R. Timothy Edwards (Tim)       | email: tim at opencircuitdesign.com    |
| Open Circuit Design            | web:   http://opencircuitdesign.com |
| 19601 Jerusalem Road           | phone: (240) 489-3255               |
| Poolesville, MD 20837          | cell:  (408) 828-8212               |

More information about the Eda-dev mailing list