Hi , I am trying to do the PNR for a small design ...
# general
m
Hi , I am trying to do the PNR for a small design and I get stuck at routing. I get this error :
[ERROR GRT-0118] Routing congestion too high. Check the congestion heatmap in the GUI.
or
Error: resizer_routing_timing.tcl, 39 GRT-0118
- do you know where I can find the GUI? Or what I need cover before
%run_routing
in the previous steps? All previous steps are ok, no error reported. I have 2000x2000 die area and I see after CTS there is a quite free space . I saw also some discussions on analog macros. I have also a SRAM which I just imported (lef, verilog, gds) , not generated from scratch . If I open the SRAM design separately in magic I do not get any DRC. Thanks.
m
image.png
m
Ok, till now I used just openlane flow for synth to routing. If I try running for the first time from openlane :`openroad -gui` or
./flow.tcl  -design vsdmemsoc -tag RUN_2023.01.30_10.05.10 -gui
I get
Copy code
StandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Authorization required, but no authorization protocol specified
qt.qpa.screen: QXcbConnection: Could not connect to display :0
Could not connect to any X display
v
Can you share `config.json`used for this run?
m
Copy code
{
  "DESIGN_NAME": "vsdmemsoc",
  "VERILOG_INCLUDE_DIRS": "dir::src/include",
  "VERILOG_FILES": [
    "dir::src/module/*.v",
    "dir::src/module/compiled_tlv/rvmyth.v"
  ],
  "EXTRA_LEFS": "dir::src/lef/*.lef",
  "EXTRA_GDS_FILES": "dir::src/gds/*.gds",
  "EXTRA_LIBS": "dir::src/lib/sram_32_256_sky130A_TT_1p8V_25C.lib",
  "VERILOG_FILES_BLACKBOX": "dir::src/include/sram_32_256_sky130A.v",
  "CLOCK_PORT": "CLK",
  "CLOCK_PERIOD": 30,
  "VDD_NETS": "vccd1",
  "GND_NETS": "vssd1",
  "FP_SIZING": "relative",
  "PL_TARGET_DENSITY": 0.07,
  "RT_MAX_LAYER": "met5",
  "DIE_AREA": "0 0 1900 1900",
  "FP_PDN_MACRO_HOOKS": "vsdmemsoc.mem vccd1 vssd1 vccd1 vssd1",
  "MACRO_PLACEMENT_CFG": "dir::macro_placement.cfg",
  "BASE_SDC_FILE": "dir::src/sdc/vsdmemsoc_synth.sdc",
  "SYNTH_SIZING": 1,
  "SYNTH_FLAT_TOP": 1,
  "SYNTH_STRATEGY": "AREA 0",
  "SYNTH_MAX_FANOUT": 6,
  "FP_CORE_UTIL": 7,
  "ROUTING_CORES": 4,
  "MAGIC_DRC_USE_GDS": false,
  "QUIT_ON_MAGIC_DRC": false,
  "RUN_KLAYOUT_XOR": false,
  "DESIGN_IS_CORE": true
}
I used also some variations for:
"FP_SIZING": "relative" and "absolute"
"PL_TARGET_DENSITY": 0.07 up to 0.5,
FP_CORE_UTIL : 7 up to 50
v
After routing congestion error, there was
issue_reproducible
generated by flow. can you attach that?
file an issue here: https://github.com/The-OpenROAD-Project/OpenLane/issues. so it will be easy to track
m
I read also this topic : https://github.com/The-OpenROAD-Project/OpenLane/issues/1149 but i do not know were to put exactly
DOCKER_OPTIONS += --privileged
in the make file.
So I can check the heat map
v
Temporarily install standalone OpenROAD from here: https://github.com/The-OpenROAD-Project/OpenROAD Launch gui by
OpenROAD/build/src/openroad -gui
which version of OpenLane installed? latest master already resolved gui error. Maybe update and try again
m
I have this info OpenLane version : 06b26813465d8745c2cdfe6605ac3233cef89dec . I do nto know how to check the version on vesite. Also I do not know what to choose when I wan to update . Can you help me? Seems that I am not familiar with some LInux, git topics.
v
It's 3 week back commit. Follow below command to update to latest:
Copy code
cd OpenLane
git checkout master
git pull
make
Then run the flow again. Inside docker try
openroad -gui
and check gui launching or not
m
sorry , same error for git pull
v
Copy code
git pull --ff-only
m
ok, I applied
sudo stash
... update Openlane with git pull and make. But same error for GUI. I see on OpenLane Installation help , it is commandeered to do some settings for user :
Copy code
sudo groupadd docker
sudo usermod -aG docker $USER
sudo reboot # REBOOT!
This does not work also . I get just the help
v
In Centos7 gui works good inside docker. But in Ubuntu20.04 getting error:
Copy code
OpenLane Container (e99deff):/openlane$ openroad -gui
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-'
process 10: The last reference on a connection was dropped without closing the connection. This is a bug in an application. See dbus_connection_unref() documentation for details.
Most likely, the application was supposed to call dbus_connection_close(), since this is a private connection.
  D-Bus not built with -rdynamic so unable to print a backtrace
Signal 6 received
Stack trace:
 0# 0x0000000000CEC807 in openroad
 1# 0x00007F6E07671400 in /lib64/libc.so.6
 2# gsignal in /lib64/libc.so.6
 3# abort in /lib64/libc.so.6
 4# 0x00007F6DFCF9D655 in /lib64/libdbus-1.so.3
 5# _dbus_warn_check_failed in /lib64/libdbus-1.so.3
 6# 0x00007F6E0C4DEBFB in /lib64/libQt5DBus.so.5
 7# QObject::event(QEvent*) in /lib64/libQt5Core.so.5
 8# 0x00007F6E089A2A55 in /lib64/libQt5Core.so.5
 9# QCoreApplication::notifyInternal2(QObject*, QEvent*) in /lib64/libQt5Core.so.5
10# QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) in /lib64/libQt5Core.so.5
11# 0x00007F6E089F1A03 in /lib64/libQt5Core.so.5
12# g_main_context_dispatch in /lib64/libglib-2.0.so.0
13# 0x00007F6E043D73F8 in /lib64/libglib-2.0.so.0
14# g_main_context_iteration in /lib64/libglib-2.0.so.0
15# QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in /lib64/libQt5Core.so.5
16# QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in /lib64/libQt5Core.so.5
17# QThread::exec() in /lib64/libQt5Core.so.5
18# 0x00007F6E0C4DC3B5 in /lib64/libQt5DBus.so.5
19# 0x00007F6E087F8E71 in /lib64/libQt5Core.so.5
20# 0x00007F6E0BF5DEA5 in /lib64/libpthread.so.0
21# clone in /lib64/libc.so.6
Aborted (core dumped)
Please install standalone OepnROAD and use gui. I did the same
m
ok, I will do so... and keep you updated 😄 Thanks.
Solution : I am a bad Linux user .... for this command
sudo usermod -aG docker $USER
I was typing
sudo usermod -aG docker $mihaih
... so this did not take effect. After I set the user in the docker group correctly It works running
openroad -gui
from
openlane
.
👍 1