<@U016EM8L91B> Hi Tim, we left io pins that we don...
# shuttle-precheck
y
@Tim Edwards Hi Tim, we left io pins that we don't use to be unconnected, then our user_project_wrapper_analog.gds in klayout would have floating metal error basically in every unused pins which are unconnected, which leads to fail
Klayout Metal Minimum Clear Area Density
step when
make run-precheck
. I'm not sure how to deal with those unused pins to avoid this error. Here is our repo https://github.com/YuetingLi666/caravel_user_project_analog_BGR, you could find our
./gds/user_analog_project_wrapper.gds
and
./netgen/user_analog_project_wrapper.spice
there. Looking forward to ur suggestions!
here is the density error log
t
Are you sure that the pins cause the density error? That doesn't make sense to me. To my understanding (and sometimes things change without me knowing about them), the klayout check is done without fill generation to check if any metal is already over-density (which then could not be fixed by fill generation, which can only add more metal and increase density). The fill checks should simply be enumerating all metal shapes in the design and dividing the total area of them by the total user project area to arrive at a density figure.
@jeffdi: Has something changed in the way klayout prechecks are being run on analog projects?
y
@Tim Edwards if our design is too small, is it possible to lead this error? If u don't mind, u could have a look at the gds, that it only takes less than 1/10 of the whole caravel area
how could I debug if to see if any metal layer of my design is over density btw?
t
You can clone the precheck repository from github/efabless and run the klayout script that does density checks on your own design, although in theory, you will get the same result as precheck gives you. You can also just eyeball the layout while displaying one metal layer at a time. Note that it is very difficult to get a metal layer to be over-density; there is only one common case that we know of, which is synthesized digital circuits that take up the entire user space and are dominated by decap cells using the original SkyWater decap cells. I do not know of any other instance in which metal was over density.
y
@Tim Edwards I passed now. I found for user_project_wrapper_analog repo, the errors from two step ['consistency', 'min density area'] are actually corelated. the consistency step would try to match the
gds/user_analog_project_wrapper.gds
with the
netgen/user_analog_project_wrapper.spice
. If the .spice have many hierarchies, the 'min density area' would take some hierarchies as top hierarchies and try to check the subcell metal density. I tried to flat my whole design firstly into
user_analog_project_wrapper.mag
and then use gds write to get
user_analog_project_wrapper.gds
to avoid this issue, then extract this gds into netgen/.spice, this method works for me.
t
@jeffdi: Take a look a the comment above. This behavior makes no sense whatsoever!