OpenLane icon indicating copy to clipboard operation
OpenLane copied to clipboard

flow.tcl hangs on "Preparing LEF files"

Open proppy opened this issue 3 years ago • 2 comments

Description

Trying to run:

%env PDK=sky130A
%env STD_CELL_LIBRARY=sky130_fd_sc_hd
%env STD_CELL_LIBRARY_OPT=sky130_fd_sc_hd
!flow.tcl -design inverter -ignore_mismatches

against the latest version of OpenROAD (https://github.com/The-OpenROAD-Project/OpenROAD/commit/47e8b5f57e2f680172f99c0433c01ed91fcf7fe7) hangs on the following operation:

[INFO]: Preparing LEF files for the nom corner...

Expected behavior

Flow proceed to gds streaming.

Environment

Kernel: Linux v5.4.144+
Distribution: ubuntu 18.04
Python: v3.7.13 (OK)
Critical Alert: No Docker or Docker-compatible container engine was found.
OpenLane Git Version: 87173889682b67c490c96ded79b93aa2bb570a48
pip: INSTALLED
python-venv: INSTALLED
---
PDK Version Verification Status: MISMATCH
The version of open_pdks used in building the PDK does not match the version OpenLane was tested on (installed: 8f6aff1881e5feae49acb6d5be53c4acc91bb235, tested: 82d61e2c9c265c0f0e994233cd2d024c90adb45f)
This may introduce some issues. You may want to re-install the PDK by invoking `make pdk`.
The version of magic used in building the PDK does not match the version OpenLane was tested on (installed: 82c79b36eef29489d10c5c15b51c99d817894f5a, tested: 7905e15ae3b66ed26349fb701b475ef93b566de5)
This may introduce some issues. You may want to re-install the PDK by invoking `make pdk`.
---
Git Log (Last 3 Commits)

8717388 2022-09-20T00:03:58+02:00 Point to `open_pdks` upstream (#1372) - Kareem Farid -  (grafted, HEAD -> master, tag: 2022.09.20, origin/master, origin/HEAD)
---
Git Remotes

origin	https://github.com/The-OpenROAD-Project/OpenLane (fetch)
origin	https://github.com/The-OpenROAD-Project/OpenLane (push)

Reproduction Material

https://colab.research.google.com/gist/proppy/5e7cf84189c8d787be409cb702c50e54/digital-inverter-openlane.ipynb

openlane-preparing-lefs-hangs-issue.zip

Logs

OpenLane 87173889682b67c490c96ded79b93aa2bb570a48
All rights reserved. (c) 2020-2022 Efabless Corporation and contributors.
Available under the Apache License, version 2.0. See the LICENSE file for more details.

[WARNING]: OpenLane may not function properly: 'OL_INSTALL_DIR'
The version of open_pdks used in building the PDK does not match the version OpenLane was tested on (installed: 8f6aff1881e5feae49acb6d5be53c4acc91bb235, tested: 82d61e2c9c265c0f0e994233cd2d024c90adb45f)
This may introduce some issues. You may want to re-install the PDK by invoking `make pdk`.
The version of magic used in building the PDK does not match the version OpenLane was tested on (installed: 82c79b36eef29489d10c5c15b51c99d817894f5a, tested: 7905e15ae3b66ed26349fb701b475ef93b566de5)
This may introduce some issues. You may want to re-install the PDK by invoking `make pdk`.
[INFO]: Using configuration in 'OpenLane/designs/inverter/config.json'...
[INFO]: PDK Root: /content/conda-env/share/pdk
[INFO]: Process Design Kit: sky130A
[INFO]: Standard Cell Library: sky130_fd_sc_hd
[INFO]: Optimization Standard Cell Library: sky130_fd_sc_hd
[INFO]: Run Directory: /content/OpenLane/designs/inverter/runs/RUN_2022.09.21_16.11.46
[INFO]: Preparing LEF files for the nom corner...
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
[<ipython-input-6-767fa879f5db>](https://localhost:8080/#) in <module>()
     11 get_ipython().magic('env PATH={PATH}:{OPENLANE_ROOT}:{OPENLANE_ROOT}/scripts')
     12 get_ipython().magic('env OPENLANE_LOCAL_INSTALL=1')
---> 13 get_ipython().system('flow.tcl -design inverter -ignore_mismatches')

4 frames
[/usr/local/lib/python3.7/dist-packages/google/colab/_system_commands.py](https://localhost:8080/#) in _poll_process(parent_pty, epoll, p, cmd, decoder, state)
    274   output_available = False
    275 
--> 276   events = epoll.poll()
    277   input_events = []
    278   for _, event in events:

KeyboardInterrupt:

proppy avatar Sep 21 '22 16:09 proppy

As discussed in https://github.com/The-OpenROAD-Project/OpenROAD/pull/2288 and https://github.com/The-OpenROAD-Project/OpenROAD/issues/2287 this seems to be an issue with OpenLane not passing the -exit flag when calling openroad -python and therefore hanging forever on the python prompt.

proppy avatar Sep 21 '22 16:09 proppy

Potentials call site to update: https://github.com/The-OpenROAD-Project/OpenLane/search?q=%22-python%22

proppy avatar Sep 21 '22 16:09 proppy