| %! 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 |
| |
| % XCircuitLib library objects |
| /sky130_fd_pr::pMOS3term { |
| <</@mult 1 /@model (pfet_01v8) |
| (lindex {pfet_01v8 pfet_01v8_lvt pfet_01v8_hvt pfet_g5v0d10v5} 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 @fingers ( NF=) @mult ( M=) @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} (X) {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 |
| |
| 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 |
| <</@model (pfet_01v8) /@length (0.50) /@subs (dvdd3) >> /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 |
| |
| /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 nfet_g5v0d10v5} 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 @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} (X) {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 |
| |
| /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 { |
| <</@subs (agnd) /p_yps2 56 /p_xps2 16 /p_yps1 0 /p_xps1 16 /p_yps 24 /p_xps 16 /p_rot |
| 0 /@length (10.16) /@width (0.2) /@m (1) /@model |
| (rf_npn_05v5_W1p00L1p00) |
| (lindex {rf_npn_05v5_W1p00L1p00 rf_npn_05v5_W1p00L2p00} 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 @m ( M=) @length ( L=) @width ( W=) @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 @m {Tf} (=) {Tf} (X) {CR} @length {Tf} (=) {Tf} (L) {CR} @width {Ts} {hS} |
| (=) {Ts} {hS} (W) {/Times-Roman cf} ctmk 28 p_rot 0.700 p_xps1 p_yps1 label |
| endgate |
| } def |
| |
| 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::HighResModel { |
| <</@substype (sub) (lindex {sub well} 0) pop /@subs (avdd) /@width (1) /@length |
| (1) /p_yps2 -48 /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 |
| 0 /p_xps1 32 /p_yps 32 /p_xps 32 /p_rot 0 /@class (X) /@value (1.0) /@units |
| (k) /@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 |
| (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 @subs (=) @substype ( ) @width ( W=) @length ( L=) @units @value ( R=) |
| @model ( %p1 %p2 sky130_fd_pr__) @index @class (spice:) {/Times-Roman cf} ctmk |
| 4 0.000 1.000 -208 -160 infolabel |
| (sim:r %p1 %p2) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel |
| 0.647 0.165 0.165 scb |
| mark (W) {/Symbol cf} @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 @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 { |
| <</@substype (sub) (lindex {sub well} 0) pop /@subs (agnd) /@fingers (1) /@length |
| (1) /@width (1) /p_yps2 -8 /p_xps2 48 /p_yps1 24 /p_xps1 48 /p_yps 56 /p_xps |
| 48 /p_rot 0 /@class (X) /@value (1.0) /@units (p) /@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 |
| (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 @subs (=) @substype ( ) @fingers ( M=) @width ( W=) @length ( L=) @units |
| @value ( %p1 %p2 MIM C=) @index (spice:C) {/Times-Roman cf} ctmk 4 0.000 1.000 |
| -208 -160 infolabel |
| (sim:c %p1 %p2) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel |
| 0.647 0.165 0.165 scb |
| mark (F) @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 @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label |
| 0.647 0.165 0.165 scb |
| mark @fingers {Tf} (=) {Tf} (X) {CR} @length {Tf} (=) {Tf} (L) {CR} @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 |
| endgate |
| } def |
| |
| 1.000 90.000 <</@substype (sub) /p_xps -48 /p_yps 24 /p_yps1 -24 /p_xps2 80 /p_yps2 -24 |
| /p_rot 270 >> /sky130_fd_pr::MiMCap 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 |