4-bit-ALU/logisim/arithmeticunit.circ
2025-01-23 06:58:05 +03:00

1376 lines
54 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="3.9.0" version="1.0">
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
<lib desc="#Wiring" name="0">
<tool name="Pin">
<a name="appearance" val="classic"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4"/>
<lib desc="#I/O" name="5"/>
<lib desc="#TTL" name="6"/>
<lib desc="#TCL" name="7"/>
<lib desc="#Base" name="8"/>
<lib desc="#BFH-Praktika" name="9"/>
<lib desc="#Input/Output-Extra" name="10"/>
<lib desc="#Soc" name="11"/>
<main name="fullsub"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="8" map="Button2" name="Poke Tool"/>
<tool lib="8" map="Button3" name="Menu Tool"/>
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="8" name="Poke Tool"/>
<tool lib="8" name="Edit Tool"/>
<tool lib="8" name="Wiring Tool"/>
<tool lib="8" name="Text Tool"/>
<sep/>
<tool lib="0" name="Pin">
<a name="facing" val="north"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
</tool>
<sep/>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
<tool lib="1" name="XOR Gate"/>
<tool lib="1" name="NAND Gate"/>
<tool lib="1" name="NOR Gate"/>
<sep/>
<tool lib="4" name="D Flip-Flop"/>
<tool lib="4" name="Register"/>
</toolbar>
<circuit name="halfsub">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="halfsub"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(250,200)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="a"/>
</comp>
<comp lib="0" loc="(250,280)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="b"/>
</comp>
<comp lib="0" loc="(440,310)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="f"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(630,340)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(580,310)" name="NOT Gate"/>
<comp lib="6" loc="(390,150)" name="7486"/>
<comp lib="6" loc="(560,240)" name="7408"/>
<wire from="(250,200)" to="(400,200)"/>
<wire from="(250,280)" to="(420,280)"/>
<wire from="(400,180)" to="(400,200)"/>
<wire from="(400,200)" to="(400,340)"/>
<wire from="(400,340)" to="(550,340)"/>
<wire from="(420,180)" to="(420,280)"/>
<wire from="(420,280)" to="(420,370)"/>
<wire from="(420,370)" to="(570,370)"/>
<wire from="(440,180)" to="(440,310)"/>
<wire from="(500,120)" to="(500,180)"/>
<wire from="(550,310)" to="(550,340)"/>
<wire from="(570,270)" to="(570,370)"/>
<wire from="(580,310)" to="(580,330)"/>
<wire from="(580,330)" to="(590,330)"/>
<wire from="(590,250)" to="(590,270)"/>
<wire from="(590,250)" to="(610,250)"/>
<wire from="(590,270)" to="(590,330)"/>
<wire from="(610,270)" to="(610,340)"/>
<wire from="(610,340)" to="(630,340)"/>
</circuit>
<circuit name="fullsubraction">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="fullsubraction"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(130,390)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="Bin"/>
</comp>
<comp lib="0" loc="(650,290)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="D"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(750,460)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Bout"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(90,290)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A"/>
</comp>
<comp lib="0" loc="(90,320)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="B"/>
</comp>
<comp lib="6" loc="(690,350)" name="7432"/>
<comp loc="(350,290)" name="halfsub"/>
<comp loc="(610,290)" name="halfsub"/>
<wire from="(130,310)" to="(130,320)"/>
<wire from="(130,390)" to="(390,390)"/>
<wire from="(350,290)" to="(390,290)"/>
<wire from="(350,310)" to="(360,310)"/>
<wire from="(360,310)" to="(360,430)"/>
<wire from="(360,430)" to="(720,430)"/>
<wire from="(390,290)" to="(400,290)"/>
<wire from="(390,310)" to="(390,390)"/>
<wire from="(610,290)" to="(650,290)"/>
<wire from="(610,310)" to="(660,310)"/>
<wire from="(660,310)" to="(660,400)"/>
<wire from="(660,400)" to="(700,400)"/>
<wire from="(700,380)" to="(700,400)"/>
<wire from="(720,380)" to="(720,430)"/>
<wire from="(740,380)" to="(740,460)"/>
<wire from="(740,460)" to="(750,460)"/>
<wire from="(90,290)" to="(130,290)"/>
<wire from="(90,320)" to="(130,320)"/>
</circuit>
<circuit name="fullsub">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="fullsub"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(120,170)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(120,190)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(130,280)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="B"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(140,270)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(370,290)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="north"/>
<a name="label" val="BorrowIn"/>
</comp>
<comp lib="0" loc="(770,660)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="borrow"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(800,310)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(820,430)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Y"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp loc="(640,210)" name="fullsubraction"/>
<comp loc="(640,500)" name="fullsubraction"/>
<comp loc="(640,640)" name="fullsubraction"/>
<comp loc="(650,360)" name="fullsubraction"/>
<wire from="(120,170)" to="(120,190)"/>
<wire from="(130,280)" to="(140,280)"/>
<wire from="(140,130)" to="(340,130)"/>
<wire from="(140,140)" to="(310,140)"/>
<wire from="(140,150)" to="(240,150)"/>
<wire from="(140,160)" to="(170,160)"/>
<wire from="(140,270)" to="(140,280)"/>
<wire from="(160,230)" to="(420,230)"/>
<wire from="(160,240)" to="(280,240)"/>
<wire from="(160,250)" to="(210,250)"/>
<wire from="(160,260)" to="(160,660)"/>
<wire from="(160,660)" to="(420,660)"/>
<wire from="(170,160)" to="(170,640)"/>
<wire from="(170,640)" to="(420,640)"/>
<wire from="(210,250)" to="(210,520)"/>
<wire from="(210,520)" to="(420,520)"/>
<wire from="(240,150)" to="(240,500)"/>
<wire from="(240,500)" to="(420,500)"/>
<wire from="(280,240)" to="(280,380)"/>
<wire from="(280,380)" to="(430,380)"/>
<wire from="(310,140)" to="(310,360)"/>
<wire from="(310,360)" to="(430,360)"/>
<wire from="(340,130)" to="(340,210)"/>
<wire from="(340,210)" to="(420,210)"/>
<wire from="(370,270)" to="(370,290)"/>
<wire from="(370,270)" to="(380,270)"/>
<wire from="(380,250)" to="(380,270)"/>
<wire from="(380,250)" to="(420,250)"/>
<wire from="(410,530)" to="(410,540)"/>
<wire from="(410,530)" to="(510,530)"/>
<wire from="(410,540)" to="(420,540)"/>
<wire from="(420,670)" to="(420,680)"/>
<wire from="(420,670)" to="(490,670)"/>
<wire from="(430,390)" to="(430,400)"/>
<wire from="(430,390)" to="(500,390)"/>
<wire from="(490,590)" to="(490,670)"/>
<wire from="(490,590)" to="(660,590)"/>
<wire from="(500,310)" to="(500,390)"/>
<wire from="(500,310)" to="(660,310)"/>
<wire from="(510,460)" to="(510,530)"/>
<wire from="(510,460)" to="(650,460)"/>
<wire from="(640,210)" to="(820,210)"/>
<wire from="(640,230)" to="(660,230)"/>
<wire from="(640,500)" to="(920,500)"/>
<wire from="(640,520)" to="(660,520)"/>
<wire from="(640,640)" to="(960,640)"/>
<wire from="(640,660)" to="(770,660)"/>
<wire from="(650,360)" to="(770,360)"/>
<wire from="(650,380)" to="(650,460)"/>
<wire from="(660,230)" to="(660,310)"/>
<wire from="(660,520)" to="(660,590)"/>
<wire from="(770,250)" to="(770,360)"/>
<wire from="(770,250)" to="(860,250)"/>
<wire from="(800,310)" to="(800,430)"/>
<wire from="(800,430)" to="(820,430)"/>
<wire from="(820,210)" to="(820,270)"/>
<wire from="(820,280)" to="(860,280)"/>
<wire from="(820,290)" to="(920,290)"/>
<wire from="(820,300)" to="(960,300)"/>
<wire from="(860,250)" to="(860,280)"/>
<wire from="(920,290)" to="(920,500)"/>
<wire from="(960,300)" to="(960,640)"/>
</circuit>
<circuit name="OpCode">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="OpCode"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(1360,270)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(1370,320)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Opcod"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(230,280)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A0"/>
</comp>
<comp lib="0" loc="(230,400)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A1"/>
</comp>
<comp lib="0" loc="(230,540)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A2"/>
</comp>
<comp lib="1" loc="(330,520)" name="NOT Gate"/>
<comp lib="1" loc="(340,250)" name="NOT Gate"/>
<comp lib="1" loc="(350,380)" name="NOT Gate"/>
<comp lib="6" loc="(620,380)" name="7408"/>
<comp lib="6" loc="(920,120)" name="7408"/>
<comp lib="6" loc="(940,470)" name="7408"/>
<comp lib="8" loc="(455,245)" name="Text">
<a name="text" val="notc"/>
</comp>
<comp lib="8" loc="(460,375)" name="Text">
<a name="text" val="notb"/>
</comp>
<comp lib="8" loc="(470,510)" name="Text">
<a name="text" val="nota"/>
</comp>
<comp lib="8" loc="(690,295)" name="Text">
<a name="text" val="and3"/>
</comp>
<wire from="(1000,280)" to="(1000,520)"/>
<wire from="(1000,280)" to="(1010,280)"/>
<wire from="(1000,520)" to="(1030,520)"/>
<wire from="(1010,150)" to="(1010,170)"/>
<wire from="(1010,170)" to="(1010,280)"/>
<wire from="(1010,170)" to="(1020,170)"/>
<wire from="(1010,320)" to="(1010,440)"/>
<wire from="(1010,320)" to="(1330,320)"/>
<wire from="(1010,500)" to="(1010,540)"/>
<wire from="(1010,80)" to="(1010,90)"/>
<wire from="(1020,70)" to="(1020,170)"/>
<wire from="(1020,70)" to="(1030,70)"/>
<wire from="(1030,150)" to="(1030,180)"/>
<wire from="(1030,180)" to="(1300,180)"/>
<wire from="(1030,400)" to="(1030,440)"/>
<wire from="(1030,500)" to="(1030,520)"/>
<wire from="(1030,70)" to="(1030,90)"/>
<wire from="(1050,340)" to="(1050,440)"/>
<wire from="(1050,500)" to="(1050,620)"/>
<wire from="(1050,60)" to="(1050,90)"/>
<wire from="(1050,60)" to="(1570,60)"/>
<wire from="(1050,620)" to="(1590,620)"/>
<wire from="(1070,380)" to="(1070,440)"/>
<wire from="(1070,380)" to="(1300,380)"/>
<wire from="(1300,110)" to="(1300,180)"/>
<wire from="(1300,110)" to="(1430,110)"/>
<wire from="(1300,380)" to="(1300,470)"/>
<wire from="(1300,470)" to="(1520,470)"/>
<wire from="(1330,150)" to="(1330,220)"/>
<wire from="(1330,150)" to="(1400,150)"/>
<wire from="(1330,320)" to="(1330,390)"/>
<wire from="(1330,390)" to="(1560,390)"/>
<wire from="(1360,270)" to="(1360,320)"/>
<wire from="(1360,320)" to="(1370,320)"/>
<wire from="(1380,190)" to="(1400,190)"/>
<wire from="(1380,200)" to="(1430,200)"/>
<wire from="(1380,210)" to="(1500,210)"/>
<wire from="(1380,220)" to="(1570,220)"/>
<wire from="(1380,230)" to="(1640,230)"/>
<wire from="(1380,240)" to="(1590,240)"/>
<wire from="(1380,250)" to="(1560,250)"/>
<wire from="(1380,260)" to="(1520,260)"/>
<wire from="(1400,150)" to="(1400,190)"/>
<wire from="(1430,110)" to="(1430,200)"/>
<wire from="(1500,30)" to="(1500,210)"/>
<wire from="(1520,260)" to="(1520,470)"/>
<wire from="(1560,250)" to="(1560,390)"/>
<wire from="(1570,60)" to="(1570,220)"/>
<wire from="(1590,240)" to="(1590,620)"/>
<wire from="(1640,230)" to="(1640,690)"/>
<wire from="(230,280)" to="(250,280)"/>
<wire from="(230,400)" to="(260,400)"/>
<wire from="(230,540)" to="(260,540)"/>
<wire from="(250,250)" to="(250,280)"/>
<wire from="(250,250)" to="(310,250)"/>
<wire from="(250,280)" to="(970,280)"/>
<wire from="(260,380)" to="(260,400)"/>
<wire from="(260,380)" to="(320,380)"/>
<wire from="(260,400)" to="(560,400)"/>
<wire from="(260,520)" to="(260,540)"/>
<wire from="(260,520)" to="(300,520)"/>
<wire from="(260,540)" to="(630,540)"/>
<wire from="(330,250)" to="(340,250)"/>
<wire from="(330,520)" to="(690,520)"/>
<wire from="(340,250)" to="(880,250)"/>
<wire from="(350,380)" to="(460,380)"/>
<wire from="(460,370)" to="(460,380)"/>
<wire from="(460,380)" to="(600,380)"/>
<wire from="(560,400)" to="(560,470)"/>
<wire from="(560,470)" to="(650,470)"/>
<wire from="(600,320)" to="(600,380)"/>
<wire from="(600,320)" to="(670,320)"/>
<wire from="(610,330)" to="(610,430)"/>
<wire from="(610,330)" to="(650,330)"/>
<wire from="(610,430)" to="(630,430)"/>
<wire from="(630,400)" to="(630,410)"/>
<wire from="(630,410)" to="(630,430)"/>
<wire from="(630,430)" to="(630,540)"/>
<wire from="(650,330)" to="(650,350)"/>
<wire from="(650,410)" to="(650,440)"/>
<wire from="(650,440)" to="(650,470)"/>
<wire from="(650,440)" to="(710,440)"/>
<wire from="(670,320)" to="(670,330)"/>
<wire from="(670,330)" to="(670,350)"/>
<wire from="(670,330)" to="(730,330)"/>
<wire from="(670,410)" to="(670,550)"/>
<wire from="(670,550)" to="(860,550)"/>
<wire from="(690,300)" to="(690,350)"/>
<wire from="(690,300)" to="(780,300)"/>
<wire from="(690,410)" to="(690,430)"/>
<wire from="(690,430)" to="(690,520)"/>
<wire from="(690,430)" to="(770,430)"/>
<wire from="(710,340)" to="(710,350)"/>
<wire from="(710,340)" to="(770,340)"/>
<wire from="(710,410)" to="(710,440)"/>
<wire from="(730,330)" to="(730,350)"/>
<wire from="(730,350)" to="(730,360)"/>
<wire from="(730,410)" to="(730,510)"/>
<wire from="(730,510)" to="(840,510)"/>
<wire from="(750,320)" to="(750,350)"/>
<wire from="(750,320)" to="(950,320)"/>
<wire from="(770,340)" to="(770,430)"/>
<wire from="(780,300)" to="(780,400)"/>
<wire from="(780,400)" to="(920,400)"/>
<wire from="(840,60)" to="(840,80)"/>
<wire from="(840,60)" to="(950,60)"/>
<wire from="(840,80)" to="(1010,80)"/>
<wire from="(840,80)" to="(840,510)"/>
<wire from="(860,370)" to="(860,550)"/>
<wire from="(860,370)" to="(970,370)"/>
<wire from="(880,250)" to="(880,530)"/>
<wire from="(880,250)" to="(930,250)"/>
<wire from="(880,530)" to="(970,530)"/>
<wire from="(900,190)" to="(930,190)"/>
<wire from="(900,70)" to="(900,190)"/>
<wire from="(900,70)" to="(970,70)"/>
<wire from="(920,400)" to="(920,510)"/>
<wire from="(920,510)" to="(930,510)"/>
<wire from="(930,150)" to="(930,190)"/>
<wire from="(930,190)" to="(930,250)"/>
<wire from="(930,250)" to="(990,250)"/>
<wire from="(930,510)" to="(930,540)"/>
<wire from="(930,510)" to="(950,510)"/>
<wire from="(930,540)" to="(1010,540)"/>
<wire from="(950,150)" to="(950,180)"/>
<wire from="(950,180)" to="(950,320)"/>
<wire from="(950,180)" to="(990,180)"/>
<wire from="(950,500)" to="(950,510)"/>
<wire from="(950,60)" to="(950,90)"/>
<wire from="(970,150)" to="(970,220)"/>
<wire from="(970,220)" to="(1330,220)"/>
<wire from="(970,280)" to="(1000,280)"/>
<wire from="(970,280)" to="(970,340)"/>
<wire from="(970,340)" to="(1050,340)"/>
<wire from="(970,370)" to="(970,400)"/>
<wire from="(970,400)" to="(1030,400)"/>
<wire from="(970,400)" to="(970,440)"/>
<wire from="(970,500)" to="(970,530)"/>
<wire from="(970,70)" to="(970,90)"/>
<wire from="(990,150)" to="(990,180)"/>
<wire from="(990,250)" to="(990,440)"/>
<wire from="(990,30)" to="(1500,30)"/>
<wire from="(990,30)" to="(990,90)"/>
<wire from="(990,500)" to="(990,690)"/>
<wire from="(990,690)" to="(1640,690)"/>
</circuit>
<circuit name="logic">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="logic"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(1060,460)" name="Ground"/>
<comp lib="0" loc="(110,510)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(1110,360)" name="Power"/>
<comp lib="0" loc="(1230,460)" name="Ground"/>
<comp lib="0" loc="(1290,360)" name="Power"/>
<comp lib="0" loc="(140,620)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="north"/>
<a name="label" val="B"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(1420,460)" name="Ground"/>
<comp lib="0" loc="(1470,360)" name="Power"/>
<comp lib="0" loc="(1610,460)" name="Ground"/>
<comp lib="0" loc="(1690,170)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1690,220)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="resultA"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(1690,380)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="result0"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(170,510)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(170,580)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1700,340)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1700,500)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1700,550)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="resultX"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(220,40)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="Opcod"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(300,50)" name="Splitter">
<a name="fanout" val="3"/>
<a name="incoming" val="3"/>
</comp>
<comp lib="0" loc="(460,370)" name="Power"/>
<comp lib="0" loc="(600,460)" name="Ground"/>
<comp lib="0" loc="(700,350)" name="Power"/>
<comp lib="0" loc="(840,450)" name="Ground"/>
<comp lib="0" loc="(920,350)" name="Power"/>
<comp lib="6" loc="(1100,410)" name="7408"/>
<comp lib="6" loc="(1280,400)" name="7408"/>
<comp lib="6" loc="(1460,410)" name="7408"/>
<comp lib="6" loc="(450,410)" name="7408"/>
<comp lib="6" loc="(690,410)" name="7432"/>
<comp lib="6" loc="(910,410)" name="7486"/>
<comp lib="8" loc="(1025,465)" name="Text">
<a name="text" val="xor11"/>
</comp>
<comp lib="8" loc="(1040,340)" name="Text">
<a name="text" val="xor13"/>
</comp>
<comp lib="8" loc="(1150,465)" name="Text">
<a name="text" val="resultA0"/>
</comp>
<comp lib="8" loc="(1215,465)" name="Text">
<a name="text" val="resultA1"/>
</comp>
<comp lib="8" loc="(1325,495)" name="Text">
<a name="text" val="result00"/>
</comp>
<comp lib="8" loc="(1340,345)" name="Text">
<a name="text" val="result02"/>
</comp>
<comp lib="8" loc="(1385,485)" name="Text">
<a name="text" val="resul01"/>
</comp>
<comp lib="8" loc="(1405,345)" name="Text">
<a name="text" val="result03"/>
</comp>
<comp lib="8" loc="(145,480)" name="Text">
<a name="text" val="IN1"/>
</comp>
<comp lib="8" loc="(150,565)" name="Text">
<a name="text" val="IN2"/>
</comp>
<comp lib="8" loc="(1500,465)" name="Text">
<a name="text" val="resultX0"/>
</comp>
<comp lib="8" loc="(1520,350)" name="Text">
<a name="text" val="resultX2"/>
</comp>
<comp lib="8" loc="(1565,465)" name="Text">
<a name="text" val="resultX1"/>
</comp>
<comp lib="8" loc="(1580,345)" name="Text">
<a name="text" val="resultX3"/>
</comp>
<comp lib="8" loc="(1695,105)" name="Text">
<a name="text" val="resultA"/>
</comp>
<comp lib="8" loc="(1700,275)" name="Text">
<a name="text" val="result0"/>
</comp>
<comp lib="8" loc="(1705,440)" name="Text">
<a name="text" val="resultX"/>
</comp>
<comp lib="8" loc="(490,470)" name="Text">
<a name="text" val="and10"/>
</comp>
<comp lib="8" loc="(515,355)" name="Text">
<a name="text" val="and12"/>
</comp>
<comp lib="8" loc="(560,460)" name="Text">
<a name="text" val="and11"/>
</comp>
<comp lib="8" loc="(580,340)" name="Text">
<a name="text" val="and13"/>
</comp>
<comp lib="8" loc="(735,455)" name="Text">
<a name="text" val="or10"/>
</comp>
<comp lib="8" loc="(760,345)" name="Text">
<a name="text" val="or12"/>
</comp>
<comp lib="8" loc="(800,460)" name="Text">
<a name="text" val="or11"/>
</comp>
<comp lib="8" loc="(825,350)" name="Text">
<a name="text" val="or13"/>
</comp>
<comp lib="8" loc="(955,465)" name="Text">
<a name="text" val="xor10"/>
</comp>
<comp lib="8" loc="(975,350)" name="Text">
<a name="text" val="xor12"/>
</comp>
<wire from="(1000,170)" to="(1000,380)"/>
<wire from="(1000,440)" to="(1000,510)"/>
<wire from="(1020,320)" to="(1020,380)"/>
<wire from="(1020,440)" to="(1020,550)"/>
<wire from="(1020,550)" to="(1550,550)"/>
<wire from="(1040,220)" to="(1040,380)"/>
<wire from="(1040,220)" to="(1570,220)"/>
<wire from="(1040,440)" to="(1040,450)"/>
<wire from="(1040,450)" to="(1060,450)"/>
<wire from="(1060,450)" to="(1060,460)"/>
<wire from="(1090,320)" to="(1090,470)"/>
<wire from="(1090,320)" to="(1130,320)"/>
<wire from="(1090,470)" to="(1100,470)"/>
<wire from="(110,510)" to="(140,510)"/>
<wire from="(110,530)" to="(110,750)"/>
<wire from="(110,530)" to="(230,530)"/>
<wire from="(110,750)" to="(720,750)"/>
<wire from="(1100,470)" to="(1100,510)"/>
<wire from="(1100,470)" to="(1110,470)"/>
<wire from="(1100,510)" to="(1170,510)"/>
<wire from="(1110,360)" to="(1110,380)"/>
<wire from="(1110,430)" to="(1110,440)"/>
<wire from="(1110,440)" to="(1110,470)"/>
<wire from="(1130,300)" to="(1130,320)"/>
<wire from="(1130,300)" to="(1190,300)"/>
<wire from="(1130,320)" to="(1130,380)"/>
<wire from="(1130,440)" to="(1130,820)"/>
<wire from="(1130,70)" to="(1130,300)"/>
<wire from="(1150,110)" to="(1150,380)"/>
<wire from="(1150,440)" to="(1150,640)"/>
<wire from="(1150,640)" to="(1870,640)"/>
<wire from="(1170,440)" to="(1170,510)"/>
<wire from="(1170,70)" to="(1170,380)"/>
<wire from="(1170,70)" to="(1800,70)"/>
<wire from="(1190,300)" to="(1190,380)"/>
<wire from="(1190,440)" to="(1190,780)"/>
<wire from="(1210,140)" to="(1210,380)"/>
<wire from="(1210,440)" to="(1210,770)"/>
<wire from="(1210,770)" to="(1900,770)"/>
<wire from="(1230,110)" to="(1230,380)"/>
<wire from="(1230,110)" to="(1770,110)"/>
<wire from="(1230,430)" to="(1230,460)"/>
<wire from="(1260,320)" to="(1260,470)"/>
<wire from="(1260,320)" to="(1310,320)"/>
<wire from="(1260,470)" to="(1270,470)"/>
<wire from="(1270,470)" to="(1270,520)"/>
<wire from="(1270,470)" to="(1290,470)"/>
<wire from="(1270,520)" to="(1350,520)"/>
<wire from="(1290,360)" to="(1290,380)"/>
<wire from="(1290,430)" to="(1290,470)"/>
<wire from="(1310,280)" to="(1310,320)"/>
<wire from="(1310,280)" to="(1370,280)"/>
<wire from="(1310,320)" to="(1310,370)"/>
<wire from="(1310,430)" to="(1310,720)"/>
<wire from="(1310,50)" to="(1310,280)"/>
<wire from="(1330,240)" to="(1330,370)"/>
<wire from="(1330,430)" to="(1330,530)"/>
<wire from="(1330,530)" to="(1650,530)"/>
<wire from="(1350,170)" to="(1350,370)"/>
<wire from="(1350,170)" to="(1610,170)"/>
<wire from="(1350,430)" to="(1350,520)"/>
<wire from="(1370,280)" to="(1370,370)"/>
<wire from="(1370,430)" to="(1370,690)"/>
<wire from="(1390,190)" to="(1390,370)"/>
<wire from="(1390,430)" to="(1390,580)"/>
<wire from="(1390,580)" to="(1670,580)"/>
<wire from="(140,510)" to="(140,520)"/>
<wire from="(140,520)" to="(170,520)"/>
<wire from="(140,600)" to="(140,620)"/>
<wire from="(140,600)" to="(170,600)"/>
<wire from="(1410,200)" to="(1410,370)"/>
<wire from="(1410,200)" to="(1650,200)"/>
<wire from="(1410,430)" to="(1410,440)"/>
<wire from="(1410,440)" to="(1420,440)"/>
<wire from="(1420,440)" to="(1420,460)"/>
<wire from="(1440,340)" to="(1440,470)"/>
<wire from="(1440,340)" to="(1490,340)"/>
<wire from="(1440,470)" to="(1460,470)"/>
<wire from="(1460,470)" to="(1460,500)"/>
<wire from="(1460,470)" to="(1470,470)"/>
<wire from="(1460,500)" to="(1530,500)"/>
<wire from="(1470,360)" to="(1470,380)"/>
<wire from="(1470,440)" to="(1470,470)"/>
<wire from="(1490,10)" to="(1490,270)"/>
<wire from="(1490,270)" to="(1490,340)"/>
<wire from="(1490,270)" to="(1550,270)"/>
<wire from="(1490,340)" to="(1490,380)"/>
<wire from="(1490,440)" to="(1490,600)"/>
<wire from="(1510,30)" to="(1510,380)"/>
<wire from="(1510,440)" to="(1510,610)"/>
<wire from="(1510,610)" to="(1840,610)"/>
<wire from="(1530,310)" to="(1530,380)"/>
<wire from="(1530,310)" to="(1620,310)"/>
<wire from="(1530,440)" to="(1530,500)"/>
<wire from="(1550,270)" to="(1550,380)"/>
<wire from="(1550,440)" to="(1550,550)"/>
<wire from="(1570,220)" to="(1570,380)"/>
<wire from="(1570,440)" to="(1570,590)"/>
<wire from="(1570,590)" to="(1830,590)"/>
<wire from="(1590,360)" to="(1590,380)"/>
<wire from="(1590,360)" to="(1630,360)"/>
<wire from="(1590,440)" to="(1590,450)"/>
<wire from="(1590,450)" to="(1610,450)"/>
<wire from="(1610,170)" to="(1610,250)"/>
<wire from="(1610,250)" to="(1810,250)"/>
<wire from="(1610,450)" to="(1610,460)"/>
<wire from="(1620,310)" to="(1620,420)"/>
<wire from="(1620,420)" to="(1790,420)"/>
<wire from="(1630,360)" to="(1630,400)"/>
<wire from="(1630,400)" to="(1810,400)"/>
<wire from="(1650,200)" to="(1650,240)"/>
<wire from="(1650,240)" to="(1850,240)"/>
<wire from="(1650,260)" to="(1650,530)"/>
<wire from="(1650,260)" to="(1770,260)"/>
<wire from="(1670,290)" to="(1670,580)"/>
<wire from="(1670,290)" to="(1790,290)"/>
<wire from="(1690,170)" to="(1690,220)"/>
<wire from="(1690,340)" to="(1690,380)"/>
<wire from="(1690,340)" to="(1700,340)"/>
<wire from="(170,510)" to="(170,520)"/>
<wire from="(170,580)" to="(170,600)"/>
<wire from="(1700,500)" to="(1700,550)"/>
<wire from="(1710,130)" to="(1870,130)"/>
<wire from="(1710,140)" to="(1900,140)"/>
<wire from="(1710,150)" to="(1800,150)"/>
<wire from="(1710,160)" to="(1770,160)"/>
<wire from="(1710,310)" to="(1720,310)"/>
<wire from="(1720,300)" to="(1770,300)"/>
<wire from="(1720,310)" to="(1790,310)"/>
<wire from="(1720,320)" to="(1810,320)"/>
<wire from="(1720,330)" to="(1850,330)"/>
<wire from="(1720,460)" to="(1840,460)"/>
<wire from="(1720,470)" to="(1830,470)"/>
<wire from="(1720,480)" to="(1790,480)"/>
<wire from="(1720,490)" to="(1810,490)"/>
<wire from="(1770,110)" to="(1770,160)"/>
<wire from="(1770,260)" to="(1770,300)"/>
<wire from="(1790,290)" to="(1790,310)"/>
<wire from="(1790,420)" to="(1790,480)"/>
<wire from="(1800,70)" to="(1800,150)"/>
<wire from="(1810,250)" to="(1810,320)"/>
<wire from="(1810,400)" to="(1810,490)"/>
<wire from="(1830,470)" to="(1830,590)"/>
<wire from="(1840,460)" to="(1840,610)"/>
<wire from="(1850,240)" to="(1850,330)"/>
<wire from="(1870,130)" to="(1870,640)"/>
<wire from="(190,470)" to="(430,470)"/>
<wire from="(190,480)" to="(380,480)"/>
<wire from="(190,490)" to="(320,490)"/>
<wire from="(190,500)" to="(230,500)"/>
<wire from="(190,540)" to="(230,540)"/>
<wire from="(190,550)" to="(520,550)"/>
<wire from="(190,560)" to="(280,560)"/>
<wire from="(190,570)" to="(300,570)"/>
<wire from="(1900,140)" to="(1900,770)"/>
<wire from="(220,40)" to="(270,40)"/>
<wire from="(230,280)" to="(230,500)"/>
<wire from="(230,280)" to="(360,280)"/>
<wire from="(230,530)" to="(230,540)"/>
<wire from="(230,540)" to="(480,540)"/>
<wire from="(270,40)" to="(270,60)"/>
<wire from="(270,60)" to="(300,60)"/>
<wire from="(280,310)" to="(280,560)"/>
<wire from="(280,310)" to="(470,310)"/>
<wire from="(300,50)" to="(300,60)"/>
<wire from="(300,570)" to="(300,690)"/>
<wire from="(300,690)" to="(640,690)"/>
<wire from="(320,20)" to="(380,20)"/>
<wire from="(320,30)" to="(550,30)"/>
<wire from="(320,350)" to="(320,490)"/>
<wire from="(320,350)" to="(420,350)"/>
<wire from="(320,40)" to="(410,40)"/>
<wire from="(360,150)" to="(360,280)"/>
<wire from="(360,150)" to="(780,150)"/>
<wire from="(360,280)" to="(540,280)"/>
<wire from="(380,20)" to="(380,70)"/>
<wire from="(380,480)" to="(380,610)"/>
<wire from="(380,610)" to="(540,610)"/>
<wire from="(380,70)" to="(1130,70)"/>
<wire from="(410,10)" to="(1490,10)"/>
<wire from="(410,10)" to="(410,40)"/>
<wire from="(420,190)" to="(420,350)"/>
<wire from="(420,190)" to="(720,190)"/>
<wire from="(420,350)" to="(480,350)"/>
<wire from="(430,420)" to="(430,470)"/>
<wire from="(430,420)" to="(670,420)"/>
<wire from="(430,470)" to="(460,470)"/>
<wire from="(460,370)" to="(460,380)"/>
<wire from="(460,440)" to="(460,470)"/>
<wire from="(470,250)" to="(470,310)"/>
<wire from="(470,250)" to="(740,250)"/>
<wire from="(470,310)" to="(500,310)"/>
<wire from="(480,350)" to="(480,380)"/>
<wire from="(480,440)" to="(480,540)"/>
<wire from="(500,310)" to="(500,380)"/>
<wire from="(500,440)" to="(500,820)"/>
<wire from="(500,820)" to="(1130,820)"/>
<wire from="(520,110)" to="(1150,110)"/>
<wire from="(520,110)" to="(520,380)"/>
<wire from="(520,440)" to="(520,520)"/>
<wire from="(520,520)" to="(520,550)"/>
<wire from="(520,520)" to="(780,520)"/>
<wire from="(540,280)" to="(540,380)"/>
<wire from="(540,440)" to="(540,500)"/>
<wire from="(540,500)" to="(540,610)"/>
<wire from="(540,500)" to="(760,500)"/>
<wire from="(550,30)" to="(550,50)"/>
<wire from="(550,50)" to="(1310,50)"/>
<wire from="(560,280)" to="(560,380)"/>
<wire from="(560,280)" to="(640,280)"/>
<wire from="(560,440)" to="(560,780)"/>
<wire from="(560,780)" to="(1190,780)"/>
<wire from="(580,140)" to="(1210,140)"/>
<wire from="(580,140)" to="(580,380)"/>
<wire from="(580,440)" to="(580,460)"/>
<wire from="(580,460)" to="(600,460)"/>
<wire from="(640,280)" to="(640,620)"/>
<wire from="(640,620)" to="(640,690)"/>
<wire from="(640,620)" to="(880,620)"/>
<wire from="(670,420)" to="(670,470)"/>
<wire from="(670,470)" to="(690,470)"/>
<wire from="(690,350)" to="(690,380)"/>
<wire from="(690,350)" to="(700,350)"/>
<wire from="(690,380)" to="(700,380)"/>
<wire from="(690,470)" to="(690,550)"/>
<wire from="(690,470)" to="(700,470)"/>
<wire from="(690,550)" to="(920,550)"/>
<wire from="(700,440)" to="(700,470)"/>
<wire from="(720,190)" to="(720,210)"/>
<wire from="(720,210)" to="(720,380)"/>
<wire from="(720,210)" to="(940,210)"/>
<wire from="(720,440)" to="(720,660)"/>
<wire from="(720,660)" to="(720,750)"/>
<wire from="(720,660)" to="(940,660)"/>
<wire from="(740,250)" to="(740,270)"/>
<wire from="(740,270)" to="(740,380)"/>
<wire from="(740,270)" to="(960,270)"/>
<wire from="(740,440)" to="(740,720)"/>
<wire from="(740,720)" to="(1310,720)"/>
<wire from="(760,240)" to="(1330,240)"/>
<wire from="(760,240)" to="(760,380)"/>
<wire from="(760,440)" to="(760,480)"/>
<wire from="(760,480)" to="(760,500)"/>
<wire from="(760,480)" to="(980,480)"/>
<wire from="(780,150)" to="(780,170)"/>
<wire from="(780,170)" to="(1000,170)"/>
<wire from="(780,170)" to="(780,380)"/>
<wire from="(780,440)" to="(780,510)"/>
<wire from="(780,510)" to="(1000,510)"/>
<wire from="(780,510)" to="(780,520)"/>
<wire from="(800,300)" to="(800,380)"/>
<wire from="(800,300)" to="(880,300)"/>
<wire from="(800,440)" to="(800,690)"/>
<wire from="(800,690)" to="(1370,690)"/>
<wire from="(820,190)" to="(1390,190)"/>
<wire from="(820,190)" to="(820,380)"/>
<wire from="(820,440)" to="(820,450)"/>
<wire from="(820,450)" to="(840,450)"/>
<wire from="(880,300)" to="(880,320)"/>
<wire from="(880,320)" to="(1020,320)"/>
<wire from="(880,320)" to="(880,620)"/>
<wire from="(920,350)" to="(920,380)"/>
<wire from="(920,440)" to="(920,550)"/>
<wire from="(940,210)" to="(940,380)"/>
<wire from="(940,440)" to="(940,660)"/>
<wire from="(960,270)" to="(960,380)"/>
<wire from="(960,440)" to="(960,600)"/>
<wire from="(960,600)" to="(1490,600)"/>
<wire from="(980,30)" to="(1510,30)"/>
<wire from="(980,30)" to="(980,380)"/>
<wire from="(980,440)" to="(980,480)"/>
</circuit>
<circuit name="addition">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="addition"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(570,670)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="CarryOut"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(60,80)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="cin"/>
</comp>
<comp lib="0" loc="(690,360)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(70,200)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(70,250)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(70,380)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(70,420)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="B"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(700,390)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Y"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(940,720)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="overflow"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(880,720)" name="XOR Gate"/>
<comp loc="(470,130)" name="fulladd"/>
<comp loc="(470,290)" name="fulladd"/>
<comp loc="(470,470)" name="fulladd"/>
<comp loc="(470,650)" name="fulladd"/>
<wire from="(110,190)" to="(110,650)"/>
<wire from="(110,650)" to="(250,650)"/>
<wire from="(130,360)" to="(130,490)"/>
<wire from="(130,490)" to="(250,490)"/>
<wire from="(140,180)" to="(140,470)"/>
<wire from="(140,470)" to="(250,470)"/>
<wire from="(160,170)" to="(160,300)"/>
<wire from="(160,300)" to="(250,300)"/>
<wire from="(180,170)" to="(180,340)"/>
<wire from="(180,170)" to="(220,170)"/>
<wire from="(200,130)" to="(200,160)"/>
<wire from="(200,130)" to="(250,130)"/>
<wire from="(210,240)" to="(210,330)"/>
<wire from="(210,240)" to="(510,240)"/>
<wire from="(210,330)" to="(250,330)"/>
<wire from="(210,400)" to="(210,510)"/>
<wire from="(210,400)" to="(510,400)"/>
<wire from="(210,510)" to="(250,510)"/>
<wire from="(210,580)" to="(210,690)"/>
<wire from="(210,580)" to="(490,580)"/>
<wire from="(210,690)" to="(250,690)"/>
<wire from="(220,150)" to="(220,170)"/>
<wire from="(220,150)" to="(250,150)"/>
<wire from="(240,170)" to="(250,170)"/>
<wire from="(240,310)" to="(240,350)"/>
<wire from="(240,310)" to="(250,310)"/>
<wire from="(240,80)" to="(240,170)"/>
<wire from="(250,290)" to="(250,300)"/>
<wire from="(470,130)" to="(780,130)"/>
<wire from="(470,150)" to="(510,150)"/>
<wire from="(470,290)" to="(820,290)"/>
<wire from="(470,310)" to="(510,310)"/>
<wire from="(470,470)" to="(820,470)"/>
<wire from="(470,490)" to="(520,490)"/>
<wire from="(470,650)" to="(870,650)"/>
<wire from="(470,670)" to="(550,670)"/>
<wire from="(490,580)" to="(490,740)"/>
<wire from="(490,580)" to="(520,580)"/>
<wire from="(490,740)" to="(820,740)"/>
<wire from="(510,150)" to="(510,240)"/>
<wire from="(510,310)" to="(510,400)"/>
<wire from="(520,490)" to="(520,580)"/>
<wire from="(550,670)" to="(550,710)"/>
<wire from="(550,670)" to="(570,670)"/>
<wire from="(550,710)" to="(820,710)"/>
<wire from="(60,80)" to="(240,80)"/>
<wire from="(690,360)" to="(690,390)"/>
<wire from="(690,390)" to="(700,390)"/>
<wire from="(70,200)" to="(70,250)"/>
<wire from="(70,380)" to="(70,420)"/>
<wire from="(710,320)" to="(780,320)"/>
<wire from="(710,330)" to="(820,330)"/>
<wire from="(710,340)" to="(820,340)"/>
<wire from="(710,350)" to="(870,350)"/>
<wire from="(780,130)" to="(780,320)"/>
<wire from="(820,290)" to="(820,330)"/>
<wire from="(820,340)" to="(820,470)"/>
<wire from="(820,700)" to="(820,710)"/>
<wire from="(870,350)" to="(870,650)"/>
<wire from="(880,720)" to="(940,720)"/>
<wire from="(90,160)" to="(200,160)"/>
<wire from="(90,170)" to="(160,170)"/>
<wire from="(90,180)" to="(140,180)"/>
<wire from="(90,190)" to="(110,190)"/>
<wire from="(90,340)" to="(180,340)"/>
<wire from="(90,350)" to="(240,350)"/>
<wire from="(90,360)" to="(130,360)"/>
<wire from="(90,370)" to="(90,670)"/>
<wire from="(90,670)" to="(250,670)"/>
</circuit>
<circuit name="fulladd">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="fulladd"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(150,120)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A"/>
</comp>
<comp lib="0" loc="(150,210)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="B"/>
</comp>
<comp lib="0" loc="(150,320)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="Carry"/>
</comp>
<comp lib="0" loc="(580,200)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="sum"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(730,380)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Cout"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(350,160)" name="XOR Gate"/>
<comp lib="1" loc="(490,470)" name="AND Gate"/>
<comp lib="1" loc="(500,200)" name="XOR Gate"/>
<comp lib="1" loc="(500,360)" name="AND Gate"/>
<comp lib="1" loc="(700,380)" name="OR Gate"/>
<wire from="(150,120)" to="(220,120)"/>
<wire from="(150,210)" to="(190,210)"/>
<wire from="(150,320)" to="(280,320)"/>
<wire from="(190,210)" to="(190,450)"/>
<wire from="(190,210)" to="(290,210)"/>
<wire from="(190,450)" to="(440,450)"/>
<wire from="(220,120)" to="(220,490)"/>
<wire from="(220,120)" to="(290,120)"/>
<wire from="(220,490)" to="(440,490)"/>
<wire from="(280,320)" to="(280,380)"/>
<wire from="(280,320)" to="(400,320)"/>
<wire from="(280,380)" to="(450,380)"/>
<wire from="(290,120)" to="(290,140)"/>
<wire from="(290,180)" to="(290,210)"/>
<wire from="(350,160)" to="(360,160)"/>
<wire from="(360,160)" to="(360,340)"/>
<wire from="(360,160)" to="(370,160)"/>
<wire from="(360,340)" to="(450,340)"/>
<wire from="(370,160)" to="(370,180)"/>
<wire from="(370,180)" to="(440,180)"/>
<wire from="(400,220)" to="(400,320)"/>
<wire from="(400,220)" to="(440,220)"/>
<wire from="(490,470)" to="(630,470)"/>
<wire from="(500,200)" to="(580,200)"/>
<wire from="(500,360)" to="(650,360)"/>
<wire from="(630,400)" to="(630,470)"/>
<wire from="(630,400)" to="(650,400)"/>
<wire from="(700,380)" to="(730,380)"/>
</circuit>
<circuit name="halfadd">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="halfadd"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
</circuit>
<circuit name="arithmeticUnit">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="arithmeticUnit"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(1050,330)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1080,600)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1090,350)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="add_Y"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(1100,630)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Sub_y"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(200,220)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="CarryIn"/>
</comp>
<comp lib="0" loc="(230,420)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="A"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(240,510)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="B"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(360,1050)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="overflow"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(520,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="Opcod"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(540,90)" name="Splitter"/>
<comp lib="0" loc="(620,310)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(620,560)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(690,760)" name="Power"/>
<comp lib="0" loc="(730,330)" name="Power"/>
<comp lib="0" loc="(730,550)" name="Power"/>
<comp lib="0" loc="(830,850)" name="Ground"/>
<comp lib="0" loc="(850,430)" name="Ground"/>
<comp lib="0" loc="(860,670)" name="Ground"/>
<comp lib="0" loc="(990,870)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="CarryOUT"/>
<a name="output" val="true"/>
</comp>
<comp lib="6" loc="(290,970)" name="7408"/>
<comp lib="6" loc="(700,790)" name="7432"/>
<comp lib="6" loc="(720,380)" name="7408"/>
<comp lib="6" loc="(720,600)" name="7408"/>
<comp lib="8" loc="(515,975)" name="Text">
<a name="text" val="opCoded CarryO"/>
</comp>
<comp lib="8" loc="(760,655)" name="Text">
<a name="text" val="sub_y2"/>
</comp>
<comp lib="8" loc="(775,435)" name="Text">
<a name="text" val="addy_2"/>
</comp>
<comp lib="8" loc="(785,320)" name="Text">
<a name="text" val="add_Y0"/>
</comp>
<comp lib="8" loc="(785,550)" name="Text">
<a name="text" val="sub_y0"/>
</comp>
<comp lib="8" loc="(835,445)" name="Text">
<a name="text" val="add_y3"/>
</comp>
<comp lib="8" loc="(835,655)" name="Text">
<a name="text" val="sub_y3"/>
</comp>
<comp lib="8" loc="(845,325)" name="Text">
<a name="text" val="add_y1"/>
</comp>
<comp lib="8" loc="(845,545)" name="Text">
<a name="text" val="sub_y1"/>
</comp>
<comp loc="(610,380)" name="addition"/>
<comp loc="(610,580)" name="fullsub"/>
<wire from="(1010,520)" to="(1010,570)"/>
<wire from="(1010,520)" to="(1150,520)"/>
<wire from="(1050,330)" to="(1050,350)"/>
<wire from="(1050,350)" to="(1090,350)"/>
<wire from="(1070,290)" to="(1090,290)"/>
<wire from="(1070,300)" to="(1120,300)"/>
<wire from="(1070,310)" to="(1240,310)"/>
<wire from="(1070,320)" to="(1220,320)"/>
<wire from="(1080,600)" to="(1080,630)"/>
<wire from="(1080,630)" to="(1100,630)"/>
<wire from="(1090,260)" to="(1090,290)"/>
<wire from="(1100,560)" to="(1120,560)"/>
<wire from="(1100,570)" to="(1150,570)"/>
<wire from="(1100,580)" to="(1240,580)"/>
<wire from="(1100,590)" to="(1300,590)"/>
<wire from="(1120,270)" to="(1120,300)"/>
<wire from="(1120,540)" to="(1120,560)"/>
<wire from="(1150,520)" to="(1150,570)"/>
<wire from="(1220,320)" to="(1220,440)"/>
<wire from="(1240,310)" to="(1240,480)"/>
<wire from="(1240,580)" to="(1240,690)"/>
<wire from="(1300,590)" to="(1300,710)"/>
<wire from="(140,300)" to="(140,570)"/>
<wire from="(140,300)" to="(330,300)"/>
<wire from="(140,570)" to="(390,570)"/>
<wire from="(200,220)" to="(230,220)"/>
<wire from="(230,1020)" to="(300,1020)"/>
<wire from="(230,220)" to="(230,250)"/>
<wire from="(230,220)" to="(380,220)"/>
<wire from="(230,420)" to="(240,420)"/>
<wire from="(230,920)" to="(230,1020)"/>
<wire from="(230,920)" to="(340,920)"/>
<wire from="(240,340)" to="(240,420)"/>
<wire from="(240,340)" to="(330,340)"/>
<wire from="(240,510)" to="(250,510)"/>
<wire from="(250,450)" to="(250,510)"/>
<wire from="(250,450)" to="(290,450)"/>
<wire from="(270,1060)" to="(320,1060)"/>
<wire from="(270,740)" to="(270,1060)"/>
<wire from="(270,740)" to="(350,740)"/>
<wire from="(290,450)" to="(290,600)"/>
<wire from="(290,450)" to="(380,450)"/>
<wire from="(290,600)" to="(390,600)"/>
<wire from="(300,1000)" to="(300,1020)"/>
<wire from="(320,1000)" to="(320,1060)"/>
<wire from="(320,480)" to="(320,940)"/>
<wire from="(320,480)" to="(630,480)"/>
<wire from="(330,300)" to="(330,340)"/>
<wire from="(330,340)" to="(370,340)"/>
<wire from="(340,1000)" to="(340,1050)"/>
<wire from="(340,1050)" to="(360,1050)"/>
<wire from="(340,920)" to="(340,940)"/>
<wire from="(350,530)" to="(350,740)"/>
<wire from="(350,530)" to="(610,530)"/>
<wire from="(360,910)" to="(360,940)"/>
<wire from="(360,910)" to="(710,910)"/>
<wire from="(370,340)" to="(370,400)"/>
<wire from="(370,400)" to="(390,400)"/>
<wire from="(380,220)" to="(380,380)"/>
<wire from="(380,380)" to="(390,380)"/>
<wire from="(380,420)" to="(380,450)"/>
<wire from="(380,420)" to="(390,420)"/>
<wire from="(380,900)" to="(380,940)"/>
<wire from="(390,400)" to="(400,400)"/>
<wire from="(390,570)" to="(390,580)"/>
<wire from="(40,50)" to="(40,920)"/>
<wire from="(40,50)" to="(580,50)"/>
<wire from="(40,920)" to="(230,920)"/>
<wire from="(400,860)" to="(400,940)"/>
<wire from="(400,860)" to="(630,860)"/>
<wire from="(420,930)" to="(420,940)"/>
<wire from="(420,930)" to="(730,930)"/>
<wire from="(50,200)" to="(50,900)"/>
<wire from="(50,200)" to="(570,200)"/>
<wire from="(50,900)" to="(380,900)"/>
<wire from="(520,110)" to="(540,110)"/>
<wire from="(540,90)" to="(540,110)"/>
<wire from="(560,70)" to="(580,70)"/>
<wire from="(560,80)" to="(570,80)"/>
<wire from="(570,80)" to="(570,200)"/>
<wire from="(570,80)" to="(610,80)"/>
<wire from="(580,50)" to="(580,70)"/>
<wire from="(580,70)" to="(600,70)"/>
<wire from="(60,250)" to="(230,250)"/>
<wire from="(60,250)" to="(60,620)"/>
<wire from="(60,620)" to="(390,620)"/>
<wire from="(600,110)" to="(770,110)"/>
<wire from="(600,70)" to="(600,110)"/>
<wire from="(610,310)" to="(610,380)"/>
<wire from="(610,310)" to="(620,310)"/>
<wire from="(610,400)" to="(630,400)"/>
<wire from="(610,420)" to="(610,530)"/>
<wire from="(610,560)" to="(610,580)"/>
<wire from="(610,560)" to="(620,560)"/>
<wire from="(610,600)" to="(630,600)"/>
<wire from="(610,80)" to="(610,90)"/>
<wire from="(610,90)" to="(990,90)"/>
<wire from="(630,400)" to="(630,480)"/>
<wire from="(630,600)" to="(630,860)"/>
<wire from="(640,270)" to="(750,270)"/>
<wire from="(640,280)" to="(800,280)"/>
<wire from="(640,290)" to="(700,290)"/>
<wire from="(640,300)" to="(670,300)"/>
<wire from="(640,520)" to="(750,520)"/>
<wire from="(640,530)" to="(830,530)"/>
<wire from="(640,540)" to="(680,540)"/>
<wire from="(640,550)" to="(660,550)"/>
<wire from="(660,550)" to="(660,700)"/>
<wire from="(660,700)" to="(810,700)"/>
<wire from="(670,300)" to="(670,500)"/>
<wire from="(670,500)" to="(810,500)"/>
<wire from="(680,540)" to="(680,650)"/>
<wire from="(680,650)" to="(730,650)"/>
<wire from="(690,760)" to="(710,760)"/>
<wire from="(700,290)" to="(700,450)"/>
<wire from="(700,450)" to="(730,450)"/>
<wire from="(710,820)" to="(710,910)"/>
<wire from="(730,330)" to="(730,360)"/>
<wire from="(730,410)" to="(730,450)"/>
<wire from="(730,550)" to="(730,570)"/>
<wire from="(730,630)" to="(730,650)"/>
<wire from="(730,820)" to="(730,930)"/>
<wire from="(750,270)" to="(750,350)"/>
<wire from="(750,410)" to="(750,430)"/>
<wire from="(750,430)" to="(790,430)"/>
<wire from="(750,520)" to="(750,570)"/>
<wire from="(750,630)" to="(750,670)"/>
<wire from="(750,670)" to="(750,710)"/>
<wire from="(750,670)" to="(790,670)"/>
<wire from="(750,710)" to="(960,710)"/>
<wire from="(750,820)" to="(750,870)"/>
<wire from="(750,870)" to="(990,870)"/>
<wire from="(770,110)" to="(770,230)"/>
<wire from="(770,230)" to="(770,350)"/>
<wire from="(770,230)" to="(830,230)"/>
<wire from="(770,410)" to="(770,480)"/>
<wire from="(770,480)" to="(1240,480)"/>
<wire from="(770,520)" to="(770,550)"/>
<wire from="(770,520)" to="(960,520)"/>
<wire from="(770,550)" to="(770,570)"/>
<wire from="(770,550)" to="(810,550)"/>
<wire from="(770,630)" to="(770,690)"/>
<wire from="(770,690)" to="(1240,690)"/>
<wire from="(790,260)" to="(1090,260)"/>
<wire from="(790,260)" to="(790,350)"/>
<wire from="(790,410)" to="(790,430)"/>
<wire from="(790,430)" to="(790,460)"/>
<wire from="(790,460)" to="(890,460)"/>
<wire from="(790,540)" to="(1120,540)"/>
<wire from="(790,540)" to="(790,570)"/>
<wire from="(790,630)" to="(790,670)"/>
<wire from="(800,280)" to="(800,340)"/>
<wire from="(800,340)" to="(810,340)"/>
<wire from="(810,340)" to="(810,350)"/>
<wire from="(810,410)" to="(810,500)"/>
<wire from="(810,550)" to="(810,570)"/>
<wire from="(810,630)" to="(810,700)"/>
<wire from="(830,230)" to="(830,310)"/>
<wire from="(830,310)" to="(830,350)"/>
<wire from="(830,310)" to="(890,310)"/>
<wire from="(830,410)" to="(830,440)"/>
<wire from="(830,440)" to="(1220,440)"/>
<wire from="(830,530)" to="(830,570)"/>
<wire from="(830,570)" to="(830,580)"/>
<wire from="(830,630)" to="(830,730)"/>
<wire from="(830,730)" to="(970,730)"/>
<wire from="(830,820)" to="(830,850)"/>
<wire from="(850,270)" to="(1120,270)"/>
<wire from="(850,270)" to="(850,350)"/>
<wire from="(850,410)" to="(850,430)"/>
<wire from="(850,570)" to="(1010,570)"/>
<wire from="(850,630)" to="(860,630)"/>
<wire from="(860,630)" to="(860,670)"/>
<wire from="(890,310)" to="(890,460)"/>
<wire from="(960,520)" to="(960,710)"/>
<wire from="(960,520)" to="(990,520)"/>
<wire from="(970,710)" to="(1300,710)"/>
<wire from="(970,710)" to="(970,730)"/>
<wire from="(990,90)" to="(990,520)"/>
</circuit>
</project>