%! PostScript set of library objects for XCircuit % Version: 3.6 % Library name is: analog % Author: R. Timothy Edwards % % Depend analog::vsource analog::source % Depend analog::isource analog::source generic::arrowhead % Depend analog::acsource analog::source % Depend analog::nmos2 analog::nmos generic::arrowhead % Depend analog::pmos2 analog::nmos generic::arrowhead % Depend analog::npn generic::arrowhead % Depend analog::pnp generic::arrowhead % Depend analog::switch generic::circle generic::arrowhead % XCircuitLib library objects /analog::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 1.000 -32 -6 32 -6 2 polygon 1.000 0.000 0.000 scb (c.1) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (c.2) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb (spice:C%i %pc.1 %pc.2 1.0P) {/Times-Roman cf} 2 0 0 1.000 -208 -160 infolabel (sim:c %pc.1 %pc.2) {/Times-Roman cf} 2 0 0 1.000 -208 -208 infolabel endgate } def /analog::polarized { 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 1.000 0 -80 74 66.000 114.000 xcarc 1.000 0.000 0.000 scb (t) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (b) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb (spice:C%i %pt %pb 1.0P) {/Times-Roman cf} 2 0 0 1.000 -208 -160 infolabel (sim:e %pt %pb %pb) {/Times-Roman cf} 2 0 0 1.000 -208 -208 infolabel endgate } def /analog::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 (r.1) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (r.2) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb (spice:R%i %pr.1 %pr.2 1.0K) {/Times-Roman cf} 2 0 0 1.000 -208 -160 infolabel (sim:r %pr.1 %pr.2) {/Times-Roman cf} 2 0 0 1.000 -208 -208 infolabel endgate } def /analog::inductor { 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 (l.1) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (l.2) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb (spice:L%i %pl.1 %pl.2 1.0U) {/Times-Roman cf} 2 0 0 1.000 -208 -160 infolabel (sim:l %pl.1 %pl.2) {/Times-Roman cf} 2 0 0 1.000 -208 -208 infolabel endgate } def /analog::opamp { begingate 0 1.000 -80 -80 -80 80 80 0 3 polygon (-) {/Symbol cf} 2 5 0 1.000 -61 42 label (+) {/Symbol cf} 2 5 0 1.000 -61 -50 label 1.000 0.000 0.000 scb (in.m) {/Times-Roman cf} 2 7 0 1.000 -80 48 pinlabel (in.p) {/Times-Roman cf} 2 7 0 1.000 -80 -48 pinlabel (out) {/Times-Roman cf} 2 4 0 1.000 80 0 pinlabel endgate } def /analog::vdd { % trivial begingate 1 1.000 0 0 0 32 2 polygon 1 1.000 -32 32 32 32 2 polygon (Vdd) {/Times-Roman cf} 2 17 0 0.900 0 38 label 0.933 0.604 0.000 scb (Vdd) {/Times-Roman cf} 2 13 0 1.000 0 0 pinglobal endgate } def /analog::gnd { % trivial begingate 1 1.000 0 0 0 -32 2 polygon 1 1.000 -32 -32 32 -32 2 polygon 1 1.000 -18 -46 18 -46 2 polygon 1 1.000 -4 -60 4 -60 2 polygon 0.933 0.604 0.000 scb (GND) {/Times-Roman cf} 2 1 0 1.000 0 0 pinglobal endgate } def /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 /analog::vsource { begingate 1.000 0 0 0 analog::source (+) {/Symbol cf} 2 5 0 1.000 0 14 label (-) {/Symbol cf} 2 5 0 1.000 0 -22 label 1.000 0.000 0.000 scb (v.p) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (v.m) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel 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 /analog::isource { begingate 1.000 0 0 0 analog::source 1 0.750 0 20 0 -8 2 polygon 0.800 180 0 -20 generic::arrowhead 1.000 0.000 0.000 scb (i.p) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (i.m) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel endgate } def /analog::acsource { begingate 1.000 0 0 0 analog::source 1 0.800 0 -48 0 48 -16 0 16 0 spline 1.000 0.000 0.000 scb (s.p) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (s.m) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel endgate } def /analog::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 1.000 -64 0 pinlabel (S) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel (D) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel 0.180 0.545 0.341 scb (spice:M%i %pD %pG %pS GND nmos) {/Times-Roman cf} 2 4 0 1.000 -244 -139 infolabel (sim:n %pG %pS %pD) {/Times-Roman cf} 2 4 0 1.000 -244 -187 infolabel endgate } def /analog::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 1.000 0 64 pinlabel (D) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel (G) {/Times-Roman cf} 2 7 0 1.000 -64 0 pinlabel 0.180 0.545 0.341 scb (spice:M%i %pD %pG %pS Vdd pmos) {/Times-Roman cf} 2 4 0 1.000 -196 -139 infolabel (sim:p %pG %pS %pD) {/Times-Roman cf} 2 4 0 1.000 -196 -187 infolabel endgate } def /analog::nmos2 { begingate 1.000 0 0 0 analog::nmos 1.000 90 0 -28 generic::arrowhead 1.000 0.000 0.000 scb (G) {/Times-Roman cf} 2 7 0 1.000 -64 0 pinlabel (S) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel (D) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel endgate } def /analog::pmos2 { begingate 1.000 0 0 0 analog::nmos 1.000 270 -32 28 generic::arrowhead 1.000 0.000 0.000 scb (G) {/Times-Roman cf} 2 7 0 1.000 -64 0 pinlabel (S) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (D) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel endgate } def /analog::diode { begingate 248 1.000 -18 -16 0 16 18 -16 3 polygon 1 1.000 0 -48 0 -16 2 polygon 1 1.000 0 48 0 16 2 polygon 1 1.000 -18 16 18 16 2 polygon 1.000 0.000 0.000 scb (d.m) {/Times-Roman cf} 2 9 0 1.000 0 48 pinlabel (d.p) {/Times-Roman cf} 2 13 0 1.000 0 -48 pinlabel endgate } def /analog::npn { 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 0 -48 generic::arrowhead 1.000 0.000 0.000 scb (C) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel (B) {/Times-Roman cf} 2 7 0 1.000 -64 0 pinlabel (E) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb (spice:Q%i %pC %pB %pE npn) {/Times-Roman cf} 2 4 0 1.000 -244 -139 infolabel (sim:b %pB %pE %pC) {/Times-Roman cf} 2 4 0 1.000 -244 -187 infolabel endgate } def /analog::pnp { 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 240 -48 22 generic::arrowhead 1.000 0.000 0.000 scb (C) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel (B) {/Times-Roman cf} 2 7 0 1.000 -64 0 pinlabel (E) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel 0.180 0.545 0.341 scb (spice:Q%i %pC %pB %pE pnp) {/Times-Roman cf} 2 4 0 1.000 -244 -139 infolabel endgate } def /analog::crystal { begingate 0 1.000 -24 -12 -24 12 24 12 24 -12 4 polygon 1 1.000 0 48 0 24 2 polygon 1 1.000 0 -48 0 -24 2 polygon 1 1.000 -20 24 20 24 2 polygon 1 1.000 -20 -24 20 -24 2 polygon 1.000 0.000 0.000 scb (x.1) {/Times-Roman cf} 2 9 0 1.000 0 48 pinlabel (x.2) {/Times-Roman cf} 2 13 0 1.000 0 -48 pinlabel endgate } def /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 1.000 16 0 pinlabel (out) {/Times-Roman cf} 2 7 0 1.000 0 0 pinlabel endgate } def /analog::switch { % trivial begingate 1 1.300 32 32 2 -43 2 polygon 1 0.600 0 -48 57 49.000 90.000 xcarc -1.000 90 0 -64 generic::circle 0.600 270 -12 8 generic::arrowhead 1.000 90 0 48 generic::circle 1.000 0.000 0.000 scb (sw.1) {/Times-Roman cf} 2 9 0 1.000 0 48 pinlabel (sw.2) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel endgate } def % EndLib