<?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="Pull Resistor">
      <a name="facing" val="north"/>
    </tool>
    <tool name="Constant">
      <a name="value" val="0x0"/>
    </tool>
  </lib>
  <lib desc="#Gates" name="1"/>
  <lib desc="#Plexers" name="2"/>
  <lib desc="#Arithmetic" name="3"/>
  <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="Pass 0 Pass 1"/>
  <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="Pass 0 Pass 1">
    <a name="circuit" val="Pass 0 Pass 1"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="west"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(340,120)" to="(340,140)"/>
    <wire from="(110,50)" to="(140,50)"/>
    <wire from="(300,100)" to="(320,100)"/>
    <wire from="(110,50)" to="(110,70)"/>
    <wire from="(340,60)" to="(340,80)"/>
    <wire from="(340,140)" to="(370,140)"/>
    <wire from="(70,90)" to="(90,90)"/>
    <wire from="(110,110)" to="(110,130)"/>
    <comp lib="0" loc="(370,140)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(70,90)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(110,70)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(340,60)" name="Constant"/>
    <comp lib="0" loc="(140,50)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="6" loc="(338,175)" name="Text">
      <a name="text" val="Pass 1 with P-type"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(300,100)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(340,120)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(110,130)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="6" loc="(109,175)" name="Text">
      <a name="text" val="Pass 0 with N-type"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
  </circuit>
  <circuit name="Pulled inverters">
    <a name="circuit" val="Pulled inverters"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(350,90)" to="(370,90)"/>
    <wire from="(390,110)" to="(390,130)"/>
    <wire from="(100,100)" to="(130,100)"/>
    <wire from="(390,130)" to="(390,150)"/>
    <wire from="(100,160)" to="(100,180)"/>
    <wire from="(390,130)" to="(420,130)"/>
    <wire from="(100,100)" to="(100,120)"/>
    <wire from="(60,140)" to="(80,140)"/>
    <wire from="(390,50)" to="(390,70)"/>
    <wire from="(100,80)" to="(100,100)"/>
    <comp lib="0" loc="(100,120)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(100,80)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(130,100)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(420,130)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(390,150)" name="Pull Resistor">
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(100,180)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(60,140)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(390,110)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(390,50)" name="Constant"/>
    <comp lib="0" loc="(350,90)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="6" loc="(98,233)" name="Text">
      <a name="text" val="NMOS inverter"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="6" loc="(390,234)" name="Text">
      <a name="text" val="PMOS inverter"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
  </circuit>
  <circuit name="Inverter with N and P">
    <a name="circuit" val="Inverter with N and P"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(100,80)" to="(100,120)"/>
    <wire from="(140,120)" to="(170,120)"/>
    <wire from="(140,100)" to="(140,120)"/>
    <wire from="(100,80)" to="(120,80)"/>
    <wire from="(140,120)" to="(140,140)"/>
    <wire from="(100,160)" to="(120,160)"/>
    <wire from="(140,40)" to="(140,60)"/>
    <wire from="(70,120)" to="(100,120)"/>
    <wire from="(140,180)" to="(140,200)"/>
    <wire from="(100,120)" to="(100,160)"/>
    <comp lib="0" loc="(140,200)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(140,40)" name="Constant"/>
    <comp lib="0" loc="(140,140)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(170,120)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="6" loc="(136,245)" name="Text">
      <a name="text" val="Two transistor  inverter"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(70,120)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(140,100)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
  </circuit>
  <circuit name="Pulled in Parallel">
    <a name="circuit" val="Pulled in Parallel"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(330,340)" to="(330,360)"/>
    <wire from="(200,140)" to="(220,140)"/>
    <wire from="(180,100)" to="(300,100)"/>
    <wire from="(130,340)" to="(170,340)"/>
    <wire from="(170,340)" to="(290,340)"/>
    <wire from="(290,380)" to="(310,380)"/>
    <wire from="(170,340)" to="(170,360)"/>
    <wire from="(180,100)" to="(180,120)"/>
    <wire from="(190,380)" to="(210,380)"/>
    <wire from="(90,340)" to="(130,340)"/>
    <wire from="(100,160)" to="(100,180)"/>
    <wire from="(140,100)" to="(180,100)"/>
    <wire from="(60,140)" to="(80,140)"/>
    <wire from="(290,340)" to="(290,380)"/>
    <wire from="(330,340)" to="(360,340)"/>
    <wire from="(330,320)" to="(330,340)"/>
    <wire from="(100,100)" to="(140,100)"/>
    <wire from="(140,80)" to="(140,100)"/>
    <wire from="(100,100)" to="(100,120)"/>
    <wire from="(330,400)" to="(330,420)"/>
    <wire from="(130,320)" to="(130,340)"/>
    <wire from="(90,340)" to="(90,360)"/>
    <wire from="(180,160)" to="(180,180)"/>
    <wire from="(90,400)" to="(90,420)"/>
    <wire from="(170,400)" to="(170,420)"/>
    <wire from="(50,380)" to="(70,380)"/>
    <comp lib="0" loc="(130,320)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(100,120)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(180,120)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
      <a name="gate" val="br"/>
    </comp>
    <comp lib="0" loc="(330,360)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(60,140)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(300,100)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(90,360)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(170,420)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(100,180)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(170,360)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
      <a name="gate" val="br"/>
    </comp>
    <comp lib="0" loc="(330,420)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(360,340)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(140,80)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(220,140)" name="Pin">
      <a name="facing" val="west"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="6" loc="(149,459)" name="Text">
      <a name="text" val="OR gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="6" loc="(151,215)" name="Text">
      <a name="text" val="NOR gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(50,380)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(180,180)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(210,380)" name="Pin">
      <a name="facing" val="west"/>
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(330,320)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(90,420)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
  </circuit>
  <circuit name="Pulled in Series">
    <a name="circuit" val="Pulled in Series"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(360,100)" to="(360,120)"/>
    <wire from="(360,100)" to="(410,100)"/>
    <wire from="(100,230)" to="(100,260)"/>
    <wire from="(360,230)" to="(360,260)"/>
    <wire from="(320,210)" to="(340,210)"/>
    <wire from="(60,210)" to="(80,210)"/>
    <wire from="(460,80)" to="(460,100)"/>
    <wire from="(100,100)" to="(100,120)"/>
    <wire from="(360,80)" to="(360,100)"/>
    <wire from="(410,140)" to="(440,140)"/>
    <wire from="(320,140)" to="(340,140)"/>
    <wire from="(100,80)" to="(100,100)"/>
    <wire from="(100,160)" to="(100,190)"/>
    <wire from="(460,100)" to="(490,100)"/>
    <wire from="(460,100)" to="(460,120)"/>
    <wire from="(100,100)" to="(150,100)"/>
    <wire from="(360,160)" to="(360,190)"/>
    <wire from="(60,140)" to="(80,140)"/>
    <wire from="(410,100)" to="(410,140)"/>
    <wire from="(460,160)" to="(460,180)"/>
    <comp lib="0" loc="(360,260)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(100,190)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(360,80)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(100,80)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(460,180)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(490,100)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="6" loc="(382,308)" name="Text">
      <a name="text" val="AND gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(320,210)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(320,140)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(60,210)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(150,100)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="6" loc="(100,311)" name="Text">
      <a name="text" val="NAND gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(360,190)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(100,120)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(460,80)" name="Pull Resistor">
      <a name="pull" val="1"/>
    </comp>
    <comp lib="0" loc="(360,120)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(460,120)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(60,140)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(100,260)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
  </circuit>
  <circuit name="CMOS gates">
    <a name="circuit" val="CMOS gates"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(180,580)" to="(180,600)"/>
    <wire from="(470,350)" to="(500,350)"/>
    <wire from="(470,330)" to="(470,350)"/>
    <wire from="(100,70)" to="(160,70)"/>
    <wire from="(100,270)" to="(210,270)"/>
    <wire from="(430,310)" to="(430,350)"/>
    <wire from="(180,170)" to="(230,170)"/>
    <wire from="(230,170)" to="(230,250)"/>
    <wire from="(180,500)" to="(180,520)"/>
    <wire from="(180,170)" to="(180,190)"/>
    <wire from="(70,220)" to="(100,220)"/>
    <wire from="(470,410)" to="(470,430)"/>
    <wire from="(130,560)" to="(160,560)"/>
    <wire from="(100,420)" to="(210,420)"/>
    <wire from="(70,150)" to="(130,150)"/>
    <wire from="(180,30)" to="(180,50)"/>
    <wire from="(100,570)" to="(100,620)"/>
    <wire from="(230,380)" to="(230,400)"/>
    <wire from="(130,500)" to="(130,560)"/>
    <wire from="(130,480)" to="(160,480)"/>
    <wire from="(230,520)" to="(260,520)"/>
    <wire from="(100,70)" to="(100,220)"/>
    <wire from="(130,150)" to="(130,210)"/>
    <wire from="(430,310)" to="(450,310)"/>
    <wire from="(70,570)" to="(100,570)"/>
    <wire from="(230,440)" to="(230,520)"/>
    <wire from="(470,350)" to="(470,370)"/>
    <wire from="(180,520)" to="(180,540)"/>
    <wire from="(180,150)" to="(180,170)"/>
    <wire from="(130,130)" to="(130,150)"/>
    <wire from="(100,220)" to="(100,270)"/>
    <wire from="(230,290)" to="(230,310)"/>
    <wire from="(70,500)" to="(130,500)"/>
    <wire from="(400,350)" to="(430,350)"/>
    <wire from="(100,620)" to="(160,620)"/>
    <wire from="(130,130)" to="(160,130)"/>
    <wire from="(180,640)" to="(180,660)"/>
    <wire from="(130,480)" to="(130,500)"/>
    <wire from="(470,270)" to="(470,290)"/>
    <wire from="(130,210)" to="(160,210)"/>
    <wire from="(230,170)" to="(260,170)"/>
    <wire from="(180,520)" to="(230,520)"/>
    <wire from="(100,420)" to="(100,570)"/>
    <wire from="(430,350)" to="(430,390)"/>
    <wire from="(180,380)" to="(180,460)"/>
    <wire from="(180,230)" to="(180,310)"/>
    <wire from="(430,390)" to="(450,390)"/>
    <wire from="(180,90)" to="(180,110)"/>
    <comp lib="0" loc="(180,150)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(500,350)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(470,430)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(180,600)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(230,310)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(260,170)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(470,270)" name="Constant"/>
    <comp lib="0" loc="(180,660)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="6" loc="(249,560)" name="Text">
      <a name="text" val="NAND gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(180,380)" name="Constant"/>
    <comp lib="0" loc="(180,500)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(180,190)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="6" loc="(525,324)" name="Text">
      <a name="text" val="NOT gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(70,570)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(230,440)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(70,150)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(180,540)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(180,30)" name="Constant"/>
    <comp lib="6" loc="(239,148)" name="Text">
      <a name="text" val="NOR gate"/>
      <a name="font" val="SansSerif plain 18"/>
    </comp>
    <comp lib="0" loc="(230,250)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(260,520)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(70,500)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(180,90)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(70,220)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(180,310)" name="Constant">
      <a name="value" val="0x0"/>
    </comp>
    <comp lib="0" loc="(470,330)" name="Transistor">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(230,380)" name="Constant"/>
    <comp lib="0" loc="(400,350)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(470,370)" name="Transistor">
      <a name="type" val="n"/>
      <a name="facing" val="north"/>
    </comp>
  </circuit>
</project>
