logisim-stuff/logisim/computer.circ

828 lines
31 KiB
Plaintext
Raw Permalink Normal View History

2019-06-23 10:38:11 -05:00
<?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="facing" val="south"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</tool>
<tool name="Pin">
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
</tool>
<tool name="Probe">
<a name="radix" val="16"/>
<a name="label" val="mem out"/>
</tool>
<tool name="Tunnel">
<a name="label" val="pop"/>
</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"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<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">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="cpu">
<a name="circuit" val="cpu"/>
<a name="clabel" val=""/>
<a name="clabelup" val="north"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M61,51 Q65,61 69,51" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="60" stroke="#000000" stroke-width="2" width="30" x="50" y="50"/>
<circ-port height="10" pin="410,920" width="10" x="45" y="55"/>
<circ-port height="10" pin="410,940" width="10" x="45" y="65"/>
<circ-port height="10" pin="410,960" width="10" x="45" y="75"/>
<circ-port height="8" pin="410,980" width="8" x="46" y="86"/>
<circ-port height="10" pin="410,1000" width="10" x="45" y="95"/>
<circ-port height="8" pin="540,110" width="8" x="76" y="76"/>
<circ-port height="10" pin="410,230" width="10" x="75" y="65"/>
<circ-port height="8" pin="110,160" width="8" x="56" y="46"/>
<circ-port height="8" pin="140,160" width="8" x="66" y="46"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="77"/>
</appear>
<wire from="(180,730)" to="(220,730)"/>
<wire from="(190,590)" to="(250,590)"/>
<wire from="(200,690)" to="(200,720)"/>
<wire from="(560,160)" to="(660,160)"/>
<wire from="(310,670)" to="(320,670)"/>
<wire from="(460,650)" to="(460,830)"/>
<wire from="(110,160)" to="(110,250)"/>
<wire from="(330,260)" to="(330,330)"/>
<wire from="(280,530)" to="(280,560)"/>
<wire from="(360,250)" to="(360,260)"/>
<wire from="(520,230)" to="(560,230)"/>
<wire from="(640,220)" to="(640,250)"/>
<wire from="(340,240)" to="(350,240)"/>
<wire from="(410,920)" to="(460,920)"/>
<wire from="(370,500)" to="(370,510)"/>
<wire from="(640,270)" to="(640,390)"/>
<wire from="(610,220)" to="(610,260)"/>
<wire from="(210,600)" to="(210,760)"/>
<wire from="(300,240)" to="(310,240)"/>
<wire from="(370,690)" to="(370,820)"/>
<wire from="(430,520)" to="(430,680)"/>
<wire from="(440,390)" to="(440,530)"/>
<wire from="(20,230)" to="(350,230)"/>
<wire from="(560,360)" to="(560,500)"/>
<wire from="(350,380)" to="(380,380)"/>
<wire from="(100,740)" to="(130,740)"/>
<wire from="(170,800)" to="(320,800)"/>
<wire from="(350,660)" to="(350,670)"/>
<wire from="(520,110)" to="(520,230)"/>
<wire from="(410,860)" to="(420,860)"/>
<wire from="(560,360)" to="(630,360)"/>
<wire from="(410,670)" to="(420,670)"/>
<wire from="(410,360)" to="(560,360)"/>
<wire from="(140,160)" to="(140,320)"/>
<wire from="(410,870)" to="(440,870)"/>
<wire from="(300,440)" to="(300,450)"/>
<wire from="(370,360)" to="(380,360)"/>
<wire from="(450,500)" to="(450,660)"/>
<wire from="(330,510)" to="(340,510)"/>
<wire from="(410,370)" to="(440,370)"/>
<wire from="(410,510)" to="(420,510)"/>
<wire from="(450,500)" to="(560,500)"/>
<wire from="(430,960)" to="(430,980)"/>
<wire from="(370,370)" to="(380,370)"/>
<wire from="(590,220)" to="(610,220)"/>
<wire from="(650,200)" to="(650,270)"/>
<wire from="(700,170)" to="(740,170)"/>
<wire from="(570,370)" to="(570,520)"/>
<wire from="(610,370)" to="(650,370)"/>
<wire from="(60,750)" to="(60,820)"/>
<wire from="(420,850)" to="(420,860)"/>
<wire from="(520,110)" to="(540,110)"/>
<wire from="(110,250)" to="(250,250)"/>
<wire from="(190,590)" to="(190,770)"/>
<wire from="(210,760)" to="(240,760)"/>
<wire from="(350,670)" to="(380,670)"/>
<wire from="(340,650)" to="(380,650)"/>
<wire from="(370,840)" to="(370,850)"/>
<wire from="(250,330)" to="(250,450)"/>
<wire from="(370,870)" to="(370,880)"/>
<wire from="(420,670)" to="(420,680)"/>
<wire from="(230,320)" to="(230,460)"/>
<wire from="(320,750)" to="(320,800)"/>
<wire from="(350,520)" to="(380,520)"/>
<wire from="(200,140)" to="(200,270)"/>
<wire from="(350,480)" to="(360,480)"/>
<wire from="(320,560)" to="(330,560)"/>
<wire from="(450,840)" to="(450,940)"/>
<wire from="(330,680)" to="(380,680)"/>
<wire from="(430,520)" to="(570,520)"/>
<wire from="(20,230)" to="(20,850)"/>
<wire from="(130,730)" to="(130,740)"/>
<wire from="(240,740)" to="(240,760)"/>
<wire from="(360,490)" to="(380,490)"/>
<wire from="(610,280)" to="(610,370)"/>
<wire from="(90,780)" to="(240,780)"/>
<wire from="(230,460)" to="(310,460)"/>
<wire from="(410,940)" to="(450,940)"/>
<wire from="(330,370)" to="(340,370)"/>
<wire from="(330,260)" to="(360,260)"/>
<wire from="(440,530)" to="(440,690)"/>
<wire from="(350,760)" to="(350,780)"/>
<wire from="(640,270)" to="(650,270)"/>
<wire from="(590,200)" to="(650,200)"/>
<wire from="(450,660)" to="(450,840)"/>
<wire from="(410,960)" to="(430,960)"/>
<wire from="(370,510)" to="(380,510)"/>
<wire from="(140,320)" to="(230,320)"/>
<wire from="(80,770)" to="(190,770)"/>
<wire from="(310,710)" to="(390,710)"/>
<wire from="(360,480)" to="(360,490)"/>
<wire from="(390,710)" to="(390,740)"/>
<wire from="(370,830)" to="(380,830)"/>
<wire from="(200,140)" to="(740,140)"/>
<wire from="(410,390)" to="(440,390)"/>
<wire from="(90,760)" to="(90,780)"/>
<wire from="(200,750)" to="(270,750)"/>
<wire from="(410,500)" to="(450,500)"/>
<wire from="(500,320)" to="(500,350)"/>
<wire from="(370,850)" to="(380,850)"/>
<wire from="(350,670)" to="(350,690)"/>
<wire from="(370,500)" to="(380,500)"/>
<wire from="(590,210)" to="(630,210)"/>
<wire from="(460,490)" to="(500,490)"/>
<wire from="(410,520)" to="(420,520)"/>
<wire from="(500,350)" to="(500,490)"/>
<wire from="(410,850)" to="(420,850)"/>
<wire from="(410,490)" to="(460,490)"/>
<wire from="(410,680)" to="(420,680)"/>
<wire from="(320,420)" to="(330,420)"/>
<wire from="(310,670)" to="(310,710)"/>
<wire from="(560,230)" to="(570,230)"/>
<wire from="(320,280)" to="(320,320)"/>
<wire from="(200,270)" to="(240,270)"/>
<wire from="(280,560)" to="(290,560)"/>
<wire from="(230,740)" to="(230,770)"/>
<wire from="(410,1000)" to="(440,1000)"/>
<wire from="(410,380)" to="(440,380)"/>
<wire from="(280,260)" to="(330,260)"/>
<wire from="(440,370)" to="(570,370)"/>
<wire from="(250,450)" to="(300,450)"/>
<wire from="(290,880)" to="(370,880)"/>
<wire from="(430,290)" to="(740,290)"/>
<wire from="(230,460)" to="(230,580)"/>
<wire from="(420,520)" to="(430,520)"/>
<wire from="(460,490)" to="(460,650)"/>
<wire from="(180,690)" to="(180,730)"/>
<wire from="(280,420)" to="(290,420)"/>
<wire from="(410,690)" to="(440,690)"/>
<wire from="(60,820)" to="(370,820)"/>
<wire from="(560,160)" to="(560,230)"/>
<wire from="(240,760)" to="(240,780)"/>
<wire from="(320,280)" to="(370,280)"/>
<wire from="(360,370)" to="(370,370)"/>
<wire from="(310,440)" to="(310,460)"/>
<wire from="(420,860)" to="(430,860)"/>
<wire from="(430,680)" to="(430,860)"/>
<wire from="(430,320)" to="(450,320)"/>
<wire from="(310,740)" to="(330,740)"/>
<wire from="(620,270)" to="(640,270)"/>
<wire from="(370,370)" to="(370,390)"/>
<wire from="(350,660)" to="(380,660)"/>
<wire from="(610,220)" to="(640,220)"/>
<wire from="(410,350)" to="(500,350)"/>
<wire from="(80,760)" to="(80,770)"/>
<wire from="(10,240)" to="(300,240)"/>
<wire from="(440,390)" to="(640,390)"/>
<wire from="(430,860)" to="(430,960)"/>
<wire from="(250,590)" to="(300,590)"/>
<wire from="(370,360)" to="(370,370)"/>
<wire from="(330,510)" to="(330,560)"/>
<wire from="(380,230)" to="(410,230)"/>
<wire from="(300,220)" to="(300,240)"/>
<wire from="(200,690)" to="(350,690)"/>
<wire from="(340,670)" to="(350,670)"/>
<wire from="(740,140)" to="(740,170)"/>
<wire from="(440,870)" to="(440,1000)"/>
<wire from="(340,350)" to="(380,350)"/>
<wire from="(630,210)" to="(630,360)"/>
<wire from="(410,830)" to="(460,830)"/>
<wire from="(490,320)" to="(500,320)"/>
<wire from="(340,760)" to="(340,770)"/>
<wire from="(410,840)" to="(450,840)"/>
<wire from="(280,390)" to="(280,420)"/>
<wire from="(60,750)" to="(70,750)"/>
<wire from="(410,530)" to="(440,530)"/>
<wire from="(440,690)" to="(440,870)"/>
<wire from="(370,690)" to="(380,690)"/>
<wire from="(260,730)" to="(270,730)"/>
<wire from="(280,390)" to="(370,390)"/>
<wire from="(230,320)" to="(320,320)"/>
<wire from="(320,750)" to="(330,750)"/>
<wire from="(370,250)" to="(370,280)"/>
<wire from="(420,680)" to="(430,680)"/>
<wire from="(210,600)" to="(310,600)"/>
<wire from="(370,870)" to="(380,870)"/>
<wire from="(420,510)" to="(420,520)"/>
<wire from="(370,840)" to="(380,840)"/>
<wire from="(200,720)" to="(220,720)"/>
<wire from="(410,660)" to="(450,660)"/>
<wire from="(190,770)" to="(230,770)"/>
<wire from="(10,870)" to="(260,870)"/>
<wire from="(230,770)" to="(340,770)"/>
<wire from="(410,980)" to="(430,980)"/>
<wire from="(410,650)" to="(460,650)"/>
<wire from="(240,780)" to="(350,780)"/>
<wire from="(460,830)" to="(460,920)"/>
<wire from="(250,330)" to="(330,330)"/>
<wire from="(260,720)" to="(260,730)"/>
<wire from="(150,690)" to="(180,690)"/>
<wire from="(570,370)" to="(610,370)"/>
<wire from="(250,720)" to="(260,720)"/>
<wire from="(640,250)" to="(740,250)"/>
<wire from="(20,850)" to="(370,850)"/>
<wire from="(150,700)" to="(170,700)"/>
<wire from="(10,240)" to="(10,870)"/>
<wire from="(250,450)" to="(250,590)"/>
<wire from="(300,580)" to="(300,590)"/>
<wire from="(430,290)" to="(430,320)"/>
<wire from="(300,220)" to="(350,220)"/>
<wire from="(280,530)" to="(370,530)"/>
<wire from="(740,250)" to="(740,290)"/>
<wire from="(210,580)" to="(230,580)"/>
<wire from="(370,510)" to="(370,530)"/>
<wire from="(210,580)" to="(210,600)"/>
<wire from="(330,370)" to="(330,420)"/>
<wire from="(360,740)" to="(390,740)"/>
<wire from="(360,510)" to="(370,510)"/>
<wire from="(310,580)" to="(310,600)"/>
<wire from="(170,700)" to="(170,800)"/>
<wire from="(200,720)" to="(200,750)"/>
<wire from="(440,370)" to="(440,380)"/>
<wire from="(300,860)" to="(380,860)"/>
<comp lib="0" loc="(110,160)" name="Pin">
<a name="facing" val="south"/>
<a name="tristate" val="false"/>
<a name="label" val="clk"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(650,370)" name="Probe">
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(380,230)" name="Counter"/>
<comp lib="1" loc="(610,280)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="8"/>
<a name="control" val="left"/>
</comp>
<comp lib="0" loc="(410,230)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="iaddr"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(340,350)" name="Constant">
<a name="width" val="7"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="1" loc="(360,510)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
<comp lib="2" loc="(130,730)" name="Decoder">
<a name="select" val="2"/>
</comp>
<comp lib="0" loc="(410,1000)" name="Pin">
<a name="output" val="true"/>
<a name="tristate" val="false"/>
<a name="label" val="~R/W"/>
</comp>
<comp lib="4" loc="(320,560)" name="Register"/>
<comp loc="(410,650)" name="pdecoder"/>
<comp lib="1" loc="(280,260)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(660,180)" name="Constant">
<a name="width" val="16"/>
<a name="value" val="0xffff"/>
</comp>
<comp lib="1" loc="(340,240)" name="NOT Gate"/>
<comp lib="0" loc="(370,830)" name="Constant">
<a name="width" val="7"/>
<a name="value" val="0x3"/>
</comp>
<comp lib="0" loc="(490,320)" name="Bit Extender">
<a name="out_width" val="7"/>
</comp>
<comp lib="1" loc="(340,670)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
<comp lib="1" loc="(260,870)" name="AND Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate0" val="true"/>
</comp>
<comp lib="4" loc="(100,740)" name="Counter">
<a name="width" val="2"/>
<a name="max" val="0x2"/>
</comp>
<comp lib="0" loc="(410,960)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="d out"/>
</comp>
<comp loc="(410,490)" name="pdecoder"/>
<comp lib="3" loc="(700,170)" name="Comparator">
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(250,720)" name="Register"/>
<comp lib="0" loc="(340,650)" name="Constant">
<a name="width" val="7"/>
<a name="value" val="0x2"/>
</comp>
<comp loc="(410,830)" name="pdecoder"/>
<comp lib="0" loc="(350,480)" name="Constant">
<a name="width" val="7"/>
</comp>
<comp loc="(410,350)" name="pdecoder"/>
<comp lib="0" loc="(140,160)" name="Pin">
<a name="facing" val="south"/>
<a name="tristate" val="false"/>
<a name="label" val="rst"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="4" loc="(360,740)" name="Register"/>
<comp lib="1" loc="(360,370)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
<comp lib="3" loc="(310,740)" name="Adder"/>
<comp lib="0" loc="(410,980)" name="Pin">
<a name="width" val="8"/>
<a name="label" val="d in"/>
</comp>
<comp lib="0" loc="(1100,350)" name="Bit Extender">
<a name="out_width" val="7"/>
</comp>
<comp lib="0" loc="(410,940)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="tristate" val="false"/>
<a name="label" val="addr"/>
</comp>
<comp lib="4" loc="(320,420)" name="Register"/>
<comp lib="0" loc="(540,110)" name="Pin">
<a name="facing" val="west"/>
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="ins"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(410,920)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="7"/>
<a name="tristate" val="false"/>
<a name="label" val="waddr"/>
</comp>
<comp lib="0" loc="(570,230)" name="Splitter">
<a name="fanout" val="3"/>
<a name="incoming" val="16"/>
<a name="bit0" val="2"/>
<a name="bit1" val="2"/>
<a name="bit3" val="2"/>
<a name="bit4" val="2"/>
<a name="bit5" val="2"/>
<a name="bit6" val="2"/>
<a name="bit7" val="2"/>
<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="0"/>
</comp>
</circuit>
<circuit name="pdecoder">
<a name="circuit" val="pdecoder"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(350,60)" to="(350,70)"/>
<wire from="(380,130)" to="(380,180)"/>
<wire from="(30,10)" to="(30,60)"/>
<wire from="(320,190)" to="(320,300)"/>
<wire from="(340,70)" to="(350,70)"/>
<wire from="(400,280)" to="(400,310)"/>
<wire from="(410,240)" to="(630,240)"/>
<wire from="(60,200)" to="(70,200)"/>
<wire from="(200,240)" to="(390,240)"/>
<wire from="(50,100)" to="(70,100)"/>
<wire from="(40,30)" to="(110,30)"/>
<wire from="(60,120)" to="(60,140)"/>
<wire from="(620,160)" to="(620,180)"/>
<wire from="(240,340)" to="(680,340)"/>
<wire from="(60,160)" to="(60,200)"/>
<wire from="(180,210)" to="(210,210)"/>
<wire from="(310,290)" to="(450,290)"/>
<wire from="(50,50)" to="(50,60)"/>
<wire from="(330,80)" to="(330,110)"/>
<wire from="(130,240)" to="(140,240)"/>
<wire from="(330,180)" to="(380,180)"/>
<wire from="(300,20)" to="(300,50)"/>
<wire from="(240,230)" to="(240,340)"/>
<wire from="(210,200)" to="(230,200)"/>
<wire from="(350,80)" to="(710,80)"/>
<wire from="(210,200)" to="(210,210)"/>
<wire from="(290,70)" to="(310,70)"/>
<wire from="(420,160)" to="(620,160)"/>
<wire from="(620,220)" to="(630,220)"/>
<wire from="(660,130)" to="(660,310)"/>
<wire from="(340,70)" to="(340,80)"/>
<wire from="(480,290)" to="(620,290)"/>
<wire from="(310,290)" to="(310,320)"/>
<wire from="(320,300)" to="(340,300)"/>
<wire from="(280,60)" to="(290,60)"/>
<wire from="(350,60)" to="(680,60)"/>
<wire from="(680,60)" to="(680,340)"/>
<wire from="(60,160)" to="(200,160)"/>
<wire from="(600,310)" to="(660,310)"/>
<wire from="(50,180)" to="(50,270)"/>
<wire from="(330,80)" to="(340,80)"/>
<wire from="(410,270)" to="(650,270)"/>
<wire from="(370,310)" to="(400,310)"/>
<wire from="(620,200)" to="(650,200)"/>
<wire from="(310,210)" to="(310,290)"/>
<wire from="(30,60)" to="(50,60)"/>
<wire from="(330,190)" to="(340,190)"/>
<wire from="(370,200)" to="(400,200)"/>
<wire from="(30,10)" to="(110,10)"/>
<wire from="(380,130)" to="(660,130)"/>
<wire from="(50,180)" to="(70,180)"/>
<wire from="(50,50)" to="(240,50)"/>
<wire from="(630,220)" to="(630,240)"/>
<wire from="(340,140)" to="(340,150)"/>
<wire from="(130,240)" to="(130,350)"/>
<wire from="(400,200)" to="(400,230)"/>
<wire from="(230,90)" to="(250,90)"/>
<wire from="(320,130)" to="(320,150)"/>
<wire from="(130,220)" to="(180,220)"/>
<wire from="(350,80)" to="(350,100)"/>
<wire from="(310,130)" to="(320,130)"/>
<wire from="(610,250)" to="(620,250)"/>
<wire from="(130,350)" to="(710,350)"/>
<wire from="(60,120)" to="(270,120)"/>
<wire from="(320,190)" to="(330,190)"/>
<wire from="(230,70)" to="(240,70)"/>
<wire from="(40,140)" to="(60,140)"/>
<wire from="(420,90)" to="(420,160)"/>
<wire from="(710,80)" to="(710,350)"/>
<wire from="(310,320)" to="(340,320)"/>
<wire from="(340,60)" to="(350,60)"/>
<wire from="(330,180)" to="(330,190)"/>
<wire from="(50,60)" to="(50,100)"/>
<wire from="(150,20)" to="(300,20)"/>
<wire from="(250,140)" to="(270,140)"/>
<wire from="(200,160)" to="(200,240)"/>
<wire from="(310,210)" to="(330,210)"/>
<wire from="(130,220)" to="(130,240)"/>
<wire from="(620,250)" to="(620,290)"/>
<wire from="(230,70)" to="(230,90)"/>
<wire from="(250,90)" to="(250,140)"/>
<wire from="(260,210)" to="(310,210)"/>
<wire from="(290,60)" to="(290,70)"/>
<wire from="(40,30)" to="(40,140)"/>
<wire from="(50,270)" to="(390,270)"/>
<wire from="(650,200)" to="(650,270)"/>
<wire from="(250,90)" to="(420,90)"/>
<wire from="(220,220)" to="(230,220)"/>
<wire from="(610,180)" to="(620,180)"/>
<wire from="(60,140)" to="(70,140)"/>
<wire from="(180,210)" to="(180,220)"/>
<comp lib="0" loc="(70,200)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val=" d in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(260,210)" name="Multiplexer">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="3" loc="(280,60)" name="Comparator">
<a name="width" val="7"/>
</comp>
<comp lib="1" loc="(340,140)" name="AND Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(410,270)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(610,180)" name="Pin">
<a name="width" val="7"/>
<a name="tristate" val="false"/>
<a name="label" val="dev addr"/>
</comp>
<comp lib="1" loc="(480,290)" name="NOT Gate"/>
<comp lib="1" loc="(370,200)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(330,180)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(370,310)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(600,310)" name="Pin">
<a name="output" val="true"/>
<a name="label" val="En"/>
</comp>
<comp lib="3" loc="(150,20)" name="Comparator">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(140,240)" name="Pin">
<a name="facing" val="west"/>
<a name="tristate" val="false"/>
<a name="label" val="~R/W"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(340,60)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate0" val="true"/>
</comp>
<comp lib="1" loc="(390,240)" name="Controlled Buffer">
<a name="facing" val="west"/>
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(70,140)" name="Pin">
<a name="facing" val="west"/>
<a name="width" val="7"/>
<a name="tristate" val="false"/>
<a name="label" val="addr"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(310,130)" name="Comparator">
<a name="width" val="7"/>
</comp>
<comp lib="0" loc="(610,250)" name="Pin">
<a name="output" val="true"/>
<a name="label" val="R/~W"/>
</comp>
<comp lib="0" loc="(220,220)" name="Constant"/>
<comp lib="0" loc="(70,100)" name="Pin">
<a name="facing" val="west"/>
<a name="width" val="7"/>
<a name="tristate" val="false"/>
<a name="label" val="waddr"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(620,220)" name="Pin">
<a name="width" val="8"/>
<a name="label" val=" d out"/>
</comp>
<comp lib="0" loc="(620,200)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val=" d in"/>
</comp>
<comp lib="0" loc="(70,180)" name="Pin">
<a name="facing" val="west"/>
<a name="width" val="8"/>
<a name="label" val="d out"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
<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="(480,410)" to="(480,450)"/>
<wire from="(510,620)" to="(510,650)"/>
<wire from="(410,620)" to="(430,620)"/>
<wire from="(110,790)" to="(410,790)"/>
<wire from="(170,640)" to="(210,640)"/>
<wire from="(470,450)" to="(480,450)"/>
<wire from="(560,440)" to="(590,440)"/>
<wire from="(530,430)" to="(530,500)"/>
<wire from="(190,720)" to="(200,720)"/>
<wire from="(460,600)" to="(490,600)"/>
<wire from="(190,630)" to="(190,650)"/>
<wire from="(400,610)" to="(400,670)"/>
<wire from="(470,470)" to="(490,470)"/>
<wire from="(470,580)" to="(470,730)"/>
<wire from="(170,620)" to="(180,620)"/>
<wire from="(140,760)" to="(140,780)"/>
<wire from="(110,750)" to="(120,750)"/>
<wire from="(500,610)" to="(520,610)"/>
<wire from="(110,750)" to="(110,790)"/>
<wire from="(340,650)" to="(340,660)"/>
<wire from="(150,410)" to="(480,410)"/>
<wire from="(380,600)" to="(420,600)"/>
<wire from="(320,670)" to="(400,670)"/>
<wire from="(90,670)" to="(90,780)"/>
<wire from="(180,730)" to="(180,740)"/>
<wire from="(300,650)" to="(300,680)"/>
<wire from="(460,610)" to="(500,610)"/>
<wire from="(510,620)" to="(520,620)"/>
<wire from="(90,780)" to="(140,780)"/>
<wire from="(100,710)" to="(100,770)"/>
<wire from="(130,680)" to="(300,680)"/>
<wire from="(90,420)" to="(90,670)"/>
<wire from="(280,650)" to="(280,730)"/>
<wire from="(380,560)" to="(380,600)"/>
<wire from="(480,450)" to="(490,450)"/>
<wire from="(200,630)" to="(200,670)"/>
<wire from="(130,680)" to="(130,710)"/>
<wire from="(130,760)" to="(130,770)"/>
<wire from="(200,730)" to="(280,730)"/>
<wire from="(410,620)" to="(410,790)"/>
<wire from="(420,590)" to="(430,590)"/>
<wire from="(130,430)" to="(530,430)"/>
<wire from="(490,690)" to="(580,690)"/>
<wire from="(480,590)" to="(480,710)"/>
<wire from="(420,590)" to="(420,600)"/>
<wire from="(150,410)" to="(150,660)"/>
<wire from="(500,670)" to="(580,670)"/>
<wire from="(130,650)" to="(130,680)"/>
<wire from="(170,620)" to="(170,640)"/>
<wire from="(100,710)" to="(130,710)"/>
<wire from="(380,600)" to="(380,610)"/>
<wire from="(420,580)" to="(430,580)"/>
<wire from="(320,650)" to="(320,670)"/>
<wire from="(500,500)" to="(530,500)"/>
<wire from="(100,770)" to="(130,770)"/>
<wire from="(130,430)" to="(130,650)"/>
<wire from="(460,580)" to="(470,580)"/>
<wire from="(130,650)" to="(190,650)"/>
<wire from="(460,620)" to="(510,620)"/>
<wire from="(530,500)" to="(530,570)"/>
<wire from="(190,700)" to="(210,700)"/>
<wire from="(540,460)" to="(540,570)"/>
<wire from="(510,650)" to="(580,650)"/>
<wire from="(370,610)" to="(380,610)"/>
<wire from="(470,580)" to="(520,580)"/>
<wire from="(150,740)" to="(180,740)"/>
<wire from="(90,420)" to="(540,420)"/>
<wire from="(160,560)" to="(380,560)"/>
<wire from="(160,610)" to="(180,610)"/>
<wire from="(150,660)" to="(340,660)"/>
<wire from="(160,560)" to="(160,610)"/>
<wire from="(500,610)" to="(500,670)"/>
<wire from="(400,610)" to="(430,610)"/>
<wire from="(210,610)" to="(230,610)"/>
<wire from="(550,590)" to="(560,590)"/>
<wire from="(480,590)" to="(520,590)"/>
<wire from="(490,600)" to="(490,690)"/>
<wire from="(210,640)" to="(210,700)"/>
<wire from="(200,720)" to="(200,730)"/>
<wire from="(90,670)" to="(200,670)"/>
<wire from="(560,440)" to="(560,590)"/>
<wire from="(750,440)" to="(750,600)"/>
<wire from="(420,600)" to="(430,600)"/>
<wire from="(460,590)" to="(480,590)"/>
<wire from="(550,600)" to="(750,600)"/>
<wire from="(540,420)" to="(540,460)"/>
<wire from="(490,600)" to="(520,600)"/>
<wire from="(470,730)" to="(580,730)"/>
<wire from="(730,440)" to="(750,440)"/>
<wire from="(480,710)" to="(580,710)"/>
<wire from="(520,460)" to="(540,460)"/>
<comp lib="0" loc="(580,650)" name="Probe">
<a name="facing" val="west"/>
<a name="label" val="~R/W"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(370,610)" name="RAM"/>
<comp lib="0" loc="(420,580)" name="Constant">
<a name="width" val="7"/>
<a name="value" val="0x4"/>
</comp>
<comp lib="4" loc="(150,740)" name="Counter">
<a name="width" val="1"/>
<a name="max" val="0x1"/>
</comp>
<comp lib="5" loc="(470,450)" name="Button">
<a name="label" val="Reset and clear RAM"/>
<a name="labelloc" val="west"/>
</comp>
<comp loc="(460,580)" name="pdecoder"/>
<comp lib="0" loc="(500,500)" name="Clock"/>
<comp lib="5" loc="(470,470)" name="Button">
<a name="label" val="Reset"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="0" loc="(580,670)" name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="din"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(580,710)" name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="addr"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(520,460)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(580,730)" name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="waddr/imm"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(180,730)" name="Decoder">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp loc="(550,600)" name="cpu"/>
<comp lib="4" loc="(210,610)" name="Register"/>
<comp lib="0" loc="(580,690)" name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="dout"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(730,440)" name="ROM">
<a name="dataWidth" val="16"/>
<a name="contents">addr/data: 8 16
8002 8106 2 102 200
</a>
</comp>
</circuit>
</project>