psd_202410715172/prak_6/prak_6 .circ

351 lines
13 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="1.0"/>
<comp lib="0" loc="(110,110)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(140,90)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(470,90)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,150)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(500,110)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(530,130)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(550,150)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(80,130)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(80,170)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp loc="(410,90)" name="BIT_ALU_2"/>
<wire from="(110,110)" to="(190,110)"/>
<wire from="(140,90)" to="(190,90)"/>
<wire from="(410,110)" to="(500,110)"/>
<wire from="(410,130)" to="(530,130)"/>
<wire from="(410,150)" to="(550,150)"/>
<wire from="(410,90)" to="(470,90)"/>
<wire from="(50,150)" to="(190,150)"/>
<wire from="(80,130)" to="(190,130)"/>
<wire from="(80,170)" to="(190,170)"/>
</circuit>
<circuit name="BIT_ALU_1">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="BIT_ALU_1"/>
<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="12" text-anchor="middle" x="150" y="87">1 BIT ALU</text>
<circ-anchor facing="east" x="150" y="70"/>
<circ-port dir="in" pin="120,50" x="50" y="60"/>
<circ-port dir="in" pin="180,50" x="50" y="70"/>
<circ-port dir="in" pin="210,520" x="50" y="100"/>
<circ-port dir="in" pin="240,50" x="50" y="80"/>
<circ-port dir="in" pin="570,220" x="50" y="90"/>
<circ-port dir="out" pin="390,440" x="270" y="70"/>
<circ-port dir="out" pin="630,160" x="270" y="60"/>
</appear>
<comp lib="0" loc="(120,50)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(180,50)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(210,520)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(240,50)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(390,440)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(570,220)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(630,160)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(180,440)" name="NOT Gate"/>
<comp lib="1" loc="(420,140)" name="AND Gate"/>
<comp lib="1" loc="(420,260)" name="OR Gate"/>
<comp lib="2" loc="(230,450)" name="Multiplexer"/>
<comp lib="2" loc="(590,160)" name="Multiplexer">
<a name="select" val="2"/>
</comp>
<comp lib="3" loc="(410,380)" name="Adder">
<a name="width" val="1"/>
</comp>
<comp lib="8" loc="(120,22)" name="Text">
<a name="text" val="B"/>
</comp>
<comp lib="8" loc="(178,22)" name="Text">
<a name="text" val="A"/>
</comp>
<comp lib="8" loc="(211,558)" name="Text">
<a name="text" val="binvert"/>
</comp>
<comp lib="8" loc="(240,21)" name="Text">
<a name="text" val="C-in"/>
</comp>
<comp lib="8" loc="(391,477)" name="Text">
<a name="text" val="C-out"/>
</comp>
<comp lib="8" loc="(570,256)" name="Text">
<a name="text" val="operation"/>
</comp>
<comp lib="8" loc="(681,164)" name="Text">
<a name="text" val="output"/>
</comp>
<wire from="(120,440)" to="(130,440)"/>
<wire from="(120,50)" to="(120,440)"/>
<wire from="(130,440)" to="(130,460)"/>
<wire from="(130,440)" to="(150,440)"/>
<wire from="(130,460)" to="(200,460)"/>
<wire from="(180,120)" to="(180,240)"/>
<wire from="(180,120)" to="(370,120)"/>
<wire from="(180,240)" to="(180,370)"/>
<wire from="(180,240)" to="(370,240)"/>
<wire from="(180,370)" to="(370,370)"/>
<wire from="(180,440)" to="(200,440)"/>
<wire from="(180,50)" to="(180,120)"/>
<wire from="(210,470)" to="(210,520)"/>
<wire from="(230,450)" to="(300,450)"/>
<wire from="(240,340)" to="(390,340)"/>
<wire from="(240,50)" to="(240,340)"/>
<wire from="(300,160)" to="(300,280)"/>
<wire from="(300,160)" to="(370,160)"/>
<wire from="(300,280)" to="(300,390)"/>
<wire from="(300,280)" to="(370,280)"/>
<wire from="(300,390)" to="(300,450)"/>
<wire from="(300,390)" to="(370,390)"/>
<wire from="(390,340)" to="(390,360)"/>
<wire from="(390,400)" to="(390,440)"/>
<wire from="(410,380)" to="(460,380)"/>
<wire from="(420,140)" to="(550,140)"/>
<wire from="(420,260)" to="(440,260)"/>
<wire from="(440,150)" to="(440,260)"/>
<wire from="(440,150)" to="(550,150)"/>
<wire from="(460,160)" to="(460,380)"/>
<wire from="(460,160)" to="(550,160)"/>
<wire from="(570,180)" to="(570,220)"/>
<wire from="(590,160)" to="(630,160)"/>
</circuit>
<circuit name="BIT_ALU_2">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="BIT_ALU_2"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(100,210)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(120,130)" name="Splitter"/>
<comp lib="0" loc="(210,170)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(40,170)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,130)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(650,380)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(70,170)" name="Splitter"/>
<comp lib="0" loc="(710,120)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(740,120)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(80,290)" name="Pin">
<a name="appearance" val="classic"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(840,180)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(840,310)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(790,180)" name="OR Gate"/>
<comp lib="1" loc="(790,310)" name="XOR Gate"/>
<comp lib="8" loc="(11,175)" name="Text">
<a name="text" val="A"/>
</comp>
<comp lib="8" loc="(182,191)" name="Text">
<a name="text" val="C-in"/>
</comp>
<comp lib="8" loc="(22,137)" name="Text">
<a name="text" val="B"/>
</comp>
<comp lib="8" loc="(44,213)" name="Text">
<a name="text" val="binvert"/>
</comp>
<comp lib="8" loc="(53,318)" name="Text">
<a name="text" val="operation"/>
</comp>
<comp lib="8" loc="(698,387)" name="Text">
<a name="text" val="C-out"/>
</comp>
<comp lib="8" loc="(793,126)" name="Text">
<a name="text" val="output"/>
</comp>
<comp lib="8" loc="(884,187)" name="Text">
<a name="text" val="zero"/>
</comp>
<comp lib="8" loc="(901,314)" name="Text">
<a name="text" val="overflow"/>
</comp>
<comp loc="(500,130)" name="BIT_ALU_1"/>
<comp loc="(500,360)" name="BIT_ALU_1"/>
<wire from="(100,210)" to="(120,210)"/>
<wire from="(100,290)" to="(100,420)"/>
<wire from="(100,290)" to="(200,290)"/>
<wire from="(100,420)" to="(280,420)"/>
<wire from="(120,210)" to="(120,440)"/>
<wire from="(120,210)" to="(280,210)"/>
<wire from="(120,440)" to="(280,440)"/>
<wire from="(140,110)" to="(170,110)"/>
<wire from="(140,120)" to="(160,120)"/>
<wire from="(140,160)" to="(140,380)"/>
<wire from="(140,380)" to="(280,380)"/>
<wire from="(160,120)" to="(160,360)"/>
<wire from="(160,360)" to="(280,360)"/>
<wire from="(170,110)" to="(170,130)"/>
<wire from="(170,130)" to="(280,130)"/>
<wire from="(200,190)" to="(200,290)"/>
<wire from="(200,190)" to="(280,190)"/>
<wire from="(210,170)" to="(280,170)"/>
<wire from="(240,330)" to="(240,400)"/>
<wire from="(240,330)" to="(520,330)"/>
<wire from="(240,400)" to="(280,400)"/>
<wire from="(40,170)" to="(70,170)"/>
<wire from="(50,130)" to="(120,130)"/>
<wire from="(500,130)" to="(640,130)"/>
<wire from="(500,150)" to="(520,150)"/>
<wire from="(500,360)" to="(560,360)"/>
<wire from="(500,380)" to="(590,380)"/>
<wire from="(520,150)" to="(520,290)"/>
<wire from="(520,290)" to="(520,330)"/>
<wire from="(520,290)" to="(730,290)"/>
<wire from="(560,140)" to="(560,360)"/>
<wire from="(560,140)" to="(590,140)"/>
<wire from="(590,140)" to="(590,200)"/>
<wire from="(590,140)" to="(690,140)"/>
<wire from="(590,200)" to="(740,200)"/>
<wire from="(590,330)" to="(590,380)"/>
<wire from="(590,330)" to="(730,330)"/>
<wire from="(590,380)" to="(650,380)"/>
<wire from="(640,130)" to="(640,160)"/>
<wire from="(640,130)" to="(690,130)"/>
<wire from="(640,160)" to="(740,160)"/>
<wire from="(710,120)" to="(740,120)"/>
<wire from="(790,180)" to="(840,180)"/>
<wire from="(790,310)" to="(840,310)"/>
<wire from="(80,290)" to="(100,290)"/>
<wire from="(90,150)" to="(280,150)"/>
<wire from="(90,160)" to="(140,160)"/>
</circuit>
</project>