2016-02-17 09:02:45 +00:00
|
|
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
|
|
<project source="2.7.1" version="1.0">
|
|
|
|
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
|
|
|
|
<lib desc="#Wiring" name="0"/>
|
|
|
|
<lib desc="#Gates" name="1"/>
|
2016-02-17 09:25:22 +00:00
|
|
|
<lib desc="#I/O" name="2"/>
|
|
|
|
<lib desc="#Base" name="3">
|
2016-02-17 09:02:45 +00:00
|
|
|
<tool name="Text Tool">
|
|
|
|
<a name="text" val=""/>
|
|
|
|
<a name="font" val="SansSerif plain 12"/>
|
|
|
|
<a name="halign" val="center"/>
|
|
|
|
<a name="valign" val="base"/>
|
|
|
|
</tool>
|
|
|
|
</lib>
|
2016-02-17 09:24:37 +00:00
|
|
|
<main name="aiALU"/>
|
2016-02-17 09:02:45 +00:00
|
|
|
<options>
|
|
|
|
<a name="gateUndefined" val="ignore"/>
|
|
|
|
<a name="simlimit" val="1000"/>
|
|
|
|
<a name="simrand" val="0"/>
|
|
|
|
</options>
|
|
|
|
<mappings>
|
2016-02-17 09:25:22 +00:00
|
|
|
<tool lib="3" map="Button2" name="Menu Tool"/>
|
|
|
|
<tool lib="3" map="Button3" name="Menu Tool"/>
|
|
|
|
<tool lib="3" map="Ctrl Button1" name="Menu Tool"/>
|
2016-02-17 09:02:45 +00:00
|
|
|
</mappings>
|
|
|
|
<toolbar>
|
2016-02-17 09:25:22 +00:00
|
|
|
<tool lib="3" name="Poke Tool"/>
|
|
|
|
<tool lib="3" name="Edit Tool"/>
|
|
|
|
<tool lib="3" name="Text Tool">
|
2016-02-17 09:02:45 +00:00
|
|
|
<a name="text" val=""/>
|
|
|
|
<a name="font" val="SansSerif plain 12"/>
|
|
|
|
<a name="halign" val="center"/>
|
|
|
|
<a name="valign" val="base"/>
|
|
|
|
</tool>
|
|
|
|
<sep/>
|
|
|
|
<tool lib="0" name="Pin">
|
|
|
|
<a name="tristate" val="false"/>
|
|
|
|
</tool>
|
|
|
|
<tool lib="0" name="Pin">
|
|
|
|
<a name="facing" val="west"/>
|
|
|
|
<a name="output" val="true"/>
|
|
|
|
<a name="labelloc" val="east"/>
|
|
|
|
</tool>
|
|
|
|
<tool lib="1" name="NOT Gate"/>
|
|
|
|
<tool lib="1" name="AND Gate"/>
|
|
|
|
<tool lib="1" name="OR Gate"/>
|
|
|
|
</toolbar>
|
2016-02-17 09:24:37 +00:00
|
|
|
<circuit name="aiALU">
|
|
|
|
<a name="circuit" val="aiALU"/>
|
|
|
|
<a name="clabel" val=""/>
|
|
|
|
<a name="clabelup" val="east"/>
|
|
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
|
|
</circuit>
|
|
|
|
<circuit name="aiArith">
|
|
|
|
<a name="circuit" val="aiArith"/>
|
|
|
|
<a name="clabel" val=""/>
|
|
|
|
<a name="clabelup" val="east"/>
|
|
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
|
|
</circuit>
|
|
|
|
<circuit name="aiLogic">
|
|
|
|
<a name="circuit" val="aiLogic"/>
|
2016-02-17 09:02:45 +00:00
|
|
|
<a name="clabel" val=""/>
|
|
|
|
<a name="clabelup" val="east"/>
|
|
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
|
|
</circuit>
|
2016-02-17 09:32:54 +00:00
|
|
|
<circuit name="MUX 4 inputs">
|
|
|
|
<a name="circuit" val="MUX 4 inputs"/>
|
|
|
|
<a name="clabel" val=""/>
|
|
|
|
<a name="clabelup" val="east"/>
|
|
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
|
|
<wire from="(70,200)" to="(260,200)"/>
|
|
|
|
<wire from="(70,80)" to="(260,80)"/>
|
|
|
|
<wire from="(50,30)" to="(170,30)"/>
|
|
|
|
<wire from="(210,50)" to="(210,60)"/>
|
|
|
|
<wire from="(290,70)" to="(340,70)"/>
|
|
|
|
<wire from="(290,190)" to="(340,190)"/>
|
|
|
|
<wire from="(180,150)" to="(230,150)"/>
|
|
|
|
<wire from="(180,190)" to="(230,190)"/>
|
|
|
|
<wire from="(210,60)" to="(260,60)"/>
|
|
|
|
<wire from="(80,160)" to="(260,160)"/>
|
|
|
|
<wire from="(210,140)" to="(260,140)"/>
|
|
|
|
<wire from="(330,110)" to="(330,120)"/>
|
|
|
|
<wire from="(330,140)" to="(330,150)"/>
|
|
|
|
<wire from="(180,50)" to="(180,70)"/>
|
|
|
|
<wire from="(90,120)" to="(260,120)"/>
|
|
|
|
<wire from="(70,110)" to="(70,200)"/>
|
|
|
|
<wire from="(290,110)" to="(330,110)"/>
|
|
|
|
<wire from="(290,150)" to="(330,150)"/>
|
|
|
|
<wire from="(90,90)" to="(90,120)"/>
|
|
|
|
<wire from="(400,130)" to="(430,130)"/>
|
|
|
|
<wire from="(330,120)" to="(350,120)"/>
|
|
|
|
<wire from="(330,140)" to="(350,140)"/>
|
|
|
|
<wire from="(180,70)" to="(180,110)"/>
|
|
|
|
<wire from="(180,110)" to="(180,150)"/>
|
|
|
|
<wire from="(180,150)" to="(180,190)"/>
|
|
|
|
<wire from="(210,60)" to="(210,100)"/>
|
|
|
|
<wire from="(210,100)" to="(210,140)"/>
|
|
|
|
<wire from="(210,140)" to="(210,180)"/>
|
|
|
|
<wire from="(340,70)" to="(340,110)"/>
|
|
|
|
<wire from="(340,150)" to="(340,190)"/>
|
|
|
|
<wire from="(70,90)" to="(90,90)"/>
|
|
|
|
<wire from="(190,50)" to="(210,50)"/>
|
|
|
|
<wire from="(210,100)" to="(230,100)"/>
|
|
|
|
<wire from="(210,180)" to="(230,180)"/>
|
|
|
|
<wire from="(180,70)" to="(260,70)"/>
|
|
|
|
<wire from="(180,110)" to="(260,110)"/>
|
|
|
|
<wire from="(340,110)" to="(350,110)"/>
|
|
|
|
<wire from="(340,150)" to="(350,150)"/>
|
|
|
|
<wire from="(250,150)" to="(260,150)"/>
|
|
|
|
<wire from="(250,190)" to="(260,190)"/>
|
|
|
|
<wire from="(250,100)" to="(260,100)"/>
|
|
|
|
<wire from="(250,180)" to="(260,180)"/>
|
|
|
|
<wire from="(70,100)" to="(80,100)"/>
|
|
|
|
<wire from="(80,100)" to="(80,160)"/>
|
|
|
|
<comp lib="1" loc="(290,190)" name="AND Gate">
|
|
|
|
<a name="size" val="30"/>
|
|
|
|
<a name="inputs" val="3"/>
|
|
|
|
</comp>
|
|
|
|
<comp lib="1" loc="(290,70)" 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="1" loc="(290,150)" 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="Pin">
|
|
|
|
<a name="width" val="4"/>
|
|
|
|
<a name="tristate" val="false"/>
|
|
|
|
<a name="label" val="Data"/>
|
|
|
|
<a name="labelloc" val="north"/>
|
|
|
|
</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="0" loc="(170,30)" name="Splitter">
|
|
|
|
<a name="facing" val="south"/>
|
|
|
|
</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,180)" 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="(250,150)" 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,190)" name="NOT Gate">
|
|
|
|
<a name="size" val="20"/>
|
|
|
|
</comp>
|
|
|
|
</circuit>
|
2016-02-17 09:37:44 +00:00
|
|
|
<circuit name="fullAdder">
|
|
|
|
<a name="circuit" val="fullAdder"/>
|
|
|
|
<a name="clabel" val=""/>
|
|
|
|
<a name="clabelup" val="east"/>
|
|
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
|
|
<wire from="(80,60)" to="(80,190)"/>
|
|
|
|
<wire from="(90,100)" to="(90,230)"/>
|
|
|
|
<wire from="(80,190)" to="(140,190)"/>
|
|
|
|
<wire from="(190,210)" to="(240,210)"/>
|
|
|
|
<wire from="(190,330)" to="(240,330)"/>
|
|
|
|
<wire from="(90,230)" to="(140,230)"/>
|
|
|
|
<wire from="(130,140)" to="(130,350)"/>
|
|
|
|
<wire from="(220,60)" to="(220,80)"/>
|
|
|
|
<wire from="(100,100)" to="(100,250)"/>
|
|
|
|
<wire from="(320,270)" to="(430,270)"/>
|
|
|
|
<wire from="(110,140)" to="(110,290)"/>
|
|
|
|
<wire from="(100,250)" to="(140,250)"/>
|
|
|
|
<wire from="(70,140)" to="(110,140)"/>
|
|
|
|
<wire from="(80,60)" to="(120,60)"/>
|
|
|
|
<wire from="(190,80)" to="(220,80)"/>
|
|
|
|
<wire from="(210,100)" to="(240,100)"/>
|
|
|
|
<wire from="(240,250)" to="(270,250)"/>
|
|
|
|
<wire from="(240,290)" to="(270,290)"/>
|
|
|
|
<wire from="(100,100)" to="(130,100)"/>
|
|
|
|
<wire from="(110,290)" to="(140,290)"/>
|
|
|
|
<wire from="(210,100)" to="(210,140)"/>
|
|
|
|
<wire from="(240,210)" to="(240,250)"/>
|
|
|
|
<wire from="(240,290)" to="(240,330)"/>
|
|
|
|
<wire from="(70,100)" to="(90,100)"/>
|
|
|
|
<wire from="(120,310)" to="(140,310)"/>
|
|
|
|
<wire from="(110,140)" to="(130,140)"/>
|
|
|
|
<wire from="(220,60)" to="(240,60)"/>
|
|
|
|
<wire from="(130,140)" to="(210,140)"/>
|
|
|
|
<wire from="(190,270)" to="(270,270)"/>
|
|
|
|
<wire from="(130,350)" to="(140,350)"/>
|
|
|
|
<wire from="(120,60)" to="(130,60)"/>
|
|
|
|
<wire from="(70,60)" to="(80,60)"/>
|
|
|
|
<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="(70,100)" name="Pin">
|
|
|
|
<a name="tristate" val="false"/>
|
|
|
|
<a name="label" val="B"/>
|
|
|
|
</comp>
|
|
|
|
<comp lib="0" loc="(430,80)" 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="(300,80)" name="XOR 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="(320,270)" name="OR Gate">
|
|
|
|
<a name="inputs" val="3"/>
|
|
|
|
</comp>
|
|
|
|
<comp lib="1" loc="(190,270)" name="AND 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,330)" 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="(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>
|
|
|
|
</circuit>
|
2016-02-17 09:02:45 +00:00
|
|
|
</project>
|