<@U017UPJEGKZ>: This does seem to be a bug in mag...
# magic
t
@User: This does seem to be a bug in magic---the addition of the 45 degree angles is cutting up the tiles in a way that makes magic fail to see when there is sufficient space in the middle to place a contact cut. Since the cuts themselves cannot be 45 degrees, I suggest removing the angled lines, or just making the angled areas in metal4 + metal5 but not via4. Meanwhile I will look into the issue in magic.
w
Thanks for looking into it. Another weird DRC related issue I am getting in the design is if I try to route a horizontal metal layer coming off the diagonal
it throws a DRC error
I am not sure if its a connectivity thing, where it does not realize the two are connected or something?
example:
Copy code
% drc why
Metal5 spacing < 1.6um (met5.2)
% drc why
Oh wait, the distance between the m5 runners is 1.27um in x, so only 0.89um total
but that clearance issue is not getting checked until I add the M5 box
the origonal diagonal runners are placed with
Copy code
wire segment %s %gum %gum %gum %gum %gum -noendcap
per cell and then tiled.
t
So the actual issue seems to be that the spacing rule is not being checked between diagonal lines in neighboring cells in arrays? Are the tiles arrayed using "array" or by copying in X and Y?
Okay, never mind, this error is easy to reproduce. Very surprising.
w
I think the issues are related? But one is a minimum width type rule not being checked for the diagonal via4 layer, and the other is a clearance issue between diagonal wires. Demonstrated on M5, but I expect it also pertains to the other layers
This design is generated via a large TCL script that tiles the grid, including importing a FET, and then flattens everything (I was getting an error about some overlapping layer being prohibited between subcells)
I can upload the script if it would be useful for debug
t
I just updated magic with some code to check non-Manhattan edges directly. This should flag the above case on metal5. Be aware that I could not check the wide-spacing rule that way, which is probably relevant to metal4 spacing. I will need to do some additional work to accomodate some of the rules like wide-spacing that depend on a maximum width algorithm (I do not have a maximum width algorithm implemented for non-Manhattan areas, so that's significant extra work).
w
Maximum width? What design rule is that?
Also, is this issue distinct, or related to the via issue?
t
You mean the issue you mentioned earlier where the vias said there was no room for a contact cut? That's a separate issue. Easy to work around if you just don't draw 45 degree edges on vias, though.
The maximum width rule isn't a SkyWater rule; it's a rule used to find metal areas of > 3um x 3um which is what triggers the wide spacing rule.