238 lines
8.2 KiB
XML
238 lines
8.2 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<project source="3.9.0" version="1.0">
|
||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||
|
||
<lib desc="#Wiring" name="0">
|
||
<tool name="Pin">
|
||
<a name="appearance" val="classic"/>
|
||
</tool>
|
||
</lib>
|
||
<lib desc="#Gates" name="1"/>
|
||
<lib desc="#Plexers" name="2"/>
|
||
<lib desc="#Arithmetic" name="3"/>
|
||
<lib desc="#Memory" name="4"/>
|
||
<lib desc="#I/O" name="5"/>
|
||
<lib desc="#TTL" name="6"/>
|
||
<lib desc="#TCL" name="7"/>
|
||
<lib desc="#Base" name="8"/>
|
||
<lib desc="#BFH-Praktika" name="9"/>
|
||
<lib desc="#Input/Output-Extra" name="10"/>
|
||
<lib desc="#Soc" name="11"/>
|
||
<main name="main"/>
|
||
<options>
|
||
<a name="gateUndefined" val="ignore"/>
|
||
<a name="simlimit" val="1000"/>
|
||
<a name="simrand" val="0"/>
|
||
</options>
|
||
<mappings>
|
||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||
</mappings>
|
||
<toolbar>
|
||
<tool lib="8" name="Poke Tool"/>
|
||
<tool lib="8" name="Edit Tool"/>
|
||
<tool lib="8" name="Wiring Tool"/>
|
||
<tool lib="8" name="Text Tool"/>
|
||
<sep/>
|
||
<tool lib="0" name="Pin"/>
|
||
<tool lib="0" name="Pin">
|
||
<a name="facing" val="west"/>
|
||
<a name="output" val="true"/>
|
||
</tool>
|
||
<sep/>
|
||
<tool lib="1" name="NOT Gate"/>
|
||
<tool lib="1" name="AND Gate"/>
|
||
<tool lib="1" name="OR Gate"/>
|
||
<tool lib="1" name="XOR Gate"/>
|
||
<tool lib="1" name="NAND Gate"/>
|
||
<tool lib="1" name="NOR Gate"/>
|
||
<sep/>
|
||
<tool lib="4" name="D Flip-Flop"/>
|
||
<tool lib="4" name="Register"/>
|
||
</toolbar>
|
||
<circuit name="main">
|
||
<a name="appearance" val="logisim_evolution"/>
|
||
<a name="circuit" val="main"/>
|
||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||
<a name="simulationFrequency" val="4.0"/>
|
||
<comp loc="(450,180)" name="Control_Unit"/>
|
||
</circuit>
|
||
<circuit name="Control_Unit">
|
||
<a name="appearance" val="logisim_evolution"/>
|
||
<a name="circuit" val="Control_Unit"/>
|
||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||
<a name="simulationFrequency" val="4.0"/>
|
||
<comp lib="0" loc="(170,410)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="label" val="Opcode"/>
|
||
<a name="width" val="6"/>
|
||
</comp>
|
||
<comp lib="0" loc="(550,320)" name="Splitter">
|
||
<a name="bit10" val="9"/>
|
||
<a name="bit11" val="10"/>
|
||
<a name="bit9" val="8"/>
|
||
<a name="fanout" val="11"/>
|
||
<a name="incoming" val="12"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,130)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="Stop"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,150)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="ExtOp"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,170)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="MemtoWrite"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,190)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="RegWrite"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,210)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="MemWrite"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,230)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="MemRead"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,250)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="Branch"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,270)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="ALUSrc"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,290)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="ALUOp"/>
|
||
<a name="output" val="true"/>
|
||
<a name="width" val="2"/>
|
||
</comp>
|
||
<comp lib="0" loc="(740,310)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="RegDst"/>
|
||
<a name="output" val="true"/>
|
||
</comp>
|
||
<comp lib="4" loc="(270,290)" name="ROM">
|
||
<a name="addrWidth" val="6"/>
|
||
<a name="appearance" val="logisim_evolution"/>
|
||
<a name="contents">addr/data: 6 12
|
||
608 4*0 18a 7*0 388 0 388 19*0
|
||
9d 7*0 92 19*0 1
|
||
</a>
|
||
<a name="dataWidth" val="12"/>
|
||
</comp>
|
||
<wire from="(170,300)" to="(170,410)"/>
|
||
<wire from="(170,300)" to="(270,300)"/>
|
||
<wire from="(510,320)" to="(510,350)"/>
|
||
<wire from="(510,320)" to="(550,320)"/>
|
||
<wire from="(570,210)" to="(670,210)"/>
|
||
<wire from="(570,220)" to="(680,220)"/>
|
||
<wire from="(570,230)" to="(690,230)"/>
|
||
<wire from="(570,240)" to="(700,240)"/>
|
||
<wire from="(570,250)" to="(710,250)"/>
|
||
<wire from="(570,260)" to="(720,260)"/>
|
||
<wire from="(570,270)" to="(730,270)"/>
|
||
<wire from="(570,280)" to="(740,280)"/>
|
||
<wire from="(570,290)" to="(740,290)"/>
|
||
<wire from="(570,300)" to="(740,300)"/>
|
||
<wire from="(670,130)" to="(670,210)"/>
|
||
<wire from="(670,130)" to="(740,130)"/>
|
||
<wire from="(680,150)" to="(680,220)"/>
|
||
<wire from="(680,150)" to="(740,150)"/>
|
||
<wire from="(690,170)" to="(690,230)"/>
|
||
<wire from="(690,170)" to="(740,170)"/>
|
||
<wire from="(700,190)" to="(700,240)"/>
|
||
<wire from="(700,190)" to="(740,190)"/>
|
||
<wire from="(710,210)" to="(710,250)"/>
|
||
<wire from="(710,210)" to="(740,210)"/>
|
||
<wire from="(720,230)" to="(720,260)"/>
|
||
<wire from="(720,230)" to="(740,230)"/>
|
||
<wire from="(730,250)" to="(730,270)"/>
|
||
<wire from="(730,250)" to="(740,250)"/>
|
||
<wire from="(740,270)" to="(740,280)"/>
|
||
<wire from="(740,300)" to="(740,310)"/>
|
||
</circuit>
|
||
<circuit name="ALU_Control">
|
||
<a name="appearance" val="logisim_evolution"/>
|
||
<a name="circuit" val="ALU_Control"/>
|
||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||
<a name="simulationFrequency" val="4.0"/>
|
||
<comp lib="0" loc="(200,200)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="label" val="ALU_Op"/>
|
||
<a name="width" val="2"/>
|
||
</comp>
|
||
<comp lib="0" loc="(200,270)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="label" val="Funct"/>
|
||
<a name="width" val="6"/>
|
||
</comp>
|
||
<comp lib="0" loc="(310,240)" name="Splitter">
|
||
<a name="bit0" val="1"/>
|
||
<a name="bit2" val="1"/>
|
||
<a name="bit3" val="1"/>
|
||
<a name="bit4" val="1"/>
|
||
<a name="bit5" val="1"/>
|
||
<a name="bit6" val="0"/>
|
||
<a name="bit7" val="0"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="incoming" val="8"/>
|
||
</comp>
|
||
<comp lib="0" loc="(770,210)" name="Pin">
|
||
<a name="appearance" val="NewPins"/>
|
||
<a name="facing" val="west"/>
|
||
<a name="label" val="ALUControl"/>
|
||
<a name="output" val="true"/>
|
||
<a name="width" val="4"/>
|
||
</comp>
|
||
<comp lib="4" loc="(390,150)" name="ROM">
|
||
<a name="appearance" val="logisim_evolution"/>
|
||
<a name="contents">addr/data: 8 4
|
||
64*2 97*0 2 6 7*0 7 34*0 1
|
||
0 8
|
||
</a>
|
||
<a name="dataWidth" val="4"/>
|
||
</comp>
|
||
<comp lib="8" loc="(193,361)" name="Text">
|
||
<a name="text" val="当且仅当ALU_Op为11时,输入Opcode"/>
|
||
</comp>
|
||
<wire from="(200,200)" to="(290,200)"/>
|
||
<wire from="(200,270)" to="(290,270)"/>
|
||
<wire from="(290,200)" to="(290,250)"/>
|
||
<wire from="(290,260)" to="(290,270)"/>
|
||
<wire from="(310,160)" to="(310,240)"/>
|
||
<wire from="(310,160)" to="(390,160)"/>
|
||
<wire from="(630,210)" to="(770,210)"/>
|
||
</circuit>
|
||
<circuit name="ALU">
|
||
<a name="appearance" val="logisim_evolution"/>
|
||
<a name="circuit" val="ALU"/>
|
||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||
<a name="simulationFrequency" val="4.0"/>
|
||
</circuit>
|
||
</project>
|