您现在的位置是:首页 >技术交流 >【头歌实训】【基于 Logisim 的 RISC-V 处理器设计】第二关-32个寄存器读写网站首页技术交流

【头歌实训】【基于 Logisim 的 RISC-V 处理器设计】第二关-32个寄存器读写

Mr_Fmnwon 2024-06-19 13:56:33
简介【头歌实训】【基于 Logisim 的 RISC-V 处理器设计】第二关-32个寄存器读写

好恶心的题,手连麻了

一、题目

考虑到寄存器文件的重要性,为基于 Logisim 实现单周期 RV32I 处理器,本关卡需实现一个寄存器文件部件。由于 0 号寄存器之外的 RV32I 寄存器操作方式类似,寄存器文件包含 32 个 32 位寄存器,寄存器文件部件对应的端口如下表所示:

端口名端口类型端口位宽
RegRead1(读寄存器 1 编号)输入端口5
RegRead2(读寄存器 2 编号)输入端口5
RegWrite(写寄存器编号)输入端口5
WriteData(写数据)输入端口32
WriteEnable(写使能信号)输入端口1
Clk(时钟信号)输入端口1
ReadData1(读寄存器 1 读出数据)输出端口32
ReadData2(读寄存器 2 读出数据)输出端口32

该寄存器文件部件需要完成的功能是:

  • 从编号为 RegRead1 端口数据的寄存器中读出数据,并输出到 ReadData1 端口;
  • 从编号为 RegRead2 端口数据的寄存器中读出数据,并输出到 ReadData2 端口;
  • 在输入的时钟 Clk 出现上升沿信号时,若写使能端口 WE 被置为有效(高电平),则将 WriteData 端口的数据写入到编号为 RegWrite 端口数据的寄存器中;
  • 0 号寄存器对应的数据硬编码为全零。

二、方法 

按照题目要求连就好。

三、Code

