312 lines
11 KiB
XML
312 lines
11 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="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"/>
|
|
</tool>
|
|
<tool name="Pin">
|
|
<a name="label" val="jmp"/>
|
|
</tool>
|
|
<tool name="Clock">
|
|
<a name="facing" val="north"/>
|
|
</tool>
|
|
<tool name="Constant">
|
|
<a name="facing" val="west"/>
|
|
</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"/>
|
|
<a name="label" val="a/s"/>
|
|
</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"/>
|
|
<a name="negate1" val="true"/>
|
|
</tool>
|
|
<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="(480,140)" to="(480,150)"/>
|
|
<wire from="(600,530)" to="(600,550)"/>
|
|
<wire from="(270,230)" to="(290,230)"/>
|
|
<wire from="(390,100)" to="(450,100)"/>
|
|
<wire from="(540,140)" to="(540,150)"/>
|
|
<wire from="(60,180)" to="(60,210)"/>
|
|
<wire from="(290,170)" to="(290,230)"/>
|
|
<wire from="(370,500)" to="(370,510)"/>
|
|
<wire from="(350,390)" to="(350,480)"/>
|
|
<wire from="(410,380)" to="(790,380)"/>
|
|
<wire from="(660,100)" to="(660,390)"/>
|
|
<wire from="(210,260)" to="(300,260)"/>
|
|
<wire from="(430,550)" to="(520,550)"/>
|
|
<wire from="(210,360)" to="(340,360)"/>
|
|
<wire from="(520,550)" to="(520,560)"/>
|
|
<wire from="(520,140)" to="(520,180)"/>
|
|
<wire from="(130,190)" to="(300,190)"/>
|
|
<wire from="(730,520)" to="(790,520)"/>
|
|
<wire from="(660,520)" to="(700,520)"/>
|
|
<wire from="(60,180)" to="(110,180)"/>
|
|
<wire from="(10,190)" to="(130,190)"/>
|
|
<wire from="(600,490)" to="(600,510)"/>
|
|
<wire from="(20,170)" to="(290,170)"/>
|
|
<wire from="(410,130)" to="(410,380)"/>
|
|
<wire from="(130,160)" to="(130,190)"/>
|
|
<wire from="(390,540)" to="(430,540)"/>
|
|
<wire from="(430,140)" to="(430,300)"/>
|
|
<wire from="(600,530)" to="(630,530)"/>
|
|
<wire from="(30,120)" to="(30,150)"/>
|
|
<wire from="(410,110)" to="(420,110)"/>
|
|
<wire from="(300,620)" to="(640,620)"/>
|
|
<wire from="(410,70)" to="(410,110)"/>
|
|
<wire from="(430,540)" to="(430,550)"/>
|
|
<wire from="(20,110)" to="(20,170)"/>
|
|
<wire from="(710,540)" to="(710,580)"/>
|
|
<wire from="(360,80)" to="(370,80)"/>
|
|
<wire from="(330,510)" to="(330,570)"/>
|
|
<wire from="(480,150)" to="(500,150)"/>
|
|
<wire from="(60,130)" to="(60,180)"/>
|
|
<wire from="(210,400)" to="(310,400)"/>
|
|
<wire from="(370,570)" to="(370,580)"/>
|
|
<wire from="(350,540)" to="(360,540)"/>
|
|
<wire from="(500,480)" to="(500,540)"/>
|
|
<wire from="(500,540)" to="(540,540)"/>
|
|
<wire from="(360,70)" to="(410,70)"/>
|
|
<wire from="(350,90)" to="(370,90)"/>
|
|
<wire from="(320,550)" to="(360,550)"/>
|
|
<wire from="(530,150)" to="(540,150)"/>
|
|
<wire from="(590,100)" to="(660,100)"/>
|
|
<wire from="(790,380)" to="(790,520)"/>
|
|
<wire from="(640,540)" to="(640,620)"/>
|
|
<wire from="(390,480)" to="(500,480)"/>
|
|
<wire from="(500,480)" to="(540,480)"/>
|
|
<wire from="(520,500)" to="(540,500)"/>
|
|
<wire from="(300,190)" to="(300,260)"/>
|
|
<wire from="(370,580)" to="(710,580)"/>
|
|
<wire from="(350,480)" to="(360,480)"/>
|
|
<wire from="(690,530)" to="(700,530)"/>
|
|
<wire from="(330,570)" to="(370,570)"/>
|
|
<wire from="(110,180)" to="(110,510)"/>
|
|
<wire from="(30,150)" to="(90,150)"/>
|
|
<wire from="(20,110)" to="(50,110)"/>
|
|
<wire from="(80,110)" to="(190,110)"/>
|
|
<wire from="(350,480)" to="(350,540)"/>
|
|
<wire from="(210,440)" to="(300,440)"/>
|
|
<wire from="(350,390)" to="(660,390)"/>
|
|
<wire from="(110,180)" to="(520,180)"/>
|
|
<wire from="(330,510)" to="(370,510)"/>
|
|
<wire from="(410,130)" to="(420,130)"/>
|
|
<wire from="(480,150)" to="(480,320)"/>
|
|
<wire from="(580,550)" to="(600,550)"/>
|
|
<wire from="(340,360)" to="(340,490)"/>
|
|
<wire from="(110,510)" to="(330,510)"/>
|
|
<wire from="(10,100)" to="(10,190)"/>
|
|
<wire from="(580,490)" to="(600,490)"/>
|
|
<wire from="(600,510)" to="(630,510)"/>
|
|
<wire from="(690,530)" to="(690,600)"/>
|
|
<wire from="(310,400)" to="(310,600)"/>
|
|
<wire from="(210,320)" to="(480,320)"/>
|
|
<wire from="(370,560)" to="(370,570)"/>
|
|
<wire from="(360,70)" to="(360,80)"/>
|
|
<wire from="(210,300)" to="(430,300)"/>
|
|
<wire from="(520,500)" to="(520,550)"/>
|
|
<wire from="(210,380)" to="(320,380)"/>
|
|
<wire from="(300,440)" to="(300,620)"/>
|
|
<wire from="(520,560)" to="(540,560)"/>
|
|
<wire from="(310,600)" to="(690,600)"/>
|
|
<wire from="(340,490)" to="(360,490)"/>
|
|
<wire from="(10,100)" to="(50,100)"/>
|
|
<wire from="(320,380)" to="(320,550)"/>
|
|
<wire from="(30,120)" to="(50,120)"/>
|
|
<wire from="(350,80)" to="(360,80)"/>
|
|
<comp lib="0" loc="(120,140)" name="Constant">
|
|
<a name="facing" val="west"/>
|
|
</comp>
|
|
<comp lib="0" loc="(60,210)" name="Clock">
|
|
<a name="facing" val="north"/>
|
|
</comp>
|
|
<comp lib="0" loc="(210,260)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="jmp"/>
|
|
</comp>
|
|
<comp lib="3" loc="(580,550)" name="Subtractor"/>
|
|
<comp lib="0" loc="(210,320)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="str"/>
|
|
</comp>
|
|
<comp lib="2" loc="(450,120)" name="Multiplexer">
|
|
<a name="width" val="8"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(270,230)" name="Pin">
|
|
<a name="width" val="16"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="addr"/>
|
|
</comp>
|
|
<comp lib="4" loc="(730,520)" name="Register"/>
|
|
<comp lib="4" loc="(80,110)" name="Counter">
|
|
<a name="width" val="16"/>
|
|
<a name="max" val="0xffff"/>
|
|
</comp>
|
|
<comp lib="0" loc="(330,110)" name="Splitter">
|
|
<a name="fanout" val="3"/>
|
|
<a name="incoming" val="24"/>
|
|
<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"/>
|
|
<a name="bit16" val="2"/>
|
|
<a name="bit17" val="2"/>
|
|
<a name="bit18" val="2"/>
|
|
<a name="bit19" val="2"/>
|
|
<a name="bit20" val="2"/>
|
|
<a name="bit21" val="2"/>
|
|
<a name="bit22" val="2"/>
|
|
<a name="bit23" val="2"/>
|
|
</comp>
|
|
<comp lib="4" loc="(590,100)" name="RAM">
|
|
<a name="addrWidth" val="16"/>
|
|
<a name="bus" val="separate"/>
|
|
</comp>
|
|
<comp lib="0" loc="(210,400)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="ren"/>
|
|
</comp>
|
|
<comp lib="2" loc="(660,520)" name="Multiplexer">
|
|
<a name="width" val="8"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="1" loc="(90,150)" name="AND Gate">
|
|
<a name="facing" val="west"/>
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
<a name="negate1" val="true"/>
|
|
</comp>
|
|
<comp lib="0" loc="(210,360)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="aen"/>
|
|
</comp>
|
|
<comp lib="0" loc="(210,300)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="msel"/>
|
|
</comp>
|
|
<comp lib="4" loc="(390,540)" name="Register"/>
|
|
<comp lib="0" loc="(210,380)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="ben"/>
|
|
</comp>
|
|
<comp lib="4" loc="(390,480)" name="Register"/>
|
|
<comp lib="3" loc="(580,490)" name="Adder"/>
|
|
<comp lib="0" loc="(210,440)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="a/s"/>
|
|
</comp>
|
|
<comp lib="0" loc="(390,100)" name="Splitter">
|
|
<a name="facing" val="west"/>
|
|
<a name="incoming" val="16"/>
|
|
<a name="appear" val="right"/>
|
|
<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="4" loc="(330,110)" name="ROM">
|
|
<a name="addrWidth" val="16"/>
|
|
<a name="dataWidth" val="24"/>
|
|
<a name="contents">addr/data: 16 24
|
|
0
|
|
</a>
|
|
</comp>
|
|
<comp lib="1" loc="(530,150)" name="NOT Gate"/>
|
|
</circuit>
|
|
</project>
|