Subversion Repositories wimsdev

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
%!PS-Adobe-3.0 EPSF-3.0
2
%%Title: template
3
%%Creator: XCircuit v3.4 rev7
4
%%CreationDate: Thu Oct  5 17:19:45 2006
5
%%Pages: 1
6
%%BoundingBox: 60 60 400 400
7
%%DocumentNeededResources: font Helvetica font Times-Roman 
8
%%EndComments
9
%%BeginProlog
10
%
11
%  PostScript prolog for output from xcircuit
12
%  Version: 3.3
13
%
14
%  Electrical circuit (and otherwise general) drawing program
15
%
16
%  Written by Tim Edwards 8/5/93--7/13/05  (tim.edwards@multigig.com)
17
%  The Johns Hopkins University (1993-2004)
18
%  MultiGiG, Inc. (2004-present)
19
%
20
%%BeginResource: procset XCIRCproc 3.3 0
21
%
22
% supporting definitions --- these are the primary xcircuit types.
23
 
24
/XCIRCsave save def
25
/topmat matrix currentmatrix def
26
 
27
/fontslant { /slant exch def [1 0 slant 1 0 0] 
28
    exch findfont exch makefont dup length dict /ndict exch def
29
    { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
30
    ndict definefont pop} def
31
/ul { dup type /stringtype eq showflag 1 eq and { gsave 
32
   currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
33
   false charpath flattenpath pathbbox grestore exch pop 1 index
34
   sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
35
   rlineto stroke moveto } if } def
36
/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
37
   currentpoint topmat setmatrix 2 index stringwidth pop 3 index
38
   true charpath flattenpath pathbbox grestore exch pop
39
   exch pop topmat setmatrix (_) true charpath pathbbox grestore
40
   exch pop 1 index sub setlinewidth exch pop currentpoint
41
   exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
42
   moveto } if } def
43
/stW { gsave currentpoint newpath moveto true charpath flattenpath
44
	pathbbox pop exch pop sub grestore } def
45
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
46
 
47
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
48
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
49
	{currentpoint exch pop moveto exit} {pop} ifelse } for } def
50
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
51
	{currentpoint exch pop moveto exit} {pop} ifelse } for } def
52
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
53
/hS { qS qS } def
54
/pspc 0 def
55
/cf0 { scalefont setfont } bind def
56
/Kn { dup kY add /kY exch def rmoveto } bind def
57
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
58
	0.33 mul neg Kn} def
59
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
60
	0.67 mul Kn } def
61
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
62
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
63
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
64
	{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
65
	{fscale0 mul fscale mul cf0} ifelse } def
