lef: Fixing VNB/VPB properties in .magic.lef files.
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 https://github.com/google/skywater-pdk/issues/172
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/README.rst b/README.rst
index c527d5d..0382425 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
:lib:`sky130_fd_sc_ms` - SKY130 Medium Speed Digital Standard Cells (SkyWater Provided)
=======================================================================================
-Initial release of version (0, 0, 0).
+Initial release of version (0, 0, 1).
diff --git a/cells/conb/sky130_fd_sc_ms__conb_1.lef b/cells/conb/sky130_fd_sc_ms__conb_1.lef
index 1478055..a3b1bd2 100644
--- a/cells/conb/sky130_fd_sc_ms__conb_1.lef
+++ b/cells/conb/sky130_fd_sc_ms__conb_1.lef
@@ -26,6 +26,7 @@
SYMMETRY X Y ;
SITE unit ;
PIN HI
+ ANTENNADIFFAREA 0.000000 ;
ANTENNAPARTIALMETALSIDEAREA 0.182000 ;
DIRECTION OUTPUT ;
USE SIGNAL ;
@@ -36,6 +37,7 @@
END
END HI
PIN LO
+ ANTENNADIFFAREA 0.000000 ;
ANTENNAPARTIALMETALSIDEAREA 0.182000 ;
DIRECTION OUTPUT ;
USE SIGNAL ;
diff --git a/cells/diode/sky130_fd_sc_ms__diode_2.lef b/cells/diode/sky130_fd_sc_ms__diode_2.lef
deleted file mode 100644
index cfe70bc..0000000
--- a/cells/diode/sky130_fd_sc_ms__diode_2.lef
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2020 The SkyWater PDK Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-VERSION 5.5 ;
-NAMESCASESENSITIVE ON ;
-BUSBITCHARS "[]" ;
-DIVIDERCHAR "/" ;
-MACRO sky130_fd_sc_ms__diode_2
- CLASS CORE ANTENNACELL ;
- SOURCE USER ;
- ORIGIN 0.000000 0.000000 ;
- SIZE 0.960000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN DIODE
- ANTENNADIFFAREA 0.641700 ;
- DIRECTION INPUT ;
- PORT
- LAYER li1 ;
- RECT 0.095000 0.265000 0.865000 3.065000 ;
- END
- END DIODE
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 0.960000 0.245000 ;
- END
- END VGND
- PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 0.000000 0.250000 0.250000 ;
- END
- END VNB
- PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.080000 0.250000 3.330000 ;
- END
- END VPB
- PIN VPWR
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.085000 0.960000 3.575000 ;
- END
- END VPWR
- OBS
- LAYER li1 ;
- RECT 0.000000 -0.085000 0.960000 0.085000 ;
- RECT 0.000000 3.245000 0.960000 3.415000 ;
- LAYER mcon ;
- RECT 0.155000 -0.085000 0.325000 0.085000 ;
- RECT 0.155000 3.245000 0.325000 3.415000 ;
- RECT 0.635000 -0.085000 0.805000 0.085000 ;
- RECT 0.635000 3.245000 0.805000 3.415000 ;
- END
-END sky130_fd_sc_ms__diode_2
-END LIBRARY
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..e65eef4 100644
--- a/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef
+++ b/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef
@@ -19,12 +19,10 @@
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_fd_sc_ms__diode_2
- CLASS CORE ANTENNACELL ;
+ CLASS BLOCK ;
FOREIGN sky130_fd_sc_ms__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 ;
@@ -34,32 +32,30 @@
RECT 0.095000 0.265000 0.865000 3.065000 ;
END
END DIODE
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 0.960000 0.245000 ;
- END
- END VGND
PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
+ DIRECTION INPUT ;
PORT
LAYER pwell ;
RECT 0.000000 0.000000 0.960000 0.245000 ;
END
END VNB
PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
+ DIRECTION INPUT ;
PORT
LAYER nwell ;
RECT -0.190000 1.660000 1.150000 3.520000 ;
END
END VPB
+ PIN VGND
+ DIRECTION INPUT ;
+ USE GROUND ;
+ PORT
+ LAYER met1 ;
+ RECT 0.000000 -0.245000 0.960000 0.245000 ;
+ END
+ END VGND
PIN VPWR
- DIRECTION INOUT ;
+ DIRECTION INPUT ;
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
deleted file mode 100644
index f3d497a..0000000
--- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_2.lef
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2020 The SkyWater PDK Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-VERSION 5.5 ;
-NAMESCASESENSITIVE ON ;
-BUSBITCHARS "[]" ;
-DIVIDERCHAR "/" ;
-MACRO sky130_fd_sc_ms__fill_diode_2
- CLASS CORE SPACER ;
- SOURCE USER ;
- ORIGIN 0.000000 0.000000 ;
- SIZE 0.960000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 0.960000 0.245000 ;
- END
- END VGND
- PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 0.000000 0.250000 0.250000 ;
- END
- END VNB
- PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.080000 0.250000 3.330000 ;
- END
- END VPB
- PIN VPWR
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.085000 0.960000 3.575000 ;
- END
- END VPWR
- OBS
- LAYER li1 ;
- RECT 0.000000 -0.085000 0.960000 0.085000 ;
- RECT 0.000000 3.245000 0.960000 3.415000 ;
- RECT 0.135000 0.085000 0.825000 0.580000 ;
- RECT 0.135000 2.750000 0.825000 3.245000 ;
- LAYER mcon ;
- RECT 0.155000 -0.085000 0.325000 0.085000 ;
- RECT 0.155000 3.245000 0.325000 3.415000 ;
- RECT 0.635000 -0.085000 0.805000 0.085000 ;
- RECT 0.635000 3.245000 0.805000 3.415000 ;
- END
-END sky130_fd_sc_ms__fill_diode_2
-END LIBRARY
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..a7dbde3 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,38 +19,34 @@
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_fd_sc_ms__fill_diode_2
- CLASS CORE SPACER ;
+ CLASS BLOCK ;
FOREIGN sky130_fd_sc_ms__fill_diode_2 ;
ORIGIN 0.000000 0.000000 ;
SIZE 0.960000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 0.960000 0.245000 ;
- END
- END VGND
PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
+ DIRECTION INPUT ;
PORT
LAYER pwell ;
RECT 0.000000 0.000000 0.960000 0.245000 ;
END
END VNB
PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
+ DIRECTION INPUT ;
PORT
LAYER nwell ;
RECT -0.190000 1.660000 1.150000 3.520000 ;
END
END VPB
+ PIN VGND
+ DIRECTION INPUT ;
+ USE GROUND ;
+ PORT
+ LAYER met1 ;
+ RECT 0.000000 -0.245000 0.960000 0.245000 ;
+ END
+ END VGND
PIN VPWR
- DIRECTION INOUT ;
+ DIRECTION INPUT ;
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
deleted file mode 100644
index 8f0373d..0000000
--- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_4.lef
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2020 The SkyWater PDK Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-VERSION 5.5 ;
-NAMESCASESENSITIVE ON ;
-BUSBITCHARS "[]" ;
-DIVIDERCHAR "/" ;
-MACRO sky130_fd_sc_ms__fill_diode_4
- CLASS CORE SPACER ;
- SOURCE USER ;
- ORIGIN 0.000000 0.000000 ;
- SIZE 1.920000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 1.920000 0.245000 ;
- END
- END VGND
- PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 0.000000 0.250000 0.250000 ;
- END
- END VNB
- PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.080000 0.250000 3.330000 ;
- END
- END VPB
- PIN VPWR
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.085000 1.920000 3.575000 ;
- END
- END VPWR
- OBS
- LAYER li1 ;
- RECT 0.000000 -0.085000 1.920000 0.085000 ;
- RECT 0.000000 3.245000 1.920000 3.415000 ;
- RECT 0.135000 0.085000 1.785000 0.580000 ;
- RECT 0.135000 2.750000 1.785000 3.245000 ;
- LAYER mcon ;
- RECT 0.155000 -0.085000 0.325000 0.085000 ;
- RECT 0.155000 3.245000 0.325000 3.415000 ;
- RECT 0.635000 -0.085000 0.805000 0.085000 ;
- RECT 0.635000 3.245000 0.805000 3.415000 ;
- RECT 1.115000 -0.085000 1.285000 0.085000 ;
- RECT 1.115000 3.245000 1.285000 3.415000 ;
- RECT 1.595000 -0.085000 1.765000 0.085000 ;
- RECT 1.595000 3.245000 1.765000 3.415000 ;
- END
-END sky130_fd_sc_ms__fill_diode_4
-END LIBRARY
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..4fc71ef 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,38 +19,34 @@
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_fd_sc_ms__fill_diode_4
- CLASS CORE SPACER ;
+ CLASS BLOCK ;
FOREIGN sky130_fd_sc_ms__fill_diode_4 ;
ORIGIN 0.000000 0.000000 ;
SIZE 1.920000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 1.920000 0.245000 ;
- END
- END VGND
PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
+ DIRECTION INPUT ;
PORT
LAYER pwell ;
RECT 0.000000 0.000000 1.920000 0.245000 ;
END
END VNB
PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
+ DIRECTION INPUT ;
PORT
LAYER nwell ;
RECT -0.190000 1.660000 2.110000 3.520000 ;
END
END VPB
+ PIN VGND
+ DIRECTION INPUT ;
+ USE GROUND ;
+ PORT
+ LAYER met1 ;
+ RECT 0.000000 -0.245000 1.920000 0.245000 ;
+ END
+ END VGND
PIN VPWR
- DIRECTION INOUT ;
+ DIRECTION INPUT ;
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
deleted file mode 100644
index cb3bb75..0000000
--- a/cells/fill_diode/sky130_fd_sc_ms__fill_diode_8.lef
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 2020 The SkyWater PDK Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-VERSION 5.5 ;
-NAMESCASESENSITIVE ON ;
-BUSBITCHARS "[]" ;
-DIVIDERCHAR "/" ;
-MACRO sky130_fd_sc_ms__fill_diode_8
- CLASS CORE SPACER ;
- SOURCE USER ;
- ORIGIN 0.000000 0.000000 ;
- SIZE 3.840000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 3.840000 0.245000 ;
- END
- END VGND
- PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 0.000000 0.250000 0.250000 ;
- END
- END VNB
- PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.080000 0.250000 3.330000 ;
- END
- END VPB
- PIN VPWR
- DIRECTION INOUT ;
- USE POWER ;
- PORT
- LAYER met1 ;
- RECT 0.000000 3.085000 3.840000 3.575000 ;
- END
- END VPWR
- OBS
- LAYER li1 ;
- RECT 0.000000 -0.085000 3.840000 0.085000 ;
- RECT 0.000000 3.245000 3.840000 3.415000 ;
- RECT 0.135000 0.085000 3.705000 0.580000 ;
- RECT 0.135000 2.750000 3.705000 3.245000 ;
- LAYER mcon ;
- RECT 0.155000 -0.085000 0.325000 0.085000 ;
- RECT 0.155000 3.245000 0.325000 3.415000 ;
- RECT 0.635000 -0.085000 0.805000 0.085000 ;
- RECT 0.635000 3.245000 0.805000 3.415000 ;
- RECT 1.115000 -0.085000 1.285000 0.085000 ;
- RECT 1.115000 3.245000 1.285000 3.415000 ;
- RECT 1.595000 -0.085000 1.765000 0.085000 ;
- RECT 1.595000 3.245000 1.765000 3.415000 ;
- RECT 2.075000 -0.085000 2.245000 0.085000 ;
- RECT 2.075000 3.245000 2.245000 3.415000 ;
- RECT 2.555000 -0.085000 2.725000 0.085000 ;
- RECT 2.555000 3.245000 2.725000 3.415000 ;
- RECT 3.035000 -0.085000 3.205000 0.085000 ;
- RECT 3.035000 3.245000 3.205000 3.415000 ;
- RECT 3.515000 -0.085000 3.685000 0.085000 ;
- RECT 3.515000 3.245000 3.685000 3.415000 ;
- END
-END sky130_fd_sc_ms__fill_diode_8
-END LIBRARY
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..2af700b 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,38 +19,34 @@
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_fd_sc_ms__fill_diode_8
- CLASS CORE SPACER ;
+ CLASS BLOCK ;
FOREIGN sky130_fd_sc_ms__fill_diode_8 ;
ORIGIN 0.000000 0.000000 ;
SIZE 3.840000 BY 3.330000 ;
- SYMMETRY X Y ;
- SITE unit ;
- PIN VGND
- DIRECTION INOUT ;
- USE GROUND ;
- PORT
- LAYER met1 ;
- RECT 0.000000 -0.245000 3.840000 0.245000 ;
- END
- END VGND
PIN VNB
- DIRECTION INOUT ;
- USE GROUND ;
+ DIRECTION INPUT ;
PORT
LAYER pwell ;
RECT 0.000000 0.000000 3.840000 0.245000 ;
END
END VNB
PIN VPB
- DIRECTION INOUT ;
- USE POWER ;
+ DIRECTION INPUT ;
PORT
LAYER nwell ;
RECT -0.190000 1.660000 4.030000 3.520000 ;
END
END VPB
+ PIN VGND
+ DIRECTION INPUT ;
+ USE GROUND ;
+ PORT
+ LAYER met1 ;
+ RECT 0.000000 -0.245000 3.840000 0.245000 ;
+ END
+ END VGND
PIN VPWR
- DIRECTION INOUT ;
+ DIRECTION INPUT ;
USE POWER ;
PORT
LAYER met1 ;