1 |
2 |
droggen |
%!PS-Adobe-3.0 EPSF-3.0
|
2 |
|
|
%%Title: cpu-seq
|
3 |
|
|
%%Creator: Xcircuit v3.3
|
4 |
|
|
%%CreationDate: Sun Nov 9 11:39:59 2014
|
5 |
|
|
%%Pages: 1
|
6 |
|
|
%%BoundingBox: 68 68 502 346
|
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 |
|
|
/::dffre {
|
160 |
|
|
begingate
|
161 |
|
|
|
162 |
|
|
(d) {/Helvetica cf} 2 20 0 1.00 -64 80 label
|
163 |
|
|
(en) {/Helvetica cf} 2 20 0 1.00 -64 32 label
|
164 |
|
|
(q) {/Helvetica cf} 2 23 0 1.00 64 0 label
|
165 |
|
|
1 1.00 -80 -64 -64 -80 -80 -96 3 polygon
|
166 |
|
|
1 1.00 -80 -80 -96 -80 2 polygon
|
167 |
|
|
(clk) {/Helvetica cf} 2 21 0 1.00 -32 -80 label
|
168 |
|
|
1 1.00 80 0 96 0 2 polygon
|
169 |
|
|
1 1.00 -80 32 -96 32 2 polygon
|
170 |
|
|
1 1.00 -80 80 -96 80 2 polygon
|
171 |
|
|
(rst) {/Helvetica cf} 2 20 0 1.00 -64 -16 label
|
172 |
|
|
1 1.00 -80 -16 -96 -16 2 polygon
|
173 |
|
|
endgate
|
174 |
|
|
} def
|
175 |
|
|
|
176 |
|
|
/jumper {
|
177 |
|
|
% trivial
|
178 |
|
|
begingate
|
179 |
|
|
1 1.00 0 0 10 -90.00 90.00 xcarc
|
180 |
|
|
1 1.00 0 10 0 16 2 polygon
|
181 |
|
|
1 1.00 0 -10 0 -16 2 polygon
|
182 |
|
|
1.000 0.000 0.000 scb
|
183 |
|
|
(a) {/Times-Roman cf} 2 1 0 1.00 0 16 pinlabel
|
184 |
|
|
(a) {/Times-Roman cf} 2 13 0 1.00 0 -16 pinlabel
|
185 |
|
|
endgate
|
186 |
|
|
} def
|
187 |
|
|
|
188 |
|
|
/and_gate {
|
189 |
|
|
% trivial
|
190 |
|
|
begingate
|
191 |
|
|
1 1.00 0 -48 -64 -48 -64 48 0 48 4 polygon
|
192 |
|
|
1 1.00 0 0 48 -90.00 90.00 xcarc
|
193 |
|
|
1.000 0.000 0.000 scb
|
194 |
|
|
(Out) {/Times-Roman cf} 2 4 0 1.00 48 0 pinlabel
|
195 |
|
|
(In.1) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
|
196 |
|
|
(In.2) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel
|
197 |
|
|
endgate
|
198 |
|
|
} def
|
199 |
|
|
|
200 |
|
|
/invert {
|
201 |
|
|
% trivial
|
202 |
|
|
begingate
|
203 |
|
|
|
204 |
|
|
1 1.00 48 0 8 0.00 360.00 xcarc
|
205 |
|
|
1 1.00 -32 0 -48 0 2 polygon
|
206 |
|
|
1 1.00 56 0 64 0 2 polygon
|
207 |
|
|
1.000 0.000 0.000 scb
|
208 |
|
|
(Out) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
|
209 |
|
|
(In) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel
|
210 |
|
|
endgate
|
211 |
|
|
} def
|
212 |
|
|
|
213 |
|
|
/dot {
|
214 |
|
|
% trivial
|
215 |
|
|
begingate
|
216 |
|
|
248 1.00 0 0 6 0.00 360.00 xcarc
|
217 |
|
|
1.000 0.000 0.000 scb
|
218 |
|
|
(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
|
219 |
|
|
endgate
|
220 |
|
|
} def
|
221 |
|
|
|
222 |
|
|
/arrowhead {
|
223 |
|
|
% trivial
|
224 |
|
|
begingate
|
225 |
|
|
8 -28 beginpath
|
226 |
|
|
3 -18 3 -15 0 0 curveto
|
227 |
|
|
-3 -15 -3 -18 -8 -28 curveto
|
228 |
|
|
-2 -26 2 -26 8 -28 curveto
|
229 |
|
|
249 1.00 endpath
|
230 |
|
|
endgate
|
231 |
|
|
} def
|
232 |
|
|
|
233 |
|
|
/arrow {
|
234 |
|
|
% trivial
|
235 |
|
|
begingate
|
236 |
|
|
1 0.80 0 -40 0 20 2 polygon
|
237 |
|
|
1.00 0 0 40 arrowhead
|
238 |
|
|
endgate
|
239 |
|
|
} def
|
240 |
|
|
|
241 |
|
|
|
242 |
|
|
%%EndSetup
|
243 |
|
|
|
244 |
|
|
%%Page: cpu 1
|
245 |
|
|
%%PageOrientation: Portrait
|
246 |
|
|
/pgsave save def bop
|
247 |
|
|
1.0000 inchscale
|
248 |
|
|
2.6000 setlinewidth -766 864 translate
|
249 |
|
|
|
250 |
|
|
|
251 |
|
|
1.00 0 1616 -240 ::dffre
|
252 |
|
|
1 1.00 1856 -384 2016 -384 2 polygon
|
253 |
|
|
(seq) {/Helvetica cf} 2 20 0 1.00 2032 -384 label
|
254 |
|
|
1 1.00 1968 -368 1984 -400 2 polygon
|
255 |
|
|
(2) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 1968 -368 label
|
256 |
|
|
1 1.00 1696 -240 1824 -240 2 polygon
|
257 |
|
|
(seq\(1\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 20 0 1.00 1696 -224 label
|
258 |
|
|
(seq\(0\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 20 0 1.00 1696 -512 label
|
259 |
|
|
(seq\(1..0\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 20 0 1.00 1840 -368 label
|
260 |
|
|
1 1.00 1408 -208 1408 -432 2 polygon
|
261 |
|
|
1 1.00 1408 -496 1520 -496 2 polygon
|
262 |
|
|
1 1.00 1520 -208 1408 -208 2 polygon
|
263 |
|
|
1 1.00 1520 -256 1440 -256 2 polygon
|
264 |
|
|
1 1.00 1440 -256 1440 -432 2 polygon
|
265 |
|
|
1.00 0 1440 -496 jumper
|
266 |
|
|
1 1.00 1440 -512 1440 -544 1520 -544 3 polygon
|
267 |
|
|
1 1.00 1520 -320 1472 -320 2 polygon
|
268 |
|
|
1 1.00 1472 -320 1472 -432 2 polygon
|
269 |
|
|
1.00 0 1472 -496 jumper
|
270 |
|
|
1.00 0 1472 -544 jumper
|
271 |
|
|
1 1.00 1472 -512 1472 -528 2 polygon
|
272 |
|
|
1 1.00 1472 -560 1472 -608 1520 -608 3 polygon
|
273 |
|
|
1 1.00 1792 -528 1792 -256 2 polygon
|
274 |
|
|
1.00 0 1616 -528 ::dffre
|
275 |
|
|
1.00 0 1328 -448 and_gate
|
276 |
|
|
1 1.00 1376 -448 1520 -448 2 polygon
|
277 |
|
|
1.00 0 1472 -448 jumper
|
278 |
|
|
1.00 0 1440 -448 jumper
|
279 |
|
|
1.00 0 1408 -448 jumper
|
280 |
|
|
1 1.00 1408 -496 1408 -464 2 polygon
|
281 |
|
|
1 1.00 1440 -464 1440 -480 2 polygon
|
282 |
|
|
1 1.00 1472 -464 1472 -480 2 polygon
|
283 |
|
|
1.00 0 1168 -400 invert
|
284 |
|
|
1.00 0 1168 -512 invert
|
285 |
|
|
1 1.00 1232 -512 1232 -480 1264 -480 3 polygon
|
286 |
|
|
1 1.00 1232 -400 1232 -432 1264 -432 3 polygon
|
287 |
|
|
1.00 0 1792 -240 jumper
|
288 |
|
|
1 1.00 1792 -224 1792 -64 1408 -64 1408 -160 4 polygon
|
289 |
|
|
1 1.00 1408 -160 1520 -160 2 polygon
|
290 |
|
|
1 1.00 1424 -64 1088 -64 1088 -512 1120 -512 4 polygon
|
291 |
|
|
1 1.00 1760 -240 1760 -96 1424 -96 3 polygon
|
292 |
|
|
1 1.00 1120 -400 1120 -96 1392 -96 3 polygon
|
293 |
|
|
1.00 270 1408 -96 jumper
|
294 |
|
|
1.00 0 1408 -64 dot
|
295 |
|
|
1 1.00 1712 -528 1792 -528 2 polygon
|
296 |
|
|
1.00 0 1760 -240 dot
|
297 |
|
|
1 1.00 1824 -240 1824 -384 2 polygon
|
298 |
|
|
1 1.00 1824 -384 1856 -384 2 polygon
|
299 |
|
|
1 1.00 1792 -528 1824 -528 2 polygon
|
300 |
|
|
1.00 180 1824 -352 arrow
|
301 |
|
|
1.00 0 1824 -416 arrow
|
302 |
|
|
1 1.00 1824 -528 1824 -448 2 polygon
|
303 |
|
|
1.00 0 1792 -528 dot
|
304 |
|
|
1 1.00 1472 -640 1024 -640 2 polygon
|
305 |
|
|
(clk) {/Helvetica cf} 2 23 0 1.00 1008 -640 label
|
306 |
|
|
(rst) {/Helvetica cf} 2 23 0 1.00 1008 -608 label
|
307 |
|
|
1 1.00 1440 -544 1440 -608 1024 -608 3 polygon
|
308 |
|
|
1 1.00 1408 -496 1408 -576 2 polygon
|
309 |
|
|
1 1.00 1472 -608 1472 -640 2 polygon
|
310 |
|
|
1 1.00 1408 -576 1024 -576 2 polygon
|
311 |
|
|
(en) {/Helvetica cf} 2 23 0 1.00 1008 -576 label
|
312 |
|
|
(Instruction fetch/execute state sequence) {/Helvetica 1.200 cf}
|
313 |
|
|
{/Helvetica cf} 3 21 360 1.00 1520 32 label
|
314 |
|
|
pgsave restore showpage
|
315 |
|
|
|
316 |
|
|
%%Trailer
|
317 |
|
|
XCIRCsave restore
|
318 |
|
|
%%EOF
|