<@U01CZHZ070U>: This is normal behavior. Contact...
# analog-design
t
@User: This is normal behavior. Contacts in magic are "contact areas" to be filled (automatically) with contact cuts. Depending on how the DRC rules are written, it is normally not possible to get the original area back when reading from GDS; however, what is read back from GDS will still generate the same GDS as the original layout, if you were to write GDS from it again.
l
Is it expected that this automatic filling of contact cuts may generate DRC errors due to the spacing between the auto-filled contacts? In this case, these auto-filled contacts came out spaced a little less than the DRC requirement.
t
@Lakshmi: No, that's not expected. I just ran a test, and if the original box width is 0.53um, it just fits two contact cuts (0.17um width, 0.17um spacing). If the box width is 0.52um, then it fits only one contact. When I write GDS and read back GDS, the contact area is replaced by cut areas, like you have in your screenshot, but the contact spacing is never less than 0.17um.
l
Here in case of the contact I mentioned I see that the spacing is 0.18um (as seen in this image) but still it shows DRC error on it. I am using the sky130A.tech file provided in the PDK installed through Caravel ( <pdk_root>/sky130A/libs.tech/magic/sky130A.tech ). Might this be some issue specific to a magic version? I am using 8.3 revision 76.
t
Here's what I think: I see that the rightmost menu item in your layout window is "Options". That means that you are not starting magic by reading in the sky130A.magicrc file, which would pull in the PDK with its device menus; but more importantly, it does a scaling by a factor of 2 of the database to match the DRC rules. That would make this an error in magic having to do with rounding rule distances in the GDS reading. I will have to look into the problem. However, you can avoid the problem by running
magic -rcfile <path_to>/sky130A.magicrc
, or by copying that file from the installed PDK to the local directory where you have your layout, and renaming it to
.magicrc
.