376 lines
14 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="4.0.0" version="1.0">
This file is intended to be loaded by Logisim-evolution v4.0.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="ALU_1BIT"/>
<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="type" val="output"/>
</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="1.0"/>
<comp lib="0" loc="(260,210)" name="Pin">
<a name="appearance" val="classic"/>
<a name="type" val="output"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(260,230)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(260,250)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(260,270)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(260,290)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(260,310)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(570,210)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="0" loc="(570,230)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="0" loc="(570,250)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="8" loc="(203,317)" name="Text">
<a name="text" val="Operator"/>
</comp>
<comp lib="8" loc="(207,216)" name="Text">
<a name="text" val="Output"/>
</comp>
<comp lib="8" loc="(208,277)" name="Text">
<a name="text" val="Binvert"/>
</comp>
<comp lib="8" loc="(209,257)" name="Text">
<a name="text" val="Carry In"/>
</comp>
<comp lib="8" loc="(224,238)" name="Text">
<a name="text" val="A"/>
</comp>
<comp lib="8" loc="(225,297)" name="Text">
<a name="text" val="B"/>
</comp>
<comp lib="8" loc="(615,217)" name="Text">
<a name="text" val="Zero"/>
</comp>
<comp lib="8" loc="(630,236)" name="Text">
<a name="text" val="Overflow"/>
</comp>
<comp lib="8" loc="(632,256)" name="Text">
<a name="text" val="Carry Out"/>
</comp>
<comp loc="(530,210)" name="ALU_2BIT"/>
<wire from="(260,210)" to="(310,210)"/>
<wire from="(260,230)" to="(310,230)"/>
<wire from="(260,250)" to="(310,250)"/>
<wire from="(260,270)" to="(310,270)"/>
<wire from="(260,290)" to="(310,290)"/>
<wire from="(260,310)" to="(310,310)"/>
<wire from="(530,210)" to="(570,210)"/>
<wire from="(530,230)" to="(570,230)"/>
<wire from="(530,250)" to="(570,250)"/>
</circuit>
<circuit name="ALU_2BIT">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="ALU_2BIT"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(120,250)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(130,360)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(130,500)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(140,660)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(160,250)" name="Splitter"/>
<comp lib="0" loc="(170,500)" name="Splitter"/>
<comp lib="0" loc="(200,310)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(820,510)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="0" loc="(890,200)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(920,360)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="0" loc="(950,200)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(980,270)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="1" loc="(880,360)" name="XOR Gate"/>
<comp lib="1" loc="(930,270)" name="OR Gate"/>
<comp lib="8" loc="(1030,275)" name="Text">
<a name="text" val="Zero"/>
</comp>
<comp lib="8" loc="(135,310)" name="Text">
<a name="text" val="Carry In"/>
</comp>
<comp lib="8" loc="(60,365)" name="Text">
<a name="text" val="Binvert"/>
</comp>
<comp lib="8" loc="(70,665)" name="Text">
<a name="text" val="Operation"/>
</comp>
<comp lib="8" loc="(80,255)" name="Text">
<a name="text" val="A"/>
</comp>
<comp lib="8" loc="(80,525)" name="Text">
<a name="text" val="B"/>
</comp>
<comp lib="8" loc="(895,510)" name="Text">
<a name="text" val="Carry Out"/>
</comp>
<comp lib="8" loc="(985,205)" name="Text">
<a name="text" val="Output"/>
</comp>
<comp lib="8" loc="(985,365)" name="Text">
<a name="text" val="Overflow"/>
</comp>
<comp loc="(680,210)" name="ALU_1BIT"/>
<comp loc="(680,490)" name="ALU_1BIT"/>
<wire from="(120,250)" to="(160,250)"/>
<wire from="(130,360)" to="(260,360)"/>
<wire from="(130,500)" to="(170,500)"/>
<wire from="(140,660)" to="(290,660)"/>
<wire from="(180,230)" to="(460,230)"/>
<wire from="(180,240)" to="(410,240)"/>
<wire from="(190,480)" to="(230,480)"/>
<wire from="(190,490)" to="(460,490)"/>
<wire from="(200,310)" to="(260,310)"/>
<wire from="(230,210)" to="(230,480)"/>
<wire from="(230,210)" to="(460,210)"/>
<wire from="(260,250)" to="(260,310)"/>
<wire from="(260,250)" to="(460,250)"/>
<wire from="(260,360)" to="(260,570)"/>
<wire from="(260,360)" to="(440,360)"/>
<wire from="(260,570)" to="(460,570)"/>
<wire from="(290,270)" to="(290,550)"/>
<wire from="(290,270)" to="(460,270)"/>
<wire from="(290,550)" to="(290,660)"/>
<wire from="(290,550)" to="(460,550)"/>
<wire from="(350,440)" to="(350,530)"/>
<wire from="(350,440)" to="(710,440)"/>
<wire from="(350,530)" to="(460,530)"/>
<wire from="(410,240)" to="(410,510)"/>
<wire from="(410,510)" to="(460,510)"/>
<wire from="(440,290)" to="(440,360)"/>
<wire from="(440,290)" to="(460,290)"/>
<wire from="(680,210)" to="(830,210)"/>
<wire from="(680,230)" to="(710,230)"/>
<wire from="(680,490)" to="(750,490)"/>
<wire from="(680,510)" to="(780,510)"/>
<wire from="(710,230)" to="(710,340)"/>
<wire from="(710,340)" to="(710,440)"/>
<wire from="(710,340)" to="(820,340)"/>
<wire from="(750,220)" to="(750,490)"/>
<wire from="(750,220)" to="(790,220)"/>
<wire from="(780,380)" to="(780,510)"/>
<wire from="(780,380)" to="(820,380)"/>
<wire from="(780,510)" to="(820,510)"/>
<wire from="(790,220)" to="(790,290)"/>
<wire from="(790,220)" to="(870,220)"/>
<wire from="(790,290)" to="(880,290)"/>
<wire from="(830,210)" to="(830,250)"/>
<wire from="(830,210)" to="(870,210)"/>
<wire from="(830,250)" to="(880,250)"/>
<wire from="(880,360)" to="(920,360)"/>
<wire from="(890,200)" to="(930,200)"/>
<wire from="(930,270)" to="(980,270)"/>
</circuit>
<circuit name="ALU_1BIT">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="ALU_1BIT"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="none" height="60" stroke="#000000" width="220" x="50" y="50"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="157" y="81">1 BIT ALU</text>
<circ-anchor facing="east" x="160" y="60"/>
<circ-port dir="in" pin="170,180" x="50" y="60"/>
<circ-port dir="in" pin="210,180" x="50" y="70"/>
<circ-port dir="in" pin="250,180" x="50" y="80"/>
<circ-port dir="in" pin="270,710" x="50" y="100"/>
<circ-port dir="in" pin="570,350" x="50" y="90"/>
<circ-port dir="out" pin="390,580" x="270" y="70"/>
<circ-port dir="out" pin="640,290" x="270" y="60"/>
</appear>
<comp lib="0" loc="(170,180)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(210,180)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(250,180)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(270,710)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(390,580)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
<a name="type" val="output"/>
</comp>
<comp lib="0" loc="(570,350)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(640,290)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="type" val="output"/>
</comp>
<comp lib="1" loc="(220,640)" name="NOT Gate"/>
<comp lib="1" loc="(420,270)" name="AND Gate"/>
<comp lib="1" loc="(420,390)" name="OR Gate"/>
<comp lib="2" loc="(290,650)" name="Multiplexer"/>
<comp lib="2" loc="(590,290)" name="Multiplexer">
<a name="select" val="2"/>
</comp>
<comp lib="3" loc="(410,520)" name="Adder">
<a name="width" val="1"/>
</comp>
<comp lib="8" loc="(170,145)" name="Text">
<a name="text" val="B"/>
</comp>
<comp lib="8" loc="(205,145)" name="Text">
<a name="text" val="A"/>
</comp>
<comp lib="8" loc="(270,145)" name="Text">
<a name="text" val="Carry In"/>
</comp>
<comp lib="8" loc="(270,755)" name="Text">
<a name="text" val="Binvert"/>
</comp>
<comp lib="8" loc="(395,620)" name="Text">
<a name="text" val="Carry Out"/>
</comp>
<comp lib="8" loc="(580,390)" name="Text">
<a name="text" val="Operation"/>
</comp>
<comp lib="8" loc="(690,295)" name="Text">
<a name="text" val="Output"/>
</comp>
<wire from="(170,180)" to="(170,640)"/>
<wire from="(170,640)" to="(180,640)"/>
<wire from="(180,640)" to="(180,660)"/>
<wire from="(180,640)" to="(190,640)"/>
<wire from="(180,660)" to="(260,660)"/>
<wire from="(210,180)" to="(210,250)"/>
<wire from="(210,250)" to="(210,370)"/>
<wire from="(210,250)" to="(370,250)"/>
<wire from="(210,370)" to="(210,510)"/>
<wire from="(210,370)" to="(370,370)"/>
<wire from="(210,510)" to="(370,510)"/>
<wire from="(220,640)" to="(260,640)"/>
<wire from="(250,180)" to="(250,470)"/>
<wire from="(250,470)" to="(390,470)"/>
<wire from="(270,670)" to="(270,710)"/>
<wire from="(290,650)" to="(320,650)"/>
<wire from="(320,290)" to="(320,410)"/>
<wire from="(320,290)" to="(370,290)"/>
<wire from="(320,410)" to="(320,530)"/>
<wire from="(320,410)" to="(370,410)"/>
<wire from="(320,530)" to="(320,650)"/>
<wire from="(320,530)" to="(370,530)"/>
<wire from="(390,470)" to="(390,500)"/>
<wire from="(390,540)" to="(390,580)"/>
<wire from="(410,520)" to="(480,520)"/>
<wire from="(420,270)" to="(550,270)"/>
<wire from="(420,390)" to="(450,390)"/>
<wire from="(450,280)" to="(450,390)"/>
<wire from="(450,280)" to="(550,280)"/>
<wire from="(480,290)" to="(480,520)"/>
<wire from="(480,290)" to="(550,290)"/>
<wire from="(570,310)" to="(570,350)"/>
<wire from="(590,290)" to="(640,290)"/>
</circuit>
</project>