<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.2" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
    <tool name="Splitter">
      <a name="facing" val="west"/>
      <a name="fanout" val="4"/>
      <a name="incoming" val="1"/>
    </tool>
    <tool name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
    </tool>
    <tool name="Constant">
      <a name="facing" val="north"/>
      <a name="value" val="0x0"/>
    </tool>
  </lib>
  <lib desc="#Gates" name="1">
    <tool name="AND Gate">
      <a name="facing" val="south"/>
      <a name="inputs" val="2"/>
    </tool>
    <tool name="OR Gate">
      <a name="facing" val="south"/>
      <a name="inputs" val="2"/>
    </tool>
    <tool name="XOR Gate">
      <a name="facing" val="south"/>
      <a name="inputs" val="3"/>
    </tool>
  </lib>
  <lib desc="#Plexers" name="2">
    <tool name="Multiplexer">
      <a name="selloc" val="tr"/>
    </tool>
  </lib>
  <lib desc="#Arithmetic" name="3">
    <tool name="Adder">
      <a name="width" val="1"/>
    </tool>
  </lib>
  <lib desc="#Memory" name="4">
    <tool name="ROM">
      <a name="contents">addr/data: 8 8
0
</a>
    </tool>
  </lib>
  <lib desc="#I/O" name="5"/>
  <lib desc="#Base" name="6">
    <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>
  <main name="4-bit ALU"/>
  <options>
    <a name="gateUndefined" val="ignore"/>
    <a name="simlimit" val="1000"/>
    <a name="simrand" val="0"/>
  </options>
  <mappings>
    <tool lib="6" map="Button2" name="Menu Tool"/>
    <tool lib="6" map="Button3" name="Menu Tool"/>
    <tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
  </mappings>
  <toolbar>
    <tool lib="6" name="Poke Tool"/>
    <tool lib="6" name="Edit Tool"/>
    <tool lib="6" 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>
    <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>
  <circuit name="1-bit ALU">
    <a name="circuit" val="1-bit ALU"/>
    <a name="clabel" val="1b ALU"/>
    <a name="clabelup" val="north"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <appear>
      <path d="M71,51 Q75,61 79,51" fill="none" stroke="#808080" stroke-width="2"/>
      <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="50" x="50" y="50"/>
      <circ-port height="8" pin="140,200" width="8" x="46" y="56"/>
      <circ-port height="8" pin="140,240" width="8" x="46" y="66"/>
      <circ-port height="10" pin="790,250" width="10" x="95" y="55"/>
      <circ-port height="8" pin="230,140" width="8" x="56" y="46"/>
      <circ-port height="8" pin="310,140" width="8" x="66" y="46"/>
      <circ-port height="8" pin="480,140" width="8" x="76" y="46"/>
      <circ-port height="8" pin="690,140" width="8" x="86" y="46"/>
      <circ-port height="10" pin="480,530" width="10" x="75" y="75"/>
      <circ-anchor facing="east" height="6" width="6" x="97" y="57"/>
    </appear>
    <comp lib="0" loc="(140,200)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="a"/>
    </comp>
    <comp lib="0" loc="(690,140)" name="Pin">
      <a name="facing" val="south"/>
      <a name="width" val="2"/>
      <a name="tristate" val="false"/>
      <a name="label" val="operation"/>
    </comp>
    <comp lib="0" loc="(310,140)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b_invert"/>
    </comp>
    <comp lib="0" loc="(480,140)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="c_in"/>
    </comp>
    <comp lib="0" loc="(480,530)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="c_out"/>
    </comp>
    <comp lib="0" loc="(230,140)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a_invert"/>
    </comp>
    <comp lib="0" loc="(140,240)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="b"/>
    </comp>
    <comp lib="0" loc="(790,250)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="result"/>
    </comp>
  </circuit>
  <circuit name="4-bit ALU">
    <a name="circuit" val="4-bit ALU"/>
    <a name="clabel" val="4b ALU"/>
    <a name="clabelup" val="north"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(500,230)" to="(530,230)"/>
    <wire from="(160,180)" to="(190,180)"/>
    <wire from="(160,240)" to="(190,240)"/>
    <comp lib="0" loc="(390,500)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="c_out"/>
    </comp>
    <comp lib="0" loc="(190,80)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="a_invert"/>
    </comp>
    <comp lib="0" loc="(190,130)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="b_invert"/>
    </comp>
    <comp lib="0" loc="(160,240)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b"/>
    </comp>
    <comp lib="0" loc="(160,180)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a"/>
    </comp>
    <comp lib="0" loc="(190,240)" name="Splitter">
      <a name="fanout" val="4"/>
      <a name="incoming" val="4"/>
      <a name="appear" val="right"/>
    </comp>
    <comp lib="0" loc="(530,230)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="result"/>
    </comp>
    <comp lib="0" loc="(390,160)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="c_in"/>
    </comp>
    <comp lib="0" loc="(190,40)" name="Pin">
      <a name="width" val="2"/>
      <a name="tristate" val="false"/>
      <a name="label" val="operation"/>
    </comp>
    <comp lib="0" loc="(500,230)" name="Splitter">
      <a name="facing" val="west"/>
      <a name="fanout" val="4"/>
      <a name="incoming" val="4"/>
    </comp>
    <comp lib="0" loc="(190,180)" name="Splitter">
      <a name="fanout" val="4"/>
      <a name="incoming" val="4"/>
      <a name="appear" val="right"/>
    </comp>
  </circuit>
</project>
