mostly a spi driver

This commit is contained in:
Morgan 'ARR\!' Allen 2023-01-04 11:46:39 -08:00
commit 8784d8b110
1 changed files with 915 additions and 0 deletions

915
ttl_spi_driver.circ Normal file
View File

@ -0,0 +1,915 @@
<?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="appear" val="right"/>
</tool>
<tool name="Pin">
<a name="appearance" val="classic"/>
</tool>
<tool name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</tool>
<tool name="Pull Resistor">
<a name="facing" val="north"/>
</tool>
<tool name="Clock">
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="value" val="0x0"/>
<a name="width" val="4"/>
</tool>
<tool name="Transistor">
<a name="facing" val="south"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="NOT Gate">
<a name="facing" val="south"/>
</tool>
<tool name="Buffer">
<a name="facing" val="west"/>
</tool>
</lib>
<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="32"/>
</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="clabelup" val="west"/>
<a name="simulationFrequency" val="4.0"/>
<comp lib="0" loc="(1170,550)" name="Ground"/>
<comp lib="0" loc="(1200,440)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(1240,740)" name="Power"/>
<comp lib="0" loc="(1280,1110)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(130,900)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(1350,1110)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1360,1040)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(1390,930)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(140,970)" name="Power">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(1400,1190)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(1470,950)" name="Splitter">
<a name="appear" val="right"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(1580,470)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="SPI_clk"/>
</comp>
<comp lib="0" loc="(1580,520)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="SPI_out"/>
</comp>
<comp lib="0" loc="(1590,1180)" name="Pull Resistor">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(1590,860)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="MAIN_clk"/>
</comp>
<comp lib="0" loc="(1590,970)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(1700,1260)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1770,1260)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(1770,760)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="SPI_byte_clk"/>
</comp>
<comp lib="0" loc="(1780,1190)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(1820,1340)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(190,940)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(1930,1280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="MAIN_clk"/>
</comp>
<comp lib="0" loc="(1950,1140)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(2290,570)" name="Clock">
<a name="facing" val="south"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(2290,650)" name="Transistor">
<a name="facing" val="south"/>
<a name="selloc" val="bl"/>
</comp>
<comp lib="0" loc="(2310,920)" name="Pull Resistor">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(2330,1190)" name="Pull Resistor">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(2350,590)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="SPI_clk"/>
</comp>
<comp lib="0" loc="(2370,1040)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="SPI_out"/>
</comp>
<comp lib="0" loc="(2380,630)" name="Pull Resistor">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(250,1040)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(2500,800)" name="Power">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(2600,920)" name="Ground"/>
<comp lib="0" loc="(330,1040)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(340,1060)" name="Ground"/>
<comp lib="0" loc="(350,1270)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(400,1240)" name="Tunnel">
<a name="label" val="MAIN_clk"/>
</comp>
<comp lib="0" loc="(590,1030)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(630,1030)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(890,570)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="WE"/>
</comp>
<comp lib="0" loc="(890,700)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="DE"/>
</comp>
<comp lib="0" loc="(990,440)" name="Splitter">
<a name="appear" val="right"/>
<a name="facing" val="south"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="1" loc="(1040,610)" name="XOR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(1110,470)" name="NOT Gate">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(1240,690)" name="NOT Gate">
<a name="facing" val="south"/>
</comp>
<comp lib="1" loc="(1470,1140)" name="NOT Gate">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(1820,810)" name="AND Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(1890,800)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(1930,800)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(1970,800)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2000,1310)" name="NOT Gate"/>
<comp lib="1" loc="(2000,800)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2040,800)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2060,1310)" name="NOT Gate"/>
<comp lib="1" loc="(2080,800)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2210,720)" name="NOR Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2410,1070)" name="OR Gate">
<a name="facing" val="west"/>
<a name="inputs" val="8"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1150)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1190)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1230)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1270)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1310)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1350)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1390)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2490,1430)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(2610,1170)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1210)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1250)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1290)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1330)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1370)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1410)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(2610,1450)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(960,660)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="10" loc="(1640,460)" name="Digital Oscilloscope">
<a name="nState" val="16"/>
<a name="showclock" val="false"/>
</comp>
<comp lib="4" loc="(1610,880)" name="RAM">
<a name="appearance" val="logisim_evolution"/>
</comp>
<comp lib="4" loc="(2190,620)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
</comp>
<comp lib="4" loc="(390,1080)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="showInTab" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="4" loc="(560,1080)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="showInTab" val="true"/>
<a name="width" val="4"/>
</comp>
<comp lib="5" loc="(1280,1020)" name="LedBar">
<a name="labelloc" val="south"/>
</comp>
<comp lib="5" loc="(1280,1110)" name="Hex Digit Display">
<a name="labelvisible" val="true"/>
</comp>
<comp lib="5" loc="(130,880)" name="DipSwitch">
<a name="facing" val="south"/>
</comp>
<comp lib="5" loc="(1350,1110)" name="Hex Digit Display">
<a name="labelvisible" val="true"/>
</comp>
<comp lib="5" loc="(1660,730)" name="DipSwitch">
<a name="number" val="4"/>
</comp>
<comp lib="5" loc="(1700,1170)" name="LedBar">
<a name="labelloc" val="south"/>
</comp>
<comp lib="5" loc="(1700,1260)" name="Hex Digit Display">
<a name="labelvisible" val="true"/>
</comp>
<comp lib="5" loc="(1770,1260)" name="Hex Digit Display">
<a name="labelvisible" val="true"/>
</comp>
<comp lib="5" loc="(300,1250)" name="DipSwitch">
<a name="number" val="2"/>
</comp>
<comp lib="5" loc="(550,1010)" name="LedBar"/>
<comp lib="5" loc="(900,490)" name="DipSwitch">
<a name="labelloc" val="west"/>
</comp>
<comp lib="6" loc="(1070,770)" name="74193">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="6" loc="(1160,490)" name="74245">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="6" loc="(1200,1610)" name="7408">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="6" loc="(1270,770)" name="74193">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="6" loc="(1370,1610)" name="7408">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="6" loc="(150,990)" name="74245"/>
<comp lib="6" loc="(1520,1150)" name="74245">
<a name="ShowInternalStructure" val="true"/>
<a name="facing" val="north"/>
</comp>
<comp lib="6" loc="(2310,1170)" name="74377">
<a name="ShowInternalStructure" val="true"/>
<a name="facing" val="west"/>
</comp>
<comp lib="6" loc="(2320,850)" name="74192">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="6" loc="(2530,850)" name="74138">
<a name="ShowInternalStructure" val="true"/>
</comp>
<comp lib="8" loc="(1220,205)" name="Text">
<a name="text" val="address is incremented after WE goes low, starting read from 0x01"/>
</comp>
<comp lib="8" loc="(1325,975)" name="Text">
<a name="color" val="#ffa627"/>
<a name="font" val="SansSerif bold 22"/>
<a name="text" val="SPI RAM Addr"/>
</comp>
<comp lib="8" loc="(1965,780)" name="Text">
<a name="text" val="RC delay to fix early increment"/>
</comp>
<comp lib="8" loc="(265,930)" name="Text">
<a name="color" val="#ffa525"/>
<a name="text" val="Register A"/>
</comp>
<comp lib="8" loc="(990,180)" name="Text">
<a name="color" val="#ff002a"/>
<a name="font" val="SansSerif bold 30"/>
<a name="text" val="BUGS"/>
</comp>
<wire from="(1040,610)" to="(1110,610)"/>
<wire from="(1050,540)" to="(1050,580)"/>
<wire from="(1050,540)" to="(1230,540)"/>
<wire from="(1050,580)" to="(1060,580)"/>
<wire from="(1060,580)" to="(1060,810)"/>
<wire from="(1060,810)" to="(1080,810)"/>
<wire from="(1080,800)" to="(1080,810)"/>
<wire from="(1100,530)" to="(1100,740)"/>
<wire from="(1100,530)" to="(1250,530)"/>
<wire from="(1100,800)" to="(1100,850)"/>
<wire from="(1100,850)" to="(1280,850)"/>
<wire from="(1110,450)" to="(1110,470)"/>
<wire from="(1110,450)" to="(1190,450)"/>
<wire from="(1110,500)" to="(1110,610)"/>
<wire from="(1110,610)" to="(1240,610)"/>
<wire from="(1120,550)" to="(1120,720)"/>
<wire from="(1120,550)" to="(1170,550)"/>
<wire from="(1120,720)" to="(1120,740)"/>
<wire from="(1120,720)" to="(1320,720)"/>
<wire from="(1120,800)" to="(1120,840)"/>
<wire from="(1120,840)" to="(1300,840)"/>
<wire from="(1140,800)" to="(1140,810)"/>
<wire from="(1140,810)" to="(1240,810)"/>
<wire from="(1160,800)" to="(1160,820)"/>
<wire from="(1160,820)" to="(1250,820)"/>
<wire from="(1170,520)" to="(1170,550)"/>
<wire from="(1180,700)" to="(1180,740)"/>
<wire from="(1180,700)" to="(1240,700)"/>
<wire from="(1180,800)" to="(1180,860)"/>
<wire from="(1180,860)" to="(1260,860)"/>
<wire from="(1190,450)" to="(1190,460)"/>
<wire from="(1190,520)" to="(1190,560)"/>
<wire from="(1190,560)" to="(1220,560)"/>
<wire from="(1200,590)" to="(1200,740)"/>
<wire from="(1200,590)" to="(1210,590)"/>
<wire from="(1200,800)" to="(1200,870)"/>
<wire from="(1200,870)" to="(1240,870)"/>
<wire from="(1210,520)" to="(1210,590)"/>
<wire from="(1220,560)" to="(1220,740)"/>
<wire from="(1230,520)" to="(1230,540)"/>
<wire from="(1240,610)" to="(1240,660)"/>
<wire from="(1240,690)" to="(1240,700)"/>
<wire from="(1240,700)" to="(1380,700)"/>
<wire from="(1240,740)" to="(1240,810)"/>
<wire from="(1240,810)" to="(1340,810)"/>
<wire from="(1240,870)" to="(1240,910)"/>
<wire from="(1250,520)" to="(1250,530)"/>
<wire from="(1250,730)" to="(1250,820)"/>
<wire from="(1250,730)" to="(1360,730)"/>
<wire from="(1260,550)" to="(1260,820)"/>
<wire from="(1260,550)" to="(1310,550)"/>
<wire from="(1260,820)" to="(1280,820)"/>
<wire from="(1260,860)" to="(1260,910)"/>
<wire from="(1270,520)" to="(1270,530)"/>
<wire from="(1270,530)" to="(1420,530)"/>
<wire from="(1280,800)" to="(1280,820)"/>
<wire from="(1280,850)" to="(1280,910)"/>
<wire from="(1290,1130)" to="(1290,1170)"/>
<wire from="(1290,1170)" to="(1320,1170)"/>
<wire from="(1290,520)" to="(1290,540)"/>
<wire from="(1290,540)" to="(1400,540)"/>
<wire from="(130,900)" to="(130,910)"/>
<wire from="(130,910)" to="(190,910)"/>
<wire from="(1300,1130)" to="(1300,1160)"/>
<wire from="(1300,1160)" to="(1330,1160)"/>
<wire from="(1300,560)" to="(1300,740)"/>
<wire from="(1300,560)" to="(1330,560)"/>
<wire from="(1300,800)" to="(1300,830)"/>
<wire from="(1300,830)" to="(1360,830)"/>
<wire from="(1300,840)" to="(1300,910)"/>
<wire from="(1310,1130)" to="(1310,1150)"/>
<wire from="(1310,1150)" to="(1340,1150)"/>
<wire from="(1310,520)" to="(1310,550)"/>
<wire from="(1320,1130)" to="(1320,1140)"/>
<wire from="(1320,1140)" to="(1350,1140)"/>
<wire from="(1320,720)" to="(1320,740)"/>
<wire from="(1320,800)" to="(1320,820)"/>
<wire from="(1320,820)" to="(1370,820)"/>
<wire from="(1320,860)" to="(1320,910)"/>
<wire from="(1320,860)" to="(1400,860)"/>
<wire from="(1330,1160)" to="(1330,1170)"/>
<wire from="(1330,520)" to="(1330,560)"/>
<wire from="(1340,1150)" to="(1340,1170)"/>
<wire from="(1340,1170)" to="(1340,1180)"/>
<wire from="(1340,800)" to="(1340,810)"/>
<wire from="(1340,850)" to="(1340,910)"/>
<wire from="(1340,850)" to="(1380,850)"/>
<wire from="(1350,1140)" to="(1350,1170)"/>
<wire from="(1350,1170)" to="(1350,1180)"/>
<wire from="(1360,1040)" to="(1410,1040)"/>
<wire from="(1360,1130)" to="(1360,1170)"/>
<wire from="(1360,1170)" to="(1360,1180)"/>
<wire from="(1360,730)" to="(1360,740)"/>
<wire from="(1360,800)" to="(1360,810)"/>
<wire from="(1360,810)" to="(1770,810)"/>
<wire from="(1360,830)" to="(1360,910)"/>
<wire from="(1370,1130)" to="(1370,1170)"/>
<wire from="(1370,1170)" to="(1370,1180)"/>
<wire from="(1370,820)" to="(1370,880)"/>
<wire from="(1370,880)" to="(1380,880)"/>
<wire from="(1380,1130)" to="(1380,1170)"/>
<wire from="(1380,1170)" to="(1380,1180)"/>
<wire from="(1380,700)" to="(1380,740)"/>
<wire from="(1380,800)" to="(1380,850)"/>
<wire from="(1380,880)" to="(1380,910)"/>
<wire from="(1390,1130)" to="(1390,1170)"/>
<wire from="(1390,1170)" to="(1390,1180)"/>
<wire from="(1390,930)" to="(1410,930)"/>
<wire from="(140,950)" to="(140,970)"/>
<wire from="(140,950)" to="(160,950)"/>
<wire from="(1400,1140)" to="(1400,1180)"/>
<wire from="(1400,1190)" to="(1410,1190)"/>
<wire from="(1400,540)" to="(1400,740)"/>
<wire from="(1400,800)" to="(1400,860)"/>
<wire from="(1410,1040)" to="(1410,1190)"/>
<wire from="(1410,890)" to="(1410,930)"/>
<wire from="(1410,890)" to="(1610,890)"/>
<wire from="(1410,930)" to="(1410,1040)"/>
<wire from="(1420,530)" to="(1420,740)"/>
<wire from="(1450,1210)" to="(1470,1210)"/>
<wire from="(1450,930)" to="(1450,1210)"/>
<wire from="(1450,930)" to="(1610,930)"/>
<wire from="(1470,1120)" to="(1470,1140)"/>
<wire from="(1470,1120)" to="(1490,1120)"/>
<wire from="(1470,1170)" to="(1470,1210)"/>
<wire from="(1470,420)" to="(1470,950)"/>
<wire from="(1550,1000)" to="(1570,1000)"/>
<wire from="(1550,1020)" to="(1570,1020)"/>
<wire from="(1550,1040)" to="(1570,1040)"/>
<wire from="(1550,1060)" to="(1570,1060)"/>
<wire from="(1550,1080)" to="(1570,1080)"/>
<wire from="(1550,1100)" to="(1570,1100)"/>
<wire from="(1550,1120)" to="(1570,1120)"/>
<wire from="(1550,1140)" to="(1590,1140)"/>
<wire from="(1550,980)" to="(1570,980)"/>
<wire from="(1560,570)" to="(1560,630)"/>
<wire from="(1560,630)" to="(2170,630)"/>
<wire from="(1580,470)" to="(1600,470)"/>
<wire from="(1580,520)" to="(1640,520)"/>
<wire from="(1590,1140)" to="(1590,1180)"/>
<wire from="(1590,860)" to="(1590,950)"/>
<wire from="(1590,950)" to="(1610,950)"/>
<wire from="(1590,970)" to="(1610,970)"/>
<wire from="(160,950)" to="(160,960)"/>
<wire from="(1600,460)" to="(1600,470)"/>
<wire from="(1600,460)" to="(1640,460)"/>
<wire from="(1600,470)" to="(1600,490)"/>
<wire from="(1600,490)" to="(1640,490)"/>
<wire from="(1710,1280)" to="(1710,1320)"/>
<wire from="(1710,1320)" to="(1740,1320)"/>
<wire from="(1720,1280)" to="(1720,1310)"/>
<wire from="(1720,1310)" to="(1750,1310)"/>
<wire from="(1730,1280)" to="(1730,1300)"/>
<wire from="(1730,1300)" to="(1760,1300)"/>
<wire from="(1740,1280)" to="(1740,1290)"/>
<wire from="(1740,1290)" to="(1770,1290)"/>
<wire from="(1750,1310)" to="(1750,1320)"/>
<wire from="(1760,1300)" to="(1760,1320)"/>
<wire from="(1770,1290)" to="(1770,1320)"/>
<wire from="(1770,760)" to="(1770,810)"/>
<wire from="(1770,810)" to="(1820,810)"/>
<wire from="(1780,1190)" to="(1870,1190)"/>
<wire from="(1780,1280)" to="(1780,1320)"/>
<wire from="(1790,1280)" to="(1790,1320)"/>
<wire from="(1800,1280)" to="(1800,1320)"/>
<wire from="(1810,1280)" to="(1810,1320)"/>
<wire from="(1820,1340)" to="(1870,1340)"/>
<wire from="(1850,800)" to="(1890,800)"/>
<wire from="(1850,820)" to="(2300,820)"/>
<wire from="(1850,970)" to="(1870,970)"/>
<wire from="(1870,1030)" to="(1870,1190)"/>
<wire from="(1870,1030)" to="(1930,1030)"/>
<wire from="(1870,1190)" to="(1870,1340)"/>
<wire from="(1870,970)" to="(1870,1030)"/>
<wire from="(190,910)" to="(190,940)"/>
<wire from="(1920,800)" to="(1930,800)"/>
<wire from="(1930,1030)" to="(1930,1140)"/>
<wire from="(1930,1140)" to="(1950,1140)"/>
<wire from="(1930,1280)" to="(1930,1310)"/>
<wire from="(1930,1310)" to="(1970,1310)"/>
<wire from="(1960,800)" to="(1970,800)"/>
<wire from="(1970,1060)" to="(2260,1060)"/>
<wire from="(1970,1070)" to="(2240,1070)"/>
<wire from="(1970,1080)" to="(2180,1080)"/>
<wire from="(1970,1090)" to="(2160,1090)"/>
<wire from="(1970,1100)" to="(2020,1100)"/>
<wire from="(1970,1110)" to="(2010,1110)"/>
<wire from="(1970,1120)" to="(2000,1120)"/>
<wire from="(1970,1130)" to="(1990,1130)"/>
<wire from="(1990,1130)" to="(1990,1240)"/>
<wire from="(1990,1240)" to="(2260,1240)"/>
<wire from="(2000,1120)" to="(2000,1230)"/>
<wire from="(2000,1230)" to="(2240,1230)"/>
<wire from="(2000,1310)" to="(2030,1310)"/>
<wire from="(2010,1110)" to="(2010,1220)"/>
<wire from="(2010,1220)" to="(2180,1220)"/>
<wire from="(2020,1100)" to="(2020,1210)"/>
<wire from="(2020,1210)" to="(2160,1210)"/>
<wire from="(2030,800)" to="(2040,800)"/>
<wire from="(2060,1310)" to="(2120,1310)"/>
<wire from="(2070,800)" to="(2080,800)"/>
<wire from="(2110,800)" to="(2250,800)"/>
<wire from="(2120,1200)" to="(2120,1310)"/>
<wire from="(2130,670)" to="(2130,990)"/>
<wire from="(2130,670)" to="(2180,670)"/>
<wire from="(2130,990)" to="(2580,990)"/>
<wire from="(2140,1050)" to="(2140,1120)"/>
<wire from="(2140,1050)" to="(2270,1050)"/>
<wire from="(2140,1200)" to="(2140,1250)"/>
<wire from="(2140,1250)" to="(2410,1250)"/>
<wire from="(2160,1090)" to="(2160,1120)"/>
<wire from="(2160,1200)" to="(2160,1210)"/>
<wire from="(2170,630)" to="(2170,770)"/>
<wire from="(2170,630)" to="(2180,630)"/>
<wire from="(2170,770)" to="(2200,770)"/>
<wire from="(2180,1080)" to="(2180,1120)"/>
<wire from="(2180,1200)" to="(2180,1220)"/>
<wire from="(2200,1080)" to="(2200,1120)"/>
<wire from="(2200,1080)" to="(2350,1080)"/>
<wire from="(2200,1200)" to="(2200,1260)"/>
<wire from="(2200,1260)" to="(2400,1260)"/>
<wire from="(2200,760)" to="(2200,770)"/>
<wire from="(2210,680)" to="(2210,720)"/>
<wire from="(2210,720)" to="(2210,730)"/>
<wire from="(2220,1090)" to="(2220,1120)"/>
<wire from="(2220,1090)" to="(2360,1090)"/>
<wire from="(2220,1200)" to="(2220,1270)"/>
<wire from="(2220,1270)" to="(2390,1270)"/>
<wire from="(2220,760)" to="(2220,770)"/>
<wire from="(2220,770)" to="(2250,770)"/>
<wire from="(2240,1070)" to="(2240,1120)"/>
<wire from="(2240,1200)" to="(2240,1230)"/>
<wire from="(2240,630)" to="(2270,630)"/>
<wire from="(2240,670)" to="(2250,670)"/>
<wire from="(2250,670)" to="(2250,770)"/>
<wire from="(2250,770)" to="(2250,800)"/>
<wire from="(2260,1060)" to="(2260,1120)"/>
<wire from="(2260,1200)" to="(2260,1240)"/>
<wire from="(2270,1050)" to="(2270,1070)"/>
<wire from="(2270,1070)" to="(2340,1070)"/>
<wire from="(2280,1100)" to="(2280,1120)"/>
<wire from="(2280,1100)" to="(2370,1100)"/>
<wire from="(2280,1200)" to="(2280,1280)"/>
<wire from="(2280,1280)" to="(2380,1280)"/>
<wire from="(2290,570)" to="(2290,610)"/>
<wire from="(2290,650)" to="(2290,660)"/>
<wire from="(2290,660)" to="(2290,900)"/>
<wire from="(2290,660)" to="(2350,660)"/>
<wire from="(2290,900)" to="(2310,900)"/>
<wire from="(2300,1110)" to="(2300,1120)"/>
<wire from="(2300,1110)" to="(2330,1110)"/>
<wire from="(2300,800)" to="(2300,820)"/>
<wire from="(2300,800)" to="(2370,800)"/>
<wire from="(2310,900)" to="(2310,920)"/>
<wire from="(2310,900)" to="(2410,900)"/>
<wire from="(2330,1110)" to="(2330,1190)"/>
<wire from="(2340,1070)" to="(2340,1170)"/>
<wire from="(2340,1170)" to="(2420,1170)"/>
<wire from="(2350,1080)" to="(2350,1160)"/>
<wire from="(2350,1160)" to="(2430,1160)"/>
<wire from="(2350,590)" to="(2350,620)"/>
<wire from="(2350,620)" to="(2350,660)"/>
<wire from="(2350,620)" to="(2380,620)"/>
<wire from="(2350,880)" to="(2350,920)"/>
<wire from="(2350,920)" to="(2560,920)"/>
<wire from="(2360,1090)" to="(2360,1150)"/>
<wire from="(2360,1150)" to="(2440,1150)"/>
<wire from="(2370,1040)" to="(2390,1040)"/>
<wire from="(2370,1100)" to="(2370,1140)"/>
<wire from="(2370,1140)" to="(2460,1140)"/>
<wire from="(2370,790)" to="(2370,800)"/>
<wire from="(2370,790)" to="(2520,790)"/>
<wire from="(2370,800)" to="(2370,820)"/>
<wire from="(2370,880)" to="(2370,910)"/>
<wire from="(2370,910)" to="(2540,910)"/>
<wire from="(2380,1280)" to="(2380,1420)"/>
<wire from="(2380,1420)" to="(2460,1420)"/>
<wire from="(2380,620)" to="(2380,630)"/>
<wire from="(2390,1040)" to="(2390,1070)"/>
<wire from="(2390,1070)" to="(2410,1070)"/>
<wire from="(2390,1270)" to="(2390,1380)"/>
<wire from="(2390,1380)" to="(2460,1380)"/>
<wire from="(2390,880)" to="(2390,890)"/>
<wire from="(2390,890)" to="(2490,890)"/>
<wire from="(2400,1260)" to="(2400,1340)"/>
<wire from="(2400,1340)" to="(2460,1340)"/>
<wire from="(2410,1250)" to="(2410,1300)"/>
<wire from="(2410,1300)" to="(2460,1300)"/>
<wire from="(2410,880)" to="(2410,900)"/>
<wire from="(2420,1170)" to="(2420,1260)"/>
<wire from="(2420,1260)" to="(2460,1260)"/>
<wire from="(2430,1160)" to="(2430,1220)"/>
<wire from="(2430,1220)" to="(2460,1220)"/>
<wire from="(2430,800)" to="(2430,820)"/>
<wire from="(2430,800)" to="(2490,800)"/>
<wire from="(2430,880)" to="(2430,930)"/>
<wire from="(2430,930)" to="(2580,930)"/>
<wire from="(2440,1030)" to="(2500,1030)"/>
<wire from="(2440,1040)" to="(2510,1040)"/>
<wire from="(2440,1050)" to="(2520,1050)"/>
<wire from="(2440,1060)" to="(2530,1060)"/>
<wire from="(2440,1080)" to="(2540,1080)"/>
<wire from="(2440,1090)" to="(2550,1090)"/>
<wire from="(2440,1100)" to="(2560,1100)"/>
<wire from="(2440,1110)" to="(2570,1110)"/>
<wire from="(2440,1150)" to="(2440,1180)"/>
<wire from="(2440,1180)" to="(2460,1180)"/>
<wire from="(2450,1160)" to="(2450,1170)"/>
<wire from="(2450,1160)" to="(2460,1160)"/>
<wire from="(2450,1170)" to="(2610,1170)"/>
<wire from="(2450,1200)" to="(2450,1210)"/>
<wire from="(2450,1200)" to="(2460,1200)"/>
<wire from="(2450,1210)" to="(2610,1210)"/>
<wire from="(2450,1240)" to="(2450,1250)"/>
<wire from="(2450,1240)" to="(2460,1240)"/>
<wire from="(2450,1250)" to="(2610,1250)"/>
<wire from="(2450,1280)" to="(2450,1290)"/>
<wire from="(2450,1280)" to="(2460,1280)"/>
<wire from="(2450,1290)" to="(2610,1290)"/>
<wire from="(2450,1320)" to="(2450,1330)"/>
<wire from="(2450,1320)" to="(2460,1320)"/>
<wire from="(2450,1330)" to="(2610,1330)"/>
<wire from="(2450,1360)" to="(2450,1370)"/>
<wire from="(2450,1360)" to="(2460,1360)"/>
<wire from="(2450,1370)" to="(2610,1370)"/>
<wire from="(2450,1400)" to="(2450,1410)"/>
<wire from="(2450,1400)" to="(2460,1400)"/>
<wire from="(2450,1410)" to="(2610,1410)"/>
<wire from="(2450,1440)" to="(2450,1450)"/>
<wire from="(2450,1440)" to="(2460,1440)"/>
<wire from="(2450,1450)" to="(2580,1450)"/>
<wire from="(2450,880)" to="(2450,900)"/>
<wire from="(2450,900)" to="(2520,900)"/>
<wire from="(2490,1150)" to="(2500,1150)"/>
<wire from="(2490,1190)" to="(2510,1190)"/>
<wire from="(2490,1230)" to="(2520,1230)"/>
<wire from="(2490,1270)" to="(2530,1270)"/>
<wire from="(2490,1310)" to="(2540,1310)"/>
<wire from="(2490,1350)" to="(2550,1350)"/>
<wire from="(2490,1390)" to="(2560,1390)"/>
<wire from="(2490,1430)" to="(2570,1430)"/>
<wire from="(2490,800)" to="(2490,890)"/>
<wire from="(2490,800)" to="(2500,800)"/>
<wire from="(2490,890)" to="(2640,890)"/>
<wire from="(250,1040)" to="(250,1110)"/>
<wire from="(250,1110)" to="(390,1110)"/>
<wire from="(2500,1030)" to="(2500,1150)"/>
<wire from="(2510,1040)" to="(2510,1190)"/>
<wire from="(2520,1050)" to="(2520,1230)"/>
<wire from="(2520,790)" to="(2520,900)"/>
<wire from="(2530,1060)" to="(2530,1270)"/>
<wire from="(2540,1080)" to="(2540,1310)"/>
<wire from="(2540,880)" to="(2540,910)"/>
<wire from="(2550,1090)" to="(2550,1350)"/>
<wire from="(2560,1100)" to="(2560,1390)"/>
<wire from="(2560,810)" to="(2560,820)"/>
<wire from="(2560,810)" to="(2700,810)"/>
<wire from="(2560,880)" to="(2560,920)"/>
<wire from="(2570,1110)" to="(2570,1430)"/>
<wire from="(2580,1450)" to="(2610,1450)"/>
<wire from="(2580,800)" to="(2580,820)"/>
<wire from="(2580,800)" to="(2710,800)"/>
<wire from="(2580,880)" to="(2580,930)"/>
<wire from="(2580,990)" to="(2580,1450)"/>
<wire from="(2600,730)" to="(2600,820)"/>
<wire from="(2600,730)" to="(2720,730)"/>
<wire from="(2600,880)" to="(2600,900)"/>
<wire from="(2600,900)" to="(2600,920)"/>
<wire from="(2600,900)" to="(2620,900)"/>
<wire from="(2620,780)" to="(2620,820)"/>
<wire from="(2620,780)" to="(2730,780)"/>
<wire from="(2620,880)" to="(2620,900)"/>
<wire from="(2640,1170)" to="(2700,1170)"/>
<wire from="(2640,1210)" to="(2710,1210)"/>
<wire from="(2640,1250)" to="(2720,1250)"/>
<wire from="(2640,1290)" to="(2730,1290)"/>
<wire from="(2640,1330)" to="(2740,1330)"/>
<wire from="(2640,1370)" to="(2750,1370)"/>
<wire from="(2640,1410)" to="(2760,1410)"/>
<wire from="(2640,1450)" to="(2660,1450)"/>
<wire from="(2640,770)" to="(2640,820)"/>
<wire from="(2640,770)" to="(2740,770)"/>
<wire from="(2640,880)" to="(2640,890)"/>
<wire from="(2660,760)" to="(2660,820)"/>
<wire from="(2660,760)" to="(2750,760)"/>
<wire from="(2660,880)" to="(2660,1450)"/>
<wire from="(2680,750)" to="(2680,820)"/>
<wire from="(2680,750)" to="(2760,750)"/>
<wire from="(2700,810)" to="(2700,1170)"/>
<wire from="(2710,800)" to="(2710,1210)"/>
<wire from="(2720,730)" to="(2720,1250)"/>
<wire from="(2730,780)" to="(2730,1290)"/>
<wire from="(2740,770)" to="(2740,1330)"/>
<wire from="(2750,760)" to="(2750,1370)"/>
<wire from="(2760,750)" to="(2760,1410)"/>
<wire from="(310,1130)" to="(310,1250)"/>
<wire from="(310,1130)" to="(370,1130)"/>
<wire from="(330,1040)" to="(330,1080)"/>
<wire from="(330,1080)" to="(480,1080)"/>
<wire from="(340,1020)" to="(340,1060)"/>
<wire from="(350,1150)" to="(350,1190)"/>
<wire from="(350,1150)" to="(390,1150)"/>
<wire from="(350,1190)" to="(350,1240)"/>
<wire from="(350,1190)" to="(480,1190)"/>
<wire from="(350,1240)" to="(350,1270)"/>
<wire from="(350,1240)" to="(400,1240)"/>
<wire from="(370,1130)" to="(370,1180)"/>
<wire from="(370,1130)" to="(390,1130)"/>
<wire from="(370,1180)" to="(460,1180)"/>
<wire from="(420,1170)" to="(420,1200)"/>
<wire from="(420,1200)" to="(590,1200)"/>
<wire from="(450,1090)" to="(450,1110)"/>
<wire from="(450,1090)" to="(500,1090)"/>
<wire from="(460,1130)" to="(460,1180)"/>
<wire from="(460,1130)" to="(560,1130)"/>
<wire from="(480,1080)" to="(480,1110)"/>
<wire from="(480,1110)" to="(560,1110)"/>
<wire from="(480,1150)" to="(480,1190)"/>
<wire from="(480,1150)" to="(560,1150)"/>
<wire from="(500,1060)" to="(500,1090)"/>
<wire from="(500,1060)" to="(590,1060)"/>
<wire from="(590,1030)" to="(590,1060)"/>
<wire from="(590,1170)" to="(590,1200)"/>
<wire from="(620,1110)" to="(630,1110)"/>
<wire from="(630,1030)" to="(630,1110)"/>
<wire from="(890,570)" to="(910,570)"/>
<wire from="(890,700)" to="(910,700)"/>
<wire from="(910,460)" to="(910,490)"/>
<wire from="(910,570)" to="(910,650)"/>
<wire from="(910,570)" to="(970,570)"/>
<wire from="(910,650)" to="(930,650)"/>
<wire from="(910,670)" to="(910,700)"/>
<wire from="(910,670)" to="(930,670)"/>
<wire from="(920,460)" to="(920,490)"/>
<wire from="(930,460)" to="(930,490)"/>
<wire from="(940,460)" to="(940,490)"/>
<wire from="(950,460)" to="(950,490)"/>
<wire from="(960,460)" to="(960,490)"/>
<wire from="(960,660)" to="(970,660)"/>
<wire from="(970,1210)" to="(1450,1210)"/>
<wire from="(970,460)" to="(970,490)"/>
<wire from="(970,570)" to="(1560,570)"/>
<wire from="(970,570)" to="(970,600)"/>
<wire from="(970,600)" to="(1000,600)"/>
<wire from="(970,620)" to="(1000,620)"/>
<wire from="(970,620)" to="(970,660)"/>
<wire from="(970,660)" to="(970,1210)"/>
<wire from="(980,460)" to="(980,490)"/>
<wire from="(990,420)" to="(1470,420)"/>
<wire from="(990,420)" to="(990,440)"/>
<wire from="(990,440)" to="(1200,440)"/>
</circuit>
</project>