<?xml version="1.0" encoding="UTF-8"?>
<project version="1.0">
  <lib name="0" desc="#Base">
    <tool name="Text Tool">
      <a name="text" val="" />
      <a name="font" val="dialog plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </tool>
    <tool name="Splitter">
      <a name="facing" val="east" />
      <a name="incoming" val="2" />
      <a name="fanout" val="2" />
      <a name="bit0" val="0" />
      <a name="bit1" val="1" />
    </tool>
    <tool name="Pin">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="tristate" val="true" />
      <a name="output" val="false" />
      <a name="label" val="" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="dialog plain 12" />
    </tool>
    <tool name="Text">
      <a name="text" val="" />
      <a name="font" val="dialog 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="1" />
    </tool>
    <tool name="NOT Gate">
      <a name="width" val="1" />
    </tool>
    <tool name="Buffer">
      <a name="width" val="1" />
    </tool>
    <tool name="AND Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="OR Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="NAND Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="NOR Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="XOR Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="Odd Parity">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="Even Parity">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool name="Controlled Buffer">
      <a name="width" val="8" />
    </tool>
    <tool name="Controlled Inverter">
      <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="8" />
    </tool>
  </lib>
  <main name="main" />
  <options>
    <a name="showgrid" val="true" />
    <a name="simulate" val="true" />
    <a name="showghosts" val="true" />
    <a name="zoom" val="1.0" />
    <a name="gateshape" val="shaped" />
  </options>
  <mappings>
    <tool lib="0" name="Menu Tool" map="Button3" />
    <tool lib="0" name="Menu Tool" map="Button2" />
  </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="dialog 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="width" val="1" />
      <a name="tristate" val="false" />
      <a name="output" val="false" />
      <a name="label" val="Read/Write" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="Default plain 12" />
    </tool>
    <tool lib="0" name="Pin">
      <a name="facing" val="west" />
      <a name="width" val="8" />
      <a name="tristate" val="true" />
      <a name="output" val="true" />
      <a name="label" val="Output" />
      <a name="labelloc" val="east" />
      <a name="labelfont" val="dialog plain 12" />
    </tool>
    <tool lib="1" name="NOT Gate">
      <a name="width" val="1" />
    </tool>
    <tool lib="1" name="AND Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
    <tool lib="1" name="OR Gate">
      <a name="width" val="1" />
      <a name="size" val="50" />
      <a name="inputs" val="5" />
    </tool>
  </toolbar>
  <circuit name="main" />
  <circuit name="Read-Only Mem">
    <wire from="(180,330)" to="(280,330)" />
    <wire from="(420,330)" to="(520,330)" />
    <comp lib="0" name="Pin" loc="(180,330)">
      <a name="facing" val="east" />
      <a name="width" val="8" />
      <a name="tristate" val="false" />
      <a name="output" val="false" />
      <a name="label" val="Address" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="Default plain 12" />
    </comp>
    <comp lib="2" name="RAM" loc="(420,330)">
      <a name="addrWidth" val="8" />
    </comp>
    <comp lib="0" name="Pin" loc="(520,330)">
      <a name="facing" val="west" />
      <a name="width" val="8" />
      <a name="tristate" val="true" />
      <a name="output" val="true" />
      <a name="label" val="Output" />
      <a name="labelloc" val="east" />
      <a name="labelfont" val="dialog plain 12" />
    </comp>
    <comp lib="1" name="Constant" loc="(370,370)">
      <a name="facing" val="north" />
      <a name="width" val="1" />
      <a name="value" val="1" />
    </comp>
    <comp lib="1" name="Constant" loc="(330,370)">
      <a name="facing" val="north" />
      <a name="width" val="1" />
      <a name="value" val="1" />
    </comp>
    <comp lib="0" name="Text" loc="(420,93)">
      <a name="text" val=" " />
      <a name="font" val="dialog plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
    <comp lib="0" name="Text" loc="(398,219)">
      <a name="text" val="This is how to set up the memory if you only want to read from it.  Reads are asynchronous so the clock is unnecssary." />
      <a name="font" val="dialog plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
  </circuit>
  <circuit name="Read/Write Mem">
    <wire from="(210,360)" to="(360,360)" />
    <wire from="(430,400)" to="(430,460)" />
    <wire from="(210,230)" to="(570,230)" />
    <wire from="(590,230)" to="(620,230)" />
    <wire from="(500,360)" to="(620,360)" />
    <wire from="(620,360)" to="(720,360)" />
    <wire from="(620,230)" to="(620,360)" />
    <wire from="(450,400)" to="(450,560)" />
    <wire from="(410,560)" to="(450,560)" />
    <wire from="(350,560)" to="(370,560)" />
    <wire from="(370,560)" to="(380,560)" />
    <wire from="(370,560)" to="(370,580)" />
    <wire from="(370,580)" to="(580,580)" />
    <wire from="(580,240)" to="(580,580)" />
    <comp lib="0" name="Pin" loc="(210,360)">
      <a name="facing" val="east" />
      <a name="width" val="8" />
      <a name="tristate" val="false" />
      <a name="output" val="false" />
      <a name="label" val="Address" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="Default plain 12" />
    </comp>
    <comp lib="2" name="RAM" loc="(500,360)">
      <a name="addrWidth" val="8" />
    </comp>
    <comp lib="0" name="Pin" loc="(720,360)">
      <a name="facing" val="west" />
      <a name="width" val="8" />
      <a name="tristate" val="true" />
      <a name="output" val="true" />
      <a name="label" val="Output" />
      <a name="labelloc" val="east" />
      <a name="labelfont" val="dialog plain 12" />
    </comp>
    <comp lib="0" name="Pin" loc="(210,230)">
      <a name="facing" val="east" />
      <a name="width" val="8" />
      <a name="tristate" val="false" />
      <a name="output" val="false" />
      <a name="label" val="Input" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="Default plain 12" />
    </comp>
    <comp lib="1" name="Controlled Buffer" loc="(590,230)">
      <a name="width" val="8" />
    </comp>
    <comp lib="1" name="Constant" loc="(410,400)">
      <a name="facing" val="north" />
      <a name="width" val="1" />
      <a name="value" val="1" />
    </comp>
    <comp lib="0" name="Pin" loc="(430,460)">
      <a name="facing" val="north" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="output" val="false" />
      <a name="label" val="Clock" />
      <a name="labelloc" val="south" />
      <a name="labelfont" val="Default plain 12" />
    </comp>
    <comp lib="1" name="NOT Gate" loc="(410,560)">
      <a name="width" val="1" />
    </comp>
    <comp lib="0" name="Pin" loc="(350,560)">
      <a name="facing" val="east" />
      <a name="width" val="1" />
      <a name="tristate" val="false" />
      <a name="output" val="false" />
      <a name="label" val="Read/Write" />
      <a name="labelloc" val="west" />
      <a name="labelfont" val="Default plain 12" />
    </comp>
    <comp lib="0" name="Text" loc="(507,145)">
      <a name="text" val="value of of memory at the address asynchronously.  If Read/Write is 1 then input is written to memory at address synchronously (when the clock next goes high)" />
      <a name="font" val="dialog plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
    <comp lib="0" name="Text" loc="(342,120)">
      <a name="text" val="This is how to set up the memory to both read and write.  If Read/Write is 0 then the output gets the " />
      <a name="font" val="dialog plain 12" />
      <a name="halign" val="center" />
      <a name="valign" val="base" />
    </comp>
  </circuit>
</project>

