logisim-stuff/KT8/KT8.circ
2016-08-30 15:58:23 -05:00

261 lines
9.6 KiB
XML

<?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"/>
<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="#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"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="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,390)" to="(650,390)"/>
<wire from="(160,170)" to="(280,170)"/>
<wire from="(210,90)" to="(210,310)"/>
<wire from="(460,170)" to="(460,200)"/>
<wire from="(500,380)" to="(570,380)"/>
<wire from="(330,190)" to="(350,190)"/>
<wire from="(680,170)" to="(690,170)"/>
<wire from="(190,110)" to="(190,140)"/>
<wire from="(80,140)" to="(180,140)"/>
<wire from="(410,200)" to="(410,270)"/>
<wire from="(320,210)" to="(350,210)"/>
<wire from="(450,310)" to="(480,310)"/>
<wire from="(480,170)" to="(480,180)"/>
<wire from="(210,90)" to="(240,90)"/>
<wire from="(320,100)" to="(320,210)"/>
<wire from="(300,130)" to="(300,180)"/>
<wire from="(80,110)" to="(90,110)"/>
<wire from="(300,260)" to="(430,260)"/>
<wire from="(460,200)" to="(710,200)"/>
<wire from="(510,320)" to="(610,320)"/>
<wire from="(390,350)" to="(400,350)"/>
<wire from="(460,200)" to="(460,240)"/>
<wire from="(140,90)" to="(140,110)"/>
<wire from="(170,50)" to="(340,50)"/>
<wire from="(440,340)" to="(450,340)"/>
<wire from="(610,290)" to="(610,320)"/>
<wire from="(400,290)" to="(410,290)"/>
<wire from="(120,120)" to="(160,120)"/>
<wire from="(420,170)" to="(420,180)"/>
<wire from="(300,180)" to="(300,260)"/>
<wire from="(280,170)" to="(280,240)"/>
<wire from="(570,350)" to="(570,380)"/>
<wire from="(400,320)" to="(410,320)"/>
<wire from="(450,260)" to="(660,260)"/>
<wire from="(530,130)" to="(550,130)"/>
<wire from="(340,130)" to="(390,130)"/>
<wire from="(260,230)" to="(260,360)"/>
<wire from="(500,330)" to="(500,380)"/>
<wire from="(180,140)" to="(180,230)"/>
<wire from="(560,350)" to="(570,350)"/>
<wire from="(390,350)" to="(390,390)"/>
<wire from="(410,290)" to="(410,320)"/>
<wire from="(210,310)" to="(380,310)"/>
<wire from="(280,100)" to="(320,100)"/>
<wire from="(300,180)" to="(420,180)"/>
<wire from="(280,240)" to="(460,240)"/>
<wire from="(400,320)" to="(400,330)"/>
<wire from="(690,250)" to="(720,250)"/>
<wire from="(160,110)" to="(190,110)"/>
<wire from="(190,140)" to="(380,140)"/>
<wire from="(480,290)" to="(480,310)"/>
<wire from="(80,110)" to="(80,140)"/>
<wire from="(420,180)" to="(450,180)"/>
<wire from="(450,340)" to="(450,350)"/>
<wire from="(450,310)" to="(450,340)"/>
<wire from="(280,90)" to="(330,90)"/>
<wire from="(650,240)" to="(650,390)"/>
<wire from="(340,290)" to="(370,290)"/>
<wire from="(460,330)" to="(460,340)"/>
<wire from="(160,110)" to="(160,120)"/>
<wire from="(430,280)" to="(470,280)"/>
<wire from="(330,90)" to="(330,190)"/>
<wire from="(120,130)" to="(300,130)"/>
<wire from="(340,270)" to="(410,270)"/>
<wire from="(550,130)" to="(550,230)"/>
<wire from="(170,90)" to="(210,90)"/>
<wire from="(180,230)" to="(260,230)"/>
<wire from="(380,150)" to="(380,190)"/>
<wire from="(170,50)" to="(170,90)"/>
<wire from="(470,180)" to="(480,180)"/>
<wire from="(440,170)" to="(440,200)"/>
<wire from="(400,300)" to="(400,310)"/>
<wire from="(390,310)" to="(390,350)"/>
<wire from="(260,230)" to="(550,230)"/>
<wire from="(410,200)" to="(440,200)"/>
<wire from="(380,190)" to="(620,190)"/>
<wire from="(390,310)" to="(400,310)"/>
<wire from="(380,150)" to="(390,150)"/>
<wire from="(690,170)" to="(690,190)"/>
<wire from="(140,90)" to="(170,90)"/>
<wire from="(430,260)" to="(430,280)"/>
<wire from="(450,260)" to="(450,290)"/>
<wire from="(720,210)" to="(720,250)"/>
<wire from="(650,240)" to="(660,240)"/>
<wire from="(510,350)" to="(520,350)"/>
<wire from="(380,140)" to="(380,150)"/>
<wire from="(620,170)" to="(620,190)"/>
<wire from="(260,360)" to="(460,360)"/>
<wire from="(410,290)" to="(450,290)"/>
<wire from="(340,50)" to="(340,130)"/>
<wire from="(510,320)" to="(510,350)"/>
<wire from="(120,110)" to="(140,110)"/>
<wire from="(400,330)" to="(410,330)"/>
<wire from="(390,200)" to="(410,200)"/>
<wire from="(620,170)" to="(640,170)"/>
<wire from="(690,190)" to="(710,190)"/>
<wire from="(460,330)" to="(500,330)"/>
<wire from="(340,270)" to="(340,290)"/>
<comp lib="1" loc="(470,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(380,310)" name="Splitter">
<a name="fanout" val="1"/>
<a name="incoming" val="4"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
</comp>
<comp lib="0" loc="(560,350)" name="Bit Extender">
<a name="in_width" val="7"/>
<a name="out_width" val="8"/>
</comp>
<comp lib="0" loc="(680,170)" name="Bit Extender">
<a name="out_width" val="7"/>
</comp>
<comp lib="1" loc="(690,250)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(160,170)" name="Clock"/>
<comp lib="1" loc="(440,340)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="5" loc="(710,200)" name="TTY"/>
<comp lib="5" loc="(470,280)" name="Keyboard"/>
<comp lib="4" loc="(530,130)" name="RAM">
<a name="addrWidth" val="4"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(400,290)" name="NOT Gate"/>
<comp lib="1" loc="(460,360)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="8"/>
</comp>
<comp lib="1" loc="(390,200)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="3" loc="(280,100)" name="Comparator">
<a name="width" val="4"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(240,110)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0xe"/>
</comp>
<comp loc="(120,100)" name="cpu"/>
</circuit>
<circuit name="cpu">
<a name="circuit" val="cpu"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(400,120)" to="(480,120)"/>
<wire from="(420,80)" to="(420,100)"/>
<wire from="(360,160)" to="(480,160)"/>
<wire from="(380,140)" to="(480,140)"/>
<wire from="(380,80)" to="(380,140)"/>
<wire from="(360,80)" to="(360,160)"/>
<wire from="(400,80)" to="(400,120)"/>
<wire from="(420,100)" to="(480,100)"/>
<comp lib="0" loc="(380,80)" name="Pull Resistor"/>
<comp lib="0" loc="(480,140)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val="RAM out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(420,80)" name="Pull Resistor"/>
<comp lib="0" loc="(130,170)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="RAM in"/>
</comp>
<comp lib="0" loc="(400,80)" name="Pull Resistor"/>
<comp lib="0" loc="(480,160)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="W/~R"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(150,150)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="Instruction"/>
</comp>
<comp lib="0" loc="(360,80)" name="Pull Resistor"/>
<comp lib="0" loc="(480,120)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
<a name="label" val="Address"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(480,100)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Code address"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
</project>