Created
December 2, 2016 17:58
Star
You must be signed in to star a gist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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"/> | |
<lib desc="#Gates" name="1"/> | |
<lib desc="#Plexers" name="2"/> | |
<lib desc="#Arithmetic" name="3"/> | |
<lib desc="#Memory" name="4"> | |
<tool name="ROM"> | |
<a name="contents">addr/data: 8 8 | |
0 | |
</a> | |
</tool> | |
</lib> | |
<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="3-Bit Multiplier"/> | |
<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="tristate" val="false"/> | |
</tool> | |
<tool lib="0" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="labelloc" val="east"/> | |
</tool> | |
<tool lib="1" name="NOT Gate"/> | |
<tool lib="1" name="AND Gate"/> | |
<tool lib="1" name="OR Gate"/> | |
</toolbar> | |
<circuit name="3-Bit Multiplier"> | |
<a name="circuit" val="3-Bit Multiplier"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(630,170)" to="(630,180)"/> | |
<wire from="(410,140)" to="(590,140)"/> | |
<wire from="(440,240)" to="(440,250)"/> | |
<wire from="(400,240)" to="(400,250)"/> | |
<wire from="(410,390)" to="(580,390)"/> | |
<wire from="(270,330)" to="(270,350)"/> | |
<wire from="(210,140)" to="(210,350)"/> | |
<wire from="(670,150)" to="(670,180)"/> | |
<wire from="(660,210)" to="(660,560)"/> | |
<wire from="(630,90)" to="(630,120)"/> | |
<wire from="(200,420)" to="(200,440)"/> | |
<wire from="(190,330)" to="(190,350)"/> | |
<wire from="(230,330)" to="(230,350)"/> | |
<wire from="(370,150)" to="(370,180)"/> | |
<wire from="(590,90)" to="(590,110)"/> | |
<wire from="(570,210)" to="(570,230)"/> | |
<wire from="(610,150)" to="(610,170)"/> | |
<wire from="(590,230)" to="(590,250)"/> | |
<wire from="(390,160)" to="(430,160)"/> | |
<wire from="(430,160)" to="(470,160)"/> | |
<wire from="(590,180)" to="(610,180)"/> | |
<wire from="(470,120)" to="(630,120)"/> | |
<wire from="(370,370)" to="(400,370)"/> | |
<wire from="(170,90)" to="(170,130)"/> | |
<wire from="(180,380)" to="(180,420)"/> | |
<wire from="(370,150)" to="(520,150)"/> | |
<wire from="(240,430)" to="(260,430)"/> | |
<wire from="(130,90)" to="(130,140)"/> | |
<wire from="(90,150)" to="(170,150)"/> | |
<wire from="(170,130)" to="(250,130)"/> | |
<wire from="(450,130)" to="(450,180)"/> | |
<wire from="(410,390)" to="(410,440)"/> | |
<wire from="(400,320)" to="(400,370)"/> | |
<wire from="(560,320)" to="(560,380)"/> | |
<wire from="(670,90)" to="(670,150)"/> | |
<wire from="(260,380)" to="(260,430)"/> | |
<wire from="(170,150)" to="(370,150)"/> | |
<wire from="(650,130)" to="(650,180)"/> | |
<wire from="(250,130)" to="(450,130)"/> | |
<wire from="(90,90)" to="(90,150)"/> | |
<wire from="(560,240)" to="(570,240)"/> | |
<wire from="(450,130)" to="(650,130)"/> | |
<wire from="(220,380)" to="(220,440)"/> | |
<wire from="(570,240)" to="(570,250)"/> | |
<wire from="(370,370)" to="(370,440)"/> | |
<wire from="(610,240)" to="(610,250)"/> | |
<wire from="(270,110)" to="(590,110)"/> | |
<wire from="(240,430)" to="(240,440)"/> | |
<wire from="(170,150)" to="(170,350)"/> | |
<wire from="(610,150)" to="(670,150)"/> | |
<wire from="(580,320)" to="(580,390)"/> | |
<wire from="(390,380)" to="(560,380)"/> | |
<wire from="(390,160)" to="(390,180)"/> | |
<wire from="(430,160)" to="(430,180)"/> | |
<wire from="(470,160)" to="(470,180)"/> | |
<wire from="(580,150)" to="(580,180)"/> | |
<wire from="(620,210)" to="(620,240)"/> | |
<wire from="(270,110)" to="(270,330)"/> | |
<wire from="(520,150)" to="(520,180)"/> | |
<wire from="(460,210)" to="(460,240)"/> | |
<wire from="(380,210)" to="(380,240)"/> | |
<wire from="(190,330)" to="(230,330)"/> | |
<wire from="(230,330)" to="(270,330)"/> | |
<wire from="(520,180)" to="(560,180)"/> | |
<wire from="(250,130)" to="(250,350)"/> | |
<wire from="(590,140)" to="(590,180)"/> | |
<wire from="(570,230)" to="(590,230)"/> | |
<wire from="(610,170)" to="(630,170)"/> | |
<wire from="(380,240)" to="(400,240)"/> | |
<wire from="(580,150)" to="(610,150)"/> | |
<wire from="(440,240)" to="(460,240)"/> | |
<wire from="(410,140)" to="(410,180)"/> | |
<wire from="(180,420)" to="(200,420)"/> | |
<wire from="(420,210)" to="(420,250)"/> | |
<wire from="(470,120)" to="(470,160)"/> | |
<wire from="(200,510)" to="(200,560)"/> | |
<wire from="(130,140)" to="(210,140)"/> | |
<wire from="(400,510)" to="(400,560)"/> | |
<wire from="(380,510)" to="(380,560)"/> | |
<wire from="(360,510)" to="(360,560)"/> | |
<wire from="(600,320)" to="(600,560)"/> | |
<wire from="(390,380)" to="(390,440)"/> | |
<wire from="(210,140)" to="(410,140)"/> | |
<wire from="(610,240)" to="(620,240)"/> | |
<comp lib="0" loc="(560,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(590,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp loc="(180,470)" name="3-Bit Adder"/> | |
<comp lib="0" loc="(360,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M4"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(660,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(90,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(620,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(220,380)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(400,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M2"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(250,510)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(660,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M0"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(460,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(170,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(380,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(380,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M3"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(260,380)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(130,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(200,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(570,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(630,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(420,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(180,380)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(670,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(600,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M1"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp loc="(380,280)" name="3-Bit Adder"/> | |
<comp lib="0" loc="(450,320)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
</circuit> | |
<circuit name="3-Bit Adder/Sub"> | |
<a name="circuit" val="3-Bit Adder/Sub"/> | |
<a name="clabel" val="3-Bit Adder/Sub"/> | |
<a name="clabelup" val="north"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<appear> | |
<rect fill="none" height="54" stroke="#000000" stroke-width="2" width="187" x="225" y="178"/> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="369" y="197">A</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="258" y="197">B</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="364" y="222">Sum</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="297" y="223">OverFlow</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="249" y="222">Carry</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="398" y="212">M</text> | |
<circ-port height="8" pin="80,140" width="8" x="386" y="176"/> | |
<circ-port height="8" pin="80,170" width="8" x="366" y="176"/> | |
<circ-port height="8" pin="80,200" width="8" x="346" y="176"/> | |
<circ-port height="8" pin="80,260" width="8" x="276" y="176"/> | |
<circ-port height="8" pin="80,290" width="8" x="256" y="176"/> | |
<circ-port height="8" pin="80,320" width="8" x="236" y="176"/> | |
<circ-port height="10" pin="470,140" width="10" x="375" y="225"/> | |
<circ-port height="10" pin="470,220" width="10" x="355" y="225"/> | |
<circ-port height="10" pin="470,290" width="10" x="335" y="225"/> | |
<circ-port height="10" pin="600,380" width="10" x="285" y="225"/> | |
<circ-port height="8" pin="190,30" width="8" x="406" y="206"/> | |
<circ-port height="10" pin="380,420" width="10" x="245" y="225"/> | |
<circ-anchor facing="west" height="6" width="6" x="227" y="197"/> | |
</appear> | |
<wire from="(180,250)" to="(240,250)"/> | |
<wire from="(350,250)" to="(400,250)"/> | |
<wire from="(190,150)" to="(240,150)"/> | |
<wire from="(190,230)" to="(240,230)"/> | |
<wire from="(190,120)" to="(300,120)"/> | |
<wire from="(300,120)" to="(300,140)"/> | |
<wire from="(300,200)" to="(300,220)"/> | |
<wire from="(280,280)" to="(280,300)"/> | |
<wire from="(350,230)" to="(350,250)"/> | |
<wire from="(350,250)" to="(350,270)"/> | |
<wire from="(380,400)" to="(380,420)"/> | |
<wire from="(150,200)" to="(150,280)"/> | |
<wire from="(280,160)" to="(310,160)"/> | |
<wire from="(280,240)" to="(310,240)"/> | |
<wire from="(280,300)" to="(310,300)"/> | |
<wire from="(400,250)" to="(400,360)"/> | |
<wire from="(340,150)" to="(360,150)"/> | |
<wire from="(300,140)" to="(310,140)"/> | |
<wire from="(300,220)" to="(310,220)"/> | |
<wire from="(530,380)" to="(600,380)"/> | |
<wire from="(90,170)" to="(90,220)"/> | |
<wire from="(340,220)" to="(470,220)"/> | |
<wire from="(340,140)" to="(470,140)"/> | |
<wire from="(300,200)" to="(360,200)"/> | |
<wire from="(190,230)" to="(190,300)"/> | |
<wire from="(300,270)" to="(350,270)"/> | |
<wire from="(190,300)" to="(240,300)"/> | |
<wire from="(290,140)" to="(290,150)"/> | |
<wire from="(290,220)" to="(290,230)"/> | |
<wire from="(300,270)" to="(300,290)"/> | |
<wire from="(190,150)" to="(190,230)"/> | |
<wire from="(170,170)" to="(170,260)"/> | |
<wire from="(190,30)" to="(190,120)"/> | |
<wire from="(190,120)" to="(190,150)"/> | |
<wire from="(80,290)" to="(180,290)"/> | |
<wire from="(340,300)" to="(380,300)"/> | |
<wire from="(80,320)" to="(240,320)"/> | |
<wire from="(380,300)" to="(380,400)"/> | |
<wire from="(380,400)" to="(470,400)"/> | |
<wire from="(280,310)" to="(310,310)"/> | |
<wire from="(80,260)" to="(170,260)"/> | |
<wire from="(290,150)" to="(310,150)"/> | |
<wire from="(290,230)" to="(310,230)"/> | |
<wire from="(180,250)" to="(180,290)"/> | |
<wire from="(80,140)" to="(290,140)"/> | |
<wire from="(300,290)" to="(310,290)"/> | |
<wire from="(340,230)" to="(350,230)"/> | |
<wire from="(80,170)" to="(90,170)"/> | |
<wire from="(360,150)" to="(360,200)"/> | |
<wire from="(170,170)" to="(240,170)"/> | |
<wire from="(90,220)" to="(290,220)"/> | |
<wire from="(80,200)" to="(150,200)"/> | |
<wire from="(340,290)" to="(470,290)"/> | |
<wire from="(150,280)" to="(280,280)"/> | |
<wire from="(400,360)" to="(470,360)"/> | |
<comp lib="0" loc="(80,320)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
</comp> | |
<comp lib="0" loc="(80,260)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
</comp> | |
<comp lib="0" loc="(190,30)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="M"/> | |
</comp> | |
<comp lib="0" loc="(80,200)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
</comp> | |
<comp lib="1" loc="(530,380)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(280,160)" name="XOR Gate"> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(280,240)" name="XOR Gate"> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp loc="(340,290)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(80,140)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
</comp> | |
<comp lib="0" loc="(600,380)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="overflow"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(470,290)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S2"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp loc="(340,220)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp loc="(340,140)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(380,420)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(470,140)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S0"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="1" loc="(280,310)" name="XOR Gate"> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(80,170)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
</comp> | |
<comp lib="0" loc="(80,290)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
</comp> | |
<comp lib="0" loc="(470,220)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S1"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
</circuit> | |
<circuit name="3-Bit Adder"> | |
<a name="circuit" val="3-Bit Adder"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<appear> | |
<rect fill="none" height="78" stroke="#000000" stroke-width="2" width="273" x="139" y="178"/> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="188" y="197">B</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="227" y="243">OverFlow</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="359" y="197">A</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="344" y="242">Sum</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="169" y="242">Carry</text> | |
<circ-port height="8" pin="80,140" width="8" x="376" y="176"/> | |
<circ-port height="8" pin="80,170" width="8" x="356" y="176"/> | |
<circ-port height="8" pin="80,200" width="8" x="336" y="176"/> | |
<circ-port height="8" pin="80,260" width="8" x="206" y="176"/> | |
<circ-port height="8" pin="80,290" width="8" x="186" y="176"/> | |
<circ-port height="8" pin="80,320" width="8" x="166" y="176"/> | |
<circ-port height="10" pin="470,140" width="10" x="365" y="245"/> | |
<circ-port height="10" pin="470,220" width="10" x="345" y="245"/> | |
<circ-port height="10" pin="470,290" width="10" x="325" y="245"/> | |
<circ-port height="10" pin="600,380" width="10" x="215" y="245"/> | |
<circ-port height="10" pin="380,420" width="10" x="165" y="245"/> | |
<circ-anchor facing="west" height="6" width="6" x="147" y="207"/> | |
</appear> | |
<wire from="(180,250)" to="(240,250)"/> | |
<wire from="(240,240)" to="(240,250)"/> | |
<wire from="(240,160)" to="(240,170)"/> | |
<wire from="(350,250)" to="(400,250)"/> | |
<wire from="(300,200)" to="(300,220)"/> | |
<wire from="(280,280)" to="(280,300)"/> | |
<wire from="(350,230)" to="(350,250)"/> | |
<wire from="(350,250)" to="(350,270)"/> | |
<wire from="(380,400)" to="(380,420)"/> | |
<wire from="(150,200)" to="(150,280)"/> | |
<wire from="(280,300)" to="(310,300)"/> | |
<wire from="(400,250)" to="(400,360)"/> | |
<wire from="(340,150)" to="(360,150)"/> | |
<wire from="(300,140)" to="(310,140)"/> | |
<wire from="(300,220)" to="(310,220)"/> | |
<wire from="(530,380)" to="(600,380)"/> | |
<wire from="(90,170)" to="(90,220)"/> | |
<wire from="(240,310)" to="(310,310)"/> | |
<wire from="(340,220)" to="(470,220)"/> | |
<wire from="(340,140)" to="(470,140)"/> | |
<wire from="(300,200)" to="(360,200)"/> | |
<wire from="(240,310)" to="(240,320)"/> | |
<wire from="(300,270)" to="(350,270)"/> | |
<wire from="(290,140)" to="(290,150)"/> | |
<wire from="(290,220)" to="(290,230)"/> | |
<wire from="(300,270)" to="(300,290)"/> | |
<wire from="(170,170)" to="(170,260)"/> | |
<wire from="(80,290)" to="(180,290)"/> | |
<wire from="(340,300)" to="(380,300)"/> | |
<wire from="(80,320)" to="(240,320)"/> | |
<wire from="(380,300)" to="(380,400)"/> | |
<wire from="(380,400)" to="(470,400)"/> | |
<wire from="(80,260)" to="(170,260)"/> | |
<wire from="(290,150)" to="(310,150)"/> | |
<wire from="(290,230)" to="(310,230)"/> | |
<wire from="(180,250)" to="(180,290)"/> | |
<wire from="(80,140)" to="(290,140)"/> | |
<wire from="(300,290)" to="(310,290)"/> | |
<wire from="(340,230)" to="(350,230)"/> | |
<wire from="(300,90)" to="(300,140)"/> | |
<wire from="(80,170)" to="(90,170)"/> | |
<wire from="(360,150)" to="(360,200)"/> | |
<wire from="(170,170)" to="(240,170)"/> | |
<wire from="(90,220)" to="(290,220)"/> | |
<wire from="(240,240)" to="(310,240)"/> | |
<wire from="(240,160)" to="(310,160)"/> | |
<wire from="(80,200)" to="(150,200)"/> | |
<wire from="(340,290)" to="(470,290)"/> | |
<wire from="(150,280)" to="(280,280)"/> | |
<wire from="(400,360)" to="(470,360)"/> | |
<comp lib="0" loc="(470,140)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S0"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(470,220)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S1"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(80,170)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
</comp> | |
<comp loc="(340,220)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(80,320)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
</comp> | |
<comp lib="0" loc="(80,290)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
</comp> | |
<comp lib="0" loc="(80,140)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
</comp> | |
<comp lib="0" loc="(300,90)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp loc="(340,140)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(600,380)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="overflow"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(380,420)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(80,200)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
</comp> | |
<comp lib="1" loc="(530,380)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(470,290)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S2"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(80,260)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
</comp> | |
<comp loc="(340,290)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
</circuit> | |
<circuit name="Full Adder"> | |
<a name="circuit" val="Full Adder"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="south"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(430,170)" to="(490,170)"/> | |
<wire from="(490,170)" to="(550,170)"/> | |
<wire from="(200,60)" to="(200,380)"/> | |
<wire from="(730,290)" to="(780,290)"/> | |
<wire from="(550,150)" to="(600,150)"/> | |
<wire from="(560,190)" to="(560,320)"/> | |
<wire from="(190,170)" to="(240,170)"/> | |
<wire from="(420,410)" to="(730,410)"/> | |
<wire from="(660,170)" to="(910,170)"/> | |
<wire from="(560,190)" to="(600,190)"/> | |
<wire from="(330,150)" to="(330,170)"/> | |
<wire from="(280,190)" to="(280,270)"/> | |
<wire from="(260,320)" to="(370,320)"/> | |
<wire from="(490,280)" to="(590,280)"/> | |
<wire from="(200,380)" to="(560,380)"/> | |
<wire from="(550,150)" to="(550,170)"/> | |
<wire from="(330,150)" to="(370,150)"/> | |
<wire from="(280,190)" to="(370,190)"/> | |
<wire from="(240,170)" to="(330,170)"/> | |
<wire from="(260,270)" to="(280,270)"/> | |
<wire from="(420,300)" to="(420,410)"/> | |
<wire from="(490,170)" to="(490,280)"/> | |
<wire from="(560,320)" to="(590,320)"/> | |
<wire from="(830,270)" to="(920,270)"/> | |
<wire from="(240,170)" to="(240,280)"/> | |
<wire from="(710,250)" to="(780,250)"/> | |
<wire from="(730,290)" to="(730,410)"/> | |
<wire from="(640,300)" to="(710,300)"/> | |
<wire from="(560,320)" to="(560,380)"/> | |
<wire from="(190,60)" to="(200,60)"/> | |
<wire from="(260,270)" to="(260,320)"/> | |
<wire from="(710,250)" to="(710,300)"/> | |
<wire from="(190,270)" to="(260,270)"/> | |
<wire from="(240,280)" to="(370,280)"/> | |
<comp lib="1" loc="(830,270)" name="OR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(190,170)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="X"/> | |
</comp> | |
<comp lib="1" loc="(430,170)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(190,270)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="Y"/> | |
</comp> | |
<comp lib="0" loc="(920,270)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="1" loc="(640,300)" name="AND Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(660,170)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(910,170)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Sum"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="1" loc="(420,300)" name="AND Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(190,60)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="Carry"/> | |
</comp> | |
</circuit> | |
<circuit name="Multiplier v2.0"> | |
<a name="circuit" val="Multiplier v2.0"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(60,470)" to="(380,470)"/> | |
<wire from="(560,240)" to="(560,250)"/> | |
<wire from="(580,240)" to="(580,250)"/> | |
<wire from="(650,150)" to="(650,160)"/> | |
<wire from="(510,470)" to="(510,480)"/> | |
<wire from="(450,170)" to="(450,190)"/> | |
<wire from="(520,100)" to="(620,100)"/> | |
<wire from="(560,140)" to="(560,160)"/> | |
<wire from="(580,140)" to="(580,160)"/> | |
<wire from="(460,290)" to="(460,380)"/> | |
<wire from="(460,150)" to="(500,150)"/> | |
<wire from="(50,90)" to="(50,130)"/> | |
<wire from="(410,140)" to="(430,140)"/> | |
<wire from="(440,220)" to="(440,260)"/> | |
<wire from="(410,90)" to="(410,140)"/> | |
<wire from="(570,190)" to="(570,250)"/> | |
<wire from="(490,250)" to="(490,300)"/> | |
<wire from="(670,90)" to="(670,140)"/> | |
<wire from="(450,290)" to="(450,480)"/> | |
<wire from="(580,280)" to="(580,480)"/> | |
<wire from="(520,100)" to="(520,170)"/> | |
<wire from="(620,90)" to="(620,100)"/> | |
<wire from="(510,240)" to="(560,240)"/> | |
<wire from="(70,120)" to="(70,130)"/> | |
<wire from="(460,250)" to="(460,260)"/> | |
<wire from="(380,470)" to="(380,480)"/> | |
<wire from="(450,240)" to="(450,260)"/> | |
<wire from="(520,170)" to="(520,190)"/> | |
<wire from="(510,220)" to="(510,240)"/> | |
<wire from="(570,280)" to="(570,300)"/> | |
<wire from="(500,380)" to="(500,470)"/> | |
<wire from="(670,140)" to="(670,160)"/> | |
<wire from="(80,90)" to="(80,120)"/> | |
<wire from="(460,380)" to="(500,380)"/> | |
<wire from="(460,250)" to="(490,250)"/> | |
<wire from="(660,190)" to="(660,480)"/> | |
<wire from="(60,170)" to="(60,470)"/> | |
<wire from="(500,150)" to="(650,150)"/> | |
<wire from="(580,140)" to="(670,140)"/> | |
<wire from="(500,150)" to="(500,190)"/> | |
<wire from="(500,470)" to="(510,470)"/> | |
<wire from="(430,140)" to="(430,190)"/> | |
<wire from="(70,120)" to="(80,120)"/> | |
<wire from="(490,300)" to="(570,300)"/> | |
<wire from="(430,140)" to="(560,140)"/> | |
<wire from="(460,90)" to="(460,150)"/> | |
<wire from="(450,170)" to="(520,170)"/> | |
<comp loc="(460,290)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(660,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M0"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(670,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(460,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(510,220)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(580,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M1"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(570,190)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(450,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(510,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M2"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(380,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Sign"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(80,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp loc="(580,280)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(50,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(450,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M3"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(660,190)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(60,170)" name="XOR Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(580,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(620,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(440,220)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(410,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
</circuit> | |
<circuit name="test"> | |
<a name="circuit" val="test"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(60,470)" to="(380,470)"/> | |
<wire from="(560,240)" to="(560,250)"/> | |
<wire from="(580,240)" to="(580,250)"/> | |
<wire from="(650,150)" to="(650,160)"/> | |
<wire from="(510,470)" to="(510,480)"/> | |
<wire from="(450,170)" to="(450,190)"/> | |
<wire from="(520,100)" to="(620,100)"/> | |
<wire from="(560,140)" to="(560,160)"/> | |
<wire from="(580,140)" to="(580,160)"/> | |
<wire from="(460,290)" to="(460,380)"/> | |
<wire from="(460,150)" to="(500,150)"/> | |
<wire from="(50,90)" to="(50,130)"/> | |
<wire from="(410,140)" to="(430,140)"/> | |
<wire from="(410,90)" to="(410,140)"/> | |
<wire from="(490,250)" to="(490,300)"/> | |
<wire from="(670,90)" to="(670,140)"/> | |
<wire from="(450,290)" to="(450,480)"/> | |
<wire from="(580,280)" to="(580,480)"/> | |
<wire from="(520,100)" to="(520,170)"/> | |
<wire from="(620,90)" to="(620,100)"/> | |
<wire from="(510,240)" to="(560,240)"/> | |
<wire from="(70,120)" to="(70,130)"/> | |
<wire from="(460,250)" to="(460,260)"/> | |
<wire from="(380,470)" to="(380,480)"/> | |
<wire from="(450,240)" to="(450,260)"/> | |
<wire from="(520,170)" to="(520,190)"/> | |
<wire from="(510,220)" to="(510,240)"/> | |
<wire from="(440,230)" to="(440,260)"/> | |
<wire from="(570,280)" to="(570,300)"/> | |
<wire from="(500,380)" to="(500,470)"/> | |
<wire from="(670,140)" to="(670,160)"/> | |
<wire from="(80,90)" to="(80,120)"/> | |
<wire from="(460,380)" to="(500,380)"/> | |
<wire from="(460,250)" to="(490,250)"/> | |
<wire from="(660,190)" to="(660,480)"/> | |
<wire from="(60,170)" to="(60,470)"/> | |
<wire from="(500,150)" to="(650,150)"/> | |
<wire from="(580,140)" to="(670,140)"/> | |
<wire from="(500,150)" to="(500,190)"/> | |
<wire from="(500,470)" to="(510,470)"/> | |
<wire from="(430,140)" to="(430,190)"/> | |
<wire from="(70,120)" to="(80,120)"/> | |
<wire from="(490,300)" to="(570,300)"/> | |
<wire from="(430,140)" to="(560,140)"/> | |
<wire from="(570,200)" to="(570,250)"/> | |
<wire from="(460,90)" to="(460,150)"/> | |
<wire from="(450,170)" to="(520,170)"/> | |
<comp lib="0" loc="(620,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(450,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp loc="(460,290)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(80,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(580,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M1"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(450,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M3"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(660,190)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(440,230)" name="NAND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(510,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M2"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(380,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Sign"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(570,200)" name="NAND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp loc="(580,280)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(670,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(660,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M0"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(460,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(60,170)" name="XOR Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(580,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(410,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(510,220)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(50,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
</circuit> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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"/> | |
<lib desc="#Gates" name="1"/> | |
<lib desc="#Plexers" name="2"/> | |
<lib desc="#Arithmetic" name="3"/> | |
<lib desc="#Memory" name="4"> | |
<tool name="ROM"> | |
<a name="contents">addr/data: 8 8 | |
0 | |
</a> | |
</tool> | |
</lib> | |
<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="3-Bit Multiplier"/> | |
<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="tristate" val="false"/> | |
</tool> | |
<tool lib="0" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="labelloc" val="east"/> | |
</tool> | |
<tool lib="1" name="NOT Gate"/> | |
<tool lib="1" name="AND Gate"/> | |
<tool lib="1" name="OR Gate"/> | |
</toolbar> | |
<circuit name="3-Bit Multiplier"> | |
<a name="circuit" val="3-Bit Multiplier"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(630,170)" to="(630,180)"/> | |
<wire from="(410,140)" to="(590,140)"/> | |
<wire from="(440,240)" to="(440,250)"/> | |
<wire from="(400,240)" to="(400,250)"/> | |
<wire from="(410,390)" to="(580,390)"/> | |
<wire from="(270,330)" to="(270,350)"/> | |
<wire from="(210,140)" to="(210,350)"/> | |
<wire from="(670,150)" to="(670,180)"/> | |
<wire from="(660,210)" to="(660,560)"/> | |
<wire from="(630,90)" to="(630,120)"/> | |
<wire from="(200,420)" to="(200,440)"/> | |
<wire from="(190,330)" to="(190,350)"/> | |
<wire from="(230,330)" to="(230,350)"/> | |
<wire from="(370,150)" to="(370,180)"/> | |
<wire from="(590,90)" to="(590,110)"/> | |
<wire from="(570,210)" to="(570,230)"/> | |
<wire from="(610,150)" to="(610,170)"/> | |
<wire from="(590,230)" to="(590,250)"/> | |
<wire from="(390,160)" to="(430,160)"/> | |
<wire from="(430,160)" to="(470,160)"/> | |
<wire from="(590,180)" to="(610,180)"/> | |
<wire from="(470,120)" to="(630,120)"/> | |
<wire from="(370,370)" to="(400,370)"/> | |
<wire from="(170,90)" to="(170,130)"/> | |
<wire from="(180,380)" to="(180,420)"/> | |
<wire from="(370,150)" to="(520,150)"/> | |
<wire from="(240,430)" to="(260,430)"/> | |
<wire from="(130,90)" to="(130,140)"/> | |
<wire from="(90,150)" to="(170,150)"/> | |
<wire from="(170,130)" to="(250,130)"/> | |
<wire from="(450,130)" to="(450,180)"/> | |
<wire from="(410,390)" to="(410,440)"/> | |
<wire from="(400,320)" to="(400,370)"/> | |
<wire from="(560,320)" to="(560,380)"/> | |
<wire from="(670,90)" to="(670,150)"/> | |
<wire from="(260,380)" to="(260,430)"/> | |
<wire from="(170,150)" to="(370,150)"/> | |
<wire from="(650,130)" to="(650,180)"/> | |
<wire from="(250,130)" to="(450,130)"/> | |
<wire from="(90,90)" to="(90,150)"/> | |
<wire from="(560,240)" to="(570,240)"/> | |
<wire from="(450,130)" to="(650,130)"/> | |
<wire from="(220,380)" to="(220,440)"/> | |
<wire from="(570,240)" to="(570,250)"/> | |
<wire from="(370,370)" to="(370,440)"/> | |
<wire from="(610,240)" to="(610,250)"/> | |
<wire from="(270,110)" to="(590,110)"/> | |
<wire from="(240,430)" to="(240,440)"/> | |
<wire from="(170,150)" to="(170,350)"/> | |
<wire from="(610,150)" to="(670,150)"/> | |
<wire from="(580,320)" to="(580,390)"/> | |
<wire from="(390,380)" to="(560,380)"/> | |
<wire from="(390,160)" to="(390,180)"/> | |
<wire from="(430,160)" to="(430,180)"/> | |
<wire from="(470,160)" to="(470,180)"/> | |
<wire from="(580,150)" to="(580,180)"/> | |
<wire from="(620,210)" to="(620,240)"/> | |
<wire from="(270,110)" to="(270,330)"/> | |
<wire from="(520,150)" to="(520,180)"/> | |
<wire from="(460,210)" to="(460,240)"/> | |
<wire from="(380,210)" to="(380,240)"/> | |
<wire from="(190,330)" to="(230,330)"/> | |
<wire from="(230,330)" to="(270,330)"/> | |
<wire from="(520,180)" to="(560,180)"/> | |
<wire from="(250,130)" to="(250,350)"/> | |
<wire from="(590,140)" to="(590,180)"/> | |
<wire from="(570,230)" to="(590,230)"/> | |
<wire from="(610,170)" to="(630,170)"/> | |
<wire from="(380,240)" to="(400,240)"/> | |
<wire from="(580,150)" to="(610,150)"/> | |
<wire from="(440,240)" to="(460,240)"/> | |
<wire from="(410,140)" to="(410,180)"/> | |
<wire from="(180,420)" to="(200,420)"/> | |
<wire from="(420,210)" to="(420,250)"/> | |
<wire from="(470,120)" to="(470,160)"/> | |
<wire from="(200,510)" to="(200,560)"/> | |
<wire from="(130,140)" to="(210,140)"/> | |
<wire from="(400,510)" to="(400,560)"/> | |
<wire from="(380,510)" to="(380,560)"/> | |
<wire from="(360,510)" to="(360,560)"/> | |
<wire from="(600,320)" to="(600,560)"/> | |
<wire from="(390,380)" to="(390,440)"/> | |
<wire from="(210,140)" to="(410,140)"/> | |
<wire from="(610,240)" to="(620,240)"/> | |
<comp lib="0" loc="(560,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(590,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp loc="(180,470)" name="3-Bit Adder"/> | |
<comp lib="0" loc="(360,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M4"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(660,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(90,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(620,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(220,380)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(400,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M2"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(250,510)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(660,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M0"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(460,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(170,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(380,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(380,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M3"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(260,380)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(130,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(200,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(570,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(630,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(420,210)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(180,380)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(670,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(600,560)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M1"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp loc="(380,280)" name="3-Bit Adder"/> | |
<comp lib="0" loc="(450,320)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
</circuit> | |
<circuit name="3-Bit Adder/Sub"> | |
<a name="circuit" val="3-Bit Adder/Sub"/> | |
<a name="clabel" val="3-Bit Adder/Sub"/> | |
<a name="clabelup" val="north"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<appear> | |
<rect fill="none" height="54" stroke="#000000" stroke-width="2" width="187" x="225" y="178"/> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="369" y="197">A</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="258" y="197">B</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="364" y="222">Sum</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="297" y="223">OverFlow</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="249" y="222">Carry</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="398" y="212">M</text> | |
<circ-port height="8" pin="80,140" width="8" x="386" y="176"/> | |
<circ-port height="8" pin="80,170" width="8" x="366" y="176"/> | |
<circ-port height="8" pin="80,200" width="8" x="346" y="176"/> | |
<circ-port height="8" pin="80,260" width="8" x="276" y="176"/> | |
<circ-port height="8" pin="80,290" width="8" x="256" y="176"/> | |
<circ-port height="8" pin="80,320" width="8" x="236" y="176"/> | |
<circ-port height="10" pin="470,140" width="10" x="375" y="225"/> | |
<circ-port height="10" pin="470,220" width="10" x="355" y="225"/> | |
<circ-port height="10" pin="470,290" width="10" x="335" y="225"/> | |
<circ-port height="10" pin="600,380" width="10" x="285" y="225"/> | |
<circ-port height="8" pin="190,30" width="8" x="406" y="206"/> | |
<circ-port height="10" pin="380,420" width="10" x="245" y="225"/> | |
<circ-anchor facing="west" height="6" width="6" x="227" y="197"/> | |
</appear> | |
<wire from="(180,250)" to="(240,250)"/> | |
<wire from="(350,250)" to="(400,250)"/> | |
<wire from="(190,150)" to="(240,150)"/> | |
<wire from="(190,230)" to="(240,230)"/> | |
<wire from="(190,120)" to="(300,120)"/> | |
<wire from="(300,120)" to="(300,140)"/> | |
<wire from="(300,200)" to="(300,220)"/> | |
<wire from="(280,280)" to="(280,300)"/> | |
<wire from="(350,230)" to="(350,250)"/> | |
<wire from="(350,250)" to="(350,270)"/> | |
<wire from="(380,400)" to="(380,420)"/> | |
<wire from="(150,200)" to="(150,280)"/> | |
<wire from="(280,160)" to="(310,160)"/> | |
<wire from="(280,240)" to="(310,240)"/> | |
<wire from="(280,300)" to="(310,300)"/> | |
<wire from="(400,250)" to="(400,360)"/> | |
<wire from="(340,150)" to="(360,150)"/> | |
<wire from="(300,140)" to="(310,140)"/> | |
<wire from="(300,220)" to="(310,220)"/> | |
<wire from="(530,380)" to="(600,380)"/> | |
<wire from="(90,170)" to="(90,220)"/> | |
<wire from="(340,220)" to="(470,220)"/> | |
<wire from="(340,140)" to="(470,140)"/> | |
<wire from="(300,200)" to="(360,200)"/> | |
<wire from="(190,230)" to="(190,300)"/> | |
<wire from="(300,270)" to="(350,270)"/> | |
<wire from="(190,300)" to="(240,300)"/> | |
<wire from="(290,140)" to="(290,150)"/> | |
<wire from="(290,220)" to="(290,230)"/> | |
<wire from="(300,270)" to="(300,290)"/> | |
<wire from="(190,150)" to="(190,230)"/> | |
<wire from="(170,170)" to="(170,260)"/> | |
<wire from="(190,30)" to="(190,120)"/> | |
<wire from="(190,120)" to="(190,150)"/> | |
<wire from="(80,290)" to="(180,290)"/> | |
<wire from="(340,300)" to="(380,300)"/> | |
<wire from="(80,320)" to="(240,320)"/> | |
<wire from="(380,300)" to="(380,400)"/> | |
<wire from="(380,400)" to="(470,400)"/> | |
<wire from="(280,310)" to="(310,310)"/> | |
<wire from="(80,260)" to="(170,260)"/> | |
<wire from="(290,150)" to="(310,150)"/> | |
<wire from="(290,230)" to="(310,230)"/> | |
<wire from="(180,250)" to="(180,290)"/> | |
<wire from="(80,140)" to="(290,140)"/> | |
<wire from="(300,290)" to="(310,290)"/> | |
<wire from="(340,230)" to="(350,230)"/> | |
<wire from="(80,170)" to="(90,170)"/> | |
<wire from="(360,150)" to="(360,200)"/> | |
<wire from="(170,170)" to="(240,170)"/> | |
<wire from="(90,220)" to="(290,220)"/> | |
<wire from="(80,200)" to="(150,200)"/> | |
<wire from="(340,290)" to="(470,290)"/> | |
<wire from="(150,280)" to="(280,280)"/> | |
<wire from="(400,360)" to="(470,360)"/> | |
<comp lib="0" loc="(80,320)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
</comp> | |
<comp lib="0" loc="(80,260)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
</comp> | |
<comp lib="0" loc="(190,30)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="M"/> | |
</comp> | |
<comp lib="0" loc="(80,200)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
</comp> | |
<comp lib="1" loc="(530,380)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(280,160)" name="XOR Gate"> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(280,240)" name="XOR Gate"> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp loc="(340,290)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(80,140)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
</comp> | |
<comp lib="0" loc="(600,380)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="overflow"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(470,290)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S2"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp loc="(340,220)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp loc="(340,140)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(380,420)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(470,140)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S0"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="1" loc="(280,310)" name="XOR Gate"> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(80,170)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
</comp> | |
<comp lib="0" loc="(80,290)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
</comp> | |
<comp lib="0" loc="(470,220)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S1"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
</circuit> | |
<circuit name="3-Bit Adder"> | |
<a name="circuit" val="3-Bit Adder"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<appear> | |
<rect fill="none" height="78" stroke="#000000" stroke-width="2" width="273" x="139" y="178"/> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="188" y="197">B</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="227" y="243">OverFlow</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="359" y="197">A</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="344" y="242">Sum</text> | |
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="169" y="242">Carry</text> | |
<circ-port height="8" pin="80,140" width="8" x="376" y="176"/> | |
<circ-port height="8" pin="80,170" width="8" x="356" y="176"/> | |
<circ-port height="8" pin="80,200" width="8" x="336" y="176"/> | |
<circ-port height="8" pin="80,260" width="8" x="206" y="176"/> | |
<circ-port height="8" pin="80,290" width="8" x="186" y="176"/> | |
<circ-port height="8" pin="80,320" width="8" x="166" y="176"/> | |
<circ-port height="10" pin="470,140" width="10" x="365" y="245"/> | |
<circ-port height="10" pin="470,220" width="10" x="345" y="245"/> | |
<circ-port height="10" pin="470,290" width="10" x="325" y="245"/> | |
<circ-port height="10" pin="600,380" width="10" x="215" y="245"/> | |
<circ-port height="10" pin="380,420" width="10" x="165" y="245"/> | |
<circ-anchor facing="west" height="6" width="6" x="147" y="207"/> | |
</appear> | |
<wire from="(180,250)" to="(240,250)"/> | |
<wire from="(240,240)" to="(240,250)"/> | |
<wire from="(240,160)" to="(240,170)"/> | |
<wire from="(350,250)" to="(400,250)"/> | |
<wire from="(300,200)" to="(300,220)"/> | |
<wire from="(280,280)" to="(280,300)"/> | |
<wire from="(350,230)" to="(350,250)"/> | |
<wire from="(350,250)" to="(350,270)"/> | |
<wire from="(380,400)" to="(380,420)"/> | |
<wire from="(150,200)" to="(150,280)"/> | |
<wire from="(280,300)" to="(310,300)"/> | |
<wire from="(400,250)" to="(400,360)"/> | |
<wire from="(340,150)" to="(360,150)"/> | |
<wire from="(300,140)" to="(310,140)"/> | |
<wire from="(300,220)" to="(310,220)"/> | |
<wire from="(530,380)" to="(600,380)"/> | |
<wire from="(90,170)" to="(90,220)"/> | |
<wire from="(240,310)" to="(310,310)"/> | |
<wire from="(340,220)" to="(470,220)"/> | |
<wire from="(340,140)" to="(470,140)"/> | |
<wire from="(300,200)" to="(360,200)"/> | |
<wire from="(240,310)" to="(240,320)"/> | |
<wire from="(300,270)" to="(350,270)"/> | |
<wire from="(290,140)" to="(290,150)"/> | |
<wire from="(290,220)" to="(290,230)"/> | |
<wire from="(300,270)" to="(300,290)"/> | |
<wire from="(170,170)" to="(170,260)"/> | |
<wire from="(80,290)" to="(180,290)"/> | |
<wire from="(340,300)" to="(380,300)"/> | |
<wire from="(80,320)" to="(240,320)"/> | |
<wire from="(380,300)" to="(380,400)"/> | |
<wire from="(380,400)" to="(470,400)"/> | |
<wire from="(80,260)" to="(170,260)"/> | |
<wire from="(290,150)" to="(310,150)"/> | |
<wire from="(290,230)" to="(310,230)"/> | |
<wire from="(180,250)" to="(180,290)"/> | |
<wire from="(80,140)" to="(290,140)"/> | |
<wire from="(300,290)" to="(310,290)"/> | |
<wire from="(340,230)" to="(350,230)"/> | |
<wire from="(300,90)" to="(300,140)"/> | |
<wire from="(80,170)" to="(90,170)"/> | |
<wire from="(360,150)" to="(360,200)"/> | |
<wire from="(170,170)" to="(240,170)"/> | |
<wire from="(90,220)" to="(290,220)"/> | |
<wire from="(240,240)" to="(310,240)"/> | |
<wire from="(240,160)" to="(310,160)"/> | |
<wire from="(80,200)" to="(150,200)"/> | |
<wire from="(340,290)" to="(470,290)"/> | |
<wire from="(150,280)" to="(280,280)"/> | |
<wire from="(400,360)" to="(470,360)"/> | |
<comp lib="0" loc="(470,140)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S0"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(470,220)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S1"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(80,170)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
</comp> | |
<comp loc="(340,220)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(80,320)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
</comp> | |
<comp lib="0" loc="(80,290)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
</comp> | |
<comp lib="0" loc="(80,140)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
</comp> | |
<comp lib="0" loc="(300,90)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp loc="(340,140)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
<comp lib="0" loc="(600,380)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="overflow"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(380,420)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(80,200)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
</comp> | |
<comp lib="1" loc="(530,380)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(470,290)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="S2"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="0" loc="(80,260)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
</comp> | |
<comp loc="(340,290)" name="Full Adder"> | |
<a name="label" val="F.A"/> | |
</comp> | |
</circuit> | |
<circuit name="Full Adder"> | |
<a name="circuit" val="Full Adder"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="south"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(430,170)" to="(490,170)"/> | |
<wire from="(490,170)" to="(550,170)"/> | |
<wire from="(200,60)" to="(200,380)"/> | |
<wire from="(730,290)" to="(780,290)"/> | |
<wire from="(550,150)" to="(600,150)"/> | |
<wire from="(560,190)" to="(560,320)"/> | |
<wire from="(190,170)" to="(240,170)"/> | |
<wire from="(420,410)" to="(730,410)"/> | |
<wire from="(660,170)" to="(910,170)"/> | |
<wire from="(560,190)" to="(600,190)"/> | |
<wire from="(330,150)" to="(330,170)"/> | |
<wire from="(280,190)" to="(280,270)"/> | |
<wire from="(260,320)" to="(370,320)"/> | |
<wire from="(490,280)" to="(590,280)"/> | |
<wire from="(200,380)" to="(560,380)"/> | |
<wire from="(550,150)" to="(550,170)"/> | |
<wire from="(330,150)" to="(370,150)"/> | |
<wire from="(280,190)" to="(370,190)"/> | |
<wire from="(240,170)" to="(330,170)"/> | |
<wire from="(260,270)" to="(280,270)"/> | |
<wire from="(420,300)" to="(420,410)"/> | |
<wire from="(490,170)" to="(490,280)"/> | |
<wire from="(560,320)" to="(590,320)"/> | |
<wire from="(830,270)" to="(920,270)"/> | |
<wire from="(240,170)" to="(240,280)"/> | |
<wire from="(710,250)" to="(780,250)"/> | |
<wire from="(730,290)" to="(730,410)"/> | |
<wire from="(640,300)" to="(710,300)"/> | |
<wire from="(560,320)" to="(560,380)"/> | |
<wire from="(190,60)" to="(200,60)"/> | |
<wire from="(260,270)" to="(260,320)"/> | |
<wire from="(710,250)" to="(710,300)"/> | |
<wire from="(190,270)" to="(260,270)"/> | |
<wire from="(240,280)" to="(370,280)"/> | |
<comp lib="1" loc="(830,270)" name="OR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(190,170)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="X"/> | |
</comp> | |
<comp lib="1" loc="(430,170)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(190,270)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="Y"/> | |
</comp> | |
<comp lib="0" loc="(920,270)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Carry"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="1" loc="(640,300)" name="AND Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(660,170)" name="XOR Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(910,170)" name="Pin"> | |
<a name="facing" val="west"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Sum"/> | |
<a name="labelloc" val="east"/> | |
</comp> | |
<comp lib="1" loc="(420,300)" name="AND Gate"> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(190,60)" name="Pin"> | |
<a name="tristate" val="false"/> | |
<a name="label" val="Carry"/> | |
</comp> | |
</circuit> | |
<circuit name="Multiplier v2.0"> | |
<a name="circuit" val="Multiplier v2.0"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(60,470)" to="(380,470)"/> | |
<wire from="(560,240)" to="(560,250)"/> | |
<wire from="(580,240)" to="(580,250)"/> | |
<wire from="(650,150)" to="(650,160)"/> | |
<wire from="(510,470)" to="(510,480)"/> | |
<wire from="(450,170)" to="(450,190)"/> | |
<wire from="(520,100)" to="(620,100)"/> | |
<wire from="(560,140)" to="(560,160)"/> | |
<wire from="(580,140)" to="(580,160)"/> | |
<wire from="(460,290)" to="(460,380)"/> | |
<wire from="(460,150)" to="(500,150)"/> | |
<wire from="(50,90)" to="(50,130)"/> | |
<wire from="(410,140)" to="(430,140)"/> | |
<wire from="(440,220)" to="(440,260)"/> | |
<wire from="(410,90)" to="(410,140)"/> | |
<wire from="(570,190)" to="(570,250)"/> | |
<wire from="(490,250)" to="(490,300)"/> | |
<wire from="(670,90)" to="(670,140)"/> | |
<wire from="(450,290)" to="(450,480)"/> | |
<wire from="(580,280)" to="(580,480)"/> | |
<wire from="(520,100)" to="(520,170)"/> | |
<wire from="(620,90)" to="(620,100)"/> | |
<wire from="(510,240)" to="(560,240)"/> | |
<wire from="(70,120)" to="(70,130)"/> | |
<wire from="(460,250)" to="(460,260)"/> | |
<wire from="(380,470)" to="(380,480)"/> | |
<wire from="(450,240)" to="(450,260)"/> | |
<wire from="(520,170)" to="(520,190)"/> | |
<wire from="(510,220)" to="(510,240)"/> | |
<wire from="(570,280)" to="(570,300)"/> | |
<wire from="(500,380)" to="(500,470)"/> | |
<wire from="(670,140)" to="(670,160)"/> | |
<wire from="(80,90)" to="(80,120)"/> | |
<wire from="(460,380)" to="(500,380)"/> | |
<wire from="(460,250)" to="(490,250)"/> | |
<wire from="(660,190)" to="(660,480)"/> | |
<wire from="(60,170)" to="(60,470)"/> | |
<wire from="(500,150)" to="(650,150)"/> | |
<wire from="(580,140)" to="(670,140)"/> | |
<wire from="(500,150)" to="(500,190)"/> | |
<wire from="(500,470)" to="(510,470)"/> | |
<wire from="(430,140)" to="(430,190)"/> | |
<wire from="(70,120)" to="(80,120)"/> | |
<wire from="(490,300)" to="(570,300)"/> | |
<wire from="(430,140)" to="(560,140)"/> | |
<wire from="(460,90)" to="(460,150)"/> | |
<wire from="(450,170)" to="(520,170)"/> | |
<comp loc="(460,290)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(660,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M0"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(670,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(460,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(510,220)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(580,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M1"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(570,190)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(450,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(510,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M2"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(380,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Sign"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(80,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp loc="(580,280)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(50,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(450,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M3"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(660,190)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(60,170)" name="XOR Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(580,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(620,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(440,220)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(410,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
</circuit> | |
<circuit name="test"> | |
<a name="circuit" val="test"/> | |
<a name="clabel" val=""/> | |
<a name="clabelup" val="east"/> | |
<a name="clabelfont" val="SansSerif plain 12"/> | |
<wire from="(60,470)" to="(380,470)"/> | |
<wire from="(560,240)" to="(560,250)"/> | |
<wire from="(580,240)" to="(580,250)"/> | |
<wire from="(650,150)" to="(650,160)"/> | |
<wire from="(510,470)" to="(510,480)"/> | |
<wire from="(450,170)" to="(450,190)"/> | |
<wire from="(520,100)" to="(620,100)"/> | |
<wire from="(560,140)" to="(560,160)"/> | |
<wire from="(580,140)" to="(580,160)"/> | |
<wire from="(460,290)" to="(460,380)"/> | |
<wire from="(460,150)" to="(500,150)"/> | |
<wire from="(50,90)" to="(50,130)"/> | |
<wire from="(410,140)" to="(430,140)"/> | |
<wire from="(410,90)" to="(410,140)"/> | |
<wire from="(490,250)" to="(490,300)"/> | |
<wire from="(670,90)" to="(670,140)"/> | |
<wire from="(450,290)" to="(450,480)"/> | |
<wire from="(580,280)" to="(580,480)"/> | |
<wire from="(520,100)" to="(520,170)"/> | |
<wire from="(620,90)" to="(620,100)"/> | |
<wire from="(510,240)" to="(560,240)"/> | |
<wire from="(70,120)" to="(70,130)"/> | |
<wire from="(460,250)" to="(460,260)"/> | |
<wire from="(380,470)" to="(380,480)"/> | |
<wire from="(450,240)" to="(450,260)"/> | |
<wire from="(520,170)" to="(520,190)"/> | |
<wire from="(510,220)" to="(510,240)"/> | |
<wire from="(440,230)" to="(440,260)"/> | |
<wire from="(570,280)" to="(570,300)"/> | |
<wire from="(500,380)" to="(500,470)"/> | |
<wire from="(670,140)" to="(670,160)"/> | |
<wire from="(80,90)" to="(80,120)"/> | |
<wire from="(460,380)" to="(500,380)"/> | |
<wire from="(460,250)" to="(490,250)"/> | |
<wire from="(660,190)" to="(660,480)"/> | |
<wire from="(60,170)" to="(60,470)"/> | |
<wire from="(500,150)" to="(650,150)"/> | |
<wire from="(580,140)" to="(670,140)"/> | |
<wire from="(500,150)" to="(500,190)"/> | |
<wire from="(500,470)" to="(510,470)"/> | |
<wire from="(430,140)" to="(430,190)"/> | |
<wire from="(70,120)" to="(80,120)"/> | |
<wire from="(490,300)" to="(570,300)"/> | |
<wire from="(430,140)" to="(560,140)"/> | |
<wire from="(570,200)" to="(570,250)"/> | |
<wire from="(460,90)" to="(460,150)"/> | |
<wire from="(450,170)" to="(520,170)"/> | |
<comp lib="0" loc="(620,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(450,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp loc="(460,290)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(80,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(580,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M1"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(450,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M3"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(660,190)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="1" loc="(440,230)" name="NAND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(510,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M2"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(380,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="Sign"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="1" loc="(570,200)" name="NAND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp loc="(580,280)" name="Full Adder"> | |
<a name="facing" val="south"/> | |
</comp> | |
<comp lib="0" loc="(670,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="A0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="0" loc="(660,480)" name="Pin"> | |
<a name="facing" val="north"/> | |
<a name="output" val="true"/> | |
<a name="label" val="M0"/> | |
<a name="labelloc" val="south"/> | |
</comp> | |
<comp lib="0" loc="(460,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B0"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(60,170)" name="XOR Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(580,240)" name="Constant"> | |
<a name="facing" val="south"/> | |
<a name="value" val="0x0"/> | |
</comp> | |
<comp lib="0" loc="(410,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B1"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
<comp lib="1" loc="(510,220)" name="AND Gate"> | |
<a name="facing" val="south"/> | |
<a name="size" val="30"/> | |
<a name="inputs" val="2"/> | |
</comp> | |
<comp lib="0" loc="(50,90)" name="Pin"> | |
<a name="facing" val="south"/> | |
<a name="tristate" val="false"/> | |
<a name="label" val="B2"/> | |
<a name="labelloc" val="north"/> | |
</comp> | |
</circuit> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment