This commit is contained in:
pjht 2015-07-15 07:59:02 -05:00
parent 54eaa63a33
commit ed07753cdd
2 changed files with 1405 additions and 0 deletions

707
cpu.circ Normal file
View File

@ -0,0 +1,707 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="incoming" val="8"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
</tool>
<tool name="Pin">
<a name="label" val="res"/>
</tool>
<tool name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="width" val="8"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="Register">
<a name="width" val="1"/>
</tool>
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#I/O" name="5">
<tool name="Button">
<a name="label" val="res"/>
</tool>
</lib>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
</lib>
<main name="main"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="6" map="Button2" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="6" name="Poke Tool"/>
<tool lib="6" name="Edit Tool"/>
<tool lib="6" name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
<sep/>
<tool lib="0" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="a"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="c"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
</toolbar>
<circuit name="main">
<a name="circuit" val="main"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(500,440)" to="(530,440)"/>
<wire from="(490,330)" to="(490,350)"/>
<wire from="(540,450)" to="(540,530)"/>
<wire from="(390,660)" to="(480,660)"/>
<wire from="(310,800)" to="(340,800)"/>
<wire from="(410,380)" to="(520,380)"/>
<wire from="(490,570)" to="(490,610)"/>
<wire from="(400,520)" to="(400,550)"/>
<wire from="(290,600)" to="(310,600)"/>
<wire from="(510,550)" to="(610,550)"/>
<wire from="(560,340)" to="(560,360)"/>
<wire from="(90,910)" to="(570,910)"/>
<wire from="(330,340)" to="(330,410)"/>
<wire from="(360,280)" to="(670,280)"/>
<wire from="(160,350)" to="(490,350)"/>
<wire from="(470,680)" to="(470,780)"/>
<wire from="(80,620)" to="(130,620)"/>
<wire from="(360,280)" to="(360,330)"/>
<wire from="(550,460)" to="(590,460)"/>
<wire from="(480,660)" to="(480,790)"/>
<wire from="(200,410)" to="(270,410)"/>
<wire from="(380,610)" to="(410,610)"/>
<wire from="(110,330)" to="(360,330)"/>
<wire from="(640,140)" to="(640,290)"/>
<wire from="(270,410)" to="(330,410)"/>
<wire from="(90,450)" to="(110,450)"/>
<wire from="(250,540)" to="(450,540)"/>
<wire from="(570,300)" to="(590,300)"/>
<wire from="(430,500)" to="(430,530)"/>
<wire from="(220,500)" to="(220,520)"/>
<wire from="(510,520)" to="(510,550)"/>
<wire from="(440,360)" to="(500,360)"/>
<wire from="(380,680)" to="(470,680)"/>
<wire from="(30,460)" to="(50,460)"/>
<wire from="(80,450)" to="(90,450)"/>
<wire from="(570,670)" to="(570,910)"/>
<wire from="(400,520)" to="(510,520)"/>
<wire from="(280,460)" to="(280,480)"/>
<wire from="(250,500)" to="(250,540)"/>
<wire from="(390,620)" to="(410,620)"/>
<wire from="(420,550)" to="(420,600)"/>
<wire from="(450,870)" to="(450,900)"/>
<wire from="(470,340)" to="(560,340)"/>
<wire from="(510,310)" to="(550,310)"/>
<wire from="(500,460)" to="(520,460)"/>
<wire from="(200,530)" to="(200,570)"/>
<wire from="(490,610)" to="(490,670)"/>
<wire from="(500,410)" to="(500,440)"/>
<wire from="(290,610)" to="(310,610)"/>
<wire from="(440,340)" to="(440,360)"/>
<wire from="(410,310)" to="(480,310)"/>
<wire from="(270,410)" to="(270,560)"/>
<wire from="(160,530)" to="(200,530)"/>
<wire from="(310,460)" to="(360,460)"/>
<wire from="(310,610)" to="(310,800)"/>
<wire from="(420,550)" to="(460,550)"/>
<wire from="(590,410)" to="(590,460)"/>
<wire from="(440,810)" to="(620,810)"/>
<wire from="(110,450)" to="(200,450)"/>
<wire from="(520,600)" to="(520,610)"/>
<wire from="(500,330)" to="(500,360)"/>
<wire from="(520,660)" to="(520,670)"/>
<wire from="(110,330)" to="(110,450)"/>
<wire from="(560,360)" to="(620,360)"/>
<wire from="(460,540)" to="(560,540)"/>
<wire from="(510,410)" to="(510,430)"/>
<wire from="(500,530)" to="(500,610)"/>
<wire from="(470,500)" to="(470,560)"/>
<wire from="(430,580)" to="(430,600)"/>
<wire from="(600,390)" to="(610,390)"/>
<wire from="(480,640)" to="(510,640)"/>
<wire from="(200,410)" to="(200,450)"/>
<wire from="(530,670)" to="(570,670)"/>
<wire from="(380,800)" to="(410,800)"/>
<wire from="(270,560)" to="(470,560)"/>
<wire from="(530,610)" to="(570,610)"/>
<wire from="(90,450)" to="(90,910)"/>
<wire from="(500,610)" to="(520,610)"/>
<wire from="(200,570)" to="(490,570)"/>
<wire from="(590,460)" to="(670,460)"/>
<wire from="(530,400)" to="(570,400)"/>
<wire from="(540,390)" to="(570,390)"/>
<wire from="(550,450)" to="(550,460)"/>
<wire from="(390,500)" to="(390,520)"/>
<wire from="(460,580)" to="(510,580)"/>
<wire from="(520,380)" to="(520,460)"/>
<wire from="(380,610)" to="(380,680)"/>
<wire from="(390,620)" to="(390,660)"/>
<wire from="(460,540)" to="(460,550)"/>
<wire from="(670,280)" to="(670,460)"/>
<wire from="(440,780)" to="(470,780)"/>
<wire from="(410,310)" to="(410,380)"/>
<wire from="(570,290)" to="(640,290)"/>
<wire from="(570,610)" to="(570,670)"/>
<wire from="(200,530)" to="(430,530)"/>
<wire from="(610,390)" to="(610,550)"/>
<wire from="(490,610)" to="(500,610)"/>
<wire from="(480,630)" to="(480,640)"/>
<wire from="(330,340)" to="(440,340)"/>
<wire from="(440,630)" to="(480,630)"/>
<wire from="(440,870)" to="(450,870)"/>
<wire from="(440,790)" to="(480,790)"/>
<wire from="(540,530)" to="(580,530)"/>
<wire from="(560,430)" to="(560,540)"/>
<wire from="(60,530)" to="(160,530)"/>
<wire from="(460,580)" to="(460,620)"/>
<wire from="(280,480)" to="(360,480)"/>
<wire from="(500,530)" to="(540,530)"/>
<wire from="(30,900)" to="(450,900)"/>
<wire from="(220,520)" to="(390,520)"/>
<wire from="(390,550)" to="(400,550)"/>
<wire from="(30,460)" to="(30,900)"/>
<wire from="(390,580)" to="(430,580)"/>
<wire from="(530,380)" to="(530,400)"/>
<wire from="(390,550)" to="(390,580)"/>
<wire from="(620,360)" to="(620,810)"/>
<wire from="(450,500)" to="(450,540)"/>
<wire from="(160,350)" to="(160,530)"/>
<wire from="(530,600)" to="(530,610)"/>
<wire from="(470,320)" to="(480,320)"/>
<wire from="(310,580)" to="(310,600)"/>
<wire from="(510,430)" to="(530,430)"/>
<wire from="(530,660)" to="(530,670)"/>
<wire from="(470,320)" to="(470,340)"/>
<wire from="(440,620)" to="(460,620)"/>
<wire from="(580,410)" to="(580,530)"/>
<wire from="(540,380)" to="(540,390)"/>
<wire from="(590,140)" to="(590,300)"/>
<wire from="(490,670)" to="(520,670)"/>
<comp lib="5" loc="(120,250)" name="Button">
<a name="label" val="8"/>
</comp>
<comp lib="1" loc="(80,450)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="5" loc="(190,170)" name="Button">
<a name="label" val="1"/>
</comp>
<comp lib="4" loc="(510,310)" name="Register"/>
<comp lib="0" loc="(550,310)" name="Splitter">
<a name="incoming" val="8"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
</comp>
<comp lib="5" loc="(260,290)" name="Button">
<a name="label" val="E"/>
</comp>
<comp lib="4" loc="(600,390)" name="Register"/>
<comp lib="5" loc="(190,250)" name="Button">
<a name="label" val="9"/>
</comp>
<comp lib="4" loc="(270,620)" name="ROM">
<a name="dataWidth" val="16"/>
<a name="contents">addr/data: 8 16
0
</a>
</comp>
<comp lib="0" loc="(380,800)" name="Bit Extender">
<a name="out_width" val="4"/>
</comp>
<comp lib="5" loc="(120,290)" name="Button">
<a name="label" val="C"/>
</comp>
<comp lib="5" loc="(260,210)" name="Button">
<a name="label" val="6"/>
</comp>
<comp lib="0" loc="(80,620)" name="Pull Resistor"/>
<comp lib="5" loc="(260,250)" name="Button">
<a name="label" val="A"/>
</comp>
<comp lib="4" loc="(560,430)" name="Register"/>
<comp lib="0" loc="(280,460)" name="Pull Resistor"/>
<comp lib="5" loc="(590,140)" name="Hex Digit Display"/>
<comp lib="4" loc="(540,580)" name="Register">
<a name="width" val="1"/>
</comp>
<comp lib="0" loc="(60,530)" name="Clock"/>
<comp lib="5" loc="(50,440)" name="Button">
<a name="label" val="res"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="5" loc="(640,140)" name="Hex Digit Display"/>
<comp lib="5" loc="(120,210)" name="Button">
<a name="label" val="4"/>
</comp>
<comp lib="0" loc="(310,460)" name="Pull Resistor"/>
<comp lib="5" loc="(120,170)" name="Button">
<a name="label" val="0"/>
</comp>
<comp lib="0" loc="(220,500)" name="Pull Resistor"/>
<comp loc="(440,610)" name="alu"/>
<comp lib="5" loc="(260,170)" name="Button">
<a name="label" val="2"/>
</comp>
<comp lib="0" loc="(270,620)" name="Splitter">
<a name="incoming" val="16"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
</comp>
<comp lib="0" loc="(250,500)" name="Pull Resistor">
<a name="pull" val="1"/>
</comp>
<comp lib="5" loc="(330,210)" name="Button">
<a name="label" val="7"/>
</comp>
<comp loc="(440,740)" name="ins dec"/>
<comp lib="4" loc="(500,460)" name="RAM">
<a name="bus" val="separate"/>
</comp>
<comp lib="5" loc="(330,250)" name="Button">
<a name="label" val="B"/>
</comp>
<comp lib="5" loc="(330,290)" name="Button">
<a name="label" val="F"/>
</comp>
<comp lib="5" loc="(330,170)" name="Button">
<a name="label" val="3"/>
</comp>
<comp lib="5" loc="(190,290)" name="Button">
<a name="label" val="D"/>
</comp>
<comp lib="5" loc="(190,210)" name="Button">
<a name="label" val="5"/>
</comp>
<comp lib="4" loc="(540,640)" name="Register">
<a name="width" val="1"/>
</comp>
</circuit>
<circuit name="ins dec">
<a name="circuit" val="ins dec"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(330,540)" to="(330,590)"/>
<wire from="(390,530)" to="(470,530)"/>
<wire from="(500,370)" to="(500,680)"/>
<wire from="(330,590)" to="(350,590)"/>
<wire from="(330,190)" to="(350,190)"/>
<wire from="(330,440)" to="(350,440)"/>
<wire from="(330,840)" to="(350,840)"/>
<wire from="(460,290)" to="(460,480)"/>
<wire from="(330,440)" to="(330,480)"/>
<wire from="(400,170)" to="(580,170)"/>
<wire from="(500,370)" to="(580,370)"/>
<wire from="(450,270)" to="(450,430)"/>
<wire from="(330,290)" to="(330,340)"/>
<wire from="(330,340)" to="(350,340)"/>
<wire from="(470,310)" to="(580,310)"/>
<wire from="(530,430)" to="(580,430)"/>
<wire from="(410,190)" to="(410,230)"/>
<wire from="(330,690)" to="(330,740)"/>
<wire from="(390,580)" to="(480,580)"/>
<wire from="(330,740)" to="(350,740)"/>
<wire from="(330,490)" to="(350,490)"/>
<wire from="(330,190)" to="(330,240)"/>
<wire from="(330,740)" to="(330,790)"/>
<wire from="(410,190)" to="(580,190)"/>
<wire from="(520,410)" to="(520,780)"/>
<wire from="(520,410)" to="(580,410)"/>
<wire from="(330,290)" to="(350,290)"/>
<wire from="(390,780)" to="(520,780)"/>
<wire from="(390,430)" to="(450,430)"/>
<wire from="(490,350)" to="(490,630)"/>
<wire from="(530,430)" to="(530,830)"/>
<wire from="(390,480)" to="(460,480)"/>
<wire from="(330,240)" to="(350,240)"/>
<wire from="(440,250)" to="(440,380)"/>
<wire from="(430,230)" to="(580,230)"/>
<wire from="(330,790)" to="(330,840)"/>
<wire from="(330,540)" to="(350,540)"/>
<wire from="(390,180)" to="(400,180)"/>
<wire from="(390,330)" to="(430,330)"/>
<wire from="(330,390)" to="(330,440)"/>
<wire from="(390,280)" to="(420,280)"/>
<wire from="(430,230)" to="(430,330)"/>
<wire from="(330,480)" to="(330,490)"/>
<wire from="(330,790)" to="(350,790)"/>
<wire from="(330,390)" to="(350,390)"/>
<wire from="(480,330)" to="(580,330)"/>
<wire from="(330,640)" to="(350,640)"/>
<wire from="(420,210)" to="(580,210)"/>
<wire from="(490,350)" to="(580,350)"/>
<wire from="(330,240)" to="(330,290)"/>
<wire from="(330,640)" to="(330,690)"/>
<wire from="(390,830)" to="(530,830)"/>
<wire from="(450,270)" to="(580,270)"/>
<wire from="(390,730)" to="(510,730)"/>
<wire from="(390,630)" to="(490,630)"/>
<wire from="(390,380)" to="(440,380)"/>
<wire from="(400,170)" to="(400,180)"/>
<wire from="(510,390)" to="(510,730)"/>
<wire from="(330,490)" to="(330,540)"/>
<wire from="(330,340)" to="(330,390)"/>
<wire from="(390,230)" to="(410,230)"/>
<wire from="(330,690)" to="(350,690)"/>
<wire from="(470,310)" to="(470,530)"/>
<wire from="(420,210)" to="(420,280)"/>
<wire from="(480,330)" to="(480,580)"/>
<wire from="(510,390)" to="(580,390)"/>
<wire from="(330,590)" to="(330,640)"/>
<wire from="(80,480)" to="(330,480)"/>
<wire from="(390,680)" to="(500,680)"/>
<wire from="(460,290)" to="(580,290)"/>
<wire from="(440,250)" to="(580,250)"/>
<comp lib="3" loc="(390,280)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(350,670)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0xa"/>
</comp>
<comp lib="0" loc="(580,350)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="jic"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,730)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(580,250)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="add"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(580,390)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="jiz"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(580,210)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="sta"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(350,370)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x4"/>
</comp>
<comp lib="0" loc="(580,310)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(350,320)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x3"/>
</comp>
<comp lib="0" loc="(580,230)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="stb"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,530)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(350,220)" name="Constant">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(350,470)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x6"/>
</comp>
<comp lib="3" loc="(390,780)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(350,570)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x8"/>
</comp>
<comp lib="0" loc="(350,520)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x7"/>
</comp>
<comp lib="0" loc="(350,420)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x5"/>
</comp>
<comp lib="0" loc="(350,770)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0xc"/>
</comp>
<comp lib="0" loc="(350,620)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x9"/>
</comp>
<comp lib="0" loc="(580,410)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="jinz"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,630)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(580,370)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="jinc"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,830)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(580,190)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="ldb"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,580)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(350,820)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0xd"/>
</comp>
<comp lib="0" loc="(580,270)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="sub"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(580,290)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,480)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="3" loc="(390,680)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="3" loc="(390,330)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="3" loc="(390,230)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(350,720)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0xb"/>
</comp>
<comp lib="0" loc="(350,270)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x2"/>
</comp>
<comp lib="0" loc="(80,480)" name="Pin">
<a name="width" val="4"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="3" loc="(390,180)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(580,430)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="res"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(350,170)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(580,170)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="lda"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(390,430)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="3" loc="(390,380)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(580,330)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="jmp"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
<circuit name="alu">
<a name="circuit" val="alu"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(180,170)" to="(180,200)"/>
<wire from="(290,220)" to="(420,220)"/>
<wire from="(520,270)" to="(560,270)"/>
<wire from="(460,200)" to="(500,200)"/>
<wire from="(500,240)" to="(500,270)"/>
<wire from="(460,270)" to="(500,270)"/>
<wire from="(540,290)" to="(550,290)"/>
<wire from="(580,380)" to="(580,410)"/>
<wire from="(500,240)" to="(540,240)"/>
<wire from="(480,160)" to="(480,290)"/>
<wire from="(440,230)" to="(470,230)"/>
<wire from="(470,350)" to="(560,350)"/>
<wire from="(630,300)" to="(650,300)"/>
<wire from="(290,170)" to="(290,220)"/>
<wire from="(480,290)" to="(540,290)"/>
<wire from="(520,270)" to="(520,410)"/>
<wire from="(500,200)" to="(500,220)"/>
<wire from="(540,290)" to="(540,390)"/>
<wire from="(180,200)" to="(420,200)"/>
<wire from="(500,220)" to="(540,220)"/>
<wire from="(460,200)" to="(460,210)"/>
<wire from="(520,120)" to="(520,270)"/>
<wire from="(180,200)" to="(180,260)"/>
<wire from="(470,230)" to="(470,350)"/>
<wire from="(540,390)" to="(570,390)"/>
<wire from="(180,260)" to="(420,260)"/>
<wire from="(570,310)" to="(590,310)"/>
<wire from="(520,410)" to="(580,410)"/>
<wire from="(550,250)" to="(550,290)"/>
<wire from="(570,380)" to="(570,390)"/>
<wire from="(450,160)" to="(480,160)"/>
<wire from="(590,360)" to="(650,360)"/>
<wire from="(560,250)" to="(560,270)"/>
<wire from="(570,230)" to="(570,310)"/>
<wire from="(290,220)" to="(290,280)"/>
<wire from="(440,370)" to="(560,370)"/>
<wire from="(450,130)" to="(450,160)"/>
<wire from="(440,290)" to="(440,370)"/>
<wire from="(480,120)" to="(520,120)"/>
<wire from="(290,280)" to="(420,280)"/>
<comp lib="0" loc="(180,170)" name="Pin">
<a name="facing" val="south"/>
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="a"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(290,170)" name="Pin">
<a name="facing" val="south"/>
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="b"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(570,230)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val="r"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="0" loc="(450,110)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="add"/>
</comp>
<comp lib="0" loc="(450,130)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="sub"/>
</comp>
<comp lib="3" loc="(460,210)" name="Adder"/>
<comp lib="1" loc="(480,120)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(650,300)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="z"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(570,230)" name="Multiplexer">
<a name="width" val="8"/>
</comp>
<comp lib="2" loc="(590,360)" name="Multiplexer"/>
<comp lib="3" loc="(630,300)" name="Comparator"/>
<comp lib="0" loc="(590,290)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(650,360)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="c"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(460,270)" name="Subtractor"/>
</circuit>
</project>

