Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
SICP - A Simulator for Digital Circuits - N-Bit Adder
/*
Automatically generated by Xholon version 0.8.1, using org.primordion.ef.petrinet.Xholon2Graphviz4PetriNets.java
Sun Apr 13 10:00:32 GMT-400 2014 1397397632461
model: SICP - A Simulator for Digital Circuits - N-Bit Adder
www.primordion.com/Xholon
To view this file, use Graphviz dot|fdp|neato|twopi|circo|sfdp from http://www.graphviz.org/
For example, to generate an SVG file:
dot -Tsvg -O DigitalSystem_33_1397397632461.gv
Alternatively try one of these:
dot -Tsvg -O DigitalSystem_33_1397397632461.gv
dot -Tsvg -O -Grankdir=LR DigitalSystem_33_1397397632461.gv
fdp -Tsvg -O DigitalSystem_33_1397397632461.gv
neato -Tsvg -O DigitalSystem_33_1397397632461.gv
circo -Tsvg -O DigitalSystem_33_1397397632461.gv
Or use one of: -Tgif -Tjpg -Tpdf -Tpng -Txdot -Txlib
See also: http://hughesbennett.net/Graphviz
See also: http://graphviz-dev.appspot.com/
See also: http://www.webgraphviz.com/
See also: http://rise4fun.com/agl/
*/
digraph 33 { label="DigitalSystem"
node [style=filled,fillcolor="#f0f8ff"]
subgraph cluster34 { label="a"
35 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
36 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
37 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
38 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
}
subgraph cluster39 { label="b"
40 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
41 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
42 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
43 [label="Wire\n⬤"]
[fillcolor="#ffff00"]
[shape=ellipse]
}
subgraph cluster44 { label="s"
45 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
46 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
47 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
48 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
49 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
}
subgraph cluster50 { label="c"
51 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
52 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
53 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
54 [label="Wire"]
[fillcolor="#ffff00"]
[shape=ellipse]
}
subgraph cluster55 { label="FullAdder"
56 [label="q"]
[fillcolor="#ffff00"]
[shape=ellipse]
57 [label="kq"]
[fillcolor="#ffff00"]
[shape=ellipse]
58 [label="ab"]
[fillcolor="#ffff00"]
[shape=ellipse]
subgraph cluster59 { label="HalfAdder"
60 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
61 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
62 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
62 -> 60;
68 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
74 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
60 -> 74;
61 -> 74;
80 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
80 -> 61;
}
subgraph cluster85 { label="HalfAdder"
86 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
87 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
88 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
88 -> 86;
94 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
100 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
86 -> 100;
87 -> 100;
106 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
106 -> 87;
}
111 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
57 -> 111;
58 -> 111;
68 -> 58; 74 -> 56; 58 -> 80; 56 -> 88; 56 -> 94; 94 -> 57; 57 -> 106;
}
subgraph cluster117 { label="FullAdder"
118 [label="q"]
[fillcolor="#ffff00"]
[shape=ellipse]
119 [label="kq"]
[fillcolor="#ffff00"]
[shape=ellipse]
120 [label="ab"]
[fillcolor="#ffff00"]
[shape=ellipse]
subgraph cluster121 { label="HalfAdder"
122 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
123 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
124 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
124 -> 122;
130 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
136 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
122 -> 136;
123 -> 136;
142 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
142 -> 123;
}
subgraph cluster147 { label="HalfAdder"
148 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
149 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
150 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
150 -> 148;
156 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
162 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
148 -> 162;
149 -> 162;
168 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
168 -> 149;
}
173 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
119 -> 173;
120 -> 173;
130 -> 120; 136 -> 118; 120 -> 142; 118 -> 150; 118 -> 156; 156 -> 119; 119 -> 168;
}
subgraph cluster179 { label="FullAdder"
180 [label="q"]
[fillcolor="#ffff00"]
[shape=ellipse]
181 [label="kq"]
[fillcolor="#ffff00"]
[shape=ellipse]
182 [label="ab"]
[fillcolor="#ffff00"]
[shape=ellipse]
subgraph cluster183 { label="HalfAdder"
184 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
185 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
186 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
186 -> 184;
192 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
198 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
184 -> 198;
185 -> 198;
204 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
204 -> 185;
}
subgraph cluster209 { label="HalfAdder"
210 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
211 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
212 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
212 -> 210;
218 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
224 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
210 -> 224;
211 -> 224;
230 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
230 -> 211;
}
235 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
181 -> 235;
182 -> 235;
192 -> 182; 198 -> 180; 182 -> 204; 180 -> 212; 180 -> 218; 218 -> 181; 181 -> 230;
}
subgraph cluster241 { label="FullAdder"
242 [label="q"]
[fillcolor="#ffff00"]
[shape=ellipse]
243 [label="kq"]
[fillcolor="#ffff00"]
[shape=ellipse]
244 [label="ab"]
[fillcolor="#ffff00"]
[shape=ellipse]
subgraph cluster245 { label="HalfAdder"
246 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
247 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
248 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
248 -> 246;
254 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
260 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
246 -> 260;
247 -> 260;
266 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
266 -> 247;
}
subgraph cluster271 { label="HalfAdder"
272 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
273 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
274 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
274 -> 272;
280 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
286 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
272 -> 286;
273 -> 286;
292 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
292 -> 273;
}
297 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
243 -> 297;
244 -> 297;
254 -> 244; 260 -> 242; 244 -> 266; 242 -> 274; 242 -> 280; 280 -> 243; 243 -> 292;
}
35 -> 62; 40 -> 62; 35 -> 68; 40 -> 68; 51 -> 88; 51 -> 94; 100 -> 45; 111 -> 52; 36 -> 124; 41 -> 124; 36 -> 130; 41 -> 130; 52 -> 150; 52 -> 156; 162 -> 46; 173 -> 53; 37 -> 186; 42 -> 186; 37 -> 192; 42 -> 192; 53 -> 212; 53 -> 218; 224 -> 47; 235 -> 54; 38 -> 248; 43 -> 248; 38 -> 254; 43 -> 254; 54 -> 274; 54 -> 280; 286 -> 48; 297 -> 49;
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
-->
<!-- Title: 33 Pages: 1 -->
<svg width="1854pt" height="836pt"
viewBox="0.00 0.00 1854.00 836.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 832)">
<title>33</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-832 1851,-832 1851,5 -4,5"/>
<text text-anchor="middle" x="923" y="-9.4" font-family="Times Roman,serif" font-size="14.00">DigitalSystem</text>
<g id="graph2" class="cluster"><title>cluster34</title>
<polygon fill="none" stroke="black" points="514,-716 514,-820 864,-820 864,-716 514,-716"/>
<text text-anchor="middle" x="689" y="-803.4" font-family="Times Roman,serif" font-size="14.00">a</text>
</g>
<g id="graph3" class="cluster"><title>cluster39</title>
<polygon fill="none" stroke="black" points="915,-716 915,-820 1265,-820 1265,-716 915,-716"/>
<text text-anchor="middle" x="1090" y="-803.4" font-family="Times Roman,serif" font-size="14.00">b</text>
</g>
<g id="graph4" class="cluster"><title>cluster44</title>
<polygon fill="none" stroke="black" points="1003,-34 1003,-114 1441,-114 1441,-34 1003,-34"/>
<text text-anchor="middle" x="1222" y="-97.4" font-family="Times Roman,serif" font-size="14.00">s</text>
</g>
<g id="graph5" class="cluster"><title>cluster50</title>
<polygon fill="none" stroke="black" points="748,-362 748,-442 1098,-442 1098,-362 748,-362"/>
<text text-anchor="middle" x="923" y="-425.4" font-family="Times Roman,serif" font-size="14.00">c</text>
</g>
<g id="graph6" class="cluster"><title>cluster55</title>
<polygon fill="none" stroke="black" points="8,-122 8,-708 370,-708 370,-122 8,-122"/>
<text text-anchor="middle" x="189" y="-691.4" font-family="Times Roman,serif" font-size="14.00">FullAdder</text>
</g>
<g id="graph7" class="cluster"><title>cluster59</title>
<polygon fill="none" stroke="black" points="32,-450 32,-674 300,-674 300,-450 32,-450"/>
<text text-anchor="middle" x="166" y="-657.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph8" class="cluster"><title>cluster85</title>
<polygon fill="none" stroke="black" points="16,-130 16,-354 284,-354 284,-130 16,-130"/>
<text text-anchor="middle" x="150" y="-337.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph9" class="cluster"><title>cluster117</title>
<polygon fill="none" stroke="black" points="378,-122 378,-708 740,-708 740,-122 378,-122"/>
<text text-anchor="middle" x="559" y="-691.4" font-family="Times Roman,serif" font-size="14.00">FullAdder</text>
</g>
<g id="graph10" class="cluster"><title>cluster121</title>
<polygon fill="none" stroke="black" points="402,-450 402,-674 670,-674 670,-450 402,-450"/>
<text text-anchor="middle" x="536" y="-657.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph11" class="cluster"><title>cluster147</title>
<polygon fill="none" stroke="black" points="386,-130 386,-354 654,-354 654,-130 386,-130"/>
<text text-anchor="middle" x="520" y="-337.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph12" class="cluster"><title>cluster179</title>
<polygon fill="none" stroke="black" points="1106,-122 1106,-708 1468,-708 1468,-122 1106,-122"/>
<text text-anchor="middle" x="1287" y="-691.4" font-family="Times Roman,serif" font-size="14.00">FullAdder</text>
</g>
<g id="graph13" class="cluster"><title>cluster183</title>
<polygon fill="none" stroke="black" points="1114,-450 1114,-674 1382,-674 1382,-450 1114,-450"/>
<text text-anchor="middle" x="1248" y="-657.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph14" class="cluster"><title>cluster209</title>
<polygon fill="none" stroke="black" points="1114,-130 1114,-354 1382,-354 1382,-130 1114,-130"/>
<text text-anchor="middle" x="1248" y="-337.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph15" class="cluster"><title>cluster241</title>
<polygon fill="none" stroke="black" points="1476,-122 1476,-708 1838,-708 1838,-122 1476,-122"/>
<text text-anchor="middle" x="1657" y="-691.4" font-family="Times Roman,serif" font-size="14.00">FullAdder</text>
</g>
<g id="graph16" class="cluster"><title>cluster245</title>
<polygon fill="none" stroke="black" points="1546,-450 1546,-674 1814,-674 1814,-450 1546,-450"/>
<text text-anchor="middle" x="1680" y="-657.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph17" class="cluster"><title>cluster271</title>
<polygon fill="none" stroke="black" points="1562,-130 1562,-354 1830,-354 1830,-130 1562,-130"/>
<text text-anchor="middle" x="1696" y="-337.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<!-- 35 -->
<g id="node2" class="node"><title>35</title>
<ellipse fill="#ffff00" stroke="black" cx="557" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="557" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="557" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 62 -->
<g id="node29" class="node"><title>62</title>
<polygon fill="#00ffff" stroke="black" points="108,-640 40,-640 40,-604 108,-604 108,-640"/>
<text text-anchor="middle" x="74" y="-618.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 35&#45;&gt;62 -->
<g id="edge154" class="edge"><title>35&#45;&gt;62</title>
<path fill="none" stroke="black" d="M521.994,-753.182C423.681,-747.812 150.054,-730.944 117,-708 97.4986,-694.463 86.3942,-669.427 80.3756,-649.845"/>
<polygon fill="black" stroke="black" points="83.7397,-648.879 77.6742,-640.192 76.9986,-650.765 83.7397,-648.879"/>
</g>
<!-- 68 -->
<g id="node31" class="node"><title>68</title>
<polygon fill="#00ffff" stroke="black" points="292,-640 216,-640 216,-604 292,-604 292,-640"/>
<text text-anchor="middle" x="254" y="-618.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 35&#45;&gt;68 -->
<g id="edge158" class="edge"><title>35&#45;&gt;68</title>
<path fill="none" stroke="black" d="M522.94,-747.56C490.139,-739.789 439.526,-726.192 398,-708 358.48,-690.687 316.467,-664.605 288.087,-645.705"/>
<polygon fill="black" stroke="black" points="289.986,-642.764 279.734,-640.087 286.079,-648.573 289.986,-642.764"/>
</g>
<!-- 36 -->
<g id="node3" class="node"><title>36</title>
<ellipse fill="#ffff00" stroke="black" cx="645" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="645" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="645" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 124 -->
<g id="node65" class="node"><title>124</title>
<polygon fill="#00ffff" stroke="black" points="478,-640 410,-640 410,-604 478,-604 478,-640"/>
<text text-anchor="middle" x="444" y="-618.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 36&#45;&gt;124 -->
<g id="edge170" class="edge"><title>36&#45;&gt;124</title>
<path fill="none" stroke="black" d="M622.809,-730.338C616.36,-724.661 608.905,-719.32 601,-716 577.586,-706.166 508.122,-722.1 487,-708 467.256,-694.82 456.178,-669.744 450.232,-650.057"/>
<polygon fill="black" stroke="black" points="453.589,-649.064 447.571,-640.344 446.837,-650.913 453.589,-649.064"/>
</g>
<!-- 130 -->
<g id="node67" class="node"><title>130</title>
<polygon fill="#00ffff" stroke="black" points="662,-640 586,-640 586,-604 662,-604 662,-640"/>
<text text-anchor="middle" x="624" y="-618.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 36&#45;&gt;130 -->
<g id="edge174" class="edge"><title>36&#45;&gt;130</title>
<path fill="none" stroke="black" d="M640.129,-724.153C636.589,-701.731 631.837,-671.632 628.408,-649.92"/>
<polygon fill="black" stroke="black" points="631.86,-649.338 626.843,-640.006 624.946,-650.43 631.86,-649.338"/>
</g>
<!-- 37 -->
<g id="node4" class="node"><title>37</title>
<ellipse fill="#ffff00" stroke="black" cx="733" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="733" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="733" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 186 -->
<g id="node101" class="node"><title>186</title>
<polygon fill="#00ffff" stroke="black" points="1190,-640 1122,-640 1122,-604 1190,-604 1190,-640"/>
<text text-anchor="middle" x="1156" y="-618.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 37&#45;&gt;186 -->
<g id="edge186" class="edge"><title>37&#45;&gt;186</title>
<path fill="none" stroke="black" d="M755.62,-731.246C762.065,-725.562 769.411,-719.991 777,-716 888.659,-657.276 1038.26,-634.256 1111.63,-626.063"/>
<polygon fill="black" stroke="black" points="1112.32,-629.509 1121.89,-624.959 1111.58,-622.549 1112.32,-629.509"/>
</g>
<!-- 192 -->
<g id="node103" class="node"><title>192</title>
<polygon fill="#00ffff" stroke="black" points="1374,-640 1298,-640 1298,-604 1374,-604 1374,-640"/>
<text text-anchor="middle" x="1336" y="-618.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 37&#45;&gt;192 -->
<g id="edge190" class="edge"><title>37&#45;&gt;192</title>
<path fill="none" stroke="black" d="M754.614,-730.451C761.166,-724.622 768.817,-719.178 777,-716 803.518,-705.701 1264.65,-722.702 1289,-708 1309.93,-695.362 1322.18,-669.809 1328.89,-649.826"/>
<polygon fill="black" stroke="black" points="1332.24,-650.85 1331.83,-640.263 1325.54,-648.791 1332.24,-650.85"/>
</g>
<!-- 38 -->
<g id="node5" class="node"><title>38</title>
<ellipse fill="#ffff00" stroke="black" cx="821" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="821" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="821" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 248 -->
<g id="node137" class="node"><title>248</title>
<polygon fill="#00ffff" stroke="black" points="1806,-640 1738,-640 1738,-604 1806,-604 1806,-640"/>
<text text-anchor="middle" x="1772" y="-618.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 38&#45;&gt;248 -->
<g id="edge202" class="edge"><title>38&#45;&gt;248</title>
<path fill="none" stroke="black" d="M850.818,-738.493C867.882,-729.976 890.012,-720.459 911,-716 933.227,-711.278 1709.73,-720.041 1729,-708 1749.25,-695.346 1760.3,-669.977 1766.1,-650.056"/>
<polygon fill="black" stroke="black" points="1769.53,-650.793 1768.68,-640.232 1762.76,-649.016 1769.53,-650.793"/>
</g>
<!-- 254 -->
<g id="node139" class="node"><title>254</title>
<polygon fill="#00ffff" stroke="black" points="1630,-640 1554,-640 1554,-604 1630,-604 1630,-640"/>
<text text-anchor="middle" x="1592" y="-618.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 38&#45;&gt;254 -->
<g id="edge206" class="edge"><title>38&#45;&gt;254</title>
<path fill="none" stroke="black" d="M850.83,-738.55C867.898,-730.052 890.028,-720.533 911,-716 1014.19,-693.696 1282.67,-729.611 1386,-708 1445.83,-695.488 1510.13,-665.752 1550.68,-644.763"/>
<polygon fill="black" stroke="black" points="1552.48,-647.772 1559.71,-640.029 1549.23,-641.572 1552.48,-647.772"/>
</g>
<!-- 40 -->
<g id="node7" class="node"><title>40</title>
<ellipse fill="#ffff00" stroke="black" cx="958" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="958" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="958" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 40&#45;&gt;62 -->
<g id="edge156" class="edge"><title>40&#45;&gt;62</title>
<path fill="none" stroke="black" d="M928.181,-738.5C911.116,-729.986 888.986,-720.468 868,-716 847.595,-711.656 134.688,-719.062 117,-708 96.7526,-695.337 85.7063,-669.969 79.9006,-650.051"/>
<polygon fill="black" stroke="black" points="83.2463,-649.012 77.3212,-640.228 76.4758,-650.789 83.2463,-649.012"/>
</g>
<!-- 40&#45;&gt;68 -->
<g id="edge160" class="edge"><title>40&#45;&gt;68</title>
<path fill="none" stroke="black" d="M928.17,-738.551C911.102,-730.054 888.972,-720.535 868,-716 816.95,-704.961 448.229,-722.318 398,-708 354.857,-695.702 311.489,-667.059 283.792,-646.198"/>
<polygon fill="black" stroke="black" points="285.781,-643.313 275.717,-640.001 281.519,-648.866 285.781,-643.313"/>
</g>
<!-- 41 -->
<g id="node8" class="node"><title>41</title>
<ellipse fill="#ffff00" stroke="black" cx="1046" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="1046" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="1046" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 41&#45;&gt;124 -->
<g id="edge172" class="edge"><title>41&#45;&gt;124</title>
<path fill="none" stroke="black" d="M1024.39,-730.451C1017.83,-724.622 1010.18,-719.178 1002,-716 975.326,-705.642 511.223,-723.232 487,-708 466.784,-695.288 455.734,-669.926 449.919,-650.022"/>
<polygon fill="black" stroke="black" points="453.265,-648.987 447.334,-640.208 446.496,-650.77 453.265,-648.987"/>
</g>
<!-- 41&#45;&gt;130 -->
<g id="edge176" class="edge"><title>41&#45;&gt;130</title>
<path fill="none" stroke="black" d="M1023.38,-731.25C1016.93,-725.565 1009.59,-719.994 1002,-716 892.552,-658.395 746.55,-635.121 672.092,-626.526"/>
<polygon fill="black" stroke="black" points="672.398,-623.038 662.071,-625.408 671.622,-629.995 672.398,-623.038"/>
</g>
<!-- 42 -->
<g id="node9" class="node"><title>42</title>
<ellipse fill="#ffff00" stroke="black" cx="1134" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="1134" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="1134" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 42&#45;&gt;186 -->
<g id="edge188" class="edge"><title>42&#45;&gt;186</title>
<path fill="none" stroke="black" d="M1139.1,-724.153C1142.81,-701.731 1147.79,-671.632 1151.38,-649.92"/>
<polygon fill="black" stroke="black" points="1154.84,-650.443 1153.02,-640.006 1147.94,-649.301 1154.84,-650.443"/>
</g>
<!-- 42&#45;&gt;192 -->
<g id="edge192" class="edge"><title>42&#45;&gt;192</title>
<path fill="none" stroke="black" d="M1156.2,-730.348C1162.64,-724.671 1170.1,-719.328 1178,-716 1200.79,-706.402 1268.2,-721.372 1289,-708 1309.48,-694.838 1321.74,-669.529 1328.58,-649.76"/>
<polygon fill="black" stroke="black" points="1331.99,-650.611 1331.68,-640.021 1325.32,-648.49 1331.99,-650.611"/>
</g>
<!-- 43 -->
<g id="node10" class="node"><title>43</title>
<ellipse fill="#ffff00" stroke="black" cx="1222" cy="-755" rx="34.8574" ry="31.1127"/>
<text text-anchor="middle" x="1222" y="-760.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
<text text-anchor="middle" x="1222" y="-742.4" font-family="Times Roman,serif" font-size="14.00">⬤</text>
</g>
<!-- 43&#45;&gt;248 -->
<g id="edge204" class="edge"><title>43&#45;&gt;248</title>
<path fill="none" stroke="black" d="M1257.2,-753.701C1365.73,-749.428 1690.19,-734.54 1729,-708 1748.6,-694.6 1759.69,-669.549 1765.68,-649.926"/>
<polygon fill="black" stroke="black" points="1769.06,-650.822 1768.37,-640.25 1762.32,-648.95 1769.06,-650.822"/>
</g>
<!-- 43&#45;&gt;254 -->
<g id="edge208" class="edge"><title>43&#45;&gt;254</title>
<path fill="none" stroke="black" d="M1255.97,-746.501C1289.39,-737.851 1341.7,-723.536 1386,-708 1441.3,-688.605 1503.15,-662.115 1544.51,-643.68"/>
<polygon fill="black" stroke="black" points="1546.1,-646.806 1553.79,-639.526 1543.24,-640.417 1546.1,-646.806"/>
</g>
<!-- 45 -->
<g id="node12" class="node"><title>45</title>
<ellipse fill="#ffff00" stroke="black" cx="1046" cy="-61" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="1046" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 46 -->
<g id="node13" class="node"><title>46</title>
<ellipse fill="#ffff00" stroke="black" cx="1134" cy="-61" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="1134" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 47 -->
<g id="node14" class="node"><title>47</title>
<ellipse fill="#ffff00" stroke="black" cx="1222" cy="-61" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="1222" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 48 -->
<g id="node15" class="node"><title>48</title>
<ellipse fill="#ffff00" stroke="black" cx="1398" cy="-61" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="1398" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 49 -->
<g id="node16" class="node"><title>49</title>
<ellipse fill="#ffff00" stroke="black" cx="1310" cy="-61" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="1310" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 51 -->
<g id="node18" class="node"><title>51</title>
<ellipse fill="#ffff00" stroke="black" cx="791" cy="-389" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="791" y="-385.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 88 -->
<g id="node40" class="node"><title>88</title>
<polygon fill="#00ffff" stroke="black" points="276,-320 208,-320 208,-284 276,-284 276,-320"/>
<text text-anchor="middle" x="242" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 51&#45;&gt;88 -->
<g id="edge162" class="edge"><title>51&#45;&gt;88</title>
<path fill="none" stroke="black" d="M770.017,-373.93C762.227,-369.172 753.071,-364.504 744,-362 719.148,-355.14 302.886,-365.871 280,-354 269.437,-348.521 261.089,-338.611 254.94,-328.901"/>
<polygon fill="black" stroke="black" points="257.936,-327.09 249.911,-320.172 251.871,-330.584 257.936,-327.09"/>
</g>
<!-- 94 -->
<g id="node42" class="node"><title>94</title>
<polygon fill="#00ffff" stroke="black" points="190,-320 114,-320 114,-284 190,-284 190,-320"/>
<text text-anchor="middle" x="152" y="-298.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 51&#45;&gt;94 -->
<g id="edge164" class="edge"><title>51&#45;&gt;94</title>
<path fill="none" stroke="black" d="M770.021,-373.918C762.231,-369.157 753.074,-364.492 744,-362 714.8,-353.98 226.584,-366.493 199,-354 186.876,-348.509 176.532,-338.218 168.661,-328.231"/>
<polygon fill="black" stroke="black" points="171.381,-326.021 162.646,-320.025 165.735,-330.159 171.381,-326.021"/>
</g>
<!-- 52 -->
<g id="node19" class="node"><title>52</title>
<ellipse fill="#ffff00" stroke="black" cx="879" cy="-389" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="879" y="-385.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 150 -->
<g id="node76" class="node"><title>150</title>
<polygon fill="#00ffff" stroke="black" points="646,-320 578,-320 578,-284 646,-284 646,-320"/>
<text text-anchor="middle" x="612" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 52&#45;&gt;150 -->
<g id="edge178" class="edge"><title>52&#45;&gt;150</title>
<path fill="none" stroke="black" d="M859.005,-373.776C851.816,-369.128 843.399,-364.569 835,-362 815.325,-355.983 668.14,-363.71 650,-354 639.509,-348.384 631.173,-338.451 625.014,-328.761"/>
<polygon fill="black" stroke="black" points="628.014,-326.956 619.97,-320.061 621.958,-330.467 628.014,-326.956"/>
</g>
<!-- 156 -->
<g id="node78" class="node"><title>156</title>
<polygon fill="#00ffff" stroke="black" points="560,-320 484,-320 484,-284 560,-284 560,-320"/>
<text text-anchor="middle" x="522" y="-298.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 52&#45;&gt;156 -->
<g id="edge180" class="edge"><title>52&#45;&gt;156</title>
<path fill="none" stroke="black" d="M859.025,-373.713C851.836,-369.059 843.416,-364.513 835,-362 806.668,-353.538 595.84,-366.406 569,-354 557.005,-348.456 546.729,-338.258 538.872,-328.353"/>
<polygon fill="black" stroke="black" points="541.614,-326.173 532.857,-320.21 535.983,-330.333 541.614,-326.173"/>
</g>
<!-- 53 -->
<g id="node20" class="node"><title>53</title>
<ellipse fill="#ffff00" stroke="black" cx="967" cy="-389" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="967" y="-385.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 212 -->
<g id="node112" class="node"><title>212</title>
<polygon fill="#00ffff" stroke="black" points="1190,-320 1122,-320 1122,-284 1190,-284 1190,-320"/>
<text text-anchor="middle" x="1156" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 53&#45;&gt;212 -->
<g id="edge194" class="edge"><title>53&#45;&gt;212</title>
<path fill="none" stroke="black" d="M988.992,-374.565C995.905,-370.284 1003.65,-365.744 1011,-362 1044.15,-345.105 1083.19,-329.162 1112.41,-317.962"/>
<polygon fill="black" stroke="black" points="1113.81,-321.173 1121.92,-314.351 1111.33,-314.629 1113.81,-321.173"/>
</g>
<!-- 218 -->
<g id="node114" class="node"><title>218</title>
<polygon fill="#00ffff" stroke="black" points="1284,-320 1208,-320 1208,-284 1284,-284 1284,-320"/>
<text text-anchor="middle" x="1246" y="-298.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 53&#45;&gt;218 -->
<g id="edge196" class="edge"><title>53&#45;&gt;218</title>
<path fill="none" stroke="black" d="M986.994,-373.773C994.183,-369.124 1002.6,-364.566 1011,-362 1050.99,-349.784 1161.15,-371.78 1199,-354 1210.96,-348.381 1221.23,-338.172 1229.09,-328.279"/>
<polygon fill="black" stroke="black" points="1231.97,-330.268 1235.12,-320.15 1226.35,-326.102 1231.97,-330.268"/>
</g>
<!-- 54 -->
<g id="node21" class="node"><title>54</title>
<ellipse fill="#ffff00" stroke="black" cx="1055" cy="-389" rx="34.8574" ry="18.3848"/>
<text text-anchor="middle" x="1055" y="-385.4" font-family="Times Roman,serif" font-size="14.00">Wire</text>
</g>
<!-- 274 -->
<g id="node148" class="node"><title>274</title>
<polygon fill="#00ffff" stroke="black" points="1638,-320 1570,-320 1570,-284 1638,-284 1638,-320"/>
<text text-anchor="middle" x="1604" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 54&#45;&gt;274 -->
<g id="edge210" class="edge"><title>54&#45;&gt;274</title>
<path fill="none" stroke="black" d="M1075.98,-373.93C1083.77,-369.172 1092.93,-364.504 1102,-362 1126.85,-355.14 1543.11,-365.871 1566,-354 1576.56,-348.521 1584.91,-338.611 1591.06,-328.901"/>
<polygon fill="black" stroke="black" points="1594.13,-330.584 1596.09,-320.172 1588.06,-327.09 1594.13,-330.584"/>
</g>
<!-- 280 -->
<g id="node150" class="node"><title>280</title>
<polygon fill="#00ffff" stroke="black" points="1732,-320 1656,-320 1656,-284 1732,-284 1732,-320"/>
<text text-anchor="middle" x="1694" y="-298.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 54&#45;&gt;280 -->
<g id="edge212" class="edge"><title>54&#45;&gt;280</title>
<path fill="none" stroke="black" d="M1075.98,-373.918C1083.77,-369.157 1092.93,-364.492 1102,-362 1131.2,-353.98 1619.42,-366.493 1647,-354 1659.12,-348.509 1669.47,-338.218 1677.34,-328.231"/>
<polygon fill="black" stroke="black" points="1680.26,-330.159 1683.35,-320.025 1674.62,-326.021 1680.26,-330.159"/>
</g>
<!-- 56 -->
<g id="node23" class="node"><title>56</title>
<ellipse fill="#ffff00" stroke="black" cx="193" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="193" y="-385.4" font-family="Times Roman,serif" font-size="14.00">q</text>
</g>
<!-- 56&#45;&gt;88 -->
<g id="edge35" class="edge"><title>56&#45;&gt;88</title>
<path fill="none" stroke="black" d="M202.916,-371.394C209.732,-359.292 218.917,-342.985 226.67,-329.219"/>
<polygon fill="black" stroke="black" points="229.904,-330.609 231.762,-320.178 223.805,-327.174 229.904,-330.609"/>
</g>
<!-- 56&#45;&gt;94 -->
<g id="edge37" class="edge"><title>56&#45;&gt;94</title>
<path fill="none" stroke="black" d="M184.703,-371.394C179.054,-359.408 171.462,-343.298 165.015,-329.617"/>
<polygon fill="black" stroke="black" points="167.996,-327.732 160.567,-320.178 161.664,-330.716 167.996,-327.732"/>
</g>
<!-- 57 -->
<g id="node24" class="node"><title>57</title>
<ellipse fill="#ffff00" stroke="black" cx="121" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="121" y="-385.4" font-family="Times Roman,serif" font-size="14.00">kq</text>
</g>
<!-- 106 -->
<g id="node46" class="node"><title>106</title>
<polygon fill="#00ffff" stroke="black" points="96,-320 24,-320 24,-284 96,-284 96,-320"/>
<text text-anchor="middle" x="60" y="-298.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 57&#45;&gt;106 -->
<g id="edge41" class="edge"><title>57&#45;&gt;106</title>
<path fill="none" stroke="black" d="M109.239,-372.226C100.58,-359.877 88.6322,-342.836 78.6742,-328.634"/>
<polygon fill="black" stroke="black" points="81.3851,-326.403 72.7783,-320.225 75.6535,-330.422 81.3851,-326.403"/>
</g>
<!-- 111 -->
<g id="node48" class="node"><title>111</title>
<polygon fill="#00ffff" stroke="black" points="362,-320 294,-320 294,-284 362,-284 362,-320"/>
<text text-anchor="middle" x="328" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 57&#45;&gt;111 -->
<g id="edge25" class="edge"><title>57&#45;&gt;111</title>
<path fill="none" stroke="black" d="M137,-373.859C142.854,-369.217 149.814,-364.641 157,-362 184.375,-351.938 262.24,-367.676 288,-354 298.706,-348.316 307.423,-338.372 313.955,-328.691"/>
<polygon fill="black" stroke="black" points="317.045,-330.35 319.334,-320.005 311.094,-326.664 317.045,-330.35"/>
</g>
<!-- 58 -->
<g id="node25" class="node"><title>58</title>
<ellipse fill="#ffff00" stroke="black" cx="335" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="335" y="-545.4" font-family="Times Roman,serif" font-size="14.00">ab</text>
</g>
<!-- 80 -->
<g id="node35" class="node"><title>80</title>
<polygon fill="#00ffff" stroke="black" points="198,-640 126,-640 126,-604 198,-604 198,-640"/>
<text text-anchor="middle" x="162" y="-618.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 58&#45;&gt;80 -->
<g id="edge33" class="edge"><title>58&#45;&gt;80</title>
<path fill="none" stroke="black" d="M315.31,-561.852C311.622,-564.033 307.747,-566.178 304,-568 265.311,-586.814 251.668,-587.457 207.827,-603.775"/>
<polygon fill="black" stroke="black" points="206.427,-600.563 198.318,-607.382 208.91,-607.108 206.427,-600.563"/>
</g>
<!-- 58&#45;&gt;111 -->
<g id="edge27" class="edge"><title>58&#45;&gt;111</title>
<path fill="none" stroke="black" d="M334.474,-530.435C333.259,-487.58 330.254,-381.527 328.806,-330.424"/>
<polygon fill="black" stroke="black" points="332.295,-330.006 328.513,-320.109 325.298,-330.204 332.295,-330.006"/>
</g>
<!-- 60 -->
<g id="node27" class="node"><title>60</title>
<ellipse fill="#ffff00" stroke="black" cx="82" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="82" y="-545.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 74 -->
<g id="node32" class="node"><title>74</title>
<polygon fill="#00ffff" stroke="black" points="200,-494 124,-494 124,-458 200,-458 200,-494"/>
<text text-anchor="middle" x="162" y="-472.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 60&#45;&gt;74 -->
<g id="edge10" class="edge"><title>60&#45;&gt;74</title>
<path fill="none" stroke="black" d="M98.5761,-533.874C108.938,-524.419 122.538,-512.009 134.486,-501.107"/>
<polygon fill="black" stroke="black" points="137.02,-503.532 142.048,-494.206 132.302,-498.361 137.02,-503.532"/>
</g>
<!-- 61 -->
<g id="node28" class="node"><title>61</title>
<ellipse fill="#ffff00" stroke="black" cx="162" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="162" y="-545.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 61&#45;&gt;74 -->
<g id="edge12" class="edge"><title>61&#45;&gt;74</title>
<path fill="none" stroke="black" d="M162,-530.201C162,-522.332 162,-513.015 162,-504.345"/>
<polygon fill="black" stroke="black" points="165.5,-504.231 162,-494.231 158.5,-504.231 165.5,-504.231"/>
</g>
<!-- 62&#45;&gt;60 -->
<g id="edge8" class="edge"><title>62&#45;&gt;60</title>
<path fill="none" stroke="black" d="M75.9775,-603.955C76.8489,-596.004 77.8939,-586.468 78.8671,-577.588"/>
<polygon fill="black" stroke="black" points="82.3514,-577.921 79.9617,-567.6 75.3931,-577.159 82.3514,-577.921"/>
</g>
<!-- 68&#45;&gt;58 -->
<g id="edge29" class="edge"><title>68&#45;&gt;58</title>
<path fill="none" stroke="black" d="M274.022,-603.955C285.137,-593.938 299.044,-581.404 310.77,-570.837"/>
<polygon fill="black" stroke="black" points="313.392,-573.186 318.477,-563.891 308.706,-567.986 313.392,-573.186"/>
</g>
<!-- 74&#45;&gt;56 -->
<g id="edge31" class="edge"><title>74&#45;&gt;56</title>
<path fill="none" stroke="black" d="M168.423,-457.974C172.663,-446.075 178.301,-430.251 183.108,-416.761"/>
<polygon fill="black" stroke="black" points="186.525,-417.598 186.585,-407.003 179.931,-415.248 186.525,-417.598"/>
</g>
<!-- 80&#45;&gt;61 -->
<g id="edge14" class="edge"><title>80&#45;&gt;61</title>
<path fill="none" stroke="black" d="M162,-603.955C162,-596.091 162,-586.675 162,-577.878"/>
<polygon fill="black" stroke="black" points="165.5,-577.599 162,-567.6 158.5,-577.6 165.5,-577.599"/>
</g>
<!-- 86 -->
<g id="node38" class="node"><title>86</title>
<ellipse fill="#ffff00" stroke="black" cx="240" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="240" y="-225.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 100 -->
<g id="node43" class="node"><title>100</title>
<polygon fill="#00ffff" stroke="black" points="276,-174 200,-174 200,-138 276,-138 276,-174"/>
<text text-anchor="middle" x="238" y="-152.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 86&#45;&gt;100 -->
<g id="edge19" class="edge"><title>86&#45;&gt;100</title>
<path fill="none" stroke="black" d="M239.485,-210.201C239.269,-202.332 239.014,-193.015 238.777,-184.345"/>
<polygon fill="black" stroke="black" points="242.272,-184.132 238.499,-174.231 235.275,-184.323 242.272,-184.132"/>
</g>
<!-- 87 -->
<g id="node39" class="node"><title>87</title>
<ellipse fill="#ffff00" stroke="black" cx="113" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="113" y="-225.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 87&#45;&gt;100 -->
<g id="edge21" class="edge"><title>87&#45;&gt;100</title>
<path fill="none" stroke="black" d="M133.641,-216.946C151.116,-206.74 176.669,-191.817 198.116,-179.292"/>
<polygon fill="black" stroke="black" points="200.151,-182.157 207.021,-174.092 196.62,-176.113 200.151,-182.157"/>
</g>
<!-- 88&#45;&gt;86 -->
<g id="edge17" class="edge"><title>88&#45;&gt;86</title>
<path fill="none" stroke="black" d="M241.506,-283.955C241.29,-276.091 241.032,-266.675 240.791,-257.878"/>
<polygon fill="black" stroke="black" points="244.282,-257.5 240.51,-247.6 237.285,-257.692 244.282,-257.5"/>
</g>
<!-- 94&#45;&gt;57 -->
<g id="edge39" class="edge"><title>94&#45;&gt;57</title>
<path fill="none" stroke="black" d="M145.585,-320.003C141.347,-331.897 135.709,-347.72 130.901,-361.213"/>
<polygon fill="black" stroke="black" points="127.483,-360.379 127.423,-370.974 134.077,-362.728 127.483,-360.379"/>
</g>
<!-- 100&#45;&gt;45 -->
<g id="edge166" class="edge"><title>100&#45;&gt;45</title>
<path fill="none" stroke="black" d="M276.211,-145.432C305.063,-137.831 345.746,-127.915 382,-122 612.816,-84.3395 892.847,-68.1303 1000.67,-62.9692"/>
<polygon fill="black" stroke="black" points="1001.04,-66.456 1010.86,-62.49 1000.71,-59.4637 1001.04,-66.456"/>
</g>
<!-- 106&#45;&gt;87 -->
<g id="edge23" class="edge"><title>106&#45;&gt;87</title>
<path fill="none" stroke="black" d="M73.1011,-283.955C79.6448,-274.942 87.6676,-263.892 94.7987,-254.07"/>
<polygon fill="black" stroke="black" points="97.7334,-255.985 100.776,-245.836 92.0688,-251.872 97.7334,-255.985"/>
</g>
<!-- 111&#45;&gt;52 -->
<g id="edge168" class="edge"><title>111&#45;&gt;52</title>
<path fill="none" stroke="black" d="M340.842,-320.066C350.59,-332.138 365.162,-347.037 382,-354 428.521,-373.237 786.676,-347.893 835,-362 840.138,-363.5 845.273,-365.769 850.127,-368.367"/>
<polygon fill="black" stroke="black" points="848.655,-371.564 859.042,-373.653 852.226,-365.543 848.655,-371.564"/>
</g>
<!-- 118 -->
<g id="node59" class="node"><title>118</title>
<ellipse fill="#ffff00" stroke="black" cx="563" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="563" y="-385.4" font-family="Times Roman,serif" font-size="14.00">q</text>
</g>
<!-- 118&#45;&gt;150 -->
<g id="edge72" class="edge"><title>118&#45;&gt;150</title>
<path fill="none" stroke="black" d="M572.916,-371.394C579.732,-359.292 588.917,-342.985 596.67,-329.219"/>
<polygon fill="black" stroke="black" points="599.904,-330.609 601.762,-320.178 593.805,-327.174 599.904,-330.609"/>
</g>
<!-- 118&#45;&gt;156 -->
<g id="edge74" class="edge"><title>118&#45;&gt;156</title>
<path fill="none" stroke="black" d="M554.703,-371.394C549.054,-359.408 541.462,-343.298 535.015,-329.617"/>
<polygon fill="black" stroke="black" points="537.996,-327.732 530.567,-320.178 531.664,-330.716 537.996,-327.732"/>
</g>
<!-- 119 -->
<g id="node60" class="node"><title>119</title>
<ellipse fill="#ffff00" stroke="black" cx="491" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="491" y="-385.4" font-family="Times Roman,serif" font-size="14.00">kq</text>
</g>
<!-- 168 -->
<g id="node82" class="node"><title>168</title>
<polygon fill="#00ffff" stroke="black" points="466,-320 394,-320 394,-284 466,-284 466,-320"/>
<text text-anchor="middle" x="430" y="-298.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 119&#45;&gt;168 -->
<g id="edge78" class="edge"><title>119&#45;&gt;168</title>
<path fill="none" stroke="black" d="M479.239,-372.226C470.58,-359.877 458.632,-342.836 448.674,-328.634"/>
<polygon fill="black" stroke="black" points="451.385,-326.403 442.778,-320.225 445.654,-330.422 451.385,-326.403"/>
</g>
<!-- 173 -->
<g id="node84" class="node"><title>173</title>
<polygon fill="#00ffff" stroke="black" points="732,-320 664,-320 664,-284 732,-284 732,-320"/>
<text text-anchor="middle" x="698" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 119&#45;&gt;173 -->
<g id="edge62" class="edge"><title>119&#45;&gt;173</title>
<path fill="none" stroke="black" d="M507,-373.859C512.854,-369.217 519.814,-364.641 527,-362 554.375,-351.938 632.24,-367.676 658,-354 668.706,-348.316 677.423,-338.372 683.955,-328.691"/>
<polygon fill="black" stroke="black" points="687.045,-330.35 689.334,-320.005 681.094,-326.664 687.045,-330.35"/>
</g>
<!-- 120 -->
<g id="node61" class="node"><title>120</title>
<ellipse fill="#ffff00" stroke="black" cx="705" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="705" y="-545.4" font-family="Times Roman,serif" font-size="14.00">ab</text>
</g>
<!-- 142 -->
<g id="node71" class="node"><title>142</title>
<polygon fill="#00ffff" stroke="black" points="568,-640 496,-640 496,-604 568,-604 568,-640"/>
<text text-anchor="middle" x="532" y="-618.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 120&#45;&gt;142 -->
<g id="edge70" class="edge"><title>120&#45;&gt;142</title>
<path fill="none" stroke="black" d="M685.31,-561.852C681.622,-564.033 677.747,-566.178 674,-568 635.311,-586.814 621.668,-587.457 577.827,-603.775"/>
<polygon fill="black" stroke="black" points="576.427,-600.563 568.318,-607.382 578.91,-607.108 576.427,-600.563"/>
</g>
<!-- 120&#45;&gt;173 -->
<g id="edge64" class="edge"><title>120&#45;&gt;173</title>
<path fill="none" stroke="black" d="M704.474,-530.435C703.259,-487.58 700.254,-381.527 698.806,-330.424"/>
<polygon fill="black" stroke="black" points="702.295,-330.006 698.513,-320.109 695.298,-330.204 702.295,-330.006"/>
</g>
<!-- 122 -->
<g id="node63" class="node"><title>122</title>
<ellipse fill="#ffff00" stroke="black" cx="452" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="452" y="-545.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 136 -->
<g id="node68" class="node"><title>136</title>
<polygon fill="#00ffff" stroke="black" points="570,-494 494,-494 494,-458 570,-458 570,-494"/>
<text text-anchor="middle" x="532" y="-472.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 122&#45;&gt;136 -->
<g id="edge47" class="edge"><title>122&#45;&gt;136</title>
<path fill="none" stroke="black" d="M468.576,-533.874C478.938,-524.419 492.538,-512.009 504.486,-501.107"/>
<polygon fill="black" stroke="black" points="507.02,-503.532 512.048,-494.206 502.302,-498.361 507.02,-503.532"/>
</g>
<!-- 123 -->
<g id="node64" class="node"><title>123</title>
<ellipse fill="#ffff00" stroke="black" cx="532" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="532" y="-545.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 123&#45;&gt;136 -->
<g id="edge49" class="edge"><title>123&#45;&gt;136</title>
<path fill="none" stroke="black" d="M532,-530.201C532,-522.332 532,-513.015 532,-504.345"/>
<polygon fill="black" stroke="black" points="535.5,-504.231 532,-494.231 528.5,-504.231 535.5,-504.231"/>
</g>
<!-- 124&#45;&gt;122 -->
<g id="edge45" class="edge"><title>124&#45;&gt;122</title>
<path fill="none" stroke="black" d="M445.978,-603.955C446.849,-596.004 447.894,-586.468 448.867,-577.588"/>
<polygon fill="black" stroke="black" points="452.351,-577.921 449.962,-567.6 445.393,-577.159 452.351,-577.921"/>
</g>
<!-- 130&#45;&gt;120 -->
<g id="edge66" class="edge"><title>130&#45;&gt;120</title>
<path fill="none" stroke="black" d="M644.022,-603.955C655.137,-593.938 669.044,-581.404 680.77,-570.837"/>
<polygon fill="black" stroke="black" points="683.392,-573.186 688.477,-563.891 678.706,-567.986 683.392,-573.186"/>
</g>
<!-- 136&#45;&gt;118 -->
<g id="edge68" class="edge"><title>136&#45;&gt;118</title>
<path fill="none" stroke="black" d="M538.423,-457.974C542.663,-446.075 548.301,-430.251 553.108,-416.761"/>
<polygon fill="black" stroke="black" points="556.525,-417.598 556.585,-407.003 549.931,-415.248 556.525,-417.598"/>
</g>
<!-- 142&#45;&gt;123 -->
<g id="edge51" class="edge"><title>142&#45;&gt;123</title>
<path fill="none" stroke="black" d="M532,-603.955C532,-596.091 532,-586.675 532,-577.878"/>
<polygon fill="black" stroke="black" points="535.5,-577.599 532,-567.6 528.5,-577.6 535.5,-577.599"/>
</g>
<!-- 148 -->
<g id="node74" class="node"><title>148</title>
<ellipse fill="#ffff00" stroke="black" cx="610" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="610" y="-225.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 162 -->
<g id="node79" class="node"><title>162</title>
<polygon fill="#00ffff" stroke="black" points="646,-174 570,-174 570,-138 646,-138 646,-174"/>
<text text-anchor="middle" x="608" y="-152.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 148&#45;&gt;162 -->
<g id="edge56" class="edge"><title>148&#45;&gt;162</title>
<path fill="none" stroke="black" d="M609.485,-210.201C609.269,-202.332 609.014,-193.015 608.777,-184.345"/>
<polygon fill="black" stroke="black" points="612.272,-184.132 608.499,-174.231 605.275,-184.323 612.272,-184.132"/>
</g>
<!-- 149 -->
<g id="node75" class="node"><title>149</title>
<ellipse fill="#ffff00" stroke="black" cx="483" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="483" y="-225.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 149&#45;&gt;162 -->
<g id="edge58" class="edge"><title>149&#45;&gt;162</title>
<path fill="none" stroke="black" d="M503.641,-216.946C521.116,-206.74 546.669,-191.817 568.116,-179.292"/>
<polygon fill="black" stroke="black" points="570.151,-182.157 577.021,-174.092 566.62,-176.113 570.151,-182.157"/>
</g>
<!-- 150&#45;&gt;148 -->
<g id="edge54" class="edge"><title>150&#45;&gt;148</title>
<path fill="none" stroke="black" d="M611.506,-283.955C611.29,-276.091 611.032,-266.675 610.791,-257.878"/>
<polygon fill="black" stroke="black" points="614.282,-257.5 610.51,-247.6 607.285,-257.692 614.282,-257.5"/>
</g>
<!-- 156&#45;&gt;119 -->
<g id="edge76" class="edge"><title>156&#45;&gt;119</title>
<path fill="none" stroke="black" d="M515.585,-320.003C511.347,-331.897 505.709,-347.72 500.901,-361.213"/>
<polygon fill="black" stroke="black" points="497.483,-360.379 497.423,-370.974 504.077,-362.728 497.483,-360.379"/>
</g>
<!-- 162&#45;&gt;46 -->
<g id="edge182" class="edge"><title>162&#45;&gt;46</title>
<path fill="none" stroke="black" d="M646.074,-154.366C753.041,-149.542 1051.03,-134.41 1090,-114 1101.47,-107.993 1111.11,-97.585 1118.42,-87.5744"/>
<polygon fill="black" stroke="black" points="1121.51,-89.2428 1124.22,-79 1115.72,-85.3182 1121.51,-89.2428"/>
</g>
<!-- 168&#45;&gt;149 -->
<g id="edge60" class="edge"><title>168&#45;&gt;149</title>
<path fill="none" stroke="black" d="M443.101,-283.955C449.645,-274.942 457.668,-263.892 464.799,-254.07"/>
<polygon fill="black" stroke="black" points="467.733,-255.985 470.776,-245.836 462.069,-251.872 467.733,-255.985"/>
</g>
<!-- 173&#45;&gt;53 -->
<g id="edge184" class="edge"><title>173&#45;&gt;53</title>
<path fill="none" stroke="black" d="M732.182,-307.91C777.182,-316.403 858.175,-334.171 923,-362 927.717,-364.025 932.527,-366.496 937.151,-369.111"/>
<polygon fill="black" stroke="black" points="935.361,-372.119 945.741,-374.24 938.949,-366.109 935.361,-372.119"/>
</g>
<!-- 180 -->
<g id="node95" class="node"><title>180</title>
<ellipse fill="#ffff00" stroke="black" cx="1199" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1199" y="-385.4" font-family="Times Roman,serif" font-size="14.00">q</text>
</g>
<!-- 180&#45;&gt;212 -->
<g id="edge109" class="edge"><title>180&#45;&gt;212</title>
<path fill="none" stroke="black" d="M1190.3,-371.394C1184.32,-359.292 1176.26,-342.985 1169.45,-329.219"/>
<polygon fill="black" stroke="black" points="1172.55,-327.592 1164.98,-320.178 1166.28,-330.694 1172.55,-327.592"/>
</g>
<!-- 180&#45;&gt;218 -->
<g id="edge111" class="edge"><title>180&#45;&gt;218</title>
<path fill="none" stroke="black" d="M1208.51,-371.394C1215.05,-359.292 1223.86,-342.985 1231.3,-329.219"/>
<polygon fill="black" stroke="black" points="1234.51,-330.64 1236.18,-320.178 1228.35,-327.313 1234.51,-330.64"/>
</g>
<!-- 181 -->
<g id="node96" class="node"><title>181</title>
<ellipse fill="#ffff00" stroke="black" cx="1338" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1338" y="-385.4" font-family="Times Roman,serif" font-size="14.00">kq</text>
</g>
<!-- 230 -->
<g id="node118" class="node"><title>230</title>
<polygon fill="#00ffff" stroke="black" points="1374,-320 1302,-320 1302,-284 1374,-284 1374,-320"/>
<text text-anchor="middle" x="1338" y="-298.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 181&#45;&gt;230 -->
<g id="edge115" class="edge"><title>181&#45;&gt;230</title>
<path fill="none" stroke="black" d="M1338,-370.122C1338,-358.565 1338,-343.551 1338,-330.561"/>
<polygon fill="black" stroke="black" points="1341.5,-330.245 1338,-320.245 1334.5,-330.245 1341.5,-330.245"/>
</g>
<!-- 235 -->
<g id="node120" class="node"><title>235</title>
<polygon fill="#00ffff" stroke="black" points="1460,-320 1392,-320 1392,-284 1460,-284 1460,-320"/>
<text text-anchor="middle" x="1426" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 181&#45;&gt;235 -->
<g id="edge99" class="edge"><title>181&#45;&gt;235</title>
<path fill="none" stroke="black" d="M1358.15,-376.215C1367.14,-370.045 1377.58,-362.206 1386,-354 1393.83,-346.368 1401.41,-337.148 1407.83,-328.603"/>
<polygon fill="black" stroke="black" points="1410.77,-330.512 1413.83,-320.368 1405.11,-326.391 1410.77,-330.512"/>
</g>
<!-- 182 -->
<g id="node97" class="node"><title>182</title>
<ellipse fill="#ffff00" stroke="black" cx="1417" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1417" y="-545.4" font-family="Times Roman,serif" font-size="14.00">ab</text>
</g>
<!-- 204 -->
<g id="node107" class="node"><title>204</title>
<polygon fill="#00ffff" stroke="black" points="1280,-640 1208,-640 1208,-604 1280,-604 1280,-640"/>
<text text-anchor="middle" x="1244" y="-618.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 182&#45;&gt;204 -->
<g id="edge107" class="edge"><title>182&#45;&gt;204</title>
<path fill="none" stroke="black" d="M1397.31,-561.852C1393.62,-564.033 1389.75,-566.178 1386,-568 1347.31,-586.814 1333.67,-587.457 1289.83,-603.775"/>
<polygon fill="black" stroke="black" points="1288.43,-600.563 1280.32,-607.382 1290.91,-607.108 1288.43,-600.563"/>
</g>
<!-- 182&#45;&gt;235 -->
<g id="edge101" class="edge"><title>182&#45;&gt;235</title>
<path fill="none" stroke="black" d="M1417.68,-530.435C1419.24,-487.49 1423.12,-381.082 1424.98,-330.103"/>
<polygon fill="black" stroke="black" points="1428.47,-330.23 1425.34,-320.109 1421.48,-329.975 1428.47,-330.23"/>
</g>
<!-- 184 -->
<g id="node99" class="node"><title>184</title>
<ellipse fill="#ffff00" stroke="black" cx="1158" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1158" y="-545.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 198 -->
<g id="node104" class="node"><title>198</title>
<polygon fill="#00ffff" stroke="black" points="1237,-494 1161,-494 1161,-458 1237,-458 1237,-494"/>
<text text-anchor="middle" x="1199" y="-472.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 184&#45;&gt;198 -->
<g id="edge84" class="edge"><title>184&#45;&gt;198</title>
<path fill="none" stroke="black" d="M1167.72,-531.7C1172.53,-523.137 1178.44,-512.603 1183.83,-503.01"/>
<polygon fill="black" stroke="black" points="1186.94,-504.627 1188.78,-494.194 1180.83,-501.2 1186.94,-504.627"/>
</g>
<!-- 185 -->
<g id="node100" class="node"><title>185</title>
<ellipse fill="#ffff00" stroke="black" cx="1238" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1238" y="-545.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 185&#45;&gt;198 -->
<g id="edge86" class="edge"><title>185&#45;&gt;198</title>
<path fill="none" stroke="black" d="M1228.56,-531.329C1224.03,-522.847 1218.5,-512.498 1213.45,-503.054"/>
<polygon fill="black" stroke="black" points="1216.42,-501.187 1208.62,-494.016 1210.25,-504.485 1216.42,-501.187"/>
</g>
<!-- 186&#45;&gt;184 -->
<g id="edge82" class="edge"><title>186&#45;&gt;184</title>
<path fill="none" stroke="black" d="M1156.49,-603.955C1156.71,-596.091 1156.97,-586.675 1157.21,-577.878"/>
<polygon fill="black" stroke="black" points="1160.72,-577.692 1157.49,-567.6 1153.72,-577.5 1160.72,-577.692"/>
</g>
<!-- 192&#45;&gt;182 -->
<g id="edge103" class="edge"><title>192&#45;&gt;182</title>
<path fill="none" stroke="black" d="M1356.02,-603.955C1367.14,-593.938 1381.04,-581.404 1392.77,-570.837"/>
<polygon fill="black" stroke="black" points="1395.39,-573.186 1400.48,-563.891 1390.71,-567.986 1395.39,-573.186"/>
</g>
<!-- 198&#45;&gt;180 -->
<g id="edge105" class="edge"><title>198&#45;&gt;180</title>
<path fill="none" stroke="black" d="M1199,-457.974C1199,-446.349 1199,-430.977 1199,-417.695"/>
<polygon fill="black" stroke="black" points="1202.5,-417.604 1199,-407.604 1195.5,-417.604 1202.5,-417.604"/>
</g>
<!-- 204&#45;&gt;185 -->
<g id="edge88" class="edge"><title>204&#45;&gt;185</title>
<path fill="none" stroke="black" d="M1242.52,-603.955C1241.86,-596.004 1241.08,-586.468 1240.35,-577.588"/>
<polygon fill="black" stroke="black" points="1243.84,-577.279 1239.53,-567.6 1236.86,-577.853 1243.84,-577.279"/>
</g>
<!-- 210 -->
<g id="node110" class="node"><title>210</title>
<ellipse fill="#ffff00" stroke="black" cx="1158" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1158" y="-225.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 224 -->
<g id="node115" class="node"><title>224</title>
<polygon fill="#00ffff" stroke="black" points="1260,-174 1184,-174 1184,-138 1260,-138 1260,-174"/>
<text text-anchor="middle" x="1222" y="-152.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 210&#45;&gt;224 -->
<g id="edge93" class="edge"><title>210&#45;&gt;224</title>
<path fill="none" stroke="black" d="M1172.2,-212.799C1180.19,-203.694 1190.33,-192.119 1199.38,-181.797"/>
<polygon fill="black" stroke="black" points="1202.08,-184.036 1206.04,-174.209 1196.81,-179.421 1202.08,-184.036"/>
</g>
<!-- 211 -->
<g id="node111" class="node"><title>211</title>
<ellipse fill="#ffff00" stroke="black" cx="1285" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1285" y="-225.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 211&#45;&gt;224 -->
<g id="edge95" class="edge"><title>211&#45;&gt;224</title>
<path fill="none" stroke="black" d="M1271.02,-212.799C1263.16,-203.694 1253.17,-192.119 1244.26,-181.797"/>
<polygon fill="black" stroke="black" points="1246.9,-179.493 1237.71,-174.209 1241.6,-184.066 1246.9,-179.493"/>
</g>
<!-- 212&#45;&gt;210 -->
<g id="edge91" class="edge"><title>212&#45;&gt;210</title>
<path fill="none" stroke="black" d="M1156.49,-283.955C1156.71,-276.091 1156.97,-266.675 1157.21,-257.878"/>
<polygon fill="black" stroke="black" points="1160.72,-257.692 1157.49,-247.6 1153.72,-257.5 1160.72,-257.692"/>
</g>
<!-- 218&#45;&gt;181 -->
<g id="edge113" class="edge"><title>218&#45;&gt;181</title>
<path fill="none" stroke="black" d="M1260.94,-320.05C1269.84,-330.4 1281.59,-343.4 1293,-354 1298.58,-359.186 1304.88,-364.419 1310.95,-369.201"/>
<polygon fill="black" stroke="black" points="1308.95,-372.076 1319.01,-375.396 1313.22,-366.527 1308.95,-372.076"/>
</g>
<!-- 224&#45;&gt;47 -->
<g id="edge198" class="edge"><title>224&#45;&gt;47</title>
<path fill="none" stroke="black" d="M1222,-137.683C1222,-124.103 1222,-105.326 1222,-89.7519"/>
<polygon fill="black" stroke="black" points="1225.5,-89.5848 1222,-79.5849 1218.5,-89.5849 1225.5,-89.5848"/>
</g>
<!-- 230&#45;&gt;211 -->
<g id="edge97" class="edge"><title>230&#45;&gt;211</title>
<path fill="none" stroke="black" d="M1324.9,-283.955C1318.36,-274.942 1310.33,-263.892 1303.2,-254.07"/>
<polygon fill="black" stroke="black" points="1305.93,-251.872 1297.22,-245.836 1300.27,-255.985 1305.93,-251.872"/>
</g>
<!-- 235&#45;&gt;54 -->
<g id="edge200" class="edge"><title>235&#45;&gt;54</title>
<path fill="none" stroke="black" d="M1417.41,-320.149C1410.68,-332.095 1400.1,-346.807 1386,-354 1357.88,-368.343 1132.38,-353.434 1102,-362 1096.2,-363.636 1090.36,-366.144 1084.86,-368.985"/>
<polygon fill="black" stroke="black" points="1082.99,-366.022 1076,-373.986 1086.43,-372.118 1082.99,-366.022"/>
</g>
<!-- 242 -->
<g id="node131" class="node"><title>242</title>
<ellipse fill="#ffff00" stroke="black" cx="1653" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1653" y="-385.4" font-family="Times Roman,serif" font-size="14.00">q</text>
</g>
<!-- 242&#45;&gt;274 -->
<g id="edge146" class="edge"><title>242&#45;&gt;274</title>
<path fill="none" stroke="black" d="M1643.08,-371.394C1636.27,-359.292 1627.08,-342.985 1619.33,-329.219"/>
<polygon fill="black" stroke="black" points="1622.2,-327.174 1614.24,-320.178 1616.1,-330.609 1622.2,-327.174"/>
</g>
<!-- 242&#45;&gt;280 -->
<g id="edge148" class="edge"><title>242&#45;&gt;280</title>
<path fill="none" stroke="black" d="M1661.3,-371.394C1666.95,-359.408 1674.54,-343.298 1680.99,-329.617"/>
<polygon fill="black" stroke="black" points="1684.34,-330.716 1685.43,-320.178 1678,-327.732 1684.34,-330.716"/>
</g>
<!-- 243 -->
<g id="node132" class="node"><title>243</title>
<ellipse fill="#ffff00" stroke="black" cx="1725" cy="-389" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1725" y="-385.4" font-family="Times Roman,serif" font-size="14.00">kq</text>
</g>
<!-- 292 -->
<g id="node154" class="node"><title>292</title>
<polygon fill="#00ffff" stroke="black" points="1822,-320 1750,-320 1750,-284 1822,-284 1822,-320"/>
<text text-anchor="middle" x="1786" y="-298.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 243&#45;&gt;292 -->
<g id="edge152" class="edge"><title>243&#45;&gt;292</title>
<path fill="none" stroke="black" d="M1736.76,-372.226C1745.42,-359.877 1757.37,-342.836 1767.33,-328.634"/>
<polygon fill="black" stroke="black" points="1770.35,-330.422 1773.22,-320.225 1764.61,-326.403 1770.35,-330.422"/>
</g>
<!-- 297 -->
<g id="node156" class="node"><title>297</title>
<polygon fill="#00ffff" stroke="black" points="1552,-320 1484,-320 1484,-284 1552,-284 1552,-320"/>
<text text-anchor="middle" x="1518" y="-298.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 243&#45;&gt;297 -->
<g id="edge136" class="edge"><title>243&#45;&gt;297</title>
<path fill="none" stroke="black" d="M1709,-373.859C1703.15,-369.217 1696.19,-364.641 1689,-362 1661.63,-351.938 1583.76,-367.676 1558,-354 1547.29,-348.316 1538.58,-338.372 1532.04,-328.691"/>
<polygon fill="black" stroke="black" points="1534.91,-326.664 1526.67,-320.005 1528.95,-330.35 1534.91,-326.664"/>
</g>
<!-- 244 -->
<g id="node133" class="node"><title>244</title>
<ellipse fill="#ffff00" stroke="black" cx="1511" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1511" y="-545.4" font-family="Times Roman,serif" font-size="14.00">ab</text>
</g>
<!-- 266 -->
<g id="node143" class="node"><title>266</title>
<polygon fill="#00ffff" stroke="black" points="1720,-640 1648,-640 1648,-604 1720,-604 1720,-640"/>
<text text-anchor="middle" x="1684" y="-618.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 244&#45;&gt;266 -->
<g id="edge144" class="edge"><title>244&#45;&gt;266</title>
<path fill="none" stroke="black" d="M1530.69,-561.852C1534.38,-564.033 1538.25,-566.178 1542,-568 1580.69,-586.814 1594.33,-587.457 1638.17,-603.775"/>
<polygon fill="black" stroke="black" points="1637.09,-607.108 1647.68,-607.382 1639.57,-600.563 1637.09,-607.108"/>
</g>
<!-- 244&#45;&gt;297 -->
<g id="edge138" class="edge"><title>244&#45;&gt;297</title>
<path fill="none" stroke="black" d="M1511.53,-530.435C1512.74,-487.58 1515.75,-381.527 1517.19,-330.424"/>
<polygon fill="black" stroke="black" points="1520.7,-330.204 1517.49,-320.109 1513.7,-330.006 1520.7,-330.204"/>
</g>
<!-- 246 -->
<g id="node135" class="node"><title>246</title>
<ellipse fill="#ffff00" stroke="black" cx="1764" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1764" y="-545.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 260 -->
<g id="node140" class="node"><title>260</title>
<polygon fill="#00ffff" stroke="black" points="1722,-494 1646,-494 1646,-458 1722,-458 1722,-494"/>
<text text-anchor="middle" x="1684" y="-472.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 246&#45;&gt;260 -->
<g id="edge121" class="edge"><title>246&#45;&gt;260</title>
<path fill="none" stroke="black" d="M1747.42,-533.874C1737.06,-524.419 1723.46,-512.009 1711.51,-501.107"/>
<polygon fill="black" stroke="black" points="1713.7,-498.361 1703.95,-494.206 1708.98,-503.532 1713.7,-498.361"/>
</g>
<!-- 247 -->
<g id="node136" class="node"><title>247</title>
<ellipse fill="#ffff00" stroke="black" cx="1684" cy="-549" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1684" y="-545.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 247&#45;&gt;260 -->
<g id="edge123" class="edge"><title>247&#45;&gt;260</title>
<path fill="none" stroke="black" d="M1684,-530.201C1684,-522.332 1684,-513.015 1684,-504.345"/>
<polygon fill="black" stroke="black" points="1687.5,-504.231 1684,-494.231 1680.5,-504.231 1687.5,-504.231"/>
</g>
<!-- 248&#45;&gt;246 -->
<g id="edge119" class="edge"><title>248&#45;&gt;246</title>
<path fill="none" stroke="black" d="M1770.02,-603.955C1769.15,-596.004 1768.11,-586.468 1767.13,-577.588"/>
<polygon fill="black" stroke="black" points="1770.61,-577.159 1766.04,-567.6 1763.65,-577.921 1770.61,-577.159"/>
</g>
<!-- 254&#45;&gt;244 -->
<g id="edge140" class="edge"><title>254&#45;&gt;244</title>
<path fill="none" stroke="black" d="M1571.98,-603.955C1560.86,-593.938 1546.96,-581.404 1535.23,-570.837"/>
<polygon fill="black" stroke="black" points="1537.29,-567.986 1527.52,-563.891 1532.61,-573.186 1537.29,-567.986"/>
</g>
<!-- 260&#45;&gt;242 -->
<g id="edge142" class="edge"><title>260&#45;&gt;242</title>
<path fill="none" stroke="black" d="M1677.58,-457.974C1673.34,-446.075 1667.7,-430.251 1662.89,-416.761"/>
<polygon fill="black" stroke="black" points="1666.07,-415.248 1659.41,-407.003 1659.47,-417.598 1666.07,-415.248"/>
</g>
<!-- 266&#45;&gt;247 -->
<g id="edge125" class="edge"><title>266&#45;&gt;247</title>
<path fill="none" stroke="black" d="M1684,-603.955C1684,-596.091 1684,-586.675 1684,-577.878"/>
<polygon fill="black" stroke="black" points="1687.5,-577.599 1684,-567.6 1680.5,-577.6 1687.5,-577.599"/>
</g>
<!-- 272 -->
<g id="node146" class="node"><title>272</title>
<ellipse fill="#ffff00" stroke="black" cx="1606" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1606" y="-225.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 286 -->
<g id="node151" class="node"><title>286</title>
<polygon fill="#00ffff" stroke="black" points="1646,-174 1570,-174 1570,-138 1646,-138 1646,-174"/>
<text text-anchor="middle" x="1608" y="-152.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 272&#45;&gt;286 -->
<g id="edge130" class="edge"><title>272&#45;&gt;286</title>
<path fill="none" stroke="black" d="M1606.52,-210.201C1606.73,-202.332 1606.99,-193.015 1607.22,-184.345"/>
<polygon fill="black" stroke="black" points="1610.73,-184.323 1607.5,-174.231 1603.73,-184.132 1610.73,-184.323"/>
</g>
<!-- 273 -->
<g id="node147" class="node"><title>273</title>
<ellipse fill="#ffff00" stroke="black" cx="1733" cy="-229" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="1733" y="-225.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 273&#45;&gt;286 -->
<g id="edge132" class="edge"><title>273&#45;&gt;286</title>
<path fill="none" stroke="black" d="M1712.36,-216.946C1694.88,-206.74 1669.33,-191.817 1647.88,-179.292"/>
<polygon fill="black" stroke="black" points="1649.38,-176.113 1638.98,-174.092 1645.85,-182.157 1649.38,-176.113"/>
</g>
<!-- 274&#45;&gt;272 -->
<g id="edge128" class="edge"><title>274&#45;&gt;272</title>
<path fill="none" stroke="black" d="M1604.49,-283.955C1604.71,-276.091 1604.97,-266.675 1605.21,-257.878"/>
<polygon fill="black" stroke="black" points="1608.72,-257.692 1605.49,-247.6 1601.72,-257.5 1608.72,-257.692"/>
</g>
<!-- 280&#45;&gt;243 -->
<g id="edge150" class="edge"><title>280&#45;&gt;243</title>
<path fill="none" stroke="black" d="M1700.41,-320.003C1704.65,-331.897 1710.29,-347.72 1715.1,-361.213"/>
<polygon fill="black" stroke="black" points="1711.92,-362.728 1718.58,-370.974 1718.52,-360.379 1711.92,-362.728"/>
</g>
<!-- 286&#45;&gt;48 -->
<g id="edge214" class="edge"><title>286&#45;&gt;48</title>
<path fill="none" stroke="black" d="M1588.48,-137.951C1581.71,-132.32 1573.84,-126.431 1566,-122 1525.43,-99.0723 1474.65,-82.0527 1439.59,-71.8996"/>
<polygon fill="black" stroke="black" points="1440.27,-68.4543 1429.7,-69.0945 1438.36,-75.189 1440.27,-68.4543"/>
</g>
<!-- 292&#45;&gt;273 -->
<g id="edge134" class="edge"><title>292&#45;&gt;273</title>
<path fill="none" stroke="black" d="M1772.9,-283.955C1766.36,-274.942 1758.33,-263.892 1751.2,-254.07"/>
<polygon fill="black" stroke="black" points="1753.93,-251.872 1745.22,-245.836 1748.27,-255.985 1753.93,-251.872"/>
</g>
<!-- 297&#45;&gt;49 -->
<g id="edge216" class="edge"><title>297&#45;&gt;49</title>
<path fill="none" stroke="black" d="M1510.04,-283.951C1492.93,-247.366 1449.05,-164.354 1386,-122 1373.83,-113.825 1366.41,-121.805 1354,-114 1343.2,-107.204 1333.75,-96.862 1326.41,-87.112"/>
<polygon fill="black" stroke="black" points="1329.16,-84.9362 1320.52,-78.8003 1323.45,-88.9832 1329.16,-84.9362"/>
</g>
</g>
</svg>
<map version="0.9.0">
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
<!--
Automatically generated by Xholon version 0.8, using Xholon2MindMap.java
Sun Apr 13 10:34:12 GMT-400 2014 1397399652973
model: SICP - A Simulator for Digital Circuits - N-Bit Adder
www.primordion.com/Xholon
-->
<node CREATED="1397399652973" ID="33" TEXT="Digital system">
<node CREATED="1397399652973" ID="34" POSITION="right" TEXT="A: number">
<node CREATED="1397399652973" ID="35" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="36" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="37" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="38" TEXT="Wire">
</node>
</node>
<node CREATED="1397399652973" ID="39" POSITION="right" TEXT="B: number">
<node CREATED="1397399652973" ID="40" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="41" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="42" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="43" TEXT="Wire">
</node>
</node>
<node CREATED="1397399652973" ID="44" POSITION="right" TEXT="S: number">
<node CREATED="1397399652973" ID="45" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="46" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="47" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="48" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="49" TEXT="Wire">
</node>
</node>
<node CREATED="1397399652973" ID="50" POSITION="right" TEXT="C: number">
<node CREATED="1397399652973" ID="51" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="52" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="53" TEXT="Wire">
</node>
<node CREATED="1397399652973" ID="54" TEXT="Wire">
</node>
</node>
<node CREATED="1397399652973" ID="55" POSITION="right" TEXT="Full adder">
<node CREATED="1397399652973" ID="56" TEXT="Q: wire">
</node>
<node CREATED="1397399652973" ID="57" TEXT="Kq: wire">
</node>
<node CREATED="1397399652973" ID="58" TEXT="Ab: wire">
</node>
<node CREATED="1397399652973" FOLDED="true" ID="59" TEXT="Half adder">
<node CREATED="1397399652973" ID="60" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="61" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="62" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="35" ENDARROW="None" ID="62350" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="40" ENDARROW="None" ID="62400" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="60" ENDARROW="Default" ID="62600" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="68" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="35" ENDARROW="None" ID="68350" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="40" ENDARROW="None" ID="68400" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="58" ENDARROW="Default" ID="68580" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="74" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="60" ENDARROW="None" ID="74600" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="61" ENDARROW="None" ID="74610" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="56" ENDARROW="Default" ID="74560" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="80" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="58" ENDARROW="None" ID="80580" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="61" ENDARROW="Default" ID="80610" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" FOLDED="true" ID="85" TEXT="Half adder">
<node CREATED="1397399652973" ID="86" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="87" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="88" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="51" ENDARROW="None" ID="88510" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="56" ENDARROW="None" ID="88560" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="86" ENDARROW="Default" ID="88860" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="94" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="51" ENDARROW="None" ID="94510" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="56" ENDARROW="None" ID="94560" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="57" ENDARROW="Default" ID="94570" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="100" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="86" ENDARROW="None" ID="100860" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="87" ENDARROW="None" ID="100870" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="45" ENDARROW="Default" ID="100450" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="106" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="57" ENDARROW="None" ID="106570" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="87" ENDARROW="Default" ID="106870" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="111" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="57" ENDARROW="None" ID="111570" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="58" ENDARROW="None" ID="111580" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="52" ENDARROW="Default" ID="111520" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="117" POSITION="right" TEXT="Full adder">
<node CREATED="1397399652973" ID="118" TEXT="Q: wire">
</node>
<node CREATED="1397399652973" ID="119" TEXT="Kq: wire">
</node>
<node CREATED="1397399652973" ID="120" TEXT="Ab: wire">
</node>
<node CREATED="1397399652973" FOLDED="true" ID="121" TEXT="Half adder">
<node CREATED="1397399652973" ID="122" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="123" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="124" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="36" ENDARROW="None" ID="124360" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="41" ENDARROW="None" ID="124410" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="122" ENDARROW="Default" ID="1241220" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="130" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="36" ENDARROW="None" ID="130360" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="41" ENDARROW="None" ID="130410" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="120" ENDARROW="Default" ID="1301200" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="136" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="122" ENDARROW="None" ID="1361220" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="123" ENDARROW="None" ID="1361230" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="118" ENDARROW="Default" ID="1361180" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="142" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="120" ENDARROW="None" ID="1421200" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="123" ENDARROW="Default" ID="1421230" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" FOLDED="true" ID="147" TEXT="Half adder">
<node CREATED="1397399652973" ID="148" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="149" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="150" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="52" ENDARROW="None" ID="150520" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="118" ENDARROW="None" ID="1501180" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="148" ENDARROW="Default" ID="1501480" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="156" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="52" ENDARROW="None" ID="156520" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="118" ENDARROW="None" ID="1561180" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="119" ENDARROW="Default" ID="1561190" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="162" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="148" ENDARROW="None" ID="1621480" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="149" ENDARROW="None" ID="1621490" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="46" ENDARROW="Default" ID="162460" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="168" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="119" ENDARROW="None" ID="1681190" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="149" ENDARROW="Default" ID="1681490" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="173" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="119" ENDARROW="None" ID="1731190" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="120" ENDARROW="None" ID="1731200" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="53" ENDARROW="Default" ID="173530" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="179" POSITION="right" TEXT="Full adder">
<node CREATED="1397399652973" ID="180" TEXT="Q: wire">
</node>
<node CREATED="1397399652973" ID="181" TEXT="Kq: wire">
</node>
<node CREATED="1397399652973" ID="182" TEXT="Ab: wire">
</node>
<node CREATED="1397399652973" FOLDED="true" ID="183" TEXT="Half adder">
<node CREATED="1397399652973" ID="184" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="185" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="186" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="37" ENDARROW="None" ID="186370" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="42" ENDARROW="None" ID="186420" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="184" ENDARROW="Default" ID="1861840" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="192" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="37" ENDARROW="None" ID="192370" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="42" ENDARROW="None" ID="192420" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="182" ENDARROW="Default" ID="1921820" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="198" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="184" ENDARROW="None" ID="1981840" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="185" ENDARROW="None" ID="1981850" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="180" ENDARROW="Default" ID="1981800" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="204" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="182" ENDARROW="None" ID="2041820" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="185" ENDARROW="Default" ID="2041850" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" FOLDED="true" ID="209" TEXT="Half adder">
<node CREATED="1397399652973" ID="210" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="211" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="212" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="53" ENDARROW="None" ID="212530" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="180" ENDARROW="None" ID="2121800" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="210" ENDARROW="Default" ID="2122100" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="218" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="53" ENDARROW="None" ID="218530" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="180" ENDARROW="None" ID="2181800" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="181" ENDARROW="Default" ID="2181810" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="224" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="210" ENDARROW="None" ID="2242100" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="211" ENDARROW="None" ID="2242110" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="47" ENDARROW="Default" ID="224470" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="230" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="181" ENDARROW="None" ID="2301810" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="211" ENDARROW="Default" ID="2302110" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="235" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="181" ENDARROW="None" ID="2351810" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="182" ENDARROW="None" ID="2351820" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="54" ENDARROW="Default" ID="235540" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="241" POSITION="right" TEXT="Full adder">
<node CREATED="1397399652973" ID="242" TEXT="Q: wire">
</node>
<node CREATED="1397399652973" ID="243" TEXT="Kq: wire">
</node>
<node CREATED="1397399652973" ID="244" TEXT="Ab: wire">
</node>
<node CREATED="1397399652973" FOLDED="true" ID="245" TEXT="Half adder">
<node CREATED="1397399652973" ID="246" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="247" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="248" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="38" ENDARROW="None" ID="248380" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="43" ENDARROW="None" ID="248430" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="246" ENDARROW="Default" ID="2482460" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="254" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="38" ENDARROW="None" ID="254380" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="43" ENDARROW="None" ID="254430" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="244" ENDARROW="Default" ID="2542440" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="260" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="246" ENDARROW="None" ID="2602460" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="247" ENDARROW="None" ID="2602470" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="242" ENDARROW="Default" ID="2602420" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="266" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="244" ENDARROW="None" ID="2662440" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="247" ENDARROW="Default" ID="2662470" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" FOLDED="true" ID="271" TEXT="Half adder">
<node CREATED="1397399652973" ID="272" TEXT="D: wire">
</node>
<node CREATED="1397399652973" ID="273" TEXT="E: wire">
</node>
<node CREATED="1397399652973" ID="274" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="54" ENDARROW="None" ID="274540" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="242" ENDARROW="None" ID="2742420" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="272" ENDARROW="Default" ID="2742720" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="280" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="54" ENDARROW="None" ID="280540" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="242" ENDARROW="None" ID="2802420" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="243" ENDARROW="Default" ID="2802430" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="286" TEXT="And gate">
<arrowlink COLOR="#B22222" DESTINATION="272" ENDARROW="None" ID="2862720" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="273" ENDARROW="None" ID="2862730" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="48" ENDARROW="Default" ID="286480" STARTARROW="None"/>
</node>
<node CREATED="1397399652973" ID="292" TEXT="Inverter">
<arrowlink COLOR="#B22222" DESTINATION="243" ENDARROW="None" ID="2922430" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="273" ENDARROW="Default" ID="2922730" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="297" TEXT="Or gate">
<arrowlink COLOR="#B22222" DESTINATION="243" ENDARROW="None" ID="2972430" STARTARROW="Default"/>
<arrowlink COLOR="#B22222" DESTINATION="244" ENDARROW="None" ID="2972440" STARTARROW="Default"/>
<arrowlink COLOR="#000080" DESTINATION="49" ENDARROW="Default" ID="297490" STARTARROW="None"/>
</node>
</node>
<node CREATED="1397399652973" ID="303" POSITION="right" TEXT="Sicp digital circuit02: petri net">
<arrowlink COLOR="#000080" DESTINATION="33" ENDARROW="Default" ID="303330" STARTARROW="None"/>
<node CREATED="1397399652973" ID="305" TEXT="Analysis petri net">
</node>
<node CREATED="1397399652973" ID="306" TEXT="Analysis c r n">
</node>
<node CREATED="1397399652973" ID="307" TEXT="Analysis cat">
</node>
</node>
<node CREATED="1397399652973" ID="308" POSITION="right" TEXT="Wire initializer">
<node CREATED="1397399652973" ID="310" TEXT="Wire initializerbehavior">
</node>
</node>
</node>
</map>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
<?xml version="1.0" encoding="UTF-8"?>
<!--
Automatically generated by Xholon version 0.8.1, using Xholon2Sbml4PetriNets.java
Sun Apr 13 10:34:21 GMT-400 2014
www.primordion.com/Xholon
-->
<sbml xmlns="http://www.sbml.org/sbml/level2" level="2" version="1">
<model id="_1397399661502" name="SICP - A Simulator for Digital Circuits - N-Bit Adder">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml">
<p>Xholon generated this SBML file from a Petri net model.
</p></body>
</notes>
<!-- Unit Definitions -->
<listOfUnitDefinitions>
<unitDefinition id="volume">
<listOfUnits>
<unit kind="litre" scale="-3" multiplier="1" offset="0"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="substance">
<listOfUnits>
<unit kind="item" exponent="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="ips">
<listOfUnits>
<unit kind="item" exponent="1"/>
<unit kind="second" exponent="-1"/>
</listOfUnits>
</unitDefinition>
</listOfUnitDefinitions>
<!-- List of Compartments -->
<listOfCompartments>
<compartment id="digitalSystem_33c" name="DigitalSystem" size="1"/>
<compartment id="a_number_34c" name="a" outside="digitalSystem_33c" size="1"/>
<compartment id="b_number_39c" name="b" outside="digitalSystem_33c" size="1"/>
<compartment id="s_number_44c" name="s" outside="digitalSystem_33c" size="1"/>
<compartment id="c_number_50c" name="c" outside="digitalSystem_33c" size="1"/>
<compartment id="fullAdder_55c" name="FullAdder" outside="digitalSystem_33c" size="1"/>
<compartment id="halfAdder_59c" name="HalfAdder" outside="fullAdder_55c" size="1"/>
<compartment id="halfAdder_85c" name="HalfAdder" outside="fullAdder_55c" size="1"/>
<compartment id="fullAdder_117c" name="FullAdder" outside="digitalSystem_33c" size="1"/>
<compartment id="halfAdder_121c" name="HalfAdder" outside="fullAdder_117c" size="1"/>
<compartment id="halfAdder_147c" name="HalfAdder" outside="fullAdder_117c" size="1"/>
<compartment id="fullAdder_179c" name="FullAdder" outside="digitalSystem_33c" size="1"/>
<compartment id="halfAdder_183c" name="HalfAdder" outside="fullAdder_179c" size="1"/>
<compartment id="halfAdder_209c" name="HalfAdder" outside="fullAdder_179c" size="1"/>
<compartment id="fullAdder_241c" name="FullAdder" outside="digitalSystem_33c" size="1"/>
<compartment id="halfAdder_245c" name="HalfAdder" outside="fullAdder_241c" size="1"/>
<compartment id="halfAdder_271c" name="HalfAdder" outside="fullAdder_241c" size="1"/>
<compartment id="sicpDigitalCircuit02_petriNet_303c" name="sicpDigitalCircuit02" outside="digitalSystem_33c" size="1"/>
<compartment id="wireInitializer_308c" name="WireInitializer" outside="digitalSystem_33c" size="1"/>
<compartment id="wireInitializerbehavior_310c" name="WireInitializerbehavior" outside="wireInitializer_308c" size="1"/>
</listOfCompartments>
<!-- List of Species -->
<listOfSpecies>
<species id="wire_35s" name="Wire" compartment="a_number_34c" initialAmount="1"/>
<species id="wire_36s" name="Wire" compartment="a_number_34c" initialAmount="1"/>
<species id="wire_37s" name="Wire" compartment="a_number_34c" initialAmount="1"/>
<species id="wire_38s" name="Wire" compartment="a_number_34c" initialAmount="1"/>
<species id="wire_40s" name="Wire" compartment="b_number_39c" initialAmount="1"/>
<species id="wire_41s" name="Wire" compartment="b_number_39c" initialAmount="1"/>
<species id="wire_42s" name="Wire" compartment="b_number_39c" initialAmount="1"/>
<species id="wire_43s" name="Wire" compartment="b_number_39c" initialAmount="1"/>
<species id="wire_45s" name="Wire" compartment="s_number_44c" initialAmount="0"/>
<species id="wire_46s" name="Wire" compartment="s_number_44c" initialAmount="0"/>
<species id="wire_47s" name="Wire" compartment="s_number_44c" initialAmount="0"/>
<species id="wire_48s" name="Wire" compartment="s_number_44c" initialAmount="0"/>
<species id="wire_49s" name="Wire" compartment="s_number_44c" initialAmount="0"/>
<species id="wire_51s" name="Wire" compartment="c_number_50c" initialAmount="0"/>
<species id="wire_52s" name="Wire" compartment="c_number_50c" initialAmount="0"/>
<species id="wire_53s" name="Wire" compartment="c_number_50c" initialAmount="0"/>
<species id="wire_54s" name="Wire" compartment="c_number_50c" initialAmount="0"/>
<species id="q_wire_56s" name="q" compartment="fullAdder_55c" initialAmount="0"/>
<species id="kq_wire_57s" name="kq" compartment="fullAdder_55c" initialAmount="0"/>
<species id="ab_wire_58s" name="ab" compartment="fullAdder_55c" initialAmount="0"/>
<species id="d_wire_60s" name="d" compartment="halfAdder_59c" initialAmount="0"/>
<species id="e_wire_61s" name="e" compartment="halfAdder_59c" initialAmount="0"/>
<species id="d_wire_86s" name="d" compartment="halfAdder_85c" initialAmount="0"/>
<species id="e_wire_87s" name="e" compartment="halfAdder_85c" initialAmount="0"/>
<species id="q_wire_118s" name="q" compartment="fullAdder_117c" initialAmount="0"/>
<species id="kq_wire_119s" name="kq" compartment="fullAdder_117c" initialAmount="0"/>
<species id="ab_wire_120s" name="ab" compartment="fullAdder_117c" initialAmount="0"/>
<species id="d_wire_122s" name="d" compartment="halfAdder_121c" initialAmount="0"/>
<species id="e_wire_123s" name="e" compartment="halfAdder_121c" initialAmount="0"/>
<species id="d_wire_148s" name="d" compartment="halfAdder_147c" initialAmount="0"/>
<species id="e_wire_149s" name="e" compartment="halfAdder_147c" initialAmount="0"/>
<species id="q_wire_180s" name="q" compartment="fullAdder_179c" initialAmount="0"/>
<species id="kq_wire_181s" name="kq" compartment="fullAdder_179c" initialAmount="0"/>
<species id="ab_wire_182s" name="ab" compartment="fullAdder_179c" initialAmount="0"/>
<species id="d_wire_184s" name="d" compartment="halfAdder_183c" initialAmount="0"/>
<species id="e_wire_185s" name="e" compartment="halfAdder_183c" initialAmount="0"/>
<species id="d_wire_210s" name="d" compartment="halfAdder_209c" initialAmount="0"/>
<species id="e_wire_211s" name="e" compartment="halfAdder_209c" initialAmount="0"/>
<species id="q_wire_242s" name="q" compartment="fullAdder_241c" initialAmount="0"/>
<species id="kq_wire_243s" name="kq" compartment="fullAdder_241c" initialAmount="0"/>
<species id="ab_wire_244s" name="ab" compartment="fullAdder_241c" initialAmount="0"/>
<species id="d_wire_246s" name="d" compartment="halfAdder_245c" initialAmount="0"/>
<species id="e_wire_247s" name="e" compartment="halfAdder_245c" initialAmount="0"/>
<species id="d_wire_272s" name="d" compartment="halfAdder_271c" initialAmount="0"/>
<species id="e_wire_273s" name="e" compartment="halfAdder_271c" initialAmount="0"/>
</listOfSpecies>
<!-- List of Reactions -->
<listOfReactions>
<reaction id="orGate_62r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_35s"/>
<speciesReference species="wire_40s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_60s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_68r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_35s"/>
<speciesReference species="wire_40s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="ab_wire_58s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_74r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_60s"/>
<speciesReference species="e_wire_61s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="q_wire_56s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_80r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="ab_wire_58s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_61s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_88r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_51s"/>
<speciesReference species="q_wire_56s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_86s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_94r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_51s"/>
<speciesReference species="q_wire_56s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="kq_wire_57s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_100r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_86s"/>
<speciesReference species="e_wire_87s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_45s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_106r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_57s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_87s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_111r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_57s"/>
<speciesReference species="ab_wire_58s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_52s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_124r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_36s"/>
<speciesReference species="wire_41s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_122s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_130r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_36s"/>
<speciesReference species="wire_41s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="ab_wire_120s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_136r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_122s"/>
<speciesReference species="e_wire_123s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="q_wire_118s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_142r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="ab_wire_120s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_123s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_150r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_52s"/>
<speciesReference species="q_wire_118s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_148s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_156r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_52s"/>
<speciesReference species="q_wire_118s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="kq_wire_119s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_162r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_148s"/>
<speciesReference species="e_wire_149s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_46s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_168r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_119s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_149s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_173r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_119s"/>
<speciesReference species="ab_wire_120s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_53s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_186r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_37s"/>
<speciesReference species="wire_42s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_184s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_192r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_37s"/>
<speciesReference species="wire_42s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="ab_wire_182s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_198r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_184s"/>
<speciesReference species="e_wire_185s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="q_wire_180s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_204r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="ab_wire_182s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_185s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_212r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_53s"/>
<speciesReference species="q_wire_180s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_210s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_218r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_53s"/>
<speciesReference species="q_wire_180s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="kq_wire_181s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_224r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_210s"/>
<speciesReference species="e_wire_211s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_47s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_230r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_181s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_211s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_235r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_181s"/>
<speciesReference species="ab_wire_182s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_54s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_248r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_38s"/>
<speciesReference species="wire_43s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_246s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_254r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_38s"/>
<speciesReference species="wire_43s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="ab_wire_244s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_260r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_246s"/>
<speciesReference species="e_wire_247s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="q_wire_242s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_266r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="ab_wire_244s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_247s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_274r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_54s"/>
<speciesReference species="q_wire_242s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="d_wire_272s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_280r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="wire_54s"/>
<speciesReference species="q_wire_242s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="kq_wire_243s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="andGate_286r" name="AndGate" reversible="false">
<listOfReactants>
<speciesReference species="d_wire_272s"/>
<speciesReference species="e_wire_273s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_48s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="inverter_292r" name="Inverter" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_243s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="e_wire_273s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction id="orGate_297r" name="OrGate" reversible="false">
<listOfReactants>
<speciesReference species="kq_wire_243s"/>
<speciesReference species="ab_wire_244s"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="wire_49s"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<plus/>
<cn> 0 </cn>
<cn> 0 </cn>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
</model>
</sbml>
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Sun Apr 13 2014 10:13:22 GMT-0400 (EDT)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: SICP - A Simulator for Digital Circuits - N-Bit Adder
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: 10531009
Keywords:
My Notes
--------
This Xholon Workbook extends earlier workbooks:
https://gist.github.com/kenwebb/10419442
https://gist.github.com/kenwebb/10483194
The SVG image of a 4-bit adder that's used in this workbook is from:
http://en.wikipedia.org/wiki/File:4-bit_ripple_carry_adder.svg
and is
"licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license."
I'm basing some of the details of my design on Figure 116 in L.C. Pascoe's book "New Mathematics".
]]></Notes>
<_-.XholonClass>
<DigitalSystem/>
<Wire superClass="PlacePN"/>
<PrimitiveFunctionBox superClass="TransitionPN">
<Inverter/>
<AndGate/>
<OrGate/>
</PrimitiveFunctionBox>
<!-- containers -->
<Circuit>
<HalfAdder/>
<FullAdder/>
</Circuit>
<Number/>
<WireInitializer/>
</_-.XholonClass>
<xholonClassDetails>
</xholonClassDetails>
<DigitalSystem>
<!-- Test Cases
a b s s(binary) Tested
5 10 15 01111 OK (no carries required)
7 4 11 01011 OK
7 7 14 01110 OK
15 15 30 11110 OK
-->
<!-- the two n-bit numbers that will be added -->
<Number roleName="a">
<Attribute_int roleName="val">15</Attribute_int>
<Wire multiplicity="4"/>
</Number>
<Number roleName="b">
<Attribute_int roleName="val">15</Attribute_int>
<Wire multiplicity="4"/>
</Number>
<!-- the (n+1)-bit result of adding the two numbers, including the final carry -->
<Number roleName="s">
<Wire multiplicity="5"/>
</Number>
<!-- the n carries; the first one is redundant and always has a value of 0 -->
<Number roleName="c">
<Wire multiplicity="4"/>
</Number>
<FullAdder multiplicity="4">
<!-- these wires are internal to each Full Adder -->
<Wire roleName="q"/>
<Wire roleName="kq"/>
<Wire roleName="ab"/>
<HalfAdder>
<!-- these wires are internal to this Half Adder -->
<Wire roleName="d"/>
<Wire roleName="e"/>
<OrGate kineticsType="KINETICS_LOGIC_OR">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='a']"/>
<InputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='b']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
</OutputArcs>
</OrGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='a']"/>
<InputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='b']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='ab']"/>
</OutputArcs>
</AndGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='q']"/>
</OutputArcs>
</AndGate>
<Inverter kineticsType="KINETICS_LOGIC_NOT">
<InputArcs>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='ab']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</OutputArcs>
</Inverter>
</HalfAdder>
<HalfAdder>
<!-- these wires are internal to this Half Adder -->
<Wire roleName="d"/>
<Wire roleName="e"/>
<OrGate kineticsType="KINETICS_LOGIC_OR">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='c']"/>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='q']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
</OutputArcs>
</OrGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='c']"/>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='q']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='kq']"/>
</OutputArcs>
</AndGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='s']"/>
</OutputArcs>
</AndGate>
<Inverter kineticsType="KINETICS_LOGIC_NOT">
<InputArcs>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='kq']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</OutputArcs>
</Inverter>
</HalfAdder>
<OrGate kineticsType="KINETICS_LOGIC_OR">
<InputArcs>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='kq']"/>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='ab']"/>
</InputArcs>
<OutputArcs>
<!-- output to the next FullAdder's 'c' which is the Carry bit -->
<OutputArc weight="1" connector="ancestor::DigitalSystem/Number[@roleName='c']"/>
</OutputArcs>
</OrGate>
</FullAdder>
<PetriNet roleName="sicpDigitalCircuit02">
<QueueTransitions connector="ancestor::DigitalSystem"/>
<AnalysisPetriNet/>
<AnalysisCRN/>
<AnalysisCat/>
</PetriNet>
<WireInitializer/>
</DigitalSystem>
<WireInitializerbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var wi, numberA, numberB, numberS, numberC, fullAdder, fullAdderIx;
var beh = {
postConfigure: function() {
wi = this.cnode.parent();
numberA = wi.xpath("ancestor::DigitalSystem/Number[@roleName='a']");
numberB = wi.xpath("ancestor::DigitalSystem/Number[@roleName='b']");
numberS = wi.xpath("ancestor::DigitalSystem/Number[@roleName='s']");
numberC = wi.xpath("ancestor::DigitalSystem/Number[@roleName='c']");
fullAdder = wi.xpath("ancestor::DigitalSystem/FullAdder[1]"); // first full adder
fullAdderIx = 1; // full adder XPath index (1-based)
// break a and b into their constituent bits, and assign the bit values to the wires
this.assignBitValues(numberA.first(), numberA.val());
this.assignBitValues(numberB.first(), numberB.val());
// fix arcs
while(fullAdder) {
this.fixArcs(fullAdder);
fullAdder = fullAdder.next();
fullAdderIx++;
}