Improve diode LEF files. * Add `USE` and `SHAPE` properties. * Remove `CORE` class. * Fix layer for power pins. Fixes https://github.com/google/skywater-pdk/issues/141. Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/cells/diode/sky130_fd_sc_ms__diode_2.lef b/cells/diode/sky130_fd_sc_ms__diode_2.lef index cfe70bc..a99c0c4 100644 --- a/cells/diode/sky130_fd_sc_ms__diode_2.lef +++ b/cells/diode/sky130_fd_sc_ms__diode_2.lef
@@ -14,20 +14,22 @@ # # SPDX-License-Identifier: Apache-2.0 -VERSION 5.5 ; -NAMESCASESENSITIVE ON ; -BUSBITCHARS "[]" ; -DIVIDERCHAR "/" ; +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__diode_2 CLASS CORE ANTENNACELL ; - SOURCE USER ; + FOREIGN scs8ms_diode_2 ; ORIGIN 0.000000 0.000000 ; SIZE 0.960000 BY 3.330000 ; SYMMETRY X Y ; SITE unit ; PIN DIODE ANTENNADIFFAREA 0.641700 ; + ANTENNAGATEAREA 0.641700 ; DIRECTION INPUT ; + USE SIGNAL ; PORT LAYER li1 ; RECT 0.095000 0.265000 0.865000 3.065000 ; @@ -35,6 +37,7 @@ END DIODE PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -45,20 +48,21 @@ DIRECTION INOUT ; USE GROUND ; PORT - LAYER met1 ; - RECT 0.000000 0.000000 0.250000 0.250000 ; + LAYER pwell ; + RECT 0.000000 0.000000 0.960000 0.245000 ; END END VNB PIN VPB DIRECTION INOUT ; USE POWER ; PORT - LAYER met1 ; - RECT 0.000000 3.080000 0.250000 3.330000 ; + LAYER nwell ; + RECT -0.190000 1.660000 1.150000 3.520000 ; END END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef b/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef index dc4db0a..43383a8 100644 --- a/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef +++ b/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef
@@ -29,6 +29,7 @@ ANTENNADIFFAREA 0.641700 ; ANTENNAGATEAREA 0.641700 ; DIRECTION INPUT ; + USE SIGNAL ; PORT LAYER li1 ; RECT 0.095000 0.265000 0.865000 3.065000 ; @@ -36,6 +37,7 @@ END DIODE PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -60,6 +62,7 @@ END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.lef b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.lef index f3d497a..38cc2b4 100644 --- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.lef +++ b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.lef
@@ -14,19 +14,20 @@ # # SPDX-License-Identifier: Apache-2.0 -VERSION 5.5 ; -NAMESCASESENSITIVE ON ; -BUSBITCHARS "[]" ; -DIVIDERCHAR "/" ; +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__fill_diode_2 - CLASS CORE SPACER ; - SOURCE USER ; + CLASS SPACER ; + FOREIGN scs8ms_fill_diode_2 ; ORIGIN 0.000000 0.000000 ; SIZE 0.960000 BY 3.330000 ; SYMMETRY X Y ; SITE unit ; PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -37,20 +38,21 @@ DIRECTION INOUT ; USE GROUND ; PORT - LAYER met1 ; - RECT 0.000000 0.000000 0.250000 0.250000 ; + LAYER pwell ; + RECT 0.000000 0.000000 0.960000 0.245000 ; END END VNB PIN VPB DIRECTION INOUT ; USE POWER ; PORT - LAYER met1 ; - RECT 0.000000 3.080000 0.250000 3.330000 ; + LAYER nwell ; + RECT -0.190000 1.660000 1.150000 3.520000 ; END END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.magic.lef b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.magic.lef index 771a0dd..ae8bc5a 100644 --- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.magic.lef +++ b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.magic.lef
@@ -19,7 +19,7 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__fill_diode_2 - CLASS CORE SPACER ; + CLASS SPACER ; FOREIGN sky130_fd_sc_ms__fill_diode_2 ; ORIGIN 0.000000 0.000000 ; SIZE 0.960000 BY 3.330000 ; @@ -27,6 +27,7 @@ SITE unit ; PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -51,6 +52,7 @@ END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.lef b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.lef index 8f0373d..8bcae67 100644 --- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.lef +++ b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.lef
@@ -14,19 +14,20 @@ # # SPDX-License-Identifier: Apache-2.0 -VERSION 5.5 ; -NAMESCASESENSITIVE ON ; -BUSBITCHARS "[]" ; -DIVIDERCHAR "/" ; +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__fill_diode_4 - CLASS CORE SPACER ; - SOURCE USER ; + CLASS SPACER ; + FOREIGN scs8ms_fill_diode_4 ; ORIGIN 0.000000 0.000000 ; SIZE 1.920000 BY 3.330000 ; SYMMETRY X Y ; SITE unit ; PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -37,20 +38,21 @@ DIRECTION INOUT ; USE GROUND ; PORT - LAYER met1 ; - RECT 0.000000 0.000000 0.250000 0.250000 ; + LAYER pwell ; + RECT 0.000000 0.000000 1.920000 0.245000 ; END END VNB PIN VPB DIRECTION INOUT ; USE POWER ; PORT - LAYER met1 ; - RECT 0.000000 3.080000 0.250000 3.330000 ; + LAYER nwell ; + RECT -0.190000 1.660000 2.110000 3.520000 ; END END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.magic.lef b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.magic.lef index de0e555..b8b4101 100644 --- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.magic.lef +++ b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.magic.lef
@@ -19,7 +19,7 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__fill_diode_4 - CLASS CORE SPACER ; + CLASS SPACER ; FOREIGN sky130_fd_sc_ms__fill_diode_4 ; ORIGIN 0.000000 0.000000 ; SIZE 1.920000 BY 3.330000 ; @@ -27,6 +27,7 @@ SITE unit ; PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -51,6 +52,7 @@ END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.lef b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.lef index cb3bb75..35fbee3 100644 --- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.lef +++ b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.lef
@@ -14,19 +14,20 @@ # # SPDX-License-Identifier: Apache-2.0 -VERSION 5.5 ; -NAMESCASESENSITIVE ON ; -BUSBITCHARS "[]" ; -DIVIDERCHAR "/" ; +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__fill_diode_8 - CLASS CORE SPACER ; - SOURCE USER ; + CLASS SPACER ; + FOREIGN scs8ms_fill_diode_8 ; ORIGIN 0.000000 0.000000 ; SIZE 3.840000 BY 3.330000 ; SYMMETRY X Y ; SITE unit ; PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -37,20 +38,21 @@ DIRECTION INOUT ; USE GROUND ; PORT - LAYER met1 ; - RECT 0.000000 0.000000 0.250000 0.250000 ; + LAYER pwell ; + RECT 0.000000 0.000000 3.840000 0.245000 ; END END VNB PIN VPB DIRECTION INOUT ; USE POWER ; PORT - LAYER met1 ; - RECT 0.000000 3.080000 0.250000 3.330000 ; + LAYER nwell ; + RECT -0.190000 1.660000 4.030000 3.520000 ; END END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;
diff --git a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.magic.lef b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.magic.lef index 11a07ec..7733ad8 100644 --- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.magic.lef +++ b/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.magic.lef
@@ -19,7 +19,7 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_fd_sc_ms__fill_diode_8 - CLASS CORE SPACER ; + CLASS SPACER ; FOREIGN sky130_fd_sc_ms__fill_diode_8 ; ORIGIN 0.000000 0.000000 ; SIZE 3.840000 BY 3.330000 ; @@ -27,6 +27,7 @@ SITE unit ; PIN VGND DIRECTION INOUT ; + SHAPE ABUTMENT ; USE GROUND ; PORT LAYER met1 ; @@ -51,6 +52,7 @@ END VPB PIN VPWR DIRECTION INOUT ; + SHAPE ABUTMENT ; USE POWER ; PORT LAYER met1 ;