Hi all, first time commenter but long time user of...
# sky130
r
Hi all, first time commenter but long time user of sky130 PDK. I was wondering if there exists a magic rule file that has the DRC rules for SRAM? I've been working on a 10T SRAM cell in magic using the regular rules file and just ignoring the DRC errors that pop up. Does a magic rules file exist that includes that rules for the tighter SRAM spacing?
m
Hey Ryan,
As I understand it there are special rules in the DRC that detect the 'valid' SRAMs and then don't run DRC on them. Because DRC will fail on the bit cells.
So it will work with the 'valid' ones but not with custom ones
I'm not sure what to do about that, maybe @Tim Edwards or @jeffdi can answer
t
@Ryan Ridley: There are so many rule exceptions in the SRAM that it is a real pain to work up something in the magic tech file. Magic is designed on the principle that "rules is rules". . . The way it is written, you can't just tell it that part of a design follows a different set of rules (although, come to think of it, maybe that's not so hard to implement). I tried implementing some additional "SRAM-only" layer types, but there were just too many weirdnesses in the SRAM core, like contacts hanging off the edge of metal, which are fundamentally incompatible with magic's way of describing a layout. Your better bet is to use klayout for the rule checking (although I'm not sure if there is a klayout DRC deck that covers the SRAM rules, either). Please note that SRAM rules are meant to allow the SRAM layout to pass DRC checks. They are not meant to be "design rules" per se. That is, the SRAM was designed with a lot of experimentation and iteration over many cycles to find layouts that maintain a high yield while minimizing area. The resulting layout breaks normal DRC rules in ways that are probably only valid for the specific SRAM core cell layout, and nothing else. Also note that the SRAM cells have all sorts of optical correction (OPC) hints in them, which means that somebody probably tried thousands of different OPC geometry arrangements, stared at them under a microscope, and then chose the ones that produced the best physical manufactured result.
r
Roger that, thanks for the replies. I was betting on there not being one for the exact reasons you described @Tim Edwards but I figured I'd ask anyways. Luckily, I started with an 8T cell that someone else designed in magic and used that as sort of a template to make the 10T cell (assuming the rules they were following were acceptable), so hopefully I'm not too far off from a DRC free layout. I helped a bit in writing a magic tech file for a TSMC 180 node a while back, so I have a little experience with the process. I could experiment with trying to add in a few SRAM specific rules, but you mentioned that Magic doesn't really like having dual rule sets. Do you think it's worth the effort or should I try my luck with klayout?
t
@Ryan Ridley: Yes, I would assume that starting with a known good 8T design and making changes based on common sense is about as reasonable a approach as you can make for a one-shot pass at a 10T design.