Fix `LEF` views of EF cells * Correctly set the `CLASS` property to `CLASS CORE SPACER` instead of `CLASS BLOCK` * Set missing `SYMMETRY` property to `X Y R90` to match `fd_sc_hd` fill cells * Set missing `SITE` property to `unithd` * Created missing `sky130_ef_sc_hd__fill_4.v` * Remove `fakediode`: Maintaining it is no longer worth it
diff --git a/sky130/custom/sky130_fd_sc_hd/gds/sky130_ef_sc_hd__fakediode_2.gds b/sky130/custom/sky130_fd_sc_hd/gds/sky130_ef_sc_hd__fakediode_2.gds deleted file mode 100644 index 1f7642f..0000000 --- a/sky130/custom/sky130_fd_sc_hd/gds/sky130_ef_sc_hd__fakediode_2.gds +++ /dev/null Binary files differ
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef index 1667567..bb9215b 100644 --- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef +++ b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef
@@ -3,17 +3,12 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_ef_sc_hd__decap_12 - CLASS BLOCK ; + CLASS CORE SPACER ; FOREIGN sky130_ef_sc_hd__decap_12 ; ORIGIN 0.000 0.000 ; SIZE 5.520 BY 2.720 ; - PIN VGND - USE GROUND ; - PORT - LAYER met1 ; - RECT 0.000 -0.240 5.520 0.240 ; - END - END VGND + SYMMETRY X Y R90 ; + SITE unithd ; PIN VPWR USE POWER ; PORT @@ -21,6 +16,13 @@ RECT 0.000 2.480 5.520 2.960 ; END END VPWR + PIN VGND + USE GROUND ; + PORT + LAYER met1 ; + RECT 0.000 -0.240 5.520 0.240 ; + END + END VGND PIN VPB DIRECTION INOUT ; USE POWER ;
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fakediode_2.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fakediode_2.lef deleted file mode 100644 index 5639f2b..0000000 --- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fakediode_2.lef +++ /dev/null
@@ -1,59 +0,0 @@ -VERSION 5.7 ; - NOWIREEXTENSIONATPIN ON ; - DIVIDERCHAR "/" ; - BUSBITCHARS "[]" ; -MACRO sky130_ef_sc_hd__fakediode_2 - CLASS BLOCK ; - FOREIGN sky130_ef_sc_hd__fakediode_2 ; - ORIGIN 0.000 0.000 ; - SIZE 0.920 BY 2.720 ; - PIN DIODE - PORT - LAYER li1 ; - RECT 0.085 0.255 0.835 2.465 ; - END - END DIODE - PIN VGND - USE GROUND ; - PORT - LAYER met1 ; - RECT 0.000 -0.240 0.920 0.240 ; - END - END VGND - PIN VPWR - USE POWER ; - PORT - LAYER met1 ; - RECT 0.000 2.480 0.920 2.960 ; - END - END VPWR - PIN VPB - DIRECTION INOUT ; - USE POWER ; - PORT - LAYER nwell ; - RECT -0.190 1.305 1.110 2.910 ; - END - END VPB - PIN VNB - DIRECTION INOUT ; - USE GROUND ; - PORT - LAYER pwell ; - RECT 0.025 0.065 0.915 1.015 ; - RECT 0.145 -0.085 0.315 0.065 ; - END - END VNB - OBS - LAYER li1 ; - RECT 0.000 2.635 0.920 2.805 ; - RECT 0.000 -0.085 0.920 0.085 ; - LAYER mcon ; - RECT 0.145 2.635 0.315 2.805 ; - RECT 0.605 2.635 0.775 2.805 ; - RECT 0.145 -0.085 0.315 0.085 ; - RECT 0.605 -0.085 0.775 0.085 ; - END -END sky130_ef_sc_hd__fakediode_2 -END LIBRARY -
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef index e96e434..e171847 100644 --- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef +++ b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef
@@ -3,10 +3,12 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_ef_sc_hd__fill_12 - CLASS BLOCK ; + CLASS CORE SPACER ; FOREIGN sky130_ef_sc_hd__fill_12 ; ORIGIN 0.000 0.000 ; SIZE 5.520 BY 2.720 ; + SYMMETRY X Y R90 ; + SITE unithd ; PIN VPWR USE POWER ; PORT
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_4.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_4.lef index 7233a72..490d182 100644 --- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_4.lef +++ b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_4.lef
@@ -3,17 +3,12 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_ef_sc_hd__fill_4 - CLASS BLOCK ; + CLASS CORE SPACER ; FOREIGN sky130_ef_sc_hd__fill_4 ; ORIGIN 0.000 0.000 ; SIZE 1.840 BY 2.720 ; - PIN VGND - USE GROUND ; - PORT - LAYER met1 ; - RECT 0.000 -0.240 1.840 0.240 ; - END - END VGND + SYMMETRY X Y R90 ; + SITE unithd ; PIN VPWR USE POWER ; PORT @@ -21,6 +16,13 @@ RECT 0.000 2.480 1.840 2.960 ; END END VPWR + PIN VGND + USE GROUND ; + PORT + LAYER met1 ; + RECT 0.000 -0.240 1.840 0.240 ; + END + END VGND PIN VPB DIRECTION INOUT ; USE POWER ;
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_8.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_8.lef index 7ab7413..d3d95f4 100644 --- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_8.lef +++ b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_8.lef
@@ -3,17 +3,12 @@ DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; MACRO sky130_ef_sc_hd__fill_8 - CLASS BLOCK ; + CLASS CORE SPACER ; FOREIGN sky130_ef_sc_hd__fill_8 ; ORIGIN 0.000 0.000 ; SIZE 3.680 BY 2.720 ; - PIN VGND - USE GROUND ; - PORT - LAYER met1 ; - RECT 0.000 -0.240 3.680 0.240 ; - END - END VGND + SYMMETRY X Y R90 ; + SITE unithd ; PIN VPWR USE POWER ; PORT @@ -21,6 +16,13 @@ RECT 0.000 2.480 3.680 2.960 ; END END VPWR + PIN VGND + USE GROUND ; + PORT + LAYER met1 ; + RECT 0.000 -0.240 3.680 0.240 ; + END + END VGND PIN VPB DIRECTION INOUT ; USE POWER ;
diff --git a/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__fakediode_2.v b/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__fakediode_2.v deleted file mode 100644 index f510454..0000000 --- a/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__fakediode_2.v +++ /dev/null
@@ -1,87 +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 - */ - -`ifndef SKY130_EF_SC_HD__FAKEDIODE_2_V -`define SKY130_EF_SC_HD__FAKEDIODE_2_V - -/** - * fakediode: Antenna tie-down diode with no connection between the DIODE - * pin and the diode. This is just the sky130_fd_sc_hd__diode_2 cell with - * the contacts removed between the diode and the pin. It is used by the - * openlane synthesis flow to preemptively put antenna tie-downs close to - * every pin without making a connection. If the net needs an antenna - * tiedown, the fakediode cell can be replaced by the real diode cell. - * - * Verilog wrapper for diode with size of 2 units. Because the diode - * has no function in verilog, there is no difference between the verilog - * definitions of the diode and fake diode other than the cell name. - * - */ - -`timescale 1ns / 1ps -`default_nettype none - - -`ifdef USE_POWER_PINS -/*********************************************************/ - -`celldefine -module sky130_ef_sc_hd__fakediode_2 ( - DIODE, - VPWR , - VGND , - VPB , - VNB -); - - // Module ports - input DIODE; - input VPWR ; - input VGND ; - input VPB ; - input VNB ; - // No contents. -endmodule -`endcelldefine - -/*********************************************************/ -`else // If not USE_POWER_PINS -/*********************************************************/ - -`celldefine -module sky130_ef_sc_hd__fakediode_2 ( - DIODE -); - - // Module ports - input DIODE; - - // Voltage supply signals - supply1 VPWR; - supply0 VGND; - supply1 VPB ; - supply0 VNB ; - // No contents. -endmodule -`endcelldefine - -/*********************************************************/ -`endif // USE_POWER_PINS - -`default_nettype wire -`endif // SKY130_EF_SC_HD__FAKEDIODE_2_V
diff --git a/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__fill_4.v b/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__fill_4.v new file mode 100644 index 0000000..e66b3e5 --- /dev/null +++ b/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__fill_4.v
@@ -0,0 +1,73 @@ +/** + * 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 + */ + +`ifndef SKY130_EF_SC_HD__FILL_4_V +`define SKY130_EF_SC_HD__FILL_4_V + +/** + * fill: Fill cell. + * + * Verilog wrapper for fill with size of 4 units. + * + * WARNING: This file is autogenerated, do not modify directly! + */ + +`timescale 1ns / 1ps +`default_nettype none + +`ifdef USE_POWER_PINS +/*********************************************************/ + +`celldefine +module sky130_ef_sc_hd__fill_4 ( + VPWR, + VGND, + VPB , + VNB +); + + // Module ports + input VPWR; + input VGND; + input VPB ; + input VNB ; + // No contents. +endmodule +`endcelldefine + +/*********************************************************/ +`else // If not USE_POWER_PINS +/*********************************************************/ + +`celldefine +module sky130_ef_sc_hd__fill_4 (); + + // Voltage supply signals + supply1 VPWR; + supply0 VGND; + supply1 VPB ; + supply0 VNB ; + // No contents. +endmodule +`endcelldefine + +/*********************************************************/ +`endif // USE_POWER_PINS + +`default_nettype wire +`endif // SKY130_EF_SC_HD__FILL_4_V