1
Fork 0
mirror of https://github.com/Steffo99/fermi-ser-2016-aialu.git synced 2024-11-21 13:14:18 +00:00
i add aiLogic
This commit is contained in:
IL-GRANDE-INFORMATICO 2016-03-02 10:50:16 +01:00
parent 0430978b50
commit a40ecf9ba5

View file

@ -73,48 +73,55 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<circ-port height="10" pin="800,90" width="10" x="105" y="75"/>
<circ-anchor facing="east" height="6" width="6" x="107" y="67"/>
</appear>
<wire from="(230,150)" to="(230,160)"/>
<wire from="(160,70)" to="(160,150)"/>
<wire from="(120,100)" to="(150,100)"/>
<wire from="(360,90)" to="(450,90)"/>
<wire from="(290,80)" to="(450,80)"/>
<wire from="(760,60)" to="(790,60)"/>
<wire from="(430,100)" to="(450,100)"/>
<wire from="(150,100)" to="(170,100)"/>
<wire from="(150,70)" to="(160,70)"/>
<wire from="(160,150)" to="(230,150)"/>
<wire from="(120,240)" to="(180,240)"/>
<wire from="(170,100)" to="(220,100)"/>
<wire from="(220,240)" to="(450,240)"/>
<wire from="(150,40)" to="(150,70)"/>
<wire from="(790,40)" to="(790,60)"/>
<wire from="(220,90)" to="(250,90)"/>
<wire from="(120,70)" to="(150,70)"/>
<wire from="(450,130)" to="(450,240)"/>
<wire from="(430,110)" to="(450,110)"/>
<wire from="(480,100)" to="(760,100)"/>
<wire from="(340,180)" to="(790,180)"/>
<wire from="(290,170)" to="(360,170)"/>
<wire from="(280,130)" to="(340,130)"/>
<wire from="(120,240)" to="(180,240)"/>
<wire from="(230,150)" to="(230,160)"/>
<wire from="(220,90)" to="(220,100)"/>
<wire from="(170,100)" to="(220,100)"/>
<wire from="(430,100)" to="(430,110)"/>
<wire from="(160,70)" to="(160,150)"/>
<wire from="(170,100)" to="(170,180)"/>
<wire from="(360,90)" to="(360,170)"/>
<wire from="(790,90)" to="(790,180)"/>
<wire from="(220,240)" to="(450,240)"/>
<wire from="(280,100)" to="(280,130)"/>
<wire from="(150,40)" to="(150,70)"/>
<wire from="(150,100)" to="(150,130)"/>
<wire from="(790,40)" to="(790,60)"/>
<wire from="(220,90)" to="(250,90)"/>
<wire from="(220,180)" to="(250,180)"/>
<wire from="(120,100)" to="(150,100)"/>
<wire from="(360,90)" to="(450,90)"/>
<wire from="(120,70)" to="(150,70)"/>
<wire from="(120,40)" to="(150,40)"/>
<wire from="(760,60)" to="(760,100)"/>
<wire from="(160,70)" to="(250,70)"/>
<wire from="(170,180)" to="(190,180)"/>
<wire from="(230,160)" to="(250,160)"/>
<wire from="(790,90)" to="(800,90)"/>
<wire from="(780,40)" to="(790,40)"/>
<wire from="(220,90)" to="(220,100)"/>
<wire from="(430,100)" to="(430,110)"/>
<wire from="(790,90)" to="(790,180)"/>
<wire from="(150,100)" to="(150,130)"/>
<wire from="(120,130)" to="(150,130)"/>
<wire from="(290,80)" to="(450,80)"/>
<wire from="(160,70)" to="(250,70)"/>
<wire from="(450,130)" to="(450,240)"/>
<wire from="(760,60)" to="(790,60)"/>
<wire from="(430,100)" to="(450,100)"/>
<wire from="(430,110)" to="(450,110)"/>
<wire from="(410,110)" to="(430,110)"/>
<wire from="(150,100)" to="(170,100)"/>
<wire from="(170,180)" to="(190,180)"/>
<wire from="(480,100)" to="(760,100)"/>
<wire from="(230,160)" to="(250,160)"/>
<wire from="(150,70)" to="(160,70)"/>
<wire from="(340,130)" to="(340,180)"/>
<wire from="(160,150)" to="(230,150)"/>
<wire from="(790,90)" to="(800,90)"/>
<wire from="(340,180)" to="(790,180)"/>
<wire from="(780,40)" to="(790,40)"/>
<wire from="(790,60)" to="(800,60)"/>
<wire from="(290,170)" to="(360,170)"/>
<comp lib="0" loc="(260,100)" name="Ground"/>
<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="(220,180)" name="twoComplement"/>
<comp lib="0" loc="(800,60)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
@ -122,61 +129,175 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(780,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp loc="(480,100)" name="MUX8data"/>
<comp lib="0" loc="(120,130)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="3" loc="(269,55)" name="Text">
<a name="text" val="A + B"/>
</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 lib="0" loc="(120,240)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
</comp>
<comp loc="(270,170)" name="aiSum"/>
<comp lib="0" loc="(120,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(410,110)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</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 loc="(270,170)" name="aiSum"/>
<comp loc="(270,80)" name="aiSum"/>
<comp lib="0" loc="(120,240)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(120,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(260,190)" name="Ground"/>
<comp loc="(220,180)" name="twoComplement"/>
<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="(260,100)" name="Ground"/>
<comp lib="0" loc="(410,110)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(260,190)" name="Ground"/>
<comp lib="0" loc="(120,130)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp lib="3" loc="(269,55)" name="Text">
<a name="text" val="A + B"/>
</comp>
<comp lib="3" loc="(269,144)" name="Text">
<a name="text" val="A - B"/>
</comp>
<comp lib="0" loc="(780,40)" name="Probe">
<a name="radix" val="10signed"/>
</comp>
<comp loc="(480,100)" name="MUX8data"/>
<comp lib="0" loc="(220,240)" name="Bit Extender">
<a name="in_width" val="1"/>
<a name="out_width" val="2"/>
</comp>
</circuit>
<circuit name="aiLogic">
<a name="circuit" val="aiLogic"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M80,55 Q96,77 110,55" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="65" stroke="#000000" stroke-width="2" width="90" x="50" y="55"/>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="97" y="91">aiLogic</text>
<circ-port height="8" pin="350,140" width="8" x="46" y="66"/>
<circ-port height="8" pin="120,160" width="8" x="46" y="96"/>
<circ-port height="8" pin="120,230" width="8" x="56" y="116"/>
<circ-port height="10" pin="820,290" width="10" x="135" y="65"/>
<circ-anchor facing="east" height="6" width="6" x="137" y="67"/>
</appear>
<wire from="(440,190)" to="(440,260)"/>
<wire from="(500,170)" to="(560,170)"/>
<wire from="(770,290)" to="(820,290)"/>
<wire from="(160,440)" to="(210,440)"/>
<wire from="(700,270)" to="(740,270)"/>
<wire from="(200,210)" to="(200,290)"/>
<wire from="(150,230)" to="(150,380)"/>
<wire from="(450,400)" to="(560,400)"/>
<wire from="(190,210)" to="(190,230)"/>
<wire from="(320,350)" to="(430,350)"/>
<wire from="(480,410)" to="(480,490)"/>
<wire from="(430,350)" to="(430,380)"/>
<wire from="(160,160)" to="(160,440)"/>
<wire from="(590,180)" to="(700,180)"/>
<wire from="(470,120)" to="(470,210)"/>
<wire from="(130,230)" to="(130,520)"/>
<wire from="(500,120)" to="(530,120)"/>
<wire from="(450,400)" to="(450,510)"/>
<wire from="(480,490)" to="(500,490)"/>
<wire from="(430,390)" to="(430,430)"/>
<wire from="(190,210)" to="(200,210)"/>
<wire from="(180,160)" to="(190,160)"/>
<wire from="(220,260)" to="(230,260)"/>
<wire from="(220,180)" to="(230,180)"/>
<wire from="(500,120)" to="(500,170)"/>
<wire from="(180,350)" to="(250,350)"/>
<wire from="(430,390)" to="(560,390)"/>
<wire from="(530,70)" to="(530,120)"/>
<wire from="(180,160)" to="(180,350)"/>
<wire from="(400,320)" to="(650,320)"/>
<wire from="(690,320)" to="(740,320)"/>
<wire from="(270,510)" to="(450,510)"/>
<wire from="(440,190)" to="(560,190)"/>
<wire from="(700,180)" to="(700,270)"/>
<wire from="(220,180)" to="(220,260)"/>
<wire from="(190,160)" to="(190,180)"/>
<wire from="(120,160)" to="(160,160)"/>
<wire from="(150,230)" to="(190,230)"/>
<wire from="(490,210)" to="(490,430)"/>
<wire from="(150,380)" to="(250,380)"/>
<wire from="(490,70)" to="(530,70)"/>
<wire from="(190,180)" to="(220,180)"/>
<wire from="(530,120)" to="(530,160)"/>
<wire from="(200,290)" to="(230,290)"/>
<wire from="(200,210)" to="(230,210)"/>
<wire from="(270,430)" to="(430,430)"/>
<wire from="(350,140)" to="(380,140)"/>
<wire from="(720,280)" to="(740,280)"/>
<wire from="(530,160)" to="(560,160)"/>
<wire from="(470,210)" to="(490,210)"/>
<wire from="(280,180)" to="(560,180)"/>
<wire from="(160,160)" to="(180,160)"/>
<wire from="(130,230)" to="(150,230)"/>
<wire from="(290,260)" to="(440,260)"/>
<wire from="(130,520)" to="(210,520)"/>
<wire from="(720,280)" to="(720,400)"/>
<wire from="(120,230)" to="(130,230)"/>
<wire from="(480,410)" to="(560,410)"/>
<wire from="(590,400)" to="(720,400)"/>
<wire from="(430,380)" to="(560,380)"/>
<wire from="(400,130)" to="(400,320)"/>
<wire from="(400,120)" to="(470,120)"/>
<wire from="(490,210)" to="(560,210)"/>
<wire from="(490,430)" to="(560,430)"/>
<comp lib="0" loc="(380,140)" name="Splitter">
<a name="incoming" val="3"/>
<a name="bit1" val="0"/>
<a name="bit2" val="1"/>
</comp>
<comp lib="0" loc="(820,290)" 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 loc="(280,180)" name="AND"/>
<comp loc="(270,510)" name="NOT "/>
<comp loc="(290,260)" name="OR"/>
<comp lib="0" loc="(120,160)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp loc="(590,400)" name="MUX8data"/>
<comp loc="(270,430)" name="NOT "/>
<comp lib="0" loc="(490,70)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
<comp loc="(320,350)" name="XOR"/>
<comp lib="0" loc="(120,230)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp loc="(770,290)" name="MUX8data"/>
<comp lib="0" loc="(350,140)" name="Pin">
<a name="width" val="3"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(500,490)" name="Constant">
<a name="facing" val="west"/>
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(690,320)" name="Bit Extender">
<a name="in_width" val="1"/>
<a name="out_width" val="2"/>
</comp>
<comp loc="(590,180)" name="MUX8data"/>
</circuit>
<circuit name="MUX 4 inputs">
<a name="circuit" val="MUX 4 inputs"/>
@ -235,32 +356,32 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(250,180)" to="(260,180)"/>
<wire from="(70,100)" to="(80,100)"/>
<wire from="(80,100)" to="(80,160)"/>
<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="(400,130)" name="OR Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(250,190)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,70)" 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 lib="0" loc="(170,30)" name="Splitter">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(430,130)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Output"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(290,190)" name="AND Gate">
<comp lib="1" loc="(290,150)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(250,100)" 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"/>
@ -271,9 +392,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<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"/>
@ -283,16 +401,19 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<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">
<comp lib="1" loc="(250,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,150)" name="AND Gate">
<comp lib="0" loc="(430,130)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Output"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(290,190)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
@ -348,13 +469,40 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(90,100)" to="(100,100)"/>
<wire from="(300,80)" to="(430,80)"/>
<wire from="(120,60)" to="(120,310)"/>
<comp lib="0" loc="(430,270)" 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="1" loc="(190,270)" name="AND 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="(320,270)" name="OR Gate">
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(300,80)" name="XOR Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(70,100)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</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">
<comp lib="1" loc="(190,330)" name="AND Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(190,210)" name="AND Gate">
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(430,80)" name="Pin">
@ -363,33 +511,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Output"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(430,270)" 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="1" loc="(190,210)" name="AND Gate">
<a name="inputs" val="2"/>
</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"/>
</comp>
<comp lib="0" loc="(70,100)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</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 name="aiSum">
<a name="circuit" val="aiSum"/>
@ -523,22 +644,14 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(200,150)" to="(210,150)"/>
<wire from="(430,320)" to="(510,320)"/>
<wire from="(610,140)" to="(610,320)"/>
<comp loc="(540,200)" name="fullAdder"/>
<comp loc="(540,120)" name="fullAdder"/>
<comp loc="(540,80)" name="fullAdder"/>
<comp loc="(540,360)" 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">
<a name="facing" val="west"/>
<a name="output" val="true"/>
@ -546,33 +659,41 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Sum"/>
<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 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="(180,160)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp loc="(540,120)" name="fullAdder"/>
<comp loc="(540,240)" name="fullAdder"/>
<comp lib="0" loc="(140,100)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp loc="(540,80)" name="fullAdder"/>
<comp loc="(540,320)" 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,160)" name="fullAdder"/>
<comp loc="(540,200)" 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 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"/>
<comp lib="0" loc="(180,70)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
</circuit>
<circuit name="AND">
<a name="circuit" val="AND"/>
@ -595,24 +716,24 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(180,60)" to="(180,70)"/>
<wire from="(180,110)" to="(200,110)"/>
<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">
<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="(120,60)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(310,90)" 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="(120,120)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
</circuit>
<circuit name="OR">
<a name="circuit" val="OR"/>
@ -635,6 +756,14 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(220,140)" to="(220,150)"/>
<wire from="(170,90)" to="(220,90)"/>
<wire from="(170,150)" to="(220,150)"/>
<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">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(360,120)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
@ -645,14 +774,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</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">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
</circuit>
<circuit name="NOT ">
<a name="circuit" val="NOT "/>
@ -704,21 +825,21 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(160,130)" to="(160,140)"/>
<wire from="(110,80)" to="(160,80)"/>
<wire from="(110,140)" to="(160,140)"/>
<comp lib="1" loc="(250,110)" name="XOR Gate">
<a name="width" val="8"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(310,110)" 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="(110,80)" name="Pin">
<comp lib="0" loc="(110,140)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</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="tristate" val="false"/>
</comp>
@ -760,30 +881,12 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(290,80)" to="(290,160)"/>
<wire from="(280,60)" to="(320,60)"/>
<wire from="(360,70)" to="(400,70)"/>
<comp lib="0" loc="(280,60)" name="Splitter">
<comp lib="0" loc="(400,70)" name="Pin">
<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"/>
</comp>
<comp lib="1" loc="(230,90)" name="NOT Gate">
<a name="size" val="20"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val="Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(270,160)" name="Constant">
<a name="width" val="8"/>
@ -791,25 +894,43 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<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 lib="0" loc="(140,60)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="In"/>
</comp>
<comp lib="0" loc="(160,60)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(400,70)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<comp lib="1" loc="(230,130)" 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 lib="1" loc="(230,90)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,100)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(330,100)" name="Ground"/>
<comp lib="0" loc="(140,60)" name="Pin">
<a name="width" val="8"/>
<a name="label" val="Out"/>
<a name="labelloc" val="east"/>
<a name="tristate" val="false"/>
<a name="label" val="In"/>
</comp>
<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 lib="1" loc="(230,120)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp loc="(340,70)" name="aiSum"/>
<comp lib="1" loc="(230,80)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(230,110)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
</circuit>
<circuit name="MUX8data">
@ -862,8 +983,8 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(530,330)" to="(540,330)"/>
<wire from="(560,600)" to="(570,600)"/>
<wire from="(560,360)" to="(570,360)"/>
<wire from="(560,200)" to="(570,200)"/>
<wire from="(560,440)" to="(570,440)"/>
<wire from="(560,200)" to="(570,200)"/>
<wire from="(650,80)" to="(770,80)"/>
<wire from="(170,150)" to="(490,150)"/>
<wire from="(530,220)" to="(530,230)"/>
@ -940,12 +1061,12 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(530,70)" to="(540,70)"/>
<wire from="(530,230)" to="(540,230)"/>
<wire from="(560,140)" to="(570,140)"/>
<wire from="(560,220)" to="(570,220)"/>
<wire from="(560,300)" to="(570,300)"/>
<wire from="(560,620)" to="(570,620)"/>
<wire from="(560,540)" to="(570,540)"/>
<wire from="(560,460)" to="(570,460)"/>
<wire from="(560,380)" to="(570,380)"/>
<wire from="(560,220)" to="(570,220)"/>
<wire from="(560,300)" to="(570,300)"/>
<wire from="(170,280)" to="(360,280)"/>
<wire from="(170,330)" to="(490,330)"/>
<wire from="(440,170)" to="(440,300)"/>
@ -980,59 +1101,11 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(340,110)" to="(340,550)"/>
<wire from="(530,80)" to="(540,80)"/>
<wire from="(530,240)" to="(540,240)"/>
<comp loc="(610,50)" name="MUX 4 inputs"/>
<comp lib="0" loc="(100,160)" name="Tunnel">
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp loc="(610,530)" name="MUX 4 inputs"/>
<comp lib="0" loc="(560,140)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(560,440)" name="Tunnel">
<comp lib="0" loc="(560,120)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(560,280)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(560,540)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(100,130)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="D"/>
</comp>
<comp loc="(610,450)" name="MUX 4 inputs"/>
<comp lib="0" loc="(560,380)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(150,310)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(100,40)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp loc="(610,290)" name="MUX 4 inputs"/>
<comp lib="0" loc="(790,40)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(830,40)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
@ -1040,63 +1113,49 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="Y"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(560,120)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(150,130)" name="Splitter">
<comp lib="0" loc="(150,220)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(560,520)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(560,600)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(150,40)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(560,60)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(100,70)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp lib="0" loc="(560,40)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(560,300)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(80,160)" name="Pin">
<a name="width" val="2"/>
<a name="tristate" val="false"/>
<a name="label" val="Select"/>
</comp>
<comp lib="0" loc="(150,220)" name="Splitter">
<comp lib="0" loc="(560,360)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp loc="(610,610)" name="MUX 4 inputs"/>
<comp loc="(610,370)" name="MUX 4 inputs"/>
<comp lib="0" loc="(560,440)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp loc="(610,290)" name="MUX 4 inputs"/>
<comp lib="0" loc="(100,40)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp lib="0" loc="(150,130)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp loc="(610,610)" name="MUX 4 inputs"/>
<comp lib="0" loc="(560,200)" name="Tunnel">
<comp lib="0" loc="(100,160)" name="Tunnel">
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(560,280)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
@ -1106,28 +1165,90 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(150,310)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(560,540)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(100,100)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="C"/>
</comp>
<comp lib="0" loc="(560,360)" name="Tunnel">
<comp lib="0" loc="(560,520)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(560,40)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp loc="(610,50)" name="MUX 4 inputs"/>
<comp loc="(610,530)" name="MUX 4 inputs"/>
<comp lib="0" loc="(560,300)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(560,460)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(560,600)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp lib="0" loc="(790,40)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(560,140)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp loc="(610,450)" name="MUX 4 inputs"/>
<comp lib="0" loc="(100,130)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="D"/>
</comp>
<comp lib="0" loc="(560,60)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(560,200)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="2"/>
<a name="label" val="S"/>
</comp>
<comp loc="(610,130)" name="MUX 4 inputs"/>
<comp lib="0" loc="(100,70)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp lib="0" loc="(560,620)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp loc="(610,210)" name="MUX 4 inputs"/>
<comp loc="(610,370)" name="MUX 4 inputs"/>
<comp loc="(610,130)" name="MUX 4 inputs"/>
<comp lib="0" loc="(560,380)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
</circuit>
</project>