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 |