1 |
2 |
droggen |
%!PS-Adobe-3.0 EPSF-3.0
|
2 |
|
|
%%Title: cpu-cpu
|
3 |
|
|
%%Creator: Xcircuit v3.3
|
4 |
|
|
%%CreationDate: Sun Nov 9 23:46:35 2014
|
5 |
|
|
%%Pages: 1
|
6 |
|
|
%%BoundingBox: 68 68 1436 1089
|
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 |
|
|
/::mux2 {
|
177 |
|
|
begingate
|
178 |
|
|
1 1.00 160 64 -160 64 2 polygon
|
179 |
|
|
1 1.00 -160 64 -48 -48 48 -48 160 64 4 polygon
|
180 |
|
|
1 1.00 0 -48 0 -64 2 polygon
|
181 |
|
|
1 1.00 64 64 64 80 2 polygon
|
182 |
|
|
1 1.00 -96 0 -160 0 2 polygon
|
183 |
|
|
{ss} (s) {/Helvetica cf} 3 20 0 1.00 -80 0 label
|
184 |
|
|
(0) {/Helvetica cf} 2 29 0 1.00 64 64 label
|
185 |
|
|
1 1.00 -64 64 -64 80 2 polygon
|
186 |
|
|
(1) {/Helvetica cf} 2 29 0 1.00 -64 64 label
|
187 |
|
|
endgate
|
188 |
|
|
} def
|
189 |
|
|
|
190 |
|
|
/regbank {
|
191 |
|
|
begingate
|
192 |
|
|
|
193 |
|
|
(rwren) {/Helvetica cf} 2 23 0 1.00 -48 80 label
|
194 |
|
|
(clk) {/Helvetica cf} 2 23 0 1.00 -80 -208 label
|
195 |
|
|
(rwr) {/Helvetica cf} 2 23 0 1.00 -80 160 label
|
196 |
|
|
(rst) {/Helvetica cf} 2 23 0 1.00 -80 -144 label
|
197 |
|
|
(d) {/Helvetica cf} 2 23 0 1.00 -128 240 label
|
198 |
|
|
1 1.00 -208 256 -192 224 2 polygon
|
199 |
|
|
(8) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 -208 256 label
|
200 |
|
|
1 1.00 -160 240 -224 240 2 polygon
|
201 |
|
|
1 1.00 -160 160 -224 160 2 polygon
|
202 |
|
|
(2) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 -208 176 label
|
203 |
|
|
1 1.00 -208 176 -192 144 2 polygon
|
204 |
|
|
1 1.00 -160 -224 -144 -208 -160 -192 3 polygon
|
205 |
|
|
1 1.00 -160 -208 -224 -208 2 polygon
|
206 |
|
|
1 1.00 -160 -144 -224 -144 2 polygon
|
207 |
|
|
(rrd1) {/Helvetica cf} 2 23 0 1.00 -80 -16 label
|
208 |
|
|
1 1.00 -160 -16 -224 -16 2 polygon
|
209 |
|
|
(rrd2) {/Helvetica cf} 2 23 0 1.00 -80 -80 label
|
210 |
|
|
1 1.00 -160 -80 -224 -80 2 polygon
|
211 |
|
|
1 1.00 -160 80 -224 80 2 polygon
|
212 |
|
|
1 1.00 -208 0 -192 -32 2 polygon
|
213 |
|
|
(2) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 -208 0 label
|
214 |
|
|
1 1.00 -208 -64 -192 -96 2 polygon
|
215 |
|
|
(2) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 -208 -64 label
|
216 |
|
|
1 1.00 160 16 224 16 2 polygon
|
217 |
|
|
1 1.00 176 32 192 0 2 polygon
|
218 |
|
|
(8) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 176 32 label
|
219 |
|
|
1 1.00 176 -96 192 -128 2 polygon
|
220 |
|
|
(8) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 176 -96 label
|
221 |
|
|
1 1.00 160 -112 224 -112 2 polygon
|
222 |
|
|
{ns} (q1) {/Helvetica cf} 3 16 0 1.00 112 16 label
|
223 |
|
|
(q2) {/Helvetica cf} 2 16 0 1.00 112 -112 label
|
224 |
|
|
(Register bank) {/Helvetica cf} 2 21 0 1.00 0 288 label
|
225 |
|
|
endgate
|
226 |
|
|
} def
|
227 |
|
|
|
228 |
|
|
/alu {
|
229 |
|
|
begingate
|
230 |
|
|
1 1.00 -64 80 -64 80 0 16 64 80 4 polygon
|
231 |
|
|
1 1.00 -64 80 -224 80 2 polygon
|
232 |
|
|
1 1.00 224 80 64 80 2 polygon
|
233 |
|
|
1 1.00 -224 80 -64 -80 2 polygon
|
234 |
|
|
1 1.00 224 80 64 -80 2 polygon
|
235 |
|
|
1 1.00 -64 -80 64 -80 2 polygon
|
236 |
|
|
1 1.00 0 -80 0 -112 2 polygon
|
237 |
|
|
1 1.00 -112 112 -112 80 2 polygon
|
238 |
|
|
1 1.00 -144 112 -144 112 2 polygon
|
239 |
|
|
(A) {/Helvetica cf} 2 21 0 1.00 -112 48 label
|
240 |
|
|
(B) {/Helvetica cf} 2 21 0 1.00 112 48 label
|
241 |
|
|
1 1.00 144 112 144 112 2 polygon
|
242 |
|
|
1 1.00 112 112 112 80 2 polygon
|
243 |
|
|
(q) {/Helvetica cf} 2 21 0 1.00 0 -48 label
|
244 |
|
|
1 1.00 -128 -16 -160 -16 2 polygon
|
245 |
|
|
(op) {/Helvetica cf} 2 16 0 1.00 -112 -16 label
|
246 |
|
|
1 1.00 128 -16 160 -16 2 polygon
|
247 |
|
|
{ns} (f) {/Helvetica cf} 3 16 0 1.00 80 -16 label
|
248 |
|
|
endgate
|
249 |
|
|
} def
|
250 |
|
|
|
251 |
|
|
/seq {
|
252 |
|
|
begingate
|
253 |
|
|
|
254 |
|
|
(clk) {/Helvetica cf} 2 23 0 1.00 -80 -32 label
|
255 |
|
|
(rst) {/Helvetica cf} 2 23 0 1.00 -80 32 label
|
256 |
|
|
1 1.00 -160 -48 -144 -32 -160 -16 3 polygon
|
257 |
|
|
1 1.00 -160 -32 -192 -32 2 polygon
|
258 |
|
|
1 1.00 -160 32 -192 32 2 polygon
|
259 |
|
|
1 1.00 160 48 192 48 2 polygon
|
260 |
|
|
{ns} (fetchh) {/Helvetica cf} 3 23 0 1.00 144 48 label
|
261 |
|
|
(Fetch/exec seq) {/Helvetica cf} 2 21 0 1.00 0 112 label
|
262 |
|
|
{ns} (fetchl) {/Helvetica cf} 3 23 0 1.00 144 -16 label
|
263 |
|
|
(exec) {/Helvetica cf} 2 23 0 1.00 144 -80 label
|
264 |
|
|
1 1.00 160 -16 192 -16 2 polygon
|
265 |
|
|
1 1.00 160 -80 192 -80 2 polygon
|
266 |
|
|
1 1.00 -112 16 -112 32 2 polygon
|
267 |
|
|
endgate
|
268 |
|
|
} def
|
269 |
|
|
|
270 |
|
|
/arrowhead {
|
271 |
|
|
% trivial
|
272 |
|
|
begingate
|
273 |
|
|
8 -28 beginpath
|
274 |
|
|
3 -18 3 -15 0 0 curveto
|
275 |
|
|
-3 -15 -3 -18 -8 -28 curveto
|
276 |
|
|
-2 -26 2 -26 8 -28 curveto
|
277 |
|
|
249 1.00 endpath
|
278 |
|
|
endgate
|
279 |
|
|
} def
|
280 |
|
|
|
281 |
|
|
/jumper {
|
282 |
|
|
% trivial
|
283 |
|
|
begingate
|
284 |
|
|
1 1.00 0 0 10 -90.00 90.00 xcarc
|
285 |
|
|
1 1.00 0 10 0 16 2 polygon
|
286 |
|
|
1 1.00 0 -10 0 -16 2 polygon
|
287 |
|
|
1.000 0.000 0.000 scb
|
288 |
|
|
(a) {/Times-Roman cf} 2 1 0 1.00 0 16 pinlabel
|
289 |
|
|
(a) {/Times-Roman cf} 2 13 0 1.00 0 -16 pinlabel
|
290 |
|
|
endgate
|
291 |
|
|
} def
|
292 |
|
|
|
293 |
|
|
/dot {
|
294 |
|
|
% trivial
|
295 |
|
|
begingate
|
296 |
|
|
248 1.00 0 0 6 0.00 360.00 xcarc
|
297 |
|
|
1.000 0.000 0.000 scb
|
298 |
|
|
(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
|
299 |
|
|
endgate
|
300 |
|
|
} def
|
301 |
|
|
|
302 |
|
|
/_::add {
|
303 |
|
|
begingate
|
304 |
|
|
|
305 |
|
|
(+) {/Helvetica cf} 2 21 0 1.00 0 -32 label
|
306 |
|
|
1 1.00 -32 48 -32 32 2 polygon
|
307 |
|
|
1 1.00 32 48 32 32 2 polygon
|
308 |
|
|
1 1.00 80 -32 64 -32 2 polygon
|
309 |
|
|
1 1.00 -64 -32 -80 -32 2 polygon
|
310 |
|
|
(i) {ss} (c) {/Helvetica cf} 4 21 0 1.00 48 -32 label
|
311 |
|
|
(o) {ss} (c) {/Helvetica cf} 4 21 0 1.00 -48 -32 label
|
312 |
|
|
1 1.00 0 -96 0 -112 2 polygon
|
313 |
|
|
endgate
|
314 |
|
|
} def
|
315 |
|
|
|
316 |
|
|
/or_gate {
|
317 |
|
|
% trivial
|
318 |
|
|
begingate
|
319 |
|
|
1 1.00 -19 -48 96 30.00 90.00 xcarc
|
320 |
|
|
1 1.00 -19 48 96 270.00 330.00 xcarc
|
321 |
|
|
1 1.00 -112 0 80 -37.00 37.00 xcarc
|
322 |
|
|
1 1.00 -48 48 -19 48 2 polygon
|
323 |
|
|
1 1.00 -48 -48 -19 -48 2 polygon
|
324 |
|
|
1.000 0.000 0.000 scb
|
325 |
|
|
(Out) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
|
326 |
|
|
(In.1) {/Times-Roman cf} 2 7 0 1.00 -40 32 pinlabel
|
327 |
|
|
(In.2) {/Times-Roman cf} 2 7 0 1.00 -40 -32 pinlabel
|
328 |
|
|
endgate
|
329 |
|
|
} def
|
330 |
|
|
|
331 |
|
|
/mux2b {
|
332 |
|
|
begingate
|
333 |
|
|
1 1.00 160 64 -160 64 2 polygon
|
334 |
|
|
1 1.00 -160 64 -48 -48 48 -48 160 64 4 polygon
|
335 |
|
|
1 1.00 0 -48 0 -64 2 polygon
|
336 |
|
|
1 1.00 64 64 64 80 2 polygon
|
337 |
|
|
1 1.00 160 0 96 0 2 polygon
|
338 |
|
|
{ss} (s) {/Helvetica cf} 3 20 0 1.00 64 0 label
|
339 |
|
|
(0) {/Helvetica cf} 2 29 0 1.00 64 64 label
|
340 |
|
|
1 1.00 -64 64 -64 80 2 polygon
|
341 |
|
|
(1) {/Helvetica cf} 2 29 0 1.00 -64 64 label
|
342 |
|
|
endgate
|
343 |
|
|
} def
|
344 |
|
|
|
345 |
|
|
|
346 |
|
|
%%EndSetup
|
347 |
|
|
|
348 |
|
|
%%Page: cpu.ps 1
|
349 |
|
|
%%PageOrientation: Portrait
|
350 |
|
|
/pgsave save def bop
|
351 |
|
|
1.0000 inchscale
|
352 |
|
|
2.6000 setlinewidth 1084 3648 translate
|
353 |
|
|
|
354 |
|
|
1.00 0 1520 -3200 ::dffre
|
355 |
|
|
1.00 0 64 -1872 ::dffre
|
356 |
|
|
1.00 360 1344 -2464 ::mux2
|
357 |
|
|
1.00 0 992 -2000 regbank
|
358 |
|
|
1.00 0 1232 -2736 alu
|
359 |
|
|
1.00 0 -368 -1488 seq
|
360 |
|
|
1.00 0 64 -2224 ::dffre
|
361 |
|
|
1 1.00 160 -1872 272 -1872 272 -2032 3 polygon
|
362 |
|
|
1 1.00 272 -2048 368 -2048 2 polygon
|
363 |
|
|
1.00 180 272 -2048 arrowhead
|
364 |
|
|
(instruction\(15..0\)) {/Helvetica cf} 2 16 270 1.00 352 -2400 label
|
365 |
|
|
(instruction\(15..8\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 176
|
366 |
|
|
-1856 label
|
367 |
|
|
1 1.00 -32 -2144 -240 -2144 2 polygon
|
368 |
|
|
1 1.00 -32 -1792 -240 -1792 2 polygon
|
369 |
|
|
1 1.00 -240 -2144 -240 -1792 2 polygon
|
370 |
|
|
1 1.00 -240 -1792 -656 -1792 2 polygon
|
371 |
|
|
1 1.00 160 -2224 272 -2224 2 polygon
|
372 |
|
|
1.00 0 272 -2048 arrowhead
|
373 |
|
|
1 1.00 272 -2224 272 -2080 2 polygon
|
374 |
|
|
(instruction\(7..0\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 160
|
375 |
|
|
-2256 label
|
376 |
|
|
1 1.00 -32 -1840 -80 -1840 -80 -1808 3 polygon
|
377 |
|
|
1.00 0 -80 -1792 jumper
|
378 |
|
|
1 1.00 -80 -1776 -80 -1440 -176 -1440 3 polygon
|
379 |
|
|
1 1.00 -32 -2192 -112 -2192 2 polygon
|
380 |
|
|
1.00 0 -112 -2144 jumper
|
381 |
|
|
1.00 0 -112 -1792 jumper
|
382 |
|
|
1 1.00 -112 -2192 -112 -2160 2 polygon
|
383 |
|
|
1 1.00 -112 -2128 -112 -1808 2 polygon
|
384 |
|
|
1 1.00 -176 -1504 -112 -1504 -112 -1776 3 polygon
|
385 |
|
|
(ram_datard) {/Helvetica cf} 2 23 0 1.00 -672 -1792 label
|
386 |
|
|
1.00 270 -112 -1568 jumper
|
387 |
|
|
1.00 270 -80 -1568 jumper
|
388 |
|
|
1 1.00 -176 -1568 -128 -1568 2 polygon
|
389 |
|
|
1 1.00 -64 -1568 608 -1568 2 polygon
|
390 |
|
|
1 1.00 1216 -2112 1408 -2112 1408 -2384 3 polygon
|
391 |
|
|
1 1.00 368 -2320 368 -2320 368 -2320 3 polygon
|
392 |
|
|
1 1.00 368 -1840 368 -2736 2 polygon
|
393 |
|
|
(source) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 1360 -2544 label
|
394 |
|
|
(instruction\(7..0\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 416
|
395 |
|
|
-2304 label
|
396 |
|
|
1.00 90 400 -2016 arrowhead
|
397 |
|
|
1 1.00 400 -2016 768 -2016 2 polygon
|
398 |
|
|
(instruction\(9..8\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400
|
399 |
|
|
-2000 label
|
400 |
|
|
1.00 90 400 -2080 arrowhead
|
401 |
|
|
(instruction\(1..0\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400
|
402 |
|
|
-2064 label
|
403 |
|
|
1 1.00 400 -2080 768 -2080 2 polygon
|
404 |
|
|
1 1.00 400 -1840 768 -1840 2 polygon
|
405 |
|
|
(instruction\(9..8\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400
|
406 |
|
|
-1824 label
|
407 |
|
|
1.00 90 400 -1840 arrowhead
|
408 |
|
|
1 1.00 1216 -1984 1216 -2096 2 polygon
|
409 |
|
|
1.00 0 1216 -2112 jumper
|
410 |
|
|
1.00 0 1216 -2320 jumper
|
411 |
|
|
1 1.00 1216 -2128 1216 -2304 2 polygon
|
412 |
|
|
1.00 90 400 -2320 arrowhead
|
413 |
|
|
1 1.00 400 -2320 1280 -2320 1280 -2384 3 polygon
|
414 |
|
|
1 1.00 1216 -2352 1120 -2352 1120 -2624 3 polygon
|
415 |
|
|
1 1.00 1344 -2528 1344 -2624 1328 -2624 3 polygon
|
416 |
|
|
1 1.00 1216 -2336 1216 -2352 2 polygon
|
417 |
|
|
1.00 270 1120 -2464 jumper
|
418 |
|
|
1 1.00 1136 -2464 1184 -2464 2 polygon
|
419 |
|
|
1 1.00 1104 -2464 400 -2464 2 polygon
|
420 |
|
|
1.00 90 400 -2464 arrowhead
|
421 |
|
|
(instruction\(12\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400 -2448
|
422 |
|
|
label
|
423 |
|
|
1 1.00 1376 -2752 1424 -2752 2 polygon
|
424 |
|
|
1 1.00 1600 -3200 1632 -3200 2 polygon
|
425 |
|
|
(flags\(3..0\)) {/Helvetica cf} 2 16 0 1.00 1616 -3232 label
|
426 |
|
|
(4) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 1392 -2736 label
|
427 |
|
|
1 1.00 1392 -2736 1408 -2768 2 polygon
|
428 |
|
|
1 1.00 1232 -2848 1232 -2880 2 polygon
|
429 |
|
|
1 1.00 1216 -2848 1248 -2864 2 polygon
|
430 |
|
|
(8) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 1216 -2848 label
|
431 |
|
|
1.00 0 368 -2048 dot
|
432 |
|
|
1.00 360 448 -1072 _::add
|
433 |
|
|
1.00 0 928 -1472 ::dffre
|
434 |
|
|
(ip\(4..0\)) {/Helvetica cf} 2 16 0 1.00 1072 -1504 label
|
435 |
|
|
1 1.00 1024 -1456 1040 -1488 2 polygon
|
436 |
|
|
(5) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 1024 -1456 label
|
437 |
|
|
1 1.00 1136 -1472 1136 -1472 2 polygon
|
438 |
|
|
1.00 0 256 -1328 or_gate
|
439 |
|
|
1 1.00 -80 -1440 -80 -1312 224 -1312 3 polygon
|
440 |
|
|
1.00 270 -80 -1504 jumper
|
441 |
|
|
1 1.00 -112 -1504 -96 -1504 2 polygon
|
442 |
|
|
1 1.00 -64 -1504 112 -1504 112 -1504 96 -1504 4 polygon
|
443 |
|
|
1.00 0 -80 -1440 dot
|
444 |
|
|
1.00 360 512 -1328 ::mux2
|
445 |
|
|
1 1.00 112 -1504 112 -1344 224 -1344 3 polygon
|
446 |
|
|
1 1.00 320 -1328 352 -1328 2 polygon
|
447 |
|
|
1 1.00 448 -1248 448 -1168 2 polygon
|
448 |
|
|
1 1.00 1136 -1472 1136 -960 480 -960 480 -1040 4 polygon
|
449 |
|
|
(1) {/Helvetica cf} 2 16 0 1.00 416 -1008 label
|
450 |
|
|
1 1.00 800 -1088 800 -960 2 polygon
|
451 |
|
|
(jump) {/Helvetica cf} 2 16 0 1.00 912 -1152 label
|
452 |
|
|
1 1.00 576 -1248 576 -1232 736 -1232 3 polygon
|
453 |
|
|
1 1.00 512 -1392 832 -1392 2 polygon
|
454 |
|
|
1.00 0 1136 -1472 dot
|
455 |
|
|
1 1.00 1024 -1472 1136 -1472 2 polygon
|
456 |
|
|
(aluqout) {/Helvetica cf} 2 16 0 1.00 1104 -2928 label
|
457 |
|
|
(ram_datawr) {/Helvetica cf} 2 23 360 1.00 -672 -3024 label
|
458 |
|
|
1 1.00 480 -960 -272 -960 2 polygon
|
459 |
|
|
(ram_address) {/Helvetica cf} 2 23 0 1.00 -656 -1024 label
|
460 |
|
|
1 1.00 -400 -1024 -624 -1024 2 polygon
|
461 |
|
|
1.00 90 -352 -1024 mux2b
|
462 |
|
|
1 1.00 336 -1328 336 -1216 -352 -1216 -352 -1184 4 polygon
|
463 |
|
|
1.00 0 336 -1328 dot
|
464 |
|
|
(register write) {/Helvetica cf} 2 21 0 1.00 624 -1904 label
|
465 |
|
|
|
466 |
|
|
(decode logic) {/Helvetica cf} 2 21 0 1.00 624 -1936 label
|
467 |
|
|
1 1.00 368 -1920 480 -1920 2 polygon
|
468 |
|
|
1.00 0 368 -1920 dot
|
469 |
|
|
(memory write) {/Helvetica cf} 2 21 0 1.00 -368 -1696 label
|
470 |
|
|
(decode logic) {/Helvetica cf} 2 21 0 1.00 -368 -1728 label
|
471 |
|
|
|
472 |
|
|
1 1.00 608 -1568 608 -1824 2 polygon
|
473 |
|
|
1.00 0 608 -1840 jumper
|
474 |
|
|
1 1.00 608 -1856 608 -1872 2 polygon
|
475 |
|
|
1 1.00 -512 -1712 -656 -1712 2 polygon
|
476 |
|
|
(ram_we) {/Helvetica cf} 2 23 0 1.00 -672 -1712 label
|
477 |
|
|
1 1.00 368 -1840 368 -1728 2 polygon
|
478 |
|
|
1.00 270 -112 -1728 jumper
|
479 |
|
|
1.00 270 -80 -1728 jumper
|
480 |
|
|
1 1.00 -64 -1728 368 -1728 2 polygon
|
481 |
|
|
1.00 0 368 -1728 dot
|
482 |
|
|
1 1.00 -128 -1728 -224 -1728 2 polygon
|
483 |
|
|
1.00 0 -160 -1568 dot
|
484 |
|
|
1 1.00 -160 -1568 -160 -1696 2 polygon
|
485 |
|
|
1 1.00 -160 -1696 -224 -1696 2 polygon
|
486 |
|
|
1.00 270 -640 -1712 arrowhead
|
487 |
|
|
1.00 270 -224 -1696 arrowhead
|
488 |
|
|
1.00 270 -224 -1728 arrowhead
|
489 |
|
|
1.00 180 608 -1888 arrowhead
|
490 |
|
|
1.00 90 480 -1920 arrowhead
|
491 |
|
|
1.00 90 832 -1760 arrowhead
|
492 |
|
|
1.00 90 832 -1840 arrowhead
|
493 |
|
|
1.00 90 832 -1920 arrowhead
|
494 |
|
|
1.00 90 832 -2016 arrowhead
|
495 |
|
|
1.00 90 832 -2080 arrowhead
|
496 |
|
|
1.00 90 832 -2144 arrowhead
|
497 |
|
|
1.00 90 832 -2208 arrowhead
|
498 |
|
|
1.00 90 848 -1552 arrowhead
|
499 |
|
|
1.00 90 848 -1488 arrowhead
|
500 |
|
|
1.00 90 848 -1440 arrowhead
|
501 |
|
|
1.00 90 848 -1392 arrowhead
|
502 |
|
|
1.00 180 448 -1200 arrowhead
|
503 |
|
|
1.00 180 480 -1040 arrowhead
|
504 |
|
|
1.00 90 -176 -1440 arrowhead
|
505 |
|
|
1.00 90 -176 -1504 arrowhead
|
506 |
|
|
1.00 90 -176 -1568 arrowhead
|
507 |
|
|
1.00 90 -608 -1456 arrowhead
|
508 |
|
|
1.00 90 -608 -1792 arrowhead
|
509 |
|
|
1.00 270 -640 -1024 arrowhead
|
510 |
|
|
|
511 |
|
|
(jump decode) {/Helvetica cf} 2 21 0 1.00 1344 -1568 label
|
512 |
|
|
(logic) {/Helvetica cf} 2 21 0 1.00 1344 -1600 label
|
513 |
|
|
1 1.00 1408 -2112 1408 -2112 2 polygon
|
514 |
|
|
1 1.00 368 -1728 368 -1600 2 polygon
|
515 |
|
|
1 1.00 384 -1600 592 -1600 2 polygon
|
516 |
|
|
1.00 270 608 -1600 jumper
|
517 |
|
|
1.00 90 400 -1600 arrowhead
|
518 |
|
|
(instruction\(15..8\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 624
|
519 |
|
|
-1584 label
|
520 |
|
|
1 1.00 1344 -2624 1536 -2624 1536 -1024 3 polygon
|
521 |
|
|
1.00 270 1136 -1024 jumper
|
522 |
|
|
1 1.00 1536 -1024 1152 -1024 2 polygon
|
523 |
|
|
1.00 270 800 -1024 jumper
|
524 |
|
|
1 1.00 816 -1024 1120 -1024 2 polygon
|
525 |
|
|
1 1.00 672 -1088 672 -1024 2 polygon
|
526 |
|
|
1 1.00 672 -1024 784 -1024 2 polygon
|
527 |
|
|
1.00 360 736 -1168 mux2b
|
528 |
|
|
1 1.00 816 -1440 736 -1440 2 polygon
|
529 |
|
|
(1) {/Helvetica cf} 2 16 0 1.00 688 -1440 label
|
530 |
|
|
1 1.00 624 -1600 1200 -1600 2 polygon
|
531 |
|
|
1.00 270 1136 -1168 jumper
|
532 |
|
|
1 1.00 896 -1168 1120 -1168 2 polygon
|
533 |
|
|
1 1.00 1152 -1168 1360 -1168 1360 -1552 3 polygon
|
534 |
|
|
1.00 90 1200 -1600 arrowhead
|
535 |
|
|
1.00 360 1360 -1632 arrowhead
|
536 |
|
|
1 1.00 1424 -2752 1424 -3120 2 polygon
|
537 |
|
|
1 1.00 1632 -3200 1632 -1728 2 polygon
|
538 |
|
|
1.00 270 1536 -1728 jumper
|
539 |
|
|
1 1.00 1632 -1728 1552 -1728 2 polygon
|
540 |
|
|
1 1.00 1520 -1728 1360 -1728 2 polygon
|
541 |
|
|
1 1.00 1360 -1728 1360 -1648 2 polygon
|
542 |
|
|
1.00 360 1360 -1520 arrowhead
|
543 |
|
|
(write data) {/Helvetica cf} 2 21 0 1.00 368 -2848 label
|
544 |
|
|
|
545 |
|
|
1.00 0 1344 -2624 dot
|
546 |
|
|
1 1.00 1328 -2624 1136 -2624 2 polygon
|
547 |
|
|
1.00 270 1120 -2624 jumper
|
548 |
|
|
1 1.00 1104 -2624 880 -2624 2 polygon
|
549 |
|
|
1 1.00 -240 -2144 -240 -2560 -240 -2848 3 polygon
|
550 |
|
|
1 1.00 -240 -2848 272 -2848 2 polygon
|
551 |
|
|
1.00 90 272 -2848 arrowhead
|
552 |
|
|
1.00 270 464 -2848 arrowhead
|
553 |
|
|
1 1.00 368 -2736 368 -2816 2 polygon
|
554 |
|
|
1.00 180 368 -2816 arrowhead
|
555 |
|
|
(select) {/Helvetica cf} 2 21 0 1.00 368 -2896 label
|
556 |
|
|
1.00 0 -240 -2144 dot
|
557 |
|
|
1 1.00 368 -2944 368 -3024 2 polygon
|
558 |
|
|
(wrdata\(7..0\)) {/Helvetica cf} 2 16 0 1.00 240 -3072 label
|
559 |
|
|
1 1.00 768 -1760 688 -1760 2 polygon
|
560 |
|
|
1 1.00 688 -1760 688 -1824 2 polygon
|
561 |
|
|
3 1.00 688 -1872 688 -1984 2 polygon
|
562 |
|
|
1 1.00 368 -3024 688 -3024 2 polygon
|
563 |
|
|
1.00 180 368 -2976 arrowhead
|
564 |
|
|
1 1.00 368 -3024 -656 -3024 2 polygon
|
565 |
|
|
1.00 90 -608 -2880 arrowhead
|
566 |
|
|
1.00 0 848 -3200 ::dffre
|
567 |
|
|
1 1.00 880 -2624 880 -2848 2 polygon
|
568 |
|
|
1 1.00 880 -2848 480 -2848 2 polygon
|
569 |
|
|
1 1.00 1072 -2752 960 -2752 2 polygon
|
570 |
|
|
1.00 270 880 -2672 jumper
|
571 |
|
|
1 1.00 864 -2672 384 -2672 2 polygon
|
572 |
|
|
1.00 90 400 -2672 arrowhead
|
573 |
|
|
(instruction\(14..10\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400
|
574 |
|
|
-2656 label
|
575 |
|
|
1 1.00 1232 -2880 480 -2880 2 polygon
|
576 |
|
|
1.00 270 464 -2880 arrowhead
|
577 |
|
|
1 1.00 -656 -2880 272 -2880 2 polygon
|
578 |
|
|
1.00 90 272 -2880 arrowhead
|
579 |
|
|
(ext_in) {/Helvetica cf} 2 23 360 1.00 -672 -2880 label
|
580 |
|
|
1.00 270 -640 -3024 arrowhead
|
581 |
|
|
1 1.00 880 -2848 880 -2848 2 polygon
|
582 |
|
|
1.00 0 736 -2896 jumper
|
583 |
|
|
|
584 |
|
|
(ext write) {/Helvetica cf} 2 21 0 1.00 592 -3152 label
|
585 |
|
|
(decode logic) {/Helvetica cf} 2 21 0 1.00 592 -3184 label
|
586 |
|
|
1.00 90 768 -3168 arrowhead
|
587 |
|
|
1.00 90 400 -2768 arrowhead
|
588 |
|
|
1 1.00 560 -2768 384 -2768 2 polygon
|
589 |
|
|
(instruction\(15..13\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400
|
590 |
|
|
-2752 label
|
591 |
|
|
1 1.00 896 -2672 960 -2672 960 -2752 3 polygon
|
592 |
|
|
1.00 0 560 -2848 jumper
|
593 |
|
|
1.00 0 560 -2880 jumper
|
594 |
|
|
1 1.00 560 -2768 560 -2832 2 polygon
|
595 |
|
|
3 1.00 608 -1888 608 -1984 2 polygon
|
596 |
|
|
1 1.00 560 -3040 560 -3136 2 polygon
|
597 |
|
|
1.00 180 608 -3136 arrowhead
|
598 |
|
|
|
599 |
|
|
(decode logic) {/Helvetica cf} 2 21 0 1.00 1232 -3184 label
|
600 |
|
|
(flag write) {/Helvetica cf} 2 21 0 1.00 1232 -3152 label
|
601 |
|
|
1 1.00 560 -2896 560 -3008 2 polygon
|
602 |
|
|
1.00 0 560 -3024 jumper
|
603 |
|
|
1.00 180 560 -3136 arrowhead
|
604 |
|
|
1 1.00 752 -3168 704 -3168 2 polygon
|
605 |
|
|
1 1.00 736 -2848 736 -2880 2 polygon
|
606 |
|
|
1 1.00 736 -2912 736 -3120 2 polygon
|
607 |
|
|
1 1.00 736 -3120 752 -3120 2 polygon
|
608 |
|
|
1.00 0 736 -2848 dot
|
609 |
|
|
1 1.00 944 -3200 960 -3200 960 -3360 -656 -3360 4 polygon
|
610 |
|
|
1 1.00 1344 -3168 1408 -3168 2 polygon
|
611 |
|
|
1.00 90 1424 -3168 arrowhead
|
612 |
|
|
1 1.00 1424 -3120 1424 -3120 2 polygon
|
613 |
|
|
1 1.00 832 -2720 384 -2720 2 polygon
|
614 |
|
|
(instruction\(15..10\)) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 400
|
615 |
|
|
-2704 label
|
616 |
|
|
1.00 90 400 -2720 arrowhead
|
617 |
|
|
1 1.00 832 -2720 832 -2832 2 polygon
|
618 |
|
|
1.00 0 832 -2848 jumper
|
619 |
|
|
1.00 0 832 -2880 jumper
|
620 |
|
|
1 1.00 832 -2896 832 -3040 2 polygon
|
621 |
|
|
1 1.00 832 -3040 1216 -3040 2 polygon
|
622 |
|
|
1 1.00 1216 -3040 1216 -3136 2 polygon
|
623 |
|
|
1.00 180 1216 -3136 arrowhead
|
624 |
|
|
1 1.00 848 -2992 1280 -2992 2 polygon
|
625 |
|
|
1 1.00 1280 -2992 1280 -3136 2 polygon
|
626 |
|
|
1.00 180 1280 -3136 arrowhead
|
627 |
|
|
(ext_out) {/Helvetica cf} 2 23 360 1.00 -672 -3360 label
|
628 |
|
|
1.00 270 -640 -3360 arrowhead
|
629 |
|
|
|
630 |
|
|
(data address) {/Helvetica cf} 2 21 0 1.00 1296 -1808 label
|
631 |
|
|
(generation) {/Helvetica cf} 2 21 0 1.00 1296 -1856 label
|
632 |
|
|
1.00 360 1504 -1728 jumper
|
633 |
|
|
1 1.00 368 -1648 592 -1648 2 polygon
|
634 |
|
|
1.00 270 608 -1648 jumper
|
635 |
|
|
1.00 0 368 -1648 dot
|
636 |
|
|
1 1.00 624 -1648 1200 -1648 2 polygon
|
637 |
|
|
1 1.00 1216 -1984 1216 -1888 2 polygon
|
638 |
|
|
1.00 0 1216 -1984 dot
|
639 |
|
|
1 1.00 1200 -1648 1200 -1792 2 polygon
|
640 |
|
|
1.00 0 1216 -1888 arrowhead
|
641 |
|
|
1.00 90 1456 -1840 arrowhead
|
642 |
|
|
1.00 180 1200 -1792 arrowhead
|
643 |
|
|
1 1.00 -272 -1088 368 -1088 2 polygon
|
644 |
|
|
3 1.00 368 -1088 528 -1088 2 polygon
|
645 |
|
|
1 1.00 1440 -1840 1504 -1840 2 polygon
|
646 |
|
|
1 1.00 1504 -1840 1504 -1744 2 polygon
|
647 |
|
|
1 1.00 1504 -1712 1504 -1088 2 polygon
|
648 |
|
|
1 1.00 1504 -1088 1152 -1088 2 polygon
|
649 |
|
|
1.00 270 1136 -1088 jumper
|
650 |
|
|
1.00 270 800 -1088 jumper
|
651 |
|
|
1.00 270 672 -1088 jumper
|
652 |
|
|
1 1.00 1120 -1088 816 -1088 2 polygon
|
653 |
|
|
1 1.00 784 -1088 688 -1088 2 polygon
|
654 |
|
|
1 1.00 656 -1088 528 -1088 2 polygon
|
655 |
|
|
1.00 270 736 -2992 jumper
|
656 |
|
|
1.00 270 832 -2992 jumper
|
657 |
|
|
1 1.00 816 -2992 752 -2992 2 polygon
|
658 |
|
|
1 1.00 672 -2992 608 -2992 2 polygon
|
659 |
|
|
1.00 0 688 -1840 jumper
|
660 |
|
|
1 1.00 688 -1856 688 -1872 2 polygon
|
661 |
|
|
1.00 0 688 -2016 jumper
|
662 |
|
|
1.00 0 688 -2080 jumper
|
663 |
|
|
1.00 0 688 -2320 jumper
|
664 |
|
|
1.00 0 688 -2464 jumper
|
665 |
|
|
1.00 0 688 -2672 jumper
|
666 |
|
|
1.00 0 688 -2720 jumper
|
667 |
|
|
1 1.00 688 -1984 688 -2000 2 polygon
|
668 |
|
|
1 1.00 688 -2032 688 -2064 2 polygon
|
669 |
|
|
1 1.00 688 -2096 688 -2304 2 polygon
|
670 |
|
|
1 1.00 688 -2336 688 -2448 2 polygon
|
671 |
|
|
1 1.00 688 -2480 688 -2656 2 polygon
|
672 |
|
|
1 1.00 688 -2688 688 -2704 2 polygon
|
673 |
|
|
1 1.00 688 -2736 688 -2832 2 polygon
|
674 |
|
|
1.00 0 688 -2848 jumper
|
675 |
|
|
1.00 0 688 -2880 jumper
|
676 |
|
|
1.00 0 688 -2992 jumper
|
677 |
|
|
1 1.00 672 -2992 720 -2992 2 polygon
|
678 |
|
|
1 1.00 688 -2896 688 -2976 2 polygon
|
679 |
|
|
1 1.00 688 -3008 688 -3024 2 polygon
|
680 |
|
|
1 1.00 608 -1984 608 -2000 2 polygon
|
681 |
|
|
1.00 0 608 -2016 jumper
|
682 |
|
|
1 1.00 608 -2032 608 -2064 2 polygon
|
683 |
|
|
1.00 0 608 -2080 jumper
|
684 |
|
|
1 1.00 608 -2096 608 -2304 2 polygon
|
685 |
|
|
1.00 0 608 -2320 jumper
|
686 |
|
|
1 1.00 608 -2336 608 -2448 2 polygon
|
687 |
|
|
1.00 0 608 -2464 jumper
|
688 |
|
|
1 1.00 608 -2480 608 -2656 2 polygon
|
689 |
|
|
1.00 0 608 -2672 jumper
|
690 |
|
|
1 1.00 608 -2688 608 -2704 2 polygon
|
691 |
|
|
1 1.00 608 -2736 608 -2832 2 polygon
|
692 |
|
|
1.00 0 608 -2720 jumper
|
693 |
|
|
1.00 0 608 -2848 jumper
|
694 |
|
|
1.00 0 608 -2880 jumper
|
695 |
|
|
1 1.00 608 -2992 608 -2896 2 polygon
|
696 |
|
|
(exec) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 0 1.00 160 -1552 label
|
697 |
|
|
(exec) {/Helvetica 0.600 cf} {/Helvetica cf} 3 16 90 1.00 624 -2912 label
|
698 |
|
|
1 1.00 608 -2992 608 -3008 2 polygon
|
699 |
|
|
1.00 0 608 -3024 jumper
|
700 |
|
|
1 1.00 608 -3040 608 -3104 2 polygon
|
701 |
|
|
|
702 |
|
|
1 1.00 -560 -1456 -656 -1456 2 polygon
|
703 |
|
|
(rst) {/Helvetica cf} 2 23 0 1.00 -672 -1456 label
|
704 |
|
|
1 1.00 -608 -3424 -592 -3408 2 polygon
|
705 |
|
|
1 1.00 -592 -3408 -608 -3392 2 polygon
|
706 |
|
|
1 1.00 -608 -3408 -656 -3408 2 polygon
|
707 |
|
|
(clk) {/Helvetica cf} 2 23 360 1.00 -672 -3408 label
|
708 |
|
|
(Jump decode logic) {/Helvetica 1.200 cf} {/Helvetica cf} 3 21 0 1.00 2224
|
709 |
|
|
-1072 label
|
710 |
|
|
|
711 |
|
|
(instr\(15..13\)=101 and ) {/Helvetica cf} 2 16 0 1.00 1968 -1152 label
|
712 |
|
|
(instr\(11..8\)=0000 or) {/Helvetica cf} 2 16 0 1.00 2000 -1200 label
|
713 |
|
|
(\(instr\(11..8\)=0001 and zf=1\) or) {/Helvetica cf} 2 16 0 1.00 2000 -1248
|
714 |
|
|
label
|
715 |
|
|
(\() {/Helvetica cf} 2 16 0 1.00 2320 -1152 label
|
716 |
|
|
(\(instr\(11..8\)=1001 and zf=0\)) {/Helvetica cf} 2 16 0 1.00 2000 -1296 label
|
717 |
|
|
(\)) {/Helvetica cf} 2 16 0 1.00 1968 -1344 label
|
718 |
|
|
(Register write decode logic) {/Helvetica 1.200 cf} {/Helvetica cf} 3 21 0 1.00
|
719 |
|
|
2320 -1408 label
|
720 |
|
|
|
721 |
|
|
(execute=1 and \() {/Helvetica cf} 2 16 0 1.00 1968 -1488 label
|
722 |
|
|
(\(instr\(15..13\)=000 and instr\(11\)=0\) or) {/Helvetica cf} 2 16 360 1.00
|
723 |
|
|
2000 -1536 label
|
724 |
|
|
(instr\(15..13\)=001 or) {/Helvetica cf} 2 16 0 1.00 2000 -1584 label
|
725 |
|
|
(\(instr\(15..13\)=010 and instr\(11..10\) /= 01\) or) {/Helvetica cf} 2 16 0
|
726 |
|
|
1.00 2000 -1632 label
|
727 |
|
|
(\)) {/Helvetica cf} 2 16 0 1.00 1968 -1776 label
|
728 |
|
|
(instr\(15..13\)=011 or) {/Helvetica cf} 2 16 360 1.00 2000 -1680 label
|
729 |
|
|
(Memory write decode logic) {/Helvetica cf} 2 21 0 1.00 2320 -1856 label
|
730 |
|
|
|
731 |
|
|
(execute=1 and instr\(15..10\)=000X10) {/Helvetica cf} 2 16 0 1.00 1968 -1936
|
732 |
|
|
label
|
733 |
|
|
(External write decode logic) {/Helvetica 1.200 cf} {/Helvetica cf} 3 21 0 1.00
|
734 |
|
|
2320 -2032 label
|
735 |
|
|
|
736 |
|
|
(execute=1 and instr\(15..10\)=110X00) {/Helvetica cf} 2 16 0 1.00 1952 -2128
|
737 |
|
|
label
|
738 |
|
|
(Flag write decode logic) {/Helvetica 1.200 cf} {/Helvetica cf} 3 21 0 1.00
|
739 |
|
|
2320 -2208 label
|
740 |
|
|
|
741 |
|
|
(execute=1 and instr\(15..10\)=010X01) {/Helvetica cf} 2 16 0 1.00 1952 -2304
|
742 |
|
|
label
|
743 |
|
|
(Write data select) {/Helvetica cf} 2 21 0 1.00 2224 -2384 label
|
744 |
|
|
|
745 |
|
|
(wrdata = ) {/Helvetica cf} 2 16 0 1.00 1968 -2464 label
|
746 |
|
|
(source when instr\(15..10\)=000X00) {/Helvetica cf} 2 16 0 1.00 2000 -2512
|
747 |
|
|
label
|
748 |
|
|
(ram_datard when instr\(15..10\)=000X01) {/Helvetica cf} 2 16 0 1.00 2000 -2608
|
749 |
|
|
label
|
750 |
|
|
(aluqout when instr\(15..13\)=001) {/Helvetica cf} 2 16 0 1.00 2000 -2656 label
|
751 |
|
|
(aluqout when instr\(15..13\)=010) {/Helvetica cf} 2 16 0 1.00 2000 -2704 label
|
752 |
|
|
(aluqout when instr\(15..13\)=011) {/Helvetica cf} 2 16 0 1.00 2000 -2752 label
|
753 |
|
|
(ext_in when instr\(15..10\)=110X01) {/Helvetica cf} 2 16 0 1.00 2000 -2800
|
754 |
|
|
label
|
755 |
|
|
(Data address generation) {/Helvetica cf} 2 21 0 1.00 2224 -2864 label
|
756 |
|
|
|
757 |
|
|
(address = ) {/Helvetica cf} 2 16 0 1.00 1968 -2944 label
|
758 |
|
|
(reg2out when instr\(15..10\)=000001) {/Helvetica cf} 2 16 0 1.00 2000 -2992
|
759 |
|
|
label
|
760 |
|
|
(instr\(7..0\) when instr\(15..10\)=000101) {/Helvetica cf} 2 16 0 1.00 2000
|
761 |
|
|
-3040 label
|
762 |
|
|
(reg2out) {/Helvetica cf} 2 16 0 1.00 1248 -2096 label
|
763 |
|
|
(reg1out) {/Helvetica cf} 2 16 0 1.00 1248 -1984 label
|
764 |
|
|
(reg1out when instr\(15..10\)=000010) {/Helvetica cf} 2 16 0 1.00 2000 -3088
|
765 |
|
|
label
|
766 |
|
|
(reg1out when instr\(15..10\)=000110) {/Helvetica cf} 2 16 0 1.00 2000 -3136
|
767 |
|
|
label
|
768 |
|
|
(CPU) {/Helvetica 1.200 cf} {/Helvetica cf} 3 16 0 1.00 576 -784 label
|
769 |
|
|
(source when instr\(15..10\)=000X10) {/Helvetica cf} 2 16 0 1.00 2000 -2560
|
770 |
|
|
label
|
771 |
|
|
(instr\(15..10\)=110X01) {/Helvetica cf} 2 16 360 1.00 2000 -1728 label
|
772 |
|
|
pgsave restore showpage
|
773 |
|
|
|
774 |
|
|
%%Trailer
|
775 |
|
|
XCIRCsave restore
|
776 |
|
|
%%EOF
|