cpu

view cpu.circ @ 0:9d48951b8110

CPU project initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 03 Jan 2014 07:19:15 +0200
parents
children
line source
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <project source="2.7.1" version="1.0">
3 This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
4 <lib desc="#Wiring" name="0">
5 <tool name="Splitter">
6 <a name="facing" val="west"/>
7 <a name="fanout" val="4"/>
8 <a name="incoming" val="4"/>
9 </tool>
10 <tool name="Pin">
11 <a name="width" val="4"/>
12 <a name="label" val="Opcode"/>
13 </tool>
14 <tool name="Constant">
15 <a name="value" val="0x0"/>
16 </tool>
17 </lib>
18 <lib desc="#Gates" name="1">
19 <tool name="OR Gate">
20 <a name="inputs" val="8"/>
21 </tool>
22 <tool name="NOR Gate">
23 <a name="inputs" val="8"/>
24 </tool>
25 </lib>
26 <lib desc="#Plexers" name="2">
27 <tool name="Multiplexer">
28 <a name="select" val="4"/>
29 <a name="width" val="8"/>
30 </tool>
31 </lib>
32 <lib desc="#Arithmetic" name="3"/>
33 <lib desc="#Memory" name="4">
34 <tool name="ROM">
35 <a name="contents">addr/data: 8 8
36 0
37 </a>
38 </tool>
39 </lib>
40 <lib desc="#I/O" name="5"/>
41 <lib desc="#Base" name="6">
42 <tool name="Text Tool">
43 <a name="text" val=""/>
44 <a name="font" val="SansSerif plain 12"/>
45 <a name="halign" val="center"/>
46 <a name="valign" val="base"/>
47 </tool>
48 </lib>
49 <main name="main"/>
50 <options>
51 <a name="gateUndefined" val="ignore"/>
52 <a name="simlimit" val="1000"/>
53 <a name="simrand" val="0"/>
54 </options>
55 <mappings>
56 <tool lib="6" map="Button2" name="Menu Tool"/>
57 <tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
58 <tool lib="6" map="Button3" name="Menu Tool"/>
59 </mappings>
60 <toolbar>
61 <tool lib="6" name="Poke Tool"/>
62 <tool lib="6" name="Edit Tool"/>
63 <tool lib="6" name="Text Tool">
64 <a name="text" val=""/>
65 <a name="font" val="SansSerif plain 12"/>
66 <a name="halign" val="center"/>
67 <a name="valign" val="base"/>
68 </tool>
69 <sep/>
70 <tool lib="0" name="Pin">
71 <a name="width" val="8"/>
72 <a name="tristate" val="false"/>
73 </tool>
74 <tool lib="0" name="Pin">
75 <a name="facing" val="west"/>
76 <a name="output" val="true"/>
77 <a name="width" val="8"/>
78 <a name="labelloc" val="east"/>
79 </tool>
80 <tool lib="1" name="NOT Gate"/>
81 <tool lib="1" name="AND Gate"/>
82 <tool lib="1" name="OR Gate"/>
83 </toolbar>
84 <circuit name="main">
85 <a name="circuit" val="main"/>
86 <a name="clabel" val=""/>
87 <a name="clabelup" val="east"/>
88 <a name="clabelfont" val="SansSerif plain 12"/>
89 <wire from="(170,240)" to="(310,240)"/>
90 <wire from="(310,400)" to="(350,400)"/>
91 <wire from="(700,460)" to="(710,460)"/>
92 <wire from="(720,460)" to="(740,460)"/>
93 <wire from="(720,260)" to="(720,340)"/>
94 <wire from="(310,620)" to="(310,760)"/>
95 <wire from="(700,440)" to="(730,440)"/>
96 <wire from="(570,290)" to="(590,290)"/>
97 <wire from="(570,630)" to="(570,680)"/>
98 <wire from="(410,440)" to="(450,440)"/>
99 <wire from="(710,460)" to="(710,470)"/>
100 <wire from="(460,10)" to="(480,10)"/>
101 <wire from="(630,260)" to="(720,260)"/>
102 <wire from="(460,250)" to="(590,250)"/>
103 <wire from="(360,280)" to="(360,290)"/>
104 <wire from="(310,340)" to="(350,340)"/>
105 <wire from="(400,200)" to="(580,200)"/>
106 <wire from="(700,450)" to="(720,450)"/>
107 <wire from="(570,520)" to="(590,520)"/>
108 <wire from="(290,60)" to="(360,60)"/>
109 <wire from="(720,140)" to="(740,140)"/>
110 <wire from="(570,600)" to="(570,610)"/>
111 <wire from="(710,470)" to="(740,470)"/>
112 <wire from="(570,300)" to="(570,310)"/>
113 <wire from="(790,490)" to="(790,530)"/>
114 <wire from="(820,440)" to="(830,440)"/>
115 <wire from="(700,430)" to="(740,430)"/>
116 <wire from="(720,450)" to="(720,460)"/>
117 <wire from="(400,720)" to="(480,720)"/>
118 <wire from="(570,490)" to="(590,490)"/>
119 <wire from="(140,190)" to="(170,190)"/>
120 <wire from="(400,320)" to="(430,320)"/>
121 <wire from="(320,360)" to="(320,420)"/>
122 <wire from="(570,300)" to="(590,300)"/>
123 <wire from="(570,480)" to="(570,490)"/>
124 <wire from="(430,220)" to="(590,220)"/>
125 <wire from="(570,540)" to="(570,550)"/>
126 <wire from="(480,270)" to="(480,720)"/>
127 <wire from="(570,580)" to="(590,580)"/>
128 <wire from="(830,440)" to="(830,490)"/>
129 <wire from="(310,460)" to="(310,620)"/>
130 <wire from="(440,230)" to="(590,230)"/>
131 <wire from="(320,420)" to="(320,500)"/>
132 <wire from="(480,270)" to="(580,270)"/>
133 <wire from="(320,420)" to="(350,420)"/>
134 <wire from="(570,290)" to="(570,300)"/>
135 <wire from="(320,570)" to="(320,710)"/>
136 <wire from="(610,340)" to="(610,380)"/>
137 <wire from="(310,240)" to="(330,240)"/>
138 <wire from="(580,280)" to="(590,280)"/>
139 <wire from="(570,310)" to="(590,310)"/>
140 <wire from="(170,190)" to="(170,240)"/>
141 <wire from="(610,380)" to="(650,380)"/>
142 <wire from="(320,570)" to="(330,570)"/>
143 <wire from="(730,450)" to="(740,450)"/>
144 <wire from="(470,260)" to="(590,260)"/>
145 <wire from="(320,300)" to="(350,300)"/>
146 <wire from="(290,660)" to="(350,660)"/>
147 <wire from="(570,320)" to="(570,370)"/>
148 <wire from="(310,620)" to="(330,620)"/>
149 <wire from="(320,360)" to="(350,360)"/>
150 <wire from="(570,590)" to="(570,600)"/>
151 <wire from="(320,100)" to="(320,160)"/>
152 <wire from="(320,160)" to="(330,160)"/>
153 <wire from="(570,530)" to="(590,530)"/>
154 <wire from="(580,510)" to="(590,510)"/>
155 <wire from="(570,530)" to="(570,540)"/>
156 <wire from="(570,590)" to="(590,590)"/>
157 <wire from="(700,470)" to="(700,480)"/>
158 <wire from="(140,160)" to="(320,160)"/>
159 <wire from="(580,270)" to="(590,270)"/>
160 <wire from="(790,530)" to="(800,530)"/>
161 <wire from="(570,610)" to="(570,620)"/>
162 <wire from="(650,50)" to="(650,380)"/>
163 <wire from="(650,380)" to="(650,660)"/>
164 <wire from="(310,240)" to="(310,340)"/>
165 <wire from="(460,250)" to="(460,500)"/>
166 <wire from="(570,580)" to="(570,590)"/>
167 <wire from="(580,270)" to="(580,280)"/>
168 <wire from="(570,540)" to="(590,540)"/>
169 <wire from="(790,490)" to="(830,490)"/>
170 <wire from="(570,320)" to="(590,320)"/>
171 <wire from="(320,500)" to="(360,500)"/>
172 <wire from="(570,100)" to="(570,180)"/>
173 <wire from="(570,520)" to="(570,530)"/>
174 <wire from="(700,400)" to="(740,400)"/>
175 <wire from="(570,600)" to="(590,600)"/>
176 <wire from="(430,220)" to="(430,320)"/>
177 <wire from="(700,410)" to="(740,410)"/>
178 <wire from="(570,630)" to="(590,630)"/>
179 <wire from="(570,190)" to="(570,290)"/>
180 <wire from="(570,570)" to="(590,570)"/>
181 <wire from="(580,210)" to="(590,210)"/>
182 <wire from="(400,380)" to="(440,380)"/>
183 <wire from="(550,500)" to="(580,500)"/>
184 <wire from="(570,550)" to="(570,560)"/>
185 <wire from="(610,660)" to="(650,660)"/>
186 <wire from="(680,340)" to="(720,340)"/>
187 <wire from="(360,290)" to="(550,290)"/>
188 <wire from="(360,60)" to="(460,60)"/>
189 <wire from="(550,290)" to="(550,500)"/>
190 <wire from="(570,190)" to="(590,190)"/>
191 <wire from="(630,560)" to="(800,560)"/>
192 <wire from="(320,100)" to="(570,100)"/>
193 <wire from="(310,340)" to="(310,400)"/>
194 <wire from="(360,60)" to="(360,110)"/>
195 <wire from="(700,420)" to="(740,420)"/>
196 <wire from="(570,620)" to="(590,620)"/>
197 <wire from="(570,610)" to="(590,610)"/>
198 <wire from="(580,200)" to="(580,210)"/>
199 <wire from="(570,490)" to="(570,520)"/>
200 <wire from="(570,180)" to="(590,180)"/>
201 <wire from="(480,10)" to="(480,50)"/>
202 <wire from="(310,400)" to="(310,460)"/>
203 <wire from="(450,240)" to="(590,240)"/>
204 <wire from="(400,580)" to="(470,580)"/>
205 <wire from="(720,140)" to="(720,260)"/>
206 <wire from="(730,440)" to="(730,450)"/>
207 <wire from="(580,500)" to="(590,500)"/>
208 <wire from="(320,500)" to="(320,570)"/>
209 <wire from="(440,230)" to="(440,380)"/>
210 <wire from="(450,240)" to="(450,440)"/>
211 <wire from="(320,160)" to="(320,300)"/>
212 <wire from="(320,300)" to="(320,360)"/>
213 <wire from="(290,60)" to="(290,660)"/>
214 <wire from="(700,480)" to="(740,480)"/>
215 <wire from="(570,550)" to="(590,550)"/>
216 <wire from="(320,710)" to="(330,710)"/>
217 <wire from="(570,570)" to="(570,580)"/>
218 <wire from="(390,500)" to="(460,500)"/>
219 <wire from="(570,480)" to="(590,480)"/>
220 <wire from="(580,200)" to="(590,200)"/>
221 <wire from="(570,560)" to="(590,560)"/>
222 <wire from="(570,560)" to="(570,570)"/>
223 <wire from="(610,640)" to="(610,660)"/>
224 <wire from="(480,50)" to="(650,50)"/>
225 <wire from="(310,460)" to="(350,460)"/>
226 <wire from="(570,620)" to="(570,630)"/>
227 <wire from="(310,760)" to="(330,760)"/>
228 <wire from="(570,310)" to="(570,320)"/>
229 <wire from="(470,260)" to="(470,580)"/>
230 <wire from="(680,340)" to="(680,440)"/>
231 <wire from="(580,500)" to="(580,510)"/>
232 <comp loc="(380,160)" name="8bit add/sub"/>
233 <comp lib="6" loc="(407,129)" name="Text">
234 <a name="text" val="add/sub"/>
235 </comp>
236 <comp lib="1" loc="(390,500)" name="NOT Gate">
237 <a name="width" val="8"/>
238 </comp>
239 <comp lib="0" loc="(800,530)" name="Pin">
240 <a name="facing" val="west"/>
241 <a name="output" val="true"/>
242 <a name="label" val="zero flag"/>
243 <a name="labelloc" val="east"/>
244 </comp>
245 <comp lib="0" loc="(140,160)" name="Pin">
246 <a name="width" val="8"/>
247 <a name="tristate" val="false"/>
248 <a name="label" val="InA"/>
249 </comp>
250 <comp lib="0" loc="(800,560)" name="Pin">
251 <a name="facing" val="west"/>
252 <a name="output" val="true"/>
253 <a name="label" val="overflow bit"/>
254 <a name="labelloc" val="east"/>
255 </comp>
256 <comp lib="6" loc="(419,671)" name="Text">
257 <a name="text" val="right shifter"/>
258 </comp>
259 <comp lib="0" loc="(330,240)" name="Splitter">
260 <a name="fanout" val="8"/>
261 <a name="incoming" val="8"/>
262 <a name="appear" val="legacy"/>
263 </comp>
264 <comp lib="0" loc="(140,190)" name="Pin">
265 <a name="width" val="8"/>
266 <a name="tristate" val="false"/>
267 <a name="label" val="InB"/>
268 </comp>
269 <comp lib="2" loc="(630,560)" name="Multiplexer">
270 <a name="select" val="4"/>
271 <a name="enable" val="false"/>
272 </comp>
273 <comp lib="0" loc="(400,720)" name="Splitter">
274 <a name="facing" val="west"/>
275 <a name="fanout" val="8"/>
276 <a name="incoming" val="8"/>
277 <a name="appear" val="legacy"/>
278 </comp>
279 <comp lib="0" loc="(330,760)" name="Splitter">
280 <a name="fanout" val="3"/>
281 <a name="incoming" val="8"/>
282 <a name="appear" val="legacy"/>
283 <a name="bit3" val="none"/>
284 <a name="bit4" val="none"/>
285 <a name="bit5" val="none"/>
286 <a name="bit6" val="none"/>
287 <a name="bit7" val="none"/>
288 </comp>
289 <comp lib="6" loc="(413,531)" name="Text">
290 <a name="text" val="left shifter"/>
291 </comp>
292 <comp lib="1" loc="(400,320)" name="AND Gate">
293 <a name="width" val="8"/>
294 <a name="inputs" val="2"/>
295 </comp>
296 <comp lib="0" loc="(570,370)" name="Constant">
297 <a name="facing" val="west"/>
298 <a name="width" val="8"/>
299 <a name="value" val="0x0"/>
300 </comp>
301 <comp lib="0" loc="(480,50)" name="Splitter">
302 <a name="facing" val="west"/>
303 <a name="fanout" val="4"/>
304 <a name="incoming" val="4"/>
305 </comp>
306 <comp lib="0" loc="(400,200)" name="Splitter">
307 <a name="facing" val="west"/>
308 <a name="fanout" val="8"/>
309 <a name="incoming" val="8"/>
310 <a name="appear" val="legacy"/>
311 </comp>
312 <comp lib="0" loc="(330,570)" name="Splitter">
313 <a name="fanout" val="8"/>
314 <a name="incoming" val="8"/>
315 <a name="appear" val="legacy"/>
316 </comp>
317 <comp loc="(380,680)" name="8bit right shifter"/>
318 <comp lib="0" loc="(680,440)" name="Splitter">
319 <a name="fanout" val="8"/>
320 <a name="incoming" val="8"/>
321 <a name="appear" val="legacy"/>
322 </comp>
323 <comp lib="0" loc="(330,160)" name="Splitter">
324 <a name="fanout" val="8"/>
325 <a name="incoming" val="8"/>
326 <a name="appear" val="legacy"/>
327 </comp>
328 <comp lib="0" loc="(570,680)" name="Constant">
329 <a name="facing" val="west"/>
330 <a name="value" val="0x0"/>
331 </comp>
332 <comp lib="0" loc="(460,10)" name="Pin">
333 <a name="width" val="4"/>
334 <a name="tristate" val="false"/>
335 <a name="label" val="Opcode"/>
336 </comp>
337 <comp lib="0" loc="(330,710)" name="Splitter">
338 <a name="fanout" val="8"/>
339 <a name="incoming" val="8"/>
340 <a name="appear" val="legacy"/>
341 </comp>
342 <comp lib="0" loc="(330,620)" name="Splitter">
343 <a name="fanout" val="3"/>
344 <a name="incoming" val="8"/>
345 <a name="appear" val="legacy"/>
346 <a name="bit3" val="none"/>
347 <a name="bit4" val="none"/>
348 <a name="bit5" val="none"/>
349 <a name="bit6" val="none"/>
350 <a name="bit7" val="none"/>
351 </comp>
352 <comp loc="(380,540)" name="8bit left shifter"/>
353 <comp lib="0" loc="(400,580)" name="Splitter">
354 <a name="facing" val="west"/>
355 <a name="fanout" val="8"/>
356 <a name="incoming" val="8"/>
357 <a name="appear" val="legacy"/>
358 </comp>
359 <comp lib="1" loc="(820,440)" name="NOR Gate">
360 <a name="size" val="70"/>
361 <a name="inputs" val="8"/>
362 </comp>
363 <comp lib="0" loc="(740,140)" name="Pin">
364 <a name="facing" val="west"/>
365 <a name="output" val="true"/>
366 <a name="width" val="8"/>
367 <a name="label" val="Out"/>
368 <a name="labelloc" val="east"/>
369 </comp>
370 <comp lib="0" loc="(350,520)" name="Constant">
371 <a name="value" val="0x0"/>
372 </comp>
373 <comp lib="1" loc="(400,380)" name="OR Gate">
374 <a name="width" val="8"/>
375 <a name="inputs" val="2"/>
376 </comp>
377 <comp lib="1" loc="(410,440)" name="XOR Gate">
378 <a name="width" val="8"/>
379 <a name="inputs" val="2"/>
380 </comp>
381 <comp lib="2" loc="(630,260)" name="Multiplexer">
382 <a name="select" val="4"/>
383 <a name="width" val="8"/>
384 <a name="enable" val="false"/>
385 </comp>
386 </circuit>
387 <circuit name="1bit adder">
388 <a name="circuit" val="1bit adder"/>
389 <a name="clabel" val=""/>
390 <a name="clabelup" val="east"/>
391 <a name="clabelfont" val="SansSerif plain 12"/>
392 <wire from="(370,250)" to="(410,250)"/>
393 <wire from="(250,180)" to="(250,200)"/>
394 <wire from="(330,220)" to="(340,220)"/>
395 <wire from="(440,220)" to="(500,220)"/>
396 <wire from="(210,160)" to="(250,160)"/>
397 <wire from="(310,150)" to="(350,150)"/>
398 <wire from="(210,260)" to="(340,260)"/>
399 <wire from="(390,160)" to="(500,160)"/>
400 <wire from="(100,160)" to="(210,160)"/>
401 <wire from="(330,170)" to="(330,220)"/>
402 <wire from="(410,230)" to="(410,250)"/>
403 <wire from="(230,240)" to="(340,240)"/>
404 <wire from="(310,200)" to="(340,200)"/>
405 <wire from="(310,150)" to="(310,200)"/>
406 <wire from="(230,200)" to="(250,200)"/>
407 <wire from="(330,170)" to="(350,170)"/>
408 <wire from="(210,160)" to="(210,260)"/>
409 <wire from="(310,60)" to="(310,150)"/>
410 <wire from="(370,210)" to="(410,210)"/>
411 <wire from="(230,200)" to="(230,240)"/>
412 <wire from="(290,170)" to="(330,170)"/>
413 <wire from="(100,200)" to="(230,200)"/>
414 <comp lib="1" loc="(440,220)" name="OR Gate">
415 <a name="size" val="30"/>
416 <a name="inputs" val="2"/>
417 </comp>
418 <comp lib="0" loc="(500,160)" name="Pin">
419 <a name="facing" val="west"/>
420 <a name="output" val="true"/>
421 <a name="label" val="S"/>
422 <a name="labelloc" val="east"/>
423 </comp>
424 <comp lib="1" loc="(290,170)" name="XOR Gate">
425 <a name="size" val="30"/>
426 <a name="inputs" val="2"/>
427 </comp>
428 <comp lib="1" loc="(390,160)" name="XOR Gate">
429 <a name="size" val="30"/>
430 <a name="inputs" val="2"/>
431 </comp>
432 <comp lib="0" loc="(100,160)" name="Pin">
433 <a name="tristate" val="false"/>
434 <a name="label" val="A"/>
435 </comp>
436 <comp lib="1" loc="(370,250)" name="AND Gate">
437 <a name="size" val="30"/>
438 <a name="inputs" val="2"/>
439 </comp>
440 <comp lib="0" loc="(310,60)" name="Pin">
441 <a name="facing" val="south"/>
442 <a name="tristate" val="false"/>
443 <a name="label" val="Cin"/>
444 </comp>
445 <comp lib="1" loc="(370,210)" name="AND Gate">
446 <a name="size" val="30"/>
447 <a name="inputs" val="2"/>
448 </comp>
449 <comp lib="0" loc="(500,220)" name="Pin">
450 <a name="facing" val="west"/>
451 <a name="output" val="true"/>
452 <a name="label" val="Cout"/>
453 <a name="labelloc" val="east"/>
454 </comp>
455 <comp lib="0" loc="(100,200)" name="Pin">
456 <a name="tristate" val="false"/>
457 <a name="label" val="B"/>
458 </comp>
459 </circuit>
460 <circuit name="8bit add/sub">
461 <a name="circuit" val="8bit add/sub"/>
462 <a name="clabel" val=""/>
463 <a name="clabelup" val="east"/>
464 <a name="clabelfont" val="SansSerif plain 12"/>
465 <wire from="(100,380)" to="(300,380)"/>
466 <wire from="(210,440)" to="(240,440)"/>
467 <wire from="(320,270)" to="(350,270)"/>
468 <wire from="(340,290)" to="(470,290)"/>
469 <wire from="(350,150)" to="(350,170)"/>
470 <wire from="(320,420)" to="(320,430)"/>
471 <wire from="(320,170)" to="(320,180)"/>
472 <wire from="(90,230)" to="(90,430)"/>
473 <wire from="(160,160)" to="(240,160)"/>
474 <wire from="(200,360)" to="(240,360)"/>
475 <wire from="(210,190)" to="(240,190)"/>
476 <wire from="(120,170)" to="(120,280)"/>
477 <wire from="(300,180)" to="(300,190)"/>
478 <wire from="(300,290)" to="(310,290)"/>
479 <wire from="(90,430)" to="(300,430)"/>
480 <wire from="(210,20)" to="(210,30)"/>
481 <wire from="(320,220)" to="(320,230)"/>
482 <wire from="(500,230)" to="(550,230)"/>
483 <wire from="(300,130)" to="(300,140)"/>
484 <wire from="(350,400)" to="(350,420)"/>
485 <wire from="(210,90)" to="(240,90)"/>
486 <wire from="(70,190)" to="(110,190)"/>
487 <wire from="(110,130)" to="(300,130)"/>
488 <wire from="(280,100)" to="(310,100)"/>
489 <wire from="(180,260)" to="(180,520)"/>
490 <wire from="(280,400)" to="(310,400)"/>
491 <wire from="(300,240)" to="(310,240)"/>
492 <wire from="(340,100)" to="(350,100)"/>
493 <wire from="(350,350)" to="(350,370)"/>
494 <wire from="(460,150)" to="(550,150)"/>
495 <wire from="(320,370)" to="(350,370)"/>
496 <wire from="(340,300)" to="(350,300)"/>
497 <wire from="(110,190)" to="(110,330)"/>
498 <wire from="(210,240)" to="(240,240)"/>
499 <wire from="(280,350)" to="(310,350)"/>
500 <wire from="(300,230)" to="(300,240)"/>
501 <wire from="(70,130)" to="(100,130)"/>
502 <wire from="(320,170)" to="(350,170)"/>
503 <wire from="(300,280)" to="(300,290)"/>
504 <wire from="(340,90)" to="(550,90)"/>
505 <wire from="(300,190)" to="(310,190)"/>
506 <wire from="(230,460)" to="(230,600)"/>
507 <wire from="(130,150)" to="(130,230)"/>
508 <wire from="(400,450)" to="(400,590)"/>
509 <wire from="(300,440)" to="(310,440)"/>
510 <wire from="(140,180)" to="(300,180)"/>
511 <wire from="(320,420)" to="(350,420)"/>
512 <wire from="(210,190)" to="(210,240)"/>
513 <wire from="(480,190)" to="(480,340)"/>
514 <wire from="(320,320)" to="(320,330)"/>
515 <wire from="(70,170)" to="(120,170)"/>
516 <wire from="(120,280)" to="(300,280)"/>
517 <wire from="(340,200)" to="(350,200)"/>
518 <wire from="(210,290)" to="(240,290)"/>
519 <wire from="(460,150)" to="(460,240)"/>
520 <wire from="(340,340)" to="(480,340)"/>
521 <wire from="(140,140)" to="(140,180)"/>
522 <wire from="(450,130)" to="(550,130)"/>
523 <wire from="(170,210)" to="(240,210)"/>
524 <wire from="(100,140)" to="(140,140)"/>
525 <wire from="(70,560)" to="(200,560)"/>
526 <wire from="(340,390)" to="(490,390)"/>
527 <wire from="(210,30)" to="(320,30)"/>
528 <wire from="(340,250)" to="(350,250)"/>
529 <wire from="(210,340)" to="(210,390)"/>
530 <wire from="(300,340)" to="(310,340)"/>
531 <wire from="(320,370)" to="(320,380)"/>
532 <wire from="(350,300)" to="(350,320)"/>
533 <wire from="(160,160)" to="(160,480)"/>
534 <wire from="(110,80)" to="(110,90)"/>
535 <wire from="(110,80)" to="(300,80)"/>
536 <wire from="(210,140)" to="(240,140)"/>
537 <wire from="(70,90)" to="(110,90)"/>
538 <wire from="(210,290)" to="(210,340)"/>
539 <wire from="(300,390)" to="(310,390)"/>
540 <wire from="(300,430)" to="(300,440)"/>
541 <wire from="(70,540)" to="(190,540)"/>
542 <wire from="(70,150)" to="(130,150)"/>
543 <wire from="(300,380)" to="(300,390)"/>
544 <wire from="(300,140)" to="(310,140)"/>
545 <wire from="(340,440)" to="(500,440)"/>
546 <wire from="(150,110)" to="(150,460)"/>
547 <wire from="(70,110)" to="(110,110)"/>
548 <wire from="(450,130)" to="(450,190)"/>
549 <wire from="(320,120)" to="(350,120)"/>
550 <wire from="(350,200)" to="(350,220)"/>
551 <wire from="(490,210)" to="(490,390)"/>
552 <wire from="(220,410)" to="(240,410)"/>
553 <wire from="(150,110)" to="(240,110)"/>
554 <wire from="(190,310)" to="(190,540)"/>
555 <wire from="(340,350)" to="(350,350)"/>
556 <wire from="(300,80)" to="(300,90)"/>
557 <wire from="(100,210)" to="(100,380)"/>
558 <wire from="(350,250)" to="(350,270)"/>
559 <wire from="(70,580)" to="(220,580)"/>
560 <wire from="(440,110)" to="(550,110)"/>
561 <wire from="(440,110)" to="(440,140)"/>
562 <wire from="(320,30)" to="(320,80)"/>
563 <wire from="(280,150)" to="(310,150)"/>
564 <wire from="(170,210)" to="(170,500)"/>
565 <wire from="(70,600)" to="(230,600)"/>
566 <wire from="(350,100)" to="(350,120)"/>
567 <wire from="(70,210)" to="(100,210)"/>
568 <wire from="(180,260)" to="(240,260)"/>
569 <wire from="(500,230)" to="(500,440)"/>
570 <wire from="(480,190)" to="(550,190)"/>
571 <wire from="(340,150)" to="(350,150)"/>
572 <wire from="(70,230)" to="(90,230)"/>
573 <wire from="(470,170)" to="(470,290)"/>
574 <wire from="(220,410)" to="(220,580)"/>
575 <wire from="(100,130)" to="(100,140)"/>
576 <wire from="(280,200)" to="(310,200)"/>
577 <wire from="(320,320)" to="(350,320)"/>
578 <wire from="(210,140)" to="(210,190)"/>
579 <wire from="(340,450)" to="(400,450)"/>
580 <wire from="(280,300)" to="(310,300)"/>
581 <wire from="(210,390)" to="(210,440)"/>
582 <wire from="(340,240)" to="(460,240)"/>
583 <wire from="(340,400)" to="(350,400)"/>
584 <wire from="(210,340)" to="(240,340)"/>
585 <wire from="(200,360)" to="(200,560)"/>
586 <wire from="(280,450)" to="(310,450)"/>
587 <wire from="(300,330)" to="(300,340)"/>
588 <wire from="(110,330)" to="(300,330)"/>
589 <wire from="(280,250)" to="(310,250)"/>
590 <wire from="(210,90)" to="(210,140)"/>
591 <wire from="(70,520)" to="(180,520)"/>
592 <wire from="(70,500)" to="(170,500)"/>
593 <wire from="(490,210)" to="(550,210)"/>
594 <wire from="(70,460)" to="(150,460)"/>
595 <wire from="(210,240)" to="(210,290)"/>
596 <wire from="(320,270)" to="(320,280)"/>
597 <wire from="(210,390)" to="(240,390)"/>
598 <wire from="(210,30)" to="(210,90)"/>
599 <wire from="(320,220)" to="(350,220)"/>
600 <wire from="(130,230)" to="(300,230)"/>
601 <wire from="(190,310)" to="(240,310)"/>
602 <wire from="(300,90)" to="(310,90)"/>
603 <wire from="(340,140)" to="(440,140)"/>
604 <wire from="(230,460)" to="(240,460)"/>
605 <wire from="(70,480)" to="(160,480)"/>
606 <wire from="(320,120)" to="(320,130)"/>
607 <wire from="(110,110)" to="(110,130)"/>
608 <wire from="(470,170)" to="(550,170)"/>
609 <wire from="(340,190)" to="(450,190)"/>
610 <comp lib="0" loc="(70,460)" name="Pin">
611 <a name="tristate" val="false"/>
612 </comp>
613 <comp lib="0" loc="(70,130)" name="Pin">
614 <a name="tristate" val="false"/>
615 </comp>
616 <comp lib="0" loc="(70,540)" name="Pin">
617 <a name="tristate" val="false"/>
618 </comp>
619 <comp lib="1" loc="(280,400)" name="XOR Gate">
620 <a name="size" val="30"/>
621 <a name="inputs" val="2"/>
622 </comp>
623 <comp lib="0" loc="(70,170)" name="Pin">
624 <a name="tristate" val="false"/>
625 </comp>
626 <comp loc="(340,90)" name="1bit adder"/>
627 <comp loc="(340,290)" name="1bit adder"/>
628 <comp loc="(340,140)" name="1bit adder"/>
629 <comp lib="0" loc="(70,560)" name="Pin">
630 <a name="tristate" val="false"/>
631 </comp>
632 <comp lib="0" loc="(550,130)" name="Pin">
633 <a name="facing" val="west"/>
634 <a name="output" val="true"/>
635 <a name="labelloc" val="east"/>
636 </comp>
637 <comp lib="1" loc="(280,450)" name="XOR Gate">
638 <a name="size" val="30"/>
639 <a name="inputs" val="2"/>
640 </comp>
641 <comp lib="0" loc="(70,210)" name="Pin">
642 <a name="tristate" val="false"/>
643 </comp>
644 <comp loc="(340,240)" name="1bit adder"/>
645 <comp lib="1" loc="(280,150)" name="XOR Gate">
646 <a name="size" val="30"/>
647 <a name="inputs" val="2"/>
648 </comp>
649 <comp lib="0" loc="(210,20)" name="Pin">
650 <a name="facing" val="south"/>
651 <a name="tristate" val="false"/>
652 </comp>
653 <comp lib="0" loc="(70,230)" name="Pin">
654 <a name="tristate" val="false"/>
655 </comp>
656 <comp lib="1" loc="(280,200)" name="XOR Gate">
657 <a name="size" val="30"/>
658 <a name="inputs" val="2"/>
659 </comp>
660 <comp lib="0" loc="(550,170)" name="Pin">
661 <a name="facing" val="west"/>
662 <a name="output" val="true"/>
663 <a name="labelloc" val="east"/>
664 </comp>
665 <comp lib="0" loc="(70,90)" name="Pin">
666 <a name="tristate" val="false"/>
667 </comp>
668 <comp lib="0" loc="(70,500)" name="Pin">
669 <a name="tristate" val="false"/>
670 </comp>
671 <comp loc="(340,340)" name="1bit adder"/>
672 <comp loc="(340,190)" name="1bit adder"/>
673 <comp lib="0" loc="(550,210)" name="Pin">
674 <a name="facing" val="west"/>
675 <a name="output" val="true"/>
676 <a name="labelloc" val="east"/>
677 </comp>
678 <comp loc="(340,390)" name="1bit adder"/>
679 <comp lib="0" loc="(550,230)" name="Pin">
680 <a name="facing" val="west"/>
681 <a name="output" val="true"/>
682 <a name="labelloc" val="east"/>
683 </comp>
684 <comp lib="0" loc="(550,110)" name="Pin">
685 <a name="facing" val="west"/>
686 <a name="output" val="true"/>
687 <a name="labelloc" val="east"/>
688 </comp>
689 <comp lib="0" loc="(550,190)" name="Pin">
690 <a name="facing" val="west"/>
691 <a name="output" val="true"/>
692 <a name="labelloc" val="east"/>
693 </comp>
694 <comp lib="0" loc="(70,110)" name="Pin">
695 <a name="tristate" val="false"/>
696 </comp>
697 <comp lib="0" loc="(70,190)" name="Pin">
698 <a name="tristate" val="false"/>
699 </comp>
700 <comp lib="0" loc="(70,150)" name="Pin">
701 <a name="tristate" val="false"/>
702 </comp>
703 <comp lib="0" loc="(70,580)" name="Pin">
704 <a name="tristate" val="false"/>
705 </comp>
706 <comp lib="0" loc="(550,90)" name="Pin">
707 <a name="facing" val="west"/>
708 <a name="output" val="true"/>
709 <a name="labelloc" val="east"/>
710 </comp>
711 <comp lib="0" loc="(400,590)" name="Pin">
712 <a name="facing" val="north"/>
713 <a name="output" val="true"/>
714 <a name="labelloc" val="east"/>
715 </comp>
716 <comp lib="0" loc="(550,150)" name="Pin">
717 <a name="facing" val="west"/>
718 <a name="output" val="true"/>
719 <a name="labelloc" val="east"/>
720 </comp>
721 <comp lib="0" loc="(70,520)" name="Pin">
722 <a name="tristate" val="false"/>
723 </comp>
724 <comp lib="1" loc="(280,350)" name="XOR Gate">
725 <a name="size" val="30"/>
726 <a name="inputs" val="2"/>
727 </comp>
728 <comp lib="1" loc="(280,250)" name="XOR Gate">
729 <a name="size" val="30"/>
730 <a name="inputs" val="2"/>
731 </comp>
732 <comp loc="(340,440)" name="1bit adder"/>
733 <comp lib="0" loc="(70,480)" name="Pin">
734 <a name="tristate" val="false"/>
735 </comp>
736 <comp lib="1" loc="(280,100)" name="XOR Gate">
737 <a name="size" val="30"/>
738 <a name="inputs" val="2"/>
739 </comp>
740 <comp lib="0" loc="(70,600)" name="Pin">
741 <a name="tristate" val="false"/>
742 </comp>
743 <comp lib="1" loc="(280,300)" name="XOR Gate">
744 <a name="size" val="30"/>
745 <a name="inputs" val="2"/>
746 </comp>
747 </circuit>
748 <circuit name="8bit left shifter">
749 <a name="circuit" val="8bit left shifter"/>
750 <a name="clabel" val=""/>
751 <a name="clabelup" val="east"/>
752 <a name="clabelfont" val="SansSerif plain 12"/>
753 <wire from="(220,210)" to="(220,300)"/>
754 <wire from="(580,150)" to="(580,240)"/>
755 <wire from="(680,250)" to="(730,250)"/>
756 <wire from="(340,520)" to="(370,520)"/>
757 <wire from="(500,250)" to="(500,320)"/>
758 <wire from="(400,230)" to="(470,230)"/>
759 <wire from="(460,600)" to="(510,600)"/>
760 <wire from="(360,590)" to="(370,590)"/>
761 <wire from="(80,120)" to="(140,120)"/>
762 <wire from="(360,220)" to="(370,220)"/>
763 <wire from="(220,440)" to="(240,440)"/>
764 <wire from="(500,320)" to="(510,320)"/>
765 <wire from="(250,450)" to="(250,520)"/>
766 <wire from="(540,310)" to="(600,310)"/>
767 <wire from="(100,200)" to="(100,560)"/>
768 <wire from="(220,80)" to="(240,80)"/>
769 <wire from="(520,470)" to="(520,540)"/>
770 <wire from="(380,600)" to="(380,680)"/>
771 <wire from="(400,100)" to="(490,100)"/>
772 <wire from="(460,300)" to="(510,300)"/>
773 <wire from="(250,170)" to="(250,240)"/>
774 <wire from="(520,540)" to="(520,610)"/>
775 <wire from="(220,490)" to="(220,580)"/>
776 <wire from="(380,390)" to="(380,460)"/>
777 <wire from="(520,130)" to="(520,190)"/>
778 <wire from="(210,140)" to="(210,230)"/>
779 <wire from="(400,160)" to="(480,160)"/>
780 <wire from="(620,190)" to="(620,380)"/>
781 <wire from="(470,230)" to="(510,230)"/>
782 <wire from="(210,420)" to="(240,420)"/>
783 <wire from="(210,420)" to="(210,510)"/>
784 <wire from="(250,110)" to="(250,170)"/>
785 <wire from="(400,580)" to="(510,580)"/>
786 <wire from="(660,230)" to="(660,520)"/>
787 <wire from="(270,150)" to="(340,150)"/>
788 <wire from="(340,150)" to="(340,310)"/>
789 <wire from="(640,210)" to="(730,210)"/>
790 <wire from="(380,460)" to="(380,530)"/>
791 <wire from="(480,460)" to="(510,460)"/>
792 <wire from="(270,220)" to="(360,220)"/>
793 <wire from="(270,500)" to="(370,500)"/>
794 <wire from="(230,100)" to="(240,100)"/>
795 <wire from="(380,530)" to="(380,600)"/>
796 <wire from="(680,250)" to="(680,590)"/>
797 <wire from="(560,130)" to="(560,170)"/>
798 <wire from="(120,420)" to="(210,420)"/>
799 <wire from="(270,430)" to="(360,430)"/>
800 <wire from="(490,100)" to="(490,390)"/>
801 <wire from="(360,430)" to="(370,430)"/>
802 <wire from="(80,60)" to="(170,60)"/>
803 <wire from="(220,300)" to="(240,300)"/>
804 <wire from="(110,490)" to="(220,490)"/>
805 <wire from="(210,230)" to="(240,230)"/>
806 <wire from="(540,170)" to="(560,170)"/>
807 <wire from="(150,210)" to="(220,210)"/>
808 <wire from="(230,30)" to="(360,30)"/>
809 <wire from="(620,190)" to="(730,190)"/>
810 <wire from="(350,290)" to="(370,290)"/>
811 <wire from="(400,510)" to="(510,510)"/>
812 <wire from="(350,90)" to="(350,240)"/>
813 <wire from="(490,390)" to="(510,390)"/>
814 <wire from="(110,180)" to="(110,490)"/>
815 <wire from="(400,300)" to="(460,300)"/>
816 <wire from="(230,30)" to="(230,100)"/>
817 <wire from="(540,110)" to="(730,110)"/>
818 <wire from="(100,560)" to="(240,560)"/>
819 <wire from="(80,700)" to="(520,700)"/>
820 <wire from="(220,490)" to="(240,490)"/>
821 <wire from="(340,150)" to="(370,150)"/>
822 <wire from="(660,230)" to="(730,230)"/>
823 <wire from="(210,140)" to="(240,140)"/>
824 <wire from="(480,160)" to="(480,460)"/>
825 <wire from="(380,120)" to="(380,180)"/>
826 <wire from="(640,210)" to="(640,450)"/>
827 <wire from="(350,290)" to="(350,450)"/>
828 <wire from="(130,140)" to="(130,350)"/>
829 <wire from="(250,240)" to="(250,310)"/>
830 <wire from="(560,130)" to="(730,130)"/>
831 <wire from="(600,170)" to="(730,170)"/>
832 <wire from="(250,590)" to="(250,660)"/>
833 <wire from="(500,180)" to="(510,180)"/>
834 <wire from="(500,120)" to="(500,180)"/>
835 <wire from="(150,100)" to="(150,210)"/>
836 <wire from="(170,80)" to="(220,80)"/>
837 <wire from="(350,90)" to="(370,90)"/>
838 <wire from="(360,220)" to="(360,380)"/>
839 <wire from="(270,90)" to="(350,90)"/>
840 <wire from="(500,120)" to="(510,120)"/>
841 <wire from="(80,180)" to="(110,180)"/>
842 <wire from="(270,570)" to="(370,570)"/>
843 <wire from="(360,380)" to="(370,380)"/>
844 <wire from="(160,80)" to="(160,140)"/>
845 <wire from="(500,30)" to="(500,120)"/>
846 <wire from="(520,330)" to="(520,400)"/>
847 <wire from="(160,140)" to="(210,140)"/>
848 <wire from="(470,230)" to="(470,530)"/>
849 <wire from="(380,250)" to="(380,320)"/>
850 <wire from="(360,30)" to="(500,30)"/>
851 <wire from="(220,580)" to="(240,580)"/>
852 <wire from="(210,280)" to="(210,370)"/>
853 <wire from="(220,160)" to="(240,160)"/>
854 <wire from="(470,530)" to="(510,530)"/>
855 <wire from="(220,350)" to="(220,440)"/>
856 <wire from="(80,80)" to="(160,80)"/>
857 <wire from="(360,170)" to="(370,170)"/>
858 <wire from="(360,110)" to="(360,170)"/>
859 <wire from="(540,380)" to="(620,380)"/>
860 <wire from="(600,170)" to="(600,310)"/>
861 <wire from="(400,440)" to="(510,440)"/>
862 <wire from="(460,300)" to="(460,600)"/>
863 <wire from="(490,100)" to="(510,100)"/>
864 <wire from="(220,80)" to="(220,160)"/>
865 <wire from="(120,160)" to="(120,420)"/>
866 <wire from="(360,110)" to="(370,110)"/>
867 <wire from="(220,350)" to="(240,350)"/>
868 <wire from="(210,280)" to="(240,280)"/>
869 <wire from="(270,290)" to="(350,290)"/>
870 <wire from="(340,360)" to="(370,360)"/>
871 <wire from="(520,260)" to="(520,330)"/>
872 <wire from="(80,160)" to="(120,160)"/>
873 <wire from="(540,240)" to="(580,240)"/>
874 <wire from="(540,450)" to="(640,450)"/>
875 <wire from="(540,520)" to="(660,520)"/>
876 <wire from="(140,120)" to="(140,280)"/>
877 <wire from="(380,320)" to="(380,390)"/>
878 <wire from="(250,380)" to="(250,450)"/>
879 <wire from="(380,180)" to="(380,250)"/>
880 <wire from="(540,590)" to="(680,590)"/>
881 <wire from="(80,200)" to="(100,200)"/>
882 <wire from="(140,280)" to="(210,280)"/>
883 <wire from="(210,370)" to="(240,370)"/>
884 <wire from="(340,310)" to="(370,310)"/>
885 <wire from="(350,450)" to="(370,450)"/>
886 <wire from="(180,30)" to="(230,30)"/>
887 <wire from="(80,100)" to="(150,100)"/>
888 <wire from="(270,360)" to="(340,360)"/>
889 <wire from="(80,140)" to="(130,140)"/>
890 <wire from="(250,310)" to="(250,380)"/>
891 <wire from="(480,160)" to="(510,160)"/>
892 <wire from="(360,30)" to="(360,110)"/>
893 <wire from="(520,190)" to="(520,260)"/>
894 <wire from="(340,360)" to="(340,520)"/>
895 <wire from="(80,680)" to="(380,680)"/>
896 <wire from="(80,660)" to="(250,660)"/>
897 <wire from="(210,510)" to="(240,510)"/>
898 <wire from="(220,210)" to="(240,210)"/>
899 <wire from="(350,240)" to="(370,240)"/>
900 <wire from="(170,60)" to="(170,80)"/>
901 <wire from="(500,180)" to="(500,250)"/>
902 <wire from="(580,150)" to="(730,150)"/>
903 <wire from="(500,250)" to="(510,250)"/>
904 <wire from="(250,520)" to="(250,590)"/>
905 <wire from="(520,400)" to="(520,470)"/>
906 <wire from="(400,370)" to="(510,370)"/>
907 <wire from="(360,430)" to="(360,590)"/>
908 <wire from="(130,350)" to="(220,350)"/>
909 <wire from="(520,610)" to="(520,700)"/>
910 <comp lib="2" loc="(270,570)" name="Multiplexer">
911 <a name="enable" val="false"/>
912 </comp>
913 <comp lib="2" loc="(400,100)" name="Multiplexer">
914 <a name="enable" val="false"/>
915 </comp>
916 <comp lib="2" loc="(400,440)" name="Multiplexer">
917 <a name="enable" val="false"/>
918 </comp>
919 <comp lib="2" loc="(270,500)" name="Multiplexer">
920 <a name="enable" val="false"/>
921 </comp>
922 <comp lib="2" loc="(400,370)" name="Multiplexer">
923 <a name="enable" val="false"/>
924 </comp>
925 <comp lib="0" loc="(730,250)" name="Pin">
926 <a name="facing" val="west"/>
927 <a name="output" val="true"/>
928 <a name="label" val="R7"/>
929 <a name="labelloc" val="east"/>
930 </comp>
931 <comp lib="0" loc="(730,230)" name="Pin">
932 <a name="facing" val="west"/>
933 <a name="output" val="true"/>
934 <a name="label" val="R6"/>
935 <a name="labelloc" val="east"/>
936 </comp>
937 <comp lib="0" loc="(180,30)" name="Pin">
938 <a name="tristate" val="false"/>
939 <a name="label" val="sin"/>
940 </comp>
941 <comp lib="0" loc="(80,160)" name="Pin">
942 <a name="tristate" val="false"/>
943 <a name="label" val="A5"/>
944 </comp>
945 <comp lib="2" loc="(400,160)" name="Multiplexer">
946 <a name="enable" val="false"/>
947 </comp>
948 <comp lib="0" loc="(80,60)" name="Pin">
949 <a name="tristate" val="false"/>
950 <a name="label" val="A0"/>
951 </comp>
952 <comp lib="0" loc="(80,100)" name="Pin">
953 <a name="tristate" val="false"/>
954 <a name="label" val="A2"/>
955 </comp>
956 <comp lib="0" loc="(80,80)" name="Pin">
957 <a name="tristate" val="false"/>
958 <a name="label" val="A1"/>
959 </comp>
960 <comp lib="2" loc="(540,590)" name="Multiplexer">
961 <a name="enable" val="false"/>
962 </comp>
963 <comp lib="0" loc="(80,700)" name="Pin">
964 <a name="tristate" val="false"/>
965 <a name="label" val="S2"/>
966 </comp>
967 <comp lib="0" loc="(730,130)" name="Pin">
968 <a name="facing" val="west"/>
969 <a name="output" val="true"/>
970 <a name="label" val="R1"/>
971 <a name="labelloc" val="east"/>
972 </comp>
973 <comp lib="0" loc="(730,190)" name="Pin">
974 <a name="facing" val="west"/>
975 <a name="output" val="true"/>
976 <a name="label" val="R4"/>
977 <a name="labelloc" val="east"/>
978 </comp>
979 <comp lib="2" loc="(540,450)" name="Multiplexer">
980 <a name="enable" val="false"/>
981 </comp>
982 <comp lib="2" loc="(540,310)" name="Multiplexer">
983 <a name="enable" val="false"/>
984 </comp>
985 <comp lib="0" loc="(80,180)" name="Pin">
986 <a name="tristate" val="false"/>
987 <a name="label" val="A6"/>
988 </comp>
989 <comp lib="2" loc="(270,90)" name="Multiplexer">
990 <a name="enable" val="false"/>
991 </comp>
992 <comp lib="0" loc="(80,660)" name="Pin">
993 <a name="tristate" val="false"/>
994 <a name="label" val="S0"/>
995 </comp>
996 <comp lib="2" loc="(540,110)" name="Multiplexer">
997 <a name="enable" val="false"/>
998 </comp>
999 <comp lib="0" loc="(80,120)" name="Pin">
1000 <a name="tristate" val="false"/>
1001 <a name="label" val="A3"/>
1002 </comp>
1003 <comp lib="2" loc="(270,150)" name="Multiplexer">
1004 <a name="enable" val="false"/>
1005 </comp>
1006 <comp lib="2" loc="(400,300)" name="Multiplexer">
1007 <a name="enable" val="false"/>
1008 </comp>
1009 <comp lib="2" loc="(270,430)" name="Multiplexer">
1010 <a name="enable" val="false"/>
1011 </comp>
1012 <comp lib="2" loc="(540,240)" name="Multiplexer">
1013 <a name="enable" val="false"/>
1014 </comp>
1015 <comp lib="2" loc="(540,520)" name="Multiplexer">
1016 <a name="enable" val="false"/>
1017 </comp>
1018 <comp lib="2" loc="(540,380)" name="Multiplexer">
1019 <a name="enable" val="false"/>
1020 </comp>
1021 <comp lib="0" loc="(730,110)" name="Pin">
1022 <a name="facing" val="west"/>
1023 <a name="output" val="true"/>
1024 <a name="label" val="R0"/>
1025 <a name="labelloc" val="east"/>
1026 </comp>
1027 <comp lib="0" loc="(730,210)" name="Pin">
1028 <a name="facing" val="west"/>
1029 <a name="output" val="true"/>
1030 <a name="label" val="R5"/>
1031 <a name="labelloc" val="east"/>
1032 </comp>
1033 <comp lib="0" loc="(80,140)" name="Pin">
1034 <a name="tristate" val="false"/>
1035 <a name="label" val="A4"/>
1036 </comp>
1037 <comp lib="2" loc="(270,220)" name="Multiplexer">
1038 <a name="enable" val="false"/>
1039 </comp>
1040 <comp lib="0" loc="(730,170)" name="Pin">
1041 <a name="facing" val="west"/>
1042 <a name="output" val="true"/>
1043 <a name="label" val="R3"/>
1044 <a name="labelloc" val="east"/>
1045 </comp>
1046 <comp lib="2" loc="(400,230)" name="Multiplexer">
1047 <a name="enable" val="false"/>
1048 </comp>
1049 <comp lib="2" loc="(400,580)" name="Multiplexer">
1050 <a name="enable" val="false"/>
1051 </comp>
1052 <comp lib="2" loc="(270,360)" name="Multiplexer">
1053 <a name="enable" val="false"/>
1054 </comp>
1055 <comp lib="0" loc="(730,150)" name="Pin">
1056 <a name="facing" val="west"/>
1057 <a name="output" val="true"/>
1058 <a name="label" val="R2"/>
1059 <a name="labelloc" val="east"/>
1060 </comp>
1061 <comp lib="0" loc="(80,680)" name="Pin">
1062 <a name="tristate" val="false"/>
1063 <a name="label" val="S1"/>
1064 </comp>
1065 <comp lib="2" loc="(400,510)" name="Multiplexer">
1066 <a name="enable" val="false"/>
1067 </comp>
1068 <comp lib="2" loc="(540,170)" name="Multiplexer">
1069 <a name="enable" val="false"/>
1070 </comp>
1071 <comp lib="0" loc="(80,200)" name="Pin">
1072 <a name="tristate" val="false"/>
1073 <a name="label" val="A7"/>
1074 </comp>
1075 <comp lib="2" loc="(270,290)" name="Multiplexer">
1076 <a name="enable" val="false"/>
1077 </comp>
1078 </circuit>
1079 <circuit name="8bit right shifter">
1080 <a name="circuit" val="8bit right shifter"/>
1081 <a name="clabel" val=""/>
1082 <a name="clabelup" val="east"/>
1083 <a name="clabelfont" val="SansSerif plain 12"/>
1084 <wire from="(530,540)" to="(530,610)"/>
1085 <wire from="(170,140)" to="(240,140)"/>
1086 <wire from="(280,360)" to="(370,360)"/>
1087 <wire from="(240,160)" to="(240,210)"/>
1088 <wire from="(390,320)" to="(390,390)"/>
1089 <wire from="(360,450)" to="(360,570)"/>
1090 <wire from="(370,500)" to="(380,500)"/>
1091 <wire from="(280,430)" to="(360,430)"/>
1092 <wire from="(240,510)" to="(240,560)"/>
1093 <wire from="(240,160)" to="(250,160)"/>
1094 <wire from="(260,170)" to="(260,240)"/>
1095 <wire from="(550,170)" to="(570,170)"/>
1096 <wire from="(550,240)" to="(590,240)"/>
1097 <wire from="(490,250)" to="(520,250)"/>
1098 <wire from="(370,380)" to="(380,380)"/>
1099 <wire from="(90,60)" to="(180,60)"/>
1100 <wire from="(120,490)" to="(240,490)"/>
1101 <wire from="(240,440)" to="(250,440)"/>
1102 <wire from="(150,120)" to="(150,280)"/>
1103 <wire from="(240,510)" to="(250,510)"/>
1104 <wire from="(170,80)" to="(170,140)"/>
1105 <wire from="(550,520)" to="(670,520)"/>
1106 <wire from="(370,220)" to="(380,220)"/>
1107 <wire from="(500,320)" to="(500,580)"/>
1108 <wire from="(240,100)" to="(240,140)"/>
1109 <wire from="(530,260)" to="(530,330)"/>
1110 <wire from="(90,20)" to="(190,20)"/>
1111 <wire from="(260,590)" to="(260,660)"/>
1112 <wire from="(670,230)" to="(670,520)"/>
1113 <wire from="(240,100)" to="(250,100)"/>
1114 <wire from="(370,610)" to="(510,610)"/>
1115 <wire from="(240,440)" to="(240,490)"/>
1116 <wire from="(550,380)" to="(630,380)"/>
1117 <wire from="(390,460)" to="(390,530)"/>
1118 <wire from="(370,590)" to="(370,610)"/>
1119 <wire from="(130,160)" to="(130,420)"/>
1120 <wire from="(190,580)" to="(190,610)"/>
1121 <wire from="(370,110)" to="(380,110)"/>
1122 <wire from="(650,210)" to="(740,210)"/>
1123 <wire from="(510,390)" to="(520,390)"/>
1124 <wire from="(160,210)" to="(240,210)"/>
1125 <wire from="(90,160)" to="(130,160)"/>
1126 <wire from="(390,180)" to="(390,250)"/>
1127 <wire from="(280,500)" to="(370,500)"/>
1128 <wire from="(360,570)" to="(380,570)"/>
1129 <wire from="(410,300)" to="(520,300)"/>
1130 <wire from="(510,460)" to="(520,460)"/>
1131 <wire from="(260,240)" to="(260,310)"/>
1132 <wire from="(470,370)" to="(520,370)"/>
1133 <wire from="(90,200)" to="(110,200)"/>
1134 <wire from="(240,560)" to="(250,560)"/>
1135 <wire from="(550,450)" to="(650,450)"/>
1136 <wire from="(410,510)" to="(490,510)"/>
1137 <wire from="(360,170)" to="(380,170)"/>
1138 <wire from="(240,230)" to="(250,230)"/>
1139 <wire from="(410,370)" to="(470,370)"/>
1140 <wire from="(190,580)" to="(250,580)"/>
1141 <wire from="(90,100)" to="(160,100)"/>
1142 <wire from="(370,240)" to="(380,240)"/>
1143 <wire from="(530,610)" to="(530,700)"/>
1144 <wire from="(370,520)" to="(370,590)"/>
1145 <wire from="(240,230)" to="(240,280)"/>
1146 <wire from="(500,320)" to="(520,320)"/>
1147 <wire from="(360,290)" to="(380,290)"/>
1148 <wire from="(130,420)" to="(240,420)"/>
1149 <wire from="(190,20)" to="(190,580)"/>
1150 <wire from="(240,420)" to="(250,420)"/>
1151 <wire from="(370,360)" to="(380,360)"/>
1152 <wire from="(480,180)" to="(520,180)"/>
1153 <wire from="(530,330)" to="(530,400)"/>
1154 <wire from="(500,580)" to="(520,580)"/>
1155 <wire from="(260,110)" to="(260,170)"/>
1156 <wire from="(390,530)" to="(390,600)"/>
1157 <wire from="(370,590)" to="(380,590)"/>
1158 <wire from="(90,660)" to="(260,660)"/>
1159 <wire from="(360,450)" to="(380,450)"/>
1160 <wire from="(630,190)" to="(630,380)"/>
1161 <wire from="(110,200)" to="(110,560)"/>
1162 <wire from="(90,180)" to="(120,180)"/>
1163 <wire from="(280,570)" to="(360,570)"/>
1164 <wire from="(510,390)" to="(510,460)"/>
1165 <wire from="(240,300)" to="(240,350)"/>
1166 <wire from="(630,190)" to="(740,190)"/>
1167 <wire from="(470,120)" to="(520,120)"/>
1168 <wire from="(530,400)" to="(530,470)"/>
1169 <wire from="(360,170)" to="(360,290)"/>
1170 <wire from="(370,110)" to="(370,220)"/>
1171 <wire from="(90,80)" to="(170,80)"/>
1172 <wire from="(510,530)" to="(520,530)"/>
1173 <wire from="(410,100)" to="(520,100)"/>
1174 <wire from="(260,310)" to="(260,380)"/>
1175 <wire from="(360,310)" to="(380,310)"/>
1176 <wire from="(240,490)" to="(250,490)"/>
1177 <wire from="(260,450)" to="(260,520)"/>
1178 <wire from="(240,300)" to="(250,300)"/>
1179 <wire from="(390,390)" to="(390,460)"/>
1180 <wire from="(370,240)" to="(370,360)"/>
1181 <wire from="(280,150)" to="(380,150)"/>
1182 <wire from="(360,430)" to="(380,430)"/>
1183 <wire from="(650,210)" to="(650,450)"/>
1184 <wire from="(140,140)" to="(140,350)"/>
1185 <wire from="(370,520)" to="(380,520)"/>
1186 <wire from="(590,150)" to="(740,150)"/>
1187 <wire from="(530,190)" to="(530,260)"/>
1188 <wire from="(180,60)" to="(180,80)"/>
1189 <wire from="(610,170)" to="(610,310)"/>
1190 <wire from="(480,440)" to="(520,440)"/>
1191 <wire from="(240,140)" to="(250,140)"/>
1192 <wire from="(390,120)" to="(390,180)"/>
1193 <wire from="(510,600)" to="(520,600)"/>
1194 <wire from="(140,350)" to="(240,350)"/>
1195 <wire from="(160,100)" to="(160,210)"/>
1196 <wire from="(390,600)" to="(390,680)"/>
1197 <wire from="(510,460)" to="(510,530)"/>
1198 <wire from="(240,350)" to="(250,350)"/>
1199 <wire from="(410,160)" to="(520,160)"/>
1200 <wire from="(570,130)" to="(740,130)"/>
1201 <wire from="(390,250)" to="(390,320)"/>
1202 <wire from="(90,120)" to="(150,120)"/>
1203 <wire from="(90,680)" to="(390,680)"/>
1204 <wire from="(530,470)" to="(530,540)"/>
1205 <wire from="(470,120)" to="(470,370)"/>
1206 <wire from="(280,290)" to="(360,290)"/>
1207 <wire from="(260,380)" to="(260,450)"/>
1208 <wire from="(670,230)" to="(740,230)"/>
1209 <wire from="(550,310)" to="(610,310)"/>
1210 <wire from="(280,220)" to="(370,220)"/>
1211 <wire from="(590,150)" to="(590,240)"/>
1212 <wire from="(150,280)" to="(240,280)"/>
1213 <wire from="(570,130)" to="(570,170)"/>
1214 <wire from="(410,580)" to="(500,580)"/>
1215 <wire from="(190,610)" to="(370,610)"/>
1216 <wire from="(90,700)" to="(530,700)"/>
1217 <wire from="(490,250)" to="(490,510)"/>
1218 <wire from="(110,560)" to="(240,560)"/>
1219 <wire from="(410,230)" to="(520,230)"/>
1220 <wire from="(490,510)" to="(520,510)"/>
1221 <wire from="(240,210)" to="(250,210)"/>
1222 <wire from="(240,280)" to="(250,280)"/>
1223 <wire from="(510,530)" to="(510,600)"/>
1224 <wire from="(370,380)" to="(370,500)"/>
1225 <wire from="(610,170)" to="(740,170)"/>
1226 <wire from="(240,370)" to="(240,420)"/>
1227 <wire from="(260,520)" to="(260,590)"/>
1228 <wire from="(280,90)" to="(380,90)"/>
1229 <wire from="(410,440)" to="(480,440)"/>
1230 <wire from="(510,600)" to="(510,610)"/>
1231 <wire from="(690,250)" to="(740,250)"/>
1232 <wire from="(550,590)" to="(690,590)"/>
1233 <wire from="(120,180)" to="(120,490)"/>
1234 <wire from="(360,310)" to="(360,430)"/>
1235 <wire from="(90,140)" to="(140,140)"/>
1236 <wire from="(690,250)" to="(690,590)"/>
1237 <wire from="(480,180)" to="(480,440)"/>
1238 <wire from="(530,130)" to="(530,190)"/>
1239 <wire from="(550,110)" to="(740,110)"/>
1240 <wire from="(180,80)" to="(250,80)"/>
1241 <wire from="(240,370)" to="(250,370)"/>
1242 <comp lib="2" loc="(410,230)" name="Multiplexer">
1243 <a name="enable" val="false"/>
1244 </comp>
1245 <comp lib="2" loc="(550,110)" name="Multiplexer">
1246 <a name="enable" val="false"/>
1247 </comp>
1248 <comp lib="0" loc="(740,150)" name="Pin">
1249 <a name="facing" val="west"/>
1250 <a name="output" val="true"/>
1251 <a name="label" val="R2"/>
1252 <a name="labelloc" val="east"/>
1253 </comp>
1254 <comp lib="2" loc="(410,300)" name="Multiplexer">
1255 <a name="enable" val="false"/>
1256 </comp>
1257 <comp lib="0" loc="(90,100)" name="Pin">
1258 <a name="tristate" val="false"/>
1259 <a name="label" val="A2"/>
1260 </comp>
1261 <comp lib="0" loc="(740,230)" name="Pin">
1262 <a name="facing" val="west"/>
1263 <a name="output" val="true"/>
1264 <a name="label" val="R6"/>
1265 <a name="labelloc" val="east"/>
1266 </comp>
1267 <comp lib="0" loc="(90,120)" name="Pin">
1268 <a name="tristate" val="false"/>
1269 <a name="label" val="A3"/>
1270 </comp>
1271 <comp lib="0" loc="(90,680)" name="Pin">
1272 <a name="tristate" val="false"/>
1273 <a name="label" val="S1"/>
1274 </comp>
1275 <comp lib="0" loc="(90,20)" name="Pin">
1276 <a name="tristate" val="false"/>
1277 <a name="label" val="sin"/>
1278 </comp>
1279 <comp lib="2" loc="(410,370)" name="Multiplexer">
1280 <a name="enable" val="false"/>
1281 </comp>
1282 <comp lib="2" loc="(550,240)" name="Multiplexer">
1283 <a name="enable" val="false"/>
1284 </comp>
1285 <comp lib="2" loc="(410,100)" name="Multiplexer">
1286 <a name="enable" val="false"/>
1287 </comp>
1288 <comp lib="0" loc="(740,110)" name="Pin">
1289 <a name="facing" val="west"/>
1290 <a name="output" val="true"/>
1291 <a name="label" val="R0"/>
1292 <a name="labelloc" val="east"/>
1293 </comp>
1294 <comp lib="2" loc="(550,310)" name="Multiplexer">
1295 <a name="enable" val="false"/>
1296 </comp>
1297 <comp lib="0" loc="(90,80)" name="Pin">
1298 <a name="tristate" val="false"/>
1299 <a name="label" val="A1"/>
1300 </comp>
1301 <comp lib="0" loc="(740,130)" name="Pin">
1302 <a name="facing" val="west"/>
1303 <a name="output" val="true"/>
1304 <a name="label" val="R1"/>
1305 <a name="labelloc" val="east"/>
1306 </comp>
1307 <comp lib="2" loc="(280,360)" name="Multiplexer">
1308 <a name="enable" val="false"/>
1309 </comp>
1310 <comp lib="2" loc="(410,510)" name="Multiplexer">
1311 <a name="enable" val="false"/>
1312 </comp>
1313 <comp lib="2" loc="(280,150)" name="Multiplexer">
1314 <a name="enable" val="false"/>
1315 </comp>
1316 <comp lib="0" loc="(740,210)" name="Pin">
1317 <a name="facing" val="west"/>
1318 <a name="output" val="true"/>
1319 <a name="label" val="R5"/>
1320 <a name="labelloc" val="east"/>
1321 </comp>
1322 <comp lib="0" loc="(90,60)" name="Pin">
1323 <a name="tristate" val="false"/>
1324 <a name="label" val="A0"/>
1325 </comp>
1326 <comp lib="2" loc="(550,520)" name="Multiplexer">
1327 <a name="enable" val="false"/>
1328 </comp>
1329 <comp lib="0" loc="(90,660)" name="Pin">
1330 <a name="tristate" val="false"/>
1331 <a name="label" val="S0"/>
1332 </comp>
1333 <comp lib="0" loc="(740,170)" name="Pin">
1334 <a name="facing" val="west"/>
1335 <a name="output" val="true"/>
1336 <a name="label" val="R3"/>
1337 <a name="labelloc" val="east"/>
1338 </comp>
1339 <comp lib="2" loc="(280,500)" name="Multiplexer">
1340 <a name="enable" val="false"/>
1341 </comp>
1342 <comp lib="2" loc="(410,160)" name="Multiplexer">
1343 <a name="enable" val="false"/>
1344 </comp>
1345 <comp lib="2" loc="(280,570)" name="Multiplexer">
1346 <a name="enable" val="false"/>
1347 </comp>
1348 <comp lib="2" loc="(280,290)" name="Multiplexer">
1349 <a name="enable" val="false"/>
1350 </comp>
1351 <comp lib="0" loc="(90,200)" name="Pin">
1352 <a name="tristate" val="false"/>
1353 <a name="label" val="A7"/>
1354 </comp>
1355 <comp lib="0" loc="(90,700)" name="Pin">
1356 <a name="tristate" val="false"/>
1357 <a name="label" val="S2"/>
1358 </comp>
1359 <comp lib="2" loc="(550,590)" name="Multiplexer">
1360 <a name="enable" val="false"/>
1361 </comp>
1362 <comp lib="2" loc="(550,380)" name="Multiplexer">
1363 <a name="enable" val="false"/>
1364 </comp>
1365 <comp lib="2" loc="(280,220)" name="Multiplexer">
1366 <a name="enable" val="false"/>
1367 </comp>
1368 <comp lib="0" loc="(740,250)" name="Pin">
1369 <a name="facing" val="west"/>
1370 <a name="output" val="true"/>
1371 <a name="label" val="R7"/>
1372 <a name="labelloc" val="east"/>
1373 </comp>
1374 <comp lib="2" loc="(280,90)" name="Multiplexer">
1375 <a name="enable" val="false"/>
1376 </comp>
1377 <comp lib="0" loc="(90,180)" name="Pin">
1378 <a name="tristate" val="false"/>
1379 <a name="label" val="A6"/>
1380 </comp>
1381 <comp lib="2" loc="(280,430)" name="Multiplexer">
1382 <a name="enable" val="false"/>
1383 </comp>
1384 <comp lib="2" loc="(410,580)" name="Multiplexer">
1385 <a name="enable" val="false"/>
1386 </comp>
1387 <comp lib="2" loc="(410,440)" name="Multiplexer">
1388 <a name="enable" val="false"/>
1389 </comp>
1390 <comp lib="0" loc="(90,160)" name="Pin">
1391 <a name="tristate" val="false"/>
1392 <a name="label" val="A5"/>
1393 </comp>
1394 <comp lib="0" loc="(90,140)" name="Pin">
1395 <a name="tristate" val="false"/>
1396 <a name="label" val="A4"/>
1397 </comp>
1398 <comp lib="0" loc="(740,190)" name="Pin">
1399 <a name="facing" val="west"/>
1400 <a name="output" val="true"/>
1401 <a name="label" val="R4"/>
1402 <a name="labelloc" val="east"/>
1403 </comp>
1404 <comp lib="2" loc="(550,170)" name="Multiplexer">
1405 <a name="enable" val="false"/>
1406 </comp>
1407 <comp lib="2" loc="(550,450)" name="Multiplexer">
1408 <a name="enable" val="false"/>
1409 </comp>
1410 </circuit>
1411 </project>