@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.