The-OpenROAD-Project / OpenLane

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.
https://openlane.readthedocs.io/
Apache License 2.0
1.35k stars 373 forks source link

Make test failed #625

Closed akashpatil98 closed 3 years ago

akashpatil98 commented 3 years ago

Description

I'm trying to setup the OpenLane environment by following the documentation. But in the quick start, last command, when I run sudo make test I'm getting an error.

Environment

Reproduction Material

As I am trying to setup the environment for the first time, I followed the steps mentioned in the documentation.

git clone https://github.com/efabless/openlane.git
cd openlane/
make openlane
make pdk
make test

Logs

akash@akash-lenovo:~/openlane$ sudo make pdk
.
.
Magic 8.3 revision 183 - Compiled on Thu Jul  1 10:06:54 UTC 2021.
Starting magic under Tcl interpreter
Using the terminal as the console.
Using NULL graphics device.
Processing system .magicrc file
Sourcing design .magicrc for technology sky130A ...
2 Magic internal units = 1 Lambda
Input style sky130(vendor): scaleFactor=2, multiplier=2
Scaled tech values by 2 / 1 to match internal grid scaling
Loading sky130A Device Generator Menu ...
Using technology "sky130A", version 1.0.225-0-g6c05bc4
CIF input style is now "sky130(vendor)"
Annotating cells from CDL/SPICE
Writing all magic database files
Writing '(UNNAMED)'
Must specify name for cell (UNNAMED).
Done.
Error message output from magic:
Can't write file named '(UNNAMED)'
Migrating LEF files to layout.
Warning:  No LEF files found in /home/akash/openlane/pdks/open_pdks/sky130/sky130A/libs.ref/sky130_sram_macros/lef
make[2]: Leaving directory `/home/akash/openlane/pdks/open_pdks/sky130'
if test "x" != "x" ; then \
    echo "Building OSU 12-track-high standard cell library" ;\
    make osu-t12-a ;\
fi
if test "x" != "x" ; then \
    echo "Building OSU 15-track-high standard cell library" ;\
    make osu-t15-a ;\
fi
if test "x" != "x" ; then \
    echo "Building OSU 18-track-high standard cell library" ;\
    make osu-t18-a ;\
fi
make[1]: Leaving directory `/home/akash/openlane/pdks/open_pdks/sky130'
echo "Ended sky130A PDK staging on "`date` >> sky130A_make.log
echo "Starting SKY130 PDK migration on "`date` > sky130A_install.log
../common/staging_install.py -std_format \
    -source /home/akash/openlane/pdks/open_pdks/sky130/sky130A \
    -target /home/akash/openlane/pdks/sky130A \
    -variable PDKPATH \
    -link_from none 2>&1 | tee -a sky130A_install.log
Installing in target directory /home/akash/openlane/pdks/sky130A
Removing files from target
Copying staging files to target
Done.
Changing local path references from /home/akash/openlane/pdks/open_pdks/sky130/sky130A to /home/akash/openlane/pdks/sky130A
Part 1:  Tools
      xcircuit (1 substitution)
Failure to read file /home/akash/openlane/pdks/sky130A/libs.tech/xschem/decred_hash_macro/decred_hash_macro.v; non-ASCII content.
      xschem (1 substitution)
      qflow (16 substitutions)
Failure to read file /home/akash/openlane/pdks/sky130A/libs.tech/klayout/sky130A.drc; non-ASCII content.
Failure to read file /home/akash/openlane/pdks/sky130A/libs.tech/klayout/sky130A.lydrc; non-ASCII content.
      magic (2 substitutions)
Part 2:  Libraries
   sky130_sram_macros
   sky130_fd_io
      mag (1 substitution)
      maglef (1 substitution)
   sky130_fd_pr
      mag (1 substitution)
      maglef (1 substitution)
   sky130_ml_xx_hd
   sky130_fd_sc_hd
      mag (1 substitution)
      maglef (1 substitution)
   sky130_fd_sc_hvl
      mag (1 substitution)
      maglef (1 substitution)
Removing temporary files from destination.
Done with PDK migration.
echo "Ended SKY130 PDK migration on "`date` >> sky130A_install.log
set -f ; ../common/foundry_install.py -std_format -target /home/akash/openlane/pdks/open_pdks/sky130/sky130A -clean
Done removing staging area.
touch /home/akash/openlane/pdks/sky130A/SOURCES
OPENLANE_COMMIT=
echo -ne "openlane " > /home/akash/openlane/pdks/sky130A/SOURCES
cd /home/akash/openlane && git rev-parse HEAD >> /home/akash/openlane/pdks/sky130A/SOURCES
echo -ne "skywater-pdk " >> /home/akash/openlane/pdks/sky130A/SOURCES
cd /home/akash/openlane/pdks/skywater-pdk && git rev-parse HEAD >> /home/akash/openlane/pdks/sky130A/SOURCES
echo -ne "open_pdks " >> /home/akash/openlane/pdks/sky130A/SOURCES
cd /home/akash/openlane/pdks/open_pdks && git rev-parse HEAD >> /home/akash/openlane/pdks/sky130A/SOURCES