66
/ctmk { counttomark dup 2 add -1 roll pop } bind def
67
/label { gsave translate 0 0 moveto dup scale neg /rotval exch def
68
	/just exch def just 384 and 0 gt {/mshow {pop} def} {/mshow {show}
69
	def} ifelse just 16 and 0 gt {gsave rotval rotate 0 1 dtransform
70
	gsave pagemat setmatrix idtransform exch grestore 1 0 dtransform
71
	gsave pagemat setmatrix idtransform exch grestore dup abs 1e-9 lt
72
	{pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse grestore {-1 /rotval
73
	rotval neg def /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse
74
	exch -1e-9 lt {-1 /rotval rotval neg def /just just dup 12 and
75
	4 ne {12 xor} if def} {1} ifelse scale } if /showflag 0 def
76
	/fspc pspc def /Bline 0 def /Tabs 0 array def /fscale 1.0 def
77
	/kY 0 def gsave dup 1 add copy 0 exch 1 0 dtransform exch atan rotate
78
	{exch dup type /stringtype eq {true charpath flattenpath} {dup type
79
	/arraytype eq {exec} {12 string cvs true charpath flattenpath} ifelse}
80
	ifelse} repeat pop pathbbox grestore 3 -1 roll pop 3 1 roll just
81
	1 and 0 gt {just 2 and 0 gt {exch pop neg fspc sub} {exch sub 0.5
82
	mul neg} ifelse} {pop neg fspc add} ifelse exch Bline exch just 4
83
	and 0 gt {just 8 and 0 gt {exch pop neg fspc sub} {add 0.5 mul neg}
84
	ifelse} {pop neg fspc add} ifelse rotval rotate Kn currentpoint
85
	translate /showflag 1 def /Bline 0 def /Tabs 0 array def /fscale
86
	1.0 def /kY 0 def {dup type /stringtype eq {mshow} {dup type
87
	/arraytype eq {exec} {12 string cvs mshow} ifelse} ifelse} repeat
88
	grestore } def
89
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
90
	/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
91
/pinglobal { pinlabel } def
92
/infolabel { pinlabel } def
93
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate
94
 
95
 
96
/scb { setrgbcolor } bind def  /sce { defColor aload pop scb } bind def
97
/cRedef {/defColor currentcolor 3 array astore def} def
98
/begingate {dup type /dicttype ne {1 dict} if begin	% default params
99
	dup type /dicttype ne {1 dict} if begin		% instanced params
100
	/hlevel hlevel 1 add def /defColor currentcolor sce 3 array
101
	astore def gsave sce translate 0 0 moveto neg rotate dup abs scale
102
	} bind def
103
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
104
	scb end end} bind def
105
 
106
/hlevel 0 def
107
/tmpa [1 0 0 1 0 0] def
108
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
109
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
110
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
111
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
112
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
113
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
114
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
115
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
116
  neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
117
  gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
118
  { 3 index exch 5 exch put dup -8 3 index { 3 index
119
  exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
120
/setstyles {
121
  currentlinewidth mul setlinewidth /style exch def
122
  style 1 and 0 gt not {closepath} if
123
  style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
124
  style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
125
  gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
126
  7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
127
  {3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
128
  {dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
129
  {style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt 
130
  style 512 eq or {newpath} {stroke} ifelse grestore} def     
131
 
132
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
133
/xcarc   { gsave newpath arc setstyles } def
134
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
135
	3 index div 1 scale } def
136
/ele { 0 4 1 roll 0 4 1 roll } bind def
137
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
138
/pellip  { elb ele arc setmatrix } def
139
/nellip  { elb ele arcn setmatrix } def
140
/spline  { gsave moveto curveto setstyles } def
141
/polyc   { {lineto} repeat } bind def
142
/beginpath { gsave moveto } bind def
143
/endpath { setstyles } bind def
144
/bop	 { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
145
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
146
	rotate translate dup scale} def
147
/end_insert {PSobj restore} def
148
/setpagemat {/pagemat matrix currentmatrix def} def
149
/inchscale  {setpagemat 0.375 mul dup scale} def
150
/cmscale    {setpagemat 0.35433071 mul dup scale} def
151
 
152
%%EndResource
153
%%EndProlog
154
 
155
% XCircuit output starts here.
156
 
157
%%BeginSetup
158
 
159
/tap {
160
% trivial
161
<</in (bus\(0:7\)) /out (bus\(0\)) >> begingate
162
496 1.00 0 8 16 0 0 -8 3 polygon
163
1.000 0.000 0.000 scb
164
mark out {/Helvetica cf} ctmk 20 0 1.00 16 0 pinlabel
165
mark in {/Helvetica cf} ctmk 23 0 1.00 0 0 pinlabel
166
endgate
167
} def
168
 
169
/source {
170
% hidden
171
begingate
172
1 1.00 0 0 32 0.00 360.00 xcarc
173
1 1.00 0 32 0 64 2 polygon
174
1 1.00 0 -32 0 -64 2 polygon
175
endgate
176
} def
177
 
178
/acsource {
179
begingate
180
1.00 0 0 0 source
181
1 0.80 0 -48 0 48 -16 0 16 0 spline
182
1.000 0.000 0.000 scb
183
(s.p) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
184
(s.m) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
185
endgate
186
} def
187
 
188
/dot {
189
% trivial
190
begingate
191
248 1.00 0 0 10 0.00 360.00 xcarc
192
1.000 0.000 0.000 scb
193
(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
194
endgate
195
} def
196
 
197
/arrowhead {
198
% trivial
199
begingate
200
8 -28 beginpath
201
3 -18 3 -15 0 0 curveto
202
-3 -15 -3 -18 -8 -28 curveto
203
-2 -26 2 -26 8 -28 curveto
204
249 1.00 endpath
205
endgate
206
} def
207
 
208
/npn {
209
begingate
210
1 1.00 -48 0 -64 0 2 polygon
211
1 1.00 -48 48 -48 -48 2 polygon
212
1 1.00 0 48 -48 22 2 polygon
213
1 1.00 0 48 0 64 2 polygon
214
1 1.00 0 -48 -48 -22 2 polygon
215
1 1.00 0 -48 0 -64 2 polygon
216
1.00 120 0 -48 arrowhead
217
1.000 0.000 0.000 scb
218
(C) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
219
(B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
220
(E) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
221
0.159 0.540 0.349 scb
222
(spice:Q%i %pC %pB %pE npn) {/Times-Roman cf} 2 4 0 1.00 -244 -139 infolabel
223
(sim:b %pB %pE %pC) {/Times-Roman cf} 2 4 0 1.00 -244 -187 infolabel
224
endgate
225
} def
226
 
227
/pnp {
228
begingate
229
1 1.00 -48 0 -64 0 2 polygon
230
1 1.00 -48 48 -48 -48 2 polygon
231
1 1.00 0 48 -48 22 2 polygon
232
1 1.00 0 48 0 64 2 polygon
233
1 1.00 0 -48 -48 -22 2 polygon
234
1 1.00 0 -48 0 -64 2 polygon
235
1.00 240 -48 22 arrowhead
236
1.000 0.000 0.000 scb
237
(C) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
238
(B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
239
(E) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
240
0.159 0.540 0.349 scb
241
(spice:Q%i %pC %pB %pE pnp) {/Times-Roman cf} 2 4 0 1.00 -244 -139 infolabel
242
endgate
243
} def
244
 
245
 
246
%%EndSetup
247
 
248
%%Page: 1 1
249
%%PageOrientation: Portrait
250
/pgsave save def bop
251
0.5000 inchscale
252
2.6000 setlinewidth 432 550 translate