| 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
|