Logisim v1.0 subcircuit { name {2-input NAND gate} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentAnd{ coord {140 60} } logisim.CirComponentNot{ coord {200 60} } logisim.CirComponentLED{ coord {230 60} text { (xy)'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {140 125} text {2-input NAND gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {40 40 90 40} } } logisim.WireTree{ wire {coords {40 80 90 80} } } logisim.WireTree{ wire {coords {140 60 170 60} } } logisim.WireTree{ wire {coords {200 60 230 60} } } } subcircuit { name {3-input NAND gate} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 120} text { z} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentAnd{ coord {150 80} } logisim.CirComponentNot{ coord {210 80} } logisim.CirComponentLED{ coord {240 80} text { (xyz)'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {140 165} text {3-input NAND gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {70 40 70 70} } wire {coords {40 40 70 40} } wire {coords {70 70 100 70} } } logisim.WireTree{ wire {coords {70 90 70 120} } wire {coords {40 120 70 120} } wire {coords {70 90 100 90} } } logisim.WireTree{ wire {coords {40 80 100 80} } } logisim.WireTree{ wire {coords {150 80 180 80} } } logisim.WireTree{ wire {coords {210 80 240 80} } } } subcircuit { name {4-input NAND gate} logisim.CirComponentSwitch{ coord {40 40} text { w} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 120} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 160} text { z} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentAnd{ coord {150 100} } logisim.CirComponentNot{ coord {210 100} } logisim.CirComponentLED{ coord {240 100} text { (wxyz)'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {140 205} text {4-input NAND gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {40 160 80 160} } wire {coords {80 120 80 160} } wire {coords {80 120 100 120} } } logisim.WireTree{ wire {coords {40 120 60 120} } wire {coords {60 110 60 120} } wire {coords {60 110 100 110} } } logisim.WireTree{ wire {coords {40 80 60 80} } wire {coords {60 80 60 90} } wire {coords {60 90 100 90} } } logisim.WireTree{ wire {coords {40 40 80 40} } wire {coords {80 40 80 80} } wire {coords {80 80 100 80} } } logisim.WireTree{ wire {coords {150 100 180 100} } } logisim.WireTree{ wire {coords {210 100 240 100} } } } subcircuit { name {2-input NOR gate} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentOr{ coord {140 60} } logisim.CirComponentNot{ coord {200 60} } logisim.CirComponentLED{ coord {230 60} text { (x+y)'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {140 125} text {2-input NOR gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {40 40 90 40} } } logisim.WireTree{ wire {coords {40 80 90 80} } } logisim.WireTree{ wire {coords {140 60 170 60} } } logisim.WireTree{ wire {coords {200 60 230 60} } } } subcircuit { name {3-input NOR gate} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 120} text { z} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentOr{ coord {150 80} } logisim.CirComponentNot{ coord {210 80} } logisim.CirComponentLED{ coord {240 80} text { (x+y+z)'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {140 165} text {3-input NOR gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {70 40 70 70} } wire {coords {40 40 70 40} } wire {coords {70 70 100 70} } } logisim.WireTree{ wire {coords {70 90 70 120} } wire {coords {40 120 70 120} } wire {coords {70 90 100 90} } } logisim.WireTree{ wire {coords {40 80 100 80} } } logisim.WireTree{ wire {coords {150 80 180 80} } } logisim.WireTree{ wire {coords {210 80 240 80} } } } subcircuit { name {4-input NOR gate} logisim.CirComponentSwitch{ coord {40 40} text { w} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 120} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 160} text { z} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentOr{ coord {150 100} } logisim.CirComponentNot{ coord {210 100} } logisim.CirComponentLED{ coord {240 100} text { (w+x+y+z)'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {140 205} text {4-input NOR gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {40 160 80 160} } wire {coords {80 120 80 160} } wire {coords {80 120 100 120} } } logisim.WireTree{ wire {coords {40 120 60 120} } wire {coords {60 110 60 120} } wire {coords {60 110 100 110} } } logisim.WireTree{ wire {coords {40 80 60 80} } wire {coords {60 80 60 90} } wire {coords {60 90 100 90} } } logisim.WireTree{ wire {coords {40 40 80 40} } wire {coords {80 40 80 80} } wire {coords {80 80 100 80} } } logisim.WireTree{ wire {coords {150 100 180 100} } } logisim.WireTree{ wire {coords {210 100 240 100} } } } subcircuit { name {2-input XOR gate} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 80} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentOr{ coord {180 60} } logisim.Subcircuit{ coord {170 140} subcircuit {2-input NAND gate} } logisim.CirComponentAnd{ coord {290 100} } logisim.CirComponentLED{ coord {320 100} text { x'y+xy'} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {155 130} text {NAND} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {195 55} text {x+y} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {195 155} text {(xy)'} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {190 195} text {2-input XOR gate} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {90 40 90 140} } wire {coords {90 40 130 40} } wire {coords {40 40 90 40} } wire {coords {90 140 140 140} } } logisim.WireTree{ wire {coords {70 80 70 150} } wire {coords {70 80 130 80} } wire {coords {40 80 70 80} } wire {coords {70 150 140 150} } } logisim.WireTree{ wire {coords {180 60 210 60} } wire {coords {210 60 210 90} } wire {coords {210 90 240 90} } } logisim.WireTree{ wire {coords {170 140 210 140} } wire {coords {210 110 210 140} } wire {coords {210 110 240 110} } } logisim.WireTree{ wire {coords {290 100 320 100} } } } subcircuit { name {1-bit half adder} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 110} text { y} font {SansSerif 12 -} labelpos {east} } logisim.Subcircuit{ coord {160 40} subcircuit {2-input XOR gate} } logisim.CirComponentAnd{ coord {180 100} } logisim.CirComponentLED{ coord {210 40} text { S} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentLED{ coord {210 100} text { C} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {145 30} text {XOR} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {130 165} text {1-bit half adder} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {70 50 130 50} } wire {coords {40 110 70 110} } wire {coords {70 110 130 110} } wire {coords {70 50 70 110} } } logisim.WireTree{ wire {coords {40 40 90 40} } wire {coords {90 40 130 40} } wire {coords {90 40 90 90} } wire {coords {90 90 130 90} } } logisim.WireTree{ wire {coords {160 40 210 40} } } logisim.WireTree{ wire {coords {180 100 210 100} } } } subcircuit { name {1-bit full adder} logisim.CirComponentSwitch{ coord {40 40} text { x} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 90} text { y} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentSwitch{ coord {40 140} text { z} font {SansSerif 12 -} labelpos {east} } logisim.Subcircuit{ coord {130 60} subcircuit {1-bit half adder} } logisim.Subcircuit{ coord {240 90} subcircuit {1-bit half adder} } logisim.CirComponentOr{ coord {360 110} } logisim.CirComponentLED{ coord {390 60} text { S} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentLED{ coord {390 110} text { C} font {SansSerif 12 -} labelpos {east} } logisim.CirComponentText{ coord {115 50} text {H.A.} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {170 55} text {S1} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {170 135} text {C1} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {225 80} text {H.A.} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {290 55} text {S2} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {290 95} text {C2} font {SansSerif 12 -} halign {center} valign {baseline} } logisim.CirComponentText{ coord {210 185} text {1-bit full adder} font {SansSerif 18 b} halign {center} valign {baseline} } logisim.WireTree{ wire {coords {40 40 70 40} } wire {coords {70 40 70 60} } wire {coords {70 60 100 60} } } logisim.WireTree{ wire {coords {40 90 70 90} } wire {coords {70 70 70 90} } wire {coords {70 70 100 70} } } logisim.WireTree{ wire {coords {130 60 180 60} } wire {coords {180 60 180 90} } wire {coords {180 90 210 90} } } logisim.WireTree{ wire {coords {130 70 160 70} } wire {coords {160 70 160 120} } wire {coords {160 120 310 120} } } logisim.WireTree{ wire {coords {240 100 310 100} } } logisim.WireTree{ wire {coords {240 90 270 90} } wire {coords {270 60 270 90} } wire {coords {270 60 390 60} } } logisim.WireTree{ wire {coords {360 110 390 110} } } logisim.WireTree{ wire {coords {130 100 210 100} } wire {coords {40 140 130 140} } wire {coords {130 100 130 140} } } } subcircuit { name {Laboratory} } main {Laboratory}