%! PostScript set of library objects for XCircuit % Version: 3.9 % Library name is: analoglib3 % Author: % % Depend analoglib3::NPNModel generic::arrowhead % Depend analoglib3::Vsource analog::source % Depend analoglib3::ACsource analog::source analoglib2::sinusoid % Depend analoglib3::Vpwl analog::source % Depend analoglib3::Switch generic::circle generic::arrowhead % Depend analoglib3::Vpulse analog::source % XCircuitLib library objects /analoglib3::pMOS { <> 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 ( M=) @length ( L=) @width ( W=) @model ( ) @subs ( %pD %pG %pS ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.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} (=) {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 1.000 90.000 <> /analoglib3::pMOS libinst <> /analoglib3::pMOS libinst 1.000 90.000 <> /analoglib3::pMOS libinst /analoglib3::pMOS1finger { <> 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 @length ( L=) @width ( W=) @model ( ) @subs ( %pD %pG %pS ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.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 @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 16 p_rot 0.700 p_xps p_yps label sce mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps1 p_yps1 label endgate } def 1.000 90.000 <> /analoglib3::pMOS1finger libinst <> /analoglib3::pMOS1finger libinst 1.000 90.000 <> /analoglib3::pMOS1finger libinst /analoglib3::nMOS { <> 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 ( ) @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 1.000 90.000 <> /analoglib3::nMOS libinst <> /analoglib3::nMOS libinst 1.000 90.000 <> /analoglib3::nMOS libinst /analoglib3::nMOS1finger { <> 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 @length ( l=) @width ( w=) @model ( ) @subs ( %pD %pG %pS ) @index @class (spice:) {/Times-Roman cf} ctmk 4 360.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 @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 1.000 90.000 <> /analoglib3::nMOS1finger libinst <> /analoglib3::nMOS1finger libinst 1.000 90.000 <> /analoglib3::nMOS1finger libinst /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 /analoglib3::NPNModel { <> 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 ( ) @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} (M) {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 <> /analoglib3::NPNModel libinst /analoglib3::ResModel { <> 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 ) @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.180 0.545 0.341 scb mark @index @class (pcb:) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 infolabel 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 @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label endgate } def 1.000 90.000 <> /analoglib3::ResModel libinst /analoglib3::MiMCap { <> 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.180 0.545 0.341 scb mark @index (pcb:C) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 infolabel 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} (M) {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 <> /analoglib3::MiMCap libinst /analoglib3::IndModel { <> 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.180 0.545 0.341 scb mark @index (pcb:L) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 infolabel 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 <> /analoglib3::IndModel libinst /analog::source { % hidden begingate 1 1.000 0 0 32 0.000 360.000 xcarc 1 1.000 0 32 0 64 2 polygon 1 1.000 0 -32 0 -64 2 polygon endgate } def /analoglib3::Vsource { <> begingate 1.000 360.000 0 0 analog::source (+) {/Symbol cf} 2 5 p_rot 1.000 0 14 label (-) {/Symbol cf} 2 5 p_rot 1.000 0 -22 label 1.000 0.000 0.000 scb (v.p) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel (v.m) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb mark @value ( %pv.p %pv.m ) @index @class (spice:) {/Times-Roman cf} ctmk 20 360.000 1.000 -96 -160 infolabel 0.647 0.165 0.165 scb mark (V) {hS} @value {/Times-Roman cf} ctmk p_jst p_rot 0.700 48 -16 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 endgate } def 1.000 270.000 <> /analoglib3::Vsource libinst /analoglib2::sinusoid { % hidden begingate 1 0.800 0 -48 0 48 -16 0 16 0 spline endgate } def /analoglib3::ACsource { <> begingate 1.000 0.000 0 0 analog::source 1.000 0.000 0.000 scb (s.p) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel (s.m) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb mark (\)) @units @freq ( ) @value ( ) @offset ( %ps.p %ps.m SIN\() @index (spice:V) {/Times-Roman cf} ctmk 20 0.000 1.000 -336 -160 infolabel 0.647 0.165 0.165 scb mark (Hz) @units {hS} @freq {CR} (offset) {ss} (V) {hS} @offset {CR} (p-p) {ss} (V) {hS} @value {/Times-Roman cf} ctmk p_jst p_rot 0.750 p_xps1 p_yps1 label sce 1.000 p_rot 0 0 analoglib2::sinusoid 0.000 0.000 1.000 scb mark @index (V) {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps p_yps label endgate } def 1.000 90.000 <> /analoglib3::ACsource libinst /analoglib3::Vpwl { <> begingate 1.000 360.000 0 0 analog::source (+) {/Symbol cf} 2 5 p_rot 1.000 0 14 label (-) {/Symbol cf} 2 5 p_rot 1.000 0 -22 label 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.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps p_yps label 0.180 0.545 0.341 scb mark (\)) @pwl ( %p1 %p2 PWL\() @index @class (spice:) {/Times-Roman cf} ctmk 16 0.000 1.000 -304 -176 infolabel 0.647 0.165 0.165 scb mark @pwl {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 label endgate } def 1.000 270.000 <> /analoglib3::Vpwl libinst /analoglib3::Capacitor { <> 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 @units @value ( %p1 %p2 ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -208 -160 infolabel (sim:e %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_xps p_yps label 0.180 0.545 0.341 scb mark @index @class (pcb:) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 infolabel 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label sce 1 1.000 -32 -6 32 -6 2 polygon endgate } def 1.000 90.000 <> /analoglib3::Capacitor libinst /analoglib3::Resistor { <> 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 @units @value ( %p1 %p2 ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -208 -160 infolabel mark @index @class (pcb:) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 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_xps p_yps label 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 label endgate } def 1.000 90.000 <> /analoglib3::Resistor libinst /generic::circle { % trivial begingate 1 1.000 16 0 6 0.000 360.000 xcarc 1 1.000 0 0 10 0 2 polygon 1.000 0.000 0.000 scb (out) {/Times-Roman cf} 2 4 -0.000 1.000 16 0 pinlabel (out) {/Times-Roman cf} 2 7 -0.000 1.000 0 0 pinlabel endgate } def /analoglib3::Switch { <> begingate 1 1.300 32 32 2 -43 2 polygon 1 0.600 8 -24 57 49.000 90.000 xcarc -1.000 /sv 90.000 0 -64 generic::circle 1.000 90.000 0 48 generic::circle 1.000 0.000 0.000 scb (1) {/Times-Roman cf} 2 9 0.000 1.000 0 48 pinlabel (2) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel sce 1 1.000 32 -16 96 -16 2 polygon -1.000 /sv 270.000 16 -16 generic::arrowhead 1.000 0.000 0.000 scb (3) {/Times-Roman cf} 2 20 0.000 1.000 96 -16 pinlabel (4) {/Times-Roman cf} 2 20 0.000 1.000 96 -48 pinlabel 0.180 0.545 0.341 scb mark @model ( %p1 %p2 %p3 %p4 ) @index @class (spice1:) {/Times-Roman cf} ctmk 16 0.000 0.700 -128 -192 infolabel sce (+) {/Symbol cf} 2 17 0.000 0.700 96 -8 label (-) {/Symbol cf} 2 17 0.000 0.700 96 -40 label 1 1.000 96 -48 72 -48 72 -64 3 polygon 1 1.000 54 -64 90 -64 2 polygon 1 1.000 62 -72 82 -72 2 polygon 1 1.000 70 -80 74 -80 2 polygon 0.180 0.545 0.341 scb mark ( sw) @model (spice@1:.model ) {/Times-Roman cf} ctmk 16 0.000 0.700 -128 -160 infolabel endgate } def /analoglib3::Vpulse { <> begingate 1.000 360.000 0 0 analog::source 1.000 0.000 0.000 scb (v.p) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel (v.m) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb mark (\)) @period ( ) @pwidth ( ) @t_fall ( ) @t_rise ( ) @t_delay ( ) @vpulse ( ) @vinit ( PULSE\() @vpulse ( %pv.p %pv.m DC=) @index @class (spice:) {/Times-Roman cf} ctmk 20 360.000 1.000 -96 -160 infolabel 0.647 0.165 0.165 scb mark (V) {hS} @vpulse (\261) @vinit {/Times-Roman cf} ctmk p_jst p_rot 0.700 48 -16 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 1 1.000 -24 -12 -16 -12 -16 12 -8 12 -8 -12 0 -12 0 12 8 12 8 -12 16 -12 16 12 24 12 12 polygon mark (s) @period (T=) {0.647 0.165 0.165 scb} {/Times-Roman cf} ctmk 16 0.000 0.700 48 -52 label (+) {/Times-Roman cf} 2 21 0.000 0.600 0 22 label endgate } def % EndLib