Skip to content

Commit

Permalink
Update for IO cells; contains critical fix for IOPadVdd
Browse files Browse the repository at this point in the history
* IOPadVdd: remove spurious diodes from netlist and update IOPadVdd
  internal connections in layout to fix reported problem.
  Previous layout did not have proper ESD on Vdd pin and also resulted in
  iovdd to iovss static current.
* Update performance simulation after fixing the diode model. Removes the
  NA values present in the result tables.
* Set LEF version to 5.7
* Fix indentation in dummy liberty file.

Signed-off-by: Staf Verhaegen <staf.verhaegen@chipflow.io>
  • Loading branch information
stafverhaegen-chipflow authored and FatsieFS committed May 13, 2024
1 parent 5d29b67 commit fb549f8
Show file tree
Hide file tree
Showing 8 changed files with 1,413 additions and 2,256 deletions.
2,348 changes: 1,032 additions & 1,316 deletions ihp-sg13g2/libs.ref/sg13g2_io/doc/DriveStrengthSim.html

Large diffs are not rendered by default.

1,227 changes: 319 additions & 908 deletions ihp-sg13g2/libs.ref/sg13g2_io/doc/InputPerformance.html

Large diffs are not rendered by default.

8 changes: 7 additions & 1 deletion ihp-sg13g2/libs.ref/sg13g2_io/doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ This is the sg13g2_io library. The following files are included in this library:
These files are generated from python scripts of the Chips4Makers based IHP SG13G2
PDK. The code can be found in the
[c4m-pdk-ihpsg13g2](https://gitlab.com/Chips4Makers/c4m-pdk-ihpsg13g2.git) repo.
This library is built from version `0.0.1` of that source code.
This library is built from version `0.0.3` of that source code.
The `README.md` file of this project explains how to use the code in there. The whole
build of the files plus preparation of the files described above for upstreaming can be
generated with the command `pdm doit patch4upstream`.

It also contains externally contributed files:

* cdl/sg13g2_iocell.cdl: CDL netlist
* verilog/sg13g2_io.v: verilog netlist
* liberty/sg13g2_iocell_*lib: liberty files with timing
Binary file modified ihp-sg13g2/libs.ref/sg13g2_io/gds/sg13g2_io.gds
Binary file not shown.
4 changes: 2 additions & 2 deletions ihp-sg13g2/libs.ref/sg13g2_io/lef/sg13g2_io.lef
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Autogenerated file; please don't edit
# date: 2024-02-13 10:23:51.125473
# date: 2024-05-13 13:33:05.137460

########################################################################
#
Expand All @@ -19,7 +19,7 @@
#
########################################################################

VERSION 5.8 ;
VERSION 5.7 ;

SITE sg13g2_ioSite
CLASS PAD ;
Expand Down
22 changes: 20 additions & 2 deletions ihp-sg13g2/libs.ref/sg13g2_io/lef/sg13g2_io_notracks.lef
Original file line number Diff line number Diff line change
@@ -1,7 +1,25 @@
# Autogenerated file; please don't edit
# date: 2024-02-13 10:24:29.452422
# date: 2024-05-13 13:33:15.410823

VERSION 5.8 ;
########################################################################
#
# Copyright 2024 IHP 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.
#
########################################################################

VERSION 5.7 ;

SITE sg13g2_ioSite
CLASS PAD ;
Expand Down
52 changes: 28 additions & 24 deletions ihp-sg13g2/libs.ref/sg13g2_io/liberty/sg13g2_io_dummy.lib
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ library (sg13g2_io_dummy) {
index_1 ("10, 200");
index_2 ("500, 30000");
}

cell (sg13g2_Corner) {
area : 32400.0
is_decap_cell : false;
Expand All @@ -97,7 +97,7 @@ library (sg13g2_io_dummy) {
cell_leakage_power : 0;
cell_footprint : "fill";
}

cell (sg13g2_Filler200) {
area : 180.0
is_decap_cell : false;
Expand Down Expand Up @@ -222,8 +222,8 @@ library (sg13g2_io_dummy) {
);
}
}
}
pin (pad) {
}
pin (pad) {
direction : input;
is_pad : true;
input_voltage : io_input;
Expand Down Expand Up @@ -308,11 +308,9 @@ library (sg13g2_io_dummy) {
"200, 200" \
);
}
}
}
}


}
}
}

cell (sg13g2_IOPadOut16mA) {
area: 14400;
Expand Down Expand Up @@ -385,8 +383,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }

}
}

cell (sg13g2_IOPadOut30mA) {
area: 14400;
Expand Down Expand Up @@ -459,7 +457,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }
}
}

cell (sg13g2_IOPadTriOut4mA) {
area: 14400;
Expand Down Expand Up @@ -603,7 +602,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }
}
}

cell (sg13g2_IOPadTriOut16mA) {
area: 14400;
Expand Down Expand Up @@ -747,7 +747,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }
}
}

cell (sg13g2_IOPadTriOut30mA) {
area: 14400;
Expand Down Expand Up @@ -891,7 +892,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }
}
}

cell (sg13g2_IOPadInOut4mA) {
area: 14400;
Expand Down Expand Up @@ -951,8 +953,8 @@ library (sg13g2_io_dummy) {
);
}
}
}
pin (c2p) {
}
pin (c2p) {
direction : input;
input_voltage : core_input;
related_ground_pin : vss;
Expand Down Expand Up @@ -1072,7 +1074,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }
}
}

cell (sg13g2_IOPadInOut16mA) {
area: 14400;
Expand Down Expand Up @@ -1132,8 +1135,8 @@ library (sg13g2_io_dummy) {
);
}
}
}
pin (c2p) {
}
pin (c2p) {
direction : input;
input_voltage : core_input;
related_ground_pin : vss;
Expand Down Expand Up @@ -1253,7 +1256,8 @@ library (sg13g2_io_dummy) {
);
}
}
} }
}
}

cell (sg13g2_IOPadInOut30mA) {
area: 14400;
Expand Down Expand Up @@ -1313,8 +1317,8 @@ library (sg13g2_io_dummy) {
);
}
}
}
pin (c2p) {
}
pin (c2p) {
direction : input;
input_voltage : core_input;
related_ground_pin : vss;
Expand Down Expand Up @@ -1434,8 +1438,8 @@ library (sg13g2_io_dummy) {
);
}
}
}
}
}

cell (sg13g2_IOPadIOVss) {
area: 14400;
Expand Down
8 changes: 5 additions & 3 deletions ihp-sg13g2/libs.ref/sg13g2_io/spice/sg13g2_io.spi
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
* sg13g2_io

* Autogenerated file; please don't edit
* date: 2024-05-06 15:00:13.438920

************************************************************************
*
* Copyright 2024 IHP PDK Authors
Expand All @@ -16,7 +21,6 @@
*
************************************************************************

* sg13g2_io

* sg13g2_io_tie
.subckt sg13g2_io_tie vdd vss
Expand Down Expand Up @@ -482,8 +486,6 @@ Xpmosguardring supply sg13g2_GuardRing_N9472W2216HTT
Xnclamp iovss iovdd vdd ngate sg13g2_Clamp_N43N43D4R
Xrcres vdd res_cap sg13g2_RCClampResistor
Xrcinv vdd iovss res_cap ngate sg13g2_RCClampInverter
Xdcndiode iovss vdd iovdd sg13g2_DCNDiode
Xdcpdiode vdd iovdd iovss sg13g2_DCPDiode
.ends sg13g2_IOPadVdd

* sg13g2_IOPadIn
Expand Down

0 comments on commit fb549f8

Please sign in to comment.