451 lines
16 KiB
XML
451 lines
16 KiB
XML
<?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="fanout" val="7"/>
|
|
<a name="incoming" val="7"/>
|
|
</tool>
|
|
<tool name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="mult"/>
|
|
</tool>
|
|
<tool name="Probe">
|
|
<a name="radix" val="16"/>
|
|
<a name="label" val="2'nd jump mux out"/>
|
|
<a name="labelloc" val="east"/>
|
|
</tool>
|
|
<tool name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="1"/>
|
|
</tool>
|
|
<tool name="Pull Resistor">
|
|
<a name="facing" val="north"/>
|
|
</tool>
|
|
<tool name="Constant">
|
|
<a name="facing" val="west"/>
|
|
<a name="value" val="0x0"/>
|
|
</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="#Base" name="6">
|
|
<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="6" map="Button2" name="Menu Tool"/>
|
|
<tool lib="6" map="Button3" name="Menu Tool"/>
|
|
<tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
|
|
</mappings>
|
|
<toolbar>
|
|
<tool lib="6" name="Poke Tool"/>
|
|
<tool lib="6" name="Edit Tool"/>
|
|
<tool lib="6" 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="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="B"/>
|
|
</tool>
|
|
<tool lib="0" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="carry/remainder"/>
|
|
</tool>
|
|
<tool lib="1" name="NOT Gate">
|
|
<a name="facing" val="north"/>
|
|
</tool>
|
|
<tool lib="1" name="AND Gate"/>
|
|
<tool lib="1" name="OR Gate"/>
|
|
</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>
|
|
<path d="M61,62 Q65,72 69,62" fill="none" stroke="#808080" stroke-width="2"/>
|
|
<rect fill="none" height="51" stroke="#000000" stroke-width="2" width="30" x="50" y="60"/>
|
|
<circ-port height="8" pin="100,180" width="8" x="46" y="56"/>
|
|
<circ-port height="8" pin="100,260" width="8" x="46" y="66"/>
|
|
<circ-port height="8" pin="100,310" width="8" x="46" y="76"/>
|
|
<circ-port height="8" pin="100,330" width="8" x="46" y="86"/>
|
|
<circ-port height="8" pin="100,350" width="8" x="46" y="96"/>
|
|
<circ-port height="8" pin="100,370" width="8" x="46" y="106"/>
|
|
<circ-port height="10" pin="180,430" width="10" x="75" y="85"/>
|
|
<circ-port height="10" pin="180,480" width="10" x="75" y="95"/>
|
|
<circ-port height="10" pin="180,530" width="10" x="75" y="75"/>
|
|
<circ-anchor facing="east" height="6" width="6" x="47" y="57"/>
|
|
</appear>
|
|
<wire from="(180,530)" to="(240,530)"/>
|
|
<wire from="(340,460)" to="(340,490)"/>
|
|
<wire from="(190,470)" to="(270,470)"/>
|
|
<wire from="(240,650)" to="(590,650)"/>
|
|
<wire from="(160,220)" to="(170,220)"/>
|
|
<wire from="(240,530)" to="(240,650)"/>
|
|
<wire from="(220,230)" to="(220,240)"/>
|
|
<wire from="(320,330)" to="(320,460)"/>
|
|
<wire from="(550,540)" to="(550,550)"/>
|
|
<wire from="(590,530)" to="(590,650)"/>
|
|
<wire from="(270,560)" to="(420,560)"/>
|
|
<wire from="(140,260)" to="(150,260)"/>
|
|
<wire from="(170,390)" to="(440,390)"/>
|
|
<wire from="(190,420)" to="(190,430)"/>
|
|
<wire from="(180,480)" to="(190,480)"/>
|
|
<wire from="(190,260)" to="(220,260)"/>
|
|
<wire from="(190,320)" to="(210,320)"/>
|
|
<wire from="(170,210)" to="(180,210)"/>
|
|
<wire from="(320,460)" to="(340,460)"/>
|
|
<wire from="(160,230)" to="(180,230)"/>
|
|
<wire from="(180,240)" to="(190,240)"/>
|
|
<wire from="(170,340)" to="(490,340)"/>
|
|
<wire from="(170,210)" to="(170,220)"/>
|
|
<wire from="(270,470)" to="(270,560)"/>
|
|
<wire from="(210,290)" to="(210,320)"/>
|
|
<wire from="(180,230)" to="(180,240)"/>
|
|
<wire from="(210,290)" to="(250,290)"/>
|
|
<wire from="(420,470)" to="(420,560)"/>
|
|
<wire from="(490,530)" to="(520,530)"/>
|
|
<wire from="(440,390)" to="(440,520)"/>
|
|
<wire from="(200,290)" to="(200,330)"/>
|
|
<wire from="(160,240)" to="(170,240)"/>
|
|
<wire from="(180,430)" to="(190,430)"/>
|
|
<wire from="(410,470)" to="(420,470)"/>
|
|
<wire from="(190,470)" to="(190,480)"/>
|
|
<wire from="(510,520)" to="(510,550)"/>
|
|
<wire from="(310,270)" to="(350,270)"/>
|
|
<wire from="(190,420)" to="(350,420)"/>
|
|
<wire from="(180,190)" to="(180,210)"/>
|
|
<wire from="(510,550)" to="(550,550)"/>
|
|
<wire from="(440,520)" to="(510,520)"/>
|
|
<wire from="(580,530)" to="(590,530)"/>
|
|
<wire from="(170,290)" to="(200,290)"/>
|
|
<wire from="(250,270)" to="(250,290)"/>
|
|
<wire from="(160,220)" to="(160,230)"/>
|
|
<wire from="(180,190)" to="(190,190)"/>
|
|
<wire from="(280,280)" to="(280,370)"/>
|
|
<wire from="(380,480)" to="(380,490)"/>
|
|
<wire from="(200,330)" to="(320,330)"/>
|
|
<wire from="(190,370)" to="(280,370)"/>
|
|
<wire from="(350,270)" to="(350,420)"/>
|
|
<wire from="(330,470)" to="(350,470)"/>
|
|
<wire from="(190,260)" to="(190,270)"/>
|
|
<wire from="(490,340)" to="(490,530)"/>
|
|
<wire from="(340,490)" to="(380,490)"/>
|
|
<comp lib="0" loc="(360,480)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="1"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,330)" name="Tunnel">
|
|
<a name="label" val="2"/>
|
|
</comp>
|
|
<comp lib="0" loc="(520,510)" name="Constant">
|
|
<a name="width" val="32"/>
|
|
<a name="value" val="0x0"/>
|
|
</comp>
|
|
<comp lib="0" loc="(560,550)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="4"/>
|
|
</comp>
|
|
<comp lib="0" loc="(390,490)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="2"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,330)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,370)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="div"/>
|
|
</comp>
|
|
<comp lib="1" loc="(200,250)" name="NOT Gate">
|
|
<a name="facing" val="north"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,310)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
<comp lib="2" loc="(310,270)" name="Multiplexer">
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,280)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="3" loc="(190,270)" name="Subtractor">
|
|
<a name="width" val="32"/>
|
|
</comp>
|
|
<comp lib="0" loc="(180,480)" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="carry/borrow"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,370)" name="Tunnel">
|
|
<a name="label" val="4"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,310)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="add"/>
|
|
</comp>
|
|
<comp lib="2" loc="(280,260)" name="Multiplexer">
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,260)" name="Pin">
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,180)" name="Tunnel">
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
<comp lib="0" loc="(190,190)" name="Constant">
|
|
<a name="facing" val="west"/>
|
|
<a name="width" val="32"/>
|
|
<a name="value" val="0x0"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,180)" name="Pin">
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
<comp lib="2" loc="(580,530)" name="Multiplexer">
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(200,280)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="1"/>
|
|
</comp>
|
|
<comp lib="3" loc="(190,370)" name="Divider">
|
|
<a name="width" val="32"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,360)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
<comp lib="0" loc="(170,240)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="carr"/>
|
|
</comp>
|
|
<comp lib="0" loc="(180,430)" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="out"/>
|
|
</comp>
|
|
<comp lib="0" loc="(230,270)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="2"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,380)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="0" loc="(350,450)" name="Constant">
|
|
<a name="value" val="0x0"/>
|
|
</comp>
|
|
<comp lib="0" loc="(290,290)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="4"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,260)" name="Tunnel">
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="2" loc="(220,230)" name="Multiplexer">
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,280)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="3"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,230)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,330)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="sub"/>
|
|
</comp>
|
|
<comp lib="0" loc="(180,530)" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="carry/remainder"/>
|
|
</comp>
|
|
<comp lib="2" loc="(380,460)" name="Multiplexer">
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="3" loc="(190,320)" name="Multiplier">
|
|
<a name="width" val="32"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,350)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="mult"/>
|
|
</comp>
|
|
<comp lib="0" loc="(140,260)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
<comp lib="3" loc="(190,220)" name="Adder">
|
|
<a name="width" val="32"/>
|
|
</comp>
|
|
<comp lib="0" loc="(330,470)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="carr"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,350)" name="Tunnel">
|
|
<a name="label" val="3"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,310)" name="Tunnel">
|
|
<a name="label" val="1"/>
|
|
</comp>
|
|
<comp lib="2" loc="(410,470)" name="Multiplexer">
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="2" loc="(550,520)" name="Multiplexer">
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(530,540)" name="Tunnel">
|
|
<a name="facing" val="north"/>
|
|
<a name="label" val="3"/>
|
|
</comp>
|
|
<comp lib="2" loc="(250,250)" name="Multiplexer">
|
|
<a name="width" val="32"/>
|
|
<a name="disabled" val="0"/>
|
|
<a name="enable" val="false"/>
|
|
</comp>
|
|
<comp lib="0" loc="(150,210)" name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
</circuit>
|
|
<circuit name="g">
|
|
<a name="circuit" val="g"/>
|
|
<a name="clabel" val=""/>
|
|
<a name="clabelup" val="east"/>
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
<wire from="(260,490)" to="(310,490)"/>
|
|
<wire from="(260,450)" to="(290,450)"/>
|
|
<wire from="(300,370)" to="(300,470)"/>
|
|
<wire from="(270,340)" to="(360,340)"/>
|
|
<wire from="(300,370)" to="(360,370)"/>
|
|
<wire from="(390,360)" to="(410,360)"/>
|
|
<wire from="(280,350)" to="(280,430)"/>
|
|
<wire from="(270,560)" to="(420,560)"/>
|
|
<wire from="(270,300)" to="(270,330)"/>
|
|
<wire from="(270,330)" to="(360,330)"/>
|
|
<wire from="(290,360)" to="(360,360)"/>
|
|
<wire from="(450,350)" to="(450,610)"/>
|
|
<wire from="(260,430)" to="(280,430)"/>
|
|
<wire from="(270,560)" to="(270,590)"/>
|
|
<wire from="(260,590)" to="(270,590)"/>
|
|
<wire from="(420,370)" to="(420,560)"/>
|
|
<wire from="(290,360)" to="(290,450)"/>
|
|
<wire from="(310,380)" to="(360,380)"/>
|
|
<wire from="(390,370)" to="(420,370)"/>
|
|
<wire from="(270,340)" to="(270,380)"/>
|
|
<wire from="(270,610)" to="(270,640)"/>
|
|
<wire from="(280,350)" to="(360,350)"/>
|
|
<wire from="(260,470)" to="(300,470)"/>
|
|
<wire from="(260,540)" to="(410,540)"/>
|
|
<wire from="(390,350)" to="(450,350)"/>
|
|
<wire from="(260,380)" to="(270,380)"/>
|
|
<wire from="(310,380)" to="(310,490)"/>
|
|
<wire from="(410,360)" to="(410,540)"/>
|
|
<wire from="(270,610)" to="(450,610)"/>
|
|
<wire from="(260,640)" to="(270,640)"/>
|
|
<wire from="(260,300)" to="(270,300)"/>
|
|
<comp lib="0" loc="(260,590)" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="carry/borow"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,540)" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="out"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,640)" name="Pin">
|
|
<a name="output" val="true"/>
|
|
<a name="width" val="32"/>
|
|
<a name="label" val="carry/remainder"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,450)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="sub"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,430)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="add"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,300)" name="Pin">
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="A"/>
|
|
</comp>
|
|
<comp loc="(360,330)" name="main"/>
|
|
<comp lib="0" loc="(260,490)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="div"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,380)" name="Pin">
|
|
<a name="width" val="32"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="B"/>
|
|
</comp>
|
|
<comp lib="0" loc="(260,470)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="pull" val="down"/>
|
|
<a name="label" val="mult"/>
|
|
</comp>
|
|
</circuit>
|
|
</project>
|