blob: f6d8a6f50c28fb19ace5f99fb78c614088c42233 [file] [log] [blame]
%! PostScript set of library objects for XCircuit
% Version: 3.10
% Library name is: sky130_fd_pr
% Author: <tim@stravinsky>
%
% Depend sky130_fd_pr::NPNModel generic::arrowhead
% Depend sky130_fd_pr::PNPModel generic::arrowhead
% XCircuitLib library objects
/sky130_fd_pr::pMOS3term {
<</@mult 1 /@model (pfet_01v8)
(lindex {pfet_01v8 pfet_01v8_lvt pfet_01v8_hvt} 0) pop /@subs (avdd) /p_yps2 48 /p_xps2
16 /p_yps1 0 /p_xps1 16 /p_yps 16 /p_xps 16 /p_rot 0 /@fingers (1) /@class
(X) /@width (1) /@length (0.18) /@index (?) /p_jst 28 >> begingate
1 1.000 -44 -28 -44 28 2 polygon
1 1.000 -60 0 -64 0 2 polygon
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -52 0 8 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(S) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(D) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @fingers ( nf=) @length ( l=) @width ( w=)
@model ( sky130_fd_pr__) @subs ( %pD %pG %pS ) @index @class (spice:)
{/Times-Roman cf} ctmk 4 360.000 1.000 -196 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -196 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers (NF=) {CR} @mult {hS} (=) {hS} (M) {CR} @length (=) {Tf} (L) {hS}
{CR} @width (=) {Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1
label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
sce
mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps p_yps label
endgate
} def
/sky130_fd_pr::pMOS4term {
<</p_jst 28 /@index (?) /@length (0.18) /@width (1) /@class (X) /@fingers (1) /p_rot
0 /p_xps 16 /p_yps 16 /p_xps1 16 /p_yps1 -16 /p_xps2 16 /p_yps2 48 /@model
(pfet_01v8) (lindex {pfet_01v8 pfet_01v8_lvt pfet_01v8_hvt} 0) pop /@mult
1 >> begingate
1 1.000 -44 -28 -44 28 2 polygon
1 1.000 -60 0 -64 0 2 polygon
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -52 0 8 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(S) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(D) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @fingers ( nf=) @length ( l=) @width ( w=)
@model ( %pD %pG %pS %pB sky130_fd_pr__) @index @class (spice:)
{/Times-Roman cf} ctmk 4 360.000 1.000 -196 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -196 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers {hS} (=) {Tf} (NF) {CR} @mult {hS} (=) {Tf} (M) {CR} @length {hS}
(=) {Tf} (L) {hS} {CR} @width {hS} (=) {Ts} {hS} (W ) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
sce
mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps p_yps label
1 1.000 -32 0 32 0 2 polygon
1.000 0.000 0.000 scb
(B) {/Times-Roman cf} 2 4 0.000 1.000 32 0 pinlabel
endgate
} def
/sky130_fd_pr::nMOS3term {
<</@subs (agnd) /p_yps2 -16 /p_xps2 16 /p_yps1 8 /p_xps1 16 /p_yps 40 /p_xps 16 /p_rot
0 /@fingers (1) /@class (X) /@width (1) /@length (0.18) /@mult 1 /@model
(nfet_01v8) (lindex {nfet_01v8 nfet_01v8_lvt nfet_01v8_hvt} 0) pop /@index (?) /p_jst
28 >> begingate
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -44 -28 -44 28 2 polygon
1 1.000 -44 0 -64 0 2 polygon
1.000 0.000 0.000 scb
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
(S) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(D) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @fingers ( m=) @length ( l=) @width ( w=) @model
( sky130_fd_pr__) @subs ( %pD %pG %pS ) @index @class (spice:)
{/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers (=) {Tf} {Tf} (M) {CR} @length (=) {Tf} (L) {hS} {CR} @width (=)
{Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label
endgate
} def
/sky130_fd_pr::nMOS4term {
<</p_jst 28 /@index (?) /@model (nfet_01v8)
(lindex {nfet_01v8 nfet_01v8_lvt nfet_01v8_hvt} 0) pop /@mult 1 /@length (0.18) /@width
(1) /@class (X) /@fingers (1) /p_rot 0 /p_xps 16 /p_yps 40 /p_xps1 16 /p_yps1
24 /p_xps2 16 /p_yps2 -16 >> begingate
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -44 -28 -44 28 2 polygon
1 1.000 -44 0 -64 0 2 polygon
1.000 0.000 0.000 scb
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
(S) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(D) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @fingers ( m=) @fingers ( nf=) @length ( l=) @width ( w=)
@model ( %pD %pG %pS %pB sky130_fd_pr__) @index @class (spice:)
{/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers {hS} (=) {Tf} (NF) {CR} @fingers {hS} (=) {Tf} {Tf} (M) {CR}
@length {hS} (=) {Tf} (L) {hS} {CR} @width {hS} (=) {Ts} {hS} (W )
{/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label
1 1.000 -32 0 32 0 2 polygon
1.000 0.000 0.000 scb
(B) {/Times-Roman cf} 2 4 0.000 1.000 32 0 pinlabel
endgate
} def
/sky130_fd_pr::hvnMOS3term {
<</p_jst 28 /@index (?) /@mult 1 /@length (0.50) /@width (1) /@class (X) /@fingers
(1) /p_rot 0 /p_xps 16 /p_yps 40 /p_xps1 16 /p_yps1 8 /p_xps2 16 /p_yps2
-16 /@subs (agnd) >> begingate
0.800 0.800 0.800 scb
496 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
sce
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -44 0 -64 0 2 polygon
1.000 0.000 0.000 scb
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
(S) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(D) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @fingers ( m=) @length ( l=) @width
( sky130_fd_pr__nfet_g5v0d10v5 w=) @subs ( %pD %pG %pS ) @index @class (spice:)
{/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers (=) {Tf} {Tf} (M) {CR} @length (=) {Tf} (L) {hS} {CR} @width (=)
{Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
(nfet_g5v0d10v5) {/Times-RomanISO cf} 2 20 p_rot 0.700 p_xps1 p_yps1 label
0 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
endgate
} def
/sky130_fd_pr::hvnMOS4term {
<</p_yps2 -16 /p_xps2 16 /p_yps1 24 /p_xps1 16 /p_yps 40 /p_xps 16 /p_rot 0 /@fingers
(1) /@class (X) /@width (1) /@length (0.50) /@mult 1 /@index (?) /p_jst
28 >> begingate
0.800 0.800 0.800 scb
496 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
sce
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -44 0 -64 0 2 polygon
1.000 0.000 0.000 scb
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
(S) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(D) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @fingers ( m=) @fingers ( nf=) @length ( l=) @width
( %pD %pG %pS %pB sky130_fd_pr__nfet_g5v0d10v5 w=) @index @class (spice:)
{/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers {hS} (=) {Tf} (NF) {CR} @fingers {hS} (=) {Tf} {Tf} (M) {CR}
@length {hS} (=) {Tf} (L) {hS} {CR} @width {hS} (=) {Ts} {hS} (W )
{/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps p_yps label
sce
1 1.000 -32 0 32 0 2 polygon
1.000 0.000 0.000 scb
(B) {/Times-Roman cf} 2 4 0.000 1.000 32 0 pinlabel
sce
0 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
(nfet_g5v0d10v5) {/Times-RomanISO cf} 2 20 p_rot 0.700 p_xps1 p_yps1 label
endgate
} def
/sky130_fd_pr::hvpMOS3term {
<</p_jst 28 /@index (?) /@length (0.50) /@width (1) /@class (X) /@fingers (1) /p_rot
0 /p_xps 16 /p_yps 16 /p_xps1 16 /p_yps1 0 /p_xps2 16 /p_yps2 48 /@subs
(avdd) /@mult 1 >> begingate
0.800 0.800 0.800 scb
496 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
sce
1 1.000 -60 0 -64 0 2 polygon
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -52 0 8 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(S) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(D) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @fingers ( nf=) @length ( l=) @width
( sky130_fd_pr__pfet_g5v0d10v5 w=) @subs ( %pD %pG %pS ) @index @class (spice:)
{/Times-Roman cf} ctmk 4 360.000 1.000 -196 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -196 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers (NF=) {CR} @mult {hS} (=) {hS} (M) {CR} @length (=) {Tf} (L) {hS}
{CR} @width (=) {Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1
label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
sce
(pfet_g5v0d10v5) {/Times-RomanISO cf} 2 16 p_rot 0.700 p_xps p_yps label
0 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
endgate
} def
/sky130_fd_pr::hvpMOS4term {
<</@mult 1 /p_yps2 48 /p_xps2 16 /p_yps1 -16 /p_xps1 16 /p_yps 16 /p_xps 16 /p_rot
0 /@fingers (1) /@class (X) /@width (1) /@length (0.50) /@index (?) /p_jst
28 >> begingate
0.800 0.800 0.800 scb
496 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
sce
1 1.000 -60 0 -64 0 2 polygon
1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
1 1.000 -52 0 8 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(S) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(D) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @fingers ( nf=) @length ( l=) @width
( %pD %pG %pS %pB sky130_fd_pr__pfet_g5v0d10v5 w=) @index @class (spice:)
{/Times-Roman cf} ctmk 4 360.000 1.000 -196 -139 infolabel
mark ( %x %y) @width ( ) @length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4
0.000 1.000 -196 -187 infolabel
0.647 0.165 0.165 scb
mark @fingers {hS} (=) {Tf} (NF) {CR} @mult {hS} (=) {Tf} (M) {CR} @length {hS}
(=) {Tf} (L) {hS} {CR} @width {hS} (=) {Ts} {hS} (W ) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
sce
(pfet_g5v0d10v5) {/Times-RomanISO cf} 2 16 p_rot 0.700 p_xps p_yps label
1 1.000 -32 0 32 0 2 polygon
1.000 0.000 0.000 scb
(B) {/Times-Roman cf} 2 4 0.000 1.000 32 0 pinlabel
sce
0 1.000 -44 -28 -44 28 -38 28 -38 -28 4 polygon
endgate
} def
/generic::arrowhead {
% nonetwork
begingate
8 -28 beginpath
3 -18 3 -15 0 0 curveto
-3 -15 -3 -18 -8 -28 curveto
-2 -26 2 -26 8 -28 curveto
249
1.000 endpath
endgate
} def
/sky130_fd_pr::NPNModel {
<</@mult 1 /@subs (agnd) /p_yps2 56 /p_xps2 16 /p_yps1 0 /p_xps1 16 /p_yps 24 /p_xps
16 /p_rot 0 /@model (rf_npn_05v5_W1p00L1p00)
(lindex {rf_npn_05v5_W1p00L1p00 rf_npn_05v5_W1p00L2p00 rf_npn_11v0_W1p00L1p00} 0) pop /@index
(?) /@class (X) >> begingate
1 1.000 -48 0 -64 0 2 polygon
1 1.000 -48 48 -48 -48 2 polygon
1 1.000 0 48 -48 22 2 polygon
1 1.000 0 48 0 64 2 polygon
1 1.000 0 -48 -48 -22 2 polygon
1 1.000 0 -48 0 -64 2 polygon
1.000 120.000 0 -48 generic::arrowhead
1.000 0.000 0.000 scb
(C) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
(E) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @model ( sky130_fd_pr__) @subs ( %pC %pB %pE )
@index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
(sim:b %pB %pE %pC) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
sce
mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @mult {Tf} (=) {Tf} (M) {/Times-Roman cf} ctmk 28 p_rot 0.700 p_xps1
p_yps1 label
endgate
} def
/sky130_fd_pr::PNPModel {
<</@mult 1 /@class (X) /@index (?) /@model (rf_pnp_05v5_W0p68L0p68)
(lindex {rf_pnp_05v5_W0p68L0p68 rf_pnp_05v5_W3p40L3p40} 0) pop /p_rot 0 /p_xps
16 /p_yps 24 /p_xps1 16 /p_yps1 0 /p_xps2 16 /p_yps2 56 /@subs (agnd) >> begingate
1 1.000 -48 0 -64 0 2 polygon
1 1.000 -48 48 -48 -48 2 polygon
1 1.000 0 48 -48 22 2 polygon
1 1.000 0 48 0 64 2 polygon
1 1.000 0 -48 -48 -22 2 polygon
1 1.000 0 -48 0 -64 2 polygon
1.000 241.557 -48 22 generic::arrowhead
1.000 0.000 0.000 scb
(C) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
(E) {/Times-Roman cf} 2 1 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @model ( sky130_fd_pr__) @subs ( %pC %pB %pE )
@index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
(sim:b %pB %pE %pC) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
sce
mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @mult {Tf} (=) {Tf} (M) {/Times-Roman cf} ctmk 28 p_rot 0.700 p_xps1
p_yps1 label
endgate
} def
/sky130_fd_pr::HighResModel {
<</@subs (avdd) /@length (1) /p_yps2 16 /p_xps2 32 /@model (res_high_po_0p35)
(lindex {res_high_po_0p35 res_high_po_0p69 res_high_po_1p41 res_high_po_2p85 res_high_po_5p73} 0) pop /p_yps1
-32 /p_xps1 32 /p_yps 48 /p_xps 32 /p_rot 0 /@class (X) /@value (5.714)
(get_xres_value @length @model) pop /@index (?) /p_jst 20 >> begingate
1 1.000 0 64 0 36 2 polygon
1 1.000 0 -64 0 -36 2 polygon
1 1.000 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
1.000 0.000 0.000 scb
(r1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(r0) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @length (k l=) @value ( r=) @model ( sky130_fd_pr__) @subs ( %pr0 %pr1 )
@index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -208 -160 infolabel
(sim:r %pr0 %pr1) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel
0.647 0.165 0.165 scb
mark (\265m) {/Times-RomanISO cf} @length (= ) {Tf} (L) {CR} {/Times-Roman cf}
(W) {/Symbol cf} (k) {hS} @value {hS} (=) {Ts} (R ) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label
endgate
} def
/sky130_fd_pr::MiMCap {
<</@mult 1 /@model (m3_1) (lindex {m3_1 m3_2} 0) pop /@length (2) /@width (2) /p_yps2
-24 /p_xps2 48 /p_yps1 8 /p_xps1 48 /p_yps 72 /p_xps 48 /p_rot 0 /@class
(X) /@value (1) (get_mim_value @length @width @mult) pop /@index (?) /p_jst
20 >> begingate
1 1.000 0 -64 0 -6 2 polygon
1 1.000 0 64 0 6 2 polygon
1 1.000 -32 6 32 6 2 polygon
1.000 0.000 0.000 scb
(c1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(c0) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @width ( w=) @length (f l=) @value ( c=) @model
( %pc0 %pc1 sky130_fd_pr__cap_mim_) @index @class (spice:) {/Times-Roman cf}
ctmk 4 0.000 1.000 -208 -160 infolabel
(sim:c %pc0 %pc1) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel
0.647 0.165 0.165 scb
mark (fF) {hS} @value {hS} (=) {Ts} {hS} ( ) {Tf} (C) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @mult {Tf} (=) {Tf} (M) {CR} (\265m) {/Times-RomanISO cf} @length {Tf} (=)
{Tf} (L) {CR} (\265m) {/Times-RomanISO cf} @width {Ts} {hS} (=) {Ts} {hS} (W)
{/Times-RomanISO cf} ctmk 28 p_rot 0.700 p_xps2 p_yps2 label
sce
1 1.000 0 -80 74 66.000 114.000 xcarc
mark @model {/Times-Roman cf} ctmk 16 p_rot 0.700 32 32 label
endgate
} def
/sky130_fd_pr::VPPCap2term {
<</@sub (gnd) /p_jst 20 /@index (?) /@value (4.627)
(get_vpp_noshield_val @model @mult) pop /@class (X) /p_rot 0 /p_xps 48 /p_yps
48 /p_xps1 48 /p_yps1 -16 /p_xps2 48 /p_yps2 -40 /@model
(02p4x04p6_m1m2_noshield)
(lindex { 02p4x04p6_m1m2_noshield 02p7x06p1_m1m2m3m4_shieldl1_fingercap 02p7x11p1_m1m2m3m4_shieldl1_fingercap 02p7x21p1_m1m2m3m4_shieldl1_fingercap 02p7x41p1_m1m2m3m4_shieldl1_fingercap 02p9x06p1_m1m2m3m4_shieldl1_fingercap2 04p4x04p6_l1m1m2_noshield 04p4x04p6_m1m2_noshield 04p4x04p6_m1m2_noshield_o2 04p4x04p6_m1m2_shieldl1 04p4x04p6_m1m2m3_shieldl1 08p6x07p8_l1m1m2_noshield 08p6x07p8_m1m2_noshield 08p6x07p8_m1m2_shieldl1 08p6x07p8_m1m2m3_shieldl1 11p3x11p3_m1m2m3m4_shieldl1_wafflecap 11p5x11p7_l1m1m2_noshield 11p5x11p7_m1m2_noshield 11p5x11p7_m1m2_shieldl1 11p5x11p7_m1m2m3_shieldl1 11p5x11p7_m1m4_noshield 44p7x23p1_pol1m1m2m3m4m5_noshield} 0) pop /@mult
1 >> begingate
1 1.000 0 -64 0 -6 2 polygon
1 1.000 0 64 0 6 2 polygon
1 1.000 -32 6 32 6 2 polygon
1.000 0.000 0.000 scb
(c1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(c0) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult (f m=) @value ( c=) @model ( sky130_fd_pr__cap_vpp_)
@sub ( %pc0 %pc1 ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000
-208 -160 infolabel
(sim:c %pc0 %pc1) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel
0.647 0.165 0.165 scb
mark (fF) {hS} @value {hS} (=) {Ts} {hS} ( ) {Tf} (C) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @mult {Tf} (=) {Tf} (M) {/Times-RomanISO cf} ctmk 28 p_rot 0.700 p_xps2
p_yps2 label
sce
1 1.000 0 -80 74 66.000 114.000 xcarc
mark @model {/Times-Roman cf} ctmk 20 0.000 0.700 48 16 label
endgate
} def
/sky130_fd_pr::VPPCap3term {
<</@mult 1 /@model (02p4x04p6_m1m2_noshield)
(lindex {02p4x04p6_m1m2_noshield 02p7x06p1_m1m2m3m4_shieldl1_fingercap 02p7x11p1_m1m2m3m4_shieldl1_fingercap 02p7x21p1_m1m2m3m4_shieldl1_fingercap 02p7x41p1_m1m2m3m4_shieldl1_fingercap 02p9x06p1_m1m2m3m4_shieldl1_fingercap2 04p4x04p6_l1m1m2_noshield 04p4x04p6_m1m2_noshield 04p4x04p6_m1m2_noshield_o2 04p4x04p6_m1m2_shieldl1 04p4x04p6_m1m2m3_shieldl1 08p6x07p8_l1m1m2_noshield 08p6x07p8_m1m2_noshield 08p6x07p8_m1m2_shieldl1 08p6x07p8_m1m2m3_shieldl1 11p3x11p3_m1m2m3m4_shieldl1_wafflecap 11p5x11p7_l1m1m2_noshield 11p5x11p7_m1m2_noshield 11p5x11p7_m1m2_shieldl1 11p5x11p7_m1m2m3_shieldl1 11p5x11p7_m1m4_noshield 44p7x23p1_pol1m1m2m3m4m5_noshield} 0) pop /p_yps2
-40 /p_xps2 48 /p_yps1 -16 /p_xps1 48 /p_yps 48 /p_xps 48 /p_rot 0 /@class
(X) /@value (4.627) (get_vpp_noshield_value @model @mult) pop /@index
(?) /p_jst 20 >> begingate
1 1.000 0 -64 0 -6 2 polygon
1 1.000 0 64 0 6 2 polygon
1 1.000 -32 6 32 6 2 polygon
1.000 0.000 0.000 scb
(c1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(c0) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult (f m=) @value ( c=) @model
( %pc0 %pc1 %pb sky130_fd_pr__cap_vpp_) @index @class (spice:)
{/Times-Roman cf} ctmk 4 360.000 1.000 -208 -160 infolabel
(sim:c %pc0 %pc1) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel
0.647 0.165 0.165 scb
mark (fF) {hS} @value {hS} (=) {Ts} {hS} ( ) {Tf} (C) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @mult {Tf} (=) {Tf} (M) {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps2
p_yps2 label
sce
1 1.000 0 -80 74 66.000 114.000 xcarc
497 1.000 -32 -48 4 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(b) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
sce
mark @model {/Times-Roman cf} ctmk 20 0.000 0.700 48 16 label
endgate
} def
/sky130_fd_pr::VPPShieldCap {
<</p_jst 20 /@index (?) /@value (11.443)
(get_vpp_shield_value @model @mult) pop /@class (X) /p_rot 0 /p_xps 48 /p_yps
40 /p_xps1 50 /p_yps1 -24 /p_xps2 48 /p_yps2 -40 /@model
(04p4x04p6_m1m2m3_shieldl1m5_floatm4)
(lindex {04p4x04p6_m1m2m3_shieldl1m5_floatm4 04p4x04p6_m1m2m3_shieldl1m5_floatm4_top 05p9x05p9_m1m2m3m4_shieldl1_wafflecap 06p8x06p1_l1m1m2m3_shieldpom4 06p8x06p1_l1m1m2m3_shieldpom4_top 06p8x06p1_m1m2m3_shieldl1m4 06p8x06p1_m1m2m3_shieldl1m4_top 08p6x07p8_m1m2m3_shieldl1m5_floatm4 08p6x07p8_m1m2m3_shieldl1m5_floatm4_top 11p3x11p8_l1m1m2m3m4_shieldm5_nhvtop 11p5x11p7_l1m1m2m3_shieldm4 11p5x11p7_l1m1m2m3_shieldm4_top 11p5x11p7_l1m1m2m3_shieldpom4 11p5x11p7_l1m1m2m3_shieldpom4_top 11p5x11p7_l1m1m2m3m4_shieldm5 11p5x11p7_l1m1m2m3m4_shieldm5_top 11p5x11p7_l1m1m2m3m4_shieldpom5 11p5x11p7_l1m1m2m3m4_shieldpom5_top 11p5x11p7_l1m1m2m3m4_shieldpom5_x 11p5x11p7_l1m1m2m3m4_shieldpom5_x6 11p5x11p7_l1m1m2m3m4_shieldpom5_x7 11p5x11p7_l1m1m2m3m4_shieldpom5_x8 11p5x11p7_l1m1m2m3m4_shieldpom5_x9 11p5x11p7_l1m1m2m3m4_shieldpom5_xtop 11p5x11p7_m1m2m3_shieldl1m5_floatm4 11p5x11p7_m1m2m3_shieldl1m5_floatm4_top 11p5x11p7_m1m2m3m4_shieldl1m5 11p5x11p7_m1m2m3m4_shieldl1m5_top 11p5x11p7_m1m2m3m4_shieldm5} 0) pop /@mult
1 >> begingate
1 1.000 0 -64 0 -6 2 polygon
1 1.000 0 64 0 6 2 polygon
1 1.000 -32 6 32 6 2 polygon
1.000 0.000 0.000 scb
(c1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(c0) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult (f m=) @value ( c=) @model
( %pc0 %pc1 %pmet5 %pb sky130_fd_pr__cap_vpp_) @index @class (spice:)
{/Times-Roman cf} ctmk 4 0.000 1.000 -208 -160 infolabel
(sim:c %pc0 %pc1) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel
0.647 0.165 0.165 scb
mark (fF) {hS} @value {hS} (=) {Ts} {hS} ( ) {Tf} (C) {/Times-Roman cf} ctmk
p_jst p_rot 0.700 p_xps1 p_yps1 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @mult {Tf} (=) {Tf} (M) {/Times-RomanISO cf} ctmk 28 p_rot 0.700 p_xps2
p_yps2 label
sce
1 1.000 0 -80 74 66.000 114.000 xcarc
497 1.000 -32 -48 4 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(b) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
sce
mark @model {/Times-Roman cf} ctmk 20 0.000 0.700 48 8 label
497 1.000 -32 32 4 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(met5) {/Times-Roman cf} 2 7 0.000 1.000 -32 32 pinlabel
endgate
} def
/sky130_fd_pr::nDiode {
<</p_jst 28 /@index (?) /@model (pw2nd_05v5)
(lindex {pw2nd_05v5 pw2nd_05v5_lvt pw2nd_05v5_nvt} 0) pop /@mult 1 /@class (D) /p_rot
0 /p_xps 48 /p_yps 24 /p_xps1 48 /p_yps1 -8 /p_xps2 48 /p_yps2 -32 >> begingate
1.000 0.000 0.000 scb
(N) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(P) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @model ( %pP %pN sky130_fd_pr__diode_) @index
@class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
(sim:d %pP %pN %x %y) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
(=1) {Tf} {Tf} (M) {/Times-Roman cf} 5 p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label
497 1.000 0 -24 -32 24 32 24 0 -24 4 polygon
1 1.000 -32 -24 32 -24 2 polygon
1 1.000 0 24 0 64 2 polygon
1 1.000 0 -24 0 -64 2 polygon
endgate
} def
/sky130_fd_pr::pDiode {
<</p_yps2 -32 /p_xps2 48 /p_yps1 -8 /p_xps1 48 /p_yps 24 /p_xps 48 /p_rot 0 /@class
(D) /@mult 1 /@model (pd2nw_05v5)
(lindex {pd2nw_05v5 pd2nw_05v5_hvt pd2nw_05v5_lvt} 0) pop /@index (?) /p_jst 28 >>
begingate
1.000 0.000 0.000 scb
(N) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(P) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @model ( %pP %pN sky130_fd_pr__diode_) @index
@class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
(sim:d %pP %pN %x %y) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
(=1) {Tf} {Tf} (M) {/Times-Roman cf} 5 p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label
1 1.000 -32 -24 32 -24 2 polygon
1 1.000 0 24 0 64 2 polygon
1 1.000 0 -24 0 -64 2 polygon
0 -24 beginpath
32 24 1 polyc
0 24 1 polyc
4 24 8 20 8 16 curveto
8 12 4 8 0 8 curveto
-4 8 -8
12 -8 16 curveto
-8 20 -4 24 0 24 curveto
-32 24 1 polyc
0 -24 1 polyc
497 1.000 endpath
endgate
} def
/sky130_fd_pr::hvnDiode {
<</p_yps2 -32 /p_xps2 48 /p_yps1 -8 /p_xps1 48 /p_yps 24 /p_xps 48 /p_rot 0 /@class
(D) /@mult 1 /@model (pw2nd_11v0)
(lindex {pw2nd_11v0 pw2nd_11v0_no_rs} 0) pop /@index (?) /p_jst 28 >> begingate
1.000 0.000 0.000 scb
(N) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(P) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @model ( %pP %pN sky130_fd_pr__diode_) @index
@class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
(sim:d %pP %pN %x %y) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
(=1) {Tf} {Tf} (M) {/Times-Roman cf} 5 p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label
497 1.000 0 -24 -32 24 32 24 0 -24 4 polygon
1 1.000 0 24 0 64 2 polygon
1 1.000 0 -32 0 -64 2 polygon
0.800 0.800 0.800 scb
496 1.000 -32 -32 -32 -24 32 -24 32 -32 4 polygon
sce
0 1.000 -32 -32 -32 -24 32 -24 32 -32 4 polygon
endgate
} def
/sky130_fd_pr::hvpDiode {
<</p_jst 28 /@index (?) /@model (pd2nw_11v0)
(lindex {pd2nw_11v0 pd2nw_11v0_no_rs} 0) pop /@mult 1 /@class (D) /p_rot 0 /p_xps
48 /p_yps 24 /p_xps1 48 /p_yps1 -8 /p_xps2 48 /p_yps2 -32 >> begingate
0.800 0.800 0.800 scb
496 1.000 -32 -32 -32 -24 32 -24 32 -32 4 polygon
1.000 0.000 0.000 scb
(N) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
(P) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
0.180 0.545 0.341 scb
mark @mult ( mult=) @mult ( m=) @model ( %pP %pN sky130_fd_pr__diode_) @index
@class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel
(sim:d %pP %pN %x %y) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel
0.647 0.165 0.165 scb
(=1) {Tf} {Tf} (M) {/Times-Roman cf} 5 p_jst p_rot 0.700 p_xps2 p_yps2 label
0.000 0.000 1.000 scb
mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
sce
mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label
1 1.000 0 24 0 64 2 polygon
1 1.000 0 -32 0 -64 2 polygon
0 -24 beginpath
32 24 1 polyc
0 24 1 polyc
4 24 8 20 8 16 curveto
8 12 4 8 0 8 curveto
-4 8 -8
12 -8 16 curveto
-8 20 -4 24 0 24 curveto
-32 24 1 polyc
0 -24 1 polyc
497 1.000 endpath
0 1.000 -32 -32 -32 -24 32 -24 32 -32 4 polygon
endgate
} def
1.000 90.000 <</@value (1) /@model (m3_1) /p_xps -48 /p_yps 24 /p_yps1 -24 /p_xps2 80 /p_rot
270 >> /sky130_fd_pr::MiMCap libinst
1.000 90.000 <</@model (pfet_01v8) /p_xps 32 /p_yps -32 /p_xps1 48 /p_yps1 -40 /p_rot 270
/p_xps2 -32 >> /sky130_fd_pr::pMOS3term libinst
1.000 90.000 <</@model (pfet_01v8) /p_xps 32 /p_yps -32 /p_xps1 48 /p_yps1 -40 /p_rot 270
/p_xps2 -32 /@length (0.50) /@subs (dvdd3) >> /sky130_fd_pr::pMOS3term libinst
1.000 90.000 <</@model (rf_npn_05v5_W1p00L1p00) /p_yps -40 /p_xps2 -32 /p_xps 32 /p_xps1 48
/p_yps1 -32 /p_rot 270 >> /sky130_fd_pr::NPNModel libinst
/sky130_fd_pr::IndModel {
<</@size (175) /@width (2.5) /@sep (2.5) /@turns (6.5) /@substype (sub)
(lindex {sub well} 0) pop /@subs (agnd) /p_yps2 -48 /p_xps2 32 /@model
(inductor) /p_yps1 -16 /p_xps1 32 /p_yps 16 /p_xps 32 /@value (10) /@units (n) /@index
(?) /p_jst 20 /p_rot 0 >> begingate
1 1.000 20 -22 20 -38 0 -42 0 -18 spline
1 1.000 -20 -14 -20 -26 0 -22 0 -18 spline
1 1.000 20 38 20 22 0 18 0 42 spline
1 1.000 20 18 20 2 0 -2 0 22 spline
1 1.000 20 -2 20 -18 0 -22 0 2 spline
1 1.000 -20 26 -20 14 0 18 0 22 spline
1 1.000 -20 6 -20 -6 0 -2 0 2 spline
1 1.000 0 -42 0 -64 2 polygon
1 1.000 0 42 0 64 2 polygon
1.000 0.000 0.000 scb
(1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(2) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
mark @turns ( turns=) @sep ( sep=) @width ( width=) @size ( size=) @subs (=)
@substype ( ) @units @value ( ind=) @model ( %p1 %p2 ) @index (spice:L)
{/Times-Roman cf} ctmk 132 360.000 1.000 -208 -160 infolabel
(sim:l %p1 %p2) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel
0.647 0.165 0.165 scb
mark (H) @units {hS} @value {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1
p_yps1 label
0.000 0.000 1.000 scb
mark @index (L) {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label
0.647 0.165 0.165 scb
mark @model {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps2 p_yps2 label
endgate
} def
1.000 90.000 <</@substype (sub) /p_rot 270 /p_yps1 -48 /p_xps1 48 /p_yps -16 /p_xps -48
/p_xps2 80 >> /sky130_fd_pr::IndModel libinst
% EndLib