Hi, ALL I am just starting to understand how Open...
# openram
j
Hi, ALL I am just starting to understand how OpenRAM works with sky130 pdk by following the OpenRAM Github document below https://github.com/VLSIDA/OpenRAM But stacked on ERROR as you can see attached screenshot, can someone advise me to find a way to cleanup it? Thank you… I would like to share what I made below. 1. Cloned OpenRAM
Copy code
$ git clone <https://github.com/VLSIDA/OpenRAM.git>
2. Build docker tool
Copy code
$ cd OpenRAM/docker
$ make build
3. export below.
Copy code
$ export OPENRAM_HOME="$HOME/OpenRAM/compiler"
$ export OPENRAM_TECH="$HOME/OpenRAM/technology"
$ export PYTHONPATH="$OPENRAM_HOME:$OPENRAM_TECH/sky130:$OPENRAM_TECH/sky130/custom"
4. edit myconfig.py as following
Copy code
# Data word size
word_size = 8
# Number of words in the memory
num_words = 128
num_rw_port = 2  # In case "1" generate ERROR
tech_name = "sky130"
nominal_corner_only = True
output_path = "temp"
output_name = "sram_{0}_{1}_{2}".format(word_size,num_words,tech_name)
5. Compile it
Copy code
$ cd OpenRAM
$ make pdk
$ make install
$ python3 $OPENRAM_HOME/openram.py myconfig
6. Stucked with attached ERROR.
m
Which commit of openram are you using? In #5, it is best to run this in the docker, but I don't suspect that this is the issue. The macros subdirectory has a makefile to do it.
Can you file an issue in github with that information and the commit id?
I'm not able to replicate this. Also, I see that you are missing this in your myconfig.py. Sky130 single port SRAMs need to have an even number of columns/rows (and they need a replica column and dummy row), so you must add this: num_spare_cols = 1 num_spare_rows = 1
Please upgrade to the newest copy in dev. Maybe your issue is already fixed..
j
Thanks and will try to your advice. BTW is there any document or reference about col/row configuration guideline?
m
There's an error message that is pretty descriptive, but other than that, no. It's dictated by the bitcell so it is process specific.
j
@Matthew Guthaus Thanks, Got a GDS with Sky130 by your advice that adding following into myconfig.py; num_spare_cols = 1 num_spare_rows = 1 Will try some other config!!