-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added a new custom cell for fill_12 in the sky130 HD standard cell li…
…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
1 parent
3ef601c
commit 320597e
Showing
4 changed files
with
153 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
79
sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__newfill_12.lef
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
71 changes: 71 additions & 0 deletions
71
sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__newfill_12.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |