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.25k stars 365 forks source link

Error in OL Magic GDSII Step - Multi errors on DEF file #2079

Closed mbaykenar closed 5 months ago

mbaykenar commented 6 months ago

Description

The flow crashes whenever I tried a macro hardening with the parameters:

set ::env(FP_PDN_CORE_RING) 0 set ::env(FP_PDN_MULTILAYER) 0

The fail happens in "Streaming out GDSII with KLayout" step.

If I set these parameters flow completes successfully.

Expected Behavior

A clear macro hardening flow is expected

Environment report

open_pdks cd1748bb197f9b7af62a54507de6624e30363943
Kernel: Linux v5.15.0-91-generic
Distribution: ubuntu 20.04
Python: v3.8.10 (OK)
Container Engine: docker v24.0.7 (OK)
OpenLane Git Version: 8bea8c51998b88e50eda27361a2dcfb908f6a3bd
python-venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

8bea8c5 2023-12-26T13:17:21+02:00 Update `OpenROAD` (#2062) - Kareem Farid -  (grafted, HEAD -> master, tag: 2023.12.27, origin/master, origin/HEAD)
---
Git Remotes

origin  https://github.com/The-OpenROAD-Project/OpenLane.git (fetch)
origin  https://github.com/The-OpenROAD-Project/OpenLane.git (push)

Reproduction material

31-gdsii.log 31-lef.log

Relevant log output

errors.log is:

[ERROR]: during executing: "python3 /openlane/scripts/klayout/stream_out.py --output /openlane/designs/i2c_master_top/runs/RUN_2023.12.29_12.29.12/results/signoff/i2c_master_top.klayout.gds --lyt /home/aykenar/.volare/sky130A/libs.tech/klayout/tech/sky130A.lyt --lym /home/aykenar/.volare/sky130A/libs.tech/klayout/tech/sky130A.map --lyp /home/aykenar/.volare/sky130A/libs.tech/klayout/tech/sky130A.lyp --top i2c_master_top --with-gds-file /home/aykenar/.volare/sky130A/libs.ref/sky130_fd_sc_hd/gds/sky130_fd_sc_hd.gds --input-lef /openlane/designs/i2c_master_top/runs/RUN_2023.12.29_12.29.12/tmp/merged.nom.lef /openlane/designs/i2c_master_top/runs/RUN_2023.12.29_12.29.12/results/routing/i2c_master_top.def |& tee /dev/null /openlane/designs/i2c_master_top/runs/RUN_2023.12.29_12.29.12/logs/signoff/32-gdsii-klayout.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
Warning: No mapping for layer 'pwell', purpose 'LEFOBS' - layer is ignored
Not a floating-point value: PIN (line=94891, cell=, file=i2c_master_top.def) in Layout.read
child process exited abnormally

[ERROR]: Step 32 (gds_klayout) failed with error:
-code 1 -level 0 -errorcode NONE -errorinfo {
    while executing
"throw_error"
    (procedure "try_exec" line 15)
    invoked from within
"try_exec python3 $::env(SCRIPTS_DIR)/klayout/stream_out.py --output $klayout_out --lyt $::env(KLAYOUT_TECH) --lym $::env(KLAYOUT_DEF_LAYER_MAP) --lyp ..."
    (procedure "run_klayout" line 22)
    invoked from within
"run_klayout"
    (procedure "run_klayout_step" line 3)
    invoked from within
"run_klayout_step"} -errorline 1
[ERROR]: Flow failed.

However, when I check gdsii.errors file for the previous Magic step, it causes tons of problems during reading DEF file:

DEF read, Line 94882 (Error): Unknown layer type ";" for NEW route
DEF read, Line 94883 (Error): Route has via name "-" but no points!
DEF read, Line 94883 (Error): Route has via name "vdda1" but no points!
DEF read, Line 94885 (Error): Route has via name "-" but no points!
DEF read, Line 94885 (Error): Route has via name "vdda2" but no points!
DEF read, Line 94887 (Error): Route has via name "-" but no points!
DEF read, Line 94887 (Error): Route has via name "vssa1" but no points!
DEF read, Line 94889 (Error): Route has via name "-" but no points!
DEF read, Line 94889 (Error): Route has via name "vssa2" but no points!
DEF read, Line 94891 (Error): Route has via name "-" but no points!
DEF read, Line 94891 (Error): Route has via name "vssd1" but no points!
DEF read, Line 94891 (Error): Cannot parse X coordinate.
DEF read, Line 94891 (Error): No reference point for "*" wildcard
DEF read, Line 94891 (Error): No reference point for "*" wildcard
DEF read, Line 100922 (Error): Route has via name "-" but no points!
DEF read, Line 100922 (Error): Route has via name "vssd2" but no points!
DEF read, Line 100924 (Error): Route has via name "END" but no points!
DEF read, Line 100924 (Error): Route has via name "SPECIALNETS" but no points!
DEF read, Line 100925 (Error): Route has via name "NETS" but no points!
DEF read, Line 100925 (Error): Route has via name "764" but no points!
DEF read, Line 100927 (Error): Bad width in special net
DEF read, Line 100927 (Error): Route has via name "123510" but no points!
DEF read, Line 100927 (Error): Route has via name "1258850" but no points!
DEF read, Line 100927 (Error): Route has via name ")" but no points!
DEF read, Line 100927 (Error): No reference point for "*" wildcard
DEF read, Line 100928 (Error): Bad width in special net
DEF read, Line 100928 (Error): Route has via name "123510" but no points!
DEF read, Line 100928 (Error): Route has via name "1258850" but no points!
DEF read, Line 100928 (Error): Route has via name ")" but no points!
DEF read, Line 100928 (Error): No reference point for "*" wildcard
DEF read, Line 100929 (Error): Bad width in special net
DEF read, Line 100929 (Error): Route has via name "125350" but no points!
DEF read, Line 100929 (Error): Route has via name "1258850" but no points!
DEF read, Line 100929 (Error): Route has via name ")" but no points!
DEF read, Line 100929 (Error): Route has via name "L1M1_PR_MR" but no points!
DEF read, Line 100930 (Error): Bad width in special net
DEF read, Line 100930 (Error): Route has via name "123510" but no points!
DEF read, Line 100930 (Error): Route has via name "1258850" but no points!
DEF read, Line 100930 (Error): Route has via name ")" but no points!
DEF read, Line 100930 (Error): Route has via name "M1M2_PR" but no points!
DEF read, Line 100931 (Error): Bad width in special net
DEF read, Line 100931 (Error): Route has via name "123510" but no points!
DEF read, Line 100931 (Error): Route has via name "1260550" but no points!
DEF read, Line 100931 (Error): Route has via name ")" but no points!
DEF read, Line 100931 (Error): Route has via name "L1M1_PR_MR" but no points!
DEF read, Line 100932 (Error): Bad width in special net
DEF read, Line 100932 (Error): Route has via name "123510" but no points!
DEF read, Line 100932 (Error): Route has via name "1260550" but no points!
DEF read, Line 100932 (Error): Route has via name ")" but no points!
DEF read, Line 100932 (Error): Route has via name "M1M2_PR" but no points!
DEF read, Line 100934 (Error): Bad width in special net
DEF read, Line 100934 (Error): Route has via name "147890" but no points!
DEF read, Line 100934 (Error): Route has via name "1280610" but no points!
DEF read, Line 100934 (Error): Route has via name ")" but no points!
DEF read, Line 100934 (Error): No reference point for "*" wildcard
DEF read, Line 100935 (Error): Bad width in special net
DEF read, Line 100935 (Error): Route has via name "148350" but no points!
DEF read, Line 100935 (Error): Route has via name "1280610" but no points!
DEF read, Line 100935 (Error): Route has via name ")" but no points!
DEF read, Line 100935 (Error): No reference point for "*" wildcard
DEF read, Line 100936 (Error): Bad width in special net
DEF read, Line 100936 (Error): Route has via name "147890" but no points!
DEF read, Line 100936 (Error): Route has via name "1280610" but no points!
DEF read, Line 100936 (Error): Route has via name ")" but no points!
DEF read, Line 100936 (Error): Route has via name "L1M1_PR_MR" but no points!
DEF read, Line 100937 (Error): Bad width in special net
DEF read, Line 100937 (Error): Route has via name "148350" but no points!
DEF read, Line 100937 (Error): Route has via name "1280610" but no points!
DEF read, Line 100937 (Error): Route has via name ")" but no points!
DEF read, Line 100937 (Error): Route has via name "M1M2_PR" but no points!
DEF read, Line 100938 (Error): Bad width in special net
DEF read, Line 100938 (Error): Route has via name "148350" but no points!
DEF read, Line 100938 (Error): Route has via name "1282310" but no points!
DEF read, Line 100938 (Error): Route has via name ")" but no points!
DEF read, Line 100938 (Error): Route has via name "L1M1_PR_MR" but no points!
DEF read, Line 100939 (Error): Bad width in special net
DEF read, Line 100939 (Error): Route has via name "148350" but no points!
DEF read, Line 100939 (Error): Route has via name "1282310" but no points!
DEF read, Line 100939 (Error): Route has via name ")" but no points!
DEF read, Line 100939 (Error): Route has via name "M1M2_PR" but no points!
DEF read, Line 100941 (Error): Bad width in special net
DEF read, Line 100941 (Error): Route has via name "149270" but no points!
DEF read, Line 100941 (Error): Route has via name "1267010" but no points!
DEF read, Line 100941 (Error): Route has via name ")" but no points!
DEF read, Line 100941 (Error): No reference point for "*" wildcard
DEF read, Line 100942 (Error): Bad width in special net
DEF read, Line 100942 (Error): Route has via name "155250" but no points!
DEF read, Line 100942 (Error): Route has via name "1267010" but no points!
DEF read, Line 100942 (Error): Route has via name ")" but no points!
DEF read, Line 100942 (Error): No reference point for "*" wildcard
DEF read, Line 100943 (Error): Bad width in special net
DEF read, Line 100943 (Error): Route has via name "149270" but no points!
DEF read, Line 100943 (Error): Route has via name "1267010" but no points!
DEF read, Line 100943 (Error): Route has via name ")" but no points!
DEF read, Line 100943 (Error): Route has via name "L1M1_PR_MR" but no points!
DEF read, Line 100944 (Error): Bad width in special net
DEF read, Line 100944 (Error): Route has via name "155250" but no points!
DEF read, Line 100944 (Error): Route has via name "1267010" but no points!
DEF read, Line 100944 (Error): Route has via name ")" but no points!
DEF read, Line 100944 (Error): Route has via name "M1M2_PR" but no points!
DEF Read:  Further errors will not be reported.
DEF Read: encountered 62673 errors total.
mbaykenar commented 6 months ago

src_and_config.zip

Uploaded src and config files

mbaykenar commented 5 months ago

After I changed power connections from 8 pins to 2 pins, where only digital powers are connected, the error has gone.

in top Verilog file:

`ifdef USE_POWER_PINS

vccd1,
vssd1,

`endif

in config.tcl file:

set ::env(VDD_NETS) "vccd1" set ::env(GND_NETS) "vssd1"

I am closing this issue since now I can harden macros.