Can someone explain the metal density rules ? For...
# sky130
t
Can someone explain the metal density rules ? For instance I see
Min MM1_oxide_Pattern_density = 0.7
and
Max pattern density (PD) of met1 = 0.77
so I need to hit between 70% and 77% of
met1
density ? That seems like a pretty narrow target to hit ...
m
Density rules are to ensure that the layout will be relatively flat after manufacturing each layer. If there is too much metal to too few not enough metal, there may be relatively large valleys or hills in the manufactured layout. The unlevel uneven layout may cause problems when manufacturing subsequent layers. For under utilization, dummy fill patterns are added before the mask are created. For over utilization, you’ll need to remove some patterns or add holes.
t
Thanks, I meant more as what are the density targets, how they're tested and if I understood correctly. ( Because the "Min" rule state
MN1_oxide
and not
met1
so maybe something else is included in that min area ? )
m
Ah, I see. Does seem strange. Some earlier rules had full chip percentage as opposed to windowed which I could grasp the reason for.
t
ATM I'm trying to design some memory cells, so they get repeated over large area and are tight enough that there isn't space for fill, so I need to make sure whatever target density there is, the cell ensure them by design or I'm going to end up throwing away a lot of work when I run it through tapeout and realize it doesn't meet those targets and there is nothing I can do short or a complete relayout to fix it ..
m
Thinking ahead. A rare but useful ability. 😏
t
Yeah, but ATM I can't find definitive answers as to what the limits are and how they're checked/applied. The values in the PDK "doc" (read the docs) don't match what I see in scripts so I'm left wondering what I'm missing and if someone could enlighten me, that'd be nice.
What I get from reading scripts is : • The FOM density seems to needs to be between 0.33 and 0.57 and is tested on a 700u x 700u window stepped every 70u in each direction •
li
through
met4
density needs to be between 0.35 and 0.6 and is tested all at once on the chip, no window. •
met5
density is from 0.45 to 0.76
@Tim Edwards ^^
t
The numbers sound about right but I'll need to check. SkyWater imposed some rather narrow ranges on sky130 which are narrower than their own ranges, purportedly because the chipIgnite reticle is fixed and they have less freedom to move things around to balance out the overall density of the reticle. SkyWater changed the density rules on us several times. I'm inclined to think that the 70% vs. 77% you cited above comes from two different sets of rules. It has become rather a mess and we need to sort it all out with SkyWater. @David Lindley: Are you aware of what a mess this is, and do you have the set of density rules which we know is the most recent that applies specifically to sky130?
👌 1
d
@Tim Edwards Nope, I didn't realize this is a mess. I think I have seen a good definition and limits of each check. Let me look.
t
Ok, please keep me posted if you sort it out 😀
d
@tnt I have a query in to Skywater for clarification. The best advice I can give you is pass the scripts for now. If you meet the global metal 40% and 60% window in our checks you'll be with-in the window I found in the older documentation. I am concerned about the lack of the metal 700x700 stepped check in the current rules. I'll get back to you on that this afternoon.
m
I am concerned about the lack of the metal 700x700 stepped check in the current rules.
This.
d
@tnt we are going to complete the 2404 shuttle tapeout with the current checks. We'll then update the ruleset after this is complete.
t
@David Lindley Ok. Is the updated check just using windowed checks with the same bounds or are the bounds themselves changing ?
d
As of right now it is just the addition of the windowed checks. But, I'm going to complete a thorough review to make sure other changes are not needed.
👌 1