Skip to content

LVS report missing #295

Description

@Dario-CP

Describe the bug
I am trying OpenRAM for the first time, and I am unable to succesfully generate a memory. I started trying to generate a 4KB memory, but it was very slow on my machine, so I am now trying with a 1Kb one. However, for both cases I get an error caused by the LVS report not being found.

This is the log:

(.venv) dario@localhost:~/OpenRAM$ python3 sram_compiler.py /home/dario/OpenRAM/macros/sram_configs/sky130_sram_0_125kbyte_1rw1r_16x64_8.py
OpenRAM: Nix devShell (venv on PATH: /home/dario/OpenRAM/compiler/.venv)
|==============================================================================|
|=========                      OpenRAM v1.2.49                       =========|
|=========                                                            =========|
|=========               VLSI Design and Automation Lab               =========|
|=========        Computer Science and Engineering Department         =========|
|=========            University of California Santa Cruz             =========|
|=========                                                            =========|
|=========          Usage help: openram-user-group@ucsc.edu           =========|
|=========        Development help: openram-dev-group@ucsc.edu        =========|
|=========                See LICENSE for license info                =========|
|==============================================================================|
** Start: 06/02/2026 10:36:26
Technology: sky130
Total size: 1024 bits
Word size: 16
Words: 64
Banks: 1
Write size: 8
RW ports: 1
R-only ports: 1
W-only ports: 0
DRC/LVS/PEX is only run on the top-level design to save run-time (inline_lvsdrc=True to do inline checking).
Characterization is disabled (using analytical delay models) (analytical_delay=False to simulate).
Only generating nominal corner timing.
Words per row: None
Output files are: 
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.lvs
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.sp
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.v
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.lib
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.py
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.html
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.log
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.lef
/home/dario/OpenRAM/macro/sky130_sram_0.12kbytes_1rw1r_16x64_8/sky130_sram_0.12kbytes_1rw1r_16x64_8.gds
** Submodules: 2.9 seconds
** Placement: 0.0 seconds
** Routing: 288.6 seconds
ERROR: file magic.py: line 326: Unable to load LVS results from /tmp/openram_dario_19123_temp/sky130_sram_0.12kbytes_1rw1r_16x64_8.lvs.report
Traceback (most recent call last):
  File "/home/dario/OpenRAM/compiler/verify/magic.py", line 324, in run_lvs
    f = open(resultsfile, "r")
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/openram_dario_19123_temp/sky130_sram_0.12kbytes_1rw1r_16x64_8.lvs.report'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dario/OpenRAM/sram_compiler.py", line 73, in <module>
    s = sram()
  File "/home/dario/OpenRAM/compiler/sram.py", line 58, in __init__
    self.s.create_layout()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/home/dario/OpenRAM/compiler/modules/sram_1bank.py", line 239, in create_layout
    self.DRC_LVS(final_verification=OPTS.route_supplies, force_check=OPTS.check_lvsdrc)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dario/OpenRAM/compiler/base/hierarchy_design.py", line 71, in DRC_LVS
    self.lvs_errors = verify.run_lvs(self.cell_name, tempgds, tempspice, final_verification=final_verification)
                      ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dario/OpenRAM/compiler/verify/magic.py", line 326, in run_lvs
    debug.error("Unable to load LVS results from {}".format(resultsfile), 1)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dario/OpenRAM/compiler/debug.py", line 48, in error
    assert return_value == 0
           ^^^^^^^^^^^^^^^^^
AssertionError

Version
v1.2.49 (commit e16d9eb)

To Reproduce
I am using SKY130, and this is the memory configuration used:

word_size = 16
num_words = 64
human_byte_size = "{:.2f}kbytes".format((word_size * num_words)/1024/8)
write_size = 8
num_rw_ports = 1
num_r_ports = 1
num_w_ports = 0
num_spare_rows = 2
num_spare_cols = 1
ports_human = '1rw1r'

num_threads = 4

import os
exec(open(os.path.join(os.path.dirname(__file__), 'sky130_sram_common.py')).read())

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions