1 Star 0 Fork 2

doom/Logisim-Regfile-ALU-CPU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
alu.circ 35.12 KB
一键复制 编辑 原始数据 按行查看 历史
jonathansun5 提交于 2017-02-27 21:10 . Add files via upload
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992
<?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"/>
<a name="incoming" val="32"/>
<a name="appear" val="center"/>
<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="0"/>
<a name="bit9" 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="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="bit30" val="1"/>
<a name="bit31" val="1"/>
</tool>
<tool name="Pin">
<a name="facing" val="north"/>
</tool>
<tool name="Probe">
<a name="radix" val="10signed"/>
</tool>
<tool name="Tunnel">
<a name="width" val="32"/>
</tool>
<tool name="Pull Resistor">
<a name="facing" val="north"/>
</tool>
<tool name="Clock">
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="value" val="0x0"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="Buffer">
<a name="width" val="3"/>
</tool>
<tool name="AND Gate">
<a name="width" val="16"/>
<a name="inputs" val="2"/>
</tool>
<tool name="OR Gate">
<a name="inputs" val="2"/>
</tool>
<tool name="NOR Gate">
<a name="inputs" val="2"/>
</tool>
<tool name="XOR Gate">
<a name="inputs" val="2"/>
</tool>
<tool name="Odd Parity">
<a name="facing" val="south"/>
<a name="inputs" val="3"/>
</tool>
</lib>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="select" val="3"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3">
<tool name="Subtractor">
<a name="width" val="16"/>
</tool>
<tool name="Multiplier">
<a name="width" val="1"/>
</tool>
<tool name="Divider">
<a name="width" val="16"/>
</tool>
<tool name="Negator">
<a name="width" val="1"/>
</tool>
<tool name="Comparator">
<a name="width" val="16"/>
</tool>
</lib>
<lib desc="#Memory" name="4">
<tool name="Register">
<a name="width" val="16"/>
</tool>
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#Base" name="5">
<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="5" map="Button2" name="Menu Tool"/>
<tool lib="5" map="Ctrl Button1" name="Menu Tool"/>
<tool lib="5" map="Button3" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="5" name="Poke Tool"/>
<tool lib="5" name="Edit Tool"/>
<tool lib="5" 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="facing" val="north"/>
<a name="width" val="3"/>
<a name="tristate" val="false"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="out"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate">
<a name="inputs" val="2"/>
</tool>
<tool lib="1" name="OR Gate">
<a name="inputs" val="2"/>
</tool>
</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"/>
<appear>
<polyline fill="none" points="130,53 130,111" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="81,72 81,90" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="81,71 71,61" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="71,100 81,90" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="70,60 70,20" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="70,140 70,101" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="71,20 130,52" stroke="#000000" stroke-width="2"/>
<polyline fill="none" points="71,140 130,112" stroke="#000000" stroke-width="2"/>
<text font-family="SansSerif" font-size="12" font-weight="bold" text-anchor="middle" x="104" y="84">ALU</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="76" y="45">X</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="75" y="125">Y</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="91" y="128">S</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="121" y="98">R</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="109" y="49">=</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="91" y="43">SO</text>
<circ-port height="8" pin="120,270" width="8" x="86" y="126"/>
<circ-port height="8" pin="120,120" width="8" x="66" y="36"/>
<circ-port height="10" pin="870,140" width="10" x="105" y="35"/>
<circ-port height="10" pin="870,200" width="10" x="125" y="75"/>
<circ-port height="10" pin="870,90" width="10" x="85" y="25"/>
<circ-port height="8" pin="120,210" width="8" x="66" y="116"/>
<circ-anchor facing="east" height="6" width="6" x="97" y="77"/>
</appear>
<wire from="(260,340)" to="(260,350)"/>
<wire from="(260,540)" to="(260,550)"/>
<wire from="(270,750)" to="(270,760)"/>
<wire from="(270,830)" to="(270,840)"/>
<wire from="(670,160)" to="(710,160)"/>
<wire from="(220,250)" to="(220,330)"/>
<wire from="(220,450)" to="(220,530)"/>
<wire from="(450,250)" to="(450,280)"/>
<wire from="(450,450)" to="(450,480)"/>
<wire from="(600,70)" to="(710,70)"/>
<wire from="(1050,60)" to="(1050,270)"/>
<wire from="(500,290)" to="(500,380)"/>
<wire from="(730,210)" to="(730,230)"/>
<wire from="(850,200)" to="(870,200)"/>
<wire from="(320,540)" to="(350,540)"/>
<wire from="(380,290)" to="(400,290)"/>
<wire from="(380,330)" to="(400,330)"/>
<wire from="(140,60)" to="(140,100)"/>
<wire from="(380,490)" to="(400,490)"/>
<wire from="(380,530)" to="(400,530)"/>
<wire from="(280,280)" to="(280,320)"/>
<wire from="(280,480)" to="(280,520)"/>
<wire from="(120,270)" to="(140,270)"/>
<wire from="(620,110)" to="(710,110)"/>
<wire from="(220,250)" to="(240,250)"/>
<wire from="(220,330)" to="(240,330)"/>
<wire from="(220,450)" to="(240,450)"/>
<wire from="(220,530)" to="(240,530)"/>
<wire from="(140,140)" to="(140,190)"/>
<wire from="(10,60)" to="(10,300)"/>
<wire from="(390,310)" to="(400,310)"/>
<wire from="(390,510)" to="(400,510)"/>
<wire from="(230,230)" to="(230,280)"/>
<wire from="(230,430)" to="(230,480)"/>
<wire from="(490,490)" to="(500,490)"/>
<wire from="(490,290)" to="(500,290)"/>
<wire from="(500,380)" to="(510,380)"/>
<wire from="(280,280)" to="(290,280)"/>
<wire from="(280,240)" to="(290,240)"/>
<wire from="(280,480)" to="(290,480)"/>
<wire from="(280,440)" to="(290,440)"/>
<wire from="(260,740)" to="(270,740)"/>
<wire from="(260,820)" to="(270,820)"/>
<wire from="(250,690)" to="(260,690)"/>
<wire from="(210,250)" to="(220,250)"/>
<wire from="(230,230)" to="(240,230)"/>
<wire from="(210,450)" to="(220,450)"/>
<wire from="(230,430)" to="(240,430)"/>
<wire from="(210,730)" to="(220,730)"/>
<wire from="(210,810)" to="(220,810)"/>
<wire from="(210,650)" to="(220,650)"/>
<wire from="(590,60)" to="(710,60)"/>
<wire from="(660,150)" to="(710,150)"/>
<wire from="(850,60)" to="(850,70)"/>
<wire from="(290,220)" to="(340,220)"/>
<wire from="(290,420)" to="(340,420)"/>
<wire from="(280,530)" to="(330,530)"/>
<wire from="(320,250)" to="(320,260)"/>
<wire from="(280,330)" to="(280,340)"/>
<wire from="(280,530)" to="(280,540)"/>
<wire from="(320,450)" to="(320,460)"/>
<wire from="(290,220)" to="(290,240)"/>
<wire from="(290,420)" to="(290,440)"/>
<wire from="(450,300)" to="(450,320)"/>
<wire from="(450,500)" to="(450,520)"/>
<wire from="(580,350)" to="(680,350)"/>
<wire from="(610,100)" to="(710,100)"/>
<wire from="(140,230)" to="(140,250)"/>
<wire from="(330,300)" to="(330,330)"/>
<wire from="(330,500)" to="(330,530)"/>
<wire from="(850,90)" to="(870,90)"/>
<wire from="(610,100)" to="(610,140)"/>
<wire from="(120,120)" to="(140,120)"/>
<wire from="(580,320)" to="(670,320)"/>
<wire from="(450,300)" to="(460,300)"/>
<wire from="(440,250)" to="(450,250)"/>
<wire from="(440,450)" to="(450,450)"/>
<wire from="(450,500)" to="(460,500)"/>
<wire from="(260,750)" to="(270,750)"/>
<wire from="(270,120)" to="(280,120)"/>
<wire from="(580,260)" to="(650,260)"/>
<wire from="(270,280)" to="(280,280)"/>
<wire from="(280,330)" to="(290,330)"/>
<wire from="(260,390)" to="(270,390)"/>
<wire from="(270,480)" to="(280,480)"/>
<wire from="(260,590)" to="(270,590)"/>
<wire from="(260,830)" to="(270,830)"/>
<wire from="(320,330)" to="(330,330)"/>
<wire from="(850,60)" to="(1050,60)"/>
<wire from="(220,110)" to="(230,110)"/>
<wire from="(620,110)" to="(620,170)"/>
<wire from="(230,280)" to="(240,280)"/>
<wire from="(210,380)" to="(220,380)"/>
<wire from="(230,480)" to="(240,480)"/>
<wire from="(210,580)" to="(220,580)"/>
<wire from="(210,700)" to="(220,700)"/>
<wire from="(580,50)" to="(710,50)"/>
<wire from="(580,290)" to="(660,290)"/>
<wire from="(850,220)" to="(850,270)"/>
<wire from="(280,320)" to="(350,320)"/>
<wire from="(280,520)" to="(350,520)"/>
<wire from="(540,390)" to="(550,390)"/>
<wire from="(850,110)" to="(850,120)"/>
<wire from="(580,200)" to="(630,200)"/>
<wire from="(580,230)" to="(640,230)"/>
<wire from="(650,140)" to="(710,140)"/>
<wire from="(270,730)" to="(270,740)"/>
<wire from="(270,810)" to="(270,820)"/>
<wire from="(340,240)" to="(340,250)"/>
<wire from="(340,440)" to="(340,450)"/>
<wire from="(580,170)" to="(620,170)"/>
<wire from="(400,260)" to="(400,290)"/>
<wire from="(400,460)" to="(400,490)"/>
<wire from="(630,120)" to="(630,200)"/>
<wire from="(850,140)" to="(870,140)"/>
<wire from="(580,110)" to="(600,110)"/>
<wire from="(320,280)" to="(350,280)"/>
<wire from="(320,480)" to="(350,480)"/>
<wire from="(330,300)" to="(350,300)"/>
<wire from="(330,500)" to="(350,500)"/>
<wire from="(580,140)" to="(610,140)"/>
<wire from="(430,320)" to="(450,320)"/>
<wire from="(430,520)" to="(450,520)"/>
<wire from="(120,210)" to="(140,210)"/>
<wire from="(640,130)" to="(640,230)"/>
<wire from="(400,260)" to="(410,260)"/>
<wire from="(400,460)" to="(410,460)"/>
<wire from="(650,140)" to="(650,260)"/>
<wire from="(500,400)" to="(510,400)"/>
<wire from="(270,330)" to="(280,330)"/>
<wire from="(270,530)" to="(280,530)"/>
<wire from="(280,540)" to="(290,540)"/>
<wire from="(270,730)" to="(280,730)"/>
<wire from="(270,810)" to="(280,810)"/>
<wire from="(640,130)" to="(710,130)"/>
<wire from="(850,270)" to="(1050,270)"/>
<wire from="(210,750)" to="(220,750)"/>
<wire from="(210,830)" to="(220,830)"/>
<wire from="(210,630)" to="(220,630)"/>
<wire from="(390,250)" to="(390,310)"/>
<wire from="(390,450)" to="(390,510)"/>
<wire from="(750,130)" to="(760,130)"/>
<wire from="(730,230)" to="(740,230)"/>
<wire from="(580,80)" to="(590,80)"/>
<wire from="(660,150)" to="(660,290)"/>
<wire from="(140,290)" to="(140,300)"/>
<wire from="(260,290)" to="(260,300)"/>
<wire from="(260,490)" to="(260,500)"/>
<wire from="(850,160)" to="(850,180)"/>
<wire from="(590,60)" to="(590,80)"/>
<wire from="(500,400)" to="(500,490)"/>
<wire from="(600,70)" to="(600,110)"/>
<wire from="(680,170)" to="(710,170)"/>
<wire from="(670,160)" to="(670,320)"/>
<wire from="(210,230)" to="(230,230)"/>
<wire from="(210,430)" to="(230,430)"/>
<wire from="(450,280)" to="(460,280)"/>
<wire from="(450,480)" to="(460,480)"/>
<wire from="(270,60)" to="(280,60)"/>
<wire from="(270,180)" to="(280,180)"/>
<wire from="(290,240)" to="(300,240)"/>
<wire from="(290,440)" to="(300,440)"/>
<wire from="(250,640)" to="(260,640)"/>
<wire from="(340,250)" to="(350,250)"/>
<wire from="(330,240)" to="(340,240)"/>
<wire from="(380,250)" to="(390,250)"/>
<wire from="(380,450)" to="(390,450)"/>
<wire from="(340,450)" to="(350,450)"/>
<wire from="(330,440)" to="(340,440)"/>
<wire from="(220,170)" to="(230,170)"/>
<wire from="(220,50)" to="(230,50)"/>
<wire from="(210,400)" to="(220,400)"/>
<wire from="(210,680)" to="(220,680)"/>
<wire from="(210,600)" to="(220,600)"/>
<wire from="(630,120)" to="(710,120)"/>
<wire from="(10,300)" to="(140,300)"/>
<wire from="(10,60)" to="(140,60)"/>
<wire from="(680,170)" to="(680,350)"/>
<wire from="(280,340)" to="(350,340)"/>
<wire from="(340,240)" to="(410,240)"/>
<wire from="(340,440)" to="(410,440)"/>
<comp lib="3" loc="(280,440)" name="Subtractor">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(850,140)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="equal"/>
</comp>
<comp lib="0" loc="(580,260)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="and"/>
</comp>
<comp lib="0" loc="(760,130)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="result"/>
</comp>
<comp lib="0" loc="(280,180)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="sra"/>
</comp>
<comp lib="0" loc="(210,380)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="3" loc="(280,240)" name="Adder">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(210,810)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="0" loc="(850,90)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="overflow"/>
</comp>
<comp lib="0" loc="(220,110)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(290,780)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="slt"/>
</comp>
<comp lib="0" loc="(210,700)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(260,690)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="or"/>
</comp>
<comp lib="0" loc="(210,400)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="2" loc="(270,330)" name="BitSelector">
<a name="width" val="32"/>
</comp>
<comp lib="5" loc="(472,25)" name="Text">
<a name="text" val="DON'T CHANGE THE LOCATIONS OF THE INPUTS AND OUTPUTS!"/>
</comp>
<comp lib="0" loc="(870,200)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="Result"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(330,440)" name="BitSelector">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(280,60)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="sll"/>
</comp>
<comp lib="1" loc="(250,690)" name="OR Gate">
<a name="width" val="32"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(380,450)" name="NOT Gate"/>
<comp lib="0" loc="(140,270)" name="Tunnel">
<a name="width" val="4"/>
<a name="label" val="S"/>
</comp>
<comp lib="1" loc="(440,450)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="2" loc="(750,130)" name="Multiplexer">
<a name="select" val="4"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(210,140)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="0" loc="(580,110)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="sra"/>
</comp>
<comp lib="1" loc="(440,250)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(580,200)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="sub"/>
</comp>
<comp lib="0" loc="(270,390)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="addu"/>
</comp>
<comp lib="3" loc="(260,740)" name="Comparator">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(580,140)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="add"/>
</comp>
<comp lib="0" loc="(210,230)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="5" loc="(76,54)" name="Text">
<a name="text" val="INPUTS to your circuit"/>
</comp>
<comp lib="0" loc="(260,300)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="value" val="0x1f"/>
</comp>
<comp lib="1" loc="(430,520)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(250,640)" name="AND Gate">
<a name="width" val="32"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="3" loc="(270,60)" name="Shifter">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(340,420)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="sub"/>
</comp>
<comp lib="0" loc="(210,650)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(120,210)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(580,80)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="srl"/>
</comp>
<comp lib="2" loc="(270,480)" name="BitSelector">
<a name="width" val="32"/>
</comp>
<comp lib="2" loc="(330,240)" name="BitSelector">
<a name="width" val="32"/>
</comp>
<comp lib="1" loc="(380,530)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(320,480)" name="NOT Gate"/>
<comp lib="0" loc="(140,210)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(260,550)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="value" val="0x1f"/>
</comp>
<comp lib="3" loc="(260,390)" name="Adder">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(210,600)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="1" loc="(320,540)" name="NOT Gate"/>
<comp lib="0" loc="(580,170)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="addu"/>
</comp>
<comp lib="0" loc="(320,460)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="value" val="0x1f"/>
</comp>
<comp lib="0" loc="(270,770)" name="Constant">
<a name="width" val="31"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(210,200)" name="Splitter">
<a name="fanout" val="1"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="bit8" val="none"/>
<a name="bit9" val="none"/>
<a name="bit10" val="none"/>
<a name="bit11" val="none"/>
<a name="bit12" val="none"/>
<a name="bit13" val="none"/>
<a name="bit14" val="none"/>
<a name="bit15" val="none"/>
<a name="bit16" val="none"/>
<a name="bit17" val="none"/>
<a name="bit18" val="none"/>
<a name="bit19" val="none"/>
<a name="bit20" val="none"/>
<a name="bit21" val="none"/>
<a name="bit22" val="none"/>
<a name="bit23" val="none"/>
<a name="bit24" val="none"/>
<a name="bit25" val="none"/>
<a name="bit26" val="none"/>
<a name="bit27" val="none"/>
<a name="bit28" val="none"/>
<a name="bit29" val="none"/>
<a name="bit30" val="none"/>
<a name="bit31" val="none"/>
</comp>
<comp lib="0" loc="(580,350)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="sltu"/>
</comp>
<comp lib="0" loc="(210,80)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="0" loc="(580,50)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="sll"/>
</comp>
<comp lib="0" loc="(340,220)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="add"/>
</comp>
<comp lib="0" loc="(280,730)" name="Tunnel">
<a name="label" val="equal"/>
</comp>
<comp lib="0" loc="(140,120)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="0" loc="(290,860)" name="Splitter">
<a name="facing" val="west"/>
<a name="incoming" val="32"/>
<a name="appear" val="right"/>
<a name="bit2" val="1"/>
<a name="bit3" val="1"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
<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="1"/>
<a name="bit17" val="1"/>
<a name="bit18" val="1"/>
<a name="bit19" val="1"/>
<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="bit30" val="1"/>
<a name="bit31" val="1"/>
</comp>
<comp lib="0" loc="(210,140)" name="Splitter">
<a name="fanout" val="1"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="bit8" val="none"/>
<a name="bit9" val="none"/>
<a name="bit10" val="none"/>
<a name="bit11" val="none"/>
<a name="bit12" val="none"/>
<a name="bit13" val="none"/>
<a name="bit14" val="none"/>
<a name="bit15" val="none"/>
<a name="bit16" val="none"/>
<a name="bit17" val="none"/>
<a name="bit18" val="none"/>
<a name="bit19" val="none"/>
<a name="bit20" val="none"/>
<a name="bit21" val="none"/>
<a name="bit22" val="none"/>
<a name="bit23" val="none"/>
<a name="bit24" val="none"/>
<a name="bit25" val="none"/>
<a name="bit26" val="none"/>
<a name="bit27" val="none"/>
<a name="bit28" val="none"/>
<a name="bit29" val="none"/>
<a name="bit30" val="none"/>
<a name="bit31" val="none"/>
</comp>
<comp lib="0" loc="(260,640)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="and"/>
</comp>
<comp lib="0" loc="(210,580)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="0" loc="(210,200)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="3" loc="(260,590)" name="Subtractor">
<a name="width" val="32"/>
</comp>
<comp lib="1" loc="(320,330)" name="NOT Gate"/>
<comp lib="1" loc="(490,290)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(430,320)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(210,250)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(280,810)" name="Tunnel">
<a name="label" val="equal"/>
</comp>
<comp lib="0" loc="(210,750)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(870,90)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Signed Overflow"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(380,290)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(380,490)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(210,80)" name="Splitter">
<a name="fanout" val="1"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="bit8" val="none"/>
<a name="bit9" val="none"/>
<a name="bit10" val="none"/>
<a name="bit11" val="none"/>
<a name="bit12" val="none"/>
<a name="bit13" val="none"/>
<a name="bit14" val="none"/>
<a name="bit15" val="none"/>
<a name="bit16" val="none"/>
<a name="bit17" val="none"/>
<a name="bit18" val="none"/>
<a name="bit19" val="none"/>
<a name="bit20" val="none"/>
<a name="bit21" val="none"/>
<a name="bit22" val="none"/>
<a name="bit23" val="none"/>
<a name="bit24" val="none"/>
<a name="bit25" val="none"/>
<a name="bit26" val="none"/>
<a name="bit27" val="none"/>
<a name="bit28" val="none"/>
<a name="bit29" val="none"/>
<a name="bit30" val="none"/>
<a name="bit31" val="none"/>
</comp>
<comp lib="3" loc="(270,180)" name="Shifter">
<a name="width" val="32"/>
<a name="shift" val="ar"/>
</comp>
<comp lib="0" loc="(210,680)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="0" loc="(850,200)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="result"/>
</comp>
<comp lib="3" loc="(270,120)" name="Shifter">
<a name="width" val="32"/>
<a name="shift" val="lr"/>
</comp>
<comp lib="3" loc="(260,820)" name="Comparator">
<a name="width" val="32"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(220,170)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(120,120)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="X"/>
</comp>
<comp lib="5" loc="(950,50)" name="Text">
<a name="text" val="OUTPUTS from your circuit"/>
</comp>
<comp lib="0" loc="(220,50)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(210,830)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(580,230)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="subu"/>
</comp>
<comp lib="1" loc="(540,390)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="2" loc="(270,280)" name="BitSelector">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(580,290)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="or"/>
</comp>
<comp lib="0" loc="(260,500)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="value" val="0x1f"/>
</comp>
<comp lib="0" loc="(280,120)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="srl"/>
</comp>
<comp lib="0" loc="(550,390)" name="Tunnel">
<a name="label" val="overflow"/>
</comp>
<comp lib="0" loc="(320,260)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="value" val="0x1f"/>
</comp>
<comp lib="0" loc="(290,780)" name="Splitter">
<a name="facing" val="west"/>
<a name="incoming" val="32"/>
<a name="appear" val="right"/>
<a name="bit2" val="1"/>
<a name="bit3" val="1"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
<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="1"/>
<a name="bit17" val="1"/>
<a name="bit18" val="1"/>
<a name="bit19" val="1"/>
<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="bit30" val="1"/>
<a name="bit31" val="1"/>
</comp>
<comp lib="0" loc="(120,270)" name="Pin">
<a name="width" val="4"/>
<a name="tristate" val="false"/>
<a name="label" val="Switch"/>
</comp>
<comp lib="1" loc="(380,250)" name="NOT Gate"/>
<comp lib="0" loc="(260,350)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="value" val="0x1f"/>
</comp>
<comp lib="0" loc="(870,140)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Equal"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(290,860)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="sltu"/>
</comp>
<comp lib="0" loc="(580,320)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="slt"/>
</comp>
<comp lib="0" loc="(270,850)" name="Constant">
<a name="width" val="31"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(740,230)" name="Tunnel">
<a name="width" val="4"/>
<a name="label" val="S"/>
</comp>
<comp lib="1" loc="(320,280)" name="NOT Gate"/>
<comp lib="0" loc="(210,430)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="1" loc="(490,490)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(210,630)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
<comp lib="2" loc="(270,530)" name="BitSelector">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(210,450)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Y"/>
</comp>
<comp lib="0" loc="(270,590)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="subu"/>
</comp>
<comp lib="1" loc="(380,330)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(210,730)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="X"/>
</comp>
</circuit>
</project>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/netsplan/Logisim-Regfile-ALU-CPU.git
git@gitee.com:netsplan/Logisim-Regfile-ALU-CPU.git
netsplan
Logisim-Regfile-ALU-CPU
Logisim-Regfile-ALU-CPU
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385