-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing attributes in LEF files (.magic.lef) for VNB and VPB pins #172
Comments
I do not think that "SHAPE ABUTMENT" should be used, because the labels in the LEF are not extending to the cell bounding box edges, so I'm not sure what tools would do with that. The regular power rails abut, which I think should be okay. But if any tool behavior indicates otherwise, I would like to know about it. |
So far no tool indicated the need for |
I'm currently assuming this affects all the |
@mithro: I reviewed the submodules now. The issue exists in sky130_fd_sc_hd, sky130_fd_sc_hdll, and sky130_fd_sc_ls. So, it doesn't exist in sky130_fd_sc_hs and sky130_fd_sc_ms, sky130_fd_sc_hvl, and sky130_fd_sc_lp |
Does this look right? diff --git a/libraries/sky130_fd_sc_hd/v0.0.1/cells/a22oi/sky130_fd_sc_hd__a22oi_4.magic.lef b/libraries/sky130_fd_sc_hd/v0.0.1/cells/a22oi/sky130_fd_sc_hd__a22oi_4.magic.lef
index 481ecf9..ff1bc43 100644
--- a/libraries/sky130_fd_sc_hd/v0.0.1/cells/a22oi/sky130_fd_sc_hd__a22oi_4.magic.lef
+++ b/libraries/sky130_fd_sc_hd/v0.0.1/cells/a22oi/sky130_fd_sc_hd__a22oi_4.magic.lef
@@ -77,7 +77,7 @@
END
END Y
PIN VGND
- DIRECTION INPUT ;
+ DIRECTION INOUT ;
SHAPE ABUTMENT ;
USE GROUND ;
PORT
@@ -86,7 +86,7 @@
END
END VGND
PIN VNB
- DIRECTION INPUT ;
+ DIRECTION INOUT ;
USE GROUND ;
PORT
LAYER pwell ;
@@ -94,7 +94,7 @@
END
END VNB
PIN VPB
- DIRECTION INPUT ;
+ DIRECTION INOUT ;
USE POWER ;
PORT
LAYER nwell ;
@@ -102,7 +102,7 @@
END
END VPB
PIN VPWR
- DIRECTION INPUT ;
+ DIRECTION INOUT ;
SHAPE ABUTMENT ;
USE POWER ;
PORT
|
|
@mithro: Looks good to me! |
@RTimothyEdwards -- What values for the |
Three fixes applied to all standard cell libraries; * lef: Fixing VNB/VPB properties in .magic.lef files, fixes google#172. * verilog: Fixing power pins usage in non-powerpin mode, fixes google#181. * cdl: Fixing missing terminals, fixes google#194. Updating submodules on 2020-10-29 19:19:47 UTC - Updating [`sky130_fd_sc_hd` latest](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hd/+/v0.0.2-40-g836b7fa01..v0.0.2-46-g8d095dc6f) to v0.0.2-46-g8d095dc6f - Updating [`sky130_fd_sc_hd` v0.0.1](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hd/+/v0.0.1-20-g01fde9a43..v0.0.1-23-g3aaa84ef4) to v0.0.1-23-g3aaa84ef4 - Updating [`sky130_fd_sc_hd` v0.0.2](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hd/+/v0.0.2-40-g836b7fa01..v0.0.2-46-g8d095dc6f) to v0.0.2-46-g8d095dc6f - Updating [`sky130_fd_sc_hdll` latest](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hdll/+/v0.1.1-44-g7abde00cd..v0.1.1-50-g77450af72) to v0.1.1-50-g77450af72 - Updating [`sky130_fd_sc_hdll` v0.1.0](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hdll/+/v0.1.0-22-g05d4cd52..v0.1.0-25-g82ea1266) to v0.1.0-25-g82ea1266 - Updating [`sky130_fd_sc_hdll` v0.1.1](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hdll/+/v0.1.1-44-g7abde00cd..v0.1.1-50-g77450af72) to v0.1.1-50-g77450af72 - Updating [`sky130_fd_sc_hs` latest](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hs/+/v0.0.2-40-gd1e4650c3..v0.0.2-46-g2d165a2ff) to v0.0.2-46-g2d165a2ff - Updating [`sky130_fd_sc_hs` v0.0.1](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hs/+/v0.0.1-20-ga13469d26..v0.0.1-23-gb81bfbb8d) to v0.0.1-23-gb81bfbb8d - Updating [`sky130_fd_sc_hs` v0.0.2](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hs/+/v0.0.2-40-gd1e4650c3..v0.0.2-46-g2d165a2ff) to v0.0.2-46-g2d165a2ff - Updating [`sky130_fd_sc_ls` latest](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ls/+/v0.1.1-42-g26dc99426..v0.1.1-48-gedfe6c90b) to v0.1.1-48-gedfe6c90b - Updating [`sky130_fd_sc_ls` v0.1.0](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ls/+/v0.1.0-21-gd8c271782..v0.1.0-24-g72e0ddf7a) to v0.1.0-24-g72e0ddf7a - Updating [`sky130_fd_sc_ls` v0.1.1](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ls/+/v0.1.1-42-g26dc99426..v0.1.1-48-gedfe6c90b) to v0.1.1-48-gedfe6c90b - Updating [`sky130_fd_sc_ms` latest](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ms/+/v0.0.2-42-gec746c6bf..v0.0.2-48-g175daa5e8) to v0.0.2-48-g175daa5e8 - Updating [`sky130_fd_sc_ms` v0.0.1](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ms/+/v0.0.1-21-ge9d513d1f..v0.0.1-24-ga2ecab114) to v0.0.1-24-ga2ecab114 - Updating [`sky130_fd_sc_ms` v0.0.2](https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ms/+/v0.0.2-42-gec746c6bf..v0.0.2-48-g175daa5e8) to v0.0.2-48-g175daa5e8 * libraries/sky130_fd_sc_hd/latest 836b7fa...8d095dc (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hd/v0.0.1 01fde9a...3aaa84e (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hd/v0.0.2 836b7fa...8d095dc (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hdll/latest 7abde00...77450af (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hdll/v0.1.0 05d4cd5...82ea126 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hdll/v0.1.1 7abde00...77450af (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hs/latest d1e4650...2d165a2 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hs/v0.0.1 a13469d...b81bfbb (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_hs/v0.0.2 d1e4650...2d165a2 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_ls/latest 26dc994...edfe6c9 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_ls/v0.1.0 d8c2717...72e0ddf (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_ls/v0.1.1 26dc994...edfe6c9 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_ms/latest ec746c6...175daa5 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_ms/v0.0.1 e9d513d...a2ecab1 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. * libraries/sky130_fd_sc_ms/v0.0.2 ec746c6...175daa5 (3): > lef: Fixing VNB/VPB properties in .magic.lef files. > verilog: Fixing power pins usage in non-powerpin mode. > cdl: Fixing missing terminals. Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
This should be fixed as #196 is now merged. |
Both the `PIN VNB` and `PIN VPB` are now marked with `DIRECTION INOUT`. The `PIN VNB` is marked with `USE GROUND` and the `PIN VPB` is marked with `USE POWER`. This should fix the `.magic.lef` file usage with OpenROAD (and hopefully other tools too). Fixes google/skywater-pdk#172 Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
Both the `PIN VNB` and `PIN VPB` are now marked with `DIRECTION INOUT`. The `PIN VNB` is marked with `USE GROUND` and the `PIN VPB` is marked with `USE POWER`. This should fix the `.magic.lef` file usage with OpenROAD (and hopefully other tools too). Fixes google/skywater-pdk#172 Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
Both the `PIN VNB` and `PIN VPB` are now marked with `DIRECTION INOUT`. The `PIN VNB` is marked with `USE GROUND` and the `PIN VPB` is marked with `USE POWER`. This should fix the `.magic.lef` file usage with OpenROAD (and hopefully other tools too). Fixes google/skywater-pdk#172 Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
Both the `PIN VNB` and `PIN VPB` are now marked with `DIRECTION INOUT`. The `PIN VNB` is marked with `USE GROUND` and the `PIN VPB` is marked with `USE POWER`. This should fix the `.magic.lef` file usage with OpenROAD (and hopefully other tools too). Fixes google/skywater-pdk#172 Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
Expected Behavior
The USE and DIRECTION sections should be added because this is causing parsing errors and warnings with some of the opensource tools, i.e.: OpenROAD and OpenPhySyn.
For VNB it should be:
USE GROUND ;
I'm not sure if the
DIRECTION
is a must tho, but it would be nice to have. Also, I'm not sure ifSHAPE ABUTMENT ;
should be added as well.Actual Behavior
In all cells of all libraries, VNB and VPB pins are missing the USE and DIRECTION sections.
i.e.:
Steps to Reproduce the Problem
Specifications
*Note: the purpose of this issue is traceability.
The text was updated successfully, but these errors were encountered: