( ESNUG 368 Item 4 ) --------------------------------------------- [04/12/01]
From: Joseph Gebis <gebis@cs.berkeley.edu>
Subject: Avanti Placement Works, But Apollo Routing Dies On Easy Designs?!
Hi, John,
We're using (or trying to, at least) Apollo to route our latest chip, and
running into some serious problems.
We've tried to contact our Avanti AE, but to no avail. I'm wondering if
anyone on ESNUG has any ideas of what might be the problem, or any
suggestions of where we could look for help. Thanks.
I'm having a problem when I attempt to route in Apollo. This problem shows
up for even extremely simple examples; one test case I've done has simply
32 flipflops and nothing else. In that example, I set the core utilization
to 0.3 and the row/core ration to 0.7, so it seems that it should have
more than enough space to route.
Placement seems to work fine, as does Global Route (I can turn on groute
visibility, and it looks as though all the appropriate connections
are there). The problem first seems to appear during Track Assign.
It completes without complaints, but I can see there are a number of
connections that have not been made, and if I do a Route->Check Opens,
it complains about a large number of nets with errors (in my simple
example, it reports: "Check 67 nets, 33 have Errors").
If I try and to a Detail Route at this point, it won't even complete
for anything but the simplest examples (it doesn't even get to the
"Route SBox" stage; it dies with "**** ERROR:Too many broken nets.
Cannot continue!"). For the simplest examples, it seems to complete
the Detail Route with no violations, but if I again do a Route->Check
Opens, I find I still have a large number of nets with errors.
I can improve the situation slightly by either doing Route->Search &
Repair, or by doing a Global Route, Track Assign, doing another
Global Route, another Track Assign, and keep iterating over those
two; still, both of those only give marginal improvement, and even in
my extremely simple example, I can never end up with a good route.
I'm using a standard cell library that we got from our fab partner,
but we were just given GDS files (not an Avanti library). I thought
that perhaps I had messed up in my importing the cell library, but
my simple example uses only one cell, and if I do a Wire Tracks -> Check
Pin On Tracks in Milkyway for that cell, it reports:
** # Pins with no good access point on Grid (V&H) = 0 ( 0%)
which makes it seem to me like it should be able to reach its pins.
For the nets that do get routed properly, it seems as though Apollo
is doing a good job (that is, it doesn't seem like there's something
majorly wrong with the techfile I'm using, or something like that).
I'm not sure what else I can try.
- Joseph Gebis
UC Berkeley
|
|