VLSIDA / OpenRAM

An open-source static random access memory (SRAM) compiler.
http://www.openram.org
BSD 3-Clause "New" or "Revised" License
809 stars 199 forks source link

SRAM macros for Open MPW #140

Closed BYCakar closed 2 years ago

BYCakar commented 2 years ago

Hi, I generated SRAM macros with OpenRAM, since I needed nearly 40 kB of RAM and it is almost impossible to provide it with 2 kB macros. I got Magic DRC errors and asked about it in the sky130 Slack channel. They told me that SRAM macros commonly have this issues and reccomended to turn off Magic DRC check while running user_project_wrapper. The flow passes but I have problems in precheck due to DRC issues. I also asked about it in the Slack channel and they told me that SRAM macros in the PDK directory are automatically excluded from DRC check, but they were not sure if users can add custom SRAM macros. Am I allowed to add my custom SRAM in caravel user project? If yes, how can I make the precheck tool to exclude my SRAM too?

mguthaus commented 2 years ago

Hi,

The DRC issues in precheck are on the eFabless end and you should talk to them. We generate the macros, but need their help on integration in the flow.

In terms of the very large memories, we are still verifying them. I can't guarantee anything works, but we are confident in the 1kbyte and possibly 2kbyte and 4kbyte.

BYCakar commented 2 years ago

I also opened the same issue in caravel_user_project repository, but I haven't got any answers yet. Just in case I am able to implement generated SRAMs in user project area, how can I verify my SRAM?

mguthaus commented 2 years ago

OpenRAM will run DRC and LVS if you have that option enabled. As far as the chip integration, I'll have to defer to them.

mousaq92 commented 2 years ago

Hey @BYCakar ,

I'm having a similar issue with sky130_sram_1kbyte_1rw1r_32x256_8

Did you manage to resolve the issue?

How did you solve the OpenLane DRC errors in your SRAM macros?

Thanks,

Mousa

BYCakar commented 2 years ago

As far as I know, DRC issues with SRAM macros are common. So you should turn off Magic DRC when running user project wrapper. In the precheck stage checker excludes SRAM macros to ignore these DRC issues, thus your design will pass successfully. But I must indicate that I know this from slack discussions and my examinations on precheck scripts, I have not personally tried it yet.

mousaq92 commented 2 years ago

Hello @BYCakar ,

Thank you for your reply. The Magic base DRCs showing up in OL can be resolved by updating drc.tcl in OL to include the abstract models of the SRAM macros.

Thank you,

Mousa