Hello, I'm following the tutorials in <the documen...
# openlane
y
Hello, I'm following the tutorials in the documentation but it gives these errors while generating PDN:
[ERROR]: during executing openroad script /openlane/scripts/openroad/pdn.tcl
[ERROR]: Log: designs/regfile_2r1w/runs/full_guide/logs/floorplan/8-pdn.log
[ERROR]: Last 10 lines:
[WARNING PSM-0038] Unconnected PDN node on net VPWR at location (73.826um, 541.280um), layer: 2.
[WARNING PSM-0038] Unconnected PDN node on net VPWR at location (86.823um, 541.280um), layer: 2.
[WARNING PSM-0038] Unconnected PDN node on net VPWR at location (5.520um, 535.840um), layer: 2.
[WARNING PSM-0038] Unconnected PDN node on net VPWR at location (99.820um, 535.840um), layer: 2.
[WARNING PSM-0038] Unconnected PDN node on net VPWR at location (13.680um, 535.840um), layer: 2.
[WARNING PSM-0038] Unconnected PDN node on net VPWR at location (34.836um, 535.840um), layer: 2.
[WARNING PSM-0038] message limit reached, this message will no longer print
[ERROR PSM-0069] Check connectivity failed.
Error: pdn.tcl, 39 PSM-0069
child process exited abnormally
What should I do to solve these errors?
v
can you share source RTL?
y
regfile_2r1w.v is my top module, and mem_1r1w.bb.v is a design used as a hard macro at the top.
m
I believe hardmacros need explicit connections to power. See https://open-source-silicon.slack.com/archives/C031R263TC7/p1662586346453849
y
I will try it. Do I need to add explicit connections to the top module too?
m
Is this your hierarchy?
Copy code
user_project_wrapper
+ regfile_2r1w
  + <http://mem_1r1w.bb|mem_1r1w.bb>
I believe there is a default case when the names match where it’s not necessary, but I’d recommend adding
FP_PDN_MACRO_HOOKS
to any level with hard macros.
y
I don't have "user_project_wrapper" but the rest is true.
I added VPWR and VGND but nothing has changed. They are my new RTL and TCL files.
m
That
config.tcl
file looks like it’s the expanded version found under
<design_name>/runs/<timestamp>
. Do you have a shorter version at
<design_name>/config.tcl
or
<design_name>/config.json
? If it’s
config.tcl
, you could add
Copy code
set ::env(FP_PDN_MACRO_HOOKS) "\
        lane0 VPWR VGND VPWR VGND, \
        lane1 VPWR VGND VPWR VGND"
and see if that makes a difference. I notice you don’t have a macro placement file. Are you letting the floorplanner do the placement?
y
I have a config.json and added
"FP_PDN_MACRO_HOOKS" : "lane0 VPWR VGND VPWR VGND, lane1 VPWR VGND VPWR VGND",
to config.json but still gives the same error. Yes, I didn't use a macro placement file. I'm new to OpenLane, so I'm just following the tutorials in the docs.
m
Could you post your full output log? What tutorial are you using?
m
@Kareem Farid Do you have any idea about why the tutorial’s not working?
y
I deleted and reinstalled OpenLane again, now the flow works without errors. However Klayout and OpenROAD GUI does not open. Klayout does not give any errors, just nothing shows up. OpenROAD crashes with this error:
[ERROR]: during executing openroad script /openlane/scripts/openroad/gui.tcl
[ERROR]: Log: ../dev/null
[ERROR]: Last 10 lines:
13# 0x00007F02EE6F23F8 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# 0x00007F02F67F73B5 in /lib64/libQt5DBus.so.5
19# 0x00007F02F2B13E71 in /lib64/libQt5Core.so.5
20# 0x00007F02F6278EA5 in /lib64/libpthread.so.0
21# clone in /lib64/libc.so.6
child killed: SIGABRT
m
magic and xschem work ok?
y
How can I run xschem, does it come with the docker container?
m
I have never been able to run ANY gui in a docker container.
y
Magic works ok but xschem gives
command not found
error.
I also installed OpenLane to my Windows computer, I can run GUI of any tools error-free in WSL but I still need OpenLane working in Ubuntu.
m
Maybe xschem is not included in the docker container.
y
I searched the folders, Xschem was not there. However, OpenROAD and Klayout GUIs must be executable.