352 lines
12 KiB
XML
352 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="facing" val="west"/>
|
|
</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="radix" val="10signed"/>
|
|
</tool>
|
|
<tool name="Tunnel">
|
|
<a name="label" val="JMP"/>
|
|
</tool>
|
|
<tool name="Pull Resistor">
|
|
<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">
|
|
<tool name="Multiplexer">
|
|
<a name="select" val="2"/>
|
|
<a name="width" val="32"/>
|
|
</tool>
|
|
<tool name="Demultiplexer">
|
|
<a name="select" val="2"/>
|
|
<a name="width" val="4"/>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#Arithmetic" name="3"/>
|
|
<lib desc="#Memory" name="4">
|
|
<tool name="Register">
|
|
<a name="width" val="1"/>
|
|
</tool>
|
|
<tool name="RAM">
|
|
<a name="addrWidth" val="24"/>
|
|
<a name="dataWidth" val="4"/>
|
|
<a name="bus" val="asynch"/>
|
|
</tool>
|
|
<tool name="ROM">
|
|
<a name="contents">addr/data: 8 8
|
|
0
|
|
</a>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#I/O" name="5">
|
|
<tool name="DotMatrix">
|
|
<a name="inputtype" val="row"/>
|
|
<a name="matrixcols" val="32"/>
|
|
<a name="matrixrows" val="32"/>
|
|
</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>
|
|
<lib desc="jar#cs316.jar#edu.cornell.cs316.Components" name="7">
|
|
<tool name="MIPSProgramROM">
|
|
<a name="contents" val=""/>
|
|
</tool>
|
|
</lib>
|
|
<main name="4 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="Poke Tool"/>
|
|
</mappings>
|
|
<toolbar>
|
|
<tool lib="6" name="Edit Tool"/>
|
|
<tool lib="6" name="Poke Tool"/>
|
|
<tool lib="0" name="Splitter">
|
|
<a name="fanout" val="3"/>
|
|
<a name="incoming" val="3"/>
|
|
</tool>
|
|
<tool lib="0" name="Clock"/>
|
|
<tool lib="6" name="Text">
|
|
<a name="text" val="RAM"/>
|
|
</tool>
|
|
<sep/>
|
|
<tool lib="0" name="Constant">
|
|
<a name="value" val="0x0"/>
|
|
</tool>
|
|
<tool lib="0" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="r/w"/>
|
|
</tool>
|
|
<tool lib="0" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="labelloc" val="east"/>
|
|
</tool>
|
|
<tool lib="0" name="Tunnel"/>
|
|
<tool lib="0" name="Pull Resistor"/>
|
|
<tool lib="1" name="NOT Gate">
|
|
<a name="size" val="20"/>
|
|
</tool>
|
|
<tool lib="1" name="AND Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</tool>
|
|
<tool lib="1" name="OR Gate">
|
|
<a name="inputs" val="8"/>
|
|
</tool>
|
|
<tool lib="1" name="NAND Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</tool>
|
|
<tool lib="1" name="NOR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</tool>
|
|
<tool lib="1" name="XOR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</tool>
|
|
<tool lib="1" name="XNOR Gate">
|
|
<a name="size" val="30"/>
|
|
<a name="inputs" val="2"/>
|
|
</tool>
|
|
<sep/>
|
|
<tool lib="2" name="Multiplexer">
|
|
<a name="facing" val="west"/>
|
|
<a name="enable" val="false"/>
|
|
</tool>
|
|
<tool lib="2" name="Demultiplexer">
|
|
<a name="enable" val="false"/>
|
|
</tool>
|
|
<tool lib="3" name="Adder"/>
|
|
<tool lib="3" name="Subtractor"/>
|
|
<tool lib="3" name="Multiplier"/>
|
|
<tool lib="3" name="Shifter"/>
|
|
<sep/>
|
|
<tool lib="4" name="D Flip-Flop"/>
|
|
<tool lib="4" name="T Flip-Flop"/>
|
|
<tool lib="4" name="J-K Flip-Flop"/>
|
|
<tool lib="4" name="S-R Flip-Flop"/>
|
|
<tool lib="4" name="Register"/>
|
|
<tool lib="4" name="Counter"/>
|
|
<tool lib="4" name="Shift Register"/>
|
|
<tool lib="4" name="RAM">
|
|
<a name="addrWidth" val="24"/>
|
|
<a name="bus" val="asynch"/>
|
|
</tool>
|
|
<tool lib="4" name="ROM">
|
|
<a name="contents">addr/data: 8 8
|
|
0
|
|
</a>
|
|
</tool>
|
|
<sep/>
|
|
<tool lib="5" name="Button"/>
|
|
<tool lib="5" name="Keyboard"/>
|
|
<tool lib="5" name="LED"/>
|
|
<tool lib="5" name="7-Segment Display"/>
|
|
<tool lib="5" name="Hex Digit Display"/>
|
|
<tool lib="5" name="DotMatrix">
|
|
<a name="inputtype" val="select"/>
|
|
<a name="matrixcols" val="32"/>
|
|
<a name="matrixrows" val="32"/>
|
|
<a name="color" val="#000000"/>
|
|
<a name="offcolor" val="#eeeeee"/>
|
|
<a name="persist" val="62"/>
|
|
</tool>
|
|
<tool lib="5" name="TTY"/>
|
|
</toolbar>
|
|
<circuit name="4 rf">
|
|
<a name="circuit" val="4 rf"/>
|
|
<a name="clabel" val=""/>
|
|
<a name="clabelup" val="east"/>
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
<wire from="(190,1000)" to="(1160,1000)"/>
|
|
<wire from="(420,880)" to="(620,880)"/>
|
|
<wire from="(880,910)" to="(1070,910)"/>
|
|
<wire from="(620,890)" to="(650,890)"/>
|
|
<wire from="(1070,860)" to="(1070,910)"/>
|
|
<wire from="(500,870)" to="(500,920)"/>
|
|
<wire from="(210,990)" to="(1130,990)"/>
|
|
<wire from="(160,900)" to="(220,900)"/>
|
|
<wire from="(1290,740)" to="(1310,740)"/>
|
|
<wire from="(240,920)" to="(500,920)"/>
|
|
<wire from="(160,910)" to="(210,910)"/>
|
|
<wire from="(460,670)" to="(460,700)"/>
|
|
<wire from="(400,650)" to="(1050,650)"/>
|
|
<wire from="(710,870)" to="(710,930)"/>
|
|
<wire from="(1300,730)" to="(1300,770)"/>
|
|
<wire from="(650,770)" to="(670,770)"/>
|
|
<wire from="(400,860)" to="(440,860)"/>
|
|
<wire from="(1280,760)" to="(1310,760)"/>
|
|
<wire from="(190,700)" to="(190,1000)"/>
|
|
<wire from="(870,770)" to="(870,940)"/>
|
|
<wire from="(210,910)" to="(210,990)"/>
|
|
<wire from="(230,930)" to="(710,930)"/>
|
|
<wire from="(270,940)" to="(270,960)"/>
|
|
<wire from="(380,660)" to="(380,730)"/>
|
|
<wire from="(1330,780)" to="(1330,1010)"/>
|
|
<wire from="(660,640)" to="(660,730)"/>
|
|
<wire from="(1080,660)" to="(1080,730)"/>
|
|
<wire from="(1280,760)" to="(1280,910)"/>
|
|
<wire from="(90,980)" to="(140,980)"/>
|
|
<wire from="(410,940)" to="(870,940)"/>
|
|
<wire from="(590,870)" to="(640,870)"/>
|
|
<wire from="(1350,760)" to="(1360,760)"/>
|
|
<wire from="(1260,660)" to="(1260,910)"/>
|
|
<wire from="(30,840)" to="(320,840)"/>
|
|
<wire from="(530,870)" to="(570,870)"/>
|
|
<wire from="(240,880)" to="(240,920)"/>
|
|
<wire from="(1300,770)" to="(1310,770)"/>
|
|
<wire from="(1060,770)" to="(1090,770)"/>
|
|
<wire from="(1250,730)" to="(1300,730)"/>
|
|
<wire from="(160,880)" to="(240,880)"/>
|
|
<wire from="(640,670)" to="(640,870)"/>
|
|
<wire from="(670,910)" to="(880,910)"/>
|
|
<wire from="(140,940)" to="(140,980)"/>
|
|
<wire from="(160,890)" to="(230,890)"/>
|
|
<wire from="(870,660)" to="(1060,660)"/>
|
|
<wire from="(1160,870)" to="(1160,1000)"/>
|
|
<wire from="(1070,860)" to="(1090,860)"/>
|
|
<wire from="(1270,650)" to="(1270,750)"/>
|
|
<wire from="(340,770)" to="(460,770)"/>
|
|
<wire from="(340,700)" to="(460,700)"/>
|
|
<wire from="(1270,750)" to="(1310,750)"/>
|
|
<wire from="(1060,770)" to="(1060,950)"/>
|
|
<wire from="(140,1010)" to="(1330,1010)"/>
|
|
<wire from="(830,730)" to="(870,730)"/>
|
|
<wire from="(30,940)" to="(140,940)"/>
|
|
<wire from="(1130,870)" to="(1130,990)"/>
|
|
<wire from="(140,920)" to="(140,940)"/>
|
|
<wire from="(330,660)" to="(330,700)"/>
|
|
<wire from="(220,940)" to="(270,940)"/>
|
|
<wire from="(570,870)" to="(590,870)"/>
|
|
<wire from="(140,980)" to="(140,1010)"/>
|
|
<wire from="(340,730)" to="(380,730)"/>
|
|
<wire from="(190,700)" to="(330,700)"/>
|
|
<wire from="(620,730)" to="(660,730)"/>
|
|
<wire from="(1160,870)" to="(1200,870)"/>
|
|
<wire from="(400,650)" to="(400,720)"/>
|
|
<wire from="(420,780)" to="(420,880)"/>
|
|
<wire from="(440,860)" to="(440,910)"/>
|
|
<wire from="(320,810)" to="(320,840)"/>
|
|
<wire from="(1060,650)" to="(1060,660)"/>
|
|
<wire from="(870,770)" to="(880,770)"/>
|
|
<wire from="(670,860)" to="(670,910)"/>
|
|
<wire from="(950,870)" to="(990,870)"/>
|
|
<wire from="(740,870)" to="(780,870)"/>
|
|
<wire from="(1200,870)" to="(1220,870)"/>
|
|
<wire from="(1060,650)" to="(1270,650)"/>
|
|
<wire from="(620,880)" to="(620,890)"/>
|
|
<wire from="(460,670)" to="(640,670)"/>
|
|
<wire from="(870,660)" to="(870,730)"/>
|
|
<wire from="(780,870)" to="(800,870)"/>
|
|
<wire from="(330,660)" to="(380,660)"/>
|
|
<wire from="(1080,660)" to="(1260,660)"/>
|
|
<wire from="(880,860)" to="(880,910)"/>
|
|
<wire from="(340,780)" to="(420,780)"/>
|
|
<wire from="(660,640)" to="(1290,640)"/>
|
|
<wire from="(30,840)" to="(30,940)"/>
|
|
<wire from="(410,790)" to="(410,940)"/>
|
|
<wire from="(270,960)" to="(920,960)"/>
|
|
<wire from="(650,770)" to="(650,890)"/>
|
|
<wire from="(1050,650)" to="(1050,870)"/>
|
|
<wire from="(340,790)" to="(410,790)"/>
|
|
<wire from="(220,900)" to="(220,940)"/>
|
|
<wire from="(420,660)" to="(860,660)"/>
|
|
<wire from="(1220,870)" to="(1230,870)"/>
|
|
<wire from="(1290,640)" to="(1290,740)"/>
|
|
<wire from="(1040,730)" to="(1080,730)"/>
|
|
<wire from="(440,860)" to="(460,860)"/>
|
|
<wire from="(860,660)" to="(860,870)"/>
|
|
<wire from="(340,710)" to="(420,710)"/>
|
|
<wire from="(1020,870)" to="(1050,870)"/>
|
|
<wire from="(800,870)" to="(860,870)"/>
|
|
<wire from="(420,660)" to="(420,710)"/>
|
|
<wire from="(1260,910)" to="(1280,910)"/>
|
|
<wire from="(920,870)" to="(920,960)"/>
|
|
<wire from="(440,910)" to="(670,910)"/>
|
|
<wire from="(230,890)" to="(230,930)"/>
|
|
<wire from="(990,870)" to="(1010,870)"/>
|
|
<wire from="(340,720)" to="(400,720)"/>
|
|
<wire from="(340,950)" to="(1060,950)"/>
|
|
<wire from="(340,800)" to="(340,950)"/>
|
|
<comp lib="0" loc="(1360,760)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="d out"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(300,790)" name="Pin">
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="d in"/>
|
|
</comp>
|
|
<comp lib="2" loc="(300,720)" name="Demultiplexer">
|
|
<a name="select" val="2"/>
|
|
<a name="width" val="5"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="2" loc="(120,900)" name="Demultiplexer">
|
|
<a name="select" val="2"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="7" loc="(1040,780)" name="RegisterFile"/>
|
|
<comp lib="7" loc="(620,780)" name="RegisterFile"/>
|
|
<comp lib="0" loc="(120,900)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="r/w"/>
|
|
</comp>
|
|
<comp lib="2" loc="(300,790)" name="Demultiplexer">
|
|
<a name="select" val="2"/>
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(90,980)" name="Pin">
|
|
<a name="width" val="2"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="select rf"/>
|
|
</comp>
|
|
<comp lib="0" loc="(300,720)" name="Pin">
|
|
<a name="width" val="5"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="r sel"/>
|
|
</comp>
|
|
<comp lib="7" loc="(830,780)" name="RegisterFile"/>
|
|
<comp lib="0" loc="(400,860)" name="Clock"/>
|
|
<comp lib="2" loc="(1350,760)" name="Multiplexer">
|
|
<a name="select" val="2"/>
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="7" loc="(1250,780)" name="RegisterFile"/>
|
|
</circuit>
|
|
</project>
|