<?xml version="1.0" encoding="UTF-8"?>
<project version="1.0" source="2.1.2">
  This file is intended to be loaded by Logisim (www.logisim.com).
  <lib name="0" desc="#Base">
    <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>
    <tool name="Splitter">
      <a name="facing" val="west" />
      <a name="fanout" val="4" />
      <a name="incoming" val="4" />
      <a name="bit0" val="0" />
      <a name="bit1" val="1" />
      <a name="bit2" val="2" />
      <a name="bit3" val="3" />
    </tool>
    <tool name="Pin">
      <a name="facing" val="south" />
      <a name="output" val="false" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="SansSerif plain 12" />
    </tool>
    <tool name="Probe">
      <a name="facing" val="east" />
      <a name="label" val="" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="SansSerif plain 12" />
      <a name="radix" val="2" />
    </tool>
    <tool name="Clock">
      <a name="facing" val="east" />
      <a name="highDuration" val="1" />
      <a name="lowDuration" val="1" />
      <a name="label" val="" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="SansSerif plain 12" />
    </tool>
    <tool name="Text">
      <a name="text" val="" />
      <a name="font" val="SansSerif plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </tool>
  </lib>
  <lib name="1" desc="#Gates">
    <tool name="Constant">
      <a name="facing" val="north" />
      <a name="width" val="1" />
      <a name="value" val="0x0" />
    </tool>
    <tool name="NOT Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="30" />
    </tool>
    <tool name="Buffer">
      <a name="facing" val="east" />
      <a name="width" val="1" />
    </tool>
    <tool name="AND Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="OR Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="NAND Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="NOR Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="XOR Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="XNOR Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="Odd Parity">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="Even Parity">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="Controlled Buffer">
      <a name="facing" val="east" />
      <a name="width" val="1" />
    </tool>
    <tool name="Controlled Inverter">
      <a name="facing" val="east" />
      <a name="width" val="1" />
    </tool>
  </lib>
  <lib name="2" desc="#Memory">
    <tool name="D Flip-Flop" />
    <tool name="T Flip-Flop" />
    <tool name="J-K Flip-Flop" />
    <tool name="S-R Flip-Flop" />
    <tool name="Register">
      <a name="width" val="8" />
    </tool>
    <tool name="RAM">
      <a name="addrWidth" val="4" />
      <a name="dataWidth" val="4" />
    </tool>
    <tool name="ROM">
      <a name="addrWidth" val="4" />
      <a name="dataWidth" val="4" />
      <a name="contents">addr/data: 4 4</a>
    </tool>
  </lib>
  <main name="main" />
  <options>
    <a name="showgrid" val="true" />
    <a name="preview" val="false" />
    <a name="showghosts" val="true" />
    <a name="showhalo" val="true" />
    <a name="showhalo" val="true" />
    <a name="zoom" val="1.0" />
    <a name="simlimit" val="1000" />
    <a name="simrand" val="0" />
    <a name="radix" val="2" />
    <a name="radix2" val="10signed" />
  </options>
  <mappings>
    <tool lib="0" name="Menu Tool" map="Button3" />
    <tool lib="0" name="Menu Tool" map="Button2" />
    <tool lib="0" name="Menu Tool" map="Ctrl Button1" />
  </mappings>
  <toolbar>
    <tool lib="0" name="Poke Tool" />
    <tool lib="0" name="Select Tool" />
    <tool lib="0" name="Wiring Tool" />
    <tool lib="0" 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="east" />
      <a name="output" val="false" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="SansSerif plain 12" />
    </tool>
    <tool lib="0" name="Pin">
      <a name="facing" val="north" />
      <a name="output" val="true" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="" />
      <a name="labelloc" val="east" />
      <a name="labelfont" val="SansSerif plain 12" />
    </tool>
    <tool lib="1" name="NOT Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="30" />
    </tool>
    <tool lib="1" name="AND Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool lib="1" name="OR Gate">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
  </toolbar>
  <circuit name="main">
    <wire from="(290,340)" to="(290,380)" />
    <wire from="(370,320)" to="(370,360)" />
    <wire from="(360,300)" to="(370,300)" />
    <wire from="(580,310)" to="(580,380)" />
    <wire from="(310,370)" to="(550,370)" />
    <wire from="(400,170)" to="(400,180)" />
    <wire from="(520,430)" to="(520,440)" />
    <wire from="(290,380)" to="(580,380)" />
    <wire from="(400,360)" to="(400,440)" />
    <wire from="(350,250)" to="(350,310)" />
    <wire from="(350,310)" to="(370,310)" />
    <wire from="(370,280)" to="(370,290)" />
    <wire from="(520,430)" to="(590,430)" />
    <wire from="(370,360)" to="(400,360)" />
    <wire from="(360,260)" to="(520,260)" />
    <wire from="(310,180)" to="(400,180)" />
    <wire from="(590,300)" to="(590,430)" />
    <wire from="(360,260)" to="(360,300)" />
    <wire from="(550,280)" to="(550,290)" />
    <wire from="(280,280)" to="(370,280)" />
    <wire from="(280,340)" to="(290,340)" />
    <wire from="(550,310)" to="(580,310)" />
    <wire from="(550,320)" to="(550,370)" />
    <wire from="(610,250)" to="(610,340)" />
    <wire from="(310,180)" to="(310,370)" />
    <wire from="(550,280)" to="(630,280)" />
    <wire from="(610,340)" to="(630,340)" />
    <wire from="(520,170)" to="(520,260)" />
    <wire from="(550,300)" to="(590,300)" />
    <wire from="(350,250)" to="(610,250)" />
    <comp lib="0" name="Pin" loc="(280,340)">
      <a name="facing" val="east" />
      <a name="output" val="true" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 2 Output" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="0" name="Text" loc="(463,506)">
      <a name="text" val="Notes: Each bit effectively gets repeated with the default program of 0123456789ABCDEF" />
      <a name="font" val="SansSerif plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
    <comp lib="0" name="Text" loc="(451,98)">
      <a name="text" val="Idealized Bit Grid Cell" />
      <a name="font" val="SansSerif plain 24" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
    <comp lib="0" name="Pin" loc="(630,340)">
      <a name="facing" val="west" />
      <a name="output" val="false" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 2 Input" />
      <a name="labelloc" val="east" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="0" name="Splitter" loc="(530,310)">
      <a name="facing" val="east" />
      <a name="fanout" val="4" />
      <a name="incoming" val="4" />
      <a name="bit0" val="0" />
      <a name="bit1" val="1" />
      <a name="bit2" val="2" />
      <a name="bit3" val="3" />
    </comp>
    <comp lib="0" name="Pin" loc="(520,440)">
      <a name="facing" val="north" />
      <a name="output" val="true" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 1 Output" />
      <a name="labelloc" val="south" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="0" name="Pin" loc="(630,280)">
      <a name="facing" val="west" />
      <a name="output" val="true" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 0 Output" />
      <a name="labelloc" val="east" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="0" name="Pin" loc="(400,170)">
      <a name="facing" val="south" />
      <a name="output" val="true" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 3 Output" />
      <a name="labelloc" val="north" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="0" name="Splitter" loc="(390,310)">
      <a name="facing" val="west" />
      <a name="fanout" val="4" />
      <a name="incoming" val="4" />
      <a name="bit0" val="0" />
      <a name="bit1" val="1" />
      <a name="bit2" val="2" />
      <a name="bit3" val="3" />
    </comp>
    <comp lib="2" name="ROM" loc="(530,310)">
      <a name="addrWidth" val="4" />
      <a name="dataWidth" val="4" />
      <a name="contents">addr/data: 4 4
0 1 2 3 4 5 6 7
8 9 a b c d e f</a>
    </comp>
    <comp lib="0" name="Pin" loc="(280,280)">
      <a name="facing" val="east" />
      <a name="output" val="false" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 0 Input" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="1" name="Constant" loc="(440,350)">
      <a name="facing" val="north" />
      <a name="width" val="1" />
      <a name="value" val="0x1" />
    </comp>
    <comp lib="0" name="Text" loc="(450,534)">
      <a name="text" val="The ROM data is low byte first, thus 0123..F repeats all of the inputs" />
      <a name="font" val="SansSerif plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
    <comp lib="0" name="Pin" loc="(520,170)">
      <a name="facing" val="south" />
      <a name="output" val="false" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 1 Input" />
      <a name="labelloc" val="north" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
    <comp lib="0" name="Pin" loc="(400,440)">
      <a name="facing" val="north" />
      <a name="output" val="false" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="pull" val="none" />
      <a name="label" val="Bit 3 Input" />
      <a name="labelloc" val="south" />
      <a name="labelfont" val="SansSerif plain 12" />
    </comp>
  </circuit>
</project>

