-
Notifications
You must be signed in to change notification settings - Fork 223
Assertion Error in SRAM Generation with Specific word_size and num_words Configurations #251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Yes, this is a duplicate of #228 |
is there any previously working git version or tag which i can switch to generate sram macros reliably for sky130 PDK |
if we make analytical_delay=False we will get the below issue during characterization and if we make dont touch use this analytical delay line and make inline_lvsdrc=False then its generating the files successfully. But iam going to fabricate it it fails due to inline_lvsdrc then i dont think the output generated without it is reliable. |
inline_lvsdrc runs LVS and DRC at every hierarchical level instead of only at the end. You shouldn't turn this on for sky130 since the bitcells cannot pass on their own. They have devices that are split between two bitcells so they won't pass alone. This feature is just meant to help debugging when there is a failure to help isolate an error. OpenRAM will still run LVS and DRC at the top level as long as check_lvsdrc is enabled. |
Thanks for the reply i will try this and let you know if i face any other problem. |
Hi, Data word sizeword_size = 32 Number of words in the memorynum_words = 256 need to check what the below doeswrite_size = 8 num_rw_ports = 2 Technology to use in $OPENRAM_TECHtech_name = "sky130" Process corners to characterizeprocess_corners = [ "TT" ] Voltage corners to characterizesupply_voltages = [ 1.8 ] Temperature corners to characterizetemperatures = [ 100 ] Output directory for the resultsoutput_path = "temp_32_1024_master_last_stable_2rw" Output file base nameoutput_name = "sram_32x1024" Disable analytical models for full characterization (WARNING: slow!)analytical_delay = True To force this to use magic and netgen for DRC/LVS/PEXCould be calibre for FreePDK45drc_name = "magic" |
I would suggest that you get simulation working to verify a 200MHz operation. |
Simulation in the sense of SPICE simulation, or are you referring to RTL simulation with the Verilog model which got generated to verify the 200 MHz operation? |
Spice. |
Sure, thank you! I have one last question: Currently, I’ve generated the SRAM with analytical_delay=True. Can I use this version directly for fabrication, or do I need to regenerate it with analytical_delay=False and use the resulting GDS/LEF in my design? |
The characterization model used won't change the layout and implementation. So both will result in the same design layout, but the .lib file with delay and power will be different. |
Thanks for the information. |
Describe the bug
I attempted to generate an SRAM instance using the following command:
While some configurations work perfectly, others fail to execute. I'm not sure if I'm using an unsupported configuration or if this could be a bug in OpenRAM.
Below, I've listed the configurations that work and those that do not.
Working configurations
Not working configurations
Version
commit b6a6f12
To Reproduce
As an example, here is the configuration that fails (word_size = 32, num_words = 100).
python version: Python 3.8.19
configuration file (
myconfig.py
)Logs
Below is the output I received:
Additional context
I have reviewed the documentation but could not find any constraints related to the configuration that could explain this issue. If there are specific constraints that I should be aware of, could you please provide some guidance?
The text was updated successfully, but these errors were encountered: