GitHub
10/30/2021, 1:27 PMLIB_SYNTH_COMPLETE
as a file fails because it may be a list of files.
In scripts/tcl_commands/all.tcl
# trim resizer library
if { ! [info exists ::env(LIB_RESIZER_OPT) ] } {
set ::env(LIB_RESIZER_OPT) $::env(TMP_DIR)/resizer.lib
file copy -force $::env(LIB_SYNTH_COMPLETE) $::env(LIB_RESIZER_OPT) <- Attempt to copy list of files
if { $::env(STD_CELL_LIBRARY_OPT) != $::env(STD_CELL_LIBRARY) } {
set opt_lib $::env(TMP_DIR)/resizer_optlib.lib
file copy -force $::env(LIB_SYNTH_OPT) $opt_lib
lappend $::env(LIB_RESIZER_OPT) $::env(LIB_SYNTH_OPT)
}
}
For reference, here is how SYNTH_LIB_COMPLETE
is handled in scripts/tcl_commands/synthesis.tcl
set ::env(LIB_SYNTH_COMPLETE_NO_PG) [list]
foreach lib $::env(LIB_SYNTH_COMPLETE) {
set fbasename [file rootname [file tail $lib]]
convert_pg_pins $lib $::env(TMP_DIR)/$fbasename.no_pg.lib
lappend ::env(LIB_SYNTH_COMPLETE_NO_PG) $::env(TMP_DIR)/$fbasename.no_pg.lib
}
From slack thread started by Sribooshan Srinivasan
https://skywater-pdk.slack.com/archives/C016H8WJMBR/p1635575865070700
Environment
The actual error occurred on someone's EWS. However, I can verify the problem in the following installation.
Python: v3.7.3
Kernel: Linux v4.19.0-17-cloud-amd64
Distribution: debian 10
Container Engine: docker v20.10.7
OpenLane Git Version: 2021.10.25_20.35.00
Alert: Click is not installed.
---
PDK Version Verification Status: FAILED
Failed to compare PDKS
Environment variable PDK_ROOT is not set.
Traceback (most recent call last):
File "/home/kanobailey/pull-requests/openlane/dependencies/verify_versions.py", line 55, in verify_versions
raise Exception("Environment variable PDK_ROOT is not set.")
Exception: Environment variable PDK_ROOT is not set.
Failed to compare PDKs: Failed to compare PDKs.---
Git Log (Last 5 Commits)
commit ff6eec246a18d007bf450e94f289a460425a2883
Author: Manar <manarabdelatty@aucegypt.edu>
Date: Thu Oct 28 11:06:49 2021 -0500
Unify the way we are running STA (#681)
* Fix genericfir timing vios
* Run sta inside the step script
commit 8d686c081c2c9aefa16dbbd8ccf5bc8f4dcabc4b
Author: Manar <manarabdelatty@aucegypt.edu>
Date: Wed Oct 27 08:12:35 2021 -0500
Update openroad + add multi-corner timing analysis (#680)
* Update OR App
* Fix overflow iterations
* Fix repair_tie_fanout command
* Update design config
* Add multi-corner analysis
commit 683151cc9e601c2f2d774fbcc53cf23060787a41
Author: Vitor Bandeira <vvbandeira@users.noreply.github.com>
Date: Wed Oct 27 09:36:07 2021 -0300
Make sure docker logs dir exists (#679)
Signed-off-by: Vitor Bandeira <vitor.vbandeira@gmail.com>
[skip ci]
commit 354a25f7743fe68fa02f6337a922594ac41b7cee
Author: Manar <manarabdelatty@aucegypt.edu>
Date: Tue Oct 26 09:57:47 2021 -0500
Update resizer options (#678)
* Update design configuration to address timing violations
* update resizer scripts
- added repair_tie_fanout command
- added catch to the repair_timing commands to prevent exiting when the utilization limit is reached
* Reset routing_cores to 2
commit c0b75f5f37717201f90396efe835e1978e32dbe6
Author: Anton Blanchard <anton@ozlabs.org>
Date: Wed Oct 27 00:11:33 2021 +1100
Fix typo in python exit call (#677)
In commit 4e158a77ef7a ("Quit on timing violations at the typical
corner (#659)"), os.EX_DATA should have been os.EX_DATAERR.
Reproduction Material
Any design with the sky130_fd_sc_hvl
libraries will probably give the same error.
Expected behavior
Should be able to handle multiple simulation libraries, I assume.
Logs
From the slack conversation.
###############################################
[INFO]:
___ ____ ___ ____ _ ____ ____ ___
/ \ | \ / _]| \ | | / || \ / _]
| | | o ) [_ | _ || | | o || _ | / [_
| O | | _/ _]| | || |___ | || | || _]
| | | | | [_ | | || || _ || | || [_
\___/ |__| |_____||__|__||_____||__|__||__|__||_____|
[INFO]: Version: N/A
[INFO]: Running non-interactively
[INFO]: Using design configuration at /project/openlane/user_proj_example/config.tcl
[INFO]: Sourcing Configurations from /project/openlane/user_proj_example/config.tcl
[INFO]: PDKs root directory: /home/booshan/OpenEDA
[INFO]: PDK: sky130A
[INFO]: Setting PDKPATH to /home/booshan/OpenEDA/sky130A
[INFO]: Standard Cell Library: sky130_fd_sc_hvl
[INFO]: Optimization Standard Cell Library is set to: sky130_fd_sc_hvl
[INFO]: Sourcing Configurations from /project/openlane/user_proj_example/config.tcl
[WARNING]: Removing exisiting run /project/openlane/user_proj_example/runs/user_proj_example
[INFO]: Current run directory is /project/openlane/user_proj_example/runs/user_proj_example
[INFO]: Preparing LEF Files
[INFO]: Extracting the number of available metal layers from /home/booshan/OpenEDA/sky130A/libs.ref/sky130_fd_sc_hvl/techlef/sky130_fd_sc_hvl.tlef
[INFO]: The number of available metal layers is 6
[INFO]: The available metal layers are li1 met1 met2 met3 met4 met5
[INFO]: Merging LEF Files...
mergeLef.py : Merging LEFs
sky130_fd_sc_hvl.lef: SITEs matched found: 0
sky130_fd_sc_hvl.lef: MACROs matched found: 69
mergeLef.py : Merging LEFs complete
[INFO]: Trimming Liberty...
[INFO]: Generating Exclude List...
error copying " /home/booshan/OpenEDA/sky130A/libs.ref/sky130_fd_sc_hvl/lib/sky130_fd_sc_hvl__tt_025C_3v30.lib /home/booshan/OpenEDA/sky130A/libs.ref/sky130_fd_sc_hvl/lib/sky130_fd_sc_hvl__tt_025C_3v30_lv1v80.lib ": no such file or directory
while executing
"file copy -force $::env(LIB_SYNTH_COMPLETE) $::env(LIB_RESIZER_OPT)"
(procedure "prep" line 202)
invoked from within
"prep {*}$args"
(procedure "run_non_interactive_mode" line 14)
invoked from within
"run_non_interactive_mode {*}$argv"
invoked from within
"if { [info exists flags_map(-interactive)] || [info exists flags_map(-it)] } {
puts_info "Running interactively"
if { [info exists arg_values(-file)..."
(file "/openlane/flow.tcl" line 356)
make: *** [Makefile:43: user_proj_example] Error 1
The-OpenROAD-Project/OpenLane