New Hardware Git
This commit is contained in:
BIN
CPU/ALU/2025ALU设计模板(1).docx
Normal file
BIN
CPU/ALU/2025ALU设计模板(1).docx
Normal file
Binary file not shown.
BIN
CPU/ALU/ALU设计.pdf
Normal file
BIN
CPU/ALU/ALU设计.pdf
Normal file
Binary file not shown.
374
CPU/ALU/myalu.circ
Normal file
374
CPU/ALU/myalu.circ
Normal file
@@ -0,0 +1,374 @@
|
||||
<?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 lib="0" loc="(310,310)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="width" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(340,330)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="initial" val="0xffffffff"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(340,350)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="initial" val="0xffffabcd"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(650,310)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(670,330)" name="LED"/>
|
||||
<comp lib="8" loc="(262,201)" name="Text">
|
||||
<a name="text" val="加法000,减法001,或010,SLT011,LUI100"/>
|
||||
</comp>
|
||||
<comp loc="(630,310)" name="ALU"/>
|
||||
<wire from="(310,310)" to="(410,310)"/>
|
||||
<wire from="(340,330)" to="(410,330)"/>
|
||||
<wire from="(340,350)" to="(410,350)"/>
|
||||
<wire from="(630,310)" to="(650,310)"/>
|
||||
<wire from="(630,330)" to="(670,330)"/>
|
||||
</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"/>
|
||||
<comp lib="0" loc="(1050,520)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Zero"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(260,220)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="Num1_32"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(260,240)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="Num2_32"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(510,700)" name="Splitter">
|
||||
<a name="bit1" val="0"/>
|
||||
<a name="bit10" val="0"/>
|
||||
<a name="bit11" val="0"/>
|
||||
<a name="bit12" val="0"/>
|
||||
<a name="bit13" val="0"/>
|
||||
<a name="bit14" val="0"/>
|
||||
<a name="bit15" val="0"/>
|
||||
<a name="bit16" val="1"/>
|
||||
<a name="bit17" val="1"/>
|
||||
<a name="bit18" val="1"/>
|
||||
<a name="bit19" val="1"/>
|
||||
<a name="bit2" val="0"/>
|
||||
<a name="bit20" val="1"/>
|
||||
<a name="bit21" val="1"/>
|
||||
<a name="bit22" val="1"/>
|
||||
<a name="bit23" val="1"/>
|
||||
<a name="bit24" val="1"/>
|
||||
<a name="bit25" val="1"/>
|
||||
<a name="bit26" val="1"/>
|
||||
<a name="bit27" val="1"/>
|
||||
<a name="bit28" val="1"/>
|
||||
<a name="bit29" val="1"/>
|
||||
<a name="bit3" val="0"/>
|
||||
<a name="bit30" val="1"/>
|
||||
<a name="bit31" val="1"/>
|
||||
<a name="bit4" val="0"/>
|
||||
<a name="bit5" val="0"/>
|
||||
<a name="bit6" val="0"/>
|
||||
<a name="bit7" val="0"/>
|
||||
<a name="bit8" val="0"/>
|
||||
<a name="bit9" val="0"/>
|
||||
<a name="incoming" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(660,620)" name="Splitter">
|
||||
<a name="bit1" val="0"/>
|
||||
<a name="bit10" val="0"/>
|
||||
<a name="bit11" val="0"/>
|
||||
<a name="bit12" val="0"/>
|
||||
<a name="bit13" val="0"/>
|
||||
<a name="bit14" val="0"/>
|
||||
<a name="bit15" val="0"/>
|
||||
<a name="bit16" val="0"/>
|
||||
<a name="bit17" val="0"/>
|
||||
<a name="bit18" val="0"/>
|
||||
<a name="bit19" val="0"/>
|
||||
<a name="bit2" val="0"/>
|
||||
<a name="bit20" val="0"/>
|
||||
<a name="bit21" val="0"/>
|
||||
<a name="bit22" val="0"/>
|
||||
<a name="bit23" val="0"/>
|
||||
<a name="bit24" val="0"/>
|
||||
<a name="bit25" val="0"/>
|
||||
<a name="bit26" val="0"/>
|
||||
<a name="bit27" val="0"/>
|
||||
<a name="bit28" val="0"/>
|
||||
<a name="bit29" val="0"/>
|
||||
<a name="bit3" val="0"/>
|
||||
<a name="bit30" val="0"/>
|
||||
<a name="bit31" val="1"/>
|
||||
<a name="bit4" val="0"/>
|
||||
<a name="bit5" val="0"/>
|
||||
<a name="bit6" val="0"/>
|
||||
<a name="bit7" val="0"/>
|
||||
<a name="bit8" val="0"/>
|
||||
<a name="bit9" val="0"/>
|
||||
<a name="incoming" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(760,660)" name="Splitter">
|
||||
<a name="bit1" val="0"/>
|
||||
<a name="bit10" val="0"/>
|
||||
<a name="bit11" val="0"/>
|
||||
<a name="bit12" val="0"/>
|
||||
<a name="bit13" val="0"/>
|
||||
<a name="bit14" val="0"/>
|
||||
<a name="bit15" val="0"/>
|
||||
<a name="bit16" val="1"/>
|
||||
<a name="bit17" val="1"/>
|
||||
<a name="bit18" val="1"/>
|
||||
<a name="bit19" val="1"/>
|
||||
<a name="bit2" val="0"/>
|
||||
<a name="bit20" val="1"/>
|
||||
<a name="bit21" val="1"/>
|
||||
<a name="bit22" val="1"/>
|
||||
<a name="bit23" val="1"/>
|
||||
<a name="bit24" val="1"/>
|
||||
<a name="bit25" val="1"/>
|
||||
<a name="bit26" val="1"/>
|
||||
<a name="bit27" val="1"/>
|
||||
<a name="bit28" val="1"/>
|
||||
<a name="bit29" val="1"/>
|
||||
<a name="bit3" val="0"/>
|
||||
<a name="bit30" val="1"/>
|
||||
<a name="bit31" val="1"/>
|
||||
<a name="bit4" val="0"/>
|
||||
<a name="bit5" val="0"/>
|
||||
<a name="bit6" val="0"/>
|
||||
<a name="bit7" val="0"/>
|
||||
<a name="bit8" val="0"/>
|
||||
<a name="bit9" val="0"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="incoming" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(770,590)" name="Splitter">
|
||||
<a name="bit0" val="1"/>
|
||||
<a name="bit1" val="0"/>
|
||||
<a name="bit10" val="0"/>
|
||||
<a name="bit11" val="0"/>
|
||||
<a name="bit12" val="0"/>
|
||||
<a name="bit13" val="0"/>
|
||||
<a name="bit14" val="0"/>
|
||||
<a name="bit15" val="0"/>
|
||||
<a name="bit16" val="0"/>
|
||||
<a name="bit17" val="0"/>
|
||||
<a name="bit18" val="0"/>
|
||||
<a name="bit19" val="0"/>
|
||||
<a name="bit2" val="0"/>
|
||||
<a name="bit20" val="0"/>
|
||||
<a name="bit21" val="0"/>
|
||||
<a name="bit22" val="0"/>
|
||||
<a name="bit23" val="0"/>
|
||||
<a name="bit24" val="0"/>
|
||||
<a name="bit25" val="0"/>
|
||||
<a name="bit26" val="0"/>
|
||||
<a name="bit27" val="0"/>
|
||||
<a name="bit28" val="0"/>
|
||||
<a name="bit29" val="0"/>
|
||||
<a name="bit3" val="0"/>
|
||||
<a name="bit30" val="0"/>
|
||||
<a name="bit31" 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="0"/>
|
||||
<a name="bit9" val="0"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="incoming" val="32"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(850,130)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="south"/>
|
||||
<a name="label" val="Control_3"/>
|
||||
<a name="width" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(960,420)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Result_32"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(650,700)" name="XOR Gate">
|
||||
<a name="size" val="30"/>
|
||||
<a name="width" val="16"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(660,530)" name="OR Gate">
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(750,590)" name="XOR Gate">
|
||||
<a name="size" val="30"/>
|
||||
<a name="width" val="31"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(970,530)" name="XOR Gate">
|
||||
<a name="label" val="SET0"/>
|
||||
<a name="size" val="30"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="2" loc="(870,420)" name="Multiplexer">
|
||||
<a name="select" val="3"/>
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="3" loc="(1030,520)" name="Comparator">
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="3" loc="(660,300)" name="Adder">
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="3" loc="(660,410)" name="Subtractor">
|
||||
<a name="width" val="32"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(583,660)" name="Text">
|
||||
<a name="text" val="LUI"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(627,494)" name="Text">
|
||||
<a name="text" val="OR"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(636,264)" name="Text">
|
||||
<a name="text" val="ADD"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(640,369)" name="Text">
|
||||
<a name="text" val="SUB"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(714,561)" name="Text">
|
||||
<a name="text" val="SLT"/>
|
||||
</comp>
|
||||
<wire from="(1030,520)" to="(1050,520)"/>
|
||||
<wire from="(260,220)" to="(360,220)"/>
|
||||
<wire from="(260,240)" to="(430,240)"/>
|
||||
<wire from="(270,460)" to="(270,620)"/>
|
||||
<wire from="(270,460)" to="(680,460)"/>
|
||||
<wire from="(270,620)" to="(660,620)"/>
|
||||
<wire from="(360,220)" to="(360,290)"/>
|
||||
<wire from="(360,290)" to="(360,400)"/>
|
||||
<wire from="(360,290)" to="(620,290)"/>
|
||||
<wire from="(360,400)" to="(360,510)"/>
|
||||
<wire from="(360,400)" to="(620,400)"/>
|
||||
<wire from="(360,510)" to="(610,510)"/>
|
||||
<wire from="(430,240)" to="(430,310)"/>
|
||||
<wire from="(430,310)" to="(430,420)"/>
|
||||
<wire from="(430,310)" to="(620,310)"/>
|
||||
<wire from="(430,420)" to="(430,550)"/>
|
||||
<wire from="(430,420)" to="(620,420)"/>
|
||||
<wire from="(430,550)" to="(430,700)"/>
|
||||
<wire from="(430,550)" to="(610,550)"/>
|
||||
<wire from="(430,700)" to="(510,700)"/>
|
||||
<wire from="(530,680)" to="(740,680)"/>
|
||||
<wire from="(530,690)" to="(550,690)"/>
|
||||
<wire from="(550,690)" to="(550,710)"/>
|
||||
<wire from="(550,690)" to="(610,690)"/>
|
||||
<wire from="(550,710)" to="(610,710)"/>
|
||||
<wire from="(650,670)" to="(650,700)"/>
|
||||
<wire from="(650,670)" to="(740,670)"/>
|
||||
<wire from="(660,300)" to="(820,300)"/>
|
||||
<wire from="(660,410)" to="(680,410)"/>
|
||||
<wire from="(660,530)" to="(700,530)"/>
|
||||
<wire from="(670,610)" to="(680,610)"/>
|
||||
<wire from="(680,390)" to="(680,410)"/>
|
||||
<wire from="(680,390)" to="(830,390)"/>
|
||||
<wire from="(680,410)" to="(680,460)"/>
|
||||
<wire from="(680,580)" to="(680,600)"/>
|
||||
<wire from="(680,580)" to="(710,580)"/>
|
||||
<wire from="(680,600)" to="(710,600)"/>
|
||||
<wire from="(680,610)" to="(750,610)"/>
|
||||
<wire from="(700,400)" to="(700,530)"/>
|
||||
<wire from="(700,400)" to="(830,400)"/>
|
||||
<wire from="(750,590)" to="(750,600)"/>
|
||||
<wire from="(760,660)" to="(790,660)"/>
|
||||
<wire from="(770,410)" to="(770,590)"/>
|
||||
<wire from="(770,410)" to="(830,410)"/>
|
||||
<wire from="(790,420)" to="(790,660)"/>
|
||||
<wire from="(790,420)" to="(830,420)"/>
|
||||
<wire from="(820,300)" to="(820,380)"/>
|
||||
<wire from="(820,380)" to="(830,380)"/>
|
||||
<wire from="(850,130)" to="(850,460)"/>
|
||||
<wire from="(870,420)" to="(890,420)"/>
|
||||
<wire from="(890,420)" to="(890,540)"/>
|
||||
<wire from="(890,420)" to="(910,420)"/>
|
||||
<wire from="(890,540)" to="(930,540)"/>
|
||||
<wire from="(910,420)" to="(910,520)"/>
|
||||
<wire from="(910,420)" to="(930,420)"/>
|
||||
<wire from="(910,520)" to="(930,520)"/>
|
||||
<wire from="(930,420)" to="(930,510)"/>
|
||||
<wire from="(930,420)" to="(960,420)"/>
|
||||
<wire from="(930,510)" to="(990,510)"/>
|
||||
<wire from="(970,530)" to="(990,530)"/>
|
||||
</circuit>
|
||||
</project>
|
||||
Reference in New Issue
Block a user