<?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="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="register_files"/>
  <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="register_files">
    <a name="appearance" val="custom"/>
    <a name="circuit" val="register_files"/>
    <a name="circuitnamedboxfixedsize" val="true"/>
    <a name="simulationFrequency" val="128.0"/>
    <appear>
      <rect fill="none" height="230" stroke="#000000" width="180" x="20" y="20"/>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="37" y="38">xA</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="38" y="69">xB</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="39" y="98">xW</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="36" y="127">D</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="40" y="160">WE</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="176" y="100">A</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="41" y="220">CLK</text>
      <text dominant-baseline="central" fill="#ff0000" font-family="SansSerif" font-size="25" font-weight="bold" text-anchor="middle" x="112" y="125">Register</text>
      <text dominant-baseline="central" fill="#ff0000" font-family="SansSerif" font-size="25" font-weight="bold" text-anchor="middle" x="113" y="169">Files</text>
      <text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="178" y="188">B</text>
      <circ-anchor facing="east" x="200" y="100"/>
      <circ-port dir="in" pin="200,180" x="20" y="40"/>
      <circ-port dir="in" pin="200,290" x="20" y="70"/>
      <circ-port dir="in" pin="200,400" x="20" y="100"/>
      <circ-port dir="in" pin="200,510" x="20" y="130"/>
      <circ-port dir="in" pin="200,610" x="20" y="160"/>
      <circ-port dir="in" pin="200,710" x="20" y="220"/>
      <circ-port dir="out" pin="240,1100" x="200" y="190"/>
      <circ-port dir="out" pin="240,980" x="200" y="100"/>
    </appear>
    <comp lib="0" loc="(1090,1560)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="R0"/>
    </comp>
    <comp lib="0" loc="(1180,1510)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(1230,350)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="RegRead1"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1240,620)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="R0read"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1420,400)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="ReadData1"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1440,1510)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(1680,1510)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(1720,340)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="RegRead2"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1910,400)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="ReadData2"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1930,1510)" name="Tunnel">
      <a name="facing" val="south"/>
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(200,1100)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="ReadData2"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(200,180)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="label" val="RegRead1"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(200,290)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="label" val="RegRead2"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(200,400)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="label" val="RegWrite"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(200,510)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="label" val="WriteData"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(200,610)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="label" val="WriteEnable"/>
    </comp>
    <comp lib="0" loc="(200,710)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(200,980)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="ReadData1"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(2050,2520)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(2070,2480)" name="Constant">
      <a name="value" val="0x0"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(2070,2500)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="WriteEnable"/>
    </comp>
    <comp lib="0" loc="(2210,2480)" name="Tunnel">
      <a name="label" val="R0read"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(240,1100)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="facing" val="west"/>
      <a name="label" val="ReadData2"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(240,980)" name="Pin">
      <a name="appearance" val="classic"/>
      <a name="facing" val="west"/>
      <a name="label" val="ReadData1"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(250,180)" name="Tunnel">
      <a name="label" val="RegRead1"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(250,290)" name="Tunnel">
      <a name="label" val="RegRead2"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(250,400)" name="Tunnel">
      <a name="label" val="RegWrite"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(250,510)" name="Tunnel">
      <a name="label" val="WriteData"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(250,610)" name="Tunnel">
      <a name="label" val="WriteEnable"/>
    </comp>
    <comp lib="0" loc="(250,710)" name="Tunnel">
      <a name="label" val="Clk"/>
    </comp>
    <comp lib="0" loc="(670,2610)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="RegWrite"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(680,2500)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="WriteEnable"/>
    </comp>
    <comp lib="0" loc="(740,1080)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="WriteData"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="2" loc="(1420,440)" name="Multiplexer">
      <a name="facing" val="north"/>
      <a name="select" val="5"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="2" loc="(1910,440)" name="Multiplexer">
      <a name="facing" val="north"/>
      <a name="select" val="5"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="2" loc="(770,2600)" name="Decoder">
      <a name="select" val="5"/>
    </comp>
    <comp lib="4" loc="(1190,1630)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1190,1740)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1190,1840)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1190,1940)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1190,2050)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1190,2160)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1190,2270)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1200,1520)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,1520)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,1630)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,1740)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,1840)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,1940)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,2050)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,2160)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1450,2270)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,1500)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,1610)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,1720)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,1820)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,1920)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,2030)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,2140)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1690,2250)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,1500)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,1600)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,1710)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,1810)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,1910)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,2020)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(1940,2130)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="4" loc="(2150,2450)" name="Register">
      <a name="appearance" val="logisim_evolution"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="8" loc="(2044,2569)" name="Text">
      <a name="text" val="瀵勫瓨鍣ㄥ啓浣胯兘"/>
    </comp>
    <comp lib="8" loc="(2085,2525)" name="Text">
      <a name="text" val="鏃堕挓"/>
    </comp>
    <comp lib="8" loc="(2176,2422)" name="Text">
      <a name="text" val="瀵勫瓨鍣ㄥ啓鏁版嵁"/>
    </comp>
    <comp lib="8" loc="(2350,2490)" name="Text">
      <a name="text" val="瀵勫瓨鍣ㄨ鍑烘暟鎹�"/>
    </comp>
    <comp lib="8" loc="(240,120)" name="Text">
      <a name="color" val="#ff0000"/>
      <a name="font" val="SansSerif bold 20"/>
      <a name="text" val="璇峰嬁淇敼鎴栫Щ鍔ㄨ鍖哄煙閮ㄤ欢鍙婅繛绾�"/>
    </comp>
    <comp lib="8" loc="(240,80)" name="Text">
      <a name="color" val="#0000ff"/>
      <a name="font" val="SansSerif bold 25"/>
      <a name="text" val="杈撳叆淇″彿鎺ュ彛灏佽鍖哄煙"/>
    </comp>
    <comp lib="8" loc="(250,860)" name="Text">
      <a name="color" val="#0000ff"/>
      <a name="font" val="SansSerif bold 25"/>
      <a name="text" val="杈撳嚭淇″彿鎺ュ彛灏佽鍖哄煙"/>
    </comp>
    <comp lib="8" loc="(250,900)" name="Text">
      <a name="color" val="#ff0000"/>
      <a name="font" val="SansSerif bold 20"/>
      <a name="text" val="璇峰嬁淇敼鎴栫Щ鍔ㄨ鍖哄煙閮ㄤ欢鍙婅繛绾�"/>
    </comp>
    <wire from="(1090,1560)" to="(1090,2280)"/>
    <wire from="(1100,1080)" to="(1100,1550)"/>
    <wire from="(1100,1080)" to="(1110,1080)"/>
    <wire from="(1100,1550)" to="(1200,1550)"/>
    <wire from="(1100,1570)" to="(1100,2290)"/>
    <wire from="(1100,1570)" to="(1200,1570)"/>
    <wire from="(1110,1080)" to="(1110,1660)"/>
    <wire from="(1110,1080)" to="(1120,1080)"/>
    <wire from="(1110,1660)" to="(1190,1660)"/>
    <wire from="(1110,1680)" to="(1110,2300)"/>
    <wire from="(1110,1680)" to="(1190,1680)"/>
    <wire from="(1120,1080)" to="(1120,1770)"/>
    <wire from="(1120,1080)" to="(1130,1080)"/>
    <wire from="(1120,1770)" to="(1190,1770)"/>
    <wire from="(1120,1790)" to="(1120,2310)"/>
    <wire from="(1120,1790)" to="(1190,1790)"/>
    <wire from="(1130,1080)" to="(1130,1870)"/>
    <wire from="(1130,1080)" to="(1140,1080)"/>
    <wire from="(1130,1870)" to="(1190,1870)"/>
    <wire from="(1130,1890)" to="(1130,2320)"/>
    <wire from="(1130,1890)" to="(1190,1890)"/>
    <wire from="(1140,1080)" to="(1140,1970)"/>
    <wire from="(1140,1080)" to="(1150,1080)"/>
    <wire from="(1140,1970)" to="(1190,1970)"/>
    <wire from="(1140,1990)" to="(1140,2330)"/>
    <wire from="(1140,1990)" to="(1190,1990)"/>
    <wire from="(1150,1080)" to="(1150,2080)"/>
    <wire from="(1150,1080)" to="(1160,1080)"/>
    <wire from="(1150,2080)" to="(1190,2080)"/>
    <wire from="(1150,2100)" to="(1150,2340)"/>
    <wire from="(1150,2100)" to="(1190,2100)"/>
    <wire from="(1160,1080)" to="(1160,2190)"/>
    <wire from="(1160,1080)" to="(1170,1080)"/>
    <wire from="(1160,2190)" to="(1190,2190)"/>
    <wire from="(1160,2210)" to="(1160,2350)"/>
    <wire from="(1160,2210)" to="(1190,2210)"/>
    <wire from="(1170,1080)" to="(1170,2300)"/>
    <wire from="(1170,1080)" to="(1360,1080)"/>
    <wire from="(1170,2300)" to="(1190,2300)"/>
    <wire from="(1170,2320)" to="(1170,2360)"/>
    <wire from="(1170,2320)" to="(1190,2320)"/>
    <wire from="(1180,1510)" to="(1180,1590)"/>
    <wire from="(1180,1590)" to="(1180,1700)"/>
    <wire from="(1180,1590)" to="(1200,1590)"/>
    <wire from="(1180,1700)" to="(1180,1810)"/>
    <wire from="(1180,1700)" to="(1190,1700)"/>
    <wire from="(1180,1810)" to="(1180,1910)"/>
    <wire from="(1180,1810)" to="(1190,1810)"/>
    <wire from="(1180,1910)" to="(1180,2010)"/>
    <wire from="(1180,1910)" to="(1190,1910)"/>
    <wire from="(1180,2010)" to="(1180,2120)"/>
    <wire from="(1180,2010)" to="(1190,2010)"/>
    <wire from="(1180,2120)" to="(1180,2230)"/>
    <wire from="(1180,2120)" to="(1190,2120)"/>
    <wire from="(1180,2230)" to="(1180,2340)"/>
    <wire from="(1180,2230)" to="(1190,2230)"/>
    <wire from="(1180,2340)" to="(1190,2340)"/>
    <wire from="(1230,350)" to="(1230,460)"/>
    <wire from="(1230,460)" to="(1260,460)"/>
    <wire from="(1240,620)" to="(1260,620)"/>
    <wire from="(1250,1660)" to="(1280,1660)"/>
    <wire from="(1250,1770)" to="(1290,1770)"/>
    <wire from="(1250,1870)" to="(1300,1870)"/>
    <wire from="(1250,1970)" to="(1310,1970)"/>
    <wire from="(1250,2080)" to="(1320,2080)"/>
    <wire from="(1250,2190)" to="(1330,2190)"/>
    <wire from="(1250,2300)" to="(1340,2300)"/>
    <wire from="(1260,1550)" to="(1270,1550)"/>
    <wire from="(1260,480)" to="(1260,600)"/>
    <wire from="(1260,600)" to="(1260,620)"/>
    <wire from="(1260,600)" to="(1750,600)"/>
    <wire from="(1270,480)" to="(1270,610)"/>
    <wire from="(1270,610)" to="(1270,1550)"/>
    <wire from="(1270,610)" to="(1760,610)"/>
    <wire from="(1280,480)" to="(1280,620)"/>
    <wire from="(1280,620)" to="(1280,1660)"/>
    <wire from="(1280,620)" to="(1770,620)"/>
    <wire from="(1290,480)" to="(1290,630)"/>
    <wire from="(1290,630)" to="(1290,1770)"/>
    <wire from="(1290,630)" to="(1780,630)"/>
    <wire from="(1300,480)" to="(1300,640)"/>
    <wire from="(1300,640)" to="(1300,1870)"/>
    <wire from="(1300,640)" to="(1790,640)"/>
    <wire from="(1310,480)" to="(1310,650)"/>
    <wire from="(1310,650)" to="(1310,1970)"/>
    <wire from="(1310,650)" to="(1800,650)"/>
    <wire from="(1320,480)" to="(1320,660)"/>
    <wire from="(1320,660)" to="(1320,2080)"/>
    <wire from="(1320,660)" to="(1810,660)"/>
    <wire from="(1330,480)" to="(1330,670)"/>
    <wire from="(1330,670)" to="(1330,2190)"/>
    <wire from="(1330,670)" to="(1820,670)"/>
    <wire from="(1340,480)" to="(1340,680)"/>
    <wire from="(1340,680)" to="(1340,2300)"/>
    <wire from="(1340,680)" to="(1830,680)"/>
    <wire from="(1350,1050)" to="(1520,1050)"/>
    <wire from="(1350,480)" to="(1350,690)"/>
    <wire from="(1350,690)" to="(1350,1050)"/>
    <wire from="(1350,690)" to="(1840,690)"/>
    <wire from="(1360,1040)" to="(1530,1040)"/>
    <wire from="(1360,1080)" to="(1360,1550)"/>
    <wire from="(1360,1080)" to="(1370,1080)"/>
    <wire from="(1360,1550)" to="(1450,1550)"/>
    <wire from="(1360,1570)" to="(1360,2370)"/>
    <wire from="(1360,1570)" to="(1450,1570)"/>
    <wire from="(1360,480)" to="(1360,700)"/>
    <wire from="(1360,700)" to="(1360,1040)"/>
    <wire from="(1360,700)" to="(1850,700)"/>
    <wire from="(1370,1030)" to="(1540,1030)"/>
    <wire from="(1370,1080)" to="(1370,1660)"/>
    <wire from="(1370,1080)" to="(1380,1080)"/>
    <wire from="(1370,1660)" to="(1450,1660)"/>
    <wire from="(1370,1680)" to="(1370,2380)"/>
    <wire from="(1370,1680)" to="(1450,1680)"/>
    <wire from="(1370,480)" to="(1370,710)"/>
    <wire from="(1370,710)" to="(1370,1030)"/>
    <wire from="(1370,710)" to="(1860,710)"/>
    <wire from="(1380,1020)" to="(1550,1020)"/>
    <wire from="(1380,1080)" to="(1380,1770)"/>
    <wire from="(1380,1080)" to="(1390,1080)"/>
    <wire from="(1380,1770)" to="(1450,1770)"/>
    <wire from="(1380,1790)" to="(1380,2390)"/>
    <wire from="(1380,1790)" to="(1450,1790)"/>
    <wire from="(1380,480)" to="(1380,720)"/>
    <wire from="(1380,720)" to="(1380,1020)"/>
    <wire from="(1380,720)" to="(1870,720)"/>
    <wire from="(1390,1010)" to="(1560,1010)"/>
    <wire from="(1390,1080)" to="(1390,1870)"/>
    <wire from="(1390,1080)" to="(1400,1080)"/>
    <wire from="(1390,1870)" to="(1450,1870)"/>
    <wire from="(1390,1890)" to="(1390,2400)"/>
    <wire from="(1390,1890)" to="(1450,1890)"/>
    <wire from="(1390,480)" to="(1390,730)"/>
    <wire from="(1390,730)" to="(1390,1010)"/>
    <wire from="(1390,730)" to="(1880,730)"/>
    <wire from="(1400,1000)" to="(1570,1000)"/>
    <wire from="(1400,1080)" to="(1400,1970)"/>
    <wire from="(1400,1080)" to="(1410,1080)"/>
    <wire from="(1400,1970)" to="(1450,1970)"/>
    <wire from="(1400,1990)" to="(1400,2410)"/>
    <wire from="(1400,1990)" to="(1450,1990)"/>
    <wire from="(1400,480)" to="(1400,740)"/>
    <wire from="(1400,740)" to="(1400,1000)"/>
    <wire from="(1400,740)" to="(1890,740)"/>
    <wire from="(1410,1080)" to="(1410,2080)"/>
    <wire from="(1410,1080)" to="(1420,1080)"/>
    <wire from="(1410,2080)" to="(1450,2080)"/>
    <wire from="(1410,2100)" to="(1410,2420)"/>
    <wire from="(1410,2100)" to="(1450,2100)"/>
    <wire from="(1410,480)" to="(1410,750)"/>
    <wire from="(1410,750)" to="(1410,990)"/>
    <wire from="(1410,750)" to="(1900,750)"/>
    <wire from="(1410,990)" to="(1580,990)"/>
    <wire from="(1420,1080)" to="(1420,2190)"/>
    <wire from="(1420,1080)" to="(1430,1080)"/>
    <wire from="(1420,2190)" to="(1450,2190)"/>
    <wire from="(1420,2210)" to="(1420,2430)"/>
    <wire from="(1420,2210)" to="(1450,2210)"/>
    <wire from="(1420,400)" to="(1420,440)"/>
    <wire from="(1420,480)" to="(1420,760)"/>
    <wire from="(1420,760)" to="(1420,980)"/>
    <wire from="(1420,760)" to="(1910,760)"/>
    <wire from="(1420,980)" to="(1590,980)"/>
    <wire from="(1430,1080)" to="(1430,2300)"/>
    <wire from="(1430,1080)" to="(1600,1080)"/>
    <wire from="(1430,2300)" to="(1450,2300)"/>
    <wire from="(1430,2320)" to="(1430,2440)"/>
    <wire from="(1430,2320)" to="(1450,2320)"/>
    <wire from="(1430,480)" to="(1430,770)"/>
    <wire from="(1430,770)" to="(1430,970)"/>
    <wire from="(1430,770)" to="(1920,770)"/>
    <wire from="(1430,970)" to="(1760,970)"/>
    <wire from="(1440,1510)" to="(1440,1590)"/>
    <wire from="(1440,1590)" to="(1440,1700)"/>
    <wire from="(1440,1590)" to="(1450,1590)"/>
    <wire from="(1440,1700)" to="(1440,1810)"/>
    <wire from="(1440,1700)" to="(1450,1700)"/>
    <wire from="(1440,1810)" to="(1440,1910)"/>
    <wire from="(1440,1810)" to="(1450,1810)"/>
    <wire from="(1440,1910)" to="(1440,2010)"/>
    <wire from="(1440,1910)" to="(1450,1910)"/>
    <wire from="(1440,2010)" to="(1440,2120)"/>
    <wire from="(1440,2010)" to="(1450,2010)"/>
    <wire from="(1440,2120)" to="(1440,2230)"/>
    <wire from="(1440,2120)" to="(1450,2120)"/>
    <wire from="(1440,2230)" to="(1440,2340)"/>
    <wire from="(1440,2230)" to="(1450,2230)"/>
    <wire from="(1440,2340)" to="(1450,2340)"/>
    <wire from="(1440,480)" to="(1440,780)"/>
    <wire from="(1440,780)" to="(1440,960)"/>
    <wire from="(1440,780)" to="(1930,780)"/>
    <wire from="(1440,960)" to="(1770,960)"/>
    <wire from="(1450,480)" to="(1450,790)"/>
    <wire from="(1450,790)" to="(1450,950)"/>
    <wire from="(1450,790)" to="(1940,790)"/>
    <wire from="(1450,950)" to="(1780,950)"/>
    <wire from="(1460,480)" to="(1460,800)"/>
    <wire from="(1460,800)" to="(1460,940)"/>
    <wire from="(1460,800)" to="(1950,800)"/>
    <wire from="(1460,940)" to="(1790,940)"/>
    <wire from="(1470,480)" to="(1470,810)"/>
    <wire from="(1470,810)" to="(1470,930)"/>
    <wire from="(1470,810)" to="(1960,810)"/>
    <wire from="(1470,930)" to="(1800,930)"/>
    <wire from="(1480,480)" to="(1480,820)"/>
    <wire from="(1480,820)" to="(1480,920)"/>
    <wire from="(1480,820)" to="(1970,820)"/>
    <wire from="(1480,920)" to="(1810,920)"/>
    <wire from="(1490,480)" to="(1490,590)"/>
    <wire from="(1490,590)" to="(1490,910)"/>
    <wire from="(1490,590)" to="(1980,590)"/>
    <wire from="(1490,910)" to="(1820,910)"/>
    <wire from="(1500,480)" to="(1500,580)"/>
    <wire from="(1500,580)" to="(1500,900)"/>
    <wire from="(1500,580)" to="(1990,580)"/>
    <wire from="(1500,900)" to="(1830,900)"/>
    <wire from="(1510,1550)" to="(1520,1550)"/>
    <wire from="(1510,1660)" to="(1530,1660)"/>
    <wire from="(1510,1770)" to="(1540,1770)"/>
    <wire from="(1510,1870)" to="(1550,1870)"/>
    <wire from="(1510,1970)" to="(1560,1970)"/>
    <wire from="(1510,2080)" to="(1570,2080)"/>
    <wire from="(1510,2190)" to="(1580,2190)"/>
    <wire from="(1510,2300)" to="(1590,2300)"/>
    <wire from="(1510,480)" to="(1510,570)"/>
    <wire from="(1510,570)" to="(1510,890)"/>
    <wire from="(1510,570)" to="(2000,570)"/>
    <wire from="(1510,890)" to="(1840,890)"/>
    <wire from="(1520,1050)" to="(1520,1550)"/>
    <wire from="(1520,480)" to="(1520,560)"/>
    <wire from="(1520,560)" to="(1520,880)"/>
    <wire from="(1520,560)" to="(2010,560)"/>
    <wire from="(1520,880)" to="(1850,880)"/>
    <wire from="(1530,1040)" to="(1530,1660)"/>
    <wire from="(1530,480)" to="(1530,550)"/>
    <wire from="(1530,550)" to="(1530,870)"/>
    <wire from="(1530,550)" to="(2020,550)"/>
    <wire from="(1530,870)" to="(1860,870)"/>
    <wire from="(1540,1030)" to="(1540,1770)"/>
    <wire from="(1540,480)" to="(1540,540)"/>
    <wire from="(1540,540)" to="(1540,860)"/>
    <wire from="(1540,540)" to="(2030,540)"/>
    <wire from="(1540,860)" to="(1870,860)"/>
    <wire from="(1550,1020)" to="(1550,1870)"/>
    <wire from="(1550,480)" to="(1550,530)"/>
    <wire from="(1550,530)" to="(1550,850)"/>
    <wire from="(1550,530)" to="(2040,530)"/>
    <wire from="(1550,850)" to="(1880,850)"/>
    <wire from="(1560,1010)" to="(1560,1970)"/>
    <wire from="(1560,480)" to="(1560,520)"/>
    <wire from="(1560,520)" to="(1560,840)"/>
    <wire from="(1560,520)" to="(2050,520)"/>
    <wire from="(1560,840)" to="(1890,840)"/>
    <wire from="(1570,1000)" to="(1570,2080)"/>
    <wire from="(1570,480)" to="(1570,510)"/>
    <wire from="(1570,510)" to="(1570,830)"/>
    <wire from="(1570,510)" to="(2060,510)"/>
    <wire from="(1570,830)" to="(1900,830)"/>
    <wire from="(1580,990)" to="(1580,2190)"/>
    <wire from="(1590,980)" to="(1590,2300)"/>
    <wire from="(1600,1080)" to="(1600,1530)"/>
    <wire from="(1600,1080)" to="(1610,1080)"/>
    <wire from="(1600,1530)" to="(1690,1530)"/>
    <wire from="(1600,1550)" to="(1600,2450)"/>
    <wire from="(1600,1550)" to="(1690,1550)"/>
    <wire from="(1610,1080)" to="(1610,1640)"/>
    <wire from="(1610,1080)" to="(1620,1080)"/>
    <wire from="(1610,1640)" to="(1690,1640)"/>
    <wire from="(1610,1660)" to="(1610,2460)"/>
    <wire from="(1610,1660)" to="(1690,1660)"/>
    <wire from="(1620,1080)" to="(1620,1750)"/>
    <wire from="(1620,1080)" to="(1630,1080)"/>
    <wire from="(1620,1750)" to="(1690,1750)"/>
    <wire from="(1620,1770)" to="(1620,2470)"/>
    <wire from="(1620,1770)" to="(1690,1770)"/>
    <wire from="(1630,1080)" to="(1630,1850)"/>
    <wire from="(1630,1080)" to="(1640,1080)"/>
    <wire from="(1630,1850)" to="(1690,1850)"/>
    <wire from="(1630,1870)" to="(1630,2480)"/>
    <wire from="(1630,1870)" to="(1690,1870)"/>
    <wire from="(1640,1080)" to="(1640,1950)"/>
    <wire from="(1640,1080)" to="(1650,1080)"/>
    <wire from="(1640,1950)" to="(1690,1950)"/>
    <wire from="(1640,1970)" to="(1640,2490)"/>
    <wire from="(1640,1970)" to="(1690,1970)"/>
    <wire from="(1650,1080)" to="(1650,2060)"/>
    <wire from="(1650,1080)" to="(1660,1080)"/>
    <wire from="(1650,2060)" to="(1690,2060)"/>
    <wire from="(1650,2080)" to="(1650,2500)"/>
    <wire from="(1650,2080)" to="(1690,2080)"/>
    <wire from="(1660,1080)" to="(1660,2170)"/>
    <wire from="(1660,1080)" to="(1670,1080)"/>
    <wire from="(1660,2170)" to="(1690,2170)"/>
    <wire from="(1660,2190)" to="(1660,2510)"/>
    <wire from="(1660,2190)" to="(1690,2190)"/>
    <wire from="(1670,1080)" to="(1670,2280)"/>
    <wire from="(1670,1080)" to="(1860,1080)"/>
    <wire from="(1670,2280)" to="(1690,2280)"/>
    <wire from="(1670,2300)" to="(1670,2520)"/>
    <wire from="(1670,2300)" to="(1690,2300)"/>
    <wire from="(1680,1510)" to="(1680,1570)"/>
    <wire from="(1680,1570)" to="(1680,1680)"/>
    <wire from="(1680,1570)" to="(1690,1570)"/>
    <wire from="(1680,1680)" to="(1680,1790)"/>
    <wire from="(1680,1680)" to="(1690,1680)"/>
    <wire from="(1680,1790)" to="(1680,1890)"/>
    <wire from="(1680,1790)" to="(1690,1790)"/>
    <wire from="(1680,1890)" to="(1680,1990)"/>
    <wire from="(1680,1890)" to="(1690,1890)"/>
    <wire from="(1680,1990)" to="(1680,2100)"/>
    <wire from="(1680,1990)" to="(1690,1990)"/>
    <wire from="(1680,2100)" to="(1680,2210)"/>
    <wire from="(1680,2100)" to="(1690,2100)"/>
    <wire from="(1680,2210)" to="(1680,2320)"/>
    <wire from="(1680,2210)" to="(1690,2210)"/>
    <wire from="(1680,2320)" to="(1690,2320)"/>
    <wire from="(1720,340)" to="(1720,460)"/>
    <wire from="(1720,460)" to="(1750,460)"/>
    <wire from="(1750,1530)" to="(1760,1530)"/>
    <wire from="(1750,1640)" to="(1770,1640)"/>
    <wire from="(1750,1750)" to="(1780,1750)"/>
    <wire from="(1750,1850)" to="(1790,1850)"/>
    <wire from="(1750,1950)" to="(1800,1950)"/>
    <wire from="(1750,2060)" to="(1810,2060)"/>
    <wire from="(1750,2170)" to="(1820,2170)"/>
    <wire from="(1750,2280)" to="(1830,2280)"/>
    <wire from="(1750,480)" to="(1750,600)"/>
    <wire from="(1760,480)" to="(1760,610)"/>
    <wire from="(1760,970)" to="(1760,1530)"/>
    <wire from="(1770,480)" to="(1770,620)"/>
    <wire from="(1770,960)" to="(1770,1640)"/>
    <wire from="(1780,480)" to="(1780,630)"/>
    <wire from="(1780,950)" to="(1780,1750)"/>
    <wire from="(1790,480)" to="(1790,640)"/>
    <wire from="(1790,940)" to="(1790,1850)"/>
    <wire from="(1800,480)" to="(1800,650)"/>
    <wire from="(1800,930)" to="(1800,1950)"/>
    <wire from="(1810,480)" to="(1810,660)"/>
    <wire from="(1810,920)" to="(1810,2060)"/>
    <wire from="(1820,480)" to="(1820,670)"/>
    <wire from="(1820,910)" to="(1820,2170)"/>
    <wire from="(1830,480)" to="(1830,680)"/>
    <wire from="(1830,900)" to="(1830,2280)"/>
    <wire from="(1840,1030)" to="(2010,1030)"/>
    <wire from="(1840,480)" to="(1840,690)"/>
    <wire from="(1840,890)" to="(1840,1030)"/>
    <wire from="(1850,1020)" to="(2020,1020)"/>
    <wire from="(1850,480)" to="(1850,700)"/>
    <wire from="(1850,880)" to="(1850,1020)"/>
    <wire from="(1860,1010)" to="(2030,1010)"/>
    <wire from="(1860,1080)" to="(1860,1530)"/>
    <wire from="(1860,1080)" to="(1870,1080)"/>
    <wire from="(1860,1530)" to="(1940,1530)"/>
    <wire from="(1860,1550)" to="(1860,2530)"/>
    <wire from="(1860,1550)" to="(1940,1550)"/>
    <wire from="(1860,480)" to="(1860,710)"/>
    <wire from="(1860,870)" to="(1860,1010)"/>
    <wire from="(1870,1000)" to="(2040,1000)"/>
    <wire from="(1870,1080)" to="(1870,1630)"/>
    <wire from="(1870,1080)" to="(1880,1080)"/>
    <wire from="(1870,1630)" to="(1940,1630)"/>
    <wire from="(1870,1650)" to="(1870,2540)"/>
    <wire from="(1870,1650)" to="(1940,1650)"/>
    <wire from="(1870,480)" to="(1870,720)"/>
    <wire from="(1870,860)" to="(1870,1000)"/>
    <wire from="(1880,1080)" to="(1880,1740)"/>
    <wire from="(1880,1080)" to="(1890,1080)"/>
    <wire from="(1880,1740)" to="(1940,1740)"/>
    <wire from="(1880,1760)" to="(1880,2550)"/>
    <wire from="(1880,1760)" to="(1940,1760)"/>
    <wire from="(1880,480)" to="(1880,730)"/>
    <wire from="(1880,850)" to="(1880,990)"/>
    <wire from="(1880,990)" to="(2050,990)"/>
    <wire from="(1890,1080)" to="(1890,1840)"/>
    <wire from="(1890,1080)" to="(1900,1080)"/>
    <wire from="(1890,1840)" to="(1940,1840)"/>
    <wire from="(1890,1860)" to="(1890,2560)"/>
    <wire from="(1890,1860)" to="(1940,1860)"/>
    <wire from="(1890,480)" to="(1890,740)"/>
    <wire from="(1890,840)" to="(1890,980)"/>
    <wire from="(1890,980)" to="(2060,980)"/>
    <wire from="(1900,1080)" to="(1900,1940)"/>
    <wire from="(1900,1080)" to="(1910,1080)"/>
    <wire from="(1900,1940)" to="(1940,1940)"/>
    <wire from="(1900,1960)" to="(1900,2570)"/>
    <wire from="(1900,1960)" to="(1940,1960)"/>
    <wire from="(1900,480)" to="(1900,750)"/>
    <wire from="(1900,830)" to="(1900,970)"/>
    <wire from="(1900,970)" to="(2070,970)"/>
    <wire from="(1910,1080)" to="(1910,2050)"/>
    <wire from="(1910,1080)" to="(1920,1080)"/>
    <wire from="(1910,2050)" to="(1940,2050)"/>
    <wire from="(1910,2070)" to="(1910,2580)"/>
    <wire from="(1910,2070)" to="(1940,2070)"/>
    <wire from="(1910,400)" to="(1910,440)"/>
    <wire from="(1910,480)" to="(1910,760)"/>
    <wire from="(1920,1080)" to="(1920,2160)"/>
    <wire from="(1920,1080)" to="(2340,1080)"/>
    <wire from="(1920,2160)" to="(1940,2160)"/>
    <wire from="(1920,2180)" to="(1920,2590)"/>
    <wire from="(1920,2180)" to="(1940,2180)"/>
    <wire from="(1920,480)" to="(1920,770)"/>
    <wire from="(1930,1510)" to="(1930,1570)"/>
    <wire from="(1930,1570)" to="(1930,1670)"/>
    <wire from="(1930,1570)" to="(1940,1570)"/>
    <wire from="(1930,1670)" to="(1930,1780)"/>
    <wire from="(1930,1670)" to="(1940,1670)"/>
    <wire from="(1930,1780)" to="(1930,1880)"/>
    <wire from="(1930,1780)" to="(1940,1780)"/>
    <wire from="(1930,1880)" to="(1930,1980)"/>
    <wire from="(1930,1880)" to="(1940,1880)"/>
    <wire from="(1930,1980)" to="(1930,2090)"/>
    <wire from="(1930,1980)" to="(1940,1980)"/>
    <wire from="(1930,2090)" to="(1930,2200)"/>
    <wire from="(1930,2090)" to="(1940,2090)"/>
    <wire from="(1930,2200)" to="(1940,2200)"/>
    <wire from="(1930,480)" to="(1930,780)"/>
    <wire from="(1940,480)" to="(1940,790)"/>
    <wire from="(1950,480)" to="(1950,800)"/>
    <wire from="(1960,480)" to="(1960,810)"/>
    <wire from="(1970,480)" to="(1970,820)"/>
    <wire from="(1980,480)" to="(1980,590)"/>
    <wire from="(1990,480)" to="(1990,580)"/>
    <wire from="(20,1300)" to="(460,1300)"/>
    <wire from="(20,20)" to="(20,780)"/>
    <wire from="(20,20)" to="(460,20)"/>
    <wire from="(20,780)" to="(460,780)"/>
    <wire from="(20,800)" to="(20,1300)"/>
    <wire from="(20,800)" to="(460,800)"/>
    <wire from="(200,1100)" to="(240,1100)"/>
    <wire from="(200,180)" to="(250,180)"/>
    <wire from="(200,290)" to="(250,290)"/>
    <wire from="(200,400)" to="(250,400)"/>
    <wire from="(200,510)" to="(250,510)"/>
    <wire from="(200,610)" to="(250,610)"/>
    <wire from="(200,710)" to="(250,710)"/>
    <wire from="(200,980)" to="(240,980)"/>
    <wire from="(2000,1530)" to="(2010,1530)"/>
    <wire from="(2000,1630)" to="(2020,1630)"/>
    <wire from="(2000,1740)" to="(2030,1740)"/>
    <wire from="(2000,1840)" to="(2040,1840)"/>
    <wire from="(2000,1940)" to="(2050,1940)"/>
    <wire from="(2000,2050)" to="(2060,2050)"/>
    <wire from="(2000,2160)" to="(2070,2160)"/>
    <wire from="(2000,480)" to="(2000,570)"/>
    <wire from="(2010,1030)" to="(2010,1530)"/>
    <wire from="(2010,480)" to="(2010,560)"/>
    <wire from="(2020,1020)" to="(2020,1630)"/>
    <wire from="(2020,480)" to="(2020,550)"/>
    <wire from="(2030,1010)" to="(2030,1740)"/>
    <wire from="(2030,480)" to="(2030,540)"/>
    <wire from="(2040,1000)" to="(2040,1840)"/>
    <wire from="(2040,480)" to="(2040,530)"/>
    <wire from="(2050,2520)" to="(2150,2520)"/>
    <wire from="(2050,480)" to="(2050,520)"/>
    <wire from="(2050,990)" to="(2050,1940)"/>
    <wire from="(2060,2480)" to="(2070,2480)"/>
    <wire from="(2060,480)" to="(2060,510)"/>
    <wire from="(2060,980)" to="(2060,2050)"/>
    <wire from="(2070,2480)" to="(2150,2480)"/>
    <wire from="(2070,2500)" to="(2150,2500)"/>
    <wire from="(2070,970)" to="(2070,2160)"/>
    <wire from="(2630,1470)" to="(2660,1470)"/>
    <wire from="(2630,20)" to="(2630,1470)"/>
    <wire from="(2660,1470)" to="(2660,2670)"/>
    <wire from="(2660,2670)" to="(2720,2670)"/>
    <wire from="(2720,2670)" to="(2720,2680)"/>
    <wire from="(460,20)" to="(460,780)"/>
    <wire from="(460,800)" to="(460,1300)"/>
    <wire from="(480,20)" to="(2630,20)"/>
    <wire from="(480,20)" to="(480,2680)"/>
    <wire from="(480,2680)" to="(2720,2680)"/>
    <wire from="(670,2610)" to="(770,2610)"/>
    <wire from="(680,2500)" to="(700,2500)"/>
    <wire from="(700,2500)" to="(700,2600)"/>
    <wire from="(700,2600)" to="(760,2600)"/>
    <wire from="(740,1080)" to="(1100,1080)"/>
    <wire from="(770,2600)" to="(770,2610)"/>
    <wire from="(790,2280)" to="(1090,2280)"/>
    <wire from="(790,2290)" to="(1100,2290)"/>
    <wire from="(790,2300)" to="(1110,2300)"/>
    <wire from="(790,2310)" to="(1120,2310)"/>
    <wire from="(790,2320)" to="(1130,2320)"/>
    <wire from="(790,2330)" to="(1140,2330)"/>
    <wire from="(790,2340)" to="(1150,2340)"/>
    <wire from="(790,2350)" to="(1160,2350)"/>
    <wire from="(790,2360)" to="(1170,2360)"/>
    <wire from="(790,2370)" to="(1360,2370)"/>
    <wire from="(790,2380)" to="(1370,2380)"/>
    <wire from="(790,2390)" to="(1380,2390)"/>
    <wire from="(790,2400)" to="(1390,2400)"/>
    <wire from="(790,2410)" to="(1400,2410)"/>
    <wire from="(790,2420)" to="(1410,2420)"/>
    <wire from="(790,2430)" to="(1420,2430)"/>
    <wire from="(790,2440)" to="(1430,2440)"/>
    <wire from="(790,2450)" to="(1600,2450)"/>
    <wire from="(790,2460)" to="(1610,2460)"/>
    <wire from="(790,2470)" to="(1620,2470)"/>
    <wire from="(790,2480)" to="(1630,2480)"/>
    <wire from="(790,2490)" to="(1640,2490)"/>
    <wire from="(790,2500)" to="(1650,2500)"/>
    <wire from="(790,2510)" to="(1660,2510)"/>
    <wire from="(790,2520)" to="(1670,2520)"/>
    <wire from="(790,2530)" to="(1860,2530)"/>
    <wire from="(790,2540)" to="(1870,2540)"/>
    <wire from="(790,2550)" to="(1880,2550)"/>
    <wire from="(790,2560)" to="(1890,2560)"/>
    <wire from="(790,2570)" to="(1900,2570)"/>
    <wire from="(790,2580)" to="(1910,2580)"/>
    <wire from="(790,2590)" to="(1920,2590)"/>
  </circuit>
  <circuit name="test_register_files">
    <a name="appearance" val="logisim_evolution"/>
    <a name="circuit" val="test_register_files"/>
    <a name="circuitnamedboxfixedsize" val="true"/>
    <a name="simulationFrequency" val="128.0"/>
    <comp lib="0" loc="(1080,270)" name="Tunnel">
      <a name="label" val="WE"/>
    </comp>
    <comp lib="0" loc="(1270,150)" name="Clock">
      <a name="facing" val="north"/>
    </comp>
    <comp lib="0" loc="(1330,300)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="numSample"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="0" loc="(1330,320)" name="Constant">
      <a name="value" val="0xc7f"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="0" loc="(1340,460)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="cnt"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="0" loc="(1340,500)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="xA"/>
      <a name="output" val="true"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1340,540)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="xB"/>
      <a name="output" val="true"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1340,580)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="xW"/>
      <a name="output" val="true"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1340,620)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="D"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1340,660)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="WE"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(1340,700)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="A"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1340,740)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="label" val="B"/>
      <a name="output" val="true"/>
      <a name="radix" val="16"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1350,100)" name="Tunnel">
      <a name="label" val="numSample"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="0" loc="(1350,130)" name="Tunnel">
      <a name="label" val="CLK"/>
    </comp>
    <comp lib="0" loc="(1390,460)" name="Tunnel">
      <a name="label" val="numSample"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="0" loc="(1390,500)" name="Tunnel">
      <a name="label" val="xA"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1390,540)" name="Tunnel">
      <a name="label" val="xB"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1390,580)" name="Tunnel">
      <a name="label" val="xW"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(1390,620)" name="Tunnel">
      <a name="label" val="D"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1390,660)" name="Tunnel">
      <a name="label" val="WE"/>
    </comp>
    <comp lib="0" loc="(1390,700)" name="Tunnel">
      <a name="label" val="A"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(1390,740)" name="Tunnel">
      <a name="label" val="B"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(140,170)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="numSample"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="0" loc="(1430,310)" name="Pin">
      <a name="appearance" val="NewPins"/>
      <a name="facing" val="west"/>
      <a name="label" val="halt"/>
      <a name="output" val="true"/>
    </comp>
    <comp lib="0" loc="(440,270)" name="Tunnel">
      <a name="label" val="xA"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(440,460)" name="Tunnel">
      <a name="label" val="xB"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(440,650)" name="Tunnel">
      <a name="label" val="xW"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(630,460)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="xA"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(630,490)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="xB"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(630,520)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="xW"/>
      <a name="width" val="5"/>
    </comp>
    <comp lib="0" loc="(630,550)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="D"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(630,580)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="WE"/>
    </comp>
    <comp lib="0" loc="(630,640)" name="Tunnel">
      <a name="facing" val="east"/>
      <a name="label" val="CLK"/>
    </comp>
    <comp lib="0" loc="(760,270)" name="Tunnel">
      <a name="label" val="D"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(950,520)" name="Tunnel">
      <a name="label" val="A"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="0" loc="(950,610)" name="Tunnel">
      <a name="label" val="B"/>
      <a name="width" val="32"/>
    </comp>
    <comp lib="3" loc="(1400,310)" name="Comparator">
      <a name="width" val="12"/>
    </comp>
    <comp lib="4" loc="(1290,100)" name="Counter">
      <a name="appearance" val="classic"/>
      <a name="max" val="0xfff"/>
      <a name="width" val="12"/>
    </comp>
    <comp lib="4" loc="(190,210)" name="ROM">
      <a name="addrWidth" val="12"/>
      <a name="appearance" val="classic"/>
      <a name="contents">addr/data: 12 5
