Actually, I take that back: at around the 0:27 mar...
# openlane
m
Actually, I take that back: at around the 0:27 mark, there are a couple of video frames where the log window shows
Copy code
[ERROR ORD-0003] 0 does not exist.
ORD-0003
Looks like '0' is the uninitialized name of something, just need to figure out what
ORD-0003
is referring to...
v
Looks like you ran something like:
read_def 0
The error code is for when the def file does not exist
does the same occurs without the
-gui
?
m
Hi Vitor, if I run
flow.tcl
without the
-gui
flag, then it looks like I get a full run of the tool (I see a lot of
[STEP <nn>]
log entries, starting at
[STEP 1]
and ending at
[STEP 43]
At the end, it says
[SUCCESS]: Flow complete.
v
@Vijayan Krishnan do you have more experience on the gui with OL?
m
I see in prep: if { ! [info exists ::env(CURRENT_DEF)] } { set ::env(CURRENT_DEF) 0 So perhaps the CURRENT_DEF isn't found and then gui.tcl does: if {[catch {read_def $::env(CURRENT_DEF)} errmsg]} { puts stderr $errmsg exit 1 }
You could add a print to scripts/openroad/gui.tcl to set what is happening: puts "CURRENT_DEF = $::env(CURRENT_DEF)"
before read_def
m
Hi Matt, I was looking into this myself yesterday and I think these missing env vars may be causing the issue. I'm still not 100% on this approach, but I tried running
flow.tcl
under
strace
like so:
Copy code
$ strace -s 10000 -f flow.tcl -gui 2> log.stderr
And within
log.stderr
, I eventually found the following entry:
Copy code
[pid   460] execve("/build//bin/openroad", ["openroad", "-gui", "/openlane/scripts/openroad/gui.tcl"], 0x2900480 /* 368 vars */ <unfinished ...>
which I think is the
openroad
invocation string - If I try to do this manually from a `$ make mount`'ed OpenLane container, I get the following on the terminal
Copy code
OpenLane Container (c0be543):/openlane$ /build//bin/openroad -gui /openlane/scripts/openroad/gui.tcl
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-'
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
OpenROAD 4a99e88667b0840531ca0096c4fa0da8f80d6cb1
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
can't read "::env(MERGED_LEF)": no such variable
can't read "::env(CURRENT_DEF)": no such variable
One thing I haven't figured out yet is where those environment variables get set
m
after running 'make test' I did a 'make mount' and then ./flow.tcl -design spm -tag openlane_test -gui this opens fine for me. Does this work for you?
m
Yes! that worked! I was literally just doing
Copy code
$ flow.tcl -gui
I thought for some reason, that if i ran it from the
designs/spm
directory, then it would automagically load the
spm
design. Thanks!
m
np