Do we have to disable the magic drc check when usi...
# openlane
j
Do we have to disable the magic drc check when using the SRAM macro?
d
The EF_SRAM_1024x32?
j
sky130_sram_2kbyte_1rw1r
d
You need to refresh your clone of the data. You cannot tape out any of the openRAMs with design rule errors. The ones in the repo should be fixed.
j
No the problem is "Magic DRC Check" for user_project_wrapper runs forever when I include the SRAM macro, it seems like a popular issue and it is been suggested to disable the magic drc check in other forum posts. That's why I am wondering?
@Tim Edwards I think you probably have dealt with this problem many times in the past. Can you suggest me the right way forward? Should I skip the magic drc check? If so the efabless precheck fails with magic drc !
t
The way Efabless platform precheck handles this is to substitute the abstract (LEF) view of the SRAM for the detailed version when running DRC.
j
@Tim Edwards Can you explain to me how I can do this locally?
t
First off, make sure you're using an SRAM block from the
sky130_sram_macros
PDK library; the name for the block you're using is
sky130_sram_2kbyte_1rw1r_32x512_8
(maybe this is the block you're using and you didn't include the suffix?). The PDK library has a magic-compatible abstract view in
sky130A/libs.ref/sky130_sram_macros/maglef/sky130_sram_2kbyte_1rw1r_32x512_8
. In magic, you would load the design containing the SRAM, then do
cellname filepath sky130_sram_2kbyte_1rw1r_32x512_8 $PDK_ROOT/sky130A/libs.ref/sky130_sram_macros/maglef; flush sky130_sram_2kbyte_1rw1r_32x512_8
. This will substitute the SRAM abstract view, and then the DRC should ignore the SRAM and give you only errors that exist outside the SRAM block.
@David Lindley: If only the cells in the IP repository are correct to use, then we have a disconnect. There are SRAM macros integrated into the sky130 PDK and these are active and available for anyone to use. If it is just a matter of updated/corrected GDS, then the
sky130_sram_macros
repository should be updated and corrected.
d
@Tim Edwards this was what I wanted to talk to you about the other day. I created a PR on some repo that I thought you owned but I couldn’t find it when I went back to look. I’ll update this one if I haven’t yet done so.
t
@David Lindley: Gotcha. That repository was https://github.com/efabless/sky130_sram_macros and I can see the pull request from you. I will take care of it.
d
Cool! Thanks!
t
@David Lindley: Sorry I didn't take care of that earlier (like 3+ months ago when it was posted). Either I'm not getting emails for that repository or I was just too swamped with things in July. I have merged the pull request and am now running the open_pdks compile to confirm.
d
I kept meaning to ask you about it but it kept slipping my mind. Thanks Tim.
j
@Tim Edwards I am using the sky130_sram_2kbyte_1rw1r_32x512_8 SRAM macro found inside the user_caravel_project/dependencies/pdks/..../sky130_sram_macros folder. But there is no maglef directory in there. Also I'm not quite sure how to execute the steps you mentioned above since I just run make user_project_wrapper and let that perform the magic drc check.
https://open-source-silicon.slack.com/archives/C016UL7AQ73/p1635258245039700?thread_ts=1633433046.163200&cid=C016UL7AQ73 Is this what I have to do? While disabling the magic drc check in the flow config? If so can you provide me the /maglef folder for this specific macro?
t
@Jazoolee Ahamed: That is the correct path if the PDK was installed in the project dependencies. Normally that comes from volare, and normally the maglef/ directory is part of the distribution. But you redacted the interesting part of the path which gives the volare git commit hash. What is the full path for
user_caravel_project/dependencies/pdks/..../sky130_sram_macros
?
j
I am getting this error for the online precheck, what can I do?
78b7bc32ddb4b6f14f76883c2e2dc5b5de9d1cbc is the commit hash
Got the files from the newest volare release !
Solved the above issue using grt_obs around the SRAM
But LVS if failing, probably due to the SRAM being blackboxed and I haven't provided a gl file for the SRAM in the lvs/config file. Is there any solution to this?
Also I am having klayout_FEOL test fail in the precheck
Gds from the last pull request you merged has made me pass the prechecks. Thank you !