0
</a>
      <a name="dataWidth" val="5"/>
      <a name="label" val="xA_ROM"/>
      <a name="labelvisible" val="true"/>
    </comp>
    <comp lib="4" loc="(190,400)" name="ROM">
      <a name="addrWidth" val="12"/>
      <a name="appearance" val="classic"/>
      <a name="contents">addr/data: 12 5
0
</a>
      <a name="dataWidth" val="5"/>
      <a name="label" val="xB_ROM"/>
      <a name="labelvisible" val="true"/>
    </comp>
    <comp lib="4" loc="(190,590)" name="ROM">
      <a name="addrWidth" val="12"/>
      <a name="appearance" val="classic"/>
      <a name="contents">addr/data: 12 5
0
</a>
      <a name="dataWidth" val="5"/>
      <a name="label" val="xW_ROM"/>
      <a name="labelvisible" val="true"/>
    </comp>
    <comp lib="4" loc="(510,210)" name="ROM">
      <a name="addrWidth" val="12"/>
      <a name="appearance" val="classic"/>
      <a name="contents">addr/data: 12 32
0
</a>
      <a name="dataWidth" val="32"/>
      <a name="label" val="D_ROM"/>
      <a name="labelvisible" val="true"/>
    </comp>
    <comp lib="4" loc="(830,210)" name="ROM">
      <a name="addrWidth" val="12"/>
      <a name="appearance" val="classic"/>
      <a name="contents">addr/data: 12 1
