1
Fork 0
mirror of https://github.com/Steffo99/fermi-ser-2016-aialu.git synced 2024-11-22 05:24:17 +00:00

Added the select bit to aiArith

Probably needs to be improved.
This commit is contained in:
Steffo 2016-02-25 16:40:48 +01:00
parent 4d9c7d9d1b
commit 2ee1b141d5

View file

@ -56,42 +56,306 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="clabel" val=""/> <a name="clabel" val=""/>
<a name="clabelup" val="east"/> <a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/> <a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(140,100)" to="(170,100)"/> <wire from="(690,130)" to="(740,130)"/>
<wire from="(220,90)" to="(250,90)"/> <wire from="(630,470)" to="(680,470)"/>
<wire from="(220,180)" to="(250,180)"/> <wire from="(450,170)" to="(500,170)"/>
<wire from="(160,70)" to="(250,70)"/>
<wire from="(220,90)" to="(220,100)"/>
<wire from="(230,150)" to="(230,160)"/> <wire from="(230,150)" to="(230,160)"/>
<wire from="(170,100)" to="(220,100)"/> <wire from="(500,180)" to="(500,190)"/>
<wire from="(140,70)" to="(160,70)"/>
<wire from="(170,180)" to="(190,180)"/>
<wire from="(230,160)" to="(250,160)"/>
<wire from="(160,70)" to="(160,150)"/> <wire from="(160,70)" to="(160,150)"/>
<wire from="(170,100)" to="(170,180)"/> <wire from="(450,240)" to="(450,580)"/>
<wire from="(670,110)" to="(670,390)"/>
<wire from="(430,120)" to="(430,330)"/>
<wire from="(640,80)" to="(740,80)"/>
<wire from="(120,100)" to="(150,100)"/>
<wire from="(570,400)" to="(590,400)"/>
<wire from="(570,480)" to="(590,480)"/>
<wire from="(570,560)" to="(590,560)"/>
<wire from="(570,640)" to="(590,640)"/>
<wire from="(570,240)" to="(590,240)"/>
<wire from="(570,320)" to="(590,320)"/>
<wire from="(570,80)" to="(590,80)"/>
<wire from="(570,160)" to="(590,160)"/>
<wire from="(760,60)" to="(790,60)"/>
<wire from="(150,100)" to="(170,100)"/>
<wire from="(390,160)" to="(390,650)"/>
<wire from="(520,80)" to="(530,80)"/>
<wire from="(520,160)" to="(530,160)"/>
<wire from="(520,240)" to="(530,240)"/>
<wire from="(150,70)" to="(160,70)"/>
<wire from="(160,150)" to="(230,150)"/> <wire from="(160,150)" to="(230,150)"/>
<wire from="(520,560)" to="(530,560)"/>
<wire from="(290,80)" to="(360,80)"/> <wire from="(290,80)" to="(360,80)"/>
<wire from="(580,220)" to="(590,220)"/>
<wire from="(580,380)" to="(590,380)"/>
<wire from="(580,140)" to="(590,140)"/>
<wire from="(520,640)" to="(530,640)"/>
<wire from="(580,60)" to="(590,60)"/>
<wire from="(580,300)" to="(590,300)"/>
<wire from="(520,320)" to="(530,320)"/>
<wire from="(520,400)" to="(530,400)"/>
<wire from="(520,480)" to="(530,480)"/>
<wire from="(580,620)" to="(590,620)"/>
<wire from="(580,460)" to="(590,460)"/>
<wire from="(580,540)" to="(590,540)"/>
<wire from="(630,150)" to="(640,150)"/>
<wire from="(120,240)" to="(180,240)"/>
<wire from="(460,230)" to="(460,500)"/>
<wire from="(450,580)" to="(500,580)"/>
<wire from="(440,110)" to="(440,250)"/>
<wire from="(170,100)" to="(220,100)"/>
<wire from="(380,90)" to="(500,90)"/>
<wire from="(630,550)" to="(690,550)"/>
<wire from="(680,120)" to="(740,120)"/>
<wire from="(640,80)" to="(640,150)"/>
<wire from="(680,120)" to="(680,470)"/>
<wire from="(460,100)" to="(460,180)"/>
<wire from="(400,570)" to="(500,570)"/>
<wire from="(630,70)" to="(740,70)"/>
<wire from="(150,40)" to="(150,70)"/>
<wire from="(380,250)" to="(380,660)"/>
<wire from="(790,40)" to="(790,60)"/>
<wire from="(220,90)" to="(250,90)"/>
<wire from="(400,150)" to="(400,570)"/>
<wire from="(120,70)" to="(150,70)"/>
<wire from="(470,420)" to="(500,420)"/>
<wire from="(630,230)" to="(650,230)"/>
<wire from="(670,110)" to="(740,110)"/>
<wire from="(490,260)" to="(500,260)"/>
<wire from="(630,630)" to="(700,630)"/>
<wire from="(420,410)" to="(500,410)"/>
<wire from="(290,170)" to="(360,170)"/> <wire from="(290,170)" to="(360,170)"/>
<comp lib="3" loc="(269,55)" name="Text"> <wire from="(380,100)" to="(450,100)"/>
<a name="text" val="A + B"/> <wire from="(450,100)" to="(450,170)"/>
<wire from="(380,110)" to="(440,110)"/>
<wire from="(440,250)" to="(500,250)"/>
<wire from="(650,90)" to="(650,230)"/>
<wire from="(380,120)" to="(430,120)"/>
<wire from="(380,660)" to="(500,660)"/>
<wire from="(470,220)" to="(470,420)"/>
<wire from="(170,100)" to="(170,180)"/>
<wire from="(410,140)" to="(410,490)"/>
<wire from="(580,200)" to="(580,220)"/>
<wire from="(580,280)" to="(580,300)"/>
<wire from="(580,120)" to="(580,140)"/>
<wire from="(580,360)" to="(580,380)"/>
<wire from="(580,440)" to="(580,460)"/>
<wire from="(580,40)" to="(580,60)"/>
<wire from="(380,130)" to="(420,130)"/>
<wire from="(580,520)" to="(580,540)"/>
<wire from="(580,600)" to="(580,620)"/>
<wire from="(220,180)" to="(250,180)"/>
<wire from="(120,40)" to="(150,40)"/>
<wire from="(160,70)" to="(250,70)"/>
<wire from="(380,140)" to="(410,140)"/>
<wire from="(380,150)" to="(400,150)"/>
<wire from="(630,310)" to="(660,310)"/>
<wire from="(170,180)" to="(190,180)"/>
<wire from="(690,130)" to="(690,550)"/>
<wire from="(230,160)" to="(250,160)"/>
<wire from="(380,160)" to="(390,160)"/>
<wire from="(380,180)" to="(460,180)"/>
<wire from="(660,100)" to="(740,100)"/>
<wire from="(780,40)" to="(790,40)"/>
<wire from="(480,210)" to="(480,340)"/>
<wire from="(220,90)" to="(220,100)"/>
<wire from="(380,190)" to="(500,190)"/>
<wire from="(630,390)" to="(670,390)"/>
<wire from="(700,140)" to="(740,140)"/>
<wire from="(390,650)" to="(500,650)"/>
<wire from="(380,200)" to="(490,200)"/>
<wire from="(660,100)" to="(660,310)"/>
<wire from="(380,210)" to="(480,210)"/>
<wire from="(150,100)" to="(150,130)"/>
<wire from="(420,130)" to="(420,410)"/>
<wire from="(460,500)" to="(500,500)"/>
<wire from="(460,100)" to="(500,100)"/>
<wire from="(410,490)" to="(500,490)"/>
<wire from="(700,140)" to="(700,630)"/>
<wire from="(380,220)" to="(470,220)"/>
<wire from="(120,130)" to="(150,130)"/>
<wire from="(480,340)" to="(500,340)"/>
<wire from="(220,240)" to="(240,240)"/>
<wire from="(650,90)" to="(740,90)"/>
<wire from="(380,230)" to="(460,230)"/>
<wire from="(490,200)" to="(490,260)"/>
<wire from="(430,330)" to="(500,330)"/>
<wire from="(790,60)" to="(800,60)"/>
<wire from="(570,520)" to="(580,520)"/>
<wire from="(570,440)" to="(580,440)"/>
<wire from="(570,600)" to="(580,600)"/>
<wire from="(570,360)" to="(580,360)"/>
<wire from="(570,200)" to="(580,200)"/>
<wire from="(570,120)" to="(580,120)"/>
<wire from="(570,40)" to="(580,40)"/>
<wire from="(570,280)" to="(580,280)"/>
<wire from="(380,240)" to="(450,240)"/>
<comp lib="0" loc="(570,120)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp> </comp>
<comp loc="(270,80)" name="aiSum"/> <comp lib="0" loc="(520,640)" name="Splitter">
<comp loc="(270,170)" name="aiSum"/> <a name="facing" val="west"/>
<comp lib="3" loc="(269,144)" name="Text">
<a name="text" val="A - B"/>
</comp> </comp>
<comp lib="0" loc="(140,70)" name="Pin"> <comp lib="0" loc="(360,80)" name="Splitter">
<a name="width" val="8"/> <a name="fanout" val="8"/>
<a name="tristate" val="false"/> <a name="incoming" val="8"/>
<a name="label" val="A"/> <a name="appear" val="right"/>
</comp> </comp>
<comp lib="0" loc="(260,100)" name="Ground"/> <comp lib="0" loc="(570,640)" name="Bit Extender">
<comp lib="0" loc="(140,100)" name="Pin"> <a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(570,160)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(570,40)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(570,520)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(360,170)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(260,190)" name="Ground"/>
<comp lib="0" loc="(220,240)" name="Bit Extender">
<a name="in_width" val="1"/>
<a name="out_width" val="2"/>
</comp>
<comp lib="0" loc="(570,360)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(570,200)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(570,480)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(120,100)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
<a name="label" val="B"/> <a name="label" val="B"/>
</comp> </comp>
<comp lib="0" loc="(570,560)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(570,320)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(520,80)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp loc="(270,170)" name="aiSum"/>
<comp loc="(220,180)" name="twoComplement"/> <comp loc="(220,180)" name="twoComplement"/>
<comp lib="0" loc="(260,190)" name="Ground"/> <comp loc="(630,630)" name="MUX 4 inputs"/>
<comp lib="0" loc="(240,240)" name="Tunnel">
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp loc="(630,70)" name="MUX 4 inputs"/>
<comp lib="0" loc="(520,160)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(800,60)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(520,560)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(120,240)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
</comp>
<comp loc="(630,390)" name="MUX 4 inputs"/>
<comp loc="(630,470)" name="MUX 4 inputs"/>
<comp lib="0" loc="(760,60)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(570,240)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp loc="(630,310)" name="MUX 4 inputs"/>
<comp lib="0" loc="(570,280)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp loc="(630,150)" name="MUX 4 inputs"/>
<comp lib="3" loc="(269,55)" name="Text">
<a name="text" val="A + B"/>
</comp>
<comp lib="0" loc="(120,130)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp loc="(270,80)" name="aiSum"/>
<comp lib="3" loc="(269,144)" name="Text">
<a name="text" val="A - B"/>
</comp>
<comp lib="0" loc="(570,440)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(570,80)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(520,400)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(520,480)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(570,400)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp lib="0" loc="(260,100)" name="Ground"/>
<comp lib="0" loc="(520,320)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp loc="(630,230)" name="MUX 4 inputs"/>
<comp lib="0" loc="(120,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp loc="(630,550)" name="MUX 4 inputs"/>
<comp lib="0" loc="(120,70)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp lib="0" loc="(570,600)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(520,240)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(780,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
</circuit> </circuit>
<circuit name="aiLogic"> <circuit name="aiLogic">
<a name="circuit" val="aiLogic"/> <a name="circuit" val="aiLogic"/>
@ -156,43 +420,12 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(250,180)" to="(260,180)"/> <wire from="(250,180)" to="(260,180)"/>
<wire from="(70,100)" to="(80,100)"/> <wire from="(70,100)" to="(80,100)"/>
<wire from="(80,100)" to="(80,160)"/> <wire from="(80,100)" to="(80,160)"/>
<comp lib="1" loc="(250,100)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(250,190)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(430,130)" name="Pin"> <comp lib="0" loc="(430,130)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
<a name="label" val="Output"/> <a name="label" val="Output"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp lib="1" loc="(290,190)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(250,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(250,150)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(50,30)" name="Pin">
<a name="width" val="2"/>
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(170,30)" name="Splitter">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(50,70)" name="Pin">
<a name="width" val="4"/>
<a name="tristate" val="false"/>
<a name="label" val="Data"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="1" loc="(290,110)" name="AND Gate"> <comp lib="1" loc="(290,110)" name="AND Gate">
<a name="size" val="30"/> <a name="size" val="30"/>
<a name="inputs" val="3"/> <a name="inputs" val="3"/>
@ -200,10 +433,45 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<comp lib="1" loc="(400,130)" name="OR Gate"> <comp lib="1" loc="(400,130)" name="OR Gate">
<a name="inputs" val="4"/> <a name="inputs" val="4"/>
</comp> </comp>
<comp lib="1" loc="(250,190)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,150)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(290,70)" name="AND Gate"> <comp lib="1" loc="(290,70)" name="AND Gate">
<a name="size" val="30"/> <a name="size" val="30"/>
<a name="inputs" val="3"/> <a name="inputs" val="3"/>
</comp> </comp>
<comp lib="0" loc="(50,70)" name="Pin">
<a name="width" val="4"/>
<a name="tristate" val="false"/>
<a name="label" val="Data"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="1" loc="(250,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(250,150)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(170,30)" name="Splitter">
<a name="facing" val="south"/>
</comp>
<comp lib="1" loc="(250,100)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,190)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(50,30)" name="Pin">
<a name="width" val="2"/>
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(50,70)" name="Splitter"> <comp lib="0" loc="(50,70)" name="Splitter">
<a name="fanout" val="4"/> <a name="fanout" val="4"/>
<a name="incoming" val="4"/> <a name="incoming" val="4"/>
@ -213,10 +481,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="bit2" val="1"/> <a name="bit2" val="1"/>
<a name="bit3" val="0"/> <a name="bit3" val="0"/>
</comp> </comp>
<comp lib="1" loc="(290,150)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
</circuit> </circuit>
<circuit name="fullAdder"> <circuit name="fullAdder">
<a name="circuit" val="fullAdder"/> <a name="circuit" val="fullAdder"/>
@ -269,9 +533,11 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(90,100)" to="(100,100)"/> <wire from="(90,100)" to="(100,100)"/>
<wire from="(300,80)" to="(430,80)"/> <wire from="(300,80)" to="(430,80)"/>
<wire from="(120,60)" to="(120,310)"/> <wire from="(120,60)" to="(120,310)"/>
<comp lib="0" loc="(70,100)" name="Pin"> <comp lib="1" loc="(190,270)" name="AND Gate">
<a name="tristate" val="false"/> <a name="inputs" val="2"/>
<a name="label" val="B"/> </comp>
<comp lib="1" loc="(190,210)" name="AND Gate">
<a name="inputs" val="2"/>
</comp> </comp>
<comp lib="0" loc="(430,80)" name="Pin"> <comp lib="0" loc="(430,80)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
@ -279,38 +545,36 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Output"/> <a name="label" val="Output"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp lib="1" loc="(190,270)" name="AND Gate"> <comp lib="1" loc="(190,80)" name="XOR Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(70,140)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Carry In"/>
</comp>
<comp lib="0" loc="(70,60)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp lib="1" loc="(190,330)" name="AND Gate">
<a name="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="1" loc="(300,80)" name="XOR Gate"> <comp lib="1" loc="(300,80)" name="XOR Gate">
<a name="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="1" loc="(320,270)" name="OR Gate">
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(190,80)" name="XOR Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(430,270)" name="Pin"> <comp lib="0" loc="(430,270)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
<a name="label" val="Carry Out"/> <a name="label" val="Carry Out"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp lib="1" loc="(190,210)" name="AND Gate"> <comp lib="0" loc="(70,100)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp lib="1" loc="(190,330)" name="AND Gate">
<a name="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="1" loc="(320,270)" name="OR Gate">
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(70,140)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Carry In"/>
</comp>
<comp lib="0" loc="(70,60)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
</circuit> </circuit>
<circuit name="aiSum"> <circuit name="aiSum">
<a name="circuit" val="aiSum"/> <a name="circuit" val="aiSum"/>
@ -444,34 +708,41 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(200,150)" to="(210,150)"/> <wire from="(200,150)" to="(210,150)"/>
<wire from="(430,320)" to="(510,320)"/> <wire from="(430,320)" to="(510,320)"/>
<wire from="(610,140)" to="(610,320)"/> <wire from="(610,140)" to="(610,320)"/>
<comp lib="0" loc="(670,100)" name="Pin"> <comp loc="(540,240)" name="fullAdder"/>
<a name="facing" val="west"/> <comp loc="(540,280)" name="fullAdder"/>
<a name="output" val="true"/>
<a name="label" val="Carry Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(180,70)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp loc="(540,200)" name="fullAdder"/>
<comp lib="0" loc="(140,40)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Carry In"/>
</comp>
<comp loc="(540,360)" name="fullAdder"/>
<comp loc="(540,160)" name="fullAdder"/>
<comp lib="0" loc="(140,70)" name="Pin"> <comp lib="0" loc="(140,70)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
<a name="label" val="A"/> <a name="label" val="A"/>
</comp> </comp>
<comp loc="(540,120)" name="fullAdder"/>
<comp lib="0" loc="(180,70)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(140,100)" name="Pin"> <comp lib="0" loc="(140,100)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
<a name="label" val="B"/> <a name="label" val="B"/>
</comp> </comp>
<comp loc="(540,360)" name="fullAdder"/>
<comp loc="(540,160)" name="fullAdder"/>
<comp lib="0" loc="(650,70)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(140,40)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Carry In"/>
</comp>
<comp lib="0" loc="(670,100)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Carry Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(670,70)" name="Pin"> <comp lib="0" loc="(670,70)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
@ -479,21 +750,14 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Sum"/> <a name="label" val="Sum"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp loc="(540,240)" name="fullAdder"/>
<comp loc="(540,80)" name="fullAdder"/>
<comp loc="(540,320)" name="fullAdder"/>
<comp loc="(540,280)" name="fullAdder"/>
<comp lib="0" loc="(180,160)" name="Splitter"> <comp lib="0" loc="(180,160)" name="Splitter">
<a name="fanout" val="8"/> <a name="fanout" val="8"/>
<a name="incoming" val="8"/> <a name="incoming" val="8"/>
<a name="appear" val="right"/> <a name="appear" val="right"/>
</comp> </comp>
<comp loc="(540,120)" name="fullAdder"/> <comp loc="(540,80)" name="fullAdder"/>
<comp lib="0" loc="(650,70)" name="Splitter"> <comp loc="(540,200)" name="fullAdder"/>
<a name="facing" val="west"/> <comp loc="(540,320)" name="fullAdder"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
</circuit> </circuit>
<circuit name="AND"> <circuit name="AND">
<a name="circuit" val="AND"/> <a name="circuit" val="AND"/>
@ -507,6 +771,14 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(180,60)" to="(180,70)"/> <wire from="(180,60)" to="(180,70)"/>
<wire from="(180,110)" to="(200,110)"/> <wire from="(180,110)" to="(200,110)"/>
<wire from="(180,70)" to="(200,70)"/> <wire from="(180,70)" to="(200,70)"/>
<comp lib="0" loc="(120,120)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="1" loc="(250,90)" name="AND Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(310,90)" name="Pin"> <comp lib="0" loc="(310,90)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
@ -517,14 +789,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
</comp> </comp>
<comp lib="0" loc="(120,120)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="1" loc="(250,90)" name="AND Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
</circuit> </circuit>
<circuit name="OR"> <circuit name="OR">
<a name="circuit" val="OR"/> <a name="circuit" val="OR"/>
@ -538,6 +802,14 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(220,140)" to="(220,150)"/> <wire from="(220,140)" to="(220,150)"/>
<wire from="(170,90)" to="(220,90)"/> <wire from="(170,90)" to="(220,90)"/>
<wire from="(170,150)" to="(220,150)"/> <wire from="(170,150)" to="(220,150)"/>
<comp lib="1" loc="(300,120)" name="OR Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(170,90)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(170,150)" name="Pin"> <comp lib="0" loc="(170,150)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
@ -548,14 +820,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp lib="0" loc="(170,90)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="1" loc="(300,120)" name="OR Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
</circuit> </circuit>
<circuit name="NOT A"> <circuit name="NOT A">
<a name="circuit" val="NOT A"/> <a name="circuit" val="NOT A"/>
@ -585,6 +849,10 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="clabelfont" val="SansSerif plain 12"/> <a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(120,90)" to="(190,90)"/> <wire from="(120,90)" to="(190,90)"/>
<wire from="(220,90)" to="(320,90)"/> <wire from="(220,90)" to="(320,90)"/>
<comp lib="0" loc="(120,90)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(320,90)" name="Pin"> <comp lib="0" loc="(320,90)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
@ -594,10 +862,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<comp lib="1" loc="(220,90)" name="NOT Gate"> <comp lib="1" loc="(220,90)" name="NOT Gate">
<a name="width" val="8"/> <a name="width" val="8"/>
</comp> </comp>
<comp lib="0" loc="(120,90)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
</circuit> </circuit>
<circuit name="XOR"> <circuit name="XOR">
<a name="circuit" val="XOR"/> <a name="circuit" val="XOR"/>
@ -611,11 +875,15 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(160,130)" to="(160,140)"/> <wire from="(160,130)" to="(160,140)"/>
<wire from="(110,80)" to="(160,80)"/> <wire from="(110,80)" to="(160,80)"/>
<wire from="(110,140)" to="(160,140)"/> <wire from="(110,140)" to="(160,140)"/>
<comp lib="0" loc="(110,80)" name="Pin"> <comp lib="0" loc="(110,140)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
</comp> </comp>
<comp lib="0" loc="(110,140)" name="Pin"> <comp lib="1" loc="(250,110)" name="XOR Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(110,80)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
</comp> </comp>
@ -625,10 +893,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp lib="1" loc="(250,110)" name="XOR Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
</circuit> </circuit>
<circuit name="twoComplement"> <circuit name="twoComplement">
<a name="circuit" val="twoComplement"/> <a name="circuit" val="twoComplement"/>
@ -667,14 +931,8 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(290,80)" to="(290,160)"/> <wire from="(290,80)" to="(290,160)"/>
<wire from="(280,60)" to="(320,60)"/> <wire from="(280,60)" to="(320,60)"/>
<wire from="(360,70)" to="(400,70)"/> <wire from="(360,70)" to="(400,70)"/>
<comp lib="0" loc="(400,70)" name="Pin"> <comp lib="0" loc="(330,100)" name="Ground"/>
<a name="facing" val="west"/> <comp lib="1" loc="(230,120)" name="NOT Gate">
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val="Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(230,90)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="0" loc="(160,60)" name="Splitter"> <comp lib="0" loc="(160,60)" name="Splitter">
@ -682,10 +940,10 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="incoming" val="8"/> <a name="incoming" val="8"/>
<a name="appear" val="right"/> <a name="appear" val="right"/>
</comp> </comp>
<comp lib="1" loc="(230,140)" name="NOT Gate"> <comp lib="1" loc="(230,70)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="1" loc="(230,70)" name="NOT Gate"> <comp lib="1" loc="(230,100)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="0" loc="(140,60)" name="Pin"> <comp lib="0" loc="(140,60)" name="Pin">
@ -693,26 +951,32 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
<a name="label" val="In"/> <a name="label" val="In"/>
</comp> </comp>
<comp lib="0" loc="(270,160)" name="Constant"> <comp lib="1" loc="(230,90)" name="NOT Gate">
<a name="width" val="8"/>
</comp>
<comp lib="1" loc="(230,100)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp loc="(340,70)" name="aiSum"/> <comp lib="1" loc="(230,140)" name="NOT Gate">
<comp lib="1" loc="(230,130)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(330,100)" name="Ground"/>
<comp lib="1" loc="(230,110)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="1" loc="(230,80)" name="NOT Gate"> <comp lib="1" loc="(230,80)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="1" loc="(230,120)" name="NOT Gate"> <comp lib="0" loc="(400,70)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val="Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(230,110)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="0" loc="(270,160)" name="Constant">
<a name="width" val="8"/>
</comp>
<comp lib="1" loc="(230,130)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp loc="(340,70)" name="aiSum"/>
<comp lib="0" loc="(280,60)" name="Splitter"> <comp lib="0" loc="(280,60)" name="Splitter">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="fanout" val="8"/> <a name="fanout" val="8"/>