<?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">
    <tool name="Splitter">
      <a name="facing" val="west"/>
      <a name="fanout" val="3"/>
      <a name="incoming" val="3"/>
      <a name="appear" val="right"/>
    </tool>
  </lib>
  <lib desc="#Gates" name="1"/>
  <lib desc="#Plexers" name="2"/>
  <lib desc="#Arithmetic" name="3"/>
  <lib desc="#Memory" name="4">
    <tool name="Register">
      <a name="width" val="4"/>
    </tool>
    <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="Mux example"/>
  <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="Ctrl Button1" name="Menu Tool"/>
    <tool lib="6" map="Button3" 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="facing" val="north"/>
      <a name="width" val="2"/>
      <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="Mux example">
    <a name="circuit" val="Mux example"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(420,190)" to="(450,190)"/>
    <wire from="(410,220)" to="(450,220)"/>
    <wire from="(190,220)" to="(190,300)"/>
    <wire from="(100,280)" to="(150,280)"/>
    <wire from="(350,200)" to="(350,210)"/>
    <wire from="(140,200)" to="(170,200)"/>
    <wire from="(140,200)" to="(140,250)"/>
    <wire from="(380,160)" to="(410,160)"/>
    <wire from="(380,180)" to="(420,180)"/>
    <wire from="(420,160)" to="(420,170)"/>
    <wire from="(120,170)" to="(170,170)"/>
    <wire from="(120,160)" to="(120,170)"/>
    <wire from="(120,180)" to="(170,180)"/>
    <wire from="(130,160)" to="(170,160)"/>
    <wire from="(100,190)" to="(120,190)"/>
    <wire from="(150,210)" to="(170,210)"/>
    <wire from="(200,220)" to="(200,230)"/>
    <wire from="(100,70)" to="(150,70)"/>
    <wire from="(100,220)" to="(130,220)"/>
    <wire from="(130,190)" to="(170,190)"/>
    <wire from="(420,160)" to="(450,160)"/>
    <wire from="(150,70)" to="(150,140)"/>
    <wire from="(100,160)" to="(120,160)"/>
    <wire from="(130,190)" to="(130,220)"/>
    <wire from="(280,180)" to="(340,180)"/>
    <wire from="(380,170)" to="(420,170)"/>
    <wire from="(280,100)" to="(280,180)"/>
    <wire from="(210,180)" to="(280,180)"/>
    <wire from="(100,130)" to="(130,130)"/>
    <wire from="(120,180)" to="(120,190)"/>
    <wire from="(150,210)" to="(150,280)"/>
    <wire from="(100,100)" to="(140,100)"/>
    <wire from="(140,150)" to="(170,150)"/>
    <wire from="(360,200)" to="(360,300)"/>
    <wire from="(410,130)" to="(410,160)"/>
    <wire from="(150,140)" to="(170,140)"/>
    <wire from="(410,190)" to="(410,220)"/>
    <wire from="(130,130)" to="(130,160)"/>
    <wire from="(420,180)" to="(420,190)"/>
    <wire from="(380,190)" to="(410,190)"/>
    <wire from="(410,130)" to="(450,130)"/>
    <wire from="(100,250)" to="(140,250)"/>
    <wire from="(140,100)" to="(140,150)"/>
    <comp lib="0" loc="(450,190)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(100,220)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(450,160)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(100,160)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="2" loc="(340,180)" name="Demultiplexer">
      <a name="select" val="2"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(350,210)" name="Constant"/>
    <comp lib="0" loc="(100,280)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(280,100)" name="Pin">
      <a name="facing" val="south"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(100,100)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(450,130)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(450,220)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(200,230)" name="Constant">
      <a name="facing" val="west"/>
    </comp>
    <comp lib="2" loc="(210,180)" name="Multiplexer">
      <a name="select" val="3"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(100,250)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(100,130)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(100,190)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(190,300)" name="Pin">
      <a name="facing" val="north"/>
      <a name="width" val="3"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(360,300)" name="Pin">
      <a name="facing" val="north"/>
      <a name="width" val="2"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(100,70)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
    </comp>
  </circuit>
  <circuit name="ROM example">
    <a name="circuit" val="ROM example"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(220,300)" to="(220,340)"/>
    <wire from="(310,260)" to="(360,260)"/>
    <wire from="(220,130)" to="(220,170)"/>
    <wire from="(110,260)" to="(170,260)"/>
    <wire from="(310,90)" to="(360,90)"/>
    <wire from="(110,90)" to="(170,90)"/>
    <wire from="(170,260)" to="(170,270)"/>
    <wire from="(170,90)" to="(170,100)"/>
    <comp lib="4" loc="(310,260)" name="ROM">
      <a name="addrWidth" val="3"/>
      <a name="dataWidth" val="4"/>
      <a name="contents">addr/data: 3 4
0 1 8 1 0 1 8 2
</a>
    </comp>
    <comp lib="0" loc="(220,340)" name="Pin">
      <a name="facing" val="north"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(220,170)" name="Pin">
      <a name="facing" val="north"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(110,90)" name="Pin">
      <a name="width" val="3"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(360,90)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="4" loc="(310,90)" name="ROM">
      <a name="addrWidth" val="3"/>
      <a name="dataWidth" val="4"/>
      <a name="contents">addr/data: 3 4