This command runs successfully. But the next command sudo make test gives error. Please find the log below:

akash@akash-lenovo:~/openlane$ sudo make test
[sudo] password for akash: 
cd /home/akash/openlane && \
    docker run --rm -v /home/akash/openlane:/openLANE_flow -v /home/akash/openlane/pdks:/home/akash/openlane/pdks -e PDK_ROOT=/home/akash/openlane/pdks   --user 0:0 efabless/openlane:2021.08.23_04.04.57 sh -c "./flow.tcl -design spm -tag openlane_test -disable_output -overwrite"
[INFO]: 
     ___   ____   ___  ____   _       ____  ____     ___
    /   \ |    \ /  _]|    \ | |     /    ||    \   /  _]
    |   | |  o  )  [_ |  _  || |    |  o  ||  _  | /  [_
    | O | |   _/    _]|  |  || |___ |     ||  |  ||    _]
    |   | |  | |   [_ |  |  ||     ||  _  ||  |  ||   [_
    \___/ |__| |_____||__|__||_____||__|__||__|__||_____|

[INFO]: Version: 2021.08.23_04.04.57-36-g675ad11
[WARNING]: The version of magic installed in the environment does not match the one required by the OpenLane flow scripts (installed: 958d6f16701c1ee25e27440381b5c2c37b5fee7c, expected: 0bb6ac1fa98b5371c73156b6e876925397fb7cbc)
The version of openroad_app installed in the environment does not match the one required by the OpenLane flow scripts (installed: f0e6c04818f120fcd15c29735a398d3cd420bd78, expected: fb8ae93b6c7a5eb0e6fac83360a8a48d76c41885)
The version of open_pdks installed in the environment does not match the one required by the OpenLane flow scripts (installed: 13e0611f6a27fd6e601f8fe207773233f4f3883f, expected: 6c05bc48dc88784f9d98b89d6791cdfd91526676)
child process exited abnormally
[WARNING]: OpenLane may not function properly.
[INFO]: Running non-interactively
[INFO]: Using design configuration at /openLANE_flow/designs/spm/config.tcl
[INFO]: Sourcing Configurations from /openLANE_flow/designs/spm/config.tcl
[INFO]: PDKs root directory: /home/akash/openlane/pdks
[INFO]: PDK: sky130A
[INFO]: Setting PDKPATH to /home/akash/openlane/pdks/sky130A
[INFO]: Standard Cell Library: sky130_fd_sc_hd
[INFO]: Optimization Standard Cell Library is set to: sky130_fd_sc_hd
[INFO]: Sourcing Configurations from /openLANE_flow/designs/spm/config.tcl
[INFO]: Current run directory is /openLANE_flow/designs/spm/runs/openlane_test
[INFO]: Preparing LEF Files
[INFO]: Extracting the number of available metal layers from /home/akash/openlane/pdks/sky130A/libs.ref/sky130_fd_sc_hd/techlef/sky130_fd_sc_hd.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...
[INFO]: Trimming Liberty...
[INFO]: Generating Exclude List...
[INFO]: Storing configs into config.tcl ...
[INFO]: Preparation complete
[INFO]: Running Synthesis...
[INFO]: current step index: 1
[INFO]: Changing netlist from 0 to /openLANE_flow/designs/spm/runs/openlane_test/results/synthesis/spm.synthesis.v
[INFO]: Running Static Timing Analysis...
[INFO]: current step index: 2
[INFO]: Synthesis was successful
[INFO]: Running Floorplanning...
[INFO]: Running Initial Floorplanning...
[INFO]: current step index: 3
[INFO]: Core area width: 81.42
[INFO]: Core area height: 81.60000000000001
[WARNING]: Current core area is too small for a power grid
[WARNING]: !!! THE POWER GRID WILL BE MINIMIZED. !!!
[INFO]: Final Vertical PDN Offset: 13.57
[INFO]: Final Horizontal PDN Offset: 13.600000000000001
[INFO]: Final Vertical PDN Pitch: 27.14
[INFO]: Final Horizontal PDN Pitch: 27.200000000000003
[INFO]: Changing layout from 0 to /openLANE_flow/designs/spm/runs/openlane_test/tmp/floorplan/3-verilog2def_openroad.def
[INFO]: Running IO Placement...
[INFO]: current step index: 4
[INFO]: Changing layout from /openLANE_flow/designs/spm/runs/openlane_test/tmp/floorplan/3-verilog2def_openroad.def to /openLANE_flow/designs/spm/runs/openlane_test/tmp/floorplan/4-ioPlacer.def
[INFO]: Running Tap/Decap Insertion...
[INFO]: current step index: 5
[INFO]: Changing layout from /openLANE_flow/designs/spm/runs/openlane_test/tmp/floorplan/4-ioPlacer.def to /openLANE_flow/designs/spm/runs/openlane_test/results/floorplan/spm.floorplan.def
[INFO]: Power planning the following nets
[INFO]: Power: VPWR
[INFO]: Ground: VGND
[INFO]: Generating PDN...
[INFO]: current step index: 6
[INFO]: current step index: 7
[ERROR]: during executing: "openroad -exit /openLANE_flow/scripts/openroad/or_pdn.tcl |& tee /dev/null /openLANE_flow/designs/spm/runs/openlane_test/logs/floorplan/7-pdn.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
[INFO ODB-0130]     Created 36 pins.
[INFO ODB-0131]     Created 433 components and 2537 component-terminals.
[INFO ODB-0133]     Created 312 nets and 997 connections.
[INFO ODB-0134] Finished DEF file: /openLANE_flow/designs/spm/runs/openlane_test/results/floorplan/spm.floorplan.def
[INFO PDN-0016] Power Delivery Network Generator: Generating PDN
  config: /home/akash/openlane/pdks/sky130A/libs.tech/openlane/common_pdn.tcl
-errorcode NONE -errorinfo Error:\ common_pdn.tcl,\ 21\ invalid\ command\ name\ \"add_global_connection\"\n\ \ \ \ while\ executing\n\"error\ \"Error:\ \[file\ tail\ \$error_sdc_file\],\ \$error_sdc_line\ \$error\"\"\n\ \ \ \ invoked\ from\ within\n\"if\ \[catch\ \{open\ \$filename\ r\}\ stream\]\ \{\n\ \ \ \ sta_error\ 511\ \"cannot\ open\ '\$filename'.\"\n\ \ \}\ else\ \{\n\ \ \ \ #\ Save\ file\ and\ line\ in\ recursive\ call\ to\ source.\n\ ...\"\n\ \ \ \ (procedure\ \"source_\"\ line\ 5)\n\ \ \ \ invoked\ from\ within\n\"source_\ \$filename\ \$echo\ \$verbose\ \"\n\ \ \ \ invoked\ from\ within\n\"source\ \$PDN_cfg\"\n\ \ \ \ (procedure\ \"init\"\ line\ 41)\n\ \ \ \ invoked\ from\ within\n\"init\ \$config\"\n\ \ \ \ (procedure\ \"apply\"\ line\ 4)\n\ \ \ \ invoked\ from\ within\n\"apply\ \$config\"\n\ \ \ \ (procedure\ \"pdngen::apply_pdn\"\ line\ 13)\n\ \ \ \ invoked\ from\ within\n\"pdngen::apply_pdn\ \$config_file\ \$verbose\ \" -code 1 -level 0 -errorline 9
[ERROR PDN-9999] Unexpected error: Error: common_pdn.tcl, 21 invalid command name "add_global_connection"
PDN-9999
child process exited abnormally

[ERROR]: Please check openroad  log file
[ERROR]: Dumping to /openLANE_flow/designs/spm/runs/openlane_test/error.log
[INFO]: Calculating Runtime From the Start...
[INFO]: flow failed for spm/27-09_06-00 in 0h0m19s
[INFO]: Generating Final Summary Report...
[INFO]: Design Name: spm
Run Directory: /openLANE_flow/designs/spm/runs/openlane_test
Source not found.
----------------------------------------

LVS Summary:
Source: /openLANE_flow/designs/spm/runs/openlane_test/results/lvs/spm.lvs_parsed.gds.log
Source not found.
----------------------------------------

Antenna Summary:
No antenna report found.
[INFO]: check full report here: /openLANE_flow/designs/spm/runs/openlane_test/reports/final_summary_report.csv
[INFO]: Saving Runtime Environment
[ERROR]: Flow Failed.

    while executing
"try_catch $::env(OPENROAD_BIN) -exit $::env(SCRIPTS_DIR)/openroad/or_pdn.tcl  |& tee $::env(TERMINAL_OUTPUT) [index_file $::env(pdn_log_file_tag).log ..."
    (procedure "gen_pdn" line 8)
    invoked from within
"gen_pdn"
    (procedure "run_power_grid_generation" line 94)
    invoked from within
"run_power_grid_generation"
    (procedure "run_floorplan" line 40)
    invoked from within
"[lindex $step_exe 0] [lindex $step_exe 1] "
    (procedure "run_non_interactive_mode" line 43)
    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 "./flow.tcl" line 354)
Makefile:210: recipe for target 'test' failed
make: *** [test] Error 1
akash@akash-lenovo:~/openlane$ 
vijayank88 commented 3 years ago

@akashpatil98 latest OL version is 2021.09.23_03.17.13. follow this link for Openlane installation https://github.com/The-OpenROAD-Project/OpenLane not efabless. git clone https://github.com/The-OpenROAD-Project/OpenLane.git cd OpenLane/ make openlane

akashpatil98 commented 3 years ago

@vijayank88 Thank you very much! It worked.

Kind regards, Akash Patil

zpzhu99 commented 3 years ago

@vijayank88 Thank you for pointing this change out. By the way, can you or someone else update the documentation?

vijayank88 commented 3 years ago

@muscular-soreness-Zz yes document update going on, soon it will be merged.