-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
without_density goes outside the boundary of the input layer #809
Comments
@ahmednofal If this is a support request, please consider using the forum for this purpose: https://www.klayout.de/forum/ "tile_boundary" will just add more layers for the bounding box computation, not confine the area computation. So it's clear that this will expand your bounding box. The tiles are chosen so that each tile gets at least a tiny bit of the layout, hence the furthest tiles will just nibble at the border of the layout. Currently, everything outside is considered zero density, hence, the density falls off for the outer tiles and a low density error is triggered. It's possible to adjust the implementation so only the area inside "tile_boundary" or the bounding box is checked - i.e. a mask rather than assuming zero density for the outside part. I'd like to leave this request open to a discussion here or in the forum. You can also compute the number of tiles and the origin so no tiles are outside your chip's area:
With this result (bad_density, test data is uniform 25% density and two patches with 0 and 100%): However, because the tile count is rounded down, there will be a small area of max 70µm width and height at the top and right side which is not checked. The integrated solution will avoid this. Matthias |
The solution consists of having a mode switch which tells "with_density" to change from "zero density outside" to "ignore outside". The keyword is "padding_ignore":
Matthias |
This feature is released with 0.27.1. |
Thank you for your work on this project.
1- Can you use
with_density
andwithout_density
for metal density drc checks ?2- I am using
![image](https://user-images.githubusercontent.com/23408673/119438687-09bec600-bd21-11eb-8884-c1e45fe63a8f.png)
without_density
function(for a field oxide mask drc density check) to retrieve the polygons in a layer that do not achieve a certain density. My input layer has a bounding box thatwithout_density
function-produced tiles go out of.Blue is the tiles produced by
without_density
, red is the input layer to thewithout_density
function.with a bounding box of
(7.92,7.9;3592.5,5192.45)
It is not clear which layer(and consequently which boundary) is used for the base layer(which you divide the area of the polygon on), which would normally be the boundary layer. I tried using
tile_boundary
but it turns out that this options INCREASES the boundary and can not reduce it.The text was updated successfully, but these errors were encountered: