logisim-stuff/8080.circ
2015-02-02 12:22:06 -06:00

341 lines
12 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">
<tool name="Splitter">
<a name="fanout" val="7"/>
<a name="incoming" val="7"/>
<a name="appear" val="right"/>
</tool>
<tool name="Pin">
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
<a name="label" val="Reset"/>
</tool>
<tool name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
</tool>
<tool name="Tunnel">
<a name="label" val="JMP"/>
</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">
<tool name="AND Gate">
<a name="inputs" val="8"/>
</tool>
<tool name="OR Gate">
<a name="inputs" val="8"/>
</tool>
<tool name="XOR Gate">
<a name="inputs" val="8"/>
</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="#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="RF"/>
<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="Button3" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" 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="output" val="true"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="RF">
<a name="circuit" val="RF"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(410,730)" to="(430,730)"/>
<wire from="(280,500)" to="(390,500)"/>
<wire from="(420,500)" to="(600,500)"/>
<wire from="(370,390)" to="(400,390)"/>
<wire from="(380,510)" to="(390,510)"/>
<wire from="(400,520)" to="(400,530)"/>
<wire from="(340,440)" to="(340,620)"/>
<wire from="(280,720)" to="(390,720)"/>
<wire from="(420,360)" to="(470,360)"/>
<wire from="(320,560)" to="(320,710)"/>
<wire from="(360,570)" to="(390,570)"/>
<wire from="(580,480)" to="(600,480)"/>
<wire from="(400,660)" to="(400,670)"/>
<wire from="(300,300)" to="(300,580)"/>
<wire from="(410,450)" to="(430,450)"/>
<wire from="(420,570)" to="(450,570)"/>
<wire from="(420,710)" to="(480,710)"/>
<wire from="(430,380)" to="(430,450)"/>
<wire from="(340,440)" to="(390,440)"/>
<wire from="(290,290)" to="(390,290)"/>
<wire from="(310,370)" to="(390,370)"/>
<wire from="(410,520)" to="(430,520)"/>
<wire from="(370,460)" to="(370,530)"/>
<wire from="(290,290)" to="(290,440)"/>
<wire from="(280,480)" to="(330,480)"/>
<wire from="(280,600)" to="(310,600)"/>
<wire from="(360,580)" to="(360,660)"/>
<wire from="(280,640)" to="(350,640)"/>
<wire from="(410,660)" to="(430,660)"/>
<wire from="(400,380)" to="(400,390)"/>
<wire from="(480,560)" to="(600,560)"/>
<wire from="(420,640)" to="(460,640)"/>
<wire from="(410,730)" to="(410,760)"/>
<wire from="(430,520)" to="(430,590)"/>
<wire from="(480,560)" to="(480,710)"/>
<wire from="(280,510)" to="(360,510)"/>
<wire from="(280,460)" to="(320,460)"/>
<wire from="(330,430)" to="(390,430)"/>
<wire from="(370,530)" to="(370,600)"/>
<wire from="(410,380)" to="(430,380)"/>
<wire from="(400,730)" to="(400,740)"/>
<wire from="(380,610)" to="(380,640)"/>
<wire from="(320,360)" to="(320,460)"/>
<wire from="(370,600)" to="(400,600)"/>
<wire from="(430,590)" to="(430,660)"/>
<wire from="(430,450)" to="(430,520)"/>
<wire from="(300,300)" to="(390,300)"/>
<wire from="(370,460)" to="(400,460)"/>
<wire from="(400,590)" to="(400,600)"/>
<wire from="(330,540)" to="(330,610)"/>
<wire from="(380,650)" to="(380,680)"/>
<wire from="(370,670)" to="(400,670)"/>
<wire from="(400,310)" to="(400,320)"/>
<wire from="(280,680)" to="(380,680)"/>
<wire from="(320,710)" to="(390,710)"/>
<wire from="(410,590)" to="(430,590)"/>
<wire from="(420,290)" to="(600,290)"/>
<wire from="(430,660)" to="(430,730)"/>
<wire from="(370,670)" to="(370,740)"/>
<wire from="(380,650)" to="(390,650)"/>
<wire from="(600,290)" to="(600,440)"/>
<wire from="(470,460)" to="(600,460)"/>
<wire from="(370,390)" to="(370,460)"/>
<wire from="(280,540)" to="(330,540)"/>
<wire from="(380,490)" to="(380,510)"/>
<wire from="(450,520)" to="(450,570)"/>
<wire from="(280,620)" to="(340,620)"/>
<wire from="(350,490)" to="(380,490)"/>
<wire from="(280,700)" to="(280,720)"/>
<wire from="(280,510)" to="(280,520)"/>
<wire from="(460,540)" to="(600,540)"/>
<wire from="(370,530)" to="(400,530)"/>
<wire from="(400,450)" to="(400,460)"/>
<wire from="(460,540)" to="(460,640)"/>
<wire from="(330,430)" to="(330,480)"/>
<wire from="(370,600)" to="(370,670)"/>
<wire from="(280,440)" to="(290,440)"/>
<wire from="(420,430)" to="(580,430)"/>
<wire from="(280,580)" to="(300,580)"/>
<wire from="(370,740)" to="(400,740)"/>
<wire from="(580,430)" to="(580,480)"/>
<wire from="(280,660)" to="(360,660)"/>
<wire from="(370,760)" to="(410,760)"/>
<wire from="(320,360)" to="(390,360)"/>
<wire from="(280,560)" to="(320,560)"/>
<wire from="(370,320)" to="(400,320)"/>
<wire from="(360,510)" to="(360,570)"/>
<wire from="(470,360)" to="(470,460)"/>
<wire from="(380,640)" to="(390,640)"/>
<wire from="(310,370)" to="(310,600)"/>
<wire from="(410,310)" to="(430,310)"/>
<wire from="(330,610)" to="(380,610)"/>
<wire from="(430,310)" to="(430,380)"/>
<wire from="(360,580)" to="(390,580)"/>
<wire from="(450,520)" to="(600,520)"/>
<wire from="(370,320)" to="(370,390)"/>
<wire from="(350,490)" to="(350,640)"/>
<comp lib="0" loc="(280,500)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="D in"/>
</comp>
<comp lib="0" loc="(280,440)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="A in"/>
</comp>
<comp lib="4" loc="(420,710)" name="Register"/>
<comp lib="0" loc="(600,540)" 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="H in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(600,460)" 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="B in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(280,520)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="E in"/>
</comp>
<comp lib="4" loc="(420,430)" name="Register"/>
<comp lib="0" loc="(280,700)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en L"/>
</comp>
<comp lib="4" loc="(420,500)" name="Register"/>
<comp lib="4" loc="(420,360)" name="Register"/>
<comp lib="4" loc="(420,290)" name="Register"/>
<comp lib="0" loc="(600,480)" 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="C in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(280,660)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en E"/>
</comp>
<comp lib="0" loc="(280,620)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en C"/>
</comp>
<comp lib="0" loc="(280,480)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="C in"/>
</comp>
<comp lib="0" loc="(280,540)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="H in"/>
</comp>
<comp lib="0" loc="(600,500)" 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="D in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(280,560)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="L in"/>
</comp>
<comp lib="0" loc="(280,580)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en A"/>
</comp>
<comp lib="0" loc="(280,600)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en B"/>
</comp>
<comp lib="0" loc="(600,440)" 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="A in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(600,560)" 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="L in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(370,740)" name="Clock"/>
<comp lib="0" loc="(370,760)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="res"/>
</comp>
<comp lib="0" loc="(280,460)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="B in"/>
</comp>
<comp lib="0" loc="(280,680)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en H"/>
</comp>
<comp lib="0" loc="(280,640)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="en D"/>
</comp>
<comp lib="4" loc="(420,640)" name="Register"/>
<comp lib="0" loc="(600,520)" 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="E in"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(420,570)" name="Register"/>
</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="(350,160)" to="(350,250)"/>
<wire from="(340,220)" to="(340,260)"/>
<wire from="(180,220)" to="(340,220)"/>
<wire from="(340,260)" to="(350,260)"/>
<wire from="(180,160)" to="(350,160)"/>
<comp lib="3" loc="(180,220)" name="Subtractor"/>
<comp lib="2" loc="(390,290)" name="Multiplexer">
<a name="select" val="3"/>
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="3" loc="(180,160)" name="Adder"/>
</circuit>
</project>