Skip to content
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

NW.b violation when two ebufn_2 abutt themselves #246

Open
smunaut opened this issue Oct 30, 2024 · 7 comments
Open

NW.b violation when two ebufn_2 abutt themselves #246

smunaut opened this issue Oct 30, 2024 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@smunaut
Copy link
Contributor

smunaut commented Oct 30, 2024

See attached image.

u4FPoAm

The rule is 0.62 min, but with two ebufn_2 cells next to each other you get 0.42. And actually if one of them is in the other orientation it can get down to 0.345.

@smunaut
Copy link
Contributor Author

smunaut commented Oct 30, 2024

And as a side note, that rule isn't checked by the DRC deck.

@KrzysztofHerman
Copy link
Contributor

@b10346 additional hint
image

Other cells: ebufn_4 ebufn_8 do not have this issue.

@sergeiandreyev
Copy link
Contributor

sergeiandreyev commented Oct 30, 2024

And as a side note, that rule isn't checked by the DRC deck.

yes, the rule NW.b (as well as many other NW.x rules) is still not implemented:
https://ihp-open-pdk-docu.readthedocs.io/en/latest/verification/drc/03_missing_rules.html

@smunaut
Copy link
Contributor Author

smunaut commented Oct 30, 2024

I added this locally, which does report those errors, but given it's mostly just a cut&paste of similar rules in Mn.b and I barely know what I'm doing, I'll let the DRC deck experts actually add it 😁

--- sg13g2_maximal.lydrc	2024-10-30 10:51:23.044619042 +0000
+++ sg13g2_maximal_nwb.lydrc	2024-10-30 10:51:09.123354890 +0000
@@ -1613,6 +1613,9 @@
     NWell_NW_a.dup
 end.().output("NW.a", "Min. NWell width = 0.62")
 -> do
+    NWell.ext_fast_space(0.62.um, consider_intersecting_edges: false, ignore_non_axis_aligned_edges: true)
+end.().output("NW.b", "Min. NWell space or notch = 0.62")
+-> do
     NWell.ext_fast_separation(NActHV_ana, 0.62.um)
 end.().output("NW.d1", "Min. NWell space to external N+Activ inside ThickGateOx = 0.62")
 -> (;x, y) do

@akrinke
Copy link
Contributor

akrinke commented Oct 30, 2024

Yes, as a temporary fix, you can implement the rule like this. However, the rule should only look at connected polygons – that's why we haven't implemented it, yet.

@sergeiandreyev
Copy link
Contributor

FYI, #247

@sergeiandreyev sergeiandreyev added the bug Something isn't working label Nov 19, 2024
@sergeiandreyev
Copy link
Contributor

Hi @smunaut, could you please confirm that the update fixes the issue on your side as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants