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

Fixed overflow check

This commit is contained in:
Steffo 2016-03-02 10:13:05 +01:00
parent 4f9adc5acf
commit 366e3c867e

View file

@ -71,7 +71,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
</appear> </appear>
<wire from="(690,130)" to="(740,130)"/> <wire from="(690,130)" to="(740,130)"/>
<wire from="(630,470)" to="(680,470)"/> <wire from="(630,470)" to="(680,470)"/>
<wire from="(330,110)" to="(330,240)"/>
<wire from="(450,170)" to="(500,170)"/> <wire from="(450,170)" to="(500,170)"/>
<wire from="(230,150)" to="(230,160)"/> <wire from="(230,150)" to="(230,160)"/>
<wire from="(500,180)" to="(500,190)"/> <wire from="(500,180)" to="(500,190)"/>
@ -92,7 +91,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(760,60)" to="(790,60)"/> <wire from="(760,60)" to="(790,60)"/>
<wire from="(150,100)" to="(170,100)"/> <wire from="(150,100)" to="(170,100)"/>
<wire from="(390,160)" to="(390,650)"/> <wire from="(390,160)" to="(390,650)"/>
<wire from="(320,690)" to="(790,690)"/>
<wire from="(520,80)" to="(530,80)"/> <wire from="(520,80)" to="(530,80)"/>
<wire from="(520,160)" to="(530,160)"/> <wire from="(520,160)" to="(530,160)"/>
<wire from="(520,240)" to="(530,240)"/> <wire from="(520,240)" to="(530,240)"/>
@ -129,7 +127,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(150,40)" to="(150,70)"/> <wire from="(150,40)" to="(150,70)"/>
<wire from="(380,250)" to="(380,660)"/> <wire from="(380,250)" to="(380,660)"/>
<wire from="(790,40)" to="(790,60)"/> <wire from="(790,40)" to="(790,60)"/>
<wire from="(320,270)" to="(320,690)"/>
<wire from="(220,90)" to="(250,90)"/> <wire from="(220,90)" to="(250,90)"/>
<wire from="(400,150)" to="(400,570)"/> <wire from="(400,150)" to="(400,570)"/>
<wire from="(120,70)" to="(150,70)"/> <wire from="(120,70)" to="(150,70)"/>
@ -151,7 +148,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(470,220)" to="(470,420)"/> <wire from="(470,220)" to="(470,420)"/>
<wire from="(170,100)" to="(170,180)"/> <wire from="(170,100)" to="(170,180)"/>
<wire from="(410,140)" to="(410,490)"/> <wire from="(410,140)" to="(410,490)"/>
<wire from="(310,210)" to="(310,240)"/>
<wire from="(580,200)" to="(580,220)"/> <wire from="(580,200)" to="(580,220)"/>
<wire from="(580,280)" to="(580,300)"/> <wire from="(580,280)" to="(580,300)"/>
<wire from="(580,120)" to="(580,140)"/> <wire from="(580,120)" to="(580,140)"/>
@ -170,16 +166,17 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(170,180)" to="(190,180)"/> <wire from="(170,180)" to="(190,180)"/>
<wire from="(690,130)" to="(690,550)"/> <wire from="(690,130)" to="(690,550)"/>
<wire from="(230,160)" to="(250,160)"/> <wire from="(230,160)" to="(250,160)"/>
<wire from="(330,690)" to="(790,690)"/>
<wire from="(380,160)" to="(390,160)"/> <wire from="(380,160)" to="(390,160)"/>
<wire from="(380,180)" to="(460,180)"/> <wire from="(380,180)" to="(460,180)"/>
<wire from="(660,100)" to="(740,100)"/> <wire from="(660,100)" to="(740,100)"/>
<wire from="(790,90)" to="(800,90)"/> <wire from="(790,90)" to="(800,90)"/>
<wire from="(780,40)" to="(790,40)"/> <wire from="(780,40)" to="(790,40)"/>
<wire from="(330,110)" to="(330,690)"/>
<wire from="(480,210)" to="(480,340)"/> <wire from="(480,210)" to="(480,340)"/>
<wire from="(220,90)" to="(220,100)"/> <wire from="(220,90)" to="(220,100)"/>
<wire from="(280,110)" to="(330,110)"/> <wire from="(280,110)" to="(330,110)"/>
<wire from="(380,190)" to="(500,190)"/> <wire from="(380,190)" to="(500,190)"/>
<wire from="(280,190)" to="(280,210)"/>
<wire from="(630,390)" to="(670,390)"/> <wire from="(630,390)" to="(670,390)"/>
<wire from="(700,140)" to="(740,140)"/> <wire from="(700,140)" to="(740,140)"/>
<wire from="(390,650)" to="(500,650)"/> <wire from="(390,650)" to="(500,650)"/>
@ -195,7 +192,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(700,140)" to="(700,630)"/> <wire from="(700,140)" to="(700,630)"/>
<wire from="(380,220)" to="(470,220)"/> <wire from="(380,220)" to="(470,220)"/>
<wire from="(120,130)" to="(150,130)"/> <wire from="(120,130)" to="(150,130)"/>
<wire from="(280,210)" to="(310,210)"/>
<wire from="(480,340)" to="(500,340)"/> <wire from="(480,340)" to="(500,340)"/>
<wire from="(220,240)" to="(240,240)"/> <wire from="(220,240)" to="(240,240)"/>
<wire from="(650,90)" to="(740,90)"/> <wire from="(650,90)" to="(740,90)"/>
@ -212,140 +208,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(570,40)" to="(580,40)"/> <wire from="(570,40)" to="(580,40)"/>
<wire from="(570,280)" to="(580,280)"/> <wire from="(570,280)" to="(580,280)"/>
<wire from="(380,240)" to="(450,240)"/> <wire from="(380,240)" to="(450,240)"/>
<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,550)" name="MUX 4 inputs"/> <comp loc="(630,550)" name="MUX 4 inputs"/>
<comp lib="0" loc="(570,480)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp loc="(630,70)" name="MUX 4 inputs"/>
<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="(570,240)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp loc="(270,170)" name="aiSum"/>
<comp lib="0" loc="(520,160)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="3" loc="(269,144)" name="Text">
<a name="text" val="A - B"/>
</comp>
<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 loc="(220,180)" name="twoComplement"/>
<comp lib="0" loc="(120,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(360,80)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="3" loc="(269,55)" name="Text">
<a name="text" val="A + B"/>
</comp>
<comp loc="(630,310)" name="MUX 4 inputs"/>
<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="(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,320)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<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="(520,80)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp loc="(630,470)" name="MUX 4 inputs"/>
<comp lib="0" loc="(520,640)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(240,240)" name="Tunnel">
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(520,400)" 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="(520,240)" name="Splitter">
<a name="facing" val="west"/>
</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="(360,170)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(220,240)" name="Bit Extender">
<a name="in_width" val="1"/>
<a name="out_width" val="2"/>
</comp>
<comp loc="(270,80)" name="aiSum"/>
<comp loc="(630,150)" name="MUX 4 inputs"/>
<comp lib="0" loc="(520,560)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(520,320)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(570,640)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</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="(800,90)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Overflow Check"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(120,130)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp loc="(630,230)" name="MUX 4 inputs"/>
<comp lib="1" loc="(320,270)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(120,240)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(800,60)" name="Pin"> <comp lib="0" loc="(800,60)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
@ -353,44 +216,172 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Out"/> <a name="label" val="Out"/>
<a name="labelloc" val="east"/> <a name="labelloc" val="east"/>
</comp> </comp>
<comp lib="0" loc="(570,80)" name="Bit Extender"> <comp lib="0" loc="(780,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(570,240)" name="Bit Extender">
<a name="in_width" val="2"/> <a name="in_width" val="2"/>
<a name="out_width" val="4"/> <a name="out_width" val="4"/>
</comp> </comp>
<comp lib="0" loc="(520,480)" name="Splitter"> <comp lib="0" loc="(570,640)" name="Bit Extender">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(570,160)" name="Bit Extender">
<a name="in_width" val="2"/> <a name="in_width" val="2"/>
<a name="out_width" val="4"/> <a name="out_width" val="4"/>
</comp> </comp>
<comp lib="0" loc="(260,100)" name="Ground"/> <comp lib="0" loc="(570,40)" name="Tunnel">
<comp lib="0" loc="(570,440)" name="Tunnel">
<a name="facing" val="east"/> <a name="facing" val="east"/>
<a name="width" val="2"/> <a name="width" val="2"/>
<a name="label" val="Select"/> <a name="label" val="Select"/>
</comp> </comp>
<comp loc="(630,390)" name="MUX 4 inputs"/> <comp loc="(630,390)" name="MUX 4 inputs"/>
<comp loc="(630,310)" name="MUX 4 inputs"/>
<comp loc="(630,630)" name="MUX 4 inputs"/>
<comp lib="0" loc="(520,80)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(240,240)" name="Tunnel">
<a name="width" val="2"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(120,130)" name="Probe">
<a name="radix" val="10signed"/>
</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="(360,80)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<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 loc="(270,80)" name="aiSum"/>
<comp loc="(630,230)" name="MUX 4 inputs"/>
<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,640)" 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 lib="0" loc="(760,60)" name="Splitter"> <comp lib="0" loc="(760,60)" name="Splitter">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="fanout" val="8"/> <a name="fanout" val="8"/>
<a name="incoming" val="8"/> <a name="incoming" val="8"/>
</comp> </comp>
<comp lib="0" loc="(120,100)" name="Pin"> <comp loc="(270,170)" name="aiSum"/>
<a name="width" val="8"/> <comp lib="0" loc="(360,170)" name="Splitter">
<a name="tristate" val="false"/> <a name="fanout" val="8"/>
<a name="label" val="B"/> <a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(120,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(570,80)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp loc="(630,470)" name="MUX 4 inputs"/>
<comp lib="0" loc="(520,480)" name="Splitter">
<a name="facing" val="west"/>
</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>
<comp lib="0" loc="(570,360)" name="Tunnel"> <comp lib="0" loc="(570,360)" name="Tunnel">
<a name="facing" val="east"/> <a name="facing" val="east"/>
<a name="width" val="2"/> <a name="width" val="2"/>
<a name="label" val="Select"/> <a name="label" val="Select"/>
</comp> </comp>
<comp lib="0" loc="(780,40)" name="Probe"> <comp lib="0" loc="(570,160)" name="Bit Extender">
<a name="radix" val="10signed"/> <a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</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="(570,560)" name="Bit Extender">
<a name="in_width" val="2"/>
<a name="out_width" val="4"/>
</comp>
<comp loc="(630,70)" name="MUX 4 inputs"/>
<comp lib="0" loc="(520,560)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(520,320)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<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 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="3" loc="(269,144)" name="Text">
<a name="text" val="A - B"/>
</comp>
<comp lib="0" loc="(120,100)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp lib="0" loc="(220,240)" name="Bit Extender">
<a name="in_width" val="1"/>
<a name="out_width" val="2"/>
</comp> </comp>
<comp lib="0" loc="(260,190)" name="Ground"/> <comp lib="0" loc="(260,190)" name="Ground"/>
<comp loc="(630,630)" name="MUX 4 inputs"/> <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="(570,480)" 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 loc="(220,180)" name="twoComplement"/>
<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 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="(800,90)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Overflow Check"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(520,240)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(520,160)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(260,100)" name="Ground"/>
</circuit> </circuit>
<circuit name="aiLogic"> <circuit name="aiLogic">
<a name="circuit" val="aiLogic"/> <a name="circuit" val="aiLogic"/>
@ -455,15 +446,6 @@ 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="(400,130)" name="OR Gate">
<a name="inputs" val="4"/>
</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"> <comp lib="0" loc="(170,30)" name="Splitter">
<a name="facing" val="south"/> <a name="facing" val="south"/>
</comp> </comp>
@ -477,28 +459,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="size" val="30"/> <a name="size" val="30"/>
<a name="inputs" val="3"/> <a name="inputs" val="3"/>
</comp> </comp>
<comp lib="1" loc="(250,150)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(50,70)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
<a name="bit0" val="3"/>
<a name="bit1" val="2"/>
<a name="bit2" val="1"/>
<a name="bit3" val="0"/>
</comp>
<comp lib="1" loc="(250,190)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(250,100)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,110)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(250,180)" name="NOT Gate"> <comp lib="1" loc="(250,180)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
@ -512,6 +472,37 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<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,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="1" loc="(290,110)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(400,130)" name="OR Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="0" loc="(50,70)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
<a name="bit0" val="3"/>
<a name="bit1" val="2"/>
<a name="bit2" val="1"/>
<a name="bit3" val="0"/>
</comp>
<comp lib="1" loc="(250,190)" 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="1" loc="(250,100)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,150)" name="AND Gate"> <comp lib="1" loc="(290,150)" name="AND Gate">
<a name="size" val="30"/> <a name="size" val="30"/>
<a name="inputs" val="3"/> <a name="inputs" val="3"/>
@ -568,48 +559,48 @@ 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="1" loc="(300,80)" name="XOR Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(190,80)" name="XOR Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(190,270)" name="AND Gate">
<a name="inputs" val="2"/>
</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"/>
<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="(190,270)" name="AND Gate">
<a name="inputs" val="2"/>
</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="(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,330)" name="AND Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(190,210)" name="AND Gate"> <comp lib="1" loc="(190,210)" name="AND Gate">
<a name="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="1" loc="(300,80)" name="XOR Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(70,60)" name="Pin"> <comp lib="0" loc="(70,60)" name="Pin">
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
<a name="label" val="A"/> <a name="label" val="A"/>
</comp> </comp>
<comp lib="1" loc="(190,80)" name="XOR Gate"> <comp lib="1" loc="(190,330)" name="AND Gate">
<a name="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="0" loc="(70,100)" name="Pin"> <comp lib="0" loc="(70,100)" name="Pin">
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
<a name="label" val="B"/> <a name="label" val="B"/>
</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>
</circuit> </circuit>
<circuit name="aiSum"> <circuit name="aiSum">
<a name="circuit" val="aiSum"/> <a name="circuit" val="aiSum"/>
@ -743,6 +734,22 @@ 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 loc="(540,200)" name="fullAdder"/>
<comp loc="(540,120)" name="fullAdder"/>
<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="(140,70)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp loc="(540,280)" name="fullAdder"/>
<comp loc="(540,360)" name="fullAdder"/>
<comp loc="(540,240)" name="fullAdder"/>
<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"/>
@ -755,44 +762,28 @@ 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 loc="(540,160)" name="fullAdder"/> <comp lib="0" loc="(650,70)" name="Splitter">
<comp lib="0" loc="(670,100)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="fanout" val="8"/>
<a name="label" val="Carry Out"/> <a name="incoming" val="8"/>
<a name="labelloc" val="east"/>
</comp> </comp>
<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 lib="0" loc="(650,70)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp loc="(540,200)" name="fullAdder"/>
<comp loc="(540,320)" name="fullAdder"/>
<comp loc="(540,360)" name="fullAdder"/>
<comp lib="0" loc="(140,40)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Carry In"/>
</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,240)" name="fullAdder"/>
<comp lib="0" loc="(140,70)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp loc="(540,120)" name="fullAdder"/>
<comp loc="(540,80)" name="fullAdder"/> <comp loc="(540,80)" name="fullAdder"/>
<comp loc="(540,280)" 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,320)" name="fullAdder"/>
<comp loc="(540,160)" name="fullAdder"/>
</circuit> </circuit>
<circuit name="AND"> <circuit name="AND">
<a name="circuit" val="AND"/> <a name="circuit" val="AND"/>
@ -815,6 +806,10 @@ 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,60)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(120,120)" name="Pin"> <comp lib="0" loc="(120,120)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
@ -823,10 +818,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="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="0" loc="(120,60)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</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"/>
@ -855,24 +846,24 @@ 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="0" loc="(360,120)" 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="(170,90)" name="Pin"> <comp lib="0" loc="(170,90)" 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="(170,150)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="1" loc="(300,120)" name="OR Gate"> <comp lib="1" loc="(300,120)" name="OR Gate">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="inputs" val="2"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="0" loc="(170,150)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(360,120)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="labelloc" val="east"/>
</comp>
</circuit> </circuit>
<circuit name="NOT "> <circuit name="NOT ">
<a name="circuit" val="NOT "/> <a name="circuit" val="NOT "/>
@ -889,15 +880,15 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
</appear> </appear>
<wire from="(210,80)" to="(240,80)"/> <wire from="(210,80)" to="(240,80)"/>
<wire from="(120,80)" to="(180,80)"/> <wire from="(120,80)" to="(180,80)"/>
<comp lib="1" loc="(210,80)" name="NOT Gate">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(240,80)" name="Pin"> <comp lib="0" loc="(240,80)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
<a name="output" val="true"/> <a name="output" val="true"/>
<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="(210,80)" name="NOT Gate">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(120,80)" name="Pin"> <comp lib="0" loc="(120,80)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="tristate" val="false"/>
@ -924,9 +915,9 @@ 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="1" loc="(250,110)" name="XOR Gate">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="tristate" val="false"/> <a name="inputs" val="2"/>
</comp> </comp>
<comp lib="0" loc="(310,110)" name="Pin"> <comp lib="0" loc="(310,110)" name="Pin">
<a name="facing" val="west"/> <a name="facing" val="west"/>
@ -934,9 +925,9 @@ 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"> <comp lib="0" loc="(110,80)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="inputs" val="2"/> <a name="tristate" val="false"/>
</comp> </comp>
<comp lib="0" loc="(110,140)" name="Pin"> <comp lib="0" loc="(110,140)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
@ -980,18 +971,39 @@ 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="1" loc="(230,70)" name="NOT Gate"> <comp lib="0" loc="(280,60)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp loc="(340,70)" name="aiSum"/>
<comp lib="1" loc="(230,110)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,80)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(330,100)" name="Ground"/>
<comp lib="1" loc="(230,120)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,130)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,100)" name="NOT Gate">
<a name="size" val="20"/> <a name="size" val="20"/>
</comp> </comp>
<comp lib="1" loc="(230,90)" name="NOT Gate"> <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="(400,70)" name="Pin"> <comp lib="0" loc="(270,160)" name="Constant">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/> <a name="width" val="8"/>
<a name="label" val="Out"/> </comp>
<a name="labelloc" val="east"/> <comp lib="1" loc="(230,70)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,140)" name="NOT Gate">
<a name="size" val="20"/>
</comp> </comp>
<comp lib="0" loc="(140,60)" name="Pin"> <comp lib="0" loc="(140,60)" name="Pin">
<a name="width" val="8"/> <a name="width" val="8"/>
@ -1003,33 +1015,12 @@ 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="0" loc="(270,160)" name="Constant"> <comp lib="0" loc="(400,70)" name="Pin">
<a name="width" val="8"/>
</comp>
<comp loc="(340,70)" name="aiSum"/>
<comp lib="0" loc="(330,100)" name="Ground"/>
<comp lib="1" loc="(230,100)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,120)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<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="output" val="true"/>
<a name="incoming" val="8"/> <a name="width" val="8"/>
</comp> <a name="label" val="Out"/>
<comp lib="1" loc="(230,110)" name="NOT Gate"> <a name="labelloc" val="east"/>
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,140)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,130)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,80)" name="NOT Gate">
<a name="size" val="20"/>
</comp> </comp>
</circuit> </circuit>
</project> </project>