OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.
When I passed the parameters about verilog_files in config.tcl, I found that the absolute path, or the same way of passing parameters as in json caused the file to not be found, I want to know the reason for this.
I test it on picorv32a, the config.tcl is follow: (absolute path version)
set ::env(DESIGN_NAME) "picorv32"
set ::env(VERILOG_FILES) "/work/OpenLane/designs/picorv32a/src/picorv32a.v"
set ::env(CLOCK_PORT) "clk"
set ::env(CLOCK_NET) "clk"
set ::env(GLB_RESIZER_TIMING_OPTIMIZATIONS) 1
set ::env(CLOCK_PERIOD) 24
and the json verison:
set ::env(VERILOG_FILES) "dir::src/picorv32a.v"
will cause error
[ERROR]: during executing: "yosys -c /openlane/scripts/yosys/synth.tcl -l /openlane/designs/picorv32a/runs/RUN_2022.11.11_04.18.29/logs/synthesis/1-synthesis.log |& tee /dev/null"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
ERROR: Can't open input file `/work/OpenLane/designs/picorv32a/src/picorv32a.v' for reading: No such file or directory
child process exited abnormally
but this parameter in json works well:
"VERILOG_FILES": "dir::src/picorv32a.v",
besides there is another sovle method in tcl file:
set script_dir $::env(DESIGN_DIR)
set ::env(VERILOG_FILES) "$script_dir/src/picorv32a.v"
This may due to file search within docker,But it's not very convenient.
Description
When I passed the parameters about verilog_files in config.tcl, I found that the absolute path, or the same way of passing parameters as in json caused the file to not be found, I want to know the reason for this. I test it on picorv32a, the config.tcl is follow: (absolute path version)
and the json verison:
will cause error
but this parameter in json works well:
"VERILOG_FILES": "dir::src/picorv32a.v",
besides there is another sovle method in tcl file:
This may due to file search within docker,But it's not very convenient.
Expected Behavior
Fix the way the file address is passed
Environment report
Reproduction material
use the official picorv32a and change the config.tcl
Relevant log output