I've never been able to "make user_project_wrapper...
# openlane
p
I've never been able to "make user_project_wrapper" in Caravel successfully. (I don't have such an issue with user_proj_example.) With OpenLANE rc4, it always chokes on the manual mprj placement directives in ./openroad/user_project_wrapper interactive.tcl. With the latest bleeding edge commit, it gets a bit further, but OpenLANE always fails with "child killed: segmentation violation" during floorplanning. Even if I hollow out user_project_wrapper.v to just a single assign of an input to an output (to appease yosys into generating a netlist) with no submodules as an experiment, the result is the same. Reading through all the past discussions, some users have made the assertion that any such failure must be due to insufficient RAM assigned to Docker. However, watching "docker stats", it doesn't even breach 1% usage of the 7.5GB available to it. (System is Ubuntu 18.0.4 LTS 64-bit) Did I miss the announcement that we should assume that we should just beaver away at the user_proj_example level and hope that there will be a fix by Nov 30? Thanks.
a
Did you run
make uncompress
in the caravel directory after cloning?
t
There was also the issue of the
bash
-ism in Makefile causing the wrong thing to be executed for the wrapper.
p
Thanks to both, but @Amr Gouhar, I've done "make uncompress" to uncompress all the GDS, and it makes no difference; @tnt, I had already swapped out dash for the real bash to address the script's syntax.
t
Do you know which step crashes ?
p
[ERROR]: during executing: "openroad -exit /openLANE_flow/scripts/new_pdn.tcl |& tee >&@stdout /project/openlane/user_project_wrapper/runs/user_project_wrapper/logs/floorplan/pdn.log" [ERROR]: Exit code: 1 [ERROR]: Last 10 lines: child killed: segmentation violation
t
Ok, PDN, so this just changed ... some updates were pushed earlier today and they depend on changes to openlane from yesterday AFAICT.
1
p
I'm not expecting a reply here... I'm just noting conditions for posterity...   From last week through today, the "known-good" rc4 OpenLANE and caravel fails like the following:   [ERROR]: during executing: "python3 /openLANE_flow/scripts/manual_macro_place.py -i /project/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/ioPlacer.def -o /project/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/ioPlacer.def.macro_placement.def -c /project/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/macro_placement.cfg -f |& tee >&@stdout /project/openlane/user_project_wrapper/runs/user_project_wrapper/logs/macro_placement.log" [ERROR]: Exit code: 1 [ERROR]: Last 10 lines: child process exited abnormally   If deleting all files and starting from scratch, today's latest caravel and (develop branch) openlane, it is:   Error: write_verilog -include_pwr_gnd is not a known keyword or flag. [ERROR]: /project/openlane/user_proj_example/runs/user_proj_example/results/lvs/user_proj_example.lvs.powered.v does not exist to be re-written
t
The
include_pwr_gnd
keyword is something that was added a few days ago.
So something "old" is running ...
I don't use the Docker setup ... but IIRC I saw somewhere you had to specify somewhere in some env variable that you wanted to use the
rc5
image.
export IMAGE_NAME=efabless/openlane:rc5
maybe although I'm not sure if the image is up-to-date or if you should rebuild it locally 🤷‍♂️