0
</a>
      <a name="dataWidth" val="1"/>
      <a name="label" val="WE_ROM"/>
      <a name="labelvisible" val="true"/>
    </comp>
    <comp lib="8" loc="(1350,250)" name="Text">
      <a name="color" val="#0000ff"/>
      <a name="font" val="SansSerif bold 25"/>
      <a name="text" val="鑷姩浠跨湡缁堟閫昏緫"/>
    </comp>
    <comp lib="8" loc="(1350,420)" name="Text">
      <a name="color" val="#0000ff"/>
      <a name="font" val="SansSerif bold 25"/>
      <a name="text" val="鑷姩浠跨湡杈撳嚭鎺ュ彛"/>
    </comp>
    <comp lib="8" loc="(1350,60)" name="Text">
      <a name="color" val="#0000ff"/>
      <a name="font" val="SansSerif bold 25"/>
      <a name="text" val="娴嬭瘯鏍蜂緥缂栧彿鍙婃椂閽熷彂鐢熼€昏緫"/>
    </comp>
    <comp lib="8" loc="(540,100)" name="Text">
      <a name="color" val="#ff0000"/>
      <a name="font" val="SansSerif bold 20"/>
      <a name="text" val="璇峰嬁淇敼鎴栫Щ鍔ㄨ鍖哄煙閮ㄤ欢鍙婅繛绾�"/>
    </comp>
    <comp lib="8" loc="(540,60)" name="Text">
      <a name="color" val="#0000ff"/>
      <a name="font" val="SansSerif bold 25"/>
      <a name="text" val="鑷姩娴嬭瘯鐢佃矾"/>
    </comp>
    <comp loc="(900,520)" name="register_files"/>
    <wire from="(1070,270)" to="(1080,270)"/>
    <wire from="(1130,20)" to="(1130,780)"/>
    <wire from="(1150,190)" to="(1550,190)"/>
    <wire from="(1150,20)" to="(1150,190)"/>
    <wire from="(1150,20)" to="(1550,20)"/>
    <wire from="(1150,210)" to="(1150,360)"/>
    <wire from="(1150,210)" to="(1550,210)"/>
    <wire from="(1150,360)" to="(1550,360)"/>
    <wire from="(1150,380)" to="(1150,780)"/>
    <wire from="(1150,380)" to="(1550,380)"/>
    <wire from="(1150,780)" to="(1550,780)"/>
    <wire from="(1270,120)" to="(1270,130)"/>
    <wire from="(1270,130)" to="(1270,150)"/>
    <wire from="(1270,130)" to="(1350,130)"/>
    <wire from="(1290,100)" to="(1350,100)"/>
    <wire from="(1330,300)" to="(1360,300)"/>
    <wire from="(1330,320)" to="(1360,320)"/>
    <wire from="(1340,460)" to="(1390,460)"/>
    <wire from="(1340,500)" to="(1390,500)"/>
    <wire from="(1340,540)" to="(1390,540)"/>
    <wire from="(1340,580)" to="(1390,580)"/>
    <wire from="(1340,620)" to="(1390,620)"/>
    <wire from="(1340,660)" to="(1390,660)"/>
    <wire from="(1340,700)" to="(1390,700)"/>
    <wire from="(1340,740)" to="(1390,740)"/>
    <wire from="(140,170)" to="(170,170)"/>
    <wire from="(1400,310)" to="(1430,310)"/>
    <wire from="(1550,20)" to="(1550,190)"/>
    <wire from="(1550,210)" to="(1550,360)"/>
    <wire from="(1550,380)" to="(1550,780)"/>
    <wire from="(170,170)" to="(170,220)"/>
    <wire from="(170,170)" to="(490,170)"/>
    <wire from="(170,220)" to="(170,410)"/>
    <wire from="(170,220)" to="(190,220)"/>
    <wire from="(170,410)" to="(170,600)"/>
    <wire from="(170,410)" to="(190,410)"/>
    <wire from="(170,600)" to="(190,600)"/>
    <wire from="(20,20)" to="(1130,20)"/>
    <wire from="(20,20)" to="(20,780)"/>
    <wire from="(20,780)" to="(1130,780)"/>
    <wire from="(430,270)" to="(440,270)"/>
    <wire from="(430,460)" to="(440,460)"/>
    <wire from="(430,650)" to="(440,650)"/>
    <wire from="(490,170)" to="(490,220)"/>
    <wire from="(490,170)" to="(810,170)"/>
    <wire from="(490,220)" to="(510,220)"/>
    <wire from="(630,460)" to="(720,460)"/>
    <wire from="(630,490)" to="(720,490)"/>
    <wire from="(630,520)" to="(720,520)"/>
    <wire from="(630,550)" to="(720,550)"/>
    <wire from="(630,580)" to="(720,580)"/>
    <wire from="(630,640)" to="(720,640)"/>
    <wire from="(750,270)" to="(760,270)"/>
    <wire from="(810,170)" to="(810,220)"/>
    <wire from="(810,220)" to="(830,220)"/>
    <wire from="(900,520)" to="(950,520)"/>
    <wire from="(900,610)" to="(950,610)"/>
  </circuit>
</project>

ex。ex。。ex。。。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。