Guo Peichen

03/23/2023, 3:39 AM
Hello, Recently I am trying to build a SRAM with good density using sky130. I found the repo I open the open_ram_sp_cell with magic and found that there are many drc errors. Did I use the wrong design rule file? The design rule file i used is in the /share/pdk/sky130A/ I think it is from OpenPDK. Or did I check the wrong repo?

Arman Avetisyan

03/23/2023, 7:36 AM
Mgaic VLSI DRC rule set does not have the SRAM special rules. They are different than the standard ones. KLayout drc rules have this issue fixed
Check the drc page of skywater130 for these special rules. They use optical proximity to get finer details (or something similar)

Guo Peichen

03/23/2023, 7:53 AM
Thx! I will take a look on that.

Tim Edwards

03/24/2023, 12:20 AM
@Guo Peichen: I purposely did not implement DRC rules for SRAM in magic because those rules are not rules that can be used outside of specially designed vendor cells which have optical correction, such as the bit cell above. If you want to use those cells in an array, you will need to create decoders and sense amps that match the cell pitch, because SkyWater did not give us those cells. I suggest looking at the OpenRAM project (see channel #openram), because the OpenRAM developers have worked with these cells for a long time. There are a number of people who have attempted to create their own SRAM arrays out of these base cells. Note that you will need to make sure that all cells outside of the core memory array (such as the decoders and sense amps) are DRC clean without special rules, or else the mask data will get rejected by SkyWater. As @Arman Avetisyan said, you will probably want to run klayout to make sure your design is DRC clean because magic won't handle it.

Guo Peichen

03/24/2023, 5:07 AM
@Tim Edwards Thank you! I will look into OpenRAM.