698
textart.circ Normal file
View File

@ -0,0 +1,698 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="Register">
<a name="width" val="7"/>
</tool>
</lib>
<lib desc="#I/O" name="5">
<tool name="DotMatrix">
<a name="inputtype" val="row"/>
<a name="matrixcols" val="7"/>
<a name="matrixrows" val="32"/>
</tool>
</lib>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
</lib>
<main name="main"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="6" map="Button2" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="6" name="Poke Tool"/>
<tool lib="6" name="Edit Tool"/>
<tool lib="6" name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
<sep/>
<tool lib="0" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="res"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out1"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</tool>
<tool lib="1" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
</toolbar>
<circuit name="main">
<a name="circuit" val="main"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(390,640)" to="(390,700)"/>
<wire from="(270,950)" to="(400,950)"/>
<wire from="(1160,360)" to="(1260,360)"/>
<wire from="(300,180)" to="(300,210)"/>
<wire from="(480,210)" to="(480,460)"/>
<wire from="(220,450)" to="(230,450)"/>
<wire from="(410,1020)" to="(410,1030)"/>
<wire from="(390,700)" to="(400,700)"/>
<wire from="(390,160)" to="(400,160)"/>
<wire from="(380,730)" to="(380,790)"/>
<wire from="(270,400)" to="(270,950)"/>
<wire from="(300,770)" to="(400,770)"/>
<wire from="(380,550)" to="(410,550)"/>
<wire from="(250,1070)" to="(400,1070)"/>
<wire from="(1140,400)" to="(1260,400)"/>
<wire from="(520,250)" to="(1170,250)"/>
<wire from="(540,270)" to="(1150,270)"/>
<wire from="(560,290)" to="(1130,290)"/>
<wire from="(380,190)" to="(380,220)"/>
<wire from="(1250,170)" to="(1250,180)"/>
<wire from="(410,900)" to="(410,910)"/>
<wire from="(490,220)" to="(1200,220)"/>
<wire from="(430,460)" to="(480,460)"/>
<wire from="(430,760)" to="(530,760)"/>
<wire from="(380,220)" to="(380,250)"/>
<wire from="(500,230)" to="(500,580)"/>
<wire from="(380,1030)" to="(410,1030)"/>
<wire from="(430,220)" to="(440,220)"/>
<wire from="(380,610)" to="(380,670)"/>
<wire from="(300,210)" to="(390,210)"/>
<wire from="(580,310)" to="(1110,310)"/>
<wire from="(460,190)" to="(460,340)"/>
<wire from="(1110,460)" to="(1260,460)"/>
<wire from="(280,180)" to="(300,180)"/>
<wire from="(1200,220)" to="(1200,280)"/>
<wire from="(380,1090)" to="(410,1090)"/>
<wire from="(410,660)" to="(410,670)"/>
<wire from="(280,890)" to="(400,890)"/>
<wire from="(1210,210)" to="(1210,260)"/>
<wire from="(470,200)" to="(470,400)"/>
<wire from="(380,850)" to="(380,910)"/>
<wire from="(440,170)" to="(1250,170)"/>
<wire from="(1250,180)" to="(1260,180)"/>
<wire from="(430,340)" to="(460,340)"/>
<wire from="(490,220)" to="(490,520)"/>
<wire from="(530,260)" to="(530,760)"/>
<wire from="(410,780)" to="(410,790)"/>
<wire from="(380,970)" to="(380,1030)"/>
<wire from="(370,350)" to="(400,350)"/>
<wire from="(390,1060)" to="(400,1060)"/>
<wire from="(240,270)" to="(340,270)"/>
<wire from="(440,170)" to="(440,220)"/>
<wire from="(520,250)" to="(520,700)"/>
<wire from="(390,1000)" to="(390,1060)"/>
<wire from="(1240,200)" to="(1260,200)"/>
<wire from="(350,470)" to="(400,470)"/>
<wire from="(330,340)" to="(330,590)"/>
<wire from="(1120,300)" to="(1120,440)"/>
<wire from="(1200,280)" to="(1260,280)"/>
<wire from="(380,310)" to="(380,370)"/>
<wire from="(360,410)" to="(400,410)"/>
<wire from="(380,790)" to="(410,790)"/>
<wire from="(1240,180)" to="(1240,200)"/>
<wire from="(390,340)" to="(390,400)"/>
<wire from="(290,830)" to="(400,830)"/>
<wire from="(410,600)" to="(410,610)"/>
<wire from="(140,220)" to="(140,550)"/>
<wire from="(390,280)" to="(390,340)"/>
<wire from="(1170,250)" to="(1170,340)"/>
<wire from="(1130,420)" to="(1260,420)"/>
<wire from="(380,970)" to="(410,970)"/>
<wire from="(380,430)" to="(380,490)"/>
<wire from="(390,220)" to="(390,280)"/>
<wire from="(430,880)" to="(550,880)"/>
<wire from="(380,910)" to="(410,910)"/>
<wire from="(340,170)" to="(340,270)"/>
<wire from="(380,850)" to="(410,850)"/>
<wire from="(390,400)" to="(390,460)"/>
<wire from="(380,250)" to="(410,250)"/>
<wire from="(380,730)" to="(410,730)"/>
<wire from="(300,370)" to="(300,770)"/>
<wire from="(390,520)" to="(390,580)"/>
<wire from="(380,670)" to="(410,670)"/>
<wire from="(1150,270)" to="(1150,380)"/>
<wire from="(390,460)" to="(390,520)"/>
<wire from="(480,210)" to="(1210,210)"/>
<wire from="(570,300)" to="(1120,300)"/>
<wire from="(390,880)" to="(390,940)"/>
<wire from="(390,820)" to="(400,820)"/>
<wire from="(140,220)" to="(380,220)"/>
<wire from="(210,520)" to="(230,520)"/>
<wire from="(240,280)" to="(350,280)"/>
<wire from="(360,310)" to="(360,410)"/>
<wire from="(390,940)" to="(400,940)"/>
<wire from="(340,170)" to="(400,170)"/>
<wire from="(430,160)" to="(1260,160)"/>
<wire from="(1230,220)" to="(1260,220)"/>
<wire from="(390,760)" to="(390,820)"/>
<wire from="(430,280)" to="(450,280)"/>
<wire from="(430,820)" to="(540,820)"/>
<wire from="(380,370)" to="(410,370)"/>
<wire from="(320,350)" to="(320,650)"/>
<wire from="(1150,380)" to="(1260,380)"/>
<wire from="(1130,290)" to="(1130,420)"/>
<wire from="(560,290)" to="(560,940)"/>
<wire from="(330,590)" to="(400,590)"/>
<wire from="(410,180)" to="(410,190)"/>
<wire from="(390,700)" to="(390,760)"/>
<wire from="(380,490)" to="(410,490)"/>
<wire from="(410,240)" to="(410,250)"/>
<wire from="(350,230)" to="(350,280)"/>
<wire from="(350,320)" to="(350,470)"/>
<wire from="(430,1060)" to="(580,1060)"/>
<wire from="(380,610)" to="(410,610)"/>
<wire from="(1230,190)" to="(1230,220)"/>
<wire from="(1110,310)" to="(1110,460)"/>
<wire from="(140,550)" to="(190,550)"/>
<wire from="(1190,230)" to="(1190,300)"/>
<wire from="(410,960)" to="(410,970)"/>
<wire from="(290,380)" to="(290,830)"/>
<wire from="(390,580)" to="(390,640)"/>
<wire from="(410,300)" to="(410,310)"/>
<wire from="(130,220)" to="(140,220)"/>
<wire from="(1120,440)" to="(1260,440)"/>
<wire from="(410,840)" to="(410,850)"/>
<wire from="(260,410)" to="(260,1010)"/>
<wire from="(410,480)" to="(410,490)"/>
<wire from="(240,410)" to="(260,410)"/>
<wire from="(380,550)" to="(380,610)"/>
<wire from="(240,400)" to="(270,400)"/>
<wire from="(450,180)" to="(1240,180)"/>
<wire from="(540,270)" to="(540,820)"/>
<wire from="(1160,260)" to="(1160,360)"/>
<wire from="(430,700)" to="(520,700)"/>
<wire from="(1170,340)" to="(1260,340)"/>
<wire from="(410,720)" to="(410,730)"/>
<wire from="(500,230)" to="(1190,230)"/>
<wire from="(580,310)" to="(580,1060)"/>
<wire from="(380,910)" to="(380,970)"/>
<wire from="(240,420)" to="(250,420)"/>
<wire from="(470,200)" to="(1220,200)"/>
<wire from="(410,540)" to="(410,550)"/>
<wire from="(430,1000)" to="(570,1000)"/>
<wire from="(240,380)" to="(290,380)"/>
<wire from="(570,300)" to="(570,1000)"/>
<wire from="(390,160)" to="(390,210)"/>
<wire from="(380,790)" to="(380,850)"/>
<wire from="(450,180)" to="(450,280)"/>
<wire from="(410,1080)" to="(410,1090)"/>
<wire from="(410,420)" to="(410,430)"/>
<wire from="(240,370)" to="(300,370)"/>
<wire from="(460,190)" to="(1230,190)"/>
<wire from="(550,280)" to="(550,880)"/>
<wire from="(240,390)" to="(280,390)"/>
<wire from="(430,940)" to="(560,940)"/>
<wire from="(350,230)" to="(400,230)"/>
<wire from="(380,670)" to="(380,730)"/>
<wire from="(410,360)" to="(410,370)"/>
<wire from="(510,240)" to="(510,640)"/>
<wire from="(1190,300)" to="(1260,300)"/>
<wire from="(340,530)" to="(400,530)"/>
<wire from="(1140,280)" to="(1140,400)"/>
<wire from="(190,540)" to="(190,550)"/>
<wire from="(240,340)" to="(330,340)"/>
<wire from="(390,400)" to="(400,400)"/>
<wire from="(380,490)" to="(380,550)"/>
<wire from="(1180,240)" to="(1180,320)"/>
<wire from="(380,1030)" to="(380,1090)"/>
<wire from="(390,1000)" to="(400,1000)"/>
<wire from="(550,280)" to="(1140,280)"/>
<wire from="(310,360)" to="(310,710)"/>
<wire from="(430,640)" to="(510,640)"/>
<wire from="(380,370)" to="(380,430)"/>
<wire from="(430,400)" to="(470,400)"/>
<wire from="(240,350)" to="(320,350)"/>
<wire from="(390,340)" to="(400,340)"/>
<wire from="(240,360)" to="(310,360)"/>
<wire from="(230,450)" to="(230,520)"/>
<wire from="(370,300)" to="(370,350)"/>
<wire from="(390,220)" to="(400,220)"/>
<wire from="(240,310)" to="(360,310)"/>
<wire from="(390,280)" to="(400,280)"/>
<wire from="(380,190)" to="(410,190)"/>
<wire from="(240,320)" to="(350,320)"/>
<wire from="(240,290)" to="(400,290)"/>
<wire from="(240,330)" to="(340,330)"/>
<wire from="(1220,200)" to="(1220,240)"/>
<wire from="(340,330)" to="(340,530)"/>
<wire from="(380,310)" to="(410,310)"/>
<wire from="(430,580)" to="(500,580)"/>
<wire from="(530,260)" to="(1160,260)"/>
<wire from="(390,460)" to="(400,460)"/>
<wire from="(510,240)" to="(1180,240)"/>
<wire from="(280,390)" to="(280,890)"/>
<wire from="(430,520)" to="(490,520)"/>
<wire from="(380,430)" to="(410,430)"/>
<wire from="(310,710)" to="(400,710)"/>
<wire from="(390,520)" to="(400,520)"/>
<wire from="(390,820)" to="(390,880)"/>
<wire from="(240,300)" to="(370,300)"/>
<wire from="(220,430)" to="(220,450)"/>
<wire from="(390,880)" to="(400,880)"/>
<wire from="(260,1010)" to="(400,1010)"/>
<wire from="(1210,260)" to="(1260,260)"/>
<wire from="(380,250)" to="(380,310)"/>
<wire from="(390,640)" to="(400,640)"/>
<wire from="(390,940)" to="(390,1000)"/>
<wire from="(320,650)" to="(400,650)"/>
<wire from="(390,760)" to="(400,760)"/>
<wire from="(1220,240)" to="(1260,240)"/>
<wire from="(250,420)" to="(250,1070)"/>
<wire from="(390,210)" to="(390,220)"/>
<wire from="(390,580)" to="(400,580)"/>
<wire from="(1180,320)" to="(1260,320)"/>
<comp lib="0" loc="(420,240)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(1260,400)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out13"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1260,360)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out11"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1260,160)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out1"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1260,300)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out8"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(210,520)" name="Counter">
<a name="width" val="4"/>
<a name="max" val="0xf"/>
<a name="ongoal" val="stay"/>
<a name="trigger" val="falling"/>
</comp>
<comp lib="0" loc="(420,780)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(130,250)" name="Tunnel">
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(1260,240)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out5"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(420,480)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="4" loc="(430,220)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="4" loc="(430,940)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(1260,440)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out15"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(430,400)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(1260,380)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out12"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1260,320)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out9"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(430,280)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(1260,420)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out14"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(420,960)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="2" loc="(220,430)" name="Decoder">
<a name="select" val="4"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(1260,260)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out6"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(430,160)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="4" loc="(430,520)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(1260,200)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out3"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(430,340)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(420,1080)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="4" loc="(430,640)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(420,600)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(420,420)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(420,840)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(1260,340)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out10"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(280,180)" name="Pin">
<a name="width" val="7"/>
<a name="tristate" val="false"/>
<a name="label" val="din"/>
</comp>
<comp lib="4" loc="(430,880)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="4" loc="(430,460)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(130,250)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="res"/>
</comp>
<comp lib="0" loc="(420,1020)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(1260,180)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out2"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(420,180)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="4" loc="(430,760)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(420,300)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="4" loc="(430,1060)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(1260,280)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out7"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(420,720)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="4" loc="(430,700)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="4" loc="(430,1000)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(420,540)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(1260,460)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out16"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(430,820)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(420,660)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(420,900)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(200,540)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(130,220)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="clk"/>
</comp>
<comp lib="4" loc="(430,580)" name="Register">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(420,360)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="z"/>
</comp>
<comp lib="0" loc="(1260,220)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="label" val="out4"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
<circuit name="fun">
<a name="circuit" val="fun"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(130,480)" to="(150,480)"/>
<wire from="(170,490)" to="(170,500)"/>
<wire from="(170,510)" to="(180,510)"/>
<wire from="(140,470)" to="(160,470)"/>
<wire from="(250,660)" to="(270,660)"/>
<wire from="(400,380)" to="(420,380)"/>
<wire from="(170,430)" to="(170,490)"/>
<wire from="(170,510)" to="(170,550)"/>
<wire from="(210,670)" to="(210,710)"/>
<wire from="(120,800)" to="(400,800)"/>
<wire from="(350,640)" to="(500,640)"/>
<wire from="(310,390)" to="(310,450)"/>
<wire from="(140,430)" to="(140,460)"/>
<wire from="(310,390)" to="(360,390)"/>
<wire from="(400,540)" to="(420,540)"/>
<wire from="(400,380)" to="(400,470)"/>
<wire from="(370,380)" to="(380,380)"/>
<wire from="(310,370)" to="(340,370)"/>
<wire from="(500,640)" to="(500,770)"/>
<wire from="(360,750)" to="(360,770)"/>
<wire from="(150,480)" to="(150,560)"/>
<wire from="(270,570)" to="(280,570)"/>
<wire from="(310,180)" to="(310,370)"/>
<wire from="(350,480)" to="(350,640)"/>
<wire from="(120,500)" to="(120,800)"/>
<wire from="(390,370)" to="(390,420)"/>
<wire from="(390,440)" to="(390,530)"/>
<wire from="(290,730)" to="(330,730)"/>
<wire from="(280,570)" to="(280,670)"/>
<wire from="(150,560)" to="(250,560)"/>
<wire from="(310,450)" to="(310,500)"/>
<wire from="(400,490)" to="(400,540)"/>
<wire from="(230,660)" to="(230,670)"/>
<wire from="(370,470)" to="(370,480)"/>
<wire from="(290,370)" to="(290,730)"/>
<wire from="(270,500)" to="(270,570)"/>
<wire from="(280,500)" to="(280,550)"/>
<wire from="(380,380)" to="(380,520)"/>
<wire from="(160,520)" to="(220,520)"/>
<wire from="(170,490)" to="(190,490)"/>
<wire from="(370,360)" to="(420,360)"/>
<wire from="(440,750)" to="(440,770)"/>
<wire from="(270,500)" to="(280,500)"/>
<wire from="(210,710)" to="(330,710)"/>
<wire from="(370,470)" to="(400,470)"/>
<wire from="(230,670)" to="(280,670)"/>
<wire from="(350,480)" to="(370,480)"/>
<wire from="(390,530)" to="(420,530)"/>
<wire from="(50,600)" to="(270,600)"/>
<wire from="(290,370)" to="(310,370)"/>
<wire from="(330,480)" to="(350,480)"/>
<wire from="(170,430)" to="(340,430)"/>
<wire from="(150,460)" to="(160,460)"/>
<wire from="(50,430)" to="(140,430)"/>
<wire from="(50,430)" to="(50,600)"/>
<wire from="(380,520)" to="(420,520)"/>
<wire from="(440,770)" to="(500,770)"/>
<wire from="(260,500)" to="(270,500)"/>
<wire from="(420,750)" to="(420,770)"/>
<wire from="(120,500)" to="(170,500)"/>
<wire from="(370,420)" to="(390,420)"/>
<wire from="(370,440)" to="(390,440)"/>
<wire from="(150,460)" to="(150,480)"/>
<wire from="(310,450)" to="(360,450)"/>
<wire from="(390,370)" to="(420,370)"/>
<wire from="(370,490)" to="(400,490)"/>
<wire from="(370,480)" to="(370,490)"/>
<wire from="(160,460)" to="(330,460)"/>
<wire from="(270,600)" to="(270,660)"/>
<wire from="(160,210)" to="(160,460)"/>
<wire from="(280,500)" to="(310,500)"/>
<wire from="(170,170)" to="(170,430)"/>
<wire from="(330,460)" to="(330,480)"/>
<wire from="(160,470)" to="(160,520)"/>
<wire from="(190,180)" to="(190,200)"/>
<wire from="(400,750)" to="(400,800)"/>
<wire from="(170,550)" to="(280,550)"/>
<wire from="(250,530)" to="(250,560)"/>
<wire from="(120,480)" to="(120,500)"/>
<wire from="(160,170)" to="(170,170)"/>
<comp lib="5" loc="(450,300)" name="DotMatrix">
<a name="inputtype" val="row"/>
<a name="matrixcols" val="7"/>
<a name="matrixrows" val="32"/>
</comp>
<comp loc="(450,460)" name="main"/>
<comp lib="0" loc="(360,770)" name="Constant"/>
<comp lib="0" loc="(250,660)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</comp>
<comp lib="4" loc="(470,710)" name="RAM">
<a name="addrWidth" val="5"/>
<a name="dataWidth" val="7"/>
<a name="bus" val="separate"/>
</comp>
<comp loc="(450,300)" name="main"/>
<comp lib="5" loc="(170,170)" name="Keyboard"/>
<comp lib="2" loc="(340,430)" name="Demultiplexer">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="5" loc="(160,190)" name="Button">
<a name="label" val="clr"/>
</comp>
<comp lib="1" loc="(220,500)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(190,200)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(420,770)" name="Constant">
<a name="value" val="0x0"/>
</comp>
<comp lib="4" loc="(260,500)" name="T Flip-Flop"/>
<comp lib="0" loc="(210,670)" name="Splitter">
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
</comp>
<comp lib="4" loc="(140,460)" name="Counter">
<a name="width" val="4"/>
<a name="max" val="0xf"/>
<a name="trigger" val="falling"/>
</comp>
<comp lib="5" loc="(160,170)" name="Button">
<a name="label" val="clk"/>
</comp>
<comp lib="2" loc="(340,370)" name="Demultiplexer">
<a name="width" val="7"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="5" loc="(160,210)" name="Button">
<a name="label" val="res"/>
</comp>
</circuit>
</project>