Skip to content

Commit

Permalink
Added a new custom cell for fill_12 in the sky130 HD standard cell li…
Browse files Browse the repository at this point in the history
…brary that

can be used to replace decap_12 cells to reduce the amount of poly in a standard
cell layout to conform to the new and tighter poly layer density of 38%.
  • Loading branch information
RTimothyEdwards committed Sep 17, 2024
1 parent 3ef601c commit 320597e
Show file tree
Hide file tree
Showing 4 changed files with 153 additions and 1 deletion.
4 changes: 3 additions & 1 deletion sky130/custom/sky130_fd_sc_hd/Readme.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
These decap cells were redesigned to cut back on its use of the LI layer because the corresponding SkyWater cell was covered in something like 70-80% LI, and using enough of the decap in any one design would cause an LI density error.

The fill cells were redesigned to add tap diffusion in the middle because otherwise the spacing of the nwells and the height of the cells prevents FOM fill, resulting in a different density error.
The fill cells were redesigned to add tap diffusion in the middle because otherwise the spacing of the nwells and the height of the cells prevents FOM fill, resulting in a different density error.

Cell "newfill_12" was added to satisfy the change in the poly density rule to 38%; this cell is effectively the decap_12 cell with the poly removed, rendering it a fill cell. Its use is to replace some percentage of decap_12 cells until the maximum poly density rule is satisfied.
Binary file not shown.
79 changes: 79 additions & 0 deletions sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__newfill_12.lef
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
VERSION 5.7 ;
NOWIREEXTENSIONATPIN ON ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_ef_sc_hd__newfill_12
CLASS CORE SPACER ;
FOREIGN sky130_ef_sc_hd__newfill_12 ;
ORIGIN 0.000 0.000 ;
SIZE 5.520 BY 2.720 ;
SYMMETRY X Y R90 ;
SITE unithd ;
PIN VPWR
USE POWER ;
PORT
LAYER met1 ;
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 ;
PORT
LAYER nwell ;
RECT -0.190 1.305 5.710 2.910 ;
END
END VPB
PIN VNB
DIRECTION INOUT ;
USE GROUND ;
PORT
LAYER pwell ;
RECT 0.005 0.105 5.515 0.915 ;
RECT 0.145 -0.085 0.315 0.105 ;
END
END VNB
OBS
LAYER li1 ;
RECT 0.000 2.635 5.520 2.805 ;
RECT 0.085 2.200 5.430 2.635 ;
RECT 1.670 0.630 2.010 1.460 ;
RECT 3.490 0.950 3.840 2.200 ;
RECT 0.085 0.085 5.430 0.630 ;
RECT 0.000 -0.085 5.520 0.085 ;
LAYER mcon ;
RECT 0.145 2.635 0.315 2.805 ;
RECT 0.605 2.635 0.775 2.805 ;
RECT 1.065 2.635 1.235 2.805 ;
RECT 1.525 2.635 1.695 2.805 ;
RECT 1.985 2.635 2.155 2.805 ;
RECT 2.445 2.635 2.615 2.805 ;
RECT 2.905 2.635 3.075 2.805 ;
RECT 3.365 2.635 3.535 2.805 ;
RECT 3.825 2.635 3.995 2.805 ;
RECT 4.285 2.635 4.455 2.805 ;
RECT 4.745 2.635 4.915 2.805 ;
RECT 5.205 2.635 5.375 2.805 ;
RECT 0.145 -0.085 0.315 0.085 ;
RECT 0.605 -0.085 0.775 0.085 ;
RECT 1.065 -0.085 1.235 0.085 ;
RECT 1.525 -0.085 1.695 0.085 ;
RECT 1.985 -0.085 2.155 0.085 ;
RECT 2.445 -0.085 2.615 0.085 ;
RECT 2.905 -0.085 3.075 0.085 ;
RECT 3.365 -0.085 3.535 0.085 ;
RECT 3.825 -0.085 3.995 0.085 ;
RECT 4.285 -0.085 4.455 0.085 ;
RECT 4.745 -0.085 4.915 0.085 ;
RECT 5.205 -0.085 5.375 0.085 ;
END
END sky130_ef_sc_hd__newfill_12
END LIBRARY

Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/**
* 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__NEWFILL_12_V
`define SKY130_EF_SC_HD__NEWFILL_12_V

/**
* newfill_12: Designed to replace the decap_12 cell while reducing
* the amount of local interconnect and satisfying the more restrictive
* poly density rule of 38%.
*/

`timescale 1ns / 1ps
`default_nettype none


`ifdef USE_POWER_PINS
/*********************************************************/

`celldefine
module sky130_ef_sc_hd__newfill_12 (
VPWR,
VGND,
VPB ,
VNB
);

input VPWR;
input VGND;
input VPB ;
input VNB ;
// No contents.
endmodule
`endcelldefine

/*********************************************************/
`else // If not USE_POWER_PINS
/*********************************************************/

`celldefine
module sky130_ef_sc_hd__newfill_12 ();

// 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__NEWFILL_12_V

0 comments on commit 320597e

Please sign in to comment.