331 lines
11 KiB
XML
331 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="fanout" val="7"/>
|
|
<a name="incoming" val="7"/>
|
|
</tool>
|
|
<tool name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="carry/"/>
|
|
</tool>
|
|
<tool name="Probe">
|
|
<a name="radix" val="16"/>
|
|
<a name="label" val="2'nd jump mux out"/>
|
|
<a name="labelloc" val="east"/>
|
|
</tool>
|
|
<tool name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="1"/>
|
|
</tool>
|
|
<tool name="Pull Resistor">
|
|
<a name="facing" val="north"/>
|
|
</tool>
|
|
<tool name="Constant">
|
|
<a name="facing" val="west"/>
|
|
<a name="value" val="0x0"/>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#Gates" name="1">
|
|
<tool name="NOR Gate">
|
|
<a name="inputs" val="7"/>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#Plexers" name="2">
|
|
<tool name="Multiplexer">
|
|
<a name="width" val="24"/>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#Arithmetic" name="3"/>
|
|
<lib desc="#Memory" name="4">
|
|
<tool name="D Flip-Flop">
|
|
<a name="trigger" val="falling"/>
|
|
</tool>
|
|
<tool name="Counter">
|
|
<a name="width" val="24"/>
|
|
<a name="max" val="0xffffff"/>
|
|
</tool>
|
|
<tool name="ROM">
|
|
<a name="addrWidth" val="24"/>
|
|
<a name="dataWidth" val="7"/>
|
|
<a name="contents">addr/data: 24 7
|
|
0
|
|
</a>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#I/O" name="5">
|
|
<tool name="Button">
|
|
<a name="label" val="Hello, World"/>
|
|
</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"/>
|
|
</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">
|
|
<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="west"/>
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
<wire from="(510,530)" to="(640,530)"/>
|
|
<wire from="(400,590)" to="(430,590)"/>
|
|
<wire from="(530,400)" to="(530,590)"/>
|
|
<wire from="(250,630)" to="(270,630)"/>
|
|
<wire from="(250,350)" to="(680,350)"/>
|
|
<wire from="(640,610)" to="(860,610)"/>
|
|
<wire from="(320,320)" to="(450,320)"/>
|
|
<wire from="(20,760)" to="(20,770)"/>
|
|
<wire from="(0,780)" to="(20,780)"/>
|
|
<wire from="(320,320)" to="(320,390)"/>
|
|
<wire from="(0,270)" to="(740,270)"/>
|
|
<wire from="(440,500)" to="(440,570)"/>
|
|
<wire from="(430,590)" to="(470,590)"/>
|
|
<wire from="(280,340)" to="(280,420)"/>
|
|
<wire from="(250,610)" to="(330,610)"/>
|
|
<wire from="(330,370)" to="(330,610)"/>
|
|
<wire from="(680,350)" to="(680,430)"/>
|
|
<wire from="(830,800)" to="(830,810)"/>
|
|
<wire from="(490,700)" to="(490,880)"/>
|
|
<wire from="(470,300)" to="(470,360)"/>
|
|
<wire from="(380,380)" to="(420,380)"/>
|
|
<wire from="(790,820)" to="(870,820)"/>
|
|
<wire from="(380,390)" to="(380,770)"/>
|
|
<wire from="(410,400)" to="(410,440)"/>
|
|
<wire from="(260,490)" to="(270,490)"/>
|
|
<wire from="(480,510)" to="(600,510)"/>
|
|
<wire from="(450,430)" to="(540,430)"/>
|
|
<wire from="(870,790)" to="(870,820)"/>
|
|
<wire from="(250,350)" to="(250,390)"/>
|
|
<wire from="(10,390)" to="(250,390)"/>
|
|
<wire from="(490,880)" to="(890,880)"/>
|
|
<wire from="(480,490)" to="(480,510)"/>
|
|
<wire from="(280,290)" to="(440,290)"/>
|
|
<wire from="(350,390)" to="(350,650)"/>
|
|
<wire from="(780,390)" to="(780,580)"/>
|
|
<wire from="(460,500)" to="(470,500)"/>
|
|
<wire from="(680,630)" to="(850,630)"/>
|
|
<wire from="(40,800)" to="(540,800)"/>
|
|
<wire from="(840,790)" to="(870,790)"/>
|
|
<wire from="(730,580)" to="(730,810)"/>
|
|
<wire from="(380,770)" to="(800,770)"/>
|
|
<wire from="(600,510)" to="(600,580)"/>
|
|
<wire from="(430,590)" to="(430,680)"/>
|
|
<wire from="(470,600)" to="(470,610)"/>
|
|
<wire from="(250,650)" to="(350,650)"/>
|
|
<wire from="(470,630)" to="(470,650)"/>
|
|
<wire from="(840,770)" to="(890,770)"/>
|
|
<wire from="(410,440)" to="(420,440)"/>
|
|
<wire from="(470,500)" to="(470,560)"/>
|
|
<wire from="(530,590)" to="(590,590)"/>
|
|
<wire from="(260,490)" to="(260,620)"/>
|
|
<wire from="(400,500)" to="(440,500)"/>
|
|
<wire from="(330,370)" to="(350,370)"/>
|
|
<wire from="(890,640)" to="(890,770)"/>
|
|
<wire from="(540,610)" to="(540,800)"/>
|
|
<wire from="(470,560)" to="(550,560)"/>
|
|
<wire from="(520,690)" to="(550,690)"/>
|
|
<wire from="(410,400)" to="(530,400)"/>
|
|
<wire from="(890,770)" to="(890,880)"/>
|
|
<wire from="(590,810)" to="(590,840)"/>
|
|
<wire from="(400,430)" to="(420,430)"/>
|
|
<wire from="(590,840)" to="(920,840)"/>
|
|
<wire from="(270,490)" to="(270,630)"/>
|
|
<wire from="(520,610)" to="(540,610)"/>
|
|
<wire from="(600,580)" to="(730,580)"/>
|
|
<wire from="(400,360)" to="(470,360)"/>
|
|
<wire from="(330,610)" to="(470,610)"/>
|
|
<wire from="(10,770)" to="(20,770)"/>
|
|
<wire from="(30,810)" to="(590,810)"/>
|
|
<wire from="(430,680)" to="(490,680)"/>
|
|
<wire from="(510,460)" to="(510,530)"/>
|
|
<wire from="(590,590)" to="(590,810)"/>
|
|
<wire from="(730,810)" to="(830,810)"/>
|
|
<wire from="(270,490)" to="(300,490)"/>
|
|
<wire from="(0,270)" to="(0,780)"/>
|
|
<wire from="(420,380)" to="(420,390)"/>
|
|
<wire from="(300,380)" to="(350,380)"/>
|
|
<wire from="(30,790)" to="(30,810)"/>
|
|
<wire from="(10,390)" to="(10,770)"/>
|
|
<wire from="(640,530)" to="(640,610)"/>
|
|
<wire from="(920,630)" to="(920,840)"/>
|
|
<wire from="(440,450)" to="(440,500)"/>
|
|
<wire from="(350,650)" to="(470,650)"/>
|
|
<wire from="(380,390)" to="(420,390)"/>
|
|
<wire from="(240,340)" to="(280,340)"/>
|
|
<wire from="(260,440)" to="(260,490)"/>
|
|
<wire from="(730,390)" to="(750,390)"/>
|
|
<wire from="(740,270)" to="(740,360)"/>
|
|
<wire from="(680,570)" to="(680,630)"/>
|
|
<wire from="(790,790)" to="(800,790)"/>
|
|
<wire from="(400,360)" to="(400,430)"/>
|
|
<wire from="(40,790)" to="(40,800)"/>
|
|
<wire from="(460,490)" to="(460,500)"/>
|
|
<wire from="(260,620)" to="(470,620)"/>
|
|
<wire from="(280,290)" to="(280,340)"/>
|
|
<wire from="(790,790)" to="(790,820)"/>
|
|
<wire from="(440,570)" to="(680,570)"/>
|
|
<wire from="(320,390)" to="(350,390)"/>
|
|
<wire from="(400,500)" to="(400,590)"/>
|
|
<wire from="(420,390)" to="(420,420)"/>
|
|
<wire from="(550,560)" to="(550,690)"/>
|
|
<wire from="(250,590)" to="(400,590)"/>
|
|
<wire from="(300,380)" to="(300,490)"/>
|
|
<wire from="(730,580)" to="(780,580)"/>
|
|
<wire from="(490,460)" to="(510,460)"/>
|
|
<comp lib="4" loc="(840,770)" name="D Flip-Flop">
|
|
<a name="trigger" val="falling"/>
|
|
</comp>
|
|
<comp lib="5" loc="(20,780)" name="TTY"/>
|
|
<comp lib="5" loc="(250,590)" name="Button">
|
|
<a name="label" val="Hello, World"/>
|
|
<a name="labelloc" val="west"/>
|
|
</comp>
|
|
<comp lib="1" loc="(520,610)" name="OR Gate">
|
|
<a name="inputs" val="4"/>
|
|
</comp>
|
|
<comp lib="1" loc="(380,380)" name="OR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="3"/>
|
|
</comp>
|
|
<comp lib="0" loc="(740,360)" name="Clock"/>
|
|
<comp lib="0" loc="(250,430)" name="Constant">
|
|
<a name="width" val="24"/>
|
|
<a name="value" val="0x28"/>
|
|
</comp>
|
|
<comp lib="0" loc="(440,310)" name="Constant">
|
|
<a name="width" val="24"/>
|
|
<a name="value" val="0x3e"/>
|
|
</comp>
|
|
<comp lib="4" loc="(490,460)" name="D Flip-Flop"/>
|
|
<comp lib="0" loc="(240,340)" name="Probe">
|
|
<a name="radix" val="16"/>
|
|
<a name="label" val="1'st jump mux out"/>
|
|
</comp>
|
|
<comp lib="4" loc="(450,430)" name="Counter">
|
|
<a name="width" val="24"/>
|
|
<a name="max" val="0xffffff"/>
|
|
</comp>
|
|
<comp lib="1" loc="(780,390)" name="NOT Gate"/>
|
|
<comp lib="5" loc="(250,650)" name="Button">
|
|
<a name="label" val="Whats the MSB for this letter?"/>
|
|
<a name="labelloc" val="west"/>
|
|
</comp>
|
|
<comp lib="1" loc="(520,690)" name="OR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</comp>
|
|
<comp lib="4" loc="(680,430)" name="ROM">
|
|
<a name="addrWidth" val="24"/>
|
|
<a name="dataWidth" val="7"/>
|
|
<a name="contents">addr/data: 24 7
|
|
48 65 6c 6c 6f 2c 20 57
|
|
6f 72 6c 64 21 0 0 0
|
|
44 69 67 69 74 61 6c 20
|
|
6c 6f 67 69 63 20 69 73
|
|
20 66 75 6e 2e 0 0 0
|
|
54 68 69 73 20 69 73 20
|
|
61 20 52 4f 4d 20 74 65
|
|
73 74 2e 0 0 0 57 68
|
|
61 74 27 73 20 74 68 65
|
|
20 4d 53 42 20 66 6f 72
|
|
20 74 68 69 73 20 6c 65
|
|
74 74 65 72 3f
|
|
</a>
|
|
</comp>
|
|
<comp lib="2" loc="(280,420)" name="Multiplexer">
|
|
<a name="width" val="24"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="1" loc="(730,390)" name="OR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="7"/>
|
|
</comp>
|
|
<comp lib="1" loc="(890,620)" name="AND Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
<a name="negate1" val="true"/>
|
|
</comp>
|
|
<comp lib="2" loc="(470,300)" name="Multiplexer">
|
|
<a name="width" val="24"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(430,450)" name="Clock">
|
|
<a name="facing" val="north"/>
|
|
</comp>
|
|
<comp lib="0" loc="(680,430)" name="Splitter">
|
|
<a name="fanout" val="7"/>
|
|
<a name="incoming" val="7"/>
|
|
</comp>
|
|
<comp lib="5" loc="(250,610)" name="Button">
|
|
<a name="label" val="Digital logic is fun."/>
|
|
<a name="labelloc" val="west"/>
|
|
</comp>
|
|
<comp lib="0" loc="(470,300)" name="Probe">
|
|
<a name="facing" val="west"/>
|
|
<a name="radix" val="16"/>
|
|
<a name="label" val="2'nd jump mux out"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(250,410)" name="Constant">
|
|
<a name="width" val="24"/>
|
|
<a name="value" val="0x10"/>
|
|
</comp>
|
|
<comp lib="1" loc="(920,630)" name="OR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</comp>
|
|
<comp lib="5" loc="(250,630)" name="Button">
|
|
<a name="label" val="This is a ROM test."/>
|
|
<a name="labelloc" val="west"/>
|
|
</comp>
|
|
</circuit>
|
|
</project>
|