<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="3.8.0" version="1.0">
  This file is intended to be loaded by Logisim-evolution v3.8.0(https://github.com/logisim-evolution/).

  <lib desc="#Wiring" name="0">
    <tool name="Splitter">
      <a name="bit1" val="0"/>
      <a name="bit2" val="1"/>
      <a name="incoming" val="3"/>
    </tool>
    <tool name="Pin">
      <a name="appearance" val="classic"/>
    </tool>
  </lib>
  <lib desc="#Gates" name="1"/>
  <lib desc="#Plexers" name="2"/>
  <lib desc="#Arithmetic" name="3"/>
  <lib desc="#Memory" name="4"/>
  <lib desc="#I/O" name="5"/>
  <lib desc="#TTL" name="6"/>
  <lib desc="#TCL" name="7"/>
  <lib desc="#Base" name="8"/>
  <lib desc="#BFH-Praktika" name="9"/>
  <lib desc="#Input/Output-Extra" name="10"/>
  <lib desc="#Soc" name="11"/>
  <main name="main"/>
  <options>
    <a name="gateUndefined" val="ignore"/>
    <a name="simlimit" val="1000"/>
    <a name="simrand" val="0"/>
  </options>
  <mappings>
    <tool lib="8" map="Button2" name="Poke Tool"/>
    <tool lib="8" map="Button3" name="Menu Tool"/>
    <tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
  </mappings>
  <toolbar>
    <tool lib="8" name="Poke Tool"/>
    <tool lib="8" name="Edit Tool"/>
    <tool lib="8" name="Wiring Tool"/>
    <tool lib="8" name="Text Tool"/>
    <sep/>
    <tool lib="0" name="Pin"/>
    <tool lib="0" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
    </tool>
    <sep/>
    <tool lib="1" name="NOT Gate"/>
    <tool lib="1" name="AND Gate"/>
    <tool lib="1" name="OR Gate"/>
    <tool lib="1" name="XOR Gate"/>
    <tool lib="1" name="NAND Gate"/>
    <tool lib="1" name="NOR Gate"/>
    <sep/>
    <tool lib="4" name="D Flip-Flop"/>
    <tool lib="4" name="Register"/>
  </toolbar>
  <circuit name="main">
    <a name="appearance" val="logisim_evolution"/>
    <a name="circuit" val="main"/>
    <a name="circuitnamedboxfixedsize" val="true"/>
    <a name="simulationFrequency" val="1.0"/>
    <comp lib="0" loc="(120,350)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="we"/>
    </comp>
    <comp lib="0" loc="(120,380)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="clk"/>
    </comp>
    <comp lib="0" loc="(150,110)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rn"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(150,140)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rm"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(150,200)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rd"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(170,230)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rd_val"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(170,290)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="new_pc"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,110)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="Rn_val"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,140)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="Rm_val"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,220)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r0"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,250)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r1"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,280)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r2"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,310)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r3"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,340)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r4"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,370)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r5"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,400)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r6"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,430)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r7"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,460)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r8"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,490)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r9"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,520)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r10"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,550)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r11"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,580)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r12"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,610)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r13"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,640)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r14"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(840,670)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r15"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="8" loc="(480,35)" name="Text">
      <a name="text" val="You can rewire as needed, but DO NOT move any of the pins in this subcircuit"/>
    </comp>
    <comp loc="(610,110)" name="reg_file"/>
    <wire from="(120,350)" to="(360,350)"/>
    <wire from="(120,380)" to="(370,380)"/>
    <wire from="(150,110)" to="(390,110)"/>
    <wire from="(150,140)" to="(320,140)"/>
    <wire from="(150,200)" to="(330,200)"/>
    <wire from="(170,230)" to="(340,230)"/>
    <wire from="(170,290)" to="(350,290)"/>
    <wire from="(320,130)" to="(320,140)"/>
    <wire from="(320,130)" to="(390,130)"/>
    <wire from="(330,150)" to="(330,200)"/>
    <wire from="(330,150)" to="(390,150)"/>
    <wire from="(340,170)" to="(340,230)"/>
    <wire from="(340,170)" to="(390,170)"/>
    <wire from="(350,190)" to="(350,290)"/>
    <wire from="(350,190)" to="(390,190)"/>
    <wire from="(360,210)" to="(360,350)"/>
    <wire from="(360,210)" to="(390,210)"/>
    <wire from="(370,230)" to="(370,380)"/>
    <wire from="(370,230)" to="(390,230)"/>
    <wire from="(610,110)" to="(840,110)"/>
    <wire from="(610,130)" to="(820,130)"/>
    <wire from="(610,150)" to="(810,150)"/>
    <wire from="(610,170)" to="(800,170)"/>
    <wire from="(610,190)" to="(790,190)"/>
    <wire from="(610,210)" to="(780,210)"/>
    <wire from="(610,230)" to="(770,230)"/>
    <wire from="(610,250)" to="(760,250)"/>
    <wire from="(610,270)" to="(750,270)"/>
    <wire from="(610,290)" to="(740,290)"/>
    <wire from="(610,310)" to="(730,310)"/>
    <wire from="(610,330)" to="(720,330)"/>
    <wire from="(610,350)" to="(710,350)"/>
    <wire from="(610,370)" to="(700,370)"/>
    <wire from="(610,390)" to="(690,390)"/>
    <wire from="(610,410)" to="(680,410)"/>
    <wire from="(610,430)" to="(670,430)"/>
    <wire from="(610,450)" to="(660,450)"/>
    <wire from="(660,450)" to="(660,670)"/>
    <wire from="(660,670)" to="(840,670)"/>
    <wire from="(670,430)" to="(670,640)"/>
    <wire from="(670,640)" to="(840,640)"/>
    <wire from="(680,410)" to="(680,610)"/>
    <wire from="(680,610)" to="(840,610)"/>
    <wire from="(690,390)" to="(690,580)"/>
    <wire from="(690,580)" to="(840,580)"/>
    <wire from="(700,370)" to="(700,550)"/>
    <wire from="(700,550)" to="(840,550)"/>
    <wire from="(710,350)" to="(710,520)"/>
    <wire from="(710,520)" to="(840,520)"/>
    <wire from="(720,330)" to="(720,490)"/>
    <wire from="(720,490)" to="(840,490)"/>
    <wire from="(730,310)" to="(730,460)"/>
    <wire from="(730,460)" to="(840,460)"/>
    <wire from="(740,290)" to="(740,430)"/>
    <wire from="(740,430)" to="(840,430)"/>
    <wire from="(750,270)" to="(750,400)"/>
    <wire from="(750,400)" to="(840,400)"/>
    <wire from="(760,250)" to="(760,370)"/>
    <wire from="(760,370)" to="(840,370)"/>
    <wire from="(770,230)" to="(770,340)"/>
    <wire from="(770,340)" to="(840,340)"/>
    <wire from="(780,210)" to="(780,310)"/>
    <wire from="(780,310)" to="(840,310)"/>
    <wire from="(790,190)" to="(790,280)"/>
    <wire from="(790,280)" to="(840,280)"/>
    <wire from="(800,170)" to="(800,250)"/>
    <wire from="(800,250)" to="(840,250)"/>
    <wire from="(810,150)" to="(810,220)"/>
    <wire from="(810,220)" to="(840,220)"/>
    <wire from="(820,130)" to="(820,140)"/>
    <wire from="(820,140)" to="(840,140)"/>
  </circuit>
  <circuit name="reg_file">
    <a name="appearance" val="logisim_evolution"/>
    <a name="circuit" val="reg_file"/>
    <a name="circuitnamedboxfixedsize" val="true"/>
    <a name="simulationFrequency" val="1.0"/>
    <comp lib="0" loc="(120,350)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="we"/>
    </comp>
    <comp lib="0" loc="(120,380)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="clk"/>
    </comp>
    <comp lib="0" loc="(150,110)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rn"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(150,140)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rm"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(150,200)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rd"/>
      <a name="width" val="4"/>
    </comp>
    <comp lib="0" loc="(170,230)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="Rd_val"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(170,290)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="new_pc"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,120)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="Rm_val"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,200)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r0"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,230)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r1"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,260)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r2"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,290)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r3"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,320)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r4"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,350)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r5"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,380)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r6"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,410)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r7"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,440)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r8"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,470)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r9"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,500)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r10"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,530)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r11"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,560)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r12"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,590)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r13"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,620)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r14"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,650)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="r15"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(970,90)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="Rn_val"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
  </circuit>
</project>
