One more check on valid display which is known to be in the startup
[xcircuit.git] / lib / analoglib2.lps
blobb2c8f7fdecb3cff2be5ae2a1983975373d9895ae
1 %! PostScript set of library objects for XCircuit
2 %  Version: 3.2
3 %  Library name is: analoglib2
4 %  Author: R. Timothy Edwards <tim@khachaturian>
7 % Depend analoglib2::Transformer analog::inductor
8 % Depend analoglib2::Vsource analog::source
9 % Depend analoglib2::Isource generic::arrowhead analog::source
10 % Depend analoglib2::ACsource analoglib2::sinusoid analog::source
11 % Depend analoglib2::NPN generic::arrowhead
12 % Depend analoglib2::PNP generic::arrowhead
14 % XCircuitLib library objects
15 /analoglib2::Capacitor {
16 << /value (1.0) /units (p) /@index (?) /p_jst 20 /p_rot 0 /pkg (AXIAL_400) >> begingate
17 1 1.00 0 -64 0 -6 2 polygon
18 1 1.00 0 64 0 6 2 polygon
19 1 1.00 -32 6 32 6 2 polygon
20 1 1.00 -32 -6 32 -6 2 polygon
21 1.000 0.000 0.000 scb
22 (1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
23 (2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
24 0.180 0.545 0.341 scb
25 mark units value ( %p1 %p2 ) @index (spice:C) {/Times-Roman cf} ctmk 4 0 1.00 -208 -160 
26 infolabel
27 (sim:c %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
28 sce
29 mark (F) units {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0 label
30 0.180 0.545 0.341 scb
31 mark @index (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
32 endgate
33 } def
35 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::Capacitor libinst
37 /analoglib2::Polarized {
38 << /value (1.0) /units (p) /@index (?) /p_jst 20 /p_rot 0 /pkg (AXIAL_400) >> begingate
39 1 1.00 0 -64 0 -6 2 polygon
40 1 1.00 0 64 0 6 2 polygon
41 1 1.00 -32 6 32 6 2 polygon
42 1 1.00 0 -80 74 66.00 114.00 xcarc
43 1.000 0.000 0.000 scb
44 (1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
45 (2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
46 0.180 0.545 0.341 scb
47 mark units value ( %p1 %p2 ) @index (spice:C) {/Times-Roman cf} ctmk 4 0 1.00 -208 -160 
48 infolabel
49 (sim:e %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
50 sce
51 mark (F) units {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0 label
52 0.180 0.545 0.341 scb
53 mark @index (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
54 endgate
55 } def
57 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::Polarized libinst
59 /analoglib2::Resistor {
60 << /value (1.0) /units (k) /@index (?) /p_jst 20 /p_rot 0 /pkg (AXIAL_400) >> begingate
61 1 1.00 0 64 0 36 2 polygon
62 1 1.00 0 -64 0 -36 2 polygon
63 1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
64 1.000 0.000 0.000 scb
65 (1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
66 (2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
67 0.180 0.545 0.341 scb
68 mark units value ( %p1 %p2 ) @index (spice:R) {/Times-Roman cf} ctmk 4 0 1.00 -208 -160 
69 infolabel
70 (sim:r %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
71 sce
72 mark (W) {/Symbol cf} units {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 32 0 label
73 0.180 0.545 0.341 scb
74 mark @index (pcb:R) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
75 endgate
76 } def
78 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::Resistor libinst
80 /analoglib2::Inductor {
81 << /value (1.0) /units (m) /@index (?) /p_jst 20 /p_rot 0 >> begingate
82 1 1.00 20 -28 20 -44 0 -48 0 -24 spline
83 1 1.00 -20 -20 -20 -32 0 -28 0 -24 spline
84 1 1.00 20 32 20 16 0 12 0 36 spline
85 1 1.00 20 12 20 -4 0 -8 0 16 spline
86 1 1.00 20 -8 20 -24 0 -28 0 -4 spline
87 1 1.00 -20 20 -20 8 0 12 0 16 spline
88 1 1.00 -20 0 -20 -12 0 -8 0 -4 spline
89 1 1.00 0 -48 0 -64 2 polygon
90 1 1.00 0 36 0 48 2 polygon
91 1.000 0.000 0.000 scb
92 (1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
93 (2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
94 0.180 0.545 0.341 scb
95 mark units value ( %p1 %p2 ) @index (spice:L) {/Times-Roman cf} ctmk 4 0 1.00 -208 -160 
96 infolabel
97 (sim:l %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
98 sce
99 mark (H) units {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 32 0 label
100 0.180 0.545 0.341 scb
101 mark @index (pcb:L) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
102 endgate
103 } def
105 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::Inductor libinst
107 /analog::inductor {
108 begingate
109 1 1.00 20 -28 20 -44 0 -48 0 -24 spline
110 1 1.00 -20 -20 -20 -32 0 -28 0 -24 spline
111 1 1.00 20 32 20 16 0 12 0 36 spline
112 1 1.00 20 12 20 -4 0 -8 0 16 spline
113 1 1.00 20 -8 20 -24 0 -28 0 -4 spline
114 1 1.00 -20 20 -20 8 0 12 0 16 spline
115 1 1.00 -20 0 -20 -12 0 -8 0 -4 spline
116 1 1.00 0 -48 0 -64 2 polygon
117 1 1.00 0 36 0 48 2 polygon
118 1.000 0.000 0.000 scb
119 (l.1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
120 (l.2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
121 0.180 0.545 0.341 scb
122 (spice:L%i %pl.1 %pl.2 1.0U) {/Times-Roman cf} 2 0 0 1.00 -208 -160 infolabel
123 (sim:l %pl.1 %pl.2) {/Times-Roman cf} 2 0 0 1.00 -208 -208 infolabel
124 endgate
125 } def
127 /analoglib2::Transformer {
128 << /@index (?) >> begingate
129 1.00 0 -48 0 analog::inductor
130 1 1.00 -16 48 -16 -64 2 polygon
131 1 1.00 0 48 0 -64 2 polygon
132 1.00 180 32 -16 analog::inductor
133 1.000 0.000 0.000 scb
134 (1) {/Times-Roman cf} 2 25 0 1.00 -48 48 pinlabel
135 (2) {/Times-Roman cf} 2 29 0 1.00 -48 -64 pinlabel
136 (3) {/Times-Roman cf} 2 25 0 1.00 32 48 pinlabel
137 (4) {/Times-Roman cf} 2 29 0 1.00 32 -64 pinlabel
138 0.180 0.545 0.341 scb
139 mark @index (pcb:T) {/Times-Roman cf} ctmk 20 0 1.00 -96 -160 infolabel
140 endgate
141 } def
143 /analog::source {
144 % hidden
145 begingate
146 1 1.00 0 0 32 0.00 360.00 xcarc
147 1 1.00 0 32 0 64 2 polygon
148 1 1.00 0 -32 0 -64 2 polygon
149 endgate
150 } def
152 /analoglib2::Vsource {
153 << /value (5) /p_jst 20 /p_rot 0 >> begingate
154 1.00 0 0 0 analog::source
155 (+) {/Symbol cf} 2 5 p_rot 1.00 0 14 label
156 (-) {/Symbol cf} 2 5 p_rot 1.00 0 -22 label
157 1.000 0.000 0.000 scb
158 (v.p) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
159 (v.m) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
160 0.180 0.545 0.341 scb
161 mark value (spice:V%i %pv.p %pv.m ) {/Times-Roman cf} ctmk 20 0 1.00 -96 -160 
162 infolabel
164 mark (V) {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0 label
165 endgate
166 } def
168 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::Vsource libinst
170 /generic::arrowhead {
171 % trivial
172 begingate
173 8 -28 beginpath
174 3 -18 3 -15 0 0 curveto
175 -3 -15 -3 -18 -8 -28 curveto
176 -2 -26 2 -26 8 -28 curveto
177 249 1.00 endpath
178 endgate
179 } def
181 /analoglib2::Isource {
182 << /value (1) /units (m) /p_jst 20 /p_rot 0 >> begingate
183 1.00 0 0 0 analog::source
184 1 0.75 0 20 0 -8 2 polygon
185 0.80 180 0 -20 generic::arrowhead
186 1.000 0.000 0.000 scb
187 (i.p) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
188 (i.m) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
189 0.180 0.545 0.341 scb
190 mark units value (spice:I%i %pi.p %pi.m ) {/Times-Roman cf} ctmk 20 0 1.00 -96 -160 
191 infolabel
193 mark (A) units {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0 label
194 endgate
195 } def
197 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::Isource libinst
199 /analoglib2::sinusoid {
200 % hidden
201 begingate
202 1 0.80 0 -48 0 48 -16 0 16 0 spline
203 endgate
204 } def
206 /analoglib2::ACsource {
207 << /value (5) /offset (0) /freq (1) /units (k) /p_jst 20 /p_rot 0 >> begingate
208 1.00 0 0 0 analog::source
209 1.000 0.000 0.000 scb
210 (s.p) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
211 (s.m) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
212 0.180 0.545 0.341 scb
213 mark (\)) units freq ( ) value ( ) offset (spice:V%i %ps.p %ps.m SIN\()
214 {/Times-Roman cf} ctmk 20 0 1.00 -336 -160 infolabel
216 mark (Hz) units {hS} freq {CR} (offset) {ss} (V) {hS} offset {CR} (p-p)
217 {ss} (V) {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0 label
218 1.00 p_rot 0 0 analoglib2::sinusoid
219 endgate
220 } def
222 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::ACsource libinst
224 /analoglib2::nMOS {
225 << /width (3) /length (2) /model (nmos) /@index (?) /p_jst 20 /p_rot 0 >> begingate
226 1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
227 1 1.00 -44 -28 -44 28 2 polygon
228 1 1.00 -44 0 -64 0 2 polygon
229 1.000 0.000 0.000 scb
230 (G) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
231 (S) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
232 (D) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
233 0.180 0.545 0.341 scb
234 mark length ( L=) width ( W=) model ( %pD %pG %pS GND ) @index (spice:M) {/Times-Roman cf} 
235 ctmk 4 0 1.00 -244 -139 infolabel
236 mark ( %x %y) width ( ) length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4 0 1.00 
237 -244 -187 infolabel
239 mark length (=) {Tf} (L) {hS} {CR} width (=) {Ts} (W) {/Times-Roman cf} ctmk p_jst
240 p_rot 1.00 16 0 label
241 endgate
242 } def
244 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::nMOS libinst
246 /analoglib2::pMOS {
247 << /width (3) /length (2) /model (pmos) /@index (?) /p_jst 20 /p_rot 0 >> begingate
248 1 1.00 -44 -28 -44 28 2 polygon
249 1 1.00 -60 0 -64 0 2 polygon
250 1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
251 1 1.00 -52 0 8 0.00 360.00 xcarc
252 1.000 0.000 0.000 scb
253 (S) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
254 (D) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
255 (G) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
256 0.180 0.545 0.341 scb
257 mark length ( L=) width ( W=) model ( %pD %pG %pS Vdd ) @index (spice:M) {/Times-Roman cf} 
258 ctmk 4 0 1.00 -196 -139 infolabel
259 mark ( %x %y) width ( ) length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4 0 1.00 
260 -196 -187 infolabel
262 mark length (=) {Tf} (L) {hS} {CR} width (=) {Ts} (W) {/Times-Roman cf} ctmk p_jst
263 p_rot 1.00 16 0 label
264 endgate
265 } def
267 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::pMOS libinst
269 /analoglib2::nMOS4 {
270 << /width (3) /length (2) /model (nmos) /@index (?) /p_jst 20 /p_rot 0 >> begingate
271 1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
272 1 1.00 -44 -28 -44 28 2 polygon
273 1 1.00 -44 0 -64 0 2 polygon
274 1.000 0.000 0.000 scb
275 (G) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
276 (S) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
277 (D) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
278 (B) {/Times-Roman cf} 2 4 0 1.00 32 0 pinlabel
279 0.180 0.545 0.341 scb
280 mark length ( L=) width ( W=) model ( %pD %pG %pS %pB ) @index (spice:M) {/Times-Roman cf} 
281 ctmk 4 0 1.00 -244 -139 infolabel
282 mark ( %x %y) width ( ) length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4 0 1.00 
283 -244 -187 infolabel
285 mark length (/) width (W/L=) {/Times-Roman cf} ctmk p_jst p_rot 1.00 16 32 label
286 1 1.00 -32 0 32 0 2 polygon
287 endgate
288 } def
290 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::nMOS4 libinst
292 /analoglib2::pMOS4 {
293 << /width (3) /length (2) /model (pmos) /@index (?) /p_jst 20 /p_rot 0 >> begingate
294 1 1.00 -44 -28 -44 28 2 polygon
295 1 1.00 -60 0 -64 0 2 polygon
296 1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
297 1 1.00 -52 0 8 0.00 360.00 xcarc
298 1.000 0.000 0.000 scb
299 (S) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
300 (D) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
301 (G) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
302 (B) {/Times-Roman cf} 2 4 0 1.00 32 0 pinlabel
303 0.180 0.545 0.341 scb
304 mark length ( L=) width ( W=) model ( %pD %pG %pS %pB ) @index (spice:M) {/Times-Roman cf} 
305 ctmk 4 0 1.00 -196 -139 infolabel
306 mark ( %x %y) width ( ) length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4 0 1.00 
307 -196 -187 infolabel
309 mark length (/) width (W/L=) {/Times-Roman cf} ctmk p_jst p_rot 1.00 16 32 label
310 1 1.00 -32 0 32 0 2 polygon
311 endgate
312 } def
314 1.00 270 << /p_jst 17 /p_rot 90 >> /analoglib2::pMOS4 libinst
316 /analoglib2::NPN {
317 << /model (npn) /@index (?) >> begingate
318 1 1.00 -48 0 -64 0 2 polygon
319 1 1.00 -48 48 -48 -48 2 polygon
320 1 1.00 0 48 -48 22 2 polygon
321 1 1.00 0 48 0 64 2 polygon
322 1 1.00 0 -48 -48 -22 2 polygon
323 1 1.00 0 -48 0 -64 2 polygon
324 1.00 120 0 -48 generic::arrowhead
325 1.000 0.000 0.000 scb
326 (C) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
327 (B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
328 (E) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
329 0.180 0.545 0.341 scb
330 mark model ( %pC %pB %pE ) @index (spice:Q) {/Times-Roman cf} ctmk 4 0 1.00 -244 -139 
331 infolabel
332 (sim:b %pB %pE %pC) {/Times-Roman cf} 2 4 0 1.00 -244 -187 infolabel
333 endgate
334 } def
336 /analoglib2::PNP {
337 << /model (pnp) /@index (?) >> begingate
338 1 1.00 -48 0 -64 0 2 polygon
339 1 1.00 -48 48 -48 -48 2 polygon
340 1 1.00 0 48 -48 22 2 polygon
341 1 1.00 0 48 0 64 2 polygon
342 1 1.00 0 -48 -48 -22 2 polygon
343 1 1.00 0 -48 0 -64 2 polygon
344 1.00 240 -48 22 generic::arrowhead
345 1.000 0.000 0.000 scb
346 (C) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
347 (B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
348 (E) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
349 0.180 0.545 0.341 scb
350 mark model ( %pC %pB %pE ) @index (spice:Q) {/Times-Roman cf} ctmk 4 0 1.00 -244 -139 
351 infolabel
352 endgate
353 } def
355 /analoglib2::Diode {
356 << /@index (?) >> begingate
357 248 1.00 -18 -16 0 16 18 -16 3 polygon
358 1 1.00 0 -48 0 -16 2 polygon
359 1 1.00 0 48 0 16 2 polygon
360 1 1.00 -18 16 18 16 2 polygon
361 1.000 0.000 0.000 scb
362 (1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
363 (2) {/Times-Roman cf} 2 13 0 1.00 0 -48 pinlabel
364 0.180 0.545 0.341 scb
365 mark @index (pcb:D) {/Times-Roman cf} ctmk 20 0 1.00 -64 -144 infolabel
366 mark ( %p2 %p1 diode) @index (spice:D) {/Times-Roman cf} ctmk 4 0 1.00 -64 -192 
367 infolabel
368 endgate
369 } def
372 % EndLib