5 6 7 8 b e e f
</a>
    </comp>
    <comp lib="0" loc="(360,260)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(110,260)" name="Pin">
      <a name="width" val="3"/>
      <a name="tristate" val="false"/>
    </comp>
  </circuit>
  <circuit name="RAM example">
    <a name="circuit" val="RAM example"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(460,110)" to="(540,110)"/>
    <wire from="(410,150)" to="(410,200)"/>
    <wire from="(130,50)" to="(180,50)"/>
    <wire from="(130,230)" to="(390,230)"/>
    <wire from="(540,110)" to="(540,190)"/>
    <wire from="(190,200)" to="(240,200)"/>
    <wire from="(190,160)" to="(190,200)"/>
    <wire from="(130,110)" to="(320,110)"/>
    <wire from="(130,160)" to="(190,160)"/>
    <wire from="(200,50)" to="(540,50)"/>
    <wire from="(270,200)" to="(410,200)"/>
    <wire from="(190,60)" to="(190,160)"/>
    <wire from="(390,150)" to="(390,230)"/>
    <wire from="(540,50)" to="(540,110)"/>
    <comp lib="0" loc="(540,190)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Data output"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="1" loc="(270,200)" name="NOT Gate"/>
    <comp lib="0" loc="(130,50)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Data In"/>
    </comp>
    <comp lib="0" loc="(130,230)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="Clock"/>
    </comp>
    <comp lib="4" loc="(460,110)" name="RAM">
      <a name="addrWidth" val="3"/>
      <a name="dataWidth" val="4"/>
    </comp>
    <comp lib="0" loc="(130,160)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="Store"/>
    </comp>
    <comp lib="1" loc="(200,50)" name="Controlled Buffer">
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(130,110)" name="Pin">
      <a name="width" val="3"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Address"/>
    </comp>
  </circuit>
  <circuit name="RAM 2">
    <a name="circuit" val="RAM 2"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(590,110)" to="(590,350)"/>
    <wire from="(260,60)" to="(260,160)"/>
    <wire from="(220,110)" to="(330,110)"/>
    <wire from="(200,110)" to="(220,110)"/>
    <wire from="(150,420)" to="(380,420)"/>
    <wire from="(420,390)" to="(420,440)"/>
    <wire from="(380,180)" to="(490,180)"/>
    <wire from="(340,440)" to="(420,440)"/>
    <wire from="(90,160)" to="(260,160)"/>
    <wire from="(260,160)" to="(260,200)"/>
    <wire from="(380,420)" to="(490,420)"/>
    <wire from="(150,180)" to="(170,180)"/>
    <wire from="(380,150)" to="(380,180)"/>
    <wire from="(470,110)" to="(590,110)"/>
    <wire from="(590,350)" to="(590,430)"/>
    <wire from="(590,50)" to="(590,110)"/>
    <wire from="(260,440)" to="(310,440)"/>
    <wire from="(130,100)" to="(180,100)"/>
    <wire from="(110,230)" to="(110,470)"/>
    <wire from="(130,80)" to="(180,80)"/>
    <wire from="(150,180)" to="(150,420)"/>
    <wire from="(130,70)" to="(150,70)"/>
    <wire from="(400,150)" to="(400,230)"/>
    <wire from="(420,150)" to="(420,200)"/>
    <wire from="(220,350)" to="(330,350)"/>
    <wire from="(90,110)" to="(110,110)"/>
    <wire from="(470,350)" to="(590,350)"/>
    <wire from="(110,470)" to="(400,470)"/>
    <wire from="(200,180)" to="(380,180)"/>
    <wire from="(130,90)" to="(180,90)"/>
    <wire from="(220,110)" to="(220,350)"/>
    <wire from="(260,200)" to="(260,440)"/>
    <wire from="(270,50)" to="(590,50)"/>
    <wire from="(150,70)" to="(150,180)"/>
    <wire from="(340,200)" to="(420,200)"/>
    <wire from="(90,230)" to="(110,230)"/>
    <wire from="(380,390)" to="(380,420)"/>
    <wire from="(110,230)" to="(400,230)"/>
    <wire from="(400,390)" to="(400,470)"/>
    <wire from="(90,50)" to="(250,50)"/>
    <wire from="(260,200)" to="(310,200)"/>
    <comp lib="1" loc="(270,50)" name="Controlled Buffer">
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(590,430)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Data output"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="0" loc="(90,50)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Data In"/>
    </comp>
    <comp lib="1" loc="(340,200)" name="NOT Gate"/>
    <comp lib="0" loc="(200,110)" name="Splitter">
      <a name="facing" val="west"/>
      <a name="fanout" val="3"/>
      <a name="incoming" val="3"/>
      <a name="appear" val="right"/>
      <a name="bit0" val="2"/>
      <a name="bit2" val="0"/>
    </comp>
    <comp lib="4" loc="(470,110)" name="RAM">
      <a name="addrWidth" val="3"/>
      <a name="dataWidth" val="4"/>
    </comp>
    <comp lib="4" loc="(470,350)" name="RAM">
      <a name="addrWidth" val="3"/>
      <a name="dataWidth" val="4"/>
    </comp>
    <comp lib="0" loc="(110,110)" name="Splitter">
      <a name="fanout" val="4"/>
      <a name="incoming" val="4"/>
      <a name="bit0" val="3"/>
      <a name="bit1" val="2"/>
      <a name="bit2" val="1"/>
      <a name="bit3" val="0"/>
    </comp>
    <comp lib="0" loc="(490,420)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="1" loc="(340,440)" name="NOT Gate"/>
    <comp lib="0" loc="(90,230)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="Clock"/>
    </comp>
    <comp lib="0" loc="(90,160)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="Store"/>
    </comp>
    <comp lib="0" loc="(90,110)" name="Pin">
      <a name="width" val="4"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Address"/>
    </comp>
    <comp lib="0" loc="(490,180)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="1" loc="(200,180)" name="NOT Gate"/>
  </circuit>
</project>
