Skip to content

Commit

Permalink
Significant improvements to primitives sky130_fd_pr version 0.20.1.
Browse files Browse the repository at this point in the history
This commit contains major improvements to all files by regenerating
from original data, improving consistency and automated cross checking
of data.

These improvements should drastically reduce customer confusion when
using the library and further reduce future possibility for human errors to
creep into designs.

Notable improvements include;

 * A large number of files have been regenerated from original source
   data (compared to previous hand created versions).

 * Catalog and other library aggregations are now automatically
   generated from library contents (compared to previous hand created
   versions).

 * Significant improvements to documentation for all cells and models,
   including producing graphical representations, verified metadata and
   descriptions.

 * Names have been cross referenced between file types (such as
   simulation, layout, schematic and timing) and now verified to match.

 * Names have been improved to fix a standard format across all supported
   libraries and PDK contents.

 * Significant improvements to the contents of text files through improving
   consistent style that has been automatically checked.

 * Simplified spice files for usage with open tools.

 * Too many numerous other changes to list here.

Signed-off-by: Kevin Kelley <kevin.kelley@skywatertechnology.com>
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
  • Loading branch information
kevink78 authored and mithro committed Sep 14, 2020
1 parent 6d4ff0d commit d717cd4
Show file tree
Hide file tree
Showing 1,472 changed files with 6,681,492 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
* MiM capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.lib "../../../models/sky130.lib.spice" tt

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 sky130_fd_pr__cap_mim_m3_1 W=1 L=1 MF=1
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
13 changes: 13 additions & 0 deletions cells/cap_mim_m3/tests/sky130_fd_pr__cap_mim_m3_1_results.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_mim_m3_1 2.642250e-15"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_mim_m3_1"
],
"reasons": {
"sky130_fd_pr__cap_mim_m3_1": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
* MiM capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.lib "../../../models/sky130.lib.spice" tt

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 sky130_fd_pr__cap_mim_m3_2 W=1 L=1 MF=1
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
13 changes: 13 additions & 0 deletions cells/cap_mim_m3/tests/sky130_fd_pr__cap_mim_m3_2_results.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_mim_m3_2 2.642250e-15"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_mim_m3_2"
],
"reasons": {
"sky130_fd_pr__cap_mim_m3_2": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
* Capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.include "../../../models/r+c/res_typical__cap_typical__lin.spice"
.include "../../../models/r+c/res_typical__cap_typical.spice"
.include "../../../models/corners/tt/nonfet.spice"
.include "../../../models/capacitors/sky130_fd_pr__model__cap_var.model.spice"

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 0 sky130_fd_pr__cap_var_hvt
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
13 changes: 13 additions & 0 deletions cells/cap_var_hvt/tests/sky130_fd_pr__cap_var_hvt_results.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_var_hvt 1.004307e-15"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_var_hvt"
],
"reasons": {
"sky130_fd_pr__cap_var_hvt": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
* Capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.include "../../../models/r+c/res_typical__cap_typical__lin.spice"
.include "../../../models/r+c/res_typical__cap_typical.spice"
.include "../../../models/corners/tt/nonfet.spice"
.include "../../../models/capacitors/sky130_fd_pr__model__cap_var.model.spice"

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 0 sky130_fd_pr__cap_var_lvt
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
13 changes: 13 additions & 0 deletions cells/cap_var_lvt/tests/sky130_fd_pr__cap_var_lvt_results.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_var_lvt 1.605530e-15"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_var_lvt"
],
"reasons": {
"sky130_fd_pr__cap_var_lvt": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
* Capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.include "../../../models/r+c/res_typical__cap_typical__lin.spice"
.include "../../../models/r+c/res_typical__cap_typical.spice"
.include "../../../models/capacitors/sky130_fd_pr__model__cap_vpp.model.spice"

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 0 sky130_fd_pr__cap_vpp_01p8x01p8_m1m2_noshield
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_vpp_01p8x01p8_m1m2_noshield 7.937673e-16"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_vpp_01p8x01p8_m1m2_noshield"
],
"reasons": {
"sky130_fd_pr__cap_vpp_01p8x01p8_m1m2_noshield": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
* Capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.include "../../../models/r+c/res_typical__cap_typical__lin.spice"
.include "../../../models/r+c/res_typical__cap_typical.spice"
.include "../../../models/capacitors/sky130_fd_pr__model__cap_vpp.model.spice"

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 0 sky130_fd_pr__cap_vpp_02p4x04p6_m1m2_noshield
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_vpp_02p4x04p6_m1m2_noshield 4.627022e-15"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_vpp_02p4x04p6_m1m2_noshield"
],
"reasons": {
"sky130_fd_pr__cap_vpp_02p4x04p6_m1m2_noshield": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
* Capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.lib "../../../models/sky130.lib.spice" tt

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 0 sky130_fd_pr__cap_vpp_02p7x06p1_m1m2m3m4_shieldl1_fingercap
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_vpp_02p7x06p1_m1m2m3m4_shieldl1_fingercap 1.254943e-14"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_vpp_02p7x06p1_m1m2m3m4_shieldl1_fingercap"
],
"reasons": {
"sky130_fd_pr__cap_vpp_02p7x06p1_m1m2m3m4_shieldl1_fingercap": "Success"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
* Capacitor value test
.param TEMP=27

* Include SkyWater sky130 device models
.lib "../../../models/sky130.lib.spice" tt

.param freq = 1Meg
.csparam freq = {freq}

* Resistor bridge with capacitance
V1 N2 0 1.8
IAC N3 N4 dc 0 ac 1

X1 N3 N4 0 sky130_fd_pr__cap_vpp_02p7x11p1_m1m2m3m4_shieldl1_fingercap
* C34 N3 N4 50E-15

R1 N3 0 1.1Meg
R2 N4 0 1.2Meg
R3 N2 N3 1.3Meg
R4 N2 N4 1.4Meg

.ac lin 1 {freq} {freq}
.control
run
echo capacitance
print imag(1/v(N4,N3))/2/PI/freq
quit
.endc

.end
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"baseline_entries": [
"sky130_fd_pr__cap_vpp_02p7x11p1_m1m2m3m4_shieldl1_fingercap 2.398758e-14"
],
"fails": [],
"ignores": [],
"passes": [
"sky130_fd_pr__cap_vpp_02p7x11p1_m1m2m3m4_shieldl1_fingercap"
],
"reasons": {
"sky130_fd_pr__cap_vpp_02p7x11p1_m1m2m3m4_shieldl1_fingercap": "Success"
}
}
Loading

0 comments on commit d717cd4

Please sign